În criptografie, 3DES, numit și Triplu DES (în engleză Triple DES) este un cifru pe blocuri format pe baza DES, prin aplicarea acestuia de trei ori.

Schemă de principiu a funcționării 3DES

Algoritm

modificare

Când s-a descoperit că cheile pe 56 de biți folosite de DES nu sunt suficiente pentru a proteja împotriva atacurilor cu forță brută, 3DES a fost ales ca modalitate simplă de a mări spațiul cheilor fără nevoia de a trece la un nou algoritm. Utilizarea a trei pași este esențială pentru a evita atacurile meet-in-the-middle care sunt eficiente împotriva criptării duble cu DES. Mulțimea funcțiilor de criptare DES cu toate cheile posibile nu formează cu operațiunea de compunere a funcțiilor o structură matematică de grup;[1] dacă ar fi fost așa, construcția 3DES ar fi fost echivalentă cu o operațiune DES și astfel, la fel de nesigură ca aceasta.

Cea mai simplă variantă de 3DES funcționează astfel:  , unde   este blocul în clar iar  ,  , și   sunt cheile DES. Această variantă este cunoscută sub notația EEE deoarece toate cele trei operațiuni efectuate cu cheile sunt criptări. Pentru a simplifica interoperabilitatea între DES și 3DES, pasul din mijloc se înlocuiește de obicei cu decriptarea (modul EDE):   și astfel o singură criptare DES cu cheia   poate fi reprezentată ca 3DES-EDE cu cheile  . Alegerea decriptării pentru pasul al doilea nu afectează securitatea algoritmului.

Securitatea

modificare

În general, 3DES cu trei chei diferite are o lungime a cheii de 168 de biți (cu biții de paritate, 192): trei chei DES pe 56 de biți, dar, datorită atacurilor meet-in-the-middle securitatea efectivă pe care o furnizează este de doar 112 biți. O variantă, numită 3DES cu două chei, folosește k1 = k3, reducând astfel lungimea cheii la 112 biți și lungimea de stocare la 128 de biți. Totuși, acest mod de funcționare este susceptibil la unele atacuri cu text clar ales sau cu text clar cunoscut[2][3] și astfel este considerat de NIST ca având securitate echivalentă cu doar 80 de biți[4].

Cel mai eficient atac asupra 3DES cu trei chei necesită aproximativ 232 texte clare cunoscute, 2113 pași, 290 criptări DES individuale, și 288 locuri de stocare[5] Acesta este un volum nepractic și NIST consideră criptarea 3DES cu 3 chei utilizabilă până în 2030.[4] Dacă atacatorul caută să descopere oricare din multiplele chei criptografice, există un atac eficient din punct de vedere spațial care descoperă una din 228 chei, dacă se dau câteva texte clare alese pentru fiecare cheie, efectuând 284 operațiuni de criptare[6].

  1. ^ Keith W. Campbell, Michael J. Wiener: DES is not a Group. CRYPTO 1992: pp512–520
  2. ^ Ralph Merkle, Martin Hellman: Despre securitatea criptării multiple Arhivat în , la Wayback Machine. (PDF), Comunicări ACM, Vol 24, Nr 7, pp 465–467, Iulie 1981.
  3. ^ Paul van Oorschot, Michael J. Wiener , Un atac cu text clar cunoscut asupra criptării triple cu două chei, EUROCRYPT'90, LNCS 473, 1990, pp 318–325.
  4. ^ a b NIST, Recommendation for Key Management—Part 1: general (PDF), Special Publication 800-57.
  5. ^ Stefan Lucks: Attacking Triple Encryption Arhivat în , la Wayback Machine. (PDF), Fast Software Encryption 1998, pp 239–253.
  6. ^ Eli Biham: How to Forge DES-Encrypted Messages in 228 Steps Arhivat în , la Wayback Machine. (PostScript), 1996.