ECDSA и ECDH взяты из разных стандартов (ANSI X9.62 и X9.63 соответственно) и используются в разных контекстах.X9.63 явно повторно использует элементы из X9.62, включая стандартное представление открытых ключей (например, в сертификатах X.509).Следовательно, пары ключей ECDSA и ECDH в значительной степени взаимозаменяемы.Однако разрешит ли данная реализация такой обмен, остается открытым вопросом.Исторически (EC) DSA и (EC) DH происходят из разных миров.
Обратите внимание, однако, что контексты использования весьма различны.Криптография - это нечто большее, чем вычисления на эллиптических кривых;«жизненный цикл ключа» должен быть принят во внимание.Проще говоря, вы не хотите управлять ключами соглашения о ключах и ключами подписи с помощью одних и тех же процедур.Например, если вы потеряете ключ соглашения о ключе (ваша собака ест вашу смарт-карту - не смейтесь, это действительно происходит), то вы больше не сможете расшифровывать данные, которые были зашифрованы относительно этого ключа (например, зашифрованные электронные письма, отправленные вам, ихранится в зашифрованном формате).С точки зрения бизнеса, потеря ключа также может быть потерей сотрудника (сотрудник был уволен, или его сбил автобус, или он вышел на пенсию, или что-то еще).Следовательно, ключи шифрования (включая ключи соглашения о ключах) часто необходимо депонировать (например, копия закрытого ключа печатается и хранится в сейфе).С другой стороны, потеря ключа подписи не означает потери данных;ранее выданные подписи все еще могут быть проверены;Восстановление после такой потери так же просто, как создание новой пары ключей.Однако существование системы условного депонирования приводит к автоматическому удалению подписей любых допустимых значений, которые могут быть к ним прикреплены.
Кроме того, я бы настоятельно рекомендовал не использовать один и тот же закрытый ключ в двух случаях.отличные алгоритмы: взаимодействия между алгоритмами не были полностью изучены (просто изучение одного алгоритма уже тяжелая работа).Например, что произойдет, если кто-то начнет снабжать ваш протокол на основе ECDH точками кривой, извлеченными из сигнатур ECDSA, которые вы вычислили с помощью того же закрытого ключа?
Так что вам действительно не следует повторно использовать один и тот же ключ для ECDH и ECDSA.