MacGuffin (salakirjoitus)

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] .

Johdanto

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] .

Arkkitehtuuri

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]

Algoritmin kuvaus

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ä]

S-laatikot ja permutaatiot

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] :

Taulukko 1.
Tulobittien permutaatio
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

Avainaikataulu

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] .

Kryptanalysis

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] .

Muistiinpanot

  1. Epätasapainoiset Feistel-verkot ja lohkosalauksen suunnittelu, 1996 , s. 123.
  2. MacGuffinin lohkosalausalgoritmi, 1994 , s. 97.
  3. MacGuffinin lohkosalausalgoritmi, 1994 , s. 98.
  4. MacGuffinin lohkosalausalgoritmi, 1994 , s. 99.
  5. 1 2 MacGuffinin lohkosalausalgoritmi, 1994 , s. 100.
  6. Cryptanalysis of McGuffin, 1995 , s. 354.

Kirjallisuus