RSA: Шифрование сообщения с помощью нескольких ключей

Действительно ли возможно получить дополнительную безопасность путем шифрования сообщения с помощью 2 или больше ключей RSA?

Править: Несколько разъяснений:

Контекст, для которого я больше всего интересуюсь выполнением этого, шифрует случайным образом сгенерированный симметричный ключ.

Я не хочу ограничивать вопрос шифрованию дважды подряд; цель состоит в том, чтобы избежать высокой вычислительной стоимости больших ключей RSA. Используя меньшее количество простой тактики такое столь же ломание сообщения на части и шифрование их отдельно нужно рассмотреть как опция.

Нужно предположить, что получение только части сообщения приемлемо.

Если Вы знаете о каких-либо публикациях, где это обсуждено конкретно экспертом, или алгоритмы, которые используют несколько ключей RSA, то, способствуют.

5
задан UniCoder 10 June 2010 в 17:54
поделиться

5 ответов

Нет.

Если ключ A скомпрометирован, то шифрование с помощью A+B защитит от компрометации, но вне этого особого случая вы не получите никаких дополнительных преимуществ.

1
ответ дан 14 December 2019 в 08:42
поделиться

Нет .

Проводить мысленные эксперименты в отношении криптографии небезопасно. Вам рекомендуется строго придерживаться пути, пройденного экспертами.

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

Между прочим, вы помните, что тело вашего сообщения обычно зашифровано симметричным шифром и случайным ключом, и что именно этот случайный ключ зашифрован открытым ключом получателя. Двойное шифрование этого секретного ключа не сделает этот секретный ключ длиннее и не повлияет на способность злоумышленника подобрать его.

Квантовая криптография - я упоминаю ее только как захватывающую сторону, вам не нужно учитывать это при вашем выборе - обещает интересные вещи для размеров ключей: ключи RSA будут уничтожены алгоритмом Шора , но симметричные ключи ( Grover ) будут удлинены только наполовину (128-битные будут эквивалентны 64-битным, поэтому их можно будет взломать). Конечно, ведутся споры о том, можно ли реализовать такие квантовые машины и т. Д. :)

5
ответ дан 14 December 2019 в 08:42
поделиться

Да!

Но не используйте чистое шифрование. Используйте схему шифрования RSA. Вместо повторного шифрования зашифрованного сообщения вторым ключом, что могло бы ослабить эффект (я не знаю), используйте алгоритм общего секрета, чтобы разделить ваш секрет на две части. Алгоритм общего секрета позволяет разделить секрет на n частей и гарантирует, что если злоумышленнику удастся получить n-1 частей, он ничего не знает о секрете. Так что не делите секрет пополам.

Тогда у вас может быть более двух ключей RSA. Еще одним мощным свойством алгоритма общего секрета является то, что секрет можно распределить по n частям, и для восстановления секрета требуется только m частей, причем m меньше n. Это делает секретное восстановление более устойчивым к потере частей.

Дополнительную информацию об общем секрете см. Здесь: http://en.wikipedia.org/wiki/Shared_secret

0
ответ дан 14 December 2019 в 08:42
поделиться

Помимо приведенных ответов, он также просто не работает, если вы не внесете какие-либо исправления. Проще говоря, один из модулей должен быть больше другого. Если вы выполняете RSA mod сначала для большего модуля, а для последующего - для меньшего, вы теряете информацию и не можете гарантировать успешное дешифрование. Очевидный патч - всегда сначала шифровать с меньшим модулем. Конечно, расшифровку придется выполнять в обратном порядке. Другой простой патч - выбрать модули, которые очень близки по размеру, так что вероятность того, что вы встретите зашифрованный текст, который не может быть однозначно расшифрован, была исчезающе мала.

0
ответ дан 14 December 2019 в 08:42
поделиться

Составление шифров

Допустим, у вас есть функция шифрования E (M, K) , где M - текстовое сообщение, а K - ключ . Скажем, в E нет известных уязвимостей.

Вы генерируете два полностью несвязанных ключа K1 и K2 .

Гарантируется, что, если вы составите их в форме E (E (M, K1), K2) , фактически невозможно потерять безопасность таким образом. Если было возможно потерять безопасность из-за шифрования E (M, K1) , будь то с K2 или любым другим ключом, шифр взломан, потому что злоумышленник может просто ввести E (E (M, K1), KF) , где KF - любой ключ, который хочет выбрать злоумышленник.

Для получения дополнительной информации см. здесь .

Шифрование каждого второго блока другим ключом

Последствия здесь очевидны. Предполагая, что вы используете правильно составленные криптографические примитивы с обеими комбинациями функция шифрования: ключ , если вы зашифруете каждый второй блок другим ключом из набора из двух ключей, злоумышленник сможет расшифровать только те блоки, которые у него есть ключ для.

1
ответ дан 14 December 2019 в 08:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: