2009-08-04 13 views
10

Credo che i fattori distintivi sonoQuando scegliere AesCryptoServiceProvider su AesManaged o RijndaelManaged?

  • AesCryptoServiceProvider è FIPS compatibile
  • AesManaged è cross-platform, richiede .NET 3.0
  • RijndaelManaged viene eseguito su .NET 2.0, richiede limitando la dimensione del blocco

è giusto?

+0

possibile duplicato del [Perché sono RijndaelManaged e AesCryptoServiceProvider restituire risultati diversi?] (http://stackoverflow.com/questions/957388/why-are-rijndaelmanaged-and-aescryptoserviceprovider-returning-different-results) –

risposta

2

AesManaged documentation afferma che

"L'algoritmo AES è essenzialmente l'algoritmo simmetrico Rijndael con una dimensione di blocco fissa e iterazione count. Questo funzioni di classe allo stesso modo come la classe RijndaelManaged ma limita blocchi a 128 bit e non lo fa modalità di feedback "

Ciò suggerirebbe l'utilizzo della modalità ECB (Electronic Codebook). Questo può essere un punto debole significativo per i dati crittografati poiché significa che blocchi identici di dati di testo in chiaro generano blocchi identici di output di cifratura.


Edit: (come correzione)
documentazione per la proprietà Mode indica che la modalità di default infact a CBC (che è confusamente una modalità di feedback), ma non può essere impostato per CFB o OFB (Cipher Feedback/Output Feedback)

+2

No - Non mi suggerisce che sia utile solo per la BCE. Conoscendo lo stile di Microsoft doc, se in effetti AES fosse utilizzabile solo per ECBB, il documento lo dichiara esplicitamente. (e non è "Cookbook", il suo "Codebook"). Esistono altre modalità supportate da AES, incluso CBC. – Cheeso

+0

Hmm, penso che tu abbia ragione, potrebbe essere una contraddizione nella documentazione. Risposta aggiornata – PaulG

Problemi correlati