MMB salaus

MMB-salaus ( englanniksi  modulaarinen kertolaskupohjainen lohkosalaus  - modulaarinen lohkosalaus käyttäen kertolaskua) - lohkosalausalgoritmi , joka perustuu kertolaskutoimiin äärellisessä ryhmässä .

Yleistä tietoa

Finite Group Multiplication Block Cipher (MMB) on Joan Dymenin vuonna 1993 kehittämä lohkosalaus IDEA -salauksen parannus . Tämän salauksen tärkein innovaatio on syklisen kertolasku ryhmässä Z 2 n −1 . Salauksen tekijät ehdottivat, että n = 32, joten kertolasku tehdään ryhmässä Z 4294967295 . On myös syytä huomata, että sanojen pituus, joilla operaatiot suoritetaan, on n, eli tässä tapauksessa 32. Päätavoitteena tätä salausta luotaessa on luoda salaus, joka kestää differentiaalista kryptausanalyysiä . Eli Biham havaitsi avainaikataulun puutteet , mikä yhdistettynä siihen tosiasiaan, että salaus ei ollut suojattu lineaarista kryptausanalyysiä vastaan , johti muiden salausten, kuten 3-suuntaisen salauksen, käyttöön.

Salauksen kuvaus

Salauksen epälineaarisuus syntyy kertolaskumoduulin 2 32 −1 operaatiosta (seuraa salauksen nimestä). Salaus koostuu kuudesta kierroksesta. Alustusvektoria ja viimeistä vaihetta ei käytetä tässä salauksessa. Avaimen ja lohkon koko MMB:ssä on 128 bittiä. Lohko ja avain on jaettu 4 32-bittiseen sanaan, joista kukin on x 0 , x 1 , x 2 , x 3 ja vastaavasti k 0 , k 1 , k 2 , k 3 . Jokaisella kierroksella suoritetaan 4 muunnosa näille sanoille: σ[k j ], γ, η ja θ näille sanoille. Operaatiot σ[k j ], η ja θ ovat involuutioita .

Muunnos σ[k j ]

σ[k j ]: Tämä muunnos lisää tekstiin avaimen. Se suorittaa XOR-operaation avainosan ja viestin välillä seuraavasti: σ[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 ), missä ⊕ tarkoittaa poissulkevaa tai operaatiota ja j pyöreää lukua. Tämä muunnos suoritetaan 7 kertaa, kerran per kierros ja vielä kerran viimeisen kierroksen jälkeen.

Transformaatio γ

Muunnos γ kertoo luvun modulo 2 32 −1. Tämä kertolasku on ainoa epälineaarinen operaatio tässä salauksessa. Jokaisella kierroksella jokainen 32-bittinen sana kerrotaan kiinteällä vakiolla siten, että y i :n kertomisen tulos on:

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

G 1 = 2⊗G 0 , G 2 = 8⊗G 0 , G 3 = 128⊗G 0 . Siten operaation γ tulos on vektori (y0 , y1 , y2 , y3 ) = γ (x0 , x1 , x2 , x3 ) .

Käänteinen operaatio γ:lle on salatekstin kertominen modulo G i −1 :llä seuraavasti: x i =

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

Kullekin syötesanalle γ suoritetaan triviaalikuvaus 0 → 0 todennäköisyydellä 1. Toinen mielenkiintoinen ominaisuus on, että myös kartoitus FFFFFFFFx → FFFFFFFFx kautta γ suoritetaan todennäköisyydellä 1.

Muunnos η

Muunnos η riippuu lohkon vasemman- ja oikeanpuoleisimmasta sanasta. Jos sanan vasemmanpuoleisin merkki on 1, XOR suoritetaan tämän sanan ja ennalta määritellyn vakion δ välillä. Siten: η(x 0 , x 1 , x 2 , x 3 ) = (x 0 ⊕(lsb(x 0 ) • δ), x 1 , x 2 , x 3 ⊕ (lsb(x 3 ) • δ) )

Transformaatio θ

θ-muunnos suorittaa sekoituksen sanojen välillä. Sekoitus tehdään siten, että mikä tahansa muutos yhdessä sanassa vaikuttaa tulosteen muihin sanoihin. Siten: θ(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 ).

