Топ питань
Часова шкала
Чат
Перспективи
СТРУМОК (шифр)
український потоковий шифр З Вікіпедії, вільної енциклопедії
Remove ads
«СТРУМОК» (англ. STRUMOK) — потоковий симетричний шифр описаний у національному стандарті України ДСТУ 8845:2019 «Інформаційні технології. Криптографічний захист інформації. Алгоритм симетричного потокового перетворення». Стандарт набрав чинності з 1 жовтня 2019 року наказом ДП «УкрНДНЦ» від 2 квітня 2019 року № 85[2].
Залежно від довжини секретного ключа має два режими роботи: «СТРУМОК-256» і «СТРУМОК-512».
СТРУМОК забезпечує високу швидкість формування гами (понад 10 Гбіт/c).
Remove ads
Схема роботи
Узагальнити
Перспектива

Загальна схема роботи
Генератор псевдовипадкових чисел СТРУМОК використовує 256-бітовий вектор ініціалізації та 256-бітний або 512-бітний секретний ключ та забезпечує стійкість з урахуванням можливого застосування квантового криптографічного аналізу. Криптоалгоритм орієнтований на 64-розрядні обчислювальні системи, отже розмір слова визначено рівним 64 бітам.
Основними структурними компонентами генератора є регістр зсуву з лінійним зворотним зв'язком і скінченний автомат, в якому виконується нелінійне перетворення. Вхідні дані ( ключ та вектор ініціалізації ) використовуються для ініціалізації змінного стану , Що складається з вісімнадцяти 64-бітних блоків:
- 16 комірок регістру зсуву з лінійним зворотним зв'язком : ;
- два регістри скінченного автомата .
Вихід являє собою гаму, яка формується з 64-бітових слів .
Алгоритм
В алгоритмі СТРУМОК можна виділити три основні функції:
- функція ініціалізації , яка приймає як вхідні дані ключ та вектор ініціалізації , і здійснює початкове значення змінної стану ;
- функція наступного стану , яка приймає на вхід змінну стан і здійснює наступне значення змінної стану ;
- функція вироблення гами що приймає на вході змінну стану і виробляє на виході гаму (64 біти).
Функція ініціалізації
Вхід : 256 або 512-бітний ключ , 256-розрядний вектор ініціалізації .
Вихід : початкове значення змінної стану .
- У 16 осередків регістру зсуву заноситься значення, сформовані на підставі ключа та вектора ініціалізації. Таким чином формується .
- Виконуються 32 такта ініціалізації без генерації гами (виконання функції Next в режимі ініціалізації INIT): .
- Розраховується початкове значення змінної стану: .
- Виводиться значення .
Функція наступного стану
Вхід: Змінна стану та режим роботи (звичайний або режим ініціалізації).
Вихід: Змінна стану .
- Оновлюються значення регістрів скінченного автомата .
- Оновлюється значення 15 комірок регістру зсуву:
- Оновлюється значення 16 осередку: при роботі у звичайному режимі та за режиму ініціалізації.
- Виводиться значення .
Функція вироблення гами
Вхід: Змінна стану .
Вихід: гама .
- Обчислюється значення .
- Виводиться значення .
Функція скінченного автомата
Функція скінченного автомата використовується у функціях і .
Вхід : три 64-бітні рядки .
Вихід : 64-бітний рядок .
- Обчислюється значення .
- Виводиться значення .
- позначає операцію додавання цілих чисел за модулем 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].
Див. також
Примітки
Посилання
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads