Spring til indhold

Triple DES

Fra Wikipedia, den frie encyklopædi
Triple Data Encryption Standard
Tre på hinanden følgende DES krypteringer
Generelt
Designer(e) IBM
Først publiceret 1999
Afledt af DES
Algoritme(r) baseret på dette design -
Detaljer om algoritmen
Blokstørrelse 64 bits
Nøglestørrelse(r) 168, 112 eller 56 bits (Afhængig af "Keying option" 1, 2, 3)
Struktur Feistel netværk
Antal runder -
Bedste kryptoanalyse
-


Triple DES (også kendt som 3DES og DESede) er en blokkrypteringsalgoritme baseret på DES algoritmen. Den går basalt set ud på at anvende DES tre gange med tre forskellige nøgler, men ikke alle måder at anvende tre DES krypteringer på er Triple DES, og ikke alle er lige sikre.

Almindeligvis udføres de tre DES krypteringer som en kryptering, efterfulgt af en dekryptering, og til sidst en kryptering. Dette kaldes EDE mode (encryption-decryption-encryption), deraf DESede. Det skyldes at man ved at vælge nøglen til dekypteringen til at være den samme som til den ene eller begge krypteringer blot får en DES kryptering (de to trin hvor nøglen er ens "ophæver" hinanden), og på denne måde bliver en Triple DES implementering kompatibel med (typisk ældre) DES implementeringer. Man kan også anvende EEE mode, dvs. tre krypteringer i træk.

For at udnytte algoritmen til fulde skal de tre trin udføres med hver sin 56-bit nøgle. Umiddelbart skulle man tro, at dette ville give en sikkerhed svarende til 168 bits, men sikkerheden i Triple DES er kun 112 bits. Det skyldes at algoritmen er sårbar for meet-in-the-middle angreb; en standardteknik inden for kryptoanalysen.

Triple DES er (ifølge offentligt tilgængelig information) ikke blevet brudt endnu, men er efter moderne standarder meget langsom. Efter en offentlig konkurrence er blev Rijndael algoritmen valgt til at erstatte DES og Triple DES. Denne er nu kendt som Advanced Encryption Standard (AES).

Keying options

[redigér | rediger kildetekst]

Standarden definerer 3 keying options:

  • Keying option 1: Alle 3 nøgler er uafhængige.
  • Keying option 2: K1 og K2 er uafhængige, og K3 = K1.
  • Keying option 3: Alle 3 nøgler er ens, altså K1 = K2 = K3.

Keying option 1 er den stærkeste, med totalt 3 × 56 = 168 uafhængige nøgle-bits.

Keying option 2 giver mindre sikkerhed, med 2 × 56 = 112 nøgle-bits. Stærkere kryptering end blot at anvende DES kryptering 2 gange (altså, med 2 forskellige nøgler), da det beskytter imod såkaldte meet-in-the-middle angreb.

Keying option 3 er ækvivalent med DES, med kun 56 nøgle-bits. Giver bagud-kompatibilitet med DES, da de to første DES operationer udligner hinanden. Denne mulighed anbefales ikke længere af National Institute of Standards and Technology (NIST),[1] og er ikke understøttet af ISO/IEC 18033-3.

  • Stefan Lucks: Attacking Triple Encryption. Fast Software Encryption 1998: pp239–253
  1. ^ NIST SP 800-67