我需要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是正確答案。 –