Завантажити PDF файл.

Формула / Реферат

1. Спосіб шифрування двійкових блоків даних, який складається з виконання за допомогою набору підключів, сформованих з майстер-ключа, ітеративної процедури криптографічних перетворень, яка включає первинне забілювання вихідного блока за допомогою додавання у суматорі за модулем 2 з першим підключем, і наступних циклових перетворень, кожне з яких включає подання вхідного блока двійкових даних у вигляді послідовності байтів, його додавання у блоці складання із черговим підключем, також представленим у вигляді послідовності байтів, здійснення заміни кожного байта отриманої побайтової суми новим байтом відповідно до таблиці підстановки, а після проходження всіх циклів зашифрування виконання післяциклового ключового перетворення шляхом додавання у відповідному пристрої із останнім підключем, який відрізняється тим, що на вході ітеративної процедури криптографічних перетворень вводять додатне циклове перетворення, яке включає на першому етапі підсумування вхідного блока даних у суматорі за модулем два із цикловим підключем, розбивку двійкового блока даних після підсумування на два напівблоки, що представляють байтовими рядками, наступне виконання першого шару керованих підстановок, який в свою чергу включає послідовну заміну кожного байта кожного напівблока новим байтом відповідно до таблиці підстановки, причому байтовий вхід підстановки формують шляхом додавання за допомогою суматора за модулем два поточного байта кожного напівблока до байта на виході блока заміни цього ж напівблока, отриманого на попередньому кроці, причому для першого байта кожного напівблока даних додавання виконується зі значенням останнього байта даного напівблока, що дозволяє після виконання операцій підстановок сформувати два нових байтових напівблоки, а на другому етапі - повторне підсумування отриманих байтових напівблоків у суматорах за модулем два із додатними цикловими підключами, взаємне перемежування отриманих після підсумування байтових напівблоків шляхом подання їх двома байтовими напівблоками, кожний з яких складається з парних байтів одного напівблока й непарних байтів іншого напівблока, наступного виконання другого шару байтових керованих підстановок для байтів кожного з цих напівблоків, узятих у зворотному порядку проходження, причому для першого у зворотному порядку байта кожного напівблока даних як керуючий використовують байт, що є сумою за модулем два всіх байтів вихідного блока даних, отриманих після його підсумування із цикловим підключем, подальшого об'єднання байтових виходів підстановок у блок даних на виході циклової функції, причому використовуване число циклів і відповідно розмірність простору вироблюваних підключів для вихідної ітеративної процедури криптографічних перетворень беруть зменшеним до двох разів.

2. Спосіб шифрування двійкових блоків даних, який складається з виконання за допомогою набору підключів, сформованих з майстер-ключа, ітеративної процедури криптографічних перетворень, яка включає первинне забілювання вихідного блока за допомогою підсумування вхідного блока даних у суматорі за модулем два з першим підключем, наступних циклових перетворень, кожне з яких включає подання вхідного блока двійкових даних у вигляді послідовності байтів, їх підсумування у проміжному суматорі за модулем два із черговим підключем, також представленим у вигляді послідовності байтів, здійснення заміни кожного байта отриманої побайтової суми новим байтом відповідно до таблиці підстановки, й наприкінці заключне перетворення за допомогою підсумування у вихідному суматорі за модулем два блока даних, отриманого після циклових перетворень, із останнім підключем, при цьому в процедурі розгортання ключів використовується циклове перетворення основної процедури шифрування, який відрізняється тим, що в циклових перетвореннях використовують керовані підстановки із взаємним управлінням по входах, де на першому етапі здійснюють розбивку двійкового блока даних після підсумування із цикловим підключем на два напівблоки, що представляють байтовими рядками, наступне виконання першого шару байтових керованих підстановок, який включає заміну кожного байта напівблока новим байтом відповідно до таблиці підстановки, причому байтовий вхід підстановки формують шляхом додавання за модулем два поточного байта напівблока до байта на виході блока заміни, отриманого на попередньому кроці, причому для першого байта кожного напівблока даних додавання виконується зі значенням останнього байта даного напівблока, що дозволяє після виконання операцій першого шару керованих підстановок сформувати два нових байтових напівблоки, а на другому етапі - повторне підсумування отриманих байтових напівблоків у суматорах за модулем два із додатними цикловими підключами, взаємне перемежування отриманих після підсумування байтових напівблоків шляхом подання їх двома байтовими напівблоками, один з яких складається з парних байтів одного напівблока, а другий з непарних байтів іншого напівблока, наступного виконання другого шару байтових керованих підстановок для байтів кожного з цих напівблоків, узятих у зворотному порядку проходження, причому для першого у зворотному порядку байта кожного напівблока даних як керуючий використовують байт, що є сумою за модулем два всіх байтів вихідного блока даних, отриманих після його підсумування із цикловим підключем, подальшого об'єднання байтових виходів підстановок у блок даних на виході циклової функції, причому використовуване число циклів беруть зменшеним до трьох разів, а в процедурі розгортання майстер-ключа циклове перетворення теж замінюють перетворенням з керованими підстановками.

Текст

