Я пытаюсь реализовать протокол обмена ключами Диффи Хеллмана. На данный момент я застрял на генерации общедоступных параметров.
Каждый раз, когда я запускаю программу, параметры p и g одинаковы (хотя в документации к методу говорится: «Это будет генерировать новую пару ключей при каждом вызове». ).
Может ли кто-нибудь объяснить мне, что мне здесь не хватает?
KeyPairGenerator kpg;
try
{
kpg = KeyPairGenerator.getInstance("DiffieHellman");
kpg.initialize(512, new SecureRandom());
KeyPair dkp = kpg.generateKeyPair();
DHParameterSpec params =
((javax.crypto.interfaces.DHPublicKey) dkp.getPublic()).getParams();
BigInteger p = params.getP();
BigInteger a = params.getG();
System.out.println(p);
} catch (Exception e)
{
e.printStackTrace();
}