2009-08-04 3 views
10

Я думаю, что отличительные факторыКогда я выберу AesCryptoServiceProvider через AesManaged или RijndaelManaged?

  • AesCryptoServiceProvider является FIPS совместимый
  • AesManaged является кросс-платформенной, требуется .NET 3.0
  • RijndaelManaged работает на .NET 2.0, требует ограничения размера блока

- это примерно?

+0

возможно дубликат [Почему RijndaelManaged и AesCryptoServiceProvider возвращаются разные результаты?] (http://stackoverflow.com/questions/957388/why-are-rijndaelmanaged-and-aescryptoserviceprovider-returning-different-results) –

ответ

2

AesManaged documentation утверждает, что

«Алгоритм AES, по существу, симметричный алгоритм Rijndael с фиксированным размером блока и итерации графа. Эти функции класса точно так же, как и RijndaelManaged класса, но ограничивает блоки до 128 бит и не разрешить режимы обратной связи. «

Это будет предлагать использовать режим ECB (электронная кодовая книга). Это может быть значительной слабостью к зашифрованным данным, так как это означает, что идентичные блоки данных обычного текста приведут к идентичным блокам вывода шифра.


Edit: (как коррекция)
Документация для Mode собственности указывает на то, что режим Infact по умолчанию для CBC (который смешения является режим обратной связи), но не может быть установлен в CFB или OFB (Cipher Feedback/вывода Обратная связь)

+2

Нет - это не подсказывает мне, что это полезно только для ЕЦБ. Зная стиль документа Microsoft, если на самом деле AES можно было использовать только для ECBB, документ должен указывать его явно. (и это не «Поваренная книга», ее «Кодовая книга»). Существуют другие режимы, поддерживаемые AES, включая CBC. – Cheeso

+0

Хмм, я думаю, вы правы, это может быть противоречием в документации. Обновленный ответ – PaulG