Спосіб криптографічного перетворення інформації
Номер патенту: 99698
Опубліковано: 25.06.2015
Автори: Навроцький Денис Олександрович, Білецький Анатолій Якович
Формула / Реферат
Спосіб криптографічного перетворення інформації, який полягає в тому, що інформаційну послідовність подають у вигляді бітних блоків, які підлягають ітеративній обробці примітивними криптографічними перетвореннями: перемішування (permutation) - за допомогою блоків перемішування кубиків (блоків Permut3D); підстановка (substitution) - за допомогою блоків підстановок (S-блоків); "ковзаючого кодування" (SlideCode) - за допомогою відповідних пристроїв, який відрізняється тим, що бітні блоки інформаційної послідовності подають у вигляді тривимірних матриць (кубиків) і що як S-блок формують змінну тривимірну матрицю підстановок, що будується отриманням мультиплікативно зворотного елемента над розширеним кінцевим полем Галуа GF(28) та шляхом виконання афінного перетворення
над примітивним двійковим полем Галуа GF(2), при цьому як матрицю
афінного перетворення використовують змінні обернені симетричні матриці, які вибирають відповідно до значення циклового ключа, і що використовують "ковзаюче кодування".
Текст
Реферат: UA 99698 U UA 99698 U 5 10 15 20 25 Запропонована корисна модель належить до галузі криптографічного захисту інформації і може бути використаний в засобах шифрування у системах обробки інформації для розширення їх можливостей. Відомий спосіб криптографічного перетворення [1], який ґрунтується на тому, що інформаційна послідовність подається у вигляді 64 бітних блоків, які підлягають ітеративній обробці примітивними криптографічними перетвореннями: перестановка (permutation) - за допомогою блоків перестановок (Р-блоків); підстановка (substitution) - за допомогою блоків підстановок (S-блоків); "ковзаючого кодування" (SlideCode) - за допомогою відповідних пристроїв. Ітеративна обробка полягає у багатократному виконанні однакових груп перетворень, що забезпечують необхідні умови стійкості криптографічного перетворення: розсіювання (за допомогою Р-блоків) та перемішування (за допомогою S-блоків) інформаційних даних. Недоліками цього способу є те, що для криптографічного перетворення інформації у як Sблок виступає фіксована матриця підстановок, що не дає змогу гнучко змінювати параметри криптографічної обробки та динамічно керувати процесом перемішування інформаційних даних, а також те, що використовується "ковзаюче кодування". Найбільш близьким, до запропонованого технічним рішенням, вибраним як прототип, є удосконалений спосіб криптографічного перетворення [2], який ґрунтується на тому, що інформаційна послідовність подається у вигляді 128 бітних блоків, які підлягають ітеративній обробці примітивними криптографічними перетвореннями: мікшування (mix) - за допомогою блоків мікшування стовпців (блоків MixColumn); підстановка (substitution) - за допомогою блоків підстановок (S-блоків); функціональні операції циклічного зсуву і додавання за модулем 2 (ShiftRow) - за допомогою відповідних пристроїв. Ітеративна обробка полягає у багатократному виконанні однакових груп перетворень, що забезпечують необхідні умови стійкості криптографічного перетворення: розсіювання (за допомогою блоків MixColumn) та перемішування (за допомогою S-блоків) інформаційних даних. Підстановка x x0, x1, , x7 y y0, y1, , y7 являє собою нелінійну заміну байт, яка виконується незалежно для кожного вхідного байта x x0, x1, , x7 . Матриці підстановки, за допомогою яких будуються S-блоки є інвертованими 30 35 матрицями, що утворюються із використанням композиції двох перетворень: 1. Отримання мультиплікативно зворотного елемента x 1 над розширеним кінцевим полем 8 Галуa GF(2 ), яке будується за кільцем многочленів з операціями по модулю незвідного многочлену gx x8 x 4 x3 x 1 . При цьому приймається, що якщо 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 40 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 . Матриця підстановки, що утворена із використанням композиції двох вказаних перетворень, має вигляд таблиці 1, де вхідний байт x x0, x1, , x7 представлено у вигляді двох напівбайтів 45 x a1, a2 , а власні значення осередків таблиці відповідають y y0, y1, , y7 , так само представленого у вигляді напівбайтів y b1, b2 . 1 елементам вихідного байта UA 99698 U Таблиця 1 a2 a1 5 10 15 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 "Ковзаюче кодування" (SlideCode). В SlideCode використовується пряме і зворотне перетворення Грея для правостороннього і лівостороннього напрямку криптографічного перетворення. Коди Грея легко отримуються з двійкових чисел шляхом використання побітової операції "Виключне АБО" з тим же числом, зсунутим вправо на один біт. Відповідно, і-й біт коду Грея Gi можна виразити через біти двійкового коду Bi наступним чином, для правостороннього перетворення Gi Bi Bi1 , для лівостороннього перетворення Gi Bi Bi1 , де - операція "Виключне АБО", біти нумеруються справа наліво, починаючи з молодшого. Зворотне перетворення Грея в двійковому вигляді - можна виразити рекурсивною формулою, для правостороннього перетворення Bi Bi1 Gi , для лівостороннього перетворення Bi Bi1 Gi при цьому перетворення відбувається побітно, починаючи зі старших розрядів, і значення Bi1 або Bi1 , використане в формулі, розраховується на попередньому кроці. Дійсно, якщо 20 підставити в цю формулу вищенаведений вираз для і-го біта коду Грея, отримуємо Bi Bi1 Gi Bi1 Bi Bi1 Bi Bi1 Bi1 Bi 0 Bi, Bi Bi1 Gi Bi1 Bi Bi1 Bi Bi1 Bi1 Bi 0 Bi. 25 30 35 В залежності від раунду шифрування використовується правостороннє чи лівостороннє перетворення. Недоліками способу-прототипу є те, що для криптографічного перетворення інформації як S-блок виступає фіксована матриця підстановок, що не дає змогу гнучко змінювати параметри криптографічної обробки та динамічно керувати процесом перемішування інформаційних даних, і те що відсутнє криптографічне перетворення "ковзаюче кодування". В основу корисної моделі поставлена задача створити спосіб криптографічного перетворення інформації, який, за рахунок використання як S-блоку динамічно змінюваних матриць підстановки, дасть змогу гнучко змінювати параметри криптографічної обробки та динамічно керувати процесом перемішування інформаційних даних у тривимірному просторі, і те, що параметри зсуву динамічно змінюються в залежності від стану ключа. Поставлена задача вирішується за рахунок того, що спосіб криптографічного перетворення інформації, який полягає в тому, що інформаційну послідовність подають у вигляді бітних блоків, які підлягають ітеративній обробці примітивними криптографічними перетвореннями: перемішування (permutation) - за допомогою блоків перемішування кубиків (блоків Permut3D); 2 UA 99698 U 5 10 15 20 25 30 підстановка (substitution) - за допомогою блоків підстановок (S-блоків); функціональні операції циклічного зсуву і додавання за модулем 2 (ShiftRow) - за допомогою відповідних пристроїв, у якому згідно з корисної моделлю, бітні блоки інформаційної послідовності подають у вигляді тривимірних матриць (кубиків) і що як S-блок формують змінну тривимірну матрицю підстановок, що будується отриманням мультиплікативно зворотного елемента x 1 над 8 розширеним кінцевим полем Галуа GF(2 ) та шляхом виконання афінного перетворення y M x1 над примітивним двійковим полем Галуа GF(2), при цьому як матрицю M афінного перетворення використовують змінні обернені симетричні матриці, які обирають відповідно до значення циклового ключа, і що застосоване криптографічне перетворення "ковзаюче кодування". Технічний результат, який може бути отриманий при здійсненні корисної моделі, полягає в отриманні можливості гнучко змінювати параметри криптографічної обробки та динамічно керувати процесом перемішування інформаційних даних. Спосіб криптографічного перетворення інформації реалізується тим, що інформаційну послідовність подають у вигляді 256 бітних блоків, які підлягають ітеративній обробці примітивними криптографічними перетвореннями: перемішування (permutation) - за допомогою блоків перемішування кубиків (блоків Permut3D); підстановка (substitution) - за допомогою блоків підстановок (S-блоків); "ковзаючого кодування" (SlideCode) - за допомогою відповідних пристроїв. Як S-блок виступає змінна матриця підстановок, яку будують отриманням 8 мультиплікативно зворотного елемента x 1 над розширеним кінцевим полем Галуа GF(2 ) та шляхом виконання афінного перетворення (1) над примітивним двійковим полем Галуа 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 35 відповідна матриця підстановки має вигляд таблиці 2. 3 UA 99698 U Таблиця 2 a2 0 0 00 1 17 2 8В 3 0D 4 С5 5 24 6 86 7 А7 a1 8 52 9 42 А А2 В Е7 С 43 D 5Е Е 63 F Е3 5 10 15 20 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 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 Головний показник ефективності блоків підстановок - показник нелінійності криптографічного перетворення є інваріантним до лінійного перетворення. Множення на обернену матрицю M є лінійне перетворення. Отже показник нелінійності перетворення, що виконується за допомогою таблиці 1, дорівнює показникам нелінійності відповідних перетворень, що виконуються за допомогою таблиці 2 та іншими відповідними таблицями (при іншому виборі матриці M ). Одтак запропоноване технічне рішення дозволяє виконувати криптографічне перетворення даних гнучко змінюючи таблиці перестановки із фіксованим показником нелінійності та динамічно керувати ітеративною обробкою інформаційних даних. В залежності від стану раундового ключа вибирають правосторонній чи лівосторонній напрямок у "ковзаючому кодуванні". Таким чином, за рахунок використання змінних обернених симетричних матриць і "ковзаючого кодування" вдається на кожній ітерації криптографічного перетворення інформації застосовувати як S-блок динамічно змінювані матриці підстановки і різні напрямки "ковзаючого кодування", що дає змогу гнучко змінювати параметри криптографічної обробки та динамічно керувати процесом переміщення інформаційних даних у тривимірному просторі. Джерела інформації: 1. "FIPS PUB 46-3" FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION. DATA ENCRYPTION STANDARD (DES) 1999 Oktober 25, pages 26. http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf 2. "Federal Information Processing Standards Publication 197" Specification for the ADVANCED ENCRYPTION STANDARD (AES), 2001 November 26, pages 51. http://csrc.nist.gov/publications/fips/fips197/ fips-197.pdf 25 ФОРМУЛА КОРИСНОЇ МОДЕЛІ 30 35 Спосіб криптографічного перетворення інформації, який полягає в тому, що інформаційну послідовність подають у вигляді бітних блоків, які підлягають ітеративній обробці примітивними криптографічними перетвореннями: перемішування (permutation) - за допомогою блоків перемішування кубиків (блоків Permut3D); підстановка (substitution) - за допомогою блоків підстановок (S-блоків); "ковзаючого кодування" (SlideCode) - за допомогою відповідних пристроїв, який відрізняється тим, що бітні блоки інформаційної послідовності подають у вигляді тривимірних матриць (кубиків) і що як S-блок формують змінну тривимірну матрицю підстановок, що будується отриманням мультиплікативно зворотного елемента x 1 над 8 розширеним кінцевим полем Галуа GF(2 ) та шляхом виконання афінного перетворення y M x1 над примітивним двійковим полем Галуа GF(2), при цьому як матрицю M афінного перетворення використовують змінні обернені симетричні матриці, які вибирають відповідно до значення циклового ключа, і що використовують "ковзаюче кодування". 4 UA 99698 U Комп’ютерна верстка Д. Шеверун Державна служба інтелектуальної власності України, вул. Василя Липківського, 45, м. Київ, МСП, 03680, Україна ДП “Український інститут інтелектуальної власності”, вул. Глазунова, 1, м. Київ – 42, 01601 5
ДивитисяДодаткова інформація
Автори англійськоюBiletskyi Anatolii Yakovych
Автори російськоюБилецкий Анатолий Яковлевич
МПК / Мітки
МПК: G09C 1/00
Мітки: спосіб, інформації, криптографічного, перетворення
Код посилання
<a href="https://ua.patents.su/7-99698-sposib-kriptografichnogo-peretvorennya-informaci.html" target="_blank" rel="follow" title="База патентів України">Спосіб криптографічного перетворення інформації</a>
Попередній патент: Спосіб визначення координат зародження об’ємних сейсмічних хвиль навкруги вогнища гірського удару
Наступний патент: Сонячний колектор з фокусуючими управляючими дзеркалами
Випадковий патент: Спосіб конденсації пари в герметичному об`ємі реакторного відділення