Когда я выберу AesCryptoServiceProvider через AesManaged или RijndaelManaged?

Я думаю, что отличительные факторы

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

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

Ответ 1

Документация AesManaged утверждает, что

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

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


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