Можете ли вы редактировать параметры заполнения для RSACryptoServiceProvider?

Я пишу код шифрования RSA на vb.net, используя класс RSACryptoServiceProvider. У вас есть возможность использовать pkcs v1.5 или заполнение OAEP, но я не могу понять, могут ли его параметры отображаться или доступны для редактирования. Я видел классы RSAOAEPKeyExchangeFormatter и RSAPKCS1KeyExchangeFormatter, но не знаю, как их использовать. Можно ли отредактировать параметр для заполненных байтов и импортировать байты заполнения из вашего собственного генератора случайных байтов? Есть ли образец кода, который делает это, чтобы я мог просмотреть и понять процедуру? В общем, можно ли изменить параметры заполнения в классе RSACryptoServiceProvider?


person alf    schedule 25.02.2016    source источник
comment
Чтобы быть уверенным, вы просите предоставить свой собственный Генератор случайных чисел для использования внутри RSAOAEPKeyExchangeFormatter и других, чтобы он мог приводить к детерминированному заполнению, верно? Я не думаю, что это возможно, но могут быть обходные пути. почему ты хочешь сделать это?   -  person Artjom B.    schedule 26.02.2016
comment
Мне нужно иметь возможность редактировать некоторые или все параметры, используемые для заполнения. Это для личного проекта с минимальным количеством битов шифрования и продвинутой скрытностью. В основном я хочу создать другой алгоритм шифрования на основе rsa. Если это невозможно сделать с помощью классов .net, как еще это можно сделать? Можно ли переписать код заполнения?   -  person alf    schedule 27.02.2016
comment
Думаю, вам нужно написать довольно много. В любом случае исходный код доступен (пример ), так что вы можете попробовать.   -  person Artjom B.    schedule 27.02.2016
comment
Хорошо, я попробую. Спасибо.   -  person alf    schedule 28.02.2016


Ответы (1)


Нет, .NET не предоставляет базовые заполнители данных для RSA и не поддерживает необработанное шифрование RSA (чтобы вы предварительно определили заполнение).

Единственный способ выполнить то, что вы просили, - найти стороннюю реализацию RSA, написать RSA самостоятельно (обычно это считается плохой идеей) или выполнить ap / invoke в базовых процедурах шифрования Windows CAPI или CNG (например, NCryptEncrypt) для выполнения дополнения- бесплатное шифрование RSA.

person bartonjs    schedule 30.07.2016