Welches ist sicherer und kann am wenigsten durch Kryptoanalyse AES oder 3DES (unabhängig von der Leistung) zerstört werden?
Ich muss für meine Projekte eine Verschlüsselung verwenden, um vertrauliche Informationen zu speichern und zu sichern, darunter Bankkonten, Bankleitzahlen und datenbezogene Daten von Drittanbietern. Ich denke derzeit über die Verwendung von 3DES im CFB-Modus nach, bin mir aber nicht sicher, ob dies die beste Option ist und welche anderen Alternativen es gibt.
Ich weiß, dass der Titel nicht viel Aufschluss darüber gibt, worum es bei der Frage geht. aber ich könnte mir nichts Besseres vorstellen.
Antwort
Entscheide dich für AES.
AES ist der Nachfolger von DES als standardmäßiger symmetrischer Verschlüsselungsalgorithmus für US-Bundesorganisationen. AES verwendet jedoch Schlüssel mit 128, 192 oder 256 Bit 128-Bit-Schlüssel bieten heute eine ausreichende Festigkeit. Sie verwenden 128-Bit-Blöcke und sind sowohl bei Software- als auch bei Hardware-Implementierungen effizient. Sie wurden in einem offenen Wettbewerb ausgewählt, an dem mehrere Jahre lang Hunderte von Kryptographen beteiligt waren.
DES ist der vorherige „Datenverschlüsselungsstandard“ aus den siebziger Jahren. Seine Schlüsselgröße ist zu kurz für die richtige Sicherheit. Die 56 effektive Bits können br sein ute-gezwungen, und das wurde vor mehr als zehn Jahren getan. DES verwendet 64-Bit-Blöcke, was beim Verschlüsseln mehrerer Gigabyte Daten mit demselben Schlüssel zu potenziellen Problemen führen kann.
3DES ist eine Möglichkeit, DES-Implementierungen wiederzuverwenden, indem drei DES-Instanzen mit unterschiedlichen Schlüsseln verkettet werden. Es wird angenommen, dass 3DES immer noch sicher ist, da es 2 112 Operationen erfordert, die mit vorhersehbarer Technologie nicht erreichbar sind. 3DES ist besonders bei Software-Implementierungen sehr langsam, da DES für die Leistung in Hardware entwickelt wurde.
Ressourcen:
http://www.differencebetween.net/technology/difference-between-aes-and-3des http://www.icommcorp.com/downloads/Comparison%20AES%20vs%203DES.pdf (offline, noch im Webarchiv )
Kommentare
- AES und andere NIST-Standards ' ist nicht sehr gut in Software
- @AndreyBotalov: Für den Fall AES ist dies eine ziemlich voreingenommene Ansicht. Zum Zeitpunkt des AES-Auswahlverfahrens (ich war dort!), Nachdem 13 der 15 Kandidaten viele Analysen zusammengestellt hatten, sahen sie " steinhart wurden viele Leistungsmessungen durchgeführt, und Rijndael war einer der " schnellen " Chiffren. Tatsächlich war es dasjenige, das in vielen Architekturen am konstantesten schnell war, und das war sehr entscheidend für seine Wahl. RC6 war schneller auf einem PC , aber ein PC ist die letzte Plattform, auf der echte Probleme mit der Verschlüsselungsleistung auftreten. AES schlägt RC6 auf Smartcards und kleinen ARM / Mips.
- Außerdem haben wir jetzt AES-Erweiterungen in modernen Prozessoren, die die Geschwindigkeit der Verschlüsselung massiv erhöhen können.
Antwort
Weder 3DES noch AES können mit der aktuellen Technologie (und auch der vorhersehbaren Technologie) gebrochen werden. Bei 3DES können jedoch einige Sicherheitsprobleme auftreten, wenn Sie mehr als 32 Gigabyte Daten mit einem einzigen Schlüssel verschlüsseln, während das Limit bei AES viel höher ist (dies liegt an der Blockgröße; 3DES verwendet 64-Bit-Blöcke, die kann nach der Verarbeitung von 2 64/2 -Blöcken, dh 32 Gigabyte, zu Problemen führen; AES verwendet 128-Bit-Blöcke für ein Limit von 2 128/2 -Blöcken, dh 2 68 Bytes, auch als „ziemlich viele Daten“ bekannt.
Da AES auch deutlich schneller als 3DES ist, gibt es wenig Grund, 3DES für neue Designs zu verwenden.
Kommentare
- Danke, ich habe heute einen neuen Fachbegriff gelernt. " Sehr viele Daten "
- +1 für " ziemlich viele Daten. " Laut WolframAlpha sind 2 ^ 68 Datenbytes ungefähr das 20-fache der Informationsgehalt von " allen menschlichen Kenntnissen. "
- @AndreyBotalov: Es sind 2 ^ 64 Blöcke und jeder Block ist 16 Bytes (2 ^ 4), also 2 ^ 68 Bytes .
- Kann jemand erklären, welche Art von " Fehler " stößt man nach 2 ^ (64/2) mit einer 64-Bit-Blockgröße an?
- @FahadYousuf Wegen des Geburtstages Problem: Sobald Sie sqrt (2 ^ n) -Blöcke verschlüsselt haben, besteht eine 50% ige Kollisionswahrscheinlichkeit