Tämän seurauksena kierrokselle j suoritetaan seuraava lohkon muunnos: ρ[k j ](X) =θ(η(γ(σ[k j ](X)))) ja koko MMB:n kuvaus sopii seuraava rivi: σ[k 6 ] (ρ[k 5 ](ρ[k 4 ](ρ[k 3 ](ρ[k 2 ](ρ[k 1 ](ρ[k 0 ](P))) ))))

Avainaikataulu

MMB:n alkuperäinen versio käytti yksinkertaista näppäinajoitusalgoritmia, joka siirsi avainsanaa yhden kohdan verran vasemmalle (esim. (k0, k1, k2, k3) kierroksella 0 ja (k1, k2, k3, k0) ensimmäisellä kierroksella) . Tämä avainaikataulu on syklinen ja toistuu 4 kierroksen välein. Symmetristen ominaisuuksien havaitsemisen välttämiseksi MMB:n uusimmassa versiossa siirron lisäksi jokainen avainsana lisätään vakioon, jonka arvo riippuu kierroksesta. Siten kierroksen j avainsana i on: k j i = k i+j mod 4 ⊕ (2^j• B), missä B on vakio.

Hyökkäykset MMB:tä vastaan

Differentiaalinen kryptausanalyysi

MMB:n luojat väittivät, että tämä salaus kestää differentiaalista kryptausanalyysiä, mutta on olemassa useita esimerkkejä onnistuneesta MMB-murtamisesta tällä kryptausanalyysimenetelmällä. Pääkierrosfunktio MMB on kertolaskufunktio ryhmässä Z 2 n −1 . Täten onnistuneen hyökkäyksen tätä salausta vastaan ​​kryptanalyytikon on minimoitava aktiivisesti käytettyjen kertolaskujen lukumäärä differentiaaliominaisuuksien laadun parantamiseksi. Tämän hyökkäyksen seurauksena salauksen murtamiseen tarvitaan 2 118 salatekstiä, 2 95,91 MMB salaustoimintoa ja 2 64 64 -bittistä lohkoa.

Yhtä differentiaaliseen kryptausanalyysiin perustuvista hyökkäyksistä kutsutaan linkitetyn avaimen hyökkäykseksi . Israelilaiset kryptanalyytikot Tomer Ashour ja Orr Dunkelman ovat osoittaneet, että linkitetyn avaimen hyökkäystä käyttämällä 2 19 salatekstiä annettaessa avaimen 128 bitistä 32 löytyy 2 19.22 toiminnolla. Käyttämällä toista yksinkertaista hyökkäystä (1R-hyökkäys) voidaan löytää vielä 32 bittiä avaimesta. Loput bitit löydetään yksinkertaisella luettelolla. Tämän seurauksena tämä hyökkäys vaatii 2 35.2 toimintoa, 2 20 salatekstiä ja 2 20.3 tekstilohkoa muistissa.

Integraalinen kryptausanalyysi

Neljän kierroksen MMB:n integraalinen kryptausanalyysi suoritettiin. Onnistunut hyökkäys vaatii 234 salatekstiä, 2126,32 MMB :n salaustoimintoja ja 264 tekstilohkoa muistissa.

Lineaarinen kryptausanalyysi

Tunnettu selkeän tekstin hyökkäys Kolmen kierroksen approksimaatiota käyttämällä on mahdollista hyökätä onnistuneesti MMB:tä vastaan ​​(saada 128-bittinen avain) 2 114,56 selväkielisellä tekstillä ja 2 126 kolmen kierroksen salausoperaatiolla.

Salatekstihyökkäys Jos pelkkä teksti on ASCII-muodossa, salatekstihyökkäykseen tarvitaan vain merkittävimmät bitit. Lineaarinen suhde on tässä tapauksessa 2 −45.30 ja onnistunut hyökkäys kaksikierrosta MMB:tä vastaan ​​vaatii 293.60 salatekstiä.

Siten monet differentiaaliseen kryptausanalyysiin perustuvat hyökkäykset ovat onnistuneempia kuin lineaariseen kryptausanalyysiin tai integraaliin kryptausanalyysiin perustuvat hyökkäykset, vaikka tekijöiden alkuperäinen tarkoitus oli kehittää salaus, joka kestää differentiaalista kryptausanalyysiä.

Kirjallisuus

Linkit