Diffie-Hellman 在 BouncyCastle 中设置生成器参数

发布于 2024-09-30 00:50:59 字数 500 浏览 7 评论 0原文

我想生成 PKCS #3 中定义的新 DH 参数:

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();

工作正常,但除了修改库之外,我看不到自己设置 base 的方法。我缺少一些解决方法吗?

提前致谢。

I want to generate new DH parameter as defined in PKCS #3:

DHParameter ::= SEQUENCE {
    prime INTEGER, -- p
    base INTEGER, -- g
    privateValueLength INTEGER OPTIONAL
}

using BouncyCastle. My current code

DHParametersGenerator generator = new DHParametersGenerator();  
generator.init(2048, DEFAULT_PRIME_CERTAINTY, new SecureRandom());
DHParameters params = generator.generateParameters();

works fine, but I can't see a way to set the base on my own other than modifying the library. Is there some workaround I am missing?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

有木有妳兜一样 2024-10-07 00:50:59

实际上,大多数 DH 实现都使用预定义的基值,因此如果不修改源就无法做到这一点。

Actually, most DH implementations uses predefined base value, so it can be no way for doing that without sources modifications.

剩余の解释 2024-10-07 00:50:59

实际上,您可以使用相同的类来设置您选择的基础。所以你的代码将变成:-

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));

Actually you can set the base of your choice using the same class. So your code will become:-

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));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文