Есть ли разница между ключами ECDH и ECDSA?

Я создаю сетевое приложение, которое использует BouncyCastle в качестве поставщика криптографии. Предположим, у вас есть это для создания пары ключей:

ECParameterSpec ecSpec = ECNamedCurveTable.getParameterSpec("prime192v1");
KeyPairGenerator g = KeyPairGenerator.getInstance("ECDSA", "BC");
g.initialize(ecSpec, new SecureRandom());
KeyPair pair = g.generateKeyPair();

Я не понимаю, почему вы? re получение экземпляра ECDSA KeyPairGenerator. Почему не написано просто EC ? Я знаю, что есть тип ключа ECDH, который поставляется с BouncyCastle, но я подумал, что они представляют одно и то же о точках на кривой - или я полностью ошибаюсь в теории, лежащей в основе этого?

Причина, по которой я Спросите, что прямо сейчас мое приложение использует ECDH для установки секретного ключа AES, но теперь я хочу использовать тот же ключ EC для подписи каждого сообщения с помощью ECDSA.

12
задан Hut8 11 February 2011 в 13:31
поделиться