【发布时间】:2021-05-01 15:24:48
【问题描述】:
嗨,我正在尝试实现 Diffie-Hellman 密钥交换
public static Integer secret = 100000;
public static BigInteger g = new BigInteger("5");
public static BigInteger p = new BigInteger("315791951375393537137595555337555955191395351995195751755791151795317131135377351919777977373317997317733397199751739199735799971153399111973979977771537137371797357935195531355957399953977139577337393111951779135151171355371173379337573915193973715113971779315731713793579595533511197399993313719939759551175175337795317333957313779755351991151933337157555517575773115995775199513553337335137111");
public static BigInteger public = g.pow(secret).mod(p);
但是 100000 的计算已经花费了几秒钟。我不知道 256 位数字需要多少时间。
是因为 BigInteger 的实现而这么慢还是我偏离了轨道?
【问题讨论】:
-
有些图书馆可以做到这一点。请不要自己这样做。加密不是玩具。
-
我只是为了教育而这样做
标签: java encryption