Trippel DES

Innen kryptografi er Trippel DES et blokkchiffer, avledet av Data Encryption Standard ved å bruke DES kryptering tre ganger.


== Forkortelser ==
Trippel DES er også kjent som TDES, 3DES eller, mer standardisert, TDEA (Triple Data Encryption Algorithm). Det er vanlig å bruke DES (standarden), for å referere til DEA (algoritmen). Det finnes også varianter av TDES som bruker to forskjellige nøkler (2TDES) og tre forskjellige nøkler (3TDES).


== Algoritme ==
Når det ble kjent at en 56-bit nøkkel som er brukt i DES ikke var nok for å effektivt hindre brute force angrep, så ble TDES valgt som en enkel måte å øke nøkkelrommet på, uten å måtte bytte til en ny algoritme. Bruken av tre steg er essensielt for å unngå meet-in-the-middle angrep, som på sin side er meget effektive for å bryte dobbel DES kryptering. Legg merke til at DES ikke er en gruppe; om den hadde vært det, så ville TDES kontstruksjonen vært lik én enkel DES operasjon, og ikke sikrere.
Den enkleste varianten av TDES fungerer som følger: 
  
    
      
        
          
            DES
          
        
        (
        
          k
          
            3
          
        
        ;
        
          
            DES
          
        
        (
        
          k
          
            2
          
        
        ;
        
          
            DES
          
        
        (
        
          k
          
            1
          
        
        ;
        M
        )
        )
        )
      
    
    {\displaystyle {\textrm {DES}}(k_{3};{\textrm {DES}}(k_{2};{\textrm {DES}}(k_{1};M)))}
  , hvor 
  
    
      
        M
      
    
    {\displaystyle M}
   er meldingsblokken som skal krypteres, og 
  
    
      
        
          k
          
            1
          
        
      
    
    {\displaystyle k_{1}}
  , 
  
    
      
        
          k
          
            2
          
        
      
    
    {\displaystyle k_{2}}
  , og 
  
    
      
        
          k
          
            3
          
        
      
    
    {\displaystyle k_{3}}
   er DES nøkler. Denne varianten er vanligvis kjent som EEE fordi alle tre DES operasjonene er krypteringer. For å forenkle interoperabilitet mellom DES og TDES, så blir som regel det midterste trinnet byttet ut med dekryptering (EDE modi): 
  
    
      
        
          
            DES
          
        
        (
        
          k
          
            3
          
        
        ;
        
          
            
              DES
            
          
          
            −
            1
          
        
        (
        
          k
          
            2
          
        
        ;
        
          
            DES
          
        
        (
        
          k
          
            1
          
        
        ;
        M
        )
        )
        )
      
    
    {\displaystyle {\textrm {DES}}(k_{3};{\textrm {DES}}^{-1}(k_{2};{\textrm {DES}}(k_{1};M)))}
   og på den måten kan en enkelt DES kryptering med nøkkelen 
  
    
      
        k
      
    
    {\displaystyle k}
   bli representert som TDES-EDE med 
  
    
      
        
          k
          
            1
          
        
        =
        
          k
          
            2
          
        
        =
        
          k
          
            3
          
        
        =
        k
      
    
    {\displaystyle k_{1}=k_{2}=k_{3}=k}
  . Valget for dekryptering av det midterste trinnet påvirker ikke sikkerheten i algoritmen.


== Sikkerhet ==
Hovedsakelig har TDES med tre forskjellige nøkler (3TDES) en nøkkellengde på 168 bits: tre 56-bit DES nøkler (med paritetsbits har 3TDES en total lagringslengde på 192 bits), men på grunn av meet-in-the-middle angrep så er den reelle sikkerheten bare på 112 bits. En variant, kalt to-nøkkel TDES (2TDES), bruker k1 = k3, og reduserer derved nøkkellengden til 112 bits, og lagringslengden til 128 bits. Denne metoden, derimot, er utsatt for enkelte angrep med utvalgte klartekster, eller angrep med kjente klartekster og har derfor bare fått tildelt et sikkerhetsnivå på 80 bits.Frem til 2005 så har det beste kjente angrepet på 3TDES krevet omtrent 232 kjente klartekster, 2113 steg, 290 enkle DES krypteringer og 288 hukommelse (referansen beskriver andre avveiinger mellom tid og hukommelse). Dette er for tiden ikke praktisk gjennomførbart. Hvis en angriper ønsker å finne en av mange kryptografiske nøkler, så finnes det et hukommelseseffektivt angrep som vil finne en av 228 nøkler, gitt at man har en håndfull utvalgte klartekster per nøkkel og omtrent 284 krypteringsoperasjoner. Dette angrepet er velegnet for parallellkjøring, og grenser til det som er praktisk gjennomførbart, gitt at man har et milliardbudsjett og flere år på seg for å utføre angrepet, selv om omstendighetene rundt selve gjennomføringen vil være begrenset.


== Bruk ==
TDES forsvinner sakte, men sikkert fra vanlig bruk, som oftest erstattet av sin naturlige oppfølger, AES. Innenfor industrien for elektronisk betalingsformidling benyttes fortsatt 2TDES i stor utstrekning, og fremdeles utvikles og fremmes standarder basert på denne (f.eks. EMV). Dette garanterer at TDES vil være en aktiv kryptografisk standard langt inn i fremtiden.
Konstruksjonen av DES og dermed også TDES lider av dårlig effektivitet i programvare. På moderne prosessorer så yter AES omtrent seks ganger raskere. TDES er bedre egnet å implementere i maskinvare, og det er absolutt på det området TDES brukes i dag (f.eks. VPN bokser og mobiltelefoner), men selv der viser AES seg å være mer effektiv. AES har betraktelig høyere sikkerhetsmargin ved å ha større blokkstørrelse, potensielt lengre nøkler, og frem til 2010, ingen kjente vellykkede kryptoanalytiske angrep.


== Se også ==
DES-X
Walter Tuchman
Horst Feistel
Data Encryption Standard (DES)
Advanced Encryption Standard (AES)


== Referanser ==