Несколько вопросов о Райндаэле в .net - PullRequest
1 голос
/ 06 апреля 2011

Мне нужно использовать веб-сервис, предоставляемый другой компанией.

Они говорят мне использовать Rijndael в режиме OFB для шифрования данных, которые я им отправляю, но, очевидно, .Net (3.5) не поддерживает OFB для Rijndael. Он говорит мне: System.Security.Cryptography.CryptographicException: the (crypting?) mode is not valid for this algorithm (приблизительный перевод на лету).

Они дали мне IV, который состоит из 32 буквенно-цифровых символов. Я не могу использовать его (используя System.Text.Encoding.ASCII.GetBytes(k)), он говорит мне: System.Security.Cryptography.CryptographicException: the specified initialization vector (IV) does not match the block size for this algorithm (приблизительный перевод на лету). Ключ такой же длины, как и IV, и он работает.

Что я могу сделать, чтобы это заработало?

Спасибо

1 Ответ

3 голосов
/ 06 апреля 2011

Вы можете использовать режим CBC для генерации вывода OFB, передавая свой метод CBC все 0 в качестве ввода в виде открытого текста. Затем вручную зафиксируйте полученный поток ключей с помощью своего настоящего открытого текста. На самом деле, диаграммы в Википедии очень хорошо показывают, как это работает, смотрите здесь .

...