MacGuffin (rejtjel)

MacGuffin
Teremtő Bruce Schneier , Matt Blaze
Létrehozva 1994_ _
közzétett 1994.12.14
Kulcsméret 128 bites
Blokkméret 64 bites
A körök száma 32
Típusú Feistel hálózat

A kriptográfiában a MacGuffin  egy szimmetrikus blokkrejtjel , amely a Feistel hálózaton alapul .

Az algoritmust Bruce Schneier és Matt Blaze találta ki 1994-ben a Fast Software Encryption részeként . Ugyanebben az évben Vincent Rayman és Bart Presnel kimutatta a differenciális kriptoanalízissel szembeni sebezhetőségét , amely szintén megtalálható a hasonló DES - rejtjelben . A rejtjelek olyan szerkezetét szándékozták tanulmányozni, mint egy kiegyensúlyozatlan Feistel-hálózat [1] .

Bevezetés

Hagyományosan a Feistel hálózatot használó titkosítók egyenlő részekre osztják a bemeneti blokkot - balra (cél blokk) és jobbra (vezérlőblokk). A blokkokat minden körben felcseréljük. A MacGuffin olyan struktúrán alapul, amelyben a célblokk rövidebb, mint a vezérlőblokk. A titkosítás 64 bites bemeneti blokkokkal működik, ahol a célrész 16 bites, a vezérlőrész pedig 48 bites. 128 bites kulcsot használnak. A körök száma és a kulcs mérete azonban változhat [2] .

Építészet

A tervezés nagy részét a DES-től kölcsönözték. A bevitt titkosítatlan szöveg 4 16 bites szóra van osztva. Az S-boxokat a DES-től kölcsönözték. 8 van belőlük, mindegyik 4 bites eredményt ad vissza, 6 bitet véve bemenetként. De csak 2 bitet vesznek figyelembe (a teljes eredménynek 16 bitnek kell lennie). Az S-box kimenete nem változik az ugyanabba a blokkba való belépéshez használt bitek pozíciójára a következő 4 körben. A titkosítást hardverben vagy szoftverben való megvalósításra szánták. A permutációk úgy vannak megválasztva, hogy minimalizálják az eltolási és maszkolási műveletek számát. [3]

Az algoritmus leírása

A rejtjel szerkezetének kulcseleme a kiegyensúlyozatlan Feistel-hálózat. A bemeneti blokkok négy, egyenként két bájtnyi regiszterre vannak osztva. Az új körben az utolsó három jobb oldali blokkot egy vezérlőblokkba egyesítjük, és hozzáadjuk a modulo 2 -t a főből létrehozott körkulccsal a kulcsütemezési algoritmus segítségével . Az így kapott 48 bitet 8 részre osztják, és hat S-box bemeneti paramétereivé válnak. Viszont minden S-box 6 bemeneti bitet alakít 2 kimeneti bitté. Az S-boxok 16 bites eredménye a bal szélső bemeneti blokkhoz hozzáadódik a modulo 2, és az eredmény a következő kör bemeneti blokkjának jobb szélső regisztere lesz. Az aktuális kör három jobb szélső regisztere változatlanul egy pozícióval balra tolódik. Ez képezi a következő kör beviteli blokkját. [négy]

S-boxok és permutációk

A titkosítási folyamat és a kerek kulcsok nemlinearitását elsősorban nyolc S-box, S 1 ...S 8 biztosítja . A biteket a megadott 16 bites a, b és c regiszterekből választjuk ki bemenetre. A kiválasztás sorrendjét az 1. táblázat határozza meg (a 0. pozíciójú bit a legkevésbé szignifikáns) [5] :

1. táblázat
: A bemeneti bitek permutációja
S-blokkok bemeneti bitek
0 egy 2 3 négy 5
S1_ _ a 2 egy 5 b 6 b 9 11 -től 13 -tól
S2_ _ egy 1 egy 4 b 7 b 10 8 -tól 14 -től
S3_ _ a 3 egy 6 b 8 b 13 c 0 15 -től
S4_ _ egy 12 egy 14 b 1 b 2 c 4 10 -től
S5_ _ egy 0 egy 10 b 3 b 14 6 -tól 12 -től
S6_ _ a 7 egy 8 b 12 b 15 c 1 5 -től
S7_ _ egy 9 egy 15 b 5 b 11 c 2 7 -től
S8_ _ egy 11 a 13 b 0 b 4 c 3 9 -től

Kulcsütemezés

A titkosítás minden köre egy titkos kulcsparamétert használ, amely a modulo 2 hatással van az S-box bemeneteire. Ennek megfelelően minden körhöz 48 bitet kell kérni. A 128 bites kulcs 48 bites szekvenciává alakításához a MacGuffin a blokk titkosítási funkciójának iterált változatát használja [5] .

Kriptanalízis

A DES-hez hasonlóan a MacGuffin is alkalmas a differenciális kriptoanalízisre, amelynek lényege annak a valószínűségének elemzése, hogy a Feistel-függvény értékei egy bizonyos különbséget kapjanak az argumentumok adott különbségére. Egy optimális 4 körös tulajdonság valószínűsége , míg a 2 körös DES valószínűsége . Így a 32 MacGuffin kör kevésbé stabil, mint a 16 DES [6] .

Jegyzetek

  1. Kiegyensúlyozatlan Feistel hálózatok és blokk titkosítás tervezése, 1996 , p. 123.
  2. A MacGuffin blokk titkosítási algoritmus, 1994 , p. 97.
  3. A MacGuffin blokk titkosítási algoritmus, 1994 , p. 98.
  4. A MacGuffin blokk titkosítási algoritmus, 1994 , p. 99.
  5. 1 2 A MacGuffin blokk titkosítási algoritmus, 1994 , p. 100.
  6. McGuffin kriptanalízise, ​​1995 , p. 354.

Irodalom