DESX | |
---|---|
Skaber | Ronald Rivest |
Oprettet | 1984 |
Nøglestørrelse | 184 bit |
Blokstørrelse | 64 bit |
Antal runder | 16 |
Type | Feistel netværk |
DESX er en symmetrisk krypteringsalgoritme baseret på DES (Data Encryption Standard) blokchiffer. Denne algoritme bruger en nøgleblegningsmetode til at forbedre modstanden mod brute-force- angreb .
Den originale DES-algoritme blev godkendt som standard i 1977 og havde en nøglelængde på 56 bit ( mulige nøgler). Algoritmen er blevet kritiseret på grund af det faktum, at computerkraften til fuldstændig opregning af nøgler var tilgængelig for store organisationer og regeringer, især US National Security Agency . For at øge nøglelængden af DES-algoritmen uden væsentlige ændringer , blev DESX-algoritmen foreslået af kryptoanalytiker Ronald Rivest fra RSA i 1984. Den øgede sikkerhed af algoritmen blev formelt demonstreret af Joe Kilian og Philip Rogueway i 1996.
Essensen af algoritmen er, at før og efter udførelse af en enkelt DES, bliver forskellige 64-bit nøglefragmenter overlejret dataene ved hjælp af XOR-operationen:
Således øges nøglelængden til 56 + 2 × 64 = 184 bit.
DESX er fuldt ud kompatibel med DES-algoritmen, hvis K 1 = K 2 = 0. Forfatterne af algoritmen giver en række enkle anbefalinger, der giver dig mulighed for at bruge en variabel størrelse af krypteringsnøglen, efter at have anvendt hashing med SHA-1. algoritme . Derudover tillader forfatterne af algoritmen brugen af en 120-bit krypteringsnøgle, mens K 1 er sat lig med K 2 . Der er en variant af DESX, også udviklet af RSA, med en 120-bit nøgle bestående af K og K 1 , og K 2 værdien er en funktion af alle 16 bytes af krypteringsnøglen. En anden variant af DESX-algoritmen er kendt, hvor modulo-addition udføres i stedet for begge XOR-operationer .
Hastigheden af DESX-algoritmen er omtrent lig med DES-hastigheden.
DESX er ret robust, har en hardwareimplementering og er meget udbredt.
DESX-implementeringen har været inkluderet i RSA Securitys BSAFE kryptografiske biblioteker siden slutningen af 1980'erne.
Selvom nøglelængden af DESX-algoritmen er 184 bit, er den effektive nøglelængde 56 + 64 - 1 - log 2 (M) = 119 - log 2 (M) = ~119 bit, hvor M er antallet af kendte klartekst/ chiffertekstpar. Desuden falder nøglelængden til 88 bit med kendte klartekster og ved brug af et adaptivt valgt klartekstangreb . Derfor bruger nogle implementeringer nøglen K2 som en envejsfunktion af K1 og K.
DESX øger også styrken af DES mod differentiel og lineær kryptoanalyse , selvom forbedringen ikke er så signifikant som i tilfælde af et brute-force-angreb. For at kunne angribe DESX-algoritmen med succes vil differentiel krypteringsanalyse kræve kendte klartekster ( for DES), mens lineær krypteringsanalyse vil kræve klartekster ( for DES).
Symmetriske kryptosystemer | |
---|---|
Stream-cifre | |
Feistel netværk | |
SP netværk | |
Andet |