Šifra MMB

MMB cipher ( anglicky  modular multiplication-based block cipher  - modular block cipher using multiplication) - blokový šifrovací algoritmus založený na operaci násobení v konečné grupě .

Obecné informace

Finite Group Multiplication Block Cipher (MMB) je bloková šifra vyvinutá Joan Dymen v roce 1993 jako vylepšení šifry IDEA . Hlavní inovací této šifry je použití cyklického násobení ve skupině Z 2 n −1 . Tvůrci šifry navrhli udělat n=32, takže násobení by bylo provedeno ve skupině Z 4294967295 . Za zmínku také stojí, že délka slov, se kterými budou operace prováděny, je n, tedy v tomto případě 32. Hlavním cílem , který byl při vytváření této šifry sledován , je vytvořit šifru odolnou vůči diferenciální kryptoanalýze . Chyby v plánu klíčů objevil Eli Biham , což v kombinaci se skutečností, že šifra nebyla bezpečná proti lineární kryptoanalýze , vedlo k použití jiných šifer, jako je 3-cestná šifra.

Popis šifry

Nelinearita šifry vyplývá z operace násobení modulo 2 32 −1 (vyplývá z názvu šifry). Šifra se skládá ze šesti kol. Inicializační vektor a konečný krok nejsou v této šifře použity. Velikost klíče a bloku v MMB je 128 bitů. Blok a klíč jsou rozděleny do 4 32bitových slov, každé x 0 , x 1 , x 2 , x 3 a k 0 , ki , k2 , k3 v tomto pořadí. V každém kole se provedou 4 transformace na tato slova: σ[k j ], γ, η a θ na tato slova. Operace σ[k j ], η a θ jsou involuce .

Transformace σ[k j ]

σ[k j ]: Tato transformace přidá do textu klíč. Provede operaci XOR mezi klíčovou částí a zprávou takto: σ[k j ](x 0 , x 1 , x 2 , x 3 ) = (x 0 ⊕ k j 0 , x 1 ⊕ k j 1 , x 2 ⊕ k j 2 , x 3 ⊕ k j 3 ), kde ⊕ označuje operaci výhradní-nebo a j označuje číslo zaokrouhlení. Tato transformace se provádí 7krát, jednou za kolo a ještě jednou po posledním kole.

Transformace γ

Transformace γ násobí číslo modulo 2 32 −1. Tato operace násobení je jedinou nelineární operací v této šifře. V každém kole je každé 32bitové slovo násobeno pevnou konstantou tak, že výsledek násobení y i je:

x i , pokud x i = 2 32 - 1 x i ⊗ G i , pokud x i ≠ 2 32 - 1

G1 = 2⊗Go , G2 = 8⊗Go , G3 = 128⊗Go . _ Výsledkem operace γ je tedy vektor (y 0 , y 1 , y 2 , y 3 ) = γ(x 0 , x 1 , x 2 , x 3 ).

Inverzní operace k γ ​​je násobení modulo šifrového textu pomocí G i −1 takto: x i =

y i , pokud y i = 2 32 - 1 y i ⊗ G i −1 pokud y i ≠ 2 32 - 1

Pro každé vstupní slovo γ je provedeno triviální zobrazení 0 → 0 s pravděpodobností 1. Další zajímavou vlastností je, že s pravděpodobností 1 je provedeno také zobrazení FFFFFFFFx → FFFFFFFFx až γ.

Transformace η

Transformace η závisí na slovu nejvíce vlevo a vpravo v bloku. Pokud je znak zcela vlevo ve slově 1, pak se mezi tímto slovem a předdefinovanou konstantou δ provede XOR. Tedy: η(x 0 , x 1 , x 2 , x 3 ) = (x 0 ⊕(lsb(x 0 ) • δ), x 1 , x 2 , x 3 ⊕ (lsb(x 3 ) • δ) )

Transformace θ

