gpt4 book ai didi

java - 在 Java 中更快地重新制定方程式

转载 作者:搜寻专家 更新时间:2023-11-01 02:09:29 24 4
gpt4 key购买 nike

我是做加密的,私钥指数d,需要d乘以e再取模,余数为1,函数i已经是这样了:

private void genD() {
d = e / 2;
// solve for d given d*e = 1 (mod eN)
while ((d * e) % eN != 1) {
d++;
}
}

我现在所拥有的显然是一种粗暴的做事方式,遍历每个数字直到一个有效。我知道方程式起作用,使用找到的工作示例插入数字 here ,但是使用我生成的数字非常非常慢。从逻辑上讲,我觉得有一种方法可以更快地完成这项工作,但我想不出怎么做?

感谢任何帮助!提前致谢:)

最佳答案

有一些并不十分困难的快速乘法逆算法,但也有一种内置于 Java 中的算法:

 BigInteger.valueOf(e).modInverse(BigInteger.valueOf(eN)).intValue();

计算乘法逆模另一个数的最流行算法是 http://en.wikipedia.org/wiki/Extended_Euclidean_algorithm#Modular_integers .

关于java - 在 Java 中更快地重新制定方程式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21078737/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com