3DES – Algorytm Szyfrowania Symetrycznego
Algorytm 3DES to metoda szyfrowania symetrycznego, która polega na trzykrotnym zastosowaniu algorytmu DES do przetwarzania wiadomości:
- pierwsze szyfrowanie z użyciem pierwszego klucza,
- deszyfrowanie z zastosowaniem drugiego klucza,
- ponowne szyfrowanie przy użyciu trzeciego klucza.
Zakładając, że:
Ei(m) oznacza operację szyfrowania (encryption) wiadomości m kluczem o numerze „i”, a Di(m) jest operacją deszyfrowania (decryption), możemy zapisać całość w następujący sposób:
c = E3(D2(E1(m)))
Użycie deszyfrowania jako drugiego etapu nie wpływa na bezpieczeństwo algorytmu (deszyfrowanie w DES jest analogiczne do szyfrowania, z tą różnicą, że kolejność rund jest odwrócona). Dzięki temu 3DES może być używany w trybie kompatybilności z DES, gdzie dla pierwszego i drugiego klucza oraz dla drugiego i trzeciego klucza można przyjąć dowolny identyczny klucz, a ostatni klucz powinien być standardowym kluczem DES-owskim:
c = E3(D1(E1(m))) = E3(m)
W ten sposób uzyskujemy:
c = E3(D3(E1(m))) = E1(m)
Algorytm 3DES korzysta z tych samych rozmiarów bloków oraz trybów co standardowy DES.
3DES z trzema różnymi kluczami (3TDES) ma teoretyczną siłę 168 bitów, ponieważ wykonuje trzykrotne szyfrowanie DES z kluczem 56-bitowym (uwzględniając bit parzystości, siła 3DES wynosi 192 bity). Niemniej jednak, ze względu na atak typu meet in the middle, rzeczywista siła 3DES wynosi:
2112.