Диффи-Хеллман установил параметр генератора в BouncyCastle
Я хочу сгенерировать новый параметр DH, как определено в PKCS #3:
DHParameter ::= SEQUENCE {
prime INTEGER, -- p
base INTEGER, -- g
privateValueLength INTEGER OPTIONAL
}
используя BouncyCastle. Мой текущий код
DHParametersGenerator generator = new DHParametersGenerator();
generator.init(2048, DEFAULT_PRIME_CERTAINTY, new SecureRandom());
DHParameters params = generator.generateParameters();
работает нормально, но я не вижу способа установить базу самостоятельно, кроме как изменить библиотеку. Есть ли какое-то решение, которое мне не хватает?
Заранее спасибо.
2 ответа
На самом деле, в большинстве реализаций DH используется предопределенное базовое значение, поэтому без модификаций исходного кода это сделать невозможно.
На самом деле вы можете установить базу по вашему выбору, используя тот же класс. Таким образом, ваш код станет:-
DHParametersGenerator generator = new DHParametersGenerator();
generator.init(2048, DEFAULT_PRIME_CERTAINTY, new SecureRandom());
DHParameters params = generator.generateParameters();
DHParameters realParams = new DHParameters(params.getP(), BigInteger.valueOf(2));