Это не относится конкретно к RSA, но: любой безопасный шифр выдаст выходные данные, близкие к неотличимым от случайных битовых комбинаций.Случайный битовый шаблон, по определению, имеет максимальную информационную теоретическую энтропию , поскольку для каждого бита одинаково вероятны как 0, так и 1.
Теперь вам нужна схема сжатия без потерь, поскольку вы должны иметь возможность распаковывать данные, которые вы изначально сжали.Оптимальная схема сжатия максимизирует энтропию своего выхода.Однако мы знаем, что вывод нашего шифра уже имеет максимальную энтропию, поэтому мы не можем увеличить энтропию.
И, следовательно, пытаться сжимать зашифрованные данные бесполезно.
Примечание : в зависимости от метода шифрования сжатие может быть возможным, например, при использовании блочного шифра в режиме EBC .Хотя RSA - это совершенно другой зверь, и, конечно же, сжатие ничего не изменит (кроме того, что, возможно, увеличит ваш конечный результат).
[Edit] Кроме того, длинаВаш зашифрованный текст RSA будет иметь порядок log n
.С n
вашим публичным модулем.По этой причине, особенно для небольших открытых текстов, криптография с открытым ключом является чрезвычайно «расточительной».Обычно вы используете RSA для настройки (меньшего, например, 128-битного) симметричного ключа между двумя сторонами, а затем шифруете свои данные с помощью алгоритма симметричного ключа, такого как AES.AES имеет размер блока 128 битов, поэтому, если вы выполняете прямое шифрование ваших данных, максимальные «накладные расходы», которые вы понесете, составят length(message) mod 128
бит.