首页
社区
课程
招聘
[求助]RSA算法中寻找互质数的计算
发表于: 2009-7-15 09:40 5092

[求助]RSA算法中寻找互质数的计算

2009-7-15 09:40
5092
RSA定理
若P和Q是两个相异质数,另有正整数R和M,其中M的值与( P - 1 )( Q - 1 )的值互质,并使得( RM ) mod ( P - 1 )( Q - 1 ) = 1。有正整数A,且A < PQ,设C = AR mod PQ,B = CM mod PQ则有:A = B

参考上面定理,用Java完成了一个简易程序如附件中所示

该程序能够通过测试,但是是在一些问题被我规避的情况下,其中包括:
1. 两个1024位的大素数的生成(这个可以用BigInteger.probablePrime(1024, new Random())完成)
2. 还有M值的寻找(即互质数生成),由于M与(P-1)*(Q-1)互质,故只需要找出一个M,其与(P-1)*(Q-1)的最大公约数为1,但是这一步我找不到一个有效的算法来实现
3. 即上面代码段中标记为HERE的部分,求解R的过程,看过一些参考资料说可以用 辗转相除法算,但是并不了解该过程,就用枚举代替了

想请问大家,有没有比较好的方法可以解决2,3中的问题,谢谢了

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 171
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
已使用 大衍求一术 的算法完成了3中所涉及的问题。。。大衍求一术 部分的代码在附件中,有兴趣的可以看一下
2009-7-17 09:55
0
游客
登录 | 注册 方可回帖
返回
//