2013-04-07 3 views
1

Я использую System.Security.Cryptography.RijndaelManaged класс в C#, чтобы делать шифрование с настройками (NET 3.5.):AES256 шифрование в C#

RijndaelManaged AesCrypto = new RijndaelManaged(); 
AesCrypto.BlockSize = 128; 
AesCrypto.Mode = CipherMode.CBC; 
CryptoStream CryptStream = new CryptoStream(memStream1, 
    AesCrypto.CreateEncryptor(EncryptionKey1, EncryptionIV1), 
        CryptoStreamMode.Write); 

И с 256 битным ключом и IV. Я считаю, что результаты в AES256. Я прав?

Были ли какие-либо отличия, если я использую класс System.Security.Cryptography.AesManaged?

Кроме того, я думал, мы преследуем реализацию Microsoft AES, может ли это быть проверено, или, может быть, следует написать собственную реализацию AES?

+3

Если вы параноик, то написать свою собственную реализацию. Если вы действительно хотите проверить код Microsoft, просто декомпилируйте класс и проверьте его самостоятельно. Обе вещи - пустая трата времени. – user1908061

+4

Никогда не записывайте свою собственную реализацию. Реализация Microsoft была протестирована намного больше, чем когда-либо будет ваша реализация. Вы хотите рискнуть иметь кучу зашифрованных данных, которые больше не подлежат расшифровке? – ZippyV

+0

проверить выход MS-реализации на выходе любой другой реализации AES ... что вы ожидаете найти в реализации MS, если результат идентичен выходу любой другой реализации? – DarkSquirrel42

ответ

1

О различиях между AesManaged и RijndaelManaged:

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

Взято из MSDN, вот http://msdn.microsoft.com/en-us/library/system.security.cryptography.aesmanaged.aspx

+0

Правильный парень, я видел это раньше. Можете ли вы сказать мне из этой статьи, что означает «количество итераций», и что такое крипторежим? –

+0

Функция деривации ключа на основе пароля принимает значение битовой строки и соли и повторно применяет псевдослучайную функцию, такую ​​как хеш-функцию, для создания криптографического ключа. Число применений хэш-функции называется счетчиком итераций. И соль, и итерация были введены, чтобы пресечь исчерпывающие атаки. –

Смежные вопросы