1. Спосіб шифрування двійкових блоків даних, який складається з виконання за допомогою набору підключів, сформованих з майстер-ключа, ітеративної процедури криптографічних перетворень, яка включає первинне забілювання вихідного блока за допомогою додавання у суматорі за модулем 2 з першим підключем, і наступних циклових перетворень, кожне з яких включає подання вхідного блока двійкових даних у вигляді послідовності байтів, його додавання у блоці складання із черговим підключем, також представленим у вигляді послідовності байтів, здійснення заміни кожного байта отриманої побайтової суми новим байтом відповідно до таблиці підстановки, а після проходження всіх циклів зашифрування виконання післяциклового ключового перетворення шляхом додавання у відповідному пристрої із останнім підключем, який відрізняється тим, що на вході ітеративної процедури криптографічних перетворень вводять додатне циклове перетворення, яке включає на першому етапі підсумування вхідного блока даних у суматорі за модулем два із цикловим підключем, розбивку двійкового блока даних після підсумування на два напівблоки, що представляють байтовими рядками, наступне виконання першого шару керованих підстановок, який в свою чергу включає послідовну заміну кожного байта кожного напівблока новим байтом відповідно до таблиці підстановки, причому байтовий вхід підстановки формують шляхом додавання за допомогою суматора за модулем два поточного бай 2 (19) 1 3 89651 4 цедурі розгортання ключів використовується циклоків у суматорах за модулем два із додатними лове перетворення основної процедури шифруцикловими підключами, взаємне перемежування вання, який відрізняється тим, що в циклових отриманих після підсумування байтових напівблоперетвореннях використовують керовані підстаноків шляхом подання їх двома байтовими напівбловки із взаємним управлінням по входах, де на ками, один з яких складається з парних байтів одпершому етапі здійснюють розбивку двійкового ного напівблока, а другий з непарних байтів іншого блока даних після підсумування із цикловим підкнапівблока, наступного виконання другого шару лючем на два напівблоки, що представляють байбайтових керованих підстановок для байтів кожнотовими рядками, наступне виконання першого шаго з цих напівблоків, узятих у зворотному порядку ру байтових керованих підстановок, який включає проходження, причому для першого у зворотному заміну кожного байта напівблока новим байтом порядку байта кожного напівблока даних як керувідповідно до таблиці підстановки, причому байтоючий використовують байт, що є сумою за модувий вхід підстановки формують шляхом додавання лем два всіх байтів вихідного блока даних, отриза модулем два поточного байта напівблока до маних після його підсумування із цикловим байта на виході блока заміни, отриманого на попідключем, подальшого об'єднання байтових випередньому кроці, причому для першого байта ходів підстановок у блок даних на виході циклової кожного напівблока даних додавання виконується функції, причому використовуване число циклів зі значенням останнього байта даного напівблока, беруть зменшеним до трьох разів, а в процедурі що дозволяє після виконання операцій першого розгортання майстер-ключа циклове перетворення шару керованих підстановок сформувати два нотеж замінюють перетворенням з керованими підсвих байтових напівблоки, а на другому етапі - потановками. вторне підсумування отриманих байтових напівб Винахід відноситься до області обчислювальної техніки, а саме до способів криптографічного перетворення даних. Відомий спосіб недетермінованого криптографічного перетворення даних [патент UA №53949, МПК 7 H04L29/14, Публ. Бюл. №2, кн.1, 2003]. Спосіб включає формування ключа шифрування у вигляді сукупності підключів і почергове перетворення підблоків на основі керованої підстановки (байтовій заміни), при котрому таблицю підстановок представляють у вигляді латинського прямокутника, розмірність якого визначається підблоком, що підлягає зашифруванню а саме перетворення здійснюють на основі керованої підстановки, шляхом вибору як вихідний байт значення осередку таблиці, обумовленої по першому (інформаційному) входу в таблицю підстановок по рядках (стовпцях), значенням підблоку що шифрується на поточному кроці, і другому (керуючому) входу в таблицю по стовпцях (рядках), обумовленому байтовим значенням виходу таблиці підстановок на попередньому кроці, по черзі у двох напрямках, причому в одному напрямку використовують підстановки-рядки, в іншому - підстановки-стовпці латинського прямокутника, а між перетвореннями в кожному з напрямків вводять операцію додавання підблоків даних із ключем, що вибирають параметрично залежним від значення останнього зашифрованого підблоку попередньої поточної операції керованої підстановки. Недоліком цього способу є недостатня захищеність шифру від атак диференційного та лінійного криптоаналізу (можливе побудування диференційних та лінійних характеристик з малим числом активних S-блоків). Крім того, потрібний значний обсяг пам'яті для зберігання таблиці підстановок великого розміру, що обмежує використання шифру в ряді практичних додатків. Найбільш близьким по сукупності істотних ознак до способу, що заявляється, є спосіб, реалізований у шифрі AES Rijndarl [див. V. Rijmen. «AES Proposal: Rijndael», AES Round 1, National Institute of Standards and Technology, Aug 1998. http://www.nist.gov/aes.], що складається в здійсненні багатоциклової процедури криптографічних перетворень, яка виконується за допомогою набору підключів, що включає первинне забілювання вихідного блоку даних за допомогою додавання за модулем два (XOR) з першим підключем і наступні ітеративні циклові перетворення, котрі в свою чергу використовують набір перетворень позначених відповідно AddRoundKey() - перетворення в якому циклічний підключ складається з масивом State (проміжним результатом шифрування блоку даних), ShiftRows() - перетворення, яке обробляє масив State шляхом циклічного зсуву останніх трьох його рядків на різні значення зсувів, SubButes() - перетворення, що діє на вхідний масив State за допомогою нелінійної таблиці байтової підстановки, яка незалежно діє на кожному байті масиву State, а також набір операцій: XOR (виключне АБО), множення багаточленів за моду4 лем х +1 й множення в скінченому полі. Специфічні функції (перетворення) використовують й у процедурі розгортання ключів: RotWord() (функція, що перетворює слово з чотирьох байтів в нове слово й виконує над ним циклічну перестановку. SubButes() (функція бере вхідне слово з чотирьох байтів й застосовує перестановку (S-блок) до кожного із чотирьох байтів для одержання вихідного слова. При розгортанні ключів також використовується масив циклічних констант Rcon[]. Хоча даний спосіб характеризується досить високою швидкодією процедури зашифруваннярозшифрування, однак за сучасними мірками продовжує відчуватися необхідність подальшого нарощування продуктивності алгоритмів симетричного шифрування. У наведеному способі основне обмеження по швидкодії процедури зашифрування-розшифрування, пов'язане з використанням у цикловій функції операції множення на матрицю (при зашифруванні) і зворотної операції ділення 5 89651 6 (при розшифруванні), а також з використанням (в зворотному порядку) байта кожного напівблоку досить великого (більше 14) числа циклів ітератиданих як керуючий використовують байт що є сувної процедури криптографічних перетворень. мою за модулем два всіх байтів вихідного блоку Крім того, як випливає з публікацій, у процесі досданих після сумування із цикловим підключем, ліджень стійкості алгоритму Rijndarl для нього був подальшого об'єднання байтових виходів підставиявлений ряд потенційних слабкостей, які, щоновок (конкатенації вихідних напівблоків, сформоправда, сьогодні не можна вважати скільки-небудь ваних у результаті виконання операцій заміни байнебезпечними, але з ними в перспективі, можливо, тів для кожного із нових напівблоків), у блок даних необхідно буде порахуватися. на виході циклової функції, причому використовуТехнічною задачею винаходу є створення споване число циклів і відповідно розмірність простособу криптографічного перетворення двійкових ру вироблюваних підключів (з точністю до одного даних, що має більш високі показники стійкості й додатного циклового підключа) беруть зменшеним швидкодії. до двох разів. Ця технічна задача вирішується тим, що в Нова сукупність істотних ознак дозволяє реаспособі шифрування двійкових блоків даних, що лізувати початкове циклове перетворення, що має складається з виконання за допомогою набору поліпшені властивості щодо перемішування та підключів, сформованих з майстра-ключа, ітератирозсіювання, а також підвищену стійкість до відовної процедури криптографічних перетворень, яка мих кріптоатак й за рахунок цього скоротити число включає первинне забілювання вихідного блоку за циклів шифрування, тобто підвищити швидкодію допомогою додавання за модулем 2 з першим без зниження (або з поліпшеними залежно від чипідключом і наступних циклових перетворень, косла відкинутих циклів) показників криптографічної жне з яких включає подання вхідного блоку двійкостійкості. вих даних у вигляді послідовності байтів, його доНижче сутність запропонованого рішення даванні із черговим підключем також більш докладно викладається з посиланнями на представленим у вигляді послідовності байтів, приведені фігури. здійснені заміни кожного байта отриманої побайНа Фіг.1 представлена структура одного циклу товой суми новим байтом відповідно до таблиці нового перетворення. підстановки (блоку підстановки), а після прохоНа Фіг.2 представлена схема одного кроку дження всіх циклів зашифрування виконані післябайтовой заміни (керованої підстановки). циклового ключового перетворення у вигляді доНа Фіг.3 представлена блок-схема пристрою, давання з останнім підключем, відповідно що реалізує нове циклове перетворення. винаходу перше циклове перетворення заміняють Фіг.4 ілюструє результати тестування шифру новим, яке включає на першому етапі розбивку Rijndarl за допомогою комплексу, що складається з двійкового блоку даних після сумування із цикло146 тестів вим підключем на два напівблоки, що представФіг.5 ілюструє результати тестування Х9.17 ляють байтовими рядками, наступну заміну кожноGost 64, за допомогою комплексу, що складається го байта напівблоку новим байтом відповідно до з 146 тестів фіксованої таблиці підстановки (блоку табличної Фіг.6 ілюструє результати тестування шифру з заміни), причому байтовий вхід підстановки форкерованими підстановками (4-х циклове перетвомують шляхом додавання за модулем два поточрення), за допомогою комплексу, що складається з ного байта напівблоку до байту на виході блоку 146 тестів заміни, отриманому на попередньому кроці (для Фіг.7. ілюструє результати тестування генерапершого байта кожного напівблоку даних додатора Rijndarl, за допомогою комплексу NIST STS. вання виконується зі значенням останнього байта Фіг.8. ілюструє результати тестування генераданого напівблоку), що дозволяє після виконання тора Х9.17 Gost 64, за допомогою комплексу NIST операції підстановки (першого шару керованих STS. підстановок) сформувати два нових байтових наФіг.9. ілюструє результати тестування генерапівблоки, а на другому етапі - сумування нових тора на ЭК, за допомогою комплексу NIST STS. байтових напівблоків за модулем два (XOR) з Фіг.10. ілюструє результати тестування шифру двома цикловими підключами, кожний з котрих є з керованими підстановками (4-й циклове перетциклічним зсувом додатного циклового підключа ворення), за допомогою комплексу NIST STS. на число бітів, що задають значенням семи бітів Табл.1. Показники лавинного ефекту для шиостаннього байта кожного напівблоку першого фру, побудованого на основі циклових перетвошару підстановок, причому останні байти додатрень із керованими підстановками, для довжини них циклових підключів замінюють нульовими знаблоку даних 256 бітів і такої ж довжини майстраченнями, подальшого взаємного перемеження ключа. (перестановки) отриманих після сумування із доУ відповідності із структурою нового циклового датними цикловими підключами байтових напівбперетворення (Фіг.1), вхідний блок даних 1 після локів шляхом подання їх двома байтовими напівбдодавання з цикловим підключем 2 розбивається локами (рядками), кожний з яких складається з на два напівблоки, які інтерпретуються байтовими парних байтів одного напівблоку й непарних байтів рядками 3, 4. Після цього байти кожного рядка 3 і 4 іншого напівблоку, наступного повторного викоподаються послідовно на входи керованих підстанання процедури байтових керованих підстановок новок - блоки заміни 5 і 6 (один для кожного рядка (другого шару керованих підстановок) для байтів напівблоків), які виконують операції керованої підкожного з рядків цих напівблоків, узятих у зворотстановки відповідно до Фіг.2. ному порядку проходження, причому для першого 7 89651 8 Як випливає з Фіг.2, на вхід кожного блоку підлізує ідею Шеннона по ефективному розсіюванню становки разом з кожним черговим байтом рядка й перемішуванню). Ця принципова властивість подається шляхом додавання з ним за модулем дозволяє перейти до зменшеного в порівнянні із два результати байтової заміни попереднього кропрототипом числу циклів перетворення й цим істоку, тобто значення байта на виході блоку заміни на тно підвищити загальну швидкодію процедури попередньому кроці є керуючим для блоку заміни шифрування в цілому. Можливі резерви подальна поточному кроці (на вхід перших блоків заміни шого підвищення швидкодії полягають також у для кожного напівблоку як керуюче подається знатому, що запропонована процедура допускає одчення останнього байта напівблоку). У підсумку ночасне виконання операцій перетворення для байтів рядок кожного з напівблоків перетворюєтьокремих напівблоків. ся після проходження блоку заміни в новий байтів Зупинимося більш детально на оцінці стійкості рядок. запропонованих рішень по побудуванню процедуДалі для отриманих на виходах блоків заміни ри шифрування до відомих методів криптоаналізу. двох байтових напівблоків 7, 8 (Фіг.1) виконують Обґрунтування стійкості запропонованого спооперацію сумування за модулем два (XOR) з дособу шифрування при зменшеному в порівнянні із датними цикловими підключами у блоках 9 та 10. прототипом числом циклових перетворень. ПредОстаточне значення циклових підключів визначаставляється принциповим для обґрунтування ється для кожного напівблоку значеннями останніх ефективності запропонованого способу довести, (16-го для 128 бітного напівблоку) байтів на вихощо нове одноциклове перетворення забезпечує дах першого шару керуючих підстановок (байтове запас такий стійкості відносно найбільш важливих значення в потрібний діапазон вводиться шляхом типів атак - лінійного та диференційного криптоавідкидання одного з бітів), і на основі отриманого налізу (при зменшеному в порівнянні з прототипом значення виконується циклічний зсув кожного цикзагальному числі циклів криптографічних перетволового підключа на відповідну кількість бітів, при рень), котрий гарантує можливість зменшення зацьому останні байти сформованих підключів замігального числа циклів перетворень, тобто потрібно нюються нульовими. показати, що один цикл нового перетворення заДалі виконується взаємне перемеження (перебезпечує стійкість супротив відмічених атак не становки) результуючих байтових напівблоків, меншу ніж стійкість, яку забезпечується половишляхом подання їх двома новими байтовими напіною циклових перетворень прототипу. Нижче ми вблоками (рядками) 11, 12, кожний з яких складазупинимося на обґрунтування цього факту, та нається з парних байтів одного напівблоку й непарведемо додатні міркування стосовно підвищених них байтів іншого напівблоку, подальшого показників стійкості запропонованого способу у повторного виконання процедури байтових керовідношенні інших відомих атак. ваних підстановок 13, 14 для байтів кожного з рядСтійкість до лінійного й диференційного крипків нових напівблоків, узятих у зворотному порядку тоаналізу. Відносно підвищеної стійкості до відопроходження, причому для першого байта кожного мих методів криптоаналізу, і, зокрема, до лінійного напівблоку даних додавання виконують із байтом, й диференційного криптоаналізу можна відзначищо є сумою за модулем два всіх байтів блоку дати, що за рахунок використання механізму керованих після сумування із цикловим підключем, далі ної підстановки реально варто очікувати відсутновиконується об'єднання байтових виходів підстасті будь-яких статистично стійких асиметричних новок (конкатенації вихідних напівблоків, сформо(зміщених по ймовірності) зв'язків між входами й ваних у результаті виконання операцій заміни байвиходами циклових перетворень і всього шифру в тів для кожного із нових напівблоків) у блок даних цілому. 15 на виході циклової функції. Додатково можна привести наступні міркуванПодальша пропозиція, сформульована у варіня. Як випливає з публікацій [див., наприклад, P. анті 2 формули винаходу, використовує переваги Junod and S. Vandenay. Fox: a new family of block запропонованого циклового перетворення для ciphers. To appear in Selected Areas in Cryptography побудування цілковито нового шифру, де на всіх 2004: Waterloo, Canada, August 9-14, 2004], можна циклах застосовується процедура керованої підспобудувати S-блоки з байтовими переходами знатановки, при цьому виключається найбільш часочень диференційних ймовірностей переходів затратна операція циклової функції прототипу Sbox DPmax , й імовірностей лінійних апроксимацій додаткове (після підстановки) лінійне перетворення. Sbox LPmax на нелінійність, й цьому забезпечити алДо переваг запропонованого циклового перетгебраїчну нелінійність що дорівнює 6. Імовірність ворення можна віднести те, що зміна будь-якого результуючої диференційної характеристики вибіта вхідного блоку даних навіть можливі зміни всіх наступних за зміненим підблоків, а за рахунок поr r Sbox , LP Sbox значається формулами DPmax двійного проходу, коли перед другим проходом max здійснюється перестановка напівбайтів, забезпе2r 2r чується поліпшена збалансованість участі кожного Sbox Sbox або DPmax , LPmax (в залежності від байта у формуванні результату зашифрування. У підсумку практично вже за один такий цикл досякількості шарів блоків заміни). Для розглянутого гається максимально можлива чутливість резульрішення результат циклового перетворення за тату перетворення до зміни кожного біта вхідного рахунок використання керованих підстановок буде блоку даних і ключа (запропонована підстановочзмінюватися непередбаченим образом, тому що но-перестановочна операція найбільш повно реарізниця в текстах в одному байті буде викликати 9 89651 10 ненульові різниці на виходах усіх наступних S64 64 Sbox блоків (ненульова різниця на виході даного SDPmax 2 4 2 256 , що забезпечує блоку буде формувати ненульові керуючи входи у потрібні характеристики стійкості вже за один цикл всі наступні підстановки), тобто будуть активуванаступного перетворення. тись усі (або майже всі) наступні S-блоки. Це ознаВідмічений принцип активізації підстановок чає, що ймовірність одноциклового переходу буде другого шару, однак, може бути порушеним, якщо вже дорівнювати не менш ніж (2-4)32=2-128 (ми вже за рахунок активізації останнього (16-го при 128 не кажемо про те, що потрібно ще "зшити" харакбітному напівбайті) S-блоку першого шару підстатеристики на різних циклах перетворень, тобто новок здійснити нівелювання (занулення) резульнеобхідно буде ще домогтися того, щоб характетату (різниці) при проході першого S-блоку другого ристика S-блоку чергового циклу була погоджена з шару підстановок, на керуючий вхід котрого відпохарактеристикою попереднього). А це означає, що відно до запропонованого способу буде підведене вже при 4 циклах криптографічних перетворень 1) байтове значення x1 x2 варто очікувати, що ймовірність результуючої диx16 S x1 x16 ференційної характеристики як і ймовірність ре(розглядується випадок, коли активізується перзультуючої лінійної апроксимаційної характеристиший S-блок, на керуючий вхід котрого підводиться -128 4 -512 ки вже буде оцінюватися значенням (2 ) =2 . значення останнього байта напівблоку х16, так що При більш докладному аналізі можна ще розгна його виході формується значення S x1 x16 , лядати ситуацію ненульових входів (різниць) для й при цьому вхідне значення другого байта напівдвох сусідніх S-блоків одного шару підстановок, блоку даних нівелює попередній результат, отрипричому припустити, що різниця чергового S-блоку маний при проході першого S-блоку, тобто нівелює (збігається з байтом різниці керуючого x2 S x1 x16 . Отже виходить, що коли входу) ненульову різницю, що приходить із керуючого входу. Тоді всі наступні S-блоки першого шаS x16 x1 x2 x16 S x1 x16 , то на ру підстановок при відповідних умовах не будуть виході першого напівблоку другого шару підстаноактивізуватися (відносно проходженню різностей). вок буде формуватися нульове байтове значення і В розглянутому рішенні таке нівелювання можна тому наступні підстановки активізуватись не бузробити у граничному випадку для двох перших Sдуть (усі S-блоки другого шару підстановок мають блоків першого шару підстановок. Але за рахунок вхідне нульове значення виходів першого шару того, що для першого S-блоку другого шару підспідстановок окрім останнього S-блоку другого шатановок в якості керуючого використовується байт, ру підстановок, входом для котрого буде ненульощо є сумою за модулем два усіх байтів вхідного ве значення різниці на виході першого S-блоку блоку даних (після сумування з цикловим підклюпершого шару підстановок). В результаті очікувачем), ненульове значення різниць входів для Sного лавинного розповсюдження активізації на Sблоків першого шару підстановок буде давати неблоки другого шару підстановок здійснюватися не нульове значення різниці на керуючому вході пербуде. Для захисту від цієї слабкості в схему ввешого S-блоку другого шару підстановок, котре будений "сторож", задача котрого перекрити ситуації, де розповсюджуватись на всі інші S-блоки другого коли значення байта на виході останнього S-блоку шару підстановок. Отже, будуть активізуватися усі першого шару підстановок (на вході першого SS-блоки другого шару підстановок. В результаті блоку другого шару підстановок можна підібрати для випадку активізації одного S-блоку першого таким, щоб воно збіглося би із байтовим значеншару підстановок та 32 S-блоків другого шару підням керуючого входу. Для цього служить динамічстановок, з урахуванням того, що в цьому випадку на зміна значень введених додатно циклових підкпри обчисленні ймовірності диференційної хараключів, яка здійснюється на основі використання теристики циклового перетворення до ймовірності значень виходів останніх підстановок першого шапереходу різностей одного (першого) S-блоку ру. В цій ситуації коли буде здійснюватися спроба Sbox виконати атаку дифференційного криптоаналізу на DPmax при проході одного шару підстановок потциклову функцію, нападаючому для отримання рібно буде внести додатковий коефіцієнт, який при нульового значення різниці на виході першої підсприйнятті гіпотези про рівномірний розподіл знатановки другого шару підстановок необхідно буде чень різниць окремих байтів для різних блоків (на-8 вибрати відповідні різні значення виходів останпівблоків) даних може бути оціненим як 2 =1/256 ньої підстановки першого шару підстановок, але (тут 256 - число варіантів входів в S-блок), у гратоді для цих різних значень відповідно до способу ничному випадку, що розглядається, для ймовірбудуть формуватися різні циклові підключи, котрі ності одноциклового переходу можна розглядати -8 -4 -4 32 -142 будуть приводити до активізації майже всіх Sзначення 2 (2 )(2 ) =2 . Але це ще не все. Для блоків другого шару підстановок (вихідні різниці отримання цього результату потрібно буде ще майже всіх підстановок першого шару нульові). зшити характеристики переходів для S-блоків обох Отже, виходить, що запропоноване одноциклове шарів підстановок, що представляється дуже маперетворення буде забезпечувати стійкість супролоймовірним. Нарешті, при обчисленні диферентив атак диференційного криптоаналізу не більш ційних характеристик наступних циклів треба врависоку ніж можна отримати за сім циклових перетховувати активними підстановки обох шарів, що ворень прототипу. приводить до оцінки для ймовірності одноциклової Враховуючи дуальний зв'язок, що існує між диференційної характеристики (без урахування диференційним та лінійним криптоаналізом, слід умов зшивки характеристик окремих S-блоків) очікувати повну захищеність запропонованого спо 11 89651 12 собу шифрування й від атак лінійного криптоаналітовхідний суматор за модулем два (XOR) байтозу. вих значень блоку даних, отриманного після сумуІнтегральна атака. Інтегральна атака застосовання вхідного блоку даних з цикловим підключем вується до шифрів з добре вибудуваною структуна вході циклової функції. рою, подібної SPN структурі. Тому що запропоноБайтовий рядок (блок вхідних даних) подаєтьвана циклова функція відрізняються від звичайно ся на перший вхід блоку 1 (суматора), до другого застосовуваної в SPN конструкції наявністю недевходу якого підключений вихід регістратермінованого механізму (за рахунок використання накопичувача циклового подключа 2, вихід сумапідстановок, керованих поточними станами процетора підключений до входів блоків 3 та 4, у свою дури криптографічного перетворення), то предстачергу підключених своїми виходами до входів бловляється, що навряд чи вдасться знайти інтеграків 5 і 6, а виходи блоків 5 і 6 відповідно до входів льний разрізнювач для цілої структури всього блоків 7 і 8. Ці блоки свою чергу підключених своїшифру. ми виходами до входів блоків 9, 10. Виходи останІнші атаки. ніх підключені відповідно до входів блоків 11, 12, Статистичні атаки. З огляду на високі дифузійпричому до кожного з цих блоків на керуючий вхід ні властивості циклової функції, високий степінь подається байт з виходу блоку 19 (ці входи познанелінійності S блокового перетворення навіть для чені пунктиром, тому що задіяні лише для перших малого числа циклів можна із упевненістю казати, S блоків кожного шару підстановок), який формущо запропоновані рішення будуть стійкими до всіх ється шляхом сумування за модулем два байтів з варіантів лінійного й диференційного криптоаналівиходів блоку 1. Байтові виходи блоків 11 і 12 підзу і їхніх сполучень, до бумерангових і rectangle ключені своїми виходами до входів блоків 13, 14, атак та їхніх узагальнень, подібним до атак з виковиходи котрих поєднуються в загальний блок перистанням усічених диференціалів і диференціаретворених даних, що вводиться в накопичувач лів високого порядку, неможливих диференціалів і 15. Блок даних на виході накопичувача 15 є вихобагатьох інших атак. дом циклової функції. Для формування додатних Відносно-ключова й слайд атаки. Слайд атаки циклових підключів кожного з напівблоків загальексплуатують періодичну структуру алгоритму розний ключ зчитується з накопичувача 16, з виходу гортання ключів. Завдяки дуже гарній дифузії й котрого два напівблоки подаються на регістривисокій нелінійності запропонованої в п.2 нової накопичувачі циклічного зсуву 17, 18, керуючі вхопроцедури розгортання підключів, представляєтьди котрих підключені до виходів відповідних керуся досить мало ймовірним, що відносно-ключові й ючих підстановок першого шару. слайд атаки будуть ефективними для запропоноРеалізація запропонованого способу не викливаного рішення. кає утруднень, тому що всі блоки й вузли, що вхоІнтерполяційні й алгебраїчні атаки. Інтерполядять у пристрій, що реалізує спосіб, загальновідоційні атаки використовують переваги S-блокового мі й широко описані в технічній літературі. подання, а саме просту алгебраїчну структуру SДалі наведені деякі результати експериментаблоку. Якщо використати S-блоки, наприклад, зальної оцінки показників статистичної безпеки запропоновані авторами шифру FOX, то це нелінійне пропонованої процедури, а також прототипу й девідображення не піддається простому опису над яких інших шифруючих перетворень. GF(2) або GF(28). Більше того, сам недетерміноУ табл.1 представлені результати аналізу лаваний механізм, реалізований за допомогою керовинного ефекту, реалізованого в експериментах із ваних підстановок, навряд чи може знайти аналішифром, побудованим на керованих підстановках. тичний опис (на наш погляд вимоги до відбору Приводяться числа одиничних і нульових елеменпідстановок у запропонованому рішенні можуть тів у побітовій різниці зашифрованих блоків на виявитися істотно більше м'якими, ніж, наприклад, виході кожного циклу для пар блоків даних на вхоу шифрі FOX). Тому представляється, що відзнаді шифру, що відрізняються одним бітом. чені атаки не є скільки-небудь ефективними для З таблиці 1 видно, що у всіх випадках змінюзапропонованих рішень. ється половина біт зашифрованого тексту з відхиЗапропоноване нове одноциклове перетволенням 0.003%. Видно також, що відхилення відрення може бути реалізовано за допомогою прибувається в обидва боки, і, отже, при збільшенні строїв, представлених разом із з'єднаннями між кількості випробувань відхилення повинне зменними блок-схемою на Фіг.3, де блок 1 - суматор за шитися ще більше. Виконавши відповідні експеримодулем два (XOR), блок 2 - накопичувач цикловоменти при збільшенні числа випробувань до го подключа, блоки 3, 4 - накопичувачі напівблоків 1000000, приходимо до відхилення, що перебуває даних (байтових рядків) після сумування з циклов діапазоні значень 0.001%. Отримані результати вим підключем, 5, 6 - блоки керованих підстановок свідчать, що показники лавинного ефекту (глибина першого шару перетворень, блоки 7, 8 - накопичувходу в цикли шифру й дисперсія відхилень від вачі байтових рядків (напівблоків) з виходів керосереднього значення) краще всіх відомих криптованих підстановок, 9, 10 - блоки сумування напівбграфічних алгоритмів, у тому числі й прототипу. локів з додатними цикловими підключами, 11, 12 Результати оцінки лавинного ефекту при зміні одблоки перемеження, 13, 14 - блоки керованих підсного (кожного) біта ключа показують, що картина тановок другого шару перетворень, блок 15 - назалишається тієї ж самою. копичувач вихідного блоку даних, блок 16 - накоДля більш глибокої оцінки показників статиспичувач додатного циклового під-ключа, 17, 18 тичної безпеки, були виконані дослідження статисрегістри-накопичувачі циклічних зсувів циклового тичних характеристик запропонованої конструкції підключа (з зануленням останніх байтів), 19 - багашифру з керованими підстановками в режимі ге 13 89651 14 нерації гами шифруючої, тобто шифр використавнення) заявлених переваг запропонованих технічся для генерування псевдовипадкової послідовноних рішень, можна відзначити наступні положення. сті. Існує два комплекси тестування статистичних Стійкість криптографічних перетворень базухарактеристик послідовностей. Один з них розроється на завданні ключової невизначеності, у той блений сторонньою фізичною особою, інший розчас як алгоритм перетворень є відомим (правило роблений національним інститутом стандартів Керкхоффа). Ця обставина відкриває значні можСША «NIST STS (Statistical Test Suite)». На Фіг.4-6 ливості для успішного проведення криптоаналізу наведені підсумкові результати тестування запробагатьох існуючих криптографічних схем. Очевидпонованого алгоритму й відомих алгоритмів за но, що логічна невизначеність, впроваджена в допомогою першого комплексу, що складає з 146 шифр у подібних випадках, значно утрудняє протестів. ведення багатьох атак. Порівняльний аналіз отриманих результатів Аналіз існуючих криптографічних перетворень показує, що Rijndarl посів перше місце, алгоритм, із метою побудови ключезалежного способу шифзаснований на циклах з керованими підстановками рування показує, що з лінійних перетворень, най(4 цикли) посів друге місце, а Х9.17 Gost 64 посів більш кращою є операція «XOR». Вона володіє третє місце. рядом переваг у порівнянні з іншими, такими як Результати тестування цих же шифрів, а ташвидкість виконання операції, високий степінь волі кож шифру на еліптичних кривих (ЭК) комплексом результату, що забезпечує досягнення гарних поNIST STS, що складається з 189 тестів представказників декореляції перетворених значень. Інша лені на Фіг.7-10. проста розповсюджена операція - параметричний Кількість тестів для шифру Rijndarl, у яких тесзсув володіє рядом недоліків, які обмежують її тування пройшло 99% послідовностей дорівнює застосування при побудові високозахищених крип145. Кількість тестів, у яких тестування пройшло тографічних систем. До основних недоліків тут більше 96% послідовностей дорівнює 189. можна віднести невисокий степінь свободи реКількість тестів для генератора X9.17 Gost 64, зультату, нестабільні кореляційні показники. Так у у яких тестування пройшло 99% послідовностей, випадку, коли певхідний блок складається зі значдорівнює 139. Кількість тестів, у яких тестування них наборів нулів або одиниць або має ідентичні пройшло більше 96% послідовностей, дорівнює частини, операція параметричного зсуву не змінює 187. вихідного значення на багатьох позиціях (табличКількість тестів для генератора на ЭК, у яких не подання операції циклічного зсуву показує, що тестування пройшло 99% послідовностей, дорівпідстановки які її описують, не суперечливі, що нює 146. Кількість тестів, у яких тестування пройсвідчить про нестабільні кореляційні показники шло більше 96% послідовностей, у цьому випадку операції). Застосування операцій випадкової передорівнює 188. становки також представляється не завжди випраКількість тестів для генератора на керованих вданим, внаслідок значної безлічі слабких (не супідстановках (4 цикли), у яких тестування пройшло перечливих) підстановок. Очевидно, що перевагу 99% послідовностей, дорівнює 131. Кількість тесв багатьох випадках варто віддати суперечливим тів, у яких тестування пройшло більше 96% посліпідстановкам і близьких до них, що володіють довностей, дорівнює 186. кращими показниками розсіювання. Цей тип неліОтримані результати свідчать, що генератор, нійної операції одержав велике поширення й успізаснований на циклах з керованими підстановкашно застосовується в таких шифрах як NOEKEON, ми, по показниках статистичної безпеки перебуває Rijndael, DES, Гост 28147 і т.д. Недоліком викорисприблизно на одному рівні з генераторами, побутання однієї і тієї ж підстановки можна вважати дованими на відомих шифрах. Більше точна оціннеобхідність додаткового захисту від частотного ка, показує, що (для чотирьохциклової конструкції аналізу. У випадку, коли блок складається з однашифру з керованими підстановками) три тести не кових підблоків, після виконання підстановки, пепройшли 96% рівень, що вважається рекомендоремішування блоку не відбувається. Перераховані ваним граничним значенням. Збільшення числа недоліки зникають при використанні різних підстациклів до 8 привело до того, що вже тільки два новок. Аналіз й експерименти свідчать, що застотести не пройшло 96% граничний рівень. Очевидсування керованої підстановки є в багатьох випадно, що при подальшому збільшенні кількості циклів ках істотно більш кращим. Кількість підстановок можна домогтися необхідних статистичних показвикористовуваних шифром повинна забезпечувати ників, хоча більше кращої є подальша модернізависокий ступінь волі результату, що сприяє гарноція пропонованого алгоритму. му розсіюванню. Поряд з відомими реченнями по Слід зазначити, що вище наведені результати використанню великих матриць суперечливих підекспериментів відносяться до циклової функції в становок розміром 256x256, у запропонованому вигляді двох шарів підстановок без ділення вхіднорішенні обґрунтовується можливість застосування го блоку даних на два напівблоку. Для випадку для реалізації процедури керованої підстановки використання запропонованої у формулі винаходу таблиць підстановок істотно менших розмірів. конструкції вже за один цикл такого перетворення Результати аналізу існуючих перетворень у (навіть без введення циклового підключа) вдаєтьцілому показують, що використання недетермінося забезпечити проходження усіх тестів. ваних процедур криптографічних перетворень й, Таким чином, підводячи підсумки обговоренню зокрема, процедур керованих підстановок, дозвой обґрунтуванню можливостей реалізації (досягляє уникнути багатьох слабкостей фіксованих детермінованих перетворень. 15 89651 16 Таблиця 1 Цикл 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Цикл 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1000000000000000 640604 > 639524 - 1080 640506 > 639622 - 884 639753 < 640375 - 622 639508 < 640620 - 1112 639613 < 640515 - 902 639863 639614 - 900 639965 < 640163 - 198 639713 640053 - 22 640198 > 639930 - 268 640529 > 639599 - 930 640714 > 639414 - 1300 639963 < 640165 - 202 640050 < 640078 - 28 0001000000000000 639716 < 640412 - 696 639650 639187 - 1754 640877 > 639251 - 1626 640321 > 639807 - 514 640463 > 639665 - 798 640424 > 639704 - 720 640369 > 639759 - 610 640012 < 640116 - 104 639829 < 640299 - 470 639169 639632 - 864 639780 639822 - 484 639828 639811 - 506 639740 < 640388 - 648 640044 639667 - 794 640328 > 639800 - 528 640075 > 640053 - 22 640705 > 639423 - 1282 639050 639738 - 652 641093 > 639035 - 2058 639980 639775 - 578 640102 > 640026 - 76 640872 > 639256 - 1616 639355 < 640773 - 1418 0000100000000000 639902 639164 - 1800 640330 > 639798 - 532 641219 > 638909 - 2310 641047 > 639081 - 1966 639900 639968 - 192 639697 639903 - 322 39762 < 640366 - 604 639890 639823 - 482 640454 > 639674 - 780 640133 > 639995 - 138 0010000000000000 640753 > 639375 - 1378 639627 < 640501 -874 639967 639505 - 1118 639856 639568 - 992 640339 > 639789 - 550 640964 > 639164 - 1800 639896 < 640232 - 336 639642 639737 - 654 641149 > 638979 - 2170 640290 > 639838 - 452 0000010000000000 640064 < 640064 - 0 639723 639756 - 616 639870 639507 - 1114 640594 > 639534 - 1060 639918 < 640210 - 292 639843 < 640285 - 442 640053 < 640075 - 22 640053 639956 - 216 639674 639623 - 882 640206 > 639922 - 284 640526 > 639602 - 924 17 89651 18 19 89651 20 21 89651 22 23 89651 24 25 Комп’ютерна верстка В. Мацело 89651 Підписне 26 Тираж 26 прим. Міністерство освіти і науки України Державний департамент інтелектуальної власності, вул. Урицького, 45, м. Київ, МСП, 03680, Україна ДП “Український інститут промислової власності”, вул. Глазунова, 1, м. Київ – 42, 01601

Дивитися

Додаткова інформація

Назва патенту англійською

Method for encryption of binary data blocks (embodiments)

Автори англійською

Horbenko Ivan Dmytrovych, Dolhov Viktor Ivanovych, Oliinykov Roman Vasyliovych, Lysytska Iryna Viktorivna

Назва патенту російською

Способ шифрования двоичных блоков данных (варианты)

Автори російською

Горбенко Иван Дмитрович, Долгов Виктор Иванович, Олейников Роман Васильевич, Лисицкая Ирина Викторовна

МПК / Мітки

МПК: H04L 9/14

Мітки: варіанти, блоків, двійкових, спосіб, даних, шифрування

Код посилання

<a href="https://ua.patents.su/13-89651-sposib-shifruvannya-dvijjkovikh-blokiv-danikh-varianti.html" target="_blank" rel="follow" title="База патентів України">Спосіб шифрування двійкових блоків даних (варіанти)</a>

Подібні патенти