2014-01-29 4 views
2

Я использую шифрование RSA в своем проекте, и мне нужно зашифровать массив байтов в зашифрованный массив байтов, чтобы его длина была меньше длины ключа (я использую 2048 бит ключ). Когда я использую класс RSACryptoServiceProvider с C#, он всегда шифрует его в массив байтов, длина которого равна длине ключа (256 байтов). Я знаю, что не могу зашифровать его до более крупного размера, чем ключ, но могу ли я его зашифровать до меньшего (в исходный нешифрованный массив длины байтов)?RSA-шифрование - как шифровать до меньшего размера, чем ключ

ответ

4

Нет. Заполнение открытого текста до размера ключа перед шифрованием необходимо для защиты от определенных типов криптоаналитических атак, поэтому для реализации RSA не имеет смысла (, особенно , особенно, предназначенных для общего использования), чтобы опустить его ,

+0

И модульное возведение в степень, в противном случае, гарантирует, что даже относительно небольшой ввод приведет к тому, что зашифрованный текст будет иметь тот же размер, что и модуль. –

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