Triplu DES

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 17 octombrie 2015; verificările necesită 14 modificări .
Triplu DES
Creator IBM
publicat 1978 _
Dimensiunea cheii 112 (2TDES) sau 168 biți (3TDES)
Dimensiunea blocului pe 64 de biți
Numărul de runde 48 de runde echivalente DES
Tip de Rețeaua Feistel

Triple DES (3DES) este un cifru bloc simetric creat de Whitfield Diffie , Martin Hellman și Walt Tuchmann în 1978 pe baza algoritmului DES pentru a elimina principalul dezavantaj al acestuia din urmă - o lungime mică a cheii (56 de biți), care poate fi crăpat de forță brută . Viteza 3DES este de 3 ori mai mică decât cea a DES, dar puterea criptografică este mult mai mare - timpul necesar pentru criptoanaliza 3DES poate fi de un miliard de ori mai mare decât timpul necesar pentru deschiderea DES. 3DES este folosit mai des decât DES, care este ușor de spart folosind tehnologia actuală (în 1998, Electronic Frontier Foundation , folosind un computer special DES Cracker , a spart DES în 3 zile). 3DES este o modalitate simplă de a aborda deficiențele DES. Algoritmul 3DES se bazează pe DES, deci este posibil să folosiți programe concepute pentru DES pentru a-l implementa. Numele oficial al algoritmului utilizat în standarde este TDEA sau Triple DEA (Triple Data Encryption Algorithm). Cu toate acestea, termenul „3DES” este folosit mai pe scară largă de către vânzătorii, utilizatorii și dezvoltatorii de criptosisteme.

Algoritm

Schema algoritmului 3DES arată ca cea din figură. O versiune simplă a 3DES poate fi reprezentată după cum urmează:

unde , ,  sunt cheile pentru fiecare pas DES,  sunt intrarea care trebuie criptată. Există 3 tipuri de algoritm 3DES:

Criptare : Decriptare: Criptare: Decriptare: Criptare: Decriptare:

Cea mai populară variantă a 3DES este DES-EDE3.

Alegerea tastelor

La executarea algoritmului 3DES, cheile pot fi alese astfel:

Cea mai sigură opțiune este prima opțiune: lungimea cheii DES este de 56 de biți, iar lungimea lui 3DES este de 3 ori mai mare, adică este egală cu 168 de biți (se folosesc doar 7 biți în fiecare octet de 64 de biți). bit DES, deci lungimea cheii este de fapt de 56 de biți, în loc de 64, iar lungimea cheii 3DES este de 168, nu de 192 de biți).

A doua opțiune este oarecum mai puțin sigură, cu o lungime a cheii de 2 × 56 = 112 biți. Cu toate acestea, această opțiune de criptare este mai sigură decât criptarea convențională dublă DES cu chei și : protejează împotriva atacurilor „ întâlnire în mijloc ”.

A treia opțiune este echivalentă cu DES din punct de vedere al securității: aici lungimea cheii este tot de 56 de biți. Cu algoritmul DES-EDE3, datorită acestei alegeri a cheilor, criptarea (primul pas) și decriptarea (al doilea pas) se anulează reciproc. Această alegere a tastelor nu mai este recomandată de Institutul Național de Standarde și Tehnologie (NIST) [1] și nu este acceptată de ISO/IEC 18033-3.

Fiecare cheie DES este stocată și transmisă ca 8 octeți, fiecare octet în paritate impară [2] , astfel încât setul complet de chei va ocupa 24 de octeți în prima opțiune, 16 în a doua și 8 în a treia.

Criptarea mai multor blocuri

