Из моего чтения я не уверен, является ли AES единым стандартизованным алгоритмом, который может работать с разными ключами длины или с семейством подобных алгоритмов? Я имею в виду, если я найду какие-либо 2 реализации AES с 128-битным ключом, должен ли я быть уверенным, что они будут работать одинаково (запрет ошибок)?
В частности, в .Net/С# я был смущен, почему существуют две реализации абстрактного базового класса System.Security.Cryptography.Aes
: System.Security.Cryptography.AesCryptoServiceProvider
и System.Security.Cryptography.AesManaged
.
Тогда существует, по-видимому, различие/перекрытие между AES и Rijndael,.NET имеет классы Rijndael
и RijndaelManaged
, а также RijndaelManagedTransform
Каковы различия между ними? Я замечаю, что классы AES, похоже, существуют только с .NET 3.5, тогда как Rijndael существует с 1.0
Извините, если это глупые вопросы, я новичок в криптографии, кроме защищенных хеширующих функций.