Спосіб криптографічного перетворення блоків двійкових даних
Номер патенту: 49102
Опубліковано: 16.09.2002
Автори: Молдовян Алєксандр Андрєєвіч, Молдовян Ніколай Андрєєвіч
Формула / Реферат
1. Спосіб криптографічного перетворення блоків двійкових даних, який полягає в розбитті блока даних на підблоків, почерговому перетворенні підблоків шляхом виконання над і-тим, де
підблоком принаймні однієї операції перетворення, що залежить від значення j-того підблока, який відрізняється тим, що як операцію, що залежить від значення j-того, де
підблока, використовують операцію переставлення бітів і-того підблока.
2. Спосіб за п. 1, який відрізняється тим, що операцію переставлення бітів і-того підблока, що залежить від значення j-того підблока, формують залежно від секретного ключа до початку перетворення і-того підблока.
3. Спосіб за п. 1, який відрізняється тим, що перед здійсненням поточної операції переставлення бітів і-того підблока, що залежить від значення j-того підблока, додатково формують двійковий вектор V, а операцію переставлення бітів і-того підблока здійснюють залежно від значення V, причому двійковий вектор формують залежно від його значення в момент виконання попереднього кроку перетворення одного з підблоків і від значення j-того підблока.
Текст
1 Спосіб криптографічного перетворення блоків двійкових даних, який полягає в розбитті блока даних на N > 2 підблоків, почерговому перетворенні підблоків шляхом виконання над ітим, де і < N, підблоком принаймні однієї операції перетворення, що залежить від значення j-того підблока, який відрізняється тим, що як операцію, що залежить від значення j-того, де j < N, підблока, використовують операцію переставлення бітів і-того підблока 2 Спосіб за п 1, який відрізняється тим, що операцію переставлення бітів і-того підблока, що залежить від значення j-того підблока, формують залежно від секретного ключа до початку перетворення і-того підблока 3 Спосіб за п 1, який відрізняється тим, що перед здійсненням поточної операції переставлення бітів і-того підблока, що залежить від значення j того підблока, додатково формують двійковий вектор V, а операцію переставлення бітів і-того підблока здійснюють залежно від значення V, причому двійковий вектор формують залежно від його значення в момент виконання попереднього кроку перетворення одного з підблоків і від значення j того підблока О о Винахід відноситься до галузі електрозв'язку і обчислювальної техніки, а саме до галузі криптографічних способів та пристроїв для шифрування повідомлень (інформації) В описі способу, що заявляється, використовуються такі терміни секретний ключ - це бінарна інформація, яка відома тільки законному користувачу, криптографічне перетворення - це перетворення цифрової інформації, яке забезпечує вплив одного біта початкових даних на багато бітів вихідних даних, наприклад, з метою захисту інформації від несанкціонованого читання, формування цифрового підпису, виробляння коду виявлення модифікацій, важливими видами криптографічних перетворень є одностороннє перетворення, хеширування і шифрування, хеширування інформації - це спосіб формування так званого хеш-коду, розмір якого є фіксо ваним (звичайно 128 бітів) для повідомлень будьякого розміру, широко застосовуються способи хеширування, які базуються на ітеративних хешфункціях із застосуванням блочних механізмів криптографічного перетворення інформації [див Lai X , Massey J L Hash Functions Based on Block Ciphers / Workshop on Theory and Applications of Cryptographic Techniques EUROCRYPT'92 Hungary, May 24 - 28, 1992 Proceedings P 53 - 66 ] шифрування - це процес перетворення інформації, який залежить від секретного ключа і який перетворює початковий текст в шифртекст, який являє собою псевдовипадкову ПОСЛІДОВНІСТЬ знаків, з якої отримання інформації без знання секретного ключа є практично неможливим, дешифрування - це процес, зворотний процедурі шифрування, дешифрування забезпечує відновлювання інформації за криптограмою за умови знання шифрключа, 49102 шифр - це сукупність елементарних кроків перетворення вхідних даних з використанням секретного ключа, шифр може бути реалізований у вигляді програми для комп'ютера або у вигляді окремого пристрою, бінарний вектор - це деяка ПОСЛІДОВНІСТЬ нульових і одиничних бітів, наприклад 101101011, конкретна структура бінарного вектора може бути інтерпретована як бінарне число, якщо вважати, що позиція кожного біта відповідає бінарному розряду, тобто бінарному вектору може відповідати числове значення, яке визначається однозначно структурою бінарного вектора, криптоаналіз - метод обчислювання секретного ключа для отримання несанкціонованого доступу до зашифрованої інформації або розробка методу, який забезпечує доступ до зашифрованої інформації без обчислення секретного ключа, одностороннє перетворення - це таке перетворення L-бітового вхідного блока даних в Lбітовий вихідний блок даних, яке дозволяє легко обчислити вихідний блок за вхідним блоком, а обчислення вхідного блока, який би перетворювався у випадково вибраний вихідний блок, є практично нездійсненим завданням, одностороння функція - це функція, значення якої легко обчислюється за даним аргументом, однак обчислення аргументу за даним значенням функції є важким завданням, односторонні функції реалізуються як ПОСЛІДОВНІСТЬ процедур одностороннього перетворення деякого вхідного блока (аргументу), вихідне значення якого приймається за значення функції, криптостійкість - це міра надійності захисту зашифрованої інформації і являє собою трудомісткість, що вимірюється КІЛЬКІСТЮ елементарних операцій, які необхідно виконати для відновлення інформації за криптограмою за умови знання алгоритму перетворення, але без знання секретного ключа, в разі односторонніх перетворень під крипТОСТІЙКІСТЮ розуміється складність обчислення вхідного значення блока за його вихідним значенням, - операції циклічного зсуву, що залежать від перетворюваних підблоків або від бінарного вектора, - це операції циклічного зсуву на число бітів, яке задається значенням підблока або значенням бінарного вектора, операції циклічного зсуву ліворуч (праворуч) позначаються знаком " "), наприклад, запис Ві < « Вг позначає операцію циклічного зсуву ліворуч підблока Ві на число бітів, яке дорівнює Вг, подібні (схожі) операції є базовими для шифру RC5, одномісна операція - це операція, яка виконується над одним операндом (блоком даних або бінарним вектором), значення підблока після виконання деякої даної одномісної операції залежить тільки від його початкового значення, прикладом одномісних операцій є операції циклічного зсуву, двомісна операція - це операція, яка виконується над двома операндами, результат виконання деякої даної двомісної операції залежить від значення кожного операнда, прикладом двомісних операцій є операції складання, віднімання, множення та ш ВІДОМІ способи блочного шифрування даних, див наприклад стандарт СІЛА DES [National Bureau of Standards Data Encryption Standard Federal Information Processing Standards Publication 46 January 1977] В цьому способі шифрування блоків даних виконують шляхом формування секретного ключа, розбиття блока даних, який перетворюється, на два підблоки L і R і зміни їх по черзі шляхом виконання операції порозрядного складання за модулем два над підблоком L і бінарним вектором, який формується як вихідне значення деякої функції F від значення підблока R Після цього блоки переставляються місцями Функція F в цьому способі реалізується шляхом виконання операцій перестановки і підстановки, які виконуються над підблоком R Цьому способу властива висока швидкість перетворень при втіленні у вигляді спеціалізованих електронних схем Однак відомий спосіб використовує секретний ключ малого розміру (56 бітів), що робить його вразливим до криптоаналізу шляхом підбору ключа Останнє пов'язано з високою потужністю сучасних комп'ютерів масового використання Найближчим за своєю технічною суттю до способу криптографічного перетворення блоків бінарних даних, що заявляється, є спосіб, описаний в праці [R Rivest, The RC5 Encryption Algorithm, Fast Software Encryption, Second International Workshop Proceedings (Leuven, Belgium, December 14-16, 1994), Lecture Notes in Computer Science, v 1008, Spnnger-Verlag, 1995, P 86 - 96] Цей спосіб включає формування секретного ключа у вигляді сукупності під ключів, розбиття вхідного блоку даних на підблоки А і Б і почергове перетворення підблоків Підблоки перетворюються шляхом виконання над ними одномісних і двомісних операцій Як ДВОМІСНІ операції використовуються операції складання за модулем 2", де п=8, 16, 32, 64, і операція порозрядного підсумовування за модулем 2 Як одномісну операцію використовують операцію циклічного зсуву вліво, причому число бітів на яке зсувається підблок, який перетворюється, залежить від значення іншого підблоку, це визначає залежність операції циклічного зсуву на поточному кроці перетворення підблоку від початкового значення вхідного блоку даних Двомісна операція виконується над підблоком і підключем, а також над двома підблоками Характерним для цього способу є використання операції циклічного зсуву бітів одного з підблоків в залежності від значення іншого підблоку Підблок, наприклад підблок В, перетворюють таким чином Виконують операцію порозрядного складання за модулем 2 ("Ф") над підблоками А і В і значення, яке отримали після виконання цієї операції, присвоюють підблоку В Це записується у вигляді співвідношення де знак *— означає операцію присвоювання Після ЦЬОГО над подблоком В виконують операцію циклічного зсуву на число бітів, яке дорівнює значенню підблоку А Потім над підблоком і одним із ПІДКЛЮЧІВ S виконують операцію підсумовування за модулем 2П 2" 49102 де n - довжина підблоку в бітах Після цього аналогічним чином перетворюють підблок А Виконують декілька таких кроків перетворення обох підблоків Цей спосіб забезпечує високу швидкість шифрування під час реалізації у вигляді програми для комп'ютера або у вигляді електронних пристроїв для шифрування Однак цей спосіб має недоліки, а саме він не забезпечує високої СТІЙКОСТІ криптографічного перетворення даних до диференційного і ЛІНІЙНОГО криптоаналізу [Kalmski В S , Yin Y L On Differential and Linear Cryptanalysis of the RC5 Encryption Algorithm, Advances in Cryptology-CRYPTO'95 Proceedings, Spnnger-Verlag, 1995, P 171-184] Цей недолік пов'язаний зтим, що ефективність використання операцій, що залежать від даних, які перетворюються, з метою підвищення СТІЙКОСТІ шифрування до відомих методів криптоаналізу знижується тим, що КІЛЬКІСТЬ варіантів циклічного зсуву, які потенціально реалізуються, дорівнює КІЛЬКОСТІ бінарних розрядів підблоку п і не перевищує 64 В основу винаходу покладене завдання розробити спосіб криптографічного перетворення блоків бінарних даних, в якому перетворення вхідних даних здійснювалося б таким чином, щоб забезпечувалось підвищення КІЛЬКОСТІ різних варіантів операції, що залежить від перетворюваного блоку, завдяки чому підвищується СТІЙКІСТЬ до диференціального і ЛІНІЙНОГО криптоаналізу Поставлена задача вирішується тим, що в способі криптографічного перетворення блоків бінарних даних, який полягає в розбиванні блока даних на N £ 2 підблоків, почерговому перетворенні підблоків шляхом виконання над і-тим, де і s N, підблоком принаймні однієї операції перетворення, що залежить від значення j-oro, де j s N, підблоку, згідно з винаходом як операцію, що залежить від значення j-oro підблоку, використовують операцію перестановки бітів і-того підблоку Завдяки такому вирішенню збільшується КІЛЬКІСТЬ можливих варіантів операції, яка залежить від значення j-oro підблоку, що забезпечує підвищення СТІЙКОСТІ до диференціального і ЛІНІЙНОГО криптоаналізу Новим є також те, що операція перестановки бітів і-того підблоку, що залежить від значення j ого підблоку, формується в залежності від секретного ключа до початку перетворення і-того підблоку Завдяки такому вирішенню, модифікація операції перестановки бітів і-того підблоку, що залежить від значення j-oro підблоку, не є заздалегідь визначеною, що забезпечує додаткове підвищення СТІЙКОСТІ криптографічного перетворення до диференціального і ЛІНІЙНОГО криптоаналізів і дозволяє зменшити КІЛЬКІСТЬ операцій перетворення і через це збільшити швидкість шифрування Новим також є те, що перед здійсненням поточної операції перестановки бітів і-того підблоку, що залежить від j-oro підблоку, додатково формують бінарний вектор V, а операцію перестановки бітів і-того підблоку здійснюють в залежності від значення V, причому бінарний вектор формують в залежності від його значення в момент виконання попереднього кроку перетворення одного з підблоків і від значення j-oro підблоку Завдяки такому вирішенню забезпечується додаткове підвищення криптостійкості до атак, в основі яких є збої пристроїв шифрування Нижче суть винаходу, який заявляється, більш докладно роз'яснюється прикладами його здійснення з посиланням на креслення, що додаються На фіг 1 показана узагальнена схема криптографічного перетворення згідно зі способом, який заявляється На фіг 2 схематично показана структура блоку керованих перестановок На фіг 3 показана структура бтоку керованих перестановок з 32-бітовим інформаційним входом На фіг 4 показана блок-схема елементарного перемикача На фіг 5 показана таблиця вхідних і вихідних сигналів елементарного перемикача при керуючому сигналі и-1 На фіг 6 показана таблиця вхідних і вихідних сигналів елементарного керованого перемикача при значенні керуючого сигналу u = 0 Винахід пояснюється узагальненою схемою криптографічного перетворення блоків даних на основі способу, що заявляється, яка показана на фіг 1 де Р - блок керованих перестановок, А і В - пбіТОВІ ПІДбЛОКИ, ЯКІ ПереТВОрЮЮТЬСЯ, «4г, К 4 М , «4г 2, «4г з - n-бітові елементи секретного ключа (п-бітові підключі), V-бшарний вектор, який формується в залежності від вхідних даних, знак Ф позначає операцію порозрядного підсумовування за модулем два, знак ш - операцію підсумовування за модулем п, де п - довжина подблоку даних в бітах Жирні суцільні лінії означають шину передачі пбітових сигналів, тонкі суцільні лінії - передачу одного біта, тонкі пунктирні лінії - передачу одного керуючого біта Жирні пунктирні лінії - шину передачі п керуючих сигналів, в якості яких використовуються біти підключів або біти бінарного вектора Використання бітів підключа як керуючих сигналів забезпечує формування конкретної модифікації операції перестановки бітів підблоку, що залежить від значення вхідного блоку, що додатково підвищує СТІЙКІСТЬ криптографічного перетворення Фіг 1 показує один раунд перетворень В залежності від конкретної реалізації блоку керованих перестановок і потрібної швидкості перетворень можуть бути задані від 2 до 16 і більше раундів Ця схема процедур криптографічних перетворень може використовуватись для здійснення шифрування і для здійснення односторонніх перетворень В останньому випадку секретний ключ не використовується і замість сигналів ПІДКЛЮЧІВ на керуючий вхід блоку Р подають сигнали бінарного вектора V, який формується в залежності від значення підблоків, які перетворюються, на проміжних кроках перетворення Під час виконання шифрування одні й ті ж чотири n-бітових підключа «4, Кз, «2 і Кі можуть використовуватися під час виконання кожного раунду шифрування В цьому випадку при типовому розмірі підблоку п = 32 довжина секретного ключа дорівнює 128 бітам Під час використання секретного ключа більшого розміру в кожному раунді можуть використовуватися чотири 49102 незалежних підключа И ц, Ичм, К4Г2 і К4 Г з НаприСклад, при КІЛЬКОСТІ раундів г - З в першому раунді використовують ключі «4, Кз, «2 і К-і, у другому раунді - підключі Ks, K7, Кє і Кб, в третьому раунді ПІДКЛЮЧІ К-І2, К Ц , К ю І Kg Можливість технічної реалізації способу, що заявляється, пояснюється конкретними прикладами його здійснювання Приклад 1 Цей приклад стосується використання способу для шифрування даних Секретний ключ подано у ВИГЛЯДІ ЧОТИРЬОХ ПІДКЛЮЧІВ Ичг, К 4 М , «4г 2 І К4г З Один раунд шифрування описується наступною ПОСЛІДОВНІСТЮ процедур 1 Перетворити підблок А ВІДПОВІДНО ДО виразу А«- А Ф К м , де "*—" - позначення операції присвоювання 2 Перетворити підблок В ВІДПОВІДНО ДО виразу 3 Залежно від значення підблоку А і від підключа К4г і здійснити перестановку бітів підблоку В 4 Перетворити підблок А ВІДПОВІДНО ДО виразу А*-АШ В 5 Залежно від значення підблоку В і від підключа К4г здійснити перестановку бітів підблоку А 6 Перетворити підблок А ВІДПОВІДНО ДО виразу В^В Є А Приклад 2 Цей приклад описує один раунд односторонніх перетворень, згідно з наступною ПОСЛІДОВНІСТЮ процедур 1 Сформувати бінарний вектор V V—А
ДивитисяДодаткова інформація
Назва патенту англійськоюMethod of cryptographic conversion of binary data blocks
Автори англійськоюMoldovian Aleksandr Andreievich, Moldovian Nikolai Andreievich
Назва патенту російськоюСпособ криптографического преобразования блоков двоичных данных
Автори російськоюМолдовян Александр Андреевич, Молдовян Николай Андреевич
МПК / Мітки
МПК: H04K 1/06, H04L 12/22, H04L 29/06, H04L 9/08, H04L 12/56
Мітки: криптографічного, двійкових, даних, перетворення, блоків, спосіб
Код посилання
<a href="https://ua.patents.su/6-49102-sposib-kriptografichnogo-peretvorennya-blokiv-dvijjkovikh-danikh.html" target="_blank" rel="follow" title="База патентів України">Спосіб криптографічного перетворення блоків двійкових даних</a>
Попередній патент: Ємкість для зберігання або транспортування горючих і/або вибухонебезпечних рідких матеріалів
Наступний патент: Спосіб виділення частини зливка вирощеного монокристала кремнію з заданою концентрацією домішки вуглецю
Випадковий патент: Спосіб одержання 6-{4-[3-((r)-2-метилпіролідин-1-іл)пропокси]феніл}-2н-піридазин-3-ону та його солей