Prezent (cifrare)

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 16 martie 2021; verificările necesită 3 modificări .
prezent
publicat CHES, 23-08-2007;
Dimensiunea cheii 80 de biți (Prezen-80), 128 de biți (Prezen-128)
Dimensiunea blocului pe 64 de biți
Numărul de runde 31
Tip de Rețeaua SP

Prezent  este un cifru bloc cu o dimensiune a blocului de 64 de biți, o lungime a cheii de 80 sau 128 de biți și un număr de runde de 32.

Scopul principal al acestui cifru este utilizarea în dispozitive foarte specializate, cum ar fi etichetele RFID sau rețelele de senzori.

Este unul dintre cei mai compacti algoritmi criptografici: se estimează că implementarea hardware a lui PRESENT necesită de aproximativ 2,5 ori mai puține elemente logice decât AES sau CLEFIA [1] [2] .

Acest cifru a fost prezentat la conferința CHES 2007. Autori: Bogdanov, Knudsen, Leander, Paar, Poschmann, Robsho, Soa, Vikelsoa. Autorii lucrează la Orange Labs , la Universitatea Ruhr Bochum și la Universitatea Tehnică din Danemarca .

Schema de criptare

Principalul criteriu în dezvoltarea cifrului a fost ușurința de implementare, oferind în același timp indicatori medii de securitate. De asemenea, un punct important a fost și posibilitatea implementării hardware eficiente.

Este o rețea SP cu 31 de runde de criptare. Fiecare rundă constă dintr-o operație XOR cu o cheie rotundă de 64 de biți determinată de funcția de actualizare a tastei.

În continuare, se efectuează o transformare de împrăștiere - blocul este trecut prin 16 cutii S identice pe 4 biți . Blocul este apoi supus unei transformări amestecate (schimbări de biți) [3] .

S-layer

Cifrul folosește 16 cutii S identice pe 4 biți:

X 0 unu 2 3 patru 5 6 7 opt 9 A B C D E F
S x] C 5 6 B 9 0 A D 3 E F opt patru 7 unu 2

S-box-ul este proiectat astfel încât să mărească rezistența la criptoanaliza liniară și diferențială . În special:

  1. , unde  orice diferențe posibile de intrare și ieșire nu sunt egale cu 0.
  1. , unde .

P-layer

Blocul care amestecă biții este dat de următoarea matrice:

i 0 unu 2 3 patru 5 6 7 opt 9 zece unsprezece 12 13 paisprezece cincisprezece
P(i) 0 16 32 48 unu 17 33 49 2 optsprezece 34 cincizeci 3 19 35 51
i 16 17 optsprezece 19 douăzeci 21 22 23 24 25 26 27 28 29 treizeci 31
P(i) patru douăzeci 36 52 5 21 37 53 6 22 38 54 7 23 39 55
i 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
P(i) opt 24 40 56 9 25 41 57 zece 26 42 58 unsprezece 27 43 59
i 48 49 cincizeci 51 52 53 54 55 56 57 58 59 60 61 62 63
P(i) 12 28 44 60 13 29 45 61 paisprezece treizeci 46 62 cincisprezece 31 47 63

program cheie

Cei 64 de biți din stânga registrului care conține întreaga cheie sunt utilizați ca cheie rotundă . După primirea cheii rotunde, registrul este actualizat conform următorului algoritm:

  1. round_counter

Securitate criptografică

Criptanaliza diferențială

Acest cifru are proprietatea că orice caracteristică diferențială cu 5 runde afectează cel puțin 10 cutii S. Astfel, de exemplu, pentru 25 de runde ale cifrului, vor fi implicate cel puțin 50 de cutii S, iar probabilitatea caracteristicii nu depășește . Un atac asupra versiunii cu 16 runde a cifrului necesită texte cifrate, acces la memorie, contoare pe 6 biți și celule de stocare a tabelului hash . Probabilitatea de a găsi o cheie

Criptanaliza liniară

Panta maximă a dreptei aproximative pentru 4 runde nu depășește . Deci pentru 28 de runde panta maximă va fi . Prin urmare, având în vedere că este necesară o aproximare a rundei 28 pentru a sparge runda 31, avem nevoie de perechi cunoscute text-text cifrat, care este mai mare decât dimensiunea unui posibil test de criptare.

Alte metode

Comparație cu alte cifruri

Tabelul de mai jos compară cifrul Present-80 [4] cu alte cifruri bloc și flux [5] :

Nume Dimensiunea cheii Dimensiunea blocului Lățime de bandă (Kpbs) Zona (în GE )
Prezent-80 80 64 11.7 1075
AES-128 128 128 12.4 3400
camelie 128 128 640 11350
DES 56 64 44.4 2309
DESXL 184 64 44.4 2168
Trivium 80 unu 100 2599
Cereale 80 unu 100 1294

Aplicație

În 2012, organizațiile ISO și IEC au inclus algoritmii PRESENT și CLEFIA în standardul internațional pentru criptare ușoară ISO/IEC 29192-2:2012 [1] [6] [7] .

Funcția hash compactă H-PRESENT-128 [8] [9] a fost creată pe baza PRESENT .

Note

  1. 1 2 Katholieke Universiteit Leuven. Metoda de criptare ultra-ușoară devine standard internațional (link indisponibil) . Consultat la 28 februarie 2012. Arhivat din original pe 6 aprilie 2013. 
  2. Masanobu Katagi, Shiho Moriai, Criptografie ușoară pentru Internetul lucrurilor Arhivat 23 iunie 2018 la Wayback Machine , 2011
  3. Panasenko, Smagin, algoritmi de criptare ușoare // 2011
  4. Axel York Poschmann. Criptografie ușoară: inginerie criptografică pentru o lume omniprezentă . — 2009. Arhivat 8 martie 2021 la Wayback Machine
  5. PREZENT: Un cifr de bloc ultra-ușor, Tabelul 2
  6. ISO. ISO/IEC 29192-2:2012 (link nu este disponibil) . Data accesului: 28 februarie 2012. Arhivat din original pe 5 aprilie 2013. 
  7. Un algoritm de criptare propus ca alternativă „mai ușoară” la AES a devenit un standard ISO Arhivat 27 aprilie 2018 la Wayback Machine // Osp.ru, 02-2012
  8. LW-CRYPTOGRAPHY: CIPHERS FOR RFID SYSTEMS Arhivat 28 iulie 2013. , S. S. Agaf'in // Securitatea Tehnologiei Informației Nr. 2011-4
  9. Observații pe H-PRESENT-128 Arhivat 17 mai 2017 la Wayback Machine , Niels Ferguson (Microsoft)

Link -uri