MacGuffin | |
---|---|
Luoja | Bruce Schneier , Matt Blaze |
Luotu | 1994_ _ |
julkaistu | 14.12.1994 |
Avaimen koko | 128 bittinen |
Lohkon koko | 64-bittinen |
Kierrosten lukumäärä | 32 |
Tyyppi | Feistelin verkko |
Salaustekniikassa MacGuffin on symmetrinen lohkosalaus , joka perustuu Feistel -verkkoon .
Algoritmin keksivät Bruce Schneier ja Matt Blaze vuonna 1994 osana Fast Software Encryption . Ja samana vuonna Vincent Rayman ja Bart Presnel osoittivat haavoittuvuutensa differentiaaliseen kryptausanalyysiin, joka löytyy myös samankaltaisesta DES - salauksesta . Tarkoituksena oli tutkia sellaista salausrakennetta kuin epätasapainoinen Feistel-verkko [1] .
Perinteisesti Feistel-verkkoa käyttävät salaukset jakavat syöttölohkon yhtä suuriin osiin - vasemmalle (kohdelohko) ja oikealle (ohjauslohko). Lohkot vaihdetaan jokaisella kierroksella . MacGuffin perustuu rakenteeseen, jossa kohdelohko on lyhyempi kuin ohjauslohko. Salaus toimii 64 bitin tulolohkoilla, joissa kohdeosa on 16 bittiä pitkä ja ohjausosa 48. Käytetään 128-bittistä avainta. Kierrosten määrä ja avaimen koko voivat kuitenkin vaihdella [2] .
Suuri osa suunnittelusta on lainattu DES:ltä. Syötettävä salaamaton teksti on jaettu 4 16-bittiseen sanaan. S-laatikot on lainattu DES:ltä. Niitä on 8, joista jokainen palauttaa 4 bitin tuloksen, ottaen 6 bittiä syötteenä. Mutta vain 2 bittiä otetaan huomioon (kokonaistuloksen tulisi olla 16 bittiä). S-laatikon lähtö ei muutu samaan lohkoon syöttävien bittien asentoon seuraavan 4 kierroksen aikana. Salaus on tarkoitettu käytettäväksi laitteistossa tai ohjelmistossa. Permutaatiot on valittu minimoimaan siirto- ja maskitoimintojen lukumäärä. [3]
Salauksen rakenteen avainelementti on epätasapainoinen Feistelin verkko. Tulolohkot on jaettu neljään rekisteriin, jokaisessa kaksi tavua. Uudella kierroksella kolme viimeistä oikeaa lohkoa yhdistetään ohjauslohkoksi ja lisätään modulo 2 pyöreänäppäimellä, joka on luotu pääavaimesta käyttämällä näppäinaikataulualgoritmia . Tuloksena saadut 48 bittiä jaetaan 8 osaan ja niistä tulee kuuden S-laatikon syöttöparametreja. Jokainen S-box puolestaan muuntaa 6 tulobittiä 2 lähtöbitiksi. S-laatikoiden 16-bittinen tulos lisätään vasemmanpuoleiseen syöttölohkoon modulo 2, ja tuloksesta tulee seuraavan kierroksen syöttölohkon oikeanpuoleisin rekisteri. Nykyisen kierroksen kolme oikeanpuoleista rekisteriä siirretään muuttumattomina yhden paikan vasemmalle. Tämä muodostaa syöttölohkon seuraavalle kierrokselle. [neljä]
Salausprosessin ja pyöreiden avainten epälineaarisuus saadaan aikaan pääasiassa kahdeksalla S-laatikolla, S 1 ...S 8 . Bitit valitaan syötettäväksi annetuista 16-bittisistä rekistereistä a, b ja c. Valintajärjestys määräytyy taulukon 1 mukaan (bitti, jonka asema on 0, on vähiten merkitsevä) [5] :
S-lohkot | syöttöbitit | |||||
---|---|---|---|---|---|---|
0 | yksi | 2 | 3 | neljä | 5 | |
S1_ _ | a 2 | a 5 | b 6 | b 9 | alkaen 11 | alkaen 13 |
S2_ _ | a 1 | a 4 | b 7 | b 10 | alkaen 8 | alkaen 14 |
S3_ _ | a 3 | a 6 | b 8 | b 13 | c 0 | alkaen 15 |
S4_ _ | a 12 | a 14 | b 1 | b 2 | c 4 | alkaen 10 |
S5_ _ | a 0 | a 10 | b 3 | b 14 | alkaen 6 | alkaen 12 |
S6_ _ | a 7 | a 8 | b 12 | b 15 | c 1 | alkaen 5 |
S7_ _ | a 9 | a 15 | b 5 | b 11 | c 2 | alkaen 7 |
S8_ _ | a 11 | a 13 | b 0 | b 4 | c 3 | alkaen 9 |
Jokainen salauksen kierros käyttää salaisen avainparametria, joka modulo 2 vaikuttaa S-boxin tuloihin. Vastaavasti jokaiselle kierrokselle pyydetään 48 bittiä. Muuntaakseen 128-bittisen avaimen 48-bittiseksi sekvenssiksi MacGuffin käyttää iteroitua versiota lohkosalaustoiminnostaan [5] .
Kuten DES, MacGuffin soveltuu differentiaaliseen kryptausanalyysiin, jonka ydin on analyysi todennäköisyyksistä saada tietty ero Feistel-funktion arvoissa tietylle argumenttien erolle. Optimaalisen 4-kierroksen ominaisuuden todennäköisyys on , kun taas 2-kierroksen DES :n todennäköisyys on . Siten 32 MacGuffin-kierrosta ovat vähemmän vakaita kuin 16 DES [6] .
Symmetriset salausjärjestelmät | |
---|---|
Suoratoista salauksia | |
Feistelin verkko | |
SP verkko | |
Muut |