Transformace θ provádí míchání mezi slovy. Míchání se provádí tak, že jakákoli změna jednoho ze slov ovlivní ostatní slova ve výstupu. Tedy: θ(x 0 , x 1 , x 2 , x 3 ) = (x 0 ⊕ x 1 ⊕ x 3 , x 0 ⊕ x 1 ⊕ x 2 , x 1 ⊕ x 2 ⊕ x 3 , x 0 ⊕ x 2 ⊕ x 3 ).

V důsledku toho se na kole j provede následující transformace bloku: ρ[k j ](X) =θ(η(γ(σ[k j ](X)))) a celý popis MMB zapadá do následující řádek: σ[k 6 ] (ρ[k 5 ](ρ[k 4 ](ρ[k 3 ](ρ[k 2 ](ρ[k 1 ](ρ[k 0 ](P)))) ))))

Klíčový rozvrh

Původní verze MMB používala jednoduchý klíčový plánovací algoritmus, který posunul klíčové slovo doleva o jednu pozici (např. (k0, k1, k2, k3) v kole 0 a (k1, k2, k3, k0) v prvním kole) . Tento klíčový plán je cyklický a opakuje se každé 4 kola. Aby se zabránilo detekci symetrických vlastností, je v nejnovější verzi MMB kromě offsetu každé klíčové slovo přidáno ke konstantě, jejíž hodnota závisí na kole. Klíčové slovo i pro kolo j je tedy: k j i = k i+j mod 4 ⊕ (2^j• B), kde B je konstanta.

Útoky na MMB

Diferenciální kryptoanalýza

Tvůrci MMB tvrdili, že tato šifra je odolná vůči diferenciální kryptoanalýze, ale existuje několik příkladů úspěšného prolomení MMB pomocí této metody kryptoanalýzy. Hlavní kruhová funkce MMB je funkce násobení ve skupině Z 2 n −1 . Pro úspěšný útok na tuto šifru tedy musí kryptoanalytik minimalizovat počet aktivně používaných násobení, aby zvýšil kvalitu diferenciálních charakteristik. V důsledku tohoto útoku je k prolomení šifry zapotřebí 2 118 šifrovaných textů, 2 95,91 MMB šifrovacích operací a 2 64 64bitových bloků.

Jeden z útoků založených na diferenciální kryptoanalýze se nazývá propojený klíčový útok . Izraelští kryptoanalytici Tomer Ashour a Orr Dunkelman prokázali, že pomocí útoku s propojeným klíčem lze při 2 19 šifrových textech nalézt 32 ze 128 bitů klíče ve 2 operacích 19,22 . Pomocí dalšího jednoduchého útoku (útok 1R) lze nalézt dalších 32 bitů klíče. Zbývající bity se najdou jednoduchým výčtem. V důsledku toho tento útok vyžaduje 2 35,2 operací, 2 20 šifrovaných textů a 2 20,3 textových bloků v paměti.

Integrální kryptoanalýza

Byla provedena integrální kryptoanalýza čtyřkolového MMB. Úspěšný útok vyžaduje 234 šifrovaných textů, 2126,32 MMB šifrovacích operací a 264 textových bloků v paměti.

Lineární kryptoanalýza

Známý útok v otevřeném textu Pomocí tříkolové aproximace je možné úspěšně zaútočit na MMB (získat 128bitový klíč) s 2 114,56 otevřenými texty a 2 126 tříkolovými šifrovacími operacemi.

Útok na šifrovaný text Pokud je prostý text ve formátu ASCII, pak jsou pro útok šifrovaným textem vyžadovány pouze nejvýznamnější bity. Lineární poměr v tomto případě bude 2 −45,30 a úspěšný útok na dvoukolový MMB vyžaduje 293,60 šifrovaných textů.

Řada útoků založených na diferenciální kryptoanalýze je tedy úspěšnější než útoky založené na lineární kryptoanalýze nebo integrální kryptoanalýze, a to navzdory původnímu záměru tvůrců vyvinout šifru, která je odolná vůči diferenciální kryptoanalýze.

Literatura

Odkazy