Топ питань
Часова шкала
Чат
Перспективи

СТРУМОК (шифр)

український потоковий шифр З Вікіпедії, вільної енциклопедії

Remove ads

«СТРУМОК» (англ. STRUMOK) потоковий симетричний шифр описаний у національному стандарті України ДСТУ 8845:2019 «Інформаційні технології. Криптографічний захист інформації. Алгоритм симетричного потокового перетворення». Стандарт набрав чинності з 1 жовтня 2019 року наказом ДП «УкрНДНЦ» від 2 квітня 2019 року № 85[2].

Коротка інформація Державний стандарт України, Позначення ...

Залежно від довжини секретного ключа має два режими роботи: «СТРУМОК-256» і «СТРУМОК-512».

СТРУМОК забезпечує високу швидкість формування гами (понад 10 Гбіт/c).

Remove ads

Схема роботи

Узагальнити
Перспектива
Thumb
Формування ключового потоку в шифрі СТРУМОК

Загальна схема роботи

Генератор псевдовипадкових чисел СТРУМОК використовує 256-бітовий вектор ініціалізації та 256-бітний або 512-бітний секретний ключ та забезпечує стійкість з урахуванням можливого застосування квантового криптографічного аналізу. Криптоалгоритм орієнтований на 64-розрядні обчислювальні системи, отже розмір слова визначено рівним 64 бітам.

Основними структурними компонентами генератора є регістр зсуву з лінійним зворотним зв'язком і скінченний автомат, в якому виконується нелінійне перетворення. Вхідні дані ( ключ та вектор ініціалізації ) використовуються для ініціалізації змінного стану , Що складається з вісімнадцяти 64-бітних блоків:

  1. 16 комірок регістру зсуву з лінійним зворотним зв'язком :  ;
  2. два регістри скінченного автомата .

Вихід являє собою гаму, яка формується з 64-бітових слів .

Алгоритм

В алгоритмі СТРУМОК можна виділити три основні функції:

  1. функція ініціалізації , яка приймає як вхідні дані ключ та вектор ініціалізації , і здійснює початкове значення змінної стану  ;
  2. функція наступного стану , яка приймає на вхід змінну стан і здійснює наступне значення змінної стану ;
  3. функція вироблення гами що приймає на вході змінну стану і виробляє на виході гаму (64 біти).

Функція ініціалізації

Вхід : 256 або 512-бітний ключ , 256-розрядний вектор ініціалізації .

Вихід : початкове значення змінної стану .

  1. У 16 осередків регістру зсуву заноситься значення, сформовані на підставі ключа та вектора ініціалізації. Таким чином формується .
  2. Виконуються 32 такта ініціалізації без генерації гами (виконання функції Next в режимі ініціалізації INIT): .
  3. Розраховується початкове значення змінної стану: .
  4. Виводиться значення .

Функція наступного стану

Вхід: Змінна стану та режим роботи (звичайний або режим ініціалізації).

Вихід: Змінна стану .

  1. Оновлюються значення регістрів скінченного автомата .
  2. Оновлюється значення 15 комірок регістру зсуву:
  3. Оновлюється значення 16 осередку: при роботі у звичайному режимі та за режиму ініціалізації.
  4. Виводиться значення .

Функція вироблення гами

Вхід: Змінна стану .

Вихід: гама .

  1. Обчислюється значення .
  2. Виводиться значення .
Функція скінченного автомата

Функція скінченного автомата використовується у функціях і .

Вхід : три 64-бітні рядки .

Вихід : 64-бітний рядок .

  1. Обчислюється значення .
  2. Виводиться значення .
  • позначає операцію додавання цілих чисел за модулем 264.
Remove ads

Схема роботи регістру зсуву

Узагальнити
Перспектива

Зворотний зв'язок у регістрі зсуву з лінійним зворотним зв'язком можна описати операціями над елементами скінченних полів.

Зворотний зв'язок у регістрі зсуву будується над полем поліномом:

де є коренем багаточлена над полем(інші мови) :

,

де є коренем багаточлена над полем :

.

Поле будується над полем поліномом .

Період вихідної послідовності регістру зсуву є максимальним і рівним .

Remove ads

Порівняння зі SNOW 2.0

Генератор ключового потоку СТРУМОК у своїй концептуальній схемі подібний до SNOW 2.0(інші мови). Але SNOW 2.0 орієнтований на використання в 32-розрядних обчислювальних систем, тоді як СТРУМОК призначений для використання в більш потужних 64-розрядних обчислювальних системах. У зв'язку з цим в алгоритмі СТРУМОК підвищується швидкість формування псевдовипадкової послідовності[3]. В алгоритмі СТРУМОК збільшені, порівняно з SNOW2.0, довжини секретного ключа і вектора ініціалізації. Це дозволяє надійно застосовувати потоковий шифр навіть за умов, коли зловмиснику доступне застосування квантового криптоаналізу[4].

Тестування випадковості двійкових послідовностей NIST(інші мови) показує, що алгоритм СТРУМОК поступається SNOW 2.0[5].

СТРУМОК дозволяє формувати псевдовипадкові послідовності зі швидкістю більше 10 Гбіт/с (Intel Core i9-7980XE 2.60 GHz and OS Windows® 10 Pro)[6].

Див. також

Примітки

Посилання

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads