2009-08-04 18 views
10

Ich denke, die UnterscheidungsfaktorenWann würde ich AesCryptoServiceProvider über AesManaged oder RijndaelManaged wählen?

  • AesCryptoServiceProvider sind, ist FIPS konform
  • AesManaged Cross-Plattform ist, erfordert .NET 3.0
  • RijndaelManaged läuft auf .NET 2.0, erfordert die Blockgröße zu beschränken

ist das ungefähr richtig?

+0

möglich Duplikat [Warum RijndaelManaged und AesCryptoServiceProvider unterschiedliche Ergebnisse Rückkehr?] (http://stackoverflow.com/questions/957388/why-are-rijndaelmanaged-and-aescryptoserviceprovider-returning-different-results) –

Antwort

2

AesManaged documentation besagt, dass

„Der AES Algorithmus im Wesentlichen der Rijndael symmetrischen Algorithmus mit fester Blockgröße und Anzahl der Wiederholungen dar. Diese Klasse Funktionen der gleichen Weise wie die RijndaelManaged Klasse sondern begrenzt Blöcke zu 128 Bits und nicht Erlaube Rückkopplungsmodi. "

Das würde vorschlagen, dass es den ECB-Modus (Electronic Codebook) verwendet. Dies kann eine erhebliche Schwäche für die verschlüsselten Daten sein, da identische Blöcke von Klartextdaten zu identischen Blöcken der Chiffre-Ausgabe führen.


Edit: (As-Korrektur)
Dokumentation für die Mode Eigenschaft gibt an, dass Modus infact standardmäßig auf CBC (die zum Verwechseln ein Feedback-Modus), aber nicht auf CFB oder OFB (Cipher Feedback/Output eingestellt werden Feedback)

+2

Nein - Es sagt mir nicht, dass es nur für die EZB nützlich ist. Wenn man den Microsoft-Doc-Stil kennt, wenn AES tatsächlich nur für ECBB verwendbar ist, wird es vom Doc explizit angegeben. (und es ist nicht "Cookbook", sein "Codebook"). Es gibt andere Modi, die von AES unterstützt werden, einschließlich CBC. – Cheeso

+0

Hmm, ich denke du hast Recht, es könnte ein Widerspruch in der Dokumentation sein. Aktualisierte Antwort – PaulG