Спосіб шифрування двійкових блоків даних “калина”
Номер патенту: 89382
Опубліковано: 25.01.2010
Автори: Михайленко Матвій Сергійович, Долгов Віктор Іванович, Горбенко Іван Дмитрович, Руженцев Віктор Ігорович, Горбенко Юрій Іванович, Олійников Роман Васильович
Формула / Реферат
Спосіб шифрування двійкових блоків даних, що полягає в тому, що на першому етапі шифрування відкриті дані розбивають на N-розрядні блоки, які по черзі надходять в накопичувач даних відповідного розміру, далі виконують шифрування кожного блока за допомогою циклових підключів Ki, кожен з яких попередньо вироблений з М-розрядного ключа за допомогою схеми розгортання підключів, має розмір N двійкових розрядів та зберігається у запам'ятовуючому пристрої, при шифруванні, спочатку, виконують первинне ключове перетворення, забілювання, при якому дані з накопичувача вхідного блока даних надходять на перший вхід побітового суматора за модулем два, на другий вхід якого подають початковий цикловий підключ К0, що зчитують з відповідного запам'ятовуючого пристрою, отриманий на виході суматора блок даних піддають далі багатоцикловому перетворенню, кожний цикл якого містить 4 головні перетворення, а саме - на першому етапі в блоці байтових підстановок кожний байт вхідного блока даних надходить на входи відповідного набору блоків підстановок, у результаті чого вхідний блок даних перетворюють в новий блок даних, що складається з об'єднаних байтових виходів блоків підстановок, на другому етапі цей новий блок даних надходить у блок байтової перестановки, де виконують зсув байтових рядків, на третьому етапі в блоці множення байтових рядків на матрицю лінійного перетворення виконують обробку кожного з підблоків блока даних з використанням блоків підстановки, які застосовують для кожного байта підблока, та подальшим підсумовуванням отриманих векторів у побітовому суматорі по модулю два, далі, на четвертому етапі, застосовують додавання блока даних з черговим цикловим підключем Кі з використанням суматора, при цьому останнє, заключне циклове перетворення не містить третього етапу, який відрізняється тим, що використовують змінене циклове перетворення, а саме - на першому етапі циклового перетворення використовують блоки модифікованих підстановок, на другому етапі використовуються блок, який реалізує модифіковану байтову перестановку, на третьому етапі використовують матрицю, збільшену за розмірами, наприклад 8×8 байтів, на четвертому етапі на сусідніх циклах використовують суматори, які реалізують додавання за різними модулями, а саме побітове додавання за модулем два та додавання за модулем 232 з попереднім розбиттям блока даних та циклового підключа на 32-розрядні вектори, при цьому схема розгортання підключів використовує нове модифіковане циклове перетворення, причому як вхідний блок даних в цій схемі використовують константи, а як циклові підключі застосовується ключ або ключ, який пройшов через блок побітової інверсії, розгортання підключів починається з того, що дані з блока зберігання констант надходять на перший вхід побітового суматора за модулем два, на другий вхід якого подають майстер-ключ, що зчитують з відповідного запам'ятовуючого пристрою, отриманий на виході суматора блок даних подають на двоциклове перетворення, в якому на першому циклі на четвертому етапі як підключ використовують майстер-ключ, який пройшов через блок побітової інверсії, та додають його за допомогою суматора за модулем 232, а на другому циклі на четвертому етапі як підключ використовують майстер-ключ та додають його за допомогою побітового суматора за модулем два, отримане після цього значення є ключовим станом та містить від одного до декількох циклових підключів в залежності від розмірів блока даних та майстер-ключа, використовуючи кожний цикловий підключ, який отримано з ключового стану, формують три інші циклові підключі за допомогою блоків циклічного зсуву.
Текст
Спосіб шифрування двійкових блоків даних, що полягає в тому, що на першому етапі шифрування відкриті дані розбивають на N-розрядні блоки, які по черзі надходять в накопичувач даних відповідного розміру, далі виконують шифрування кожного блока за допомогою циклових підключів Ki, кожен з яких попередньо вироблений з Мрозрядного ключа за допомогою схеми розгортання підключів, має розмір N двійкових розрядів та зберігається у запам'ятовуючому пристрої, при шифруванні, спочатку, виконують первинне ключове перетворення, забілювання, при якому дані з накопичувача вхідного блока даних надходять на перший вхід побітового суматора за модулем два, на другий вхід якого подають початковий цикловий підключ К0, що зчитують з відповідного запам'ятовуючого пристрою, отриманий на виході суматора блок даних піддають далі багатоцикловому перетворенню, кожний цикл якого містить 4 головні перетворення, а саме - на першому етапі в блоці байтових підстановок кожний байт вхідного блока даних надходить на входи відповідного набору блоків підстановок, у результаті чого вхідний блок даних перетворюють в новий блок даних, що складається з об'єднаних байтових виходів блоків підстановок, на другому етапі цей новий блок даних надходить у блок байтової перестановки, де виконують зсув байтових рядків, на третьому етапі в блоці множення байтових рядків на матрицю лінійного перетворення виконують обробку кожного з підблоків блока даних з використанням блоків 2 (19) 1 3 Винахід відноситься до області обчислювальної техніки, а саме до способів криптографічного перетворення даних. Відомий спосіб криптографічного перетворення даних за ГОСТ 28147-89 (див. Барсуков В.С., Дворянкин С.В., Шеремет И.А. Безопасность связи в каналах телекоммуникаций. - М.: Россия, 1993. Т. 20, - 123с). При зашифруванні за цим способом відкритий текст (повідомлення), що представлений у двійковій формі, розбивають на 64-х розрядні блоки даних і виконують 32 циклу однотипних перетворень, що керуються підключами, які відносяться до цих циклів. При цьому в ключовий запам'ятовуючий пристрій (КЗП) вводять 256 бітів ключа K у вигляді восьми 32-розрядних підключів K i = K 1, K 2 , K 3 , K 4 , K 5 , K 6 , K 7 , K 8 . У режимі простої заміни вхідний 64-бітний блок даних розбивається на дві частини по 32 біти кожна (формується два півблоки). Права половина блоку A 0 завантажується в накопичувач N1 , а ліва B 0 - у накопичувач N2 . Здійснюється 32 однотипних циклу перетворення, структура яких у кожному із циклів описується у вигляді A i = f ( A i -1[+ ]K j ) Å B i -1 , B i = A i -1 , причому для i = 1,24 береться j = (i - 1) mod 8 , а для i = 25,31 відповідно j = 32 - i , а для останнього циклу A 32 = A 31 , B 32 = f ( A 31[+ ]K 0 ) Å B 31 , де i - номер ітерації; символом [+ ] позначена операція додавання за модулем 2 32 æ ì X + Y, якщо X + Y >>5 K ( 4 * j )>>>11 K ( 4 * j )>>>17 K ( 4 * j )>>>7 K ( 4 * j )>>>17 K ( 4 * j )>>>31 K ( 4 * j )>>>11 K ( 4 * j )>>>29 K ( 4 * j )>>>47 256 (Nb=4) 512 (Nb=8) Таблиця 4 Розмір ключа, біти Кількість формованих ключових станів KS j len 3 4 8 4 8 8 Кількість формованих підключів K i 128 (Nk=2) 256 (Nk=4) 512 (Nk=8) 256 (Nk=4) 512 (Nk=8) 512 (Nk=8) Розмір стану, біти 12 16 32 16 32 32 128 (Nb=2) 256 (Nb=4) 512 (Nb=8) Таблиця 5 Розмір блоку, біти 128 (Nb=2) 256 (Nb=4) 512 (Nb=8) Число циклів 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 9 11 27 28 36 38 54 55 63 65 81 82 90 92 1 9 13 45 46 54 58 90 91 99 103 135 136 144 148 1 9 17 81 82 90 98 162 163 171 179 243 244 252 260 13 89382 14 Таблиця 6 Розмір блоку, біти 128 256 512 1 1 1 1 2 5 5 5 3 9 9 9 4 25 25 25 5 26 26 26 Число циклів 7 8 9 34 50 51 34 50 51 34 50 51 6 30 30 30 10 55 55 55 11 59 59 59 12 75 75 75 13 76 76 76 14 80 80 80 15 84 84 84 Таблиця 7 Вид шифру Розмір блоку, біти 1 2 ³3 1 2 ³3 1 2 3 ³4 1 ³2 1 ³2 1 2 ³3 128 Спрощений варіант (додавання з підключами по XOR) 256 512 128 Повний варіант (два виду додавання з підключами) Мінімальна кількість залежних від ключів коефіцієнтів 1 255 256 1 255 256 1 255 255 256 1 256 1 256 1 255 256 Число циклів 256 512 1 IN Початкова рандомізація 2 XOR Двоциклове перетворення 4 Sbox 5 ShiftRows 3 K0 8 Ki 6 MixColumn 7 1 £ i £ 10;14;30 i=i+2 Add32 9 Sbox 10 ShiftRows 11 MixColumn 12 Прикінцева рандомізація XOR 14 Sbox 15 Add32 17 OUT Фіг.1 13 Ki+1 16 Km 15 89382 1 Ci 2 XOR 4 Sbox 5 16 ShiftRows 3 MK 6 MixColumn 7 Add32 9 8 MK-1 Sbox 10 ShiftRows 11 MixColumn 12 XOR 13 KSi Фіг.2 Комп’ютерна верстка М. Ломалова Підписне Тираж 28 прим. Міністерство освіти і науки України Державний департамент інтелектуальної власності, вул. Урицького, 45, м. Київ, МСП, 03680, Україна ДП “Український інститут промислової власності”, вул. Глазунова, 1, м. Київ – 42, 01601
ДивитисяДодаткова інформація
Назва патенту англійськоюMethod for coding binary data block kalyna
Автори англійськоюHorbenko Ivan Dmytrovych, Dolhov Viktor Ivanovych, Oliinykov Roman Vasyliovych, Ruzhentsev Viktor Ihorovych, Mykhailenko Matvii Serhiiovych, Horbenko Yurii Ivanovych
Назва патенту російськоюСпособ шифрования двоичных блоков данных калина
Автори російськоюГорбенко Иван Дмитриевич, Долгов Виктор Иванович, Олейников Роман Васильевич, Руженцев Виктор Игоревич, Михайленко Матвей Сергеевич, Горбенко Юрий Иванович
МПК / Мітки
МПК: H04L 9/06
Мітки: даних, калина, шифрування, спосіб, двійкових, блоків
Код посилання
<a href="https://ua.patents.su/8-89382-sposib-shifruvannya-dvijjkovikh-blokiv-danikh-kalina.html" target="_blank" rel="follow" title="База патентів України">Спосіб шифрування двійкових блоків даних “калина”</a>
Попередній патент: Конічний підшипник ковзання
Наступний патент: Спосіб виробництва злитого білка tnfr-ig (варіанти)
Випадковий патент: Зимова вудка