3DES-encryptiealgoritme

Overzicht van de drie afzonderlijke DES-bewerkingen.

3DES, uitgesproken als "triple DES", is een encryptiealgoritme. Het maakt gebruik van het ondertussen als kraakbaar beschouwde Data Encryption Standard of kortweg DES-algoritme, maar op zodanige wijze dat het veel moeilijker te kraken is.

De reden dat DES als kraakbaar wordt beschouwd is niet dat het op zich een zwak algoritme is, maar dat de sleutels te kort zijn, namelijk 56 bits. Door middel van "brute kracht" is voor instanties met zeer krachtige computers tegenwoordig mogelijk om alle mogelijkheden af te gaan totdat de juiste sleutel gevonden is.

Om het DES-algoritme aanzienlijk veiliger te maken, wordt bij 3DES gebruik gemaakt van een langere sleutel. Hierbij worden 3 afzonderlijke DES-bewerkingen achtereenvolgens op de te coderen data losgelaten. Dat kan op twee manieren: met 2 sleutels van 56 bits waarbij de eerste en derde bewerking met dezelfde sleutel worden uitgevoerd, of met 3 onafhankelijke sleutels van 56 bits. De totale sleutellengte waarmee gecodeerd wordt is dus respectievelijk 112 bits of 168 bits, waarvan de laatste uiteraard de veiligste vorm is.

Decryptie is bij symmetrische algoritmen zoals DES/3DES het omgekeerde van encryptie. De encryptie vindt plaats met driemaal DES-encryptie met sleutels A, B, C en decryptie vindt plaats met driemaal DES-decryptie met sleutels C, B, A.

Net als veel andere encryptie-algoritmen kan ook dit algoritme worden ingezet in een aantal modi zoals ECB en CBC, waarvan ECB doorgaans afgeraden wordt omdat het replay attacks in de hand werkt.

In tegenstelling tot DES heeft 3DES een sleutellengte die zo groot is dat het (nog) niet mogelijk is om de juiste sleutel te brute-forcen. Wat er tegenin gebracht zou kunnen worden is dat de blokgrootte die gecodeerd wordt tot 64 bits beperkt is. In dat opzicht is het nieuwere AES algoritme, mits gebruikt met afdoende lange sleutels, een sterkere optie. AES is bedoeld als de opvolger van DES en zal gaandeweg ook 3DES gaan vervangen.