我在计算非常大的指数的幂时遇到了问题。即:我输入我的密码:"abc"
然后计算 x=Hash(password)
。之后,我必须计算 Y = pow(g,x)
其中,g
是一个随机数
r。那么我如何计算 Y。有什么建议吗?非常感谢!
最佳答案
在密码学中 c = m^e (mod n)
其中 c
是密文,n
是您可以计算的最大值代表。需要模运算。
除此之外,对于大数求幂 Exponentiation by squaring用来。 pow
操作实现了这个算法。代码是 here .
通过预定义的字节数组和字节操作,加密实现要复杂得多。可以引用this paper's , 模幂和根部分。
关于java - 在java中用非常大的指数计算幂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23192750/