В криптографії, MacGuffin — симетричний блочний шифр, побудований на основі мережі Фейстеля.
Розробники | Брюс Шнайєр, |
---|---|
Уперше оприлюднений | 14 грудня 1994 |
Деталі шифру | |
Розмір ключа | 128 біт |
Розмір блоку | 64 біт |
Раундів | 32 |
Тип | Мережа Фейстеля |
Алгоритм придуманий Брюсом Шнайєром і в 1994 році в рамках Fast Software EncryptionFast Software Encryption. І в тому ж році Вінсент Реймен і Барт Пренель показали його вразливість до диференціального криптоаналізу, також наявну в схожого шифру DES. Призначався для дослідження такої структури шифрів, як незбалансована мережа Фейстеля.
Введення
Традиційно, шифри, що використовують мережу Фейстеля, ділять вхідний блок на рівні частини — ліву (цільовий блок) і праву (керуючий блок). При кожному раунді блоки міняються місцями. MacGuffin базується на структурі, в якій цільовий блок меншої довжини, ніж керуючий. Шифр оперує вхідними блоками довжиною 64 біта, де цільова частина довжиною 16 біт, а керуюча 48. Використовується 128 бітний ключ. Однак, кількість раундів і розмір ключа можуть змінюватись.
Архітектура
Велика частина дизайну запозичена у DES. Вхідний не зашифрований текст розділений на 4 16 бітних слова. S-блоки запозичені у DES. Використовується 8, кожен повертає результат з 4-х біт, приймаючи 6 біт на вході. Але враховуються тільки 2 біта (сумарний результат повинен бути 16 біт). Вихід S-блоку не стає на позиції бітів, які використовуються для входу самого блоку, протягом наступних 4-х раундів. Шифр призначений для реалізації в устаткуванні або програмному забезпеченні. Перестановки вибрані так, щоб мінімізувати кількість операцій зсуву і маски.
Опис алгоритму
Ключовим елементом у структурі шифру є незбалансована мережа Фейстеля. Вхідні блоки поділені на чотири регістри, по два байти кожен. У новому раунді три останніх правих блока об'єднуються в контрольний блок і складаються по модулю 2 з раундовим ключем, створеним з основного за допомогою алгоритму ключового розкладу[en]. Отримані 48 біт розбиваються на 8 частин і стають вхідними параметрами шести S-блоків. У свою чергу, кожен S-блок перетворює 6 вхідних бітів в 2 вихідних. 16-бітовий результат S-блоків складається по модулю 2 з крайнім зліва вхідним блоком, і результат стає крайнім праворуч регістром вхідного блоку наступного раунду. Три крайні праворуч регістра поточного раунду зміщуються без змін на одну позицію вліво. Таким чином формується вхідний блок для наступного раунду.
S-блоки та перестановки
Нелінійність процесу шифрування і раундових ключів забезпечується переважно восьми S-блоками, S1…S8. На вхід вибираються біти з поданих 16-бітних регістрів a, b і c. Порядок вибору визначається за таблицею 1 (біт з позицією 0 найменш значущий):
S-блоки | вхідні біти | |||||
---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | |
S1 | a2 | a5 | b6 | b9 | c11 | c13 |
S2 | a1 | a4 | b7 | b10 | c8 | c14 |
S3 | a3 | a6 | b8 | b13 | c0 | c15 |
S4 | a12 | a14 | b1 | b2 | c4 | c10 |
S5 | a0 | a10 | b3 | b14 | c6 | c12 |
S6 | a7 | a8 | b12 | b15 | c1 | c5 |
S7 | a9 | a15 | b5 | b11 | c2 | c7 |
S8 | a11 | a13 | b0 | b4 | c3 | c9 |
Ключовий розклад
У кожному раунді шифру використовується секретний ключовий параметр, який додаванням за модулем 2 впливає на входи S-блоків. Відповідно, при кожному раунді запитується 48 біт. Для конвертації 128 біт ключа в послідовність з 48 біт, MacGuffin використовує итеріровану версію своєї функції шифрування блоків.
Криптоаналіз
Як і DES, MacGuffin піддається диференціальному криптоаналізу, суть якого в аналізі ймовірностей отримання певної різниці значень функції Фейстеля при заданій різниці аргументів. Оптимальна 4-раундова характеристика має імовірність у той час, як 2-раундова DES . Таким чином, 32 раунду MacGuffin менш стійкі, ніж 16 DES.
Примітки
- Unbalanced Feistel networks and block cipher design, 1996, с. 123.
- The MacGuffin block cipher algorithm, 1994, с. 97.
- The MacGuffin block cipher algorithm, 1994, с. 98.
- The MacGuffin block cipher algorithm, 1994, с. 99.
- The MacGuffin block cipher algorithm, 1994, с. 100.
- Cryptanalysis of McGuffin, 1995, с. 354.
Література
- Matt Blaze, Bruce Schneier. The MacGuffin block cipher algorithm. — Springer, Berlin, Heidelberg, 1994. — ISSN 0302-9743. — . — DOI: .
- Vincent Rijmen, Bart Preneel. Cryptanalysis of McGuffin. — Springer, Berlin, Heidelberg, 1995. — ISSN 0302-9743. — . — DOI: .
- Bruce Schneier, John Kelsey. Unbalanced Feistel networks and block cipher design. — Springer, Berlin, Heidelberg, 1996. — ISSN 0302-9743. — . — DOI: .
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
V kriptografiyi MacGuffin simetrichnij blochnij shifr pobudovanij na osnovi merezhi Fejstelya MacGuffinRozrobnikiBryus Shnajyer Upershe oprilyudnenij14 grudnya 1994Detali shifruRozmir klyucha128 bitRozmir bloku64 bitRaundiv32TipMerezha Fejstelya Algoritm pridumanij Bryusom Shnajyerom i v 1994 roci v ramkah Fast Software EncryptionFast Software Encryption I v tomu zh roci Vinsent Rejmen i Bart Prenel pokazali jogo vrazlivist do diferencialnogo kriptoanalizu takozh nayavnu v shozhogo shifru DES Priznachavsya dlya doslidzhennya takoyi strukturi shifriv yak nezbalansovana merezha Fejstelya VvedennyaTradicijno shifri sho vikoristovuyut merezhu Fejstelya dilyat vhidnij blok na rivni chastini livu cilovij blok i pravu keruyuchij blok Pri kozhnomu raundi bloki minyayutsya miscyami MacGuffin bazuyetsya na strukturi v yakij cilovij blok menshoyi dovzhini nizh keruyuchij Shifr operuye vhidnimi blokami dovzhinoyu 64 bita de cilova chastina dovzhinoyu 16 bit a keruyucha 48 Vikoristovuyetsya 128 bitnij klyuch Odnak kilkist raundiv i rozmir klyucha mozhut zminyuvatis ArhitekturaVelika chastina dizajnu zapozichena u DES Vhidnij ne zashifrovanij tekst rozdilenij na 4 16 bitnih slova S bloki zapozicheni u DES Vikoristovuyetsya 8 kozhen povertaye rezultat z 4 h bit prijmayuchi 6 bit na vhodi Ale vrahovuyutsya tilki 2 bita sumarnij rezultat povinen buti 16 bit Vihid S bloku ne staye na poziciyi bitiv yaki vikoristovuyutsya dlya vhodu samogo bloku protyagom nastupnih 4 h raundiv Shifr priznachenij dlya realizaciyi v ustatkuvanni abo programnomu zabezpechenni Perestanovki vibrani tak shob minimizuvati kilkist operacij zsuvu i maski Opis algoritmuKlyuchovim elementom u strukturi shifru ye nezbalansovana merezha Fejstelya Vhidni bloki podileni na chotiri registri po dva bajti kozhen U novomu raundi tri ostannih pravih bloka ob yednuyutsya v kontrolnij blok i skladayutsya po modulyu 2 z raundovim klyuchem stvorenim z osnovnogo za dopomogoyu algoritmu klyuchovogo rozkladu en Otrimani 48 bit rozbivayutsya na 8 chastin i stayut vhidnimi parametrami shesti S blokiv U svoyu chergu kozhen S blok peretvoryuye 6 vhidnih bitiv v 2 vihidnih 16 bitovij rezultat S blokiv skladayetsya po modulyu 2 z krajnim zliva vhidnim blokom i rezultat staye krajnim pravoruch registrom vhidnogo bloku nastupnogo raundu Tri krajni pravoruch registra potochnogo raundu zmishuyutsya bez zmin na odnu poziciyu vlivo Takim chinom formuyetsya vhidnij blok dlya nastupnogo raundu S bloki ta perestanovkiNelinijnist procesu shifruvannya i raundovih klyuchiv zabezpechuyetsya perevazhno vosmi S blokami S1 S8 Na vhid vibirayutsya biti z podanih 16 bitnih registriv a b i c Poryadok viboru viznachayetsya za tabliceyu 1 bit z poziciyeyu 0 najmensh znachushij Tablicya 1 Perestanovka vhidnih bit S bloki vhidni biti 0 1 2 3 4 5 S1 a2 a5 b6 b9 c11 c13 S2 a1 a4 b7 b10 c8 c14 S3 a3 a6 b8 b13 c0 c15 S4 a12 a14 b1 b2 c4 c10 S5 a0 a10 b3 b14 c6 c12 S6 a7 a8 b12 b15 c1 c5 S7 a9 a15 b5 b11 c2 c7 S8 a11 a13 b0 b4 c3 c9Klyuchovij rozkladU kozhnomu raundi shifru vikoristovuyetsya sekretnij klyuchovij parametr yakij dodavannyam za modulem 2 vplivaye na vhodi S blokiv Vidpovidno pri kozhnomu raundi zapituyetsya 48 bit Dlya konvertaciyi 128 bit klyucha v poslidovnist z 48 bit MacGuffin vikoristovuye iterirovanu versiyu svoyeyi funkciyi shifruvannya blokiv KriptoanalizYak i DES MacGuffin piddayetsya diferencialnomu kriptoanalizu sut yakogo v analizi jmovirnostej otrimannya pevnoyi riznici znachen funkciyi Fejstelya pri zadanij riznici argumentiv Optimalna 4 raundova harakteristika maye imovirnist 1 149 displaystyle frac 1 149 u toj chas yak 2 raundova DES 1 234 displaystyle frac 1 234 Takim chinom 32 raundu MacGuffin mensh stijki nizh 16 DES PrimitkiUnbalanced Feistel networks and block cipher design 1996 s 123 The MacGuffin block cipher algorithm 1994 s 97 The MacGuffin block cipher algorithm 1994 s 98 The MacGuffin block cipher algorithm 1994 s 99 The MacGuffin block cipher algorithm 1994 s 100 Cryptanalysis of McGuffin 1995 s 354 LiteraturaMatt Blaze Bruce Schneier The MacGuffin block cipher algorithm Springer Berlin Heidelberg 1994 ISSN 0302 9743 ISBN 978 3 540 47809 6 DOI 10 1007 3 540 60590 8 8 Vincent Rijmen Bart Preneel Cryptanalysis of McGuffin Springer Berlin Heidelberg 1995 ISSN 0302 9743 ISBN 978 3 540 47809 6 DOI 10 1007 3 540 60590 8 27 Bruce Schneier John Kelsey Unbalanced Feistel networks and block cipher design Springer Berlin Heidelberg 1996 ISSN 0302 9743 ISBN 978 3 540 49652 6 DOI 10 1007 3 540 60865 6 49