[RSA] почему схема с шифрованием данных напрямую не является «практически надёжной»?
Пусть стороны для шифрования постоянно используют одну и ту же пару ключей (не обязательно RSA), а мы перехватываем их трафик. Даже не зная самих ключей мы можем заметить, что каждый раз, когда Алиса начинает диалог с Бобом, к нам попадает один и тот же зашифрованный блок. Можно предположить, что это приветствие, и перебрав варианты "Привет", "Здравствуй" и т.п., получить возможные ключи, которые проверяются на других блоках.
Именно поэтому обязательной частью шифрованного обмена является периодическая смена ключей, и фиксированные персональные ключи используют только для обмена неповторяющимися сеансовыми ключами.
С моей колокольни я вижу бред. На самом деле RSA не используется для прямого шифрования ровно по двум причинам.
Дорого. Дороговизна обусловлена высокой стоимостью операций. Взятие по модулю и возведение в степень - не самые простые операции для CPU, сложнее (из примитивных) разве что деление. К тому же, используя самые эффективные алгоритмы, сложность шифрования где-то O(n log(n)), возможно даже выше, но даже так на огромных данных логарифм портит всю малину. Как следствие - низкая производительность. Тут даже специализированные схемы не очень помогает, ибо их сложность слишком большая и стоимость производства - также высокая. Можно вспомнить про кредитные карты, которые есть почти у всех, но их производительность очень низкая, просто её хватает, но едва.
Неудобно. Все операции происходят в поле по очень и очень большому простому числу. Это не делает ей никакой чести, абсолютно никакой (некоторое число атак даже эксплуатируют эту проблему). Сделать полное отображение 2048 бит в поле огромного числа банально невозможно, поэтому данные просто обрубают. Учитывая просто громаднейший размер ключа это и незаметно, но проблема всё равно существует.
В любом случае, смысл использовать один и тот же ключ - отсутствует. Абсолютно аналогичный результат можно получить, используя симметричный шифр. Намного интереснее, если ключ меняется от блока к блоку, тогда можно невозбранно получить стойкость одноразового блокнота (точнее - генератора случайных чисел, да и число простых чисел всё-таки ограничено, но это мелочи). Так что это полный бред, что прямой RSA - бесполезен. Но предыдущие две причины практически полностью решили его судьбу, как шифр для симметричного ключа или хеша.