MMB-cifre

MMB cipher ( engelsk  modulær multiplikation-baseret blok cipher  - modulær blok cipher ved hjælp af multiplikation) - blok krypteringsalgoritme baseret på driften af ​​multiplikation i en endelig gruppe .

Generel information

Finite Group Multiplication Block Cipher (MMB) er en blokchiffer udviklet af Joan Dymen i 1993 som en forbedring af IDEA -chifferet . Den vigtigste nyskabelse ved denne chiffer er brugen af ​​cyklisk multiplikation i gruppen Z 2 n −1 . Skaberne af chifferen foreslog at lave n=32, så multiplikationen ville blive udført i gruppen Z 4294967295 . Det er også værd at bemærke, at længden af ​​de ord, som operationer vil blive udført med, er n, det vil sige 32 i dette tilfælde. Hovedmålet, der blev forfulgt ved oprettelsen af ​​denne ciffer, er at skabe en ciffer, der er modstandsdygtig over for differentiel kryptoanalyse . Fejl i nøgleskemaet blev opdaget af Eli Biham , hvilket kombineret med det faktum, at chifferen ikke var sikker mod lineær kryptoanalyse , førte til brugen af ​​andre chiffer, såsom 3-vejs chifferen.

Beskrivelse af chifferen

Ikke-lineariteten af ​​chifferen opstår fra operationen af ​​multiplikation modulo 2 32 −1 (følger af navnet på chifferen). Chifferen består af seks runder. Initialiseringsvektoren og det sidste trin bruges ikke i denne chiffer. Nøglen og blokstørrelsen i MMB er 128 bit. Blokken og nøglen er opdelt i 4 32-bit ord hver henholdsvis x 0 , x 1 , x 2 , x 3 og k 0 , k 1 , k 2 , k 3 . I hver runde udføres 4 transformationer på disse ord: σ[k j ], γ, η og θ på disse ord. Operationerne σ[k j ], η og θ er involutioner .

Transformation σ[k j ]

σ[k j ]: Denne transformation tilføjer en nøgle til teksten. Den udfører en XOR-operation mellem nøgledelen og beskeden som følger: σ[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 ), hvor ⊕ betegner eksklusiv-eller operationen og j betegner det runde tal. Denne transformation udføres 7 gange, én gang pr. runde og én gang mere efter sidste runde.

Transformation γ

Transformationen γ multiplicerer tallet modulo 2 32 −1. Denne multiplikationsoperation er den eneste ikke-lineære operation i denne chiffer. I hver runde multipliceres hvert 32-bit ord med en fast konstant, således at resultatet af at gange y i er:

x i hvis x i = 2 32 - 1 x i ⊗ G i hvis x i ≠ 2 32 - 1

G 1 = 2⊗G 0 , G 2 = 8⊗G 0 , G 3 = 128⊗G 0 . Resultatet af operationen γ er således vektoren (y 0 , y 1 , y 2 , y 3 ) = γ(x 0 , x 1 , x 2 , x 3 ).

Den omvendte operation til γ er multiplikation modulo chifferteksten med Gi −1 som følger: x i =

y i hvis y i = 2 32 - 1 y i ⊗ G i −1 hvis y i ≠ 2 32 - 1

For hvert inputord γ udføres den trivielle afbildning 0 → 0 med sandsynlighed 1. En anden interessant egenskab er, at afbildningen FFFFFFFFx → FFFFFFFFx til γ også udføres med sandsynlighed 1.

Transformation η

Transformationen η afhænger af ordet længst til venstre og længst til højre i blokken. Hvis tegnet længst til venstre i et ord er 1, udføres XOR mellem det ord og den foruddefinerede konstant δ. Således: η(x 0 , x 1 , x 2 , x 3 ) = (x 0 ⊕(lsb(x 0 ) • δ), x 1 , x 2 , x 3 ⊕ (lsb(x 3 ) • δ) )

Transformation θ

θ-transformationen udfører blanding mellem ord. Blandingen foregår på en sådan måde, at enhver ændring i et af ordene påvirker de andre ord i outputtet. Således: θ(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 ).

Som et resultat udføres følgende transformation af blokken på runde j: ρ[k j ](X) =θ(η(γ(σ[k j ](X)))), og hele beskrivelsen af ​​MMB passer ind i følgende linje: σ[k 6 ] (ρ[k 5 ](ρ[k 4 ](ρ[k 3 ](ρ[k 2 ](ρ[k 1 ](ρ[k 0 ](P))) ))))

Nøgleplan

Den originale version af MMB brugte en simpel nøgleplanlægningsalgoritme, der flyttede nøgleordet til venstre med én position (f.eks. (k0, k1, k2, k3) i runde 0 og (k1, k2, k3, k0) i første runde) . Dette nøgleskema er cyklisk og gentages hver 4. runde. For at undgå påvisning af symmetriske egenskaber, i den seneste version af MMB, ud over offset, tilføjes hvert nøgleord til en konstant, hvis værdi afhænger af runden. Således er nøgleordet i for runde j: k j i = k i+j mod 4 ⊕ (2^j• B), hvor B er en konstant.

Angreb på MMB

Differentiel kryptoanalyse

Skaberne af MMB hævdede, at denne chiffer er modstandsdygtig over for differentiel kryptoanalyse, men der er flere eksempler på vellykket MMB-brud ved hjælp af denne kryptoanalysemetode. Hovedrundefunktionen MMB er multiplikationsfunktionen i gruppen Z 2 n −1 . For et vellykket angreb på denne chiffer skal kryptanalytikeren således minimere antallet af aktivt anvendte multiplikationer for at øge kvaliteten af ​​differentialegenskaberne. Som et resultat af dette angreb kræver det 2.118 chiffertekster, 2.95.91 MMB krypteringsoperationer og 2.64 64 -bit blokke i størrelse for at bryde chifferen.

Et af angrebene baseret på differentiel kryptoanalyse kaldes det linkede nøgleangreb . Israelske kryptoanalytikere Tomer Ashour og Orr Dunkelman har vist, at ved at bruge et linket-nøgleangreb, givet 2 19 chiffertekster, kan 32 af de 128 bits af nøglen findes i 2 19.22 operationer. Ved at bruge et andet simpelt angreb (1R-angreb), kan yderligere 32 bits af nøglen findes. De resterende bits findes ved simpel opregning. Som et resultat kræver dette angreb 2 35,2 operationer, 2 20 chiffertekster og 2 20,3 tekstblokke i hukommelsen.

Integral kryptoanalyse

En integreret krypteringsanalyse af fire-runde MMB blev udført. Et vellykket angreb kræver 234 chiffertekster, 2126,32 MMB krypteringsoperationer og 264 tekstblokke i hukommelsen.

Lineær kryptoanalyse

Kendt klartekstangreb Ved at bruge den tre-runde tilnærmelse er det muligt at angribe MMB'en med succes (opnå en 128-bit nøgle) med 2.114,56 klartekster og 2.126 tre-runde krypteringsoperationer.

Ciphertext-angreb Hvis klarteksten er i ASCII-format, kræves kun de mest signifikante bits til et chiffertekstangreb. Det lineære forhold i dette tilfælde vil være 2 -45,30 , og et vellykket angreb på en to-rund MMB kræver 293,60 chiffertekster.

Således er en række angreb baseret på differentiel kryptoanalyse mere vellykkede end angreb baseret på lineær kryptoanalyse eller integreret kryptoanalyse, på trods af skabernes oprindelige intention om at udvikle en chiffer, der er modstandsdygtig over for differentiel kryptoanalyse.

Litteratur

Links