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 .
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] .
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:
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 |
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:
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
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.
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 |
Î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 .
Criptosisteme simetrice | |
---|---|
Cifruri în flux | |
Rețeaua Feistel | |
Rețeaua SP | |
Alte |