Спосіб криптографічного перетворення інформації
Номер патенту: 99696
Опубліковано: 25.06.2015
Автори: Білецький Анатолій Якович, Навроцький Денис Олександрович
Формула / Реферат
Спосіб криптографічного перетворення інформації, який полягає в тому, що інформаційну послідовність подають у вигляді бітних блоків, які підлягають ітеративній обробці примітивними криптографічними перетвореннями: перемішування (permutation) - за допомогою блоків перемішування кубиків (блоків Permut3D); підстановка (substitution) - за допомогою блоків підстановок (S-блоків); функціональні операції циклічного зсуву і додавання за модулем 2 (ShiftRow) - за допомогою відповідних пристроїв, який відрізняється тим, що бітні блоки інформаційної послідовності подають у вигляді тривимірних матриць (кубиків) і, що як S-блок формують змінну тривимірну матрицю підстановок, що будується отриманням мультиплікативно зворотного елемента над розширеним кінцевим полем Галуа GF(28) та шляхом виконання афінного перетворення
над примітивним двійковим полем Галуа GF(2), при цьому як матрицю
афінного перетворення використовують змінні обернені симетричні матриці, які вибирають відповідно до значення циклового ключа, і що функціональні операції циклічного зсуву не фіксовані, а залежать від стану ключа.
Текст
Реферат: UA 99696 U UA 99696 U 5 10 15 20 25 Запропонована корисна модель належить до галузі криптографічного захисту інформації і може бути використаний в засобах шифрування у системах обробки інформації для розширення їх можливостей. Відомий спосіб криптографічного перетворення [1], який ґрунтується на тому, що інформаційна послідовність подається у вигляді 64 бітних блоків, які підлягають ітеративній обробці примітивними криптографічними перетвореннями: перестановка (permutation) - за допомогою блоків перестановок (Р-блоків); підстановка (substitution) - за допомогою блоків підстановок (S-блоків); функціональні операції циклічного зсуву і додавання за модулем 2 - за допомогою відповідних пристроїв. Ітеративна обробка полягає у багатократному виконанні однакових груп перетворень, що забезпечують необхідні умови стійкості криптографічного перетворення: розсіювання (за допомогою Р-блоків) та перемішування (за допомогою S-блоків) інформаційних даних. Недоліками цього способу є те, що для криптографічного перетворення інформації як Sблок виступає фіксована матриця підстановок, що не дає змогу гнучко змінювати параметри криптографічної обробки та динамічно керувати процесом перемішування інформаційних даних, а також те що для функціональної операції циклічного зсуву використовуються фіксовані значення параметрів зсуву. Найбільш близьким, до запропонованого технічним рішенням, вибраним як прототип, є удосконалений спосіб криптографічного перетворення [2], який ґрунтується на тому, що інформаційна послідовність подається у вигляді 128 бітних блоків, які підлягають ітеративній обробці примітивними криптографічними перетвореннями: мікшування (mix) - за допомогою блоків мікшування стовпців (блоків MixColumn); підстановка (substitution) - за допомогою блоків підстановок (S-блоків); функціональні операції циклічного зсуву і додавання за модулем 2 (ShiftRow) - за допомогою відповідних пристроїв. Ітеративна обробка полягає у багатократному виконанні однакових груп перетворень, що забезпечують необхідні умови стійкості криптографічного перетворення: розсіювання (за допомогою блоків MixColumn) та перемішування (за допомогою S-блоків) інформаційних даних. Підстановка x x0, x1, , x7 y y0, y1, , y7 являє собою нелінійну заміну байт, яка виконується незалежно для кожного вхідного байта 30 x x0, x1, , x7 . Матриці підстановки, за допомогою яких будуються S-блоки є інвертовними 35 матрицями, що утворюються із використанням композиції двох перетворень: 1. Отримання мультиплікативно зворотного елемента x 1 над розширеним кінцевим полем 8 Галуа GF(2 ), яке будується за кільцем багаточленів з операціями по модулю незвідного багаточлена gx x8 x 4 x3 x 1 ; 40 При цьому приймається, що якщо x 0 , то x 1 0 . 2. Виконання афінного перетворення над примітивним двійковим полем Галуа GF(2), яке задається виразом: y M x1 , (1) де M - фіксована матриця восьмого порядку, симетрична відносно допоміжної діагоналі: 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 M 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 0 0 1 1 ; 0 0 0 0 0 0 1 1 1 1 1 - фіксований восьмирозрядний вектор-стовпець: T 1 1 0 0 0 1 1 0 . 45 Матриця підстановки, що утворена із використанням композиції двох вказаних перетворень, має вигляд таблиці 1, де вхідний байт x x0, x1, , x7 представлено у вигляді двох напівбайтів x a1, a2 , а власні значення осередків таблиці відповідають y y0, y1, , y7 , так само представленого у вигляді напівбайтів 1 елементам вихідного байта UA 99696 U y b1, b2 . Таблиця 1 a2 a1 5 0 1 2 3 4 5 6 7 8 9 А В С D Е F 0 63 СА В7 04 09 53 D0 51 CD 60 Е0 Е7 ВА 70 Е1 8С 1 7С 82 FD С7 83 D1 EF A3 0С 81 32 С8 78 3Е F8 А1 2 77 С9 93 23 2С 00 АА 40 13 4F 3А 37 25 В5 98 89 3 7В 7D 26 С3 1А ED FB 8F EC DC 0А 6D 2Е 66 11 0D 4 F2 FA 36 18 1B 20 43 92 5F 22 49 8D 1С 48 69 BF 5 6B 59 3F 96 6E FC 4D 9D 97 2A 06 D5 A6 03 D9 E6 6 6F 47 F7 05 5A B1 33 38 44 90 24 4E B4 F6 8E 42 7 C5 F0 CC 9A A0 5B 85 F5 17 88 5C A9 C6 0E 94 68 8 30 AD 34 07 52 6A 45 ВС C4 46 C2 6C E8 61 9B 41 9 01 D4 A5 12 3B CB F9 B6 A7 ЕЕ D3 56 DD 35 IE 99 A 67 A2 E5 80 D6 BE 02 DA 7E B8 AC F4 74 57 87 2D В 2B AF F1 E2 B3 39 7F 21 3D 14 62 EA IF B9 E9 0F С FE 9C 71 EB 29 4A 50 10 64 DE 91 65 4B 86 CE B0 D D7 A4 D8 27 E3 4C 3C FF 5D 5E 95 7A BD C1 55 54 E AB 72 31 B2 2F 58 9F F3 19 0B E4 AE 8B 1D 28 BB F 76 C0 15 75 84 CF A8 D2 73 DB 79 08 8A 9E DF 16 Функціональні операції циклічного зсуву і додавання за модулем 2. В ShiftRow рядки стану циклічно зсуваються на різні значення. Нульовий рядок не зсувається. Рядок 1 зсувається на С1 байт, рядок 2 на С2 байт, рядок 3 на С3 байт. Значення С1, С2 і С3 залежать від Nb (довжина блока). Значення наведені в наступній таблиці. В таблиці 2 вказана величина зсуву в залежності від довжини блока Таблиця 2 Nb 4 6 8 С1 1 1 1 С2 2 2 3 С3 3 3 4 10 15 20 25 30 Інверсією для ShiftRow є циклічний зсув трьох нижніх рядків відповідно на Nb - С1, Nb - С2 і Nb - C3 байт, щоб байт в позиції j в рядку і переміщувався в позицію (j + Nb-Ci) modNb. Недоліками способу-прототипу є те, що для криптографічного перетворення інформації у якості S-блоку виступає фіксована матриця підстановок, що не дає змогу гнучко змінювати параметри криптографічної обробки та динамічно керувати процесом перемішування інформаційних даних, і те що для криптографічного перетворення інформації параметри зсуву фіксовані. В основу корисної моделі поставлена задача створити спосіб криптографічного перетворення інформації який, за рахунок використання як S-блока динамічно змінюваних матриць підстановки дасть змогу гнучко змінювати параметри криптографічної обробки та динамічно керувати процесом перемішування інформаційних даних у тривимірному просторі, і те що параметри зсуву динамічно змінюються в залежності від стану ключа. Поставлена задача вирішується за рахунок того, що спосіб криптографічного перетворення інформації, який полягає в тому, що інформаційну послідовність подають у вигляді бітних блоків, які підлягають ітеративній обробці примітивними криптографічними перетвореннями: перемішування (permutation) - за допомогою блоків перемішування кубиків (блоків Permut3D); підстановка (substitution) - за допомогою блоків підстановок (S-блоків); функціональні операції циклічного зсуву і додавання за модулем 2 (ShiftRow) - за допомогою відповідних пристроїв, у якому згідно з корисною моделлю, бітні блоки інформаційної послідовності подають у вигляді тривимірних матриць (кубиків) і, що як S-блок формують змінну тривимірну матрицю підстановок, що будується отриманням мультиплікативно зворотного елемента x 1 над 8 розширеним кінцевим полем Галуа GF(2 ) та шляхом виконання афінного перетворення 2 UA 99696 U y M x1 над примітивним двійковим полем Галуа GF(2), при цьому як матрицю M афінного 5 10 15 20 25 перетворення використовують змінні обернені симетричні матриці, які вибирають відповідно до значення циклового ключа, і що функціональні операції циклічного зсуву не фіксовані, а залежать від стану ключа. Технічний результат, який може бути отриманий при здійсненні корисної моделі полягає в отриманні можливості гнучко змінювати параметри криптографічної обробки та динамічно керувати процесом перемішування інформаційних даних. Спосіб криптографічного перетворення інформації реалізується тим, що інформаційну послідовність подають у вигляді 256 бітних блоків, які підлягають ітеративній обробці примітивними криптографічними перетвореннями: перемішування (permutation) - за допомогою блоків перемішування кубиків (блоків Permut3D); підстановка (substitution) - за допомогою блоків підстановок (S-блоків); функціональні операції циклічного зсуву і додавання за модулем 2 (ShiftRow) - за допомогою відповідних пристроїв. Як S-блок виступає змінна матриця підстановок, яку будують отриманням мультиплікативно зворотного елемента x 1 над 8 розширеним кінцевим полем Галуа GF(2 ) та шляхом виконання афінного перетворення (1) над примітивним двійковим полем Галуa GF(2), при цьому як симетричну матрицю M афінного перетворення використовують змінні обернені симетричні матриці, які вибирають відповідно до значення циклового ключа і що функціональні операції циклічного зсуву не фіксовані, а залежать від стану ключа. Цикловий ключ виробляють із ключа шифрування за допомогою алгоритму вироблення ключів. Довжина циклового ключа дорівнює довжині блока. Циклові ключі генеруються із ключа шифрування за допомогою розширення ключа. Розширений ключ являє собою лінійний масив 4-х байтових слів. Тобто на кожній ітерації криптографічного перетворення використовується відповідна симетрична матриця M , яка за допомогою циклового 4 байтового ключа може вибиратися із великої множини обернених матриць. Це надає змогу у процесі криптографічного перетворення гнучко змінювати матрицю підстановки та, відповідно, динамічно керувати процесом перемішування інформаційних даних. Так, наприклад, при виборі симетричної матриці 1 0 1 0 1 0 1 1 1 1 0 1 0 1 0 1 1 1 1 0 1 0 1 0 0 M 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 0 1 1 1 1 0 1 1 0 1 0 1 1 0 1 0 0 1 0 1 0 1 1 1 30 відповідна матриця підстановки має вигляд таблиці 3. Таблиця 3 a2 0 1 2 3 4 5 6 7 a1 8 9 А В С D Е F 0 00 17 8В 0D С5 24 86 А7 52 42 А2 Е7 43 5Е 63 Е3 1 57 69 76 DF А8 47 Е9 90 03 2В AD 94 50 А4 В0 13 2 1В 55 В4 70 3В 0А 5F 7А 54 31 A3 6В F4 08 F8 25 3 12 96 В6 D8 9В 6А F2 А1 АВ 8F 87 8А В8 С6 D7 С2 4 3D 33 АА 18 5А 32 38 75 2D В1 В5 22 1F 74 8D 85 5 0Е А9 65 72 С8 В7 В2 3Е В3 BF 8Е 40 56 48 49 26 6 09 3F FB СС ЕВ 0F 6С 20 7D F6 35 F0 С9 3А 60 F9 7 5С BE 93 7В D2 2A 2С 78 53 Е4 6F 1D 1E 80 F1 4C 3 8 2E 1A 29 4F E5 CF ВС C7 9D FE 19 4B AC 83 BA BB 9 CB 81 14 95 62 D6 71 4A 97 28 C4 E2 4E E8 9C 39 A 07 51 64 EA 02 44 89 0B D4 C0 DB B9 59 23 AF FA В 7E 99 7F 21 8C E1 15 F3 E6 11 C1 2F 5D 01 6D 41 С 34 FF 9F ЕЕ FD F7 66 16 45 0С 37 84 36 6E 10 СЕ D C3 D5 88 77 E0 73 27 F5 AE EC 30 D3 06 5B А0 61 E 9E DD EF 4D 79 68 BD FC D9 46 A5 58 A6 DE 3C 82 F DA 9A D0 98 ED D1 DC 05 1С CA 91 04 67 7C CD 92 UA 99696 U 5 10 15 20 25 Головний показник ефективності блоків підстановок - показник нелінійності криптографічного перетворення є інваріантним до лінійного перетворення. Множення на обернену матрицю M є лінійне перетворення. Отже показник нелінійності перетворення, що виконується за допомогою таблиці 1 дорівнює показникам нелінійності відповідних перетворень, що виконуються за допомогою таблиці 2 та іншими відповідними таблицями (при іншому виборі матриці M ). Одтак запропоноване технічне рішення дозволяє виконувати криптографічне перетворення даних гнучко змінюючи таблиці перестановки із фіксованим показником нелінійності та динамічно керувати ітеративною обробкою інформаційних даних. В залежності від стану раундового ключа вибирається параметр зсуву, шляхом складання за модулем 2 всіх байтів ключа, встановлення 1 в молодший розряд результату складання (для утворення непарного значення) і позбавлення від старшого розряду результату складання (залишається 7 з 8 значущих біт). Остаточне значення визначає величину зсуву у поточному раунді. Таким чином, за рахунок використання змінних обернених симетричних матриць і змінної (залежного від раундового ключа) функції зсуву вдається на кожній ітерації криптографічного перетворення інформації застосовувати як S-блок динамічно змінювані матриці підстановки і різні величини зсуву, що дає змогу гнучко змінювати параметри криптографічної обробки та динамічно керувати процесом перемішування інформаційних даних у тривимірному просторі. Джерела інформації: 1. 'FIPS PUB 46-3" FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION. DATA ENCRYPTION STANDARD (DES) 1999 Oktober 25, pages 26. http://www.everyspec.com/NIST/NIST-FIPS/download.php?spec=FIPS_PUB_46-3.030171.pdf 2. "Federal Information Processing Standards Publication 197" Specification for the ADVANCED ENCRYPTION STANDARD (AES), 2001 November 26, pages 51. http://www.everyspec.com/NIST/NIST-FIPS/download.php?spec=FIPS-PUB-197AES.003222.PDF ФОРМУЛА КОРИСНОЇ МОДЕЛІ 30 35 40 Спосіб криптографічного перетворення інформації, який полягає в тому, що інформаційну послідовність подають у вигляді бітних блоків, які підлягають ітеративній обробці примітивними криптографічними перетвореннями: перемішування (permutation) - за допомогою блоків перемішування кубиків (блоків Permut3D); підстановка (substitution) - за допомогою блоків підстановок (S-блоків); функціональні операції циклічного зсуву і додавання за модулем 2 (ShiftRow) - за допомогою відповідних пристроїв, який відрізняється тим, що бітні блоки інформаційної послідовності подають у вигляді тривимірних матриць (кубиків) і, що як S-блок формують змінну тривимірну матрицю підстановок, що будується отриманням 8 1 мультиплікативно зворотного елемента x над розширеним кінцевим полем Галуа GF(2 ) та шляхом виконання афінного перетворення y M x1 над примітивним двійковим полем Галуа GF(2), при цьому як матрицю M афінного перетворення використовують змінні обернені симетричні матриці, які вибирають відповідно до значення циклового ключа, і що функціональні операції циклічного зсуву не фіксовані, а залежать від стану ключа. Комп’ютерна верстка Д. Шеверун Державна служба інтелектуальної власності України, вул. Василя Липківського, 45, м. Київ, МСП, 03680, Україна ДП “Український інститут інтелектуальної власності”, вул. Глазунова, 1, м. Київ – 42, 01601 4
ДивитисяДодаткова інформація
Автори англійськоюBiletskyi Anatolii Yakovych
Автори російськоюБилецкий Анатолий Яковлевич
МПК / Мітки
МПК: G09C 1/00
Мітки: інформації, перетворення, криптографічного, спосіб
Код посилання
<a href="https://ua.patents.su/6-99696-sposib-kriptografichnogo-peretvorennya-informaci.html" target="_blank" rel="follow" title="База патентів України">Спосіб криптографічного перетворення інформації</a>
Попередній патент: Магнітоелектричний генератор
Наступний патент: Спосіб визначення координат зародження об’ємних сейсмічних хвиль навкруги вогнища гірського удару
Випадковий патент: Валок валкових машин