我对 this simple example 非常着迷了解公钥加密背后的想法,然后坐下来写我自己的 Client <- Server -> Client
使用 Java 的示例。只是一个简单的来回,使用生成的 secret 对消息进行编码。
我最初遇到的问题是一个技术问题。在演示中,作者确定了方程的结果:
3 ^ (24 * 54) mod 17
有一个值:
= 1
但我的问题是,如何在 Java 中计算如此大的数字?
或者示例只是简单地提供了:示例,而不是实际的计算方法?
最佳答案
这一定有一个很好的数学原因(Daniel Fischer 似乎有一个)。在任何情况下,您都可以使用 BigInteger:
public static void main(String[] args) {
BigInteger bi = new BigInteger("3")
.modPow(new BigInteger(String.valueOf(24 * 54)), new BigInteger("17"));
System.out.println(bi);
}
输出 1。
关于java - 执行公钥加密背后的数学运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13126360/