3DES

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
3DES
3des-overall-view.png
3DES
Rodzaj algorytmu algorytm szyfrowania symetrycznego
Długość klucza 168 bitów
Liczba rund 3


3DES to algorytm szyfrowania symetrycznego polegający na trzykrotnym przetworzeniu wiadomości algorytmem DES:

  1. szyfrujemy pierwszym kluczem
  2. deszyfrujemy drugim kluczem
  3. szyfrujemy trzecim kluczem

Jeśli założymy, że E_i(m) jest operacją szyfrowania (encryption) kluczem o numerze "i" wiadomości "m" (message), a D_i(m) jest odpowiednio operacją deszyfrowania (decryption), to całość można zapisać jako:

c = E_3(D_2(E_1(m)))

Użycie deszyfrowania jako drugiej fazy nie wpływa na siłę algorytmu (deszyfrowanie w DES-ie jest identyczne jak szyfrowanie, tylko ma odwróconą kolejność rund), ale umożliwia – w razie konieczności – użycie 3DES-a w trybie kompatybilności z DES-em – za klucz pierwszy i drugi, lub drugi i trzeci przyjmujemy dowolny taki sam klucz, a za ostatni zwykły klucz DES-owski:

c = E_3(D_1(E_1(m))) = E_3(m)
c = E_3(D_3(E_1(m))) = E_1(m)

3DES używa takich samych rozmiarów bloków oraz trybów jak zwykły DES.

3DES z trzema różnymi kluczami (3TDES) ma siłę 168 bitów: trzykrotne szyfrowanie DES kluczem 56-bitowym (wliczając bit parzystości siła 3DES wynosi 192 bity), jednak ze względu na atak typu meet in the middle siła 3DES-a wynosi 2^{112}.