Наиболее эффективный метод шифрования с открытым ключом - PullRequest
3 голосов
/ 02 июля 2010

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

Теперь я также читал о классе обмена ключами Диффи-Хеллмана.Этот кажется более безопасным, поскольку вы можете проверить отправителя и защитить сообщение ключами, поскольку для каждого "разговора" требуется вычисляемый "общий ключ".

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

Или, проще говоря.Если Диффи-Хеллман имеет больше смысла, почему это стандартная форма шифрования?

Ответы [ 7 ]

5 голосов
/ 02 июля 2010

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

Однако базовый D-H уязвим для атак «человек посередине» . Другими словами, вы можете установить общий секретный ключ, но в присутствии активных противников, которых вы не знаете, с кому вы делитесь ключом.

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

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

3 голосов
/ 02 июля 2010

Симметричные и асимметричные шифры - это две совершенно разные вещи.Вы не можете напрямую сравнивать их.

Симметричные шифры используются для шифрования сообщения с общим секретом.Это такие алгоритмы, как DES, AES, Blowfish и т. Д.

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

Если другие могут изменять сообщения (как правило, это происходит где угодно), то это становится более сложным.Тогда вам нужно использовать цифровые подписи.В основном существует центральный орган, который подписывает открытые ключи (сертификаты также являются открытыми ключами).У каждого есть предустановленные открытые ключи центра сертификации (обычно в комплекте с ОС), и поэтому они могут проверить подлинность сертификатов, проверив подпись с помощью открытого ключа центра.Это называется PKI (инфраструктура открытых ключей) и используется повсеместно.Наиболее ярким примером является SSL.

Читайте об этом.

3 голосов
/ 02 июля 2010

Симметричное шифрование на порядок быстрее / менее требовательно к вычислительным ресурсам, чем PKI.Кроме того, существуют различия в размере ключа.Поскольку шифрование / дешифрование должно происходить не только на стороне сервера, где питание ЦП и ОЗУ не представляет проблем, на стороне клиента у вас может быть гораздо более ограниченное мобильное устройство.

2 голосов
/ 05 июля 2010

Как говорит Кристиан, Диффи-Хеллман позволяет вам установить безопасное соединение, но не позволяет вам проверить, с кем это безопасное соединение.

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

0 голосов
/ 02 июля 2010

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

0 голосов
/ 02 июля 2010

Основная проблема, о которой вам следует знать, используя метод связи Диффи-Хеллмана, заключается в том, что он уязвим для атаки "Человек посередине".

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

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

0 голосов
/ 02 июля 2010

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

Обе стороны выбирают секрет (закрытый ключ) и делятся другим ключом, который относится к закрытому ключу (это открытый ключ).

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

...