我需要Diffie Hellman协议来创建函数XpowYmodN。我在网上找到了以下功能:Java XpowYmodN函数,DiffieHellman
public long XpowYmodN(long x, long y, long N) {
long result = 1;
final long oneShift63 = ((long) 1) << 63;
for (int i = 0; i < 64; y <<= 1, i++) {
result = result * result % N;
if ((y & oneShift63) != 0)
result = result * x % N;
}
return result;
}
对于这个例子:XpowYmodN(29,83,53)的结果是43,根据设备的计算制造商的结果应该是50.任何人都可以点我我在哪里做错了? 我试过Math.pow(X,Y)%N,对于这个例子,我得到了结果28.我进行了实验,并想了解如何解决它的一些提示。谢谢。
43是正确答案。 –