Vilken är säkrare och minst möjligt att brytas genom kryptanalys AES eller 3DES (oavsett prestanda)?
Jag måste använda kryptering för mina projekt för att lagra och säkra känslig information som inkluderar bankkonton, sorteringskoder och tredjeparts databaserad bank. Jag överväger för närvarande att använda 3DES i CFB-läge, men jag är inte särskilt säker på om det är det bästa alternativet och vad som är andra alternativ.
Jag vet att titeln inte ger någon aning om vad frågan handlar om, men jag kunde inte tänka mig något bättre.
Svar
Gå till AES.
AES är efterföljaren till DES som standard symmetrisk krypteringsalgoritm för amerikanska federala organisationer. AES använder nycklar på 128, 192 eller 256 bitar, även om , 128 bitars nycklar ger tillräcklig styrka idag. Den använder 128 bitars block och är effektiv i både mjukvaru- och hårdvaruimplementeringar. Den valdes genom en öppen tävling med hundratals kryptografer under flera år. = ”0a5a3a351b”>
DES är den tidigare ”datakrypteringsstandarden” från sjuttiotalet. Dess nyckelstorlek är för kort för korrekt säkerhet. 56 effektiva bitar kan vara br ute-tvång, och det har gjorts för mer än tio år sedan. DES använder 64-bitarsblock, vilket medför några potentiella problem vid kryptering av flera gigabyte data med samma nyckel.
3DES är ett sätt att återanvända DES-implementeringar genom att kedja tre instanser av DES med olika nycklar. 3DES tros fortfarande vara säkert eftersom det kräver 2 112 -operationer som inte kan uppnås med förutsebar teknik. 3DES är mycket långsamt, särskilt i mjukvaruimplementeringar eftersom DES har utformats för prestanda i hårdvara.
Resurser:
http://www.differencebetween.net/technology/difference-between-aes-and-3des http://www.icommcorp.com/downloads/Comparison%20AES%20vs%203DES.pdf (offline, fortfarande i webbarkivet )
Kommentarer
- AES och andra NIST-standarder aren ' t mycket bra i mjukvara
- @AndreyBotalov: för fallet AES är detta en ganska partisk uppfattning. Vid tidpunkten för AES-urvalsprocessen (jag var där!), Efter att ha sammanställt massor av analyser om att 13 av de 15 kandidaterna såg ut " stenfast ", många prestationsmätningar gjordes och Rijndael var en av " snabba " -kodarna. Egentligen var det den som var den mest genomgående snabba över många arkitekturer, och det var mycket instrumental i sitt val. RC6 var snabbare på en dator men en dator är den sista plattformen som har verkliga problem med krypteringsprestanda. AES slår RC6 på smartkort och små ARM / Mips.
- Dessutom har vi nu AES-förlängningar i moderna processorer, vilket massivt kan öka krypteringshastigheten.
Svar
Varken 3DES eller AES kan brytas med nuvarande teknik (och förutsebar teknik också). Du kan dock stöta på vissa säkerhetsproblem med 3DES om du krypterar mer än cirka 32 gigabyte data med en enda nyckel, medan gränsen är mycket högre med AES (detta beror på blockstorleken; 3DES använder 64-bitarsblock, vilket kan leda till problem efter bearbetning av 2 64/2 -block, dvs. 32 gigabyte; AES använder 128-bitarsblock, för en gräns på 2 128/2 -block, dvs. 2 68 byte, även känd som ”ganska mycket data”).
Eftersom AES också är märkbart snabbare än 3DES, finns det ingen anledning att använda 3DES för nya mönster.
Kommentarer
- Tack, jag lärde mig en ny teknisk term idag. " Ganska mycket data "
- +1 för " ganska mycket data. " Enligt WolframAlpha är 2 ^ 68 byte data ungefär 20 gånger informationsinnehåll för " all mänsklig kunskap. "
- @AndreyBotalov: det är 2 ^ 64 block , och varje block är 16 byte (2 ^ 4), därav 2 ^ 68 byte .
- Kan någon förklara vilken typ av " problem " man stöter på efter 2 ^ (64/2) med en 64-bitars blockstorlek?
- @FahadYousuf på grund av födelsedagen Problem, när du väl har krypterat sqrt (2 ^ n) block har du 50% chans för en kollision