Я новичок в криптопрограммировании ECC. Кто-нибудь объясняет мне разницу между использованием ECDH для обмена общими ключами и использованием ECIES путем шифрования общего ключа открытым ключом получателя? Я чувствую, что ECIES также может предоставить мне безопасный обмен ключами, пока закрытый ключ хранится в секрете. Спасибо.
Обмен ключами с использованием ECDH против ECIES
Ответы (1)
ECDH — это протокол вывода с общим секретом. Две стороны используют знание своего собственного «закрытого ключа» и «открытого ключа» своего партнера для создания общего секрета. Как правило, закрытые ключи представляют собой случайные числа, используемые для согласования ключей, а затем отбрасываемые.
ECIES использует ту же схему, что и ECDH, для создания «общего секрета», где один из «закрытых ключей» представляет собой случайное число, а соответствующий ему открытый ключ включается в само сообщение. Это означает, что общий секрет может быть получен только человеком с другим закрытым ключом. Затем само сообщение шифруется какой-либо другой схемой, такой как AES, с использованием общего секрета в качестве ключа.
Если вы ведете ключевые переговоры, вам подойдет ECDH. (Обязательное примечание: конечно, вы не должны создавать собственную криптографию для производственной системы, просто используйте TLS.)