Ca și în cazul altor blocuri de cifrare, mai multe blocuri de date pot fi criptate și decriptate folosind unul dintre modurile de cifrare , care sunt determinate independent de algoritmul de cifrare bloc în sine. Cu toate acestea, ANSI X9.52 specifică în mod explicit și NIST SP 800-67 până la SP 800-38A [3] , că unele moduri pot fi utilizate numai cu anumite restricții care nu sunt în general necesare. De exemplu, ANSI X9.52 specifică că pentru modul de înlănțuire a blocurilor de text cifrat , vectorul de inițializare trebuie să se schimbe de fiecare dată, în timp ce ISO/IEC 10116 [4] nu necesită acest lucru. FIPS PUB 46-3 și ISO/IEC 18033-3 definesc doar 3DES pentru un singur bloc și nu impun restricții asupra modurilor de criptare ale mai multor blocuri. În timp ce Triple CBC îmbunătățește puterea cifrului, Triple ECB este acum mai frecventă.

Securitate

3DES cu trei chei diferite are o lungime a cheii de 168 de biți, dar din cauza atacurilor de tip meet-in-the-middle , puterea criptografică efectivă este de doar 112 biți. În varianta DES-EDE c, dimensiunea nominală a cheii este de asemenea de 112 biți. Cu toate acestea, această alegere a cheilor este vulnerabilă la anumite atacuri de text simplu , ceea ce reduce lungimea efectivă a cheii la 80 de biți. Un atac de succes asupra 3DES ar necesita un pic de text simplu cunoscut , pași, cicluri de criptare DES și un pic de memorie [5] . În acest moment, acest lucru nu este practic, iar NIST estimează că algoritmul cu alegerea a trei chei diferite ar trebui să rămână fiabil până în anii 2030.

Aplicarea 3DES

3DES cu trei chei a fost implementat în multe aplicații orientate web, inclusiv PGP și S /mime . Triple DES este o alternativă destul de populară la DES și este folosită în managementul cheilor ANSI X9.17 și ISO 8732 și PEM (Privacy Enhanced Mail). Industria plăților electronice utilizează 3DES și continuă să dezvolte și să publice în mod activ standarde bazate pe acesta (cum ar fi EMV ). Microsoft OneNote , Microsoft Outlook 2007 și Microsoft System Center Configuration Manager 2012 utilizează 3DES pentru a proteja datele de sistem și de utilizator cu parole. Nu există atacuri criptografice practice cunoscute asupra 3DES.

Cu toate acestea, 3DES intră încet în uz: este înlocuit de noul algoritm AES Rijndael . Rijndael implementat în software este de șase ori mai rapid. Prin urmare, 3DES este mai potrivit pentru implementări hardware. Multe sisteme de securitate continuă să accepte atât 3DES, cât și AES, folosind AES în mod implicit. Deși 3DES poate fi acceptat pentru compatibilitate cu versiunea anterioară , nu mai este recomandat pentru utilizare.

Link -uri

Vezi și

Note

  1. Barker, William; Barker, Elaine Ediția specială NIST 800-67 Revizia 1: Recomandare pentru algoritmul de criptare triplă a datelor (TDEA) Block Cipher , 2012 . Consultat la 11 decembrie 2015. Arhivat din original la 2 octombrie 2015.
  2. ANSI X3.92-1981 (unul dintre standardele care definesc DES), secțiunea 3.5: „Un bit în fiecare octet de 8 biți al KEY poate fi utilizat pentru detectarea erorilor în generarea, distribuția și stocarea cheii. Biții 8, 16,..., 64 sunt folosite pentru a se asigura că fiecare octet are paritate impară."
  3. Ediția specială NIST 800-38A, Recommendation for Block Cipher Modes of Operation, Methods and Techniques , 2001 Arhivat 22 iulie 2017 la Wayback Machine (PDF)
  4. ISO/IEC 10116:2006 Tehnologia informației — Tehnici de securitate — Moduri de operare pentru un cifr pe bloc de n biți . Consultat la 11 decembrie 2015. Arhivat din original la 17 martie 2012.
  5. Stefan Lucks : Attacking Triple Encryption Arhivat 9 noiembrie 2005. ( PDF ), Fast Software Encryption 1998, pp. 239–253.