Ця стаття потребує додаткових для поліпшення її . (листопад 2017) |
IDEA (англ. International Data Encryption Algorithm, міжнародний алгоритм шифрування даних) — симетричний блоковий алгоритм шифрування даних, запатентований швейцарською фірмою . Відомий тим, що застосовувався в пакеті програм шифрування PGP. У листопаді 2000 року IDEA був представлений як кандидат у проекті в рамках програми Європейської комісії IST (англ. Information Societes Technology, інформаційні громадські технології).
Розробники | Швейцарська фірма |
---|---|
Уперше оприлюднений | 1991 р. |
Раундів | 8,5 |
Тип | модифікована мережа Фейстеля |
Історія
Першу версію алгоритму розробили в 1990році Лай Сюецзя (Xuejia Lai) і Джеймс Мессі (James Massey) зі Швейцарського інституту ETH Zürich (за контрактом з , яка пізніше влилася в Ascom-Tech AG) як заміна DES (англ. Data Encryption Standard, стандарт шифрування даних) і назвали її PES (англ. Proposed Encryption Standard, запропонований стандарт шифрування). Потім, після публікації робіт Біхамом і Шаміра по диференціальному криптоанализу PES, алгоритм був поліпшений з метою посилення криптостійкості і названий IPES (англ. Improved Proposed Encryption Standard, покращений запропонований стандарт шифрування). Через рік його перейменували в IDEA (англ. International Data Encryption Algorythm).
Опис
Так як IDEA використовує 128-бітний ключ і 64-бітний розмір блоку, відкритий текст розбивається на блоки по 64 біт. Якщо таке розбиття неможливо, останній блок доповнюється різними способами певною послідовністю біт. Для уникнення витоку інформації про кожному окремому блоці використовуються різні режими шифрування. Кожен вихідний незашифрований 64 — біт ний блок ділиться на чотири підблока по 16 біт кожен, так як всі алгебраїчні операції, що використовуються в процесі шифрування, відбуваються над 16-бітними числами. Для шифрування і розшифрування IDEA використовує один і той же алгоритм.
⊞ | Додавання по модулю 216 |
⊙ | Множення по модулю 216+1 |
⊕ | Побітова виключна диз'юнкція |
Фундаментальним нововведенням в алгоритмі є використання операцій з різних алгебраїчних груп, а саме:
- Додавання по модулю
- Множення по модулю
- Побітова виключна диз'юнкція (XOR).
Ці три операції несумісні в тому сенсі, що ніякі дві з них не задовольняють дистрибутивному закону, тобто Застосування цих трьох операцій ускладнює криптоаналіз IDEA в порівнянні з DES, який базується виключно на операції виключає АБО, а також дозволяє відмовитися від використання S-блоків і таблиць заміни. IDEA є модифікацією мережі Фейстеля.
Генерація ключів
З 128-бітного ключа для кожного з восьми раундів шифрування генерується по шість 16-бітних подключів, а для вихідного перетворення генерується чотири 16-бітних підключа. Всього буде потрібно 52 = 8 x 6 + 4 різних подключів по 16 біт кожен. Процес генерації п'ятдесяти двох 16-бітних ключів полягає в наступному:
- Насамперед, 128-бітний ключ розбивається на вісім 16-бітних блоків. Це будуть перші вісім подключів по 16 біт кожен —
- Потім цей 128-бітний ключ циклічно зсувається вліво на 25 позицій, після чого новий 128-бітний блок знову розбивається на вісім 16-бітних блоків. Це вже наступні вісім подключів по 16 біт кожен —
- Процедура циклічного зсуву і розбивки на блоки триває до тих пір, поки не будуть згенеровані всі 52 16-бітних підключа.
Номер раунду | Підключі |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
Вихідне перетворення |
Структура алгоритму IDEA показана на малюнку. Процес шифрування складається з восьми однакових раундів шифрування і одного вихідного перетворення. Вихідний незашифрований текст ділиться на блоки по 64 біта. Кожен такий блок ділиться на чотири підблока по 16 біт кожен. На малюнку ці підблоки позначені , , , . У кожному раунді використовуються свої підключі згідно з таблицею підключів. Над 16-бітними підключами і підблока незашифрованого тексту проводяться наступні операції:
- Множення по модулю = 65537, причому замість нуля використовується
- Додавання по модулю
- Побітове виключне АБО
В кінці кожного раунду шифрування є чотири 16-бітних підблоки, які потім використовуються як вхідні підблоки для наступного раунду шифрування. Вихідна перетворення являє собою скорочений раунд, а саме, чотири 16-бітних підблоки на виході восьмого раунду і чотири відповідних підключа піддаються операціям:
- Множення по модулю
- Додавання по модулю
Після виконання вихідного перетворення конкатенація підблоків , , і являє собою зашифрований текст. Потім береться наступний 64-бітний блок незашифрованого тексту і алгоритм шифрування повторюється. Так продовжується до тих пір, поки не зашифрують всі 64-бітові блоки вихідного тексту.
Математичний опис
- Блок відкритого тексту розміром 64 біт ділиться на чотири рівні подблока розміром по 16 біт
- Для кожного раунду обчислюються:
Результатом виконання восьми раундів будуть наступні чотири подблока
- Виконується вихідне перетворення :
Результатом виконання вихідного перетворення є зашифрований текст
Розшифрування
Метод обчислення, що використовується для розшифровки тексту по суті такий же, як і при його шифруванні. Єдина відмінність полягає в тому, що для розшифровки використовуються інші підключі. У процесі розшифровки підключі повинні використовуватися у зворотному порядку. Перший і четвертий підключі i-го раунду розшифровки виходять з першого і четвертого підключа (10-i)-го раунду шифрування мультиплікативною інверсією. Для 1-го та 9-го раундів другий і третій підключи розшифровки виходять з другого і третього подключів 9-го і 1-го раундів шифрування аддитивною інверсією. Для раундів з 2-го по 8-й другий і третій підключі розшифровки виходять з третього і другого подключів з 8-го по 2-й раундів шифрування аддитивною інверсією. Останні два підключа i-го раунду розшифровки рівні останніх двох підключів (9-i)-го раунду шифрування. Мультиплікативна інверсія підключа K позначається 1 / K і . Так як — просте число, кожне ціле не дорівнює нулю K має унікальну мультипликативну інверсію по модулю . Адитивна інверсія підключа K позначається-K і .
Номер раунду | Підключі |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
Вихідне перетворення |
Приклад
Для зручності числа представляємо в шістнадцятковому вигляді.
Приклад шифрування
Як 128-бітний ключ використовуємо K = (0001,0002,0003,0004,0005,0006,0007,0008), а як 64-бітний відкритий текст M = (0000,0001, 0002,0003)
Раунд | Раундові ключі | Значення блоків даних | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
— | — | — | — | — | — | - | 0000 | 0001 | 0002 | 0003 |
1 | 0001 | 0002 | 0003 | 0004 | 0005 | 0006 | 00f0 | 00f5 | 010a | 0105 |
2 | 0007 | 0008 | 0400 | 0600 | 0800 | 0a00 | 222f | 21b5 | f45e | e959 |
3 | 0c00 | 0e00 | 1000 | 0200 | 0010 | 0014 | 0f86 | 39be | 8ee8 | 1173 |
4 | 0018 | 001c | 0020 | 0004 | 0008 | 000c | 57df | ac58 | c65b | ba4d |
5 | 2800 | 3000 | 3800 | 4000 | 0800 | 1000 | 8e81 | ba9c | f77f | 3a4a |
6 | 1800 | 2000 | 0070 | 0080 | 0010 | 0020 | 6942 | 9409 | e21b | 1c64 |
7 | 0030 | 0040 | 0050 | 0060 | 0000 | 2000 | 99d0 | c7f6 | 5331 | 620e |
8 | 4000 | 6000 | 8000 | a000 | c000 | e001 | 0a24 | 0098 | ec6b | 4925 |
9 | 0080 | 00c0 | 0100 | 0140 | - | - | 11fb | ed2b | 0198 | 6de5 |
Приклад розшифровки
Як 128-бітного ключа використовуємо K = (0001,0002,0003,0004,0005,0006,0007,0008), а як 64-бітного зашифрованого тексту C = (11fb, ed2b, 0198,6 de5)
Раунд | Раундові ключі | Значення блоків даних | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
1 | fe01 | ff40 | ff00 | 659a | c000 | e001 | d98d | d331 | 27f6 | 82b8 |
2 | fffd | 8000 | a000 | cccc | 0000 | 2000 | bc4d | e26b | 9449 | a576 |
3 | a556 | ffb0 | ffc0 | 52ab | 0010 | 0020 | 0aa4 | f7ef | da9c | 24e3 |
4 | 554b | ff90 | e000 | fe01 | 0800 | 1000 | ca46 | fe5b | dc58 | 116d |
5 | 332d | c800 | d000 | fffd | 0008 | 000c | 748f | 8f08 | 39da | 45cc |
6 | 4aab | ffe0 | ffe4 | c001 | 0010 | 0014 | 3266 | 045e | 2fb5 | b02e |
7 | aa96 | f000 | f200 | ff81 | 0800 | 0a00 | 0690 | 050a | 00fd | 1dfa |
8 | 4925 | fc00 | fff8 | 552b | 0005 | 0006 | 0000 | 0005 | 0003 | 000c |
9 | 0001 | fffe | fffd | c001 | - | - | 0000 | 0001 | 0002 | 0003 |
Апаратна реалізація
Апаратна реалізація має такі переваги:
- Істотне підвищення швидкості шифрування за рахунок використання паралелізму при виконанні операцій
- Менше енергоспоживання
Перша реалізація алгоритму IDEA на інтегральній схемі (англ. Very Large Scale Integration) була розроблена і верифікована Лаем, Мессі і Мерфі в 1992 рік у з використанням технологічного процесу 1,5 мкм і технології КМОН Швидкість шифрування даного пристрою становила 44 Мб / сек.
В 1994 рік у Карігером, Бонненбергом, Зіммерманом та ін було розроблено пристрій VINCI. Швидкість шифрування даної реалізації IDEA становила 177 Мб / сек при тактовій частоті 25 МГц, техпроцес 1,2 мкм. Це було перше напівпровідниковий пристрій, який вже могло застосовуватися для шифрування в реальному часі в таких високошвидкісних мережних протоколах, як ATM (англ. Asynchronous Transfer Mode, асинхронний режим передавання) або FDDI (англ. Fiber Distributed Data Interface, розподілений волоконний інтерфейс даних). Швидкість 177 Мб / сек була досягнута завдяки використанню досить витонченої схеми конвеєрної обробки і чотирьох звичайних помножувачів по модулю . У пристрої також використовуються два односпрямованих високошвидкісних 16-бітних порту даних. Ці порти забезпечують постійну завантаженість блоків шифрування.
Криптостійкість
Алгоритм IDEA з'явився в результаті незначних модифікацій алгоритму PES. На малюнку наведено структури обох алгоритмів, і видно, що змін не так вже й багато:
- Множення підблока з другим підключимо раунду замінено складанням
- Складання підблока з четвертим підключимо раунду замінено на множення
- Змінений зрушення[] підблоків в кінці раунду
Один з найбільш відомих у світі криптологів Брюс Шнаєр у своїй книзі «Прикладна криптографія» зауважив: «… дивно, як такі незначні зміни можуть привести до настільки великим відмінностей».
У тій же книзі, що вийшла в 1996 року, Брюс Шнаєр відгукнувся про IDEA так: «Мені здається, це найкращий і надійний блоковий алгоритм, опублікований дотепер».
В алгоритмі IDEA використовує 64-бітові блоки. Довжина блоку повинна бути достатньою, щоб приховати статистичні характеристики вихідного повідомлення. Але зі збільшенням розміру блоку експоненціально зростає складність реалізації криптографічного алгоритму. В алгоритмі IDEA використовується 128-бітний ключ. Довжина ключа повинна бути досить великою, щоб запобігти можливості перебору ключа. Для розкриття 128-бітного ключа повним перебором ключів за умови, що відомий відкритий і відповідний йому зашифрований текст, потрібно (порядку ) шифрування . При такій довжині ключа IDEA вважається досить безпечним. Висока крипостійкість IDEA забезпечується також такими характеристиками:
- Заплутування — шифрування залежить від ключа складним і заплутаним чином
- Розсіювання — кожен біт незашифрованого тексту впливає на кожен біт зашифрованого тексту
Лай Сюецзя (Xuejia Lai) і Джеймс Мессі (James Massey) провели ретельний аналіз IDEA з метою з'ясування його до диференціальному криптоаналізу . Для цього ними було введено поняття марківського шифру і продемонстровано, що стійкість до диференціального криптоаналізу може бути промодельована і оцінена кількісно. Лінійних або алгебраїчних слабкостей у IDEA виявлено не було. Спроба взлому за допомогою криптоаналізу з пов'язаними ключами, проведена Біхамом (Biham), також не увінчалася успіхом.
Існують успішні атаки, що застосовуються до IDEA з меншим числом раундів (повний IDEA має 8.5 раундів). Успішною вважається атака, якщо взлом шифру з її допомогою вимагає меншої кількості операцій, ніж при повному переборі ключів. Метод розкриття Віллі Майера (Willi Meier) виявився ефективніше взлому повним перебором ключів тільки для IDEA з 2 раундами
Методом «зустріч посередині» був взломаний IDEA з 4,5 раундами. Для цього потрібне знання всіх блоків відкритих текстів і складність аналізу становить операцій. Найкраща атака на 2007 рік застосовна до всіх ключам і може зламати IDEA з 6-ма раундами.
Слабкі ключі
Існують великі класи . Слабкі вони в тому сенсі, що існують процедури, що дозволяють визначити, чи відноситься ключ до даного класу, а потім і сам ключ. В даний час відомі наступні:
- слабких до диференціальному криптоаналізу ключів. Приналежність до класу можна обчислити за операцій за допомогою підібраного відкритого тексту. Автори даної атаки запропонували модифікацію алгоритму IDEA. Дана модифікація полягає в заміні підключів на відповідні , де r — номер раунду шифрування. Точне значення a не критично. Наприклад при (в шістнадцятковій системі числення) дані слабкі ключі виключаються.
- слабких до лінійного диференціального криптоаналізу ключів. Приналежність до даного класу з'ясовується за допомогою тесту на пов'язаних ключах.
- слабких ключів було знайдено з використанням (англ. boomerang attack), запропонованого Девідом Вагнером ( David Wagner). Тест на приналежність до даного класу виконується за операцій і потребують елементів пам'яті.
Існування таких великих класів слабких ключів не впливає на практичну крипостійкість алгоритму IDEA, тому що повна множина всіх можливих ключів становить .
Примітки
- E. Biham, personal communication, 1993
Література
Посилання
- (англійською) . Архів оригіналу за 19 жовтня 2004. Процитовано 6 ноября 2008.
- SCAN entry for IDEA (англійською) . Архів оригіналу за 28 січня 2012. Процитовано 6 ноября 2008.
- IDEA Applet (німецькою) . Архів оригіналу за 1 лютого 2012. Процитовано 6 ноября 2008.
- Erläuterung und Schaubild zum Verfahren (німецькою) . Архів оригіналу за 28 січня 2012. Процитовано 6 ноября 2008.
Це незавершена стаття з криптографії. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno listopad 2017 U Vikipediyi ye statti pro inshi znachennya cogo termina IDEA IDEA angl International Data Encryption Algorithm mizhnarodnij algoritm shifruvannya danih simetrichnij blokovij algoritm shifruvannya danih zapatentovanij shvejcarskoyu firmoyu Vidomij tim sho zastosovuvavsya v paketi program shifruvannya PGP U listopadi 2000 roku IDEA buv predstavlenij yak kandidat u proekti v ramkah programi Yevropejskoyi komisiyi IST angl Information Societes Technology informacijni gromadski tehnologiyi IDEARozrobniki Shvejcarska firmaUpershe oprilyudnenij 1991 r Raundiv 8 5Tip modifikovana merezha FejstelyaIstoriyaPershu versiyu algoritmu rozrobili v 1990roci Laj Syueczya Xuejia Lai i Dzhejms Messi James Massey zi Shvejcarskogo institutu ETH Zurich za kontraktom z yaka piznishe vlilasya v Ascom Tech AG yak zamina DES angl Data Encryption Standard standart shifruvannya danih i nazvali yiyi PES angl Proposed Encryption Standard zaproponovanij standart shifruvannya Potim pislya publikaciyi robit Bihamom i Shamira po diferencialnomu kriptoanalizu PES algoritm buv polipshenij z metoyu posilennya kriptostijkosti i nazvanij IPES angl Improved Proposed Encryption Standard pokrashenij zaproponovanij standart shifruvannya Cherez rik jogo perejmenuvali v IDEA angl International Data Encryption Algorythm OpisTak yak IDEA vikoristovuye 128 bitnij klyuch i 64 bitnij rozmir bloku vidkritij tekst rozbivayetsya na bloki po 64 bit Yaksho take rozbittya nemozhlivo ostannij blok dopovnyuyetsya riznimi sposobami pevnoyu poslidovnistyu bit Dlya uniknennya vitoku informaciyi pro kozhnomu okremomu bloci vikoristovuyutsya rizni rezhimi shifruvannya Kozhen vihidnij nezashifrovanij 64 bit nij blok dilitsya na chotiri pidbloka po 16 bit kozhen tak yak vsi algebrayichni operaciyi sho vikoristovuyutsya v procesi shifruvannya vidbuvayutsya nad 16 bitnimi chislami Dlya shifruvannya i rozshifruvannya IDEA vikoristovuye odin i toj zhe algoritm Poznachennya operacij Dodavannya po modulyu 216 Mnozhennya po modulyu 216 1 Pobitova viklyuchna diz yunkciya Fundamentalnim novovvedennyam v algoritmi ye vikoristannya operacij z riznih algebrayichnih grup a same Dodavannya po modulyu 2 16 displaystyle 2 16 Mnozhennya po modulyu 2 16 1 displaystyle 2 16 1 Pobitova viklyuchna diz yunkciya XOR Ci tri operaciyi nesumisni v tomu sensi sho niyaki dvi z nih ne zadovolnyayut distributivnomu zakonu tobto a b c a b a c displaystyle a odot b oplus c neq a odot b oplus a odot c Zastosuvannya cih troh operacij uskladnyuye kriptoanaliz IDEA v porivnyanni z DES yakij bazuyetsya viklyuchno na operaciyi viklyuchaye ABO a takozh dozvolyaye vidmovitisya vid vikoristannya S blokiv i tablic zamini IDEA ye modifikaciyeyu merezhi Fejstelya Generaciya klyuchiv Z 128 bitnogo klyucha dlya kozhnogo z vosmi raundiv shifruvannya generuyetsya po shist 16 bitnih podklyuchiv a dlya vihidnogo peretvorennya generuyetsya chotiri 16 bitnih pidklyucha Vsogo bude potribno 52 8 x 6 4 riznih podklyuchiv po 16 bit kozhen Proces generaciyi p yatdesyati dvoh 16 bitnih klyuchiv polyagaye v nastupnomu Nasampered 128 bitnij klyuch rozbivayetsya na visim 16 bitnih blokiv Ce budut pershi visim podklyuchiv po 16 bit kozhen K 1 1 K 2 1 K 3 1 K 4 1 K 5 1 K 6 1 K 1 2 K 2 2 displaystyle K 1 1 K 2 1 K 3 1 K 4 1 K 5 1 K 6 1 K 1 2 K 2 2 Potim cej 128 bitnij klyuch ciklichno zsuvayetsya vlivo na 25 pozicij pislya chogo novij 128 bitnij blok znovu rozbivayetsya na visim 16 bitnih blokiv Ce vzhe nastupni visim podklyuchiv po 16 bit kozhen K 3 2 K 4 2 K 5 2 K 6 2 K 1 3 K 2 3 K 3 3 K 4 3 displaystyle K 3 2 K 4 2 K 5 2 K 6 2 K 1 3 K 2 3 K 3 3 K 4 3 Procedura ciklichnogo zsuvu i rozbivki na bloki trivaye do tih pir poki ne budut zgenerovani vsi 52 16 bitnih pidklyucha Tablicya pidklyuchiv dlya kozhnogo raundu Nomer raundu Pidklyuchi 1 K 1 1 K 2 1 K 3 1 K 4 1 K 5 1 K 6 1 displaystyle K 1 1 K 2 1 K 3 1 K 4 1 K 5 1 K 6 1 2 K 1 2 K 2 2 K 3 2 K 4 2 K 5 2 K 6 2 displaystyle K 1 2 K 2 2 K 3 2 K 4 2 K 5 2 K 6 2 3 K 1 3 K 2 3 K 3 3 K 4 3 K 5 3 K 6 3 displaystyle K 1 3 K 2 3 K 3 3 K 4 3 K 5 3 K 6 3 4 K 1 4 K 2 4 K 3 4 K 4 4 K 5 4 K 6 4 displaystyle K 1 4 K 2 4 K 3 4 K 4 4 K 5 4 K 6 4 5 K 1 5 K 2 5 K 3 5 K 4 5 K 5 5 K 6 5 displaystyle K 1 5 K 2 5 K 3 5 K 4 5 K 5 5 K 6 5 6 K 1 6 K 2 6 K 3 6 K 4 6 K 5 6 K 6 6 displaystyle K 1 6 K 2 6 K 3 6 K 4 6 K 5 6 K 6 6 7 K 1 7 K 2 7 K 3 7 K 4 7 K 5 7 K 6 7 displaystyle K 1 7 K 2 7 K 3 7 K 4 7 K 5 7 K 6 7 8 K 1 8 K 2 8 K 3 8 K 4 8 K 5 8 K 6 8 displaystyle K 1 8 K 2 8 K 3 8 K 4 8 K 5 8 K 6 8 Vihidne peretvorennya K 1 9 K 2 9 K 3 9 K 4 9 displaystyle K 1 9 K 2 9 K 3 9 K 4 9 Shifruvannya Struktura algoritmu IDEA pokazana na malyunku Proces shifruvannya skladayetsya z vosmi odnakovih raundiv shifruvannya i odnogo vihidnogo peretvorennya Vihidnij nezashifrovanij tekst dilitsya na bloki po 64 bita Kozhen takij blok dilitsya na chotiri pidbloka po 16 bit kozhen Na malyunku ci pidbloki poznacheni D 1 displaystyle D 1 D 2 displaystyle D 2 D 3 displaystyle D 3 D 4 displaystyle D 4 U kozhnomu raundi vikoristovuyutsya svoyi pidklyuchi zgidno z tabliceyu pidklyuchiv Nad 16 bitnimi pidklyuchami i pidbloka nezashifrovanogo tekstu provodyatsya nastupni operaciyi Mnozhennya po modulyu 2 16 1 displaystyle 2 16 1 65537 prichomu zamist nulya vikoristovuyetsya 2 16 displaystyle 2 16 Dodavannya po modulyu 2 16 displaystyle 2 16 Pobitove viklyuchne ABO V kinci kozhnogo raundu shifruvannya ye chotiri 16 bitnih pidbloki yaki potim vikoristovuyutsya yak vhidni pidbloki dlya nastupnogo raundu shifruvannya Vihidna peretvorennya yavlyaye soboyu skorochenij raund a same chotiri 16 bitnih pidbloki na vihodi vosmogo raundu i chotiri vidpovidnih pidklyucha piddayutsya operaciyam Mnozhennya po modulyu 2 16 1 displaystyle 2 16 1 Dodavannya po modulyu 2 16 displaystyle 2 16 Pislya vikonannya vihidnogo peretvorennya konkatenaciya pidblokiv D 1 displaystyle D 1 D 2 displaystyle D 2 D 3 displaystyle D 3 i D 4 displaystyle D 4 yavlyaye soboyu zashifrovanij tekst Potim beretsya nastupnij 64 bitnij blok nezashifrovanogo tekstu i algoritm shifruvannya povtoryuyetsya Tak prodovzhuyetsya do tih pir poki ne zashifruyut vsi 64 bitovi bloki vihidnogo tekstu Matematichnij opis Blok vidkritogo tekstu rozmirom 64 bit dilitsya na chotiri rivni podbloka rozmirom po 16 bit D 1 0 D 2 0 D 3 0 D 4 0 displaystyle D 1 0 D 2 0 D 3 0 D 4 0 Dlya kozhnogo raundu i 1 8 displaystyle i 1 8 obchislyuyutsya A i D 1 i 1 K 1 i displaystyle A i D 1 i 1 K 1 i B i D 2 i 1 K 2 i displaystyle B i D 2 i 1 K 2 i C i D 3 i 1 K 3 i displaystyle C i D 3 i 1 K 3 i D i D 4 i 1 K 4 i displaystyle D i D 4 i 1 K 4 i E i A i C i displaystyle E i A i oplus C i F i B i D i displaystyle F i B i oplus D i D 1 i A i F i E i K 5 i K 6 i displaystyle D 1 i A i oplus F i E i K 5 i K 6 i D 2 i C i F i E i K 5 i K 6 i displaystyle D 2 i C i oplus F i E i K 5 i K 6 i D 3 i B i E i K 5 i F i E i K 5 i K 6 i displaystyle D 3 i B i oplus E i K 5 i F i E i K 5 i K 6 i D 4 i D i E i K 5 i F i E i K 5 i K 6 i displaystyle D 4 i D i oplus E i K 5 i F i E i K 5 i K 6 i Rezultatom vikonannya vosmi raundiv budut nastupni chotiri podbloka D 1 8 D 2 8 D 3 8 D 4 8 displaystyle D 1 8 D 2 8 D 3 8 D 4 8 Vikonuyetsya vihidne peretvorennya i 9 displaystyle i 9 D 1 9 D 1 8 K 1 9 displaystyle D 1 9 D 1 8 K 1 9 D 2 9 D 3 8 K 2 9 displaystyle D 2 9 D 3 8 K 2 9 D 3 9 D 2 8 K 3 9 displaystyle D 3 9 D 2 8 K 3 9 D 4 9 D 4 8 K 4 9 displaystyle D 4 9 D 4 8 K 4 9 Rezultatom vikonannya vihidnogo peretvorennya ye zashifrovanij tekst D 1 9 D 2 9 D 3 9 D 4 9 displaystyle D 1 9 D 2 9 D 3 9 D 4 9 Rozshifruvannya Metod obchislennya sho vikoristovuyetsya dlya rozshifrovki tekstu po suti takij zhe yak i pri jogo shifruvanni Yedina vidminnist polyagaye v tomu sho dlya rozshifrovki vikoristovuyutsya inshi pidklyuchi U procesi rozshifrovki pidklyuchi povinni vikoristovuvatisya u zvorotnomu poryadku Pershij i chetvertij pidklyuchi i go raundu rozshifrovki vihodyat z pershogo i chetvertogo pidklyucha 10 i go raundu shifruvannya multiplikativnoyu inversiyeyu Dlya 1 go ta 9 go raundiv drugij i tretij pidklyuchi rozshifrovki vihodyat z drugogo i tretogo podklyuchiv 9 go i 1 go raundiv shifruvannya additivnoyu inversiyeyu Dlya raundiv z 2 go po 8 j drugij i tretij pidklyuchi rozshifrovki vihodyat z tretogo i drugogo podklyuchiv z 8 go po 2 j raundiv shifruvannya additivnoyu inversiyeyu Ostanni dva pidklyucha i go raundu rozshifrovki rivni ostannih dvoh pidklyuchiv 9 i go raundu shifruvannya Multiplikativna inversiya pidklyucha K poznachayetsya 1 K i 1 K K 1 mod 2 16 1 displaystyle 1 K K 1 mod 2 16 1 Tak yak 2 16 1 displaystyle 2 16 1 proste chislo kozhne cile ne dorivnyuye nulyu K maye unikalnu multiplikativnu inversiyu po modulyu 2 16 1 displaystyle 2 16 1 Aditivna inversiya pidklyucha K poznachayetsya K i K K 0 mod 2 16 displaystyle K K 0 mod 2 16 Tablicya pidklyuchiv dlya kozhnogo raundu Nomer raundu Pidklyuchi 1 1 K 1 9 K 2 9 K 3 9 1 K 4 9 K 5 8 K 6 8 displaystyle 1 K 1 9 K 2 9 K 3 9 1 K 4 9 K 5 8 K 6 8 2 1 K 1 8 K 3 8 K 2 8 1 K 4 8 K 5 7 K 6 7 displaystyle 1 K 1 8 K 3 8 K 2 8 1 K 4 8 K 5 7 K 6 7 3 1 K 1 7 K 3 7 K 2 7 1 K 4 7 K 5 6 K 6 6 displaystyle 1 K 1 7 K 3 7 K 2 7 1 K 4 7 K 5 6 K 6 6 4 1 K 1 6 K 3 6 K 2 6 1 K 4 6 K 5 5 K 6 5 displaystyle 1 K 1 6 K 3 6 K 2 6 1 K 4 6 K 5 5 K 6 5 5 1 K 1 5 K 3 5 K 2 5 1 K 4 5 K 5 4 K 6 4 displaystyle 1 K 1 5 K 3 5 K 2 5 1 K 4 5 K 5 4 K 6 4 6 1 K 1 4 K 3 4 K 2 4 1 K 4 4 K 5 3 K 6 3 displaystyle 1 K 1 4 K 3 4 K 2 4 1 K 4 4 K 5 3 K 6 3 7 1 K 1 3 K 3 3 K 2 3 1 K 4 3 K 5 2 K 6 2 displaystyle 1 K 1 3 K 3 3 K 2 3 1 K 4 3 K 5 2 K 6 2 8 1 K 1 2 K 3 2 K 2 2 1 K 4 2 K 5 1 K 6 1 displaystyle 1 K 1 2 K 3 2 K 2 2 1 K 4 2 K 5 1 K 6 1 Vihidne peretvorennya 1 K 1 1 K 2 1 K 3 1 1 K 4 1 displaystyle 1 K 1 1 K 2 1 K 3 1 1 K 4 1 PrikladDlya zruchnosti chisla predstavlyayemo v shistnadcyatkovomu viglyadi Priklad shifruvannya Yak 128 bitnij klyuch vikoristovuyemo K 0001 0002 0003 0004 0005 0006 0007 0008 a yak 64 bitnij vidkritij tekst M 0000 0001 0002 0003 Tablicya pidklyuchiv i pidblokiv dlya kozhnogo raundu Raund Raundovi klyuchi Znachennya blokiv danih K 1 i displaystyle K 1 i K 2 i displaystyle K 2 i K 3 i displaystyle K 3 i K 4 i displaystyle K 4 i K 5 i displaystyle K 5 i K 6 i displaystyle K 6 i D 1 i displaystyle D 1 i D 2 i displaystyle D 2 i D 3 i displaystyle D 3 i D 4 i displaystyle D 4 i 0000 0001 0002 0003 1 0001 0002 0003 0004 0005 0006 00f0 00f5 010a 0105 2 0007 0008 0400 0600 0800 0a00 222f 21b5 f45e e959 3 0c00 0e00 1000 0200 0010 0014 0f86 39be 8ee8 1173 4 0018 001c 0020 0004 0008 000c 57df ac58 c65b ba4d 5 2800 3000 3800 4000 0800 1000 8e81 ba9c f77f 3a4a 6 1800 2000 0070 0080 0010 0020 6942 9409 e21b 1c64 7 0030 0040 0050 0060 0000 2000 99d0 c7f6 5331 620e 8 4000 6000 8000 a000 c000 e001 0a24 0098 ec6b 4925 9 0080 00c0 0100 0140 11fb ed2b 0198 6de5 Priklad rozshifrovki Yak 128 bitnogo klyucha vikoristovuyemo K 0001 0002 0003 0004 0005 0006 0007 0008 a yak 64 bitnogo zashifrovanogo tekstu C 11fb ed2b 0198 6 de5 Tablicya pidklyuchiv ta pidblokiv dlya kozhnogo raundu Raund Raundovi klyuchi Znachennya blokiv danih K 1 i displaystyle K 1 i K 2 i displaystyle K 2 i K 3 i displaystyle K 3 i K 4 i displaystyle K 4 i K 5 i displaystyle K 5 i K 6 i displaystyle K 6 i D 1 i displaystyle D 1 i D 2 i displaystyle D 2 i D 3 i displaystyle D 3 i D 4 i displaystyle D 4 i 1 fe01 ff40 ff00 659a c000 e001 d98d d331 27f6 82b8 2 fffd 8000 a000 cccc 0000 2000 bc4d e26b 9449 a576 3 a556 ffb0 ffc0 52ab 0010 0020 0aa4 f7ef da9c 24e3 4 554b ff90 e000 fe01 0800 1000 ca46 fe5b dc58 116d 5 332d c800 d000 fffd 0008 000c 748f 8f08 39da 45cc 6 4aab ffe0 ffe4 c001 0010 0014 3266 045e 2fb5 b02e 7 aa96 f000 f200 ff81 0800 0a00 0690 050a 00fd 1dfa 8 4925 fc00 fff8 552b 0005 0006 0000 0005 0003 000c 9 0001 fffe fffd c001 0000 0001 0002 0003Aparatna realizaciyaAparatna realizaciya maye taki perevagi Istotne pidvishennya shvidkosti shifruvannya za rahunok vikoristannya paralelizmu pri vikonanni operacij Menshe energospozhivannya Persha realizaciya algoritmu IDEA na integralnij shemi angl Very Large Scale Integration bula rozroblena i verifikovana Laem Messi i Merfi v 1992 rik u z vikoristannyam tehnologichnogo procesu 1 5 mkm i tehnologiyi KMON Shvidkist shifruvannya danogo pristroyu stanovila 44 Mb sek V 1994 rik u Karigerom Bonnenbergom Zimmermanom ta in bulo rozrobleno pristrij VINCI Shvidkist shifruvannya danoyi realizaciyi IDEA stanovila 177 Mb sek pri taktovij chastoti 25 MGc tehproces 1 2 mkm Ce bulo pershe napivprovidnikovij pristrij yakij vzhe moglo zastosovuvatisya dlya shifruvannya v realnomu chasi v takih visokoshvidkisnih merezhnih protokolah yak ATM angl Asynchronous Transfer Mode asinhronnij rezhim peredavannya abo FDDI angl Fiber Distributed Data Interface rozpodilenij volokonnij interfejs danih Shvidkist 177 Mb sek bula dosyagnuta zavdyaki vikoristannyu dosit vitonchenoyi shemi konveyernoyi obrobki i chotiroh zvichajnih pomnozhuvachiv po modulyu 2 16 1 displaystyle 2 16 1 U pristroyi takozh vikoristovuyutsya dva odnospryamovanih visokoshvidkisnih 16 bitnih portu danih Ci porti zabezpechuyut postijnu zavantazhenist blokiv shifruvannya KriptostijkistAlgoritm IDEA z yavivsya v rezultati neznachnih modifikacij algoritmu PES Na malyunku navedeno strukturi oboh algoritmiv i vidno sho zmin ne tak vzhe j bagato Mnozhennya pidbloka D 2 displaystyle D 2 z drugim pidklyuchimo raundu zamineno skladannyam Skladannya pidbloka D 4 displaystyle D 4 z chetvertim pidklyuchimo raundu zamineno na mnozhennya Zminenij zrushennya sho pidblokiv v kinci raundu Odin z najbilsh vidomih u sviti kriptologiv Bryus Shnayer u svoyij knizi Prikladna kriptografiya zauvazhiv divno yak taki neznachni zmini mozhut privesti do nastilki velikim vidminnostej U tij zhe knizi sho vijshla v 1996 roku Bryus Shnayer vidguknuvsya pro IDEA tak Meni zdayetsya ce najkrashij i nadijnij blokovij algoritm opublikovanij doteper V algoritmi IDEA vikoristovuye 64 bitovi bloki Dovzhina bloku povinna buti dostatnoyu shob prihovati statistichni harakteristiki vihidnogo povidomlennya Ale zi zbilshennyam rozmiru bloku eksponencialno zrostaye skladnist realizaciyi kriptografichnogo algoritmu V algoritmi IDEA vikoristovuyetsya 128 bitnij klyuch Dovzhina klyucha povinna buti dosit velikoyu shob zapobigti mozhlivosti pereboru klyucha Dlya rozkrittya 128 bitnogo klyucha povnim pereborom klyuchiv za umovi sho vidomij vidkritij i vidpovidnij jomu zashifrovanij tekst potribno 2 128 displaystyle 2 128 poryadku 10 38 displaystyle 10 38 shifruvannya Pri takij dovzhini klyucha IDEA vvazhayetsya dosit bezpechnim Visoka kripostijkist IDEA zabezpechuyetsya takozh takimi harakteristikami Zaplutuvannya shifruvannya zalezhit vid klyucha skladnim i zaplutanim chinom Rozsiyuvannya kozhen bit nezashifrovanogo tekstu vplivaye na kozhen bit zashifrovanogo tekstu Laj Syueczya Xuejia Lai i Dzhejms Messi James Massey proveli retelnij analiz IDEA z metoyu z yasuvannya jogo do diferencialnomu kriptoanalizu Dlya cogo nimi bulo vvedeno ponyattya markivskogo shifru i prodemonstrovano sho stijkist do diferencialnogo kriptoanalizu mozhe buti promodelovana i ocinena kilkisno Linijnih abo algebrayichnih slabkostej u IDEA viyavleno ne bulo Sproba vzlomu za dopomogoyu kriptoanalizu z pov yazanimi klyuchami provedena Bihamom Biham takozh ne uvinchalasya uspihom Isnuyut uspishni ataki sho zastosovuyutsya do IDEA z menshim chislom raundiv povnij IDEA maye 8 5 raundiv Uspishnoyu vvazhayetsya ataka yaksho vzlom shifru z yiyi dopomogoyu vimagaye menshoyi kilkosti operacij nizh pri povnomu perebori klyuchiv Metod rozkrittya Villi Majera Willi Meier viyavivsya efektivnishe vzlomu povnim pereborom klyuchiv tilki dlya IDEA z 2 raundami Metodom zustrich poseredini buv vzlomanij IDEA z 4 5 raundami Dlya cogo potribne znannya vsih 2 64 displaystyle 2 64 blokiv vidkritih tekstiv i skladnist analizu stanovit 2 112 displaystyle 2 112 operacij Najkrasha ataka na 2007 rik zastosovna do vsih klyucham i mozhe zlamati IDEA z 6 ma raundami Slabki klyuchi Isnuyut veliki klasi Slabki voni v tomu sensi sho isnuyut proceduri sho dozvolyayut viznachiti chi vidnositsya klyuch do danogo klasu a potim i sam klyuch V danij chas vidomi nastupni 2 23 2 35 2 51 displaystyle 2 23 2 35 2 51 slabkih do diferencialnomu kriptoanalizu klyuchiv Prinalezhnist do klasu 2 51 displaystyle 2 51 mozhna obchisliti za 2 12 displaystyle 2 12 operacij za dopomogoyu pidibranogo vidkritogo tekstu Avtori danoyi ataki zaproponuvali modifikaciyu algoritmu IDEA Dana modifikaciya polyagaye v zamini pidklyuchiv K i r displaystyle K i r na vidpovidni K i r a K i r displaystyle K i r a oplus K i r der nomer raundu shifruvannya Tochne znachennyaa ne kritichno Napriklad pri a 0 d a e displaystyle a 0dae v shistnadcyatkovij sistemi chislennya dani slabki klyuchi viklyuchayutsya 2 63 displaystyle 2 63 slabkih do linijnogo diferencialnogo kriptoanalizu klyuchiv Prinalezhnist do danogo klasu z yasovuyetsya za dopomogoyu testu na pov yazanih klyuchah 2 53 2 56 2 64 displaystyle 2 53 2 56 2 64 slabkih klyuchiv bulo znajdeno z vikoristannyam angl boomerang attack zaproponovanogo Devidom Vagnerom David Wagner Test na prinalezhnist do danogo klasu vikonuyetsya za 2 16 displaystyle 2 16 operacij i potrebuyut 2 16 displaystyle 2 16 elementiv pam yati Isnuvannya takih velikih klasiv slabkih klyuchiv ne vplivaye na praktichnu kripostijkist algoritmu IDEA tomu sho povna mnozhina vsih mozhlivih klyuchiv stanovit 2 128 displaystyle 2 128 PrimitkiE Biham personal communication 1993LiteraturaGulom Numovych Tuychiev Algoritmi shifruvannya GOST 28147 89 IDEA8 4 i GOST 28147 89 RFWKIDEA8 4 Zahist informaciyi NAU 2017 T 19 ISSN 2410 7840 DOI 10 18372 2410 7840 19 11199 z dzherela 24 listopada 2017 Procitovano 14 listopada 2017 Posilannya anglijskoyu Arhiv originalu za 19 zhovtnya 2004 Procitovano 6 noyabrya 2008 SCAN entry for IDEA anglijskoyu Arhiv originalu za 28 sichnya 2012 Procitovano 6 noyabrya 2008 IDEA Applet nimeckoyu Arhiv originalu za 1 lyutogo 2012 Procitovano 6 noyabrya 2008 Erlauterung und Schaubild zum Verfahren nimeckoyu Arhiv originalu za 28 sichnya 2012 Procitovano 6 noyabrya 2008 Ce nezavershena stattya z kriptografiyi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi