Почему шифрование RSA стало популярным для обмена ключами?

16

Это мягкий вопрос. Я не знаю много о криптографии или ее истории, но кажется, что обычное использование RSA - это обмен ключами путем шифрования симметричного ключа для отправки более длинного сообщения (например, описание iMessage здесь ). Разве это не то, для чего нужен обмен ключами Диффи-Хеллмана, который старше (а мне кажется, проще)? Глядя на Википедию, они оба были запатентованы, так что это не было бы причиной выбора.

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

Луис
источник
3
RSA также может использоваться для безопасной передачи ключей в тех случаях, когда интерактивный протокол обмена ключами, такой как DH, невозможен, например, когда доступна только односторонняя связь или когда время двусторонней связи является чрезмерным. Варианты использования, такие как зашифрованная электронная почта, поддерживают такие подходы, так как компьютер получателя может не быть подключен к Интернету в момент, когда вы хотите отправить сообщение, поэтому не может участвовать в интерактивном обмене ключами.
Кевин Кэткарт
Вы спрашиваете, почему он стал популярным для обмена ключами или вообще?
OrangeDog
@KevinCathcart DH не обязательно интерактивный. Отправитель может создать пару ключей одноразового использования и отправить открытый ключ по сообщению. Этот подход является основой шифрования ECIES / DLIES и ElGamal. Это имеет небольшие издержки (128 байт для ключа 1024 бита).
CodesInChaos
@CodesInChaos: Но ни один из них не является алгоритмом обмена ключами. После того, как вы перешли от обмена ключами к полноценной криптографии с открытым ключом, выбор скрытой проблемы, которую трудно решить, не влияет на эксплуатационные проблемы, такие как обеспечение того, что отправитель имеет копию открытого ключа получателя. Я понял вопрос, который нужно задать: «Почему мы часто используем криптографию с открытым ключом для обмена ключами, а не просто алгоритм обмена ключами, который часто проще?». Очевидно, что в основном любой алгоритм с открытым ключом может использоваться для установления общего секрета по неинтерактивному каналу.
Кевин Кэткарт

Ответы:

14

Нет серьезных технических причин. Мы могли бы использовать Диффи-Хеллмана (с соответствующими подписями) так же, как RSA.

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

В наши дни основным фактором, вызвавшим увеличение использования Diffie-Hellman, является стремление к совершенной секретности, что легко достигается с помощью Diffie-Hellman, но медленнее с RSA.

Между прочим: это обмен ключами Диффи-Хеллмана, а не обмен секретами Диффи-Хеллмана. Секретный обмен - это нечто совершенно другое.

DW
источник
2
Я думал, что патенты были еще одной причиной, чтобы избежать RSA?
user1686
@ Гравитация, которая зависит от поведения владельца патента; и поколение назад обладатели технических патентов коллективно не опозорились с помощью крупномасштабных и длительных судебных разбирательств в той степени, в которой это происходило во время войн за смартфоны или массового патентного троллинга небольших компаний.
Дэн Нили,
10

Диффи-Хеллману не хватает важной функции: аутентификации. Вы знаете, что делитесь секретом с кем-то, но вы не можете знать, является ли он получателем или человеком посередине. С RSA у вас может быть несколько доверенных сторон, которые хранят открытые ключи. Если вы хотите подключиться к своему банку, вы можете попросить доверенную сторону (скажем, Verisign) об открытом ключе банка, поскольку у вас уже есть открытый ключ доверенной стороны на вашем компьютере. Поэтому вы знаете, что делитесь секретом со своим банком.

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

Джейсен
источник
Конечно, вы можете использовать RSA для аутентификации, а затем обмен ключами DH.
OrangeDog
4
пКзнак равнограммsКмоdп
@kasperd: я удивлен, что так много голосов.
Луи
1
Вы можете либо использовать долгосрочные ключи Диффи-Хеллмана для аутентификации (посмотрите на CurveCP для примера протокола), либо вы можете объединить DH с подписями DSA / Schnorr / ElGamal (которые разделяют большую часть базовой математики с DH), как вы можете это сделать. объединить шифрование RSA с подписями RSA.
CodesInChaos
-2

Алгоритм RSA, как упоминалось ранее, не намного лучше, чем алгоритм Диффи-Хеллмана, у последнего просто отсутствует аутентификация, и оба алгоритма зависят от сложности поиска дискретных логарифмов, поэтому с точки зрения безопасности они оба довольно похожи.

Ронак Хандельвал
источник
2
Спасибо за вклад. Однако все, что вы говорите, уже освещено в других ответах. Мы бы предпочли, чтобы вы отвечали на вопросы, на которые еще нет хороших ответов, а не дублировали существующие ответы. Кроме того, RSA зависит от сложности проблемы факторинга (и, строго говоря, от проблемы RSA), а не от дискретного логарифма как такового, тогда как Диффи-Хеллман является более классической системой, основанной на дискретном логарифмировании (строго говоря, она полагается на допущение DDH). ).
DW
-3

В этом есть темная сторона, которую нельзя игнорировать.
Тот факт, что ОГА был кооптирован АНБ.
АНБ посадил черный ход в кипе Элиптической кривой, который он поставил в ЮАР.
http://www.intelligence-world.org/nsa-infiltrated-rsa-security-more-deeply-than-thought-study/

Джон Хоффманн
источник
1
Этот ответ бессвязен. Криптография с эллиптической кривой отличается от RSA. Так что бэкдор в криптографии с эллиптической кривой не подвергнет опасности RSA. Этот ответ просто неверен - такой темной стороны нет.
DW