Algoritmul internațional de criptare a datelor - International Data Encryption Algorithm
|
O rundă de criptare a IDEA
| |
| General | |
|---|---|
| Designeri | Xuejia Lai și James Massey |
| Derivat de la | PES |
| Succesori |
MMB , MESH , Akelarre , IDEA NXT (FOX) |
| Detalii cifrate | |
| Dimensiuni cheie | 128 biți |
| Dimensiuni bloc | 64 de biți |
| Structura | Schema Lai – Massey |
| Runde | 8.5 |
| Cea mai bună criptanaliză publică | |
| Cheia poate fi recuperată cu o complexitate de calcul de 2 126,1 folosind biciclete înguste . Acest atac este mai rapid din punct de vedere al calculului decât un atac cu forță brută complet, deși nu este, din 2013, fezabil din punct de vedere al calculului. | |
În criptografie , algoritmul internațional de criptare a datelor ( IDEA ), numit inițial Standard de criptare îmbunătățit ( IPES ), este un cifru cu blocuri cu cheie simetrică proiectat de James Massey de la ETH Zurich și Xuejia Lai și a fost descris pentru prima dată în 1991. Algoritmul a fost destinat ca înlocuitor pentru Standardul de criptare a datelor (DES). IDEA este o revizuire minoră a unei anterioare cifru propusă Encryption Standard (PES).
Cifrul a fost proiectat în baza unui contract de cercetare cu Fundația Hasler, care a devenit parte a Ascom-Tech AG. Cifrul a fost brevetat în mai multe țări, dar a fost disponibil gratuit pentru utilizare necomercială. Numele „IDEA” este, de asemenea, o marcă comercială . Ultimele brevete au expirat în 2012, iar IDEA este acum fără brevete și, prin urmare, complet gratuit pentru toate utilizările.
IDEA a fost utilizată în Pretty Good Privacy (PGP) v2.0 și a fost încorporată după ce s-a constatat că cifrul original utilizat în v1.0, BassOmatic , este nesigur. IDEA este un algoritm opțional în standardul OpenPGP .
Operațiune
IDEA funcționează pe blocuri pe 64 de biți utilizând o cheie pe 128 de biți și constă dintr-o serie de 8 transformări identice (o rotundă , vezi ilustrația) și o transformare de ieșire ( jumătatea rotundă ). Procesele de criptare și decriptare sunt similare. IDEA își obține o mare parte din securitate prin intercalarea operațiunilor din diferite grupuri - adunarea și multiplicarea modulară și OR bitexclusiv (XOR) - care sunt algebric „incompatibile” într-un anumit sens. Mai detaliat, acești operatori, care se ocupă cu cantități de 16 biți, sunt:
- Bitwise XOR (SAU exclusiv) (notat cu un plus albastru încercuit plus ⊕ ).
- Adaosul modulo 2 16 (notat cu un plus cutie verde ⊞ ).
- Modul de multiplicare 2 16 + 1, în care cuvântul zero (0x0000) din intrări este interpretat ca 2 16 , iar 2 16 în ieșire este interpretat ca cuvântul complet zero (0x0000) (notat cu un punct roșu încercuit ⊙ ).
După cele 8 runde vine o „jumătate de rundă” finală, transformarea ieșirii ilustrată mai jos (swap-ul celor două valori medii anulează swap-ul la sfârșitul ultimei runde, astfel încât să nu existe swap net):
Structura
Structura generală a IDEA urmează schema Lai-Massey . XOR este utilizat atât pentru scădere, cât și pentru adunare. IDEA utilizează o funcție de semirotundă dependentă de cheie. Pentru a lucra cu cuvinte pe 16 biți (adică 4 intrări în loc de 2 pentru dimensiunea blocului pe 64 de biți), IDEA folosește schema Lai-Massey de două ori în paralel, cele două funcții rotunde paralele fiind împletite între ele. Pentru a asigura o difuzie suficientă, două dintre subblocuri sunt schimbate după fiecare rundă.
Programul cheie
Fiecare rundă folosește 6 sub-chei de 16 biți, în timp ce jumătatea de rundă folosește 4, în total 52 pentru 8,5 runde. Primele 8 sub-chei sunt extrase direct din cheie, K1 din prima rundă fiind cei 16 biți inferiori; alte grupuri de 8 taste sunt create prin rotirea tastei principale la stânga cu 25 de biți între fiecare grup de 8. Aceasta înseamnă că este rotită mai puțin de o dată pe rundă, în medie, pentru un total de 6 rotații.
Decriptare
Decriptarea funcționează ca criptarea, dar ordinea cheilor rotunde este inversată, iar subcheile pentru rundele impare sunt inversate. De exemplu, valorile subcheilor K1 – K4 sunt înlocuite cu inversul lui K49 – K52 pentru operația de grup respectivă, K5 și K6 din fiecare grup ar trebui înlocuite cu K47 și K48 pentru decriptare.
Securitate
Proiectanții au analizat IDEA pentru a-și măsura puterea față de criptanaliza diferențială și au ajuns la concluzia că este imună în anumite ipoteze. Nu au fost raportate puncte slabe liniare sau algebrice. Începând cu 2007, cel mai bun atac aplicat tuturor cheilor ar putea sparge IDEA redus la 6 runde (cifrul IDEA complet folosește 8,5 runde). Rețineți că o „pauză” este orice atac care necesită mai puțin de 2 128 operațiuni; atacul cu 6 runde necesită 2 64 de texte simple cunoscute și 2 126,8 operațiuni.
Bruce Schneier s-a gândit foarte mult la IDEA în 1996, scriind: „În opinia mea, este cel mai bun și mai sigur algoritm de blocare disponibil publicului în acest moment”. ( Criptografie aplicată , ediția a doua.) Cu toate acestea, până în 1999, el nu mai recomanda IDEA din cauza disponibilității unor algoritmi mai rapizi, a unor progrese în criptanaliza acesteia și a problemei brevetelor.
În 2011, IDEA completă de 8,5 runde a fost spartă folosind un atac de întâlnire la mijloc. În mod independent, în 2012, IDEA completă de 8,5 runde a fost spartă folosind un atac de biciclete înguste , cu o reducere a puterii criptografice de aproximativ 2 biți, similar cu efectul atacului de biciclete anterior asupra AES ; cu toate acestea, acest atac nu amenință securitatea IDEA în practică.
Taste slabe
Programul de chei foarte simplu face ca IDEA să fie supusă unei clase de chei slabe ; unele chei care conțin un număr mare de 0 biți produc o criptare slabă. Acestea sunt puțin preocupante în practică, fiind suficient de rare încât nu sunt necesare pentru a evita în mod explicit atunci când generează chei aleatoriu. A fost propusă o soluție simplă: XORarea fiecărei subchei cu o constantă de 16 biți, cum ar fi 0x0DAE.
Clase mai mari de chei slabe au fost găsite în 2002.
Aceasta este încă o probabilitate neglijabilă de a fi o preocupare pentru o cheie aleasă aleatoriu, iar unele dintre probleme sunt rezolvate de XOR constantă propusă mai devreme, dar lucrarea nu este sigură dacă toate sunt. Poate fi de dorit o reproiectare mai cuprinzătoare a programului cheie IDEA.
Disponibilitate
O cerere de brevet pentru IDEA a fost depusă mai întâi în Elveția (CH A 1690/90) la 18 mai 1990, apoi o cerere de brevet internațional a fost depusă în temeiul Tratatului de cooperare în domeniul brevetelor la 16 mai 1991. În cele din urmă, brevetele au fost acordate în Austria , Franța , Germania , Italia , Țările de Jos , Spania , Suedia , Elveția , Regatul Unit , (înregistrarea registrului brevetului european pentru brevetul european nr. 0482154 , depusă la 16 mai 1991, emisă la 22 iunie 1994 și expirată la 16 mai 2011), Regatul Unit State ( brevetul SUA 5.214.703 , eliberat la 25 mai 1993 și expirat la 7 ianuarie 2012) și Japonia (JP 3225440) (expirat la 16 mai 2011).
MediaCrypt AG oferă acum un succesor IDEA și se concentrează pe noul său cifru (lansare oficială din mai 2005) IDEA NXT , care anterior a fost numită FOX.
Literatură
- Hüseyin Demirci, Erkan Türe, Ali Aydin Selçuk, A New Meet in the Middle Attack on The IDEA Block Cipher, al 10-lea workshop anual privind zonele selectate din criptografie , 2004.
- Xuejia Lai și James L. Massey, O propunere pentru un nou standard de criptare bloc , EUROCRYPT 1990, pp. 389–404
- Xuejia Lai și James L. Massey și S. Murphy, cifrări Markov și criptanaliză diferențială, Advances in Cryptology - Eurocrypt '91 , Springer-Verlag (1992), pp. 17–38.