能力值:
(RANK:190 )
|
-
-
2 楼
不错不错! 即使是玩RSA很多年的人,也未必知道这个细节。 事实上,不光是‘由多个素数构成的RSA’有这种现象,就连‘经典的由2个大素数构成的RSA’也有同样的问题。只是很少有人注意到而已。 一般认为,c=m^e(mod n), m'=c^d(mod n), 要想让m=m',就需要满足:ed=1(mod phi(n)), 其中phi是欧拉函数 但其实上述条件只是充分条件,而非必要条件。 在一定条件下,只要满足ed=1 (mod lcm(p-1,q-1))即可(假如n=p*q,且p、q为素数) 在LZ举的例子中,n=13*17*101,则phi=19200 但是lcm却只有1200 所以 并不需要ed=1(mod 19200),才能使得m=m' 而只需要ed=1(mod 1200)就够了 而LZ的例子中 12383*18047=7201 (mod 19200),貌似不满足RSA的经典生成私钥的公式 但是 12383*18047=1 (mod 1200) 因此加密解密是正确的。 同理,能够使得m=m'的解密密钥是不止一个的!
最后于 2019-8-3 08:31
被看场雪编辑
,原因:
|
能力值:
( LV4,RANK:40 )
|
-
-
3 楼
学习学习 感谢分享
|
能力值:
( LV3,RANK:30 )
|
-
-
4 楼
0.0 不管,直接调用,加密所有文件,给钱。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
非质数很容易被分解,从而反推出p,q。 密钥强度太低了。 两个大质数保证了密钥强度。
|
能力值:
( LV4,RANK:40 )
|
-
-
6 楼
确实如此,小质数也是如此,但是加密时每个字节都用不同的密钥,数量众多,您能破解吗?在帖子【RSA小质数加密】里面有文件加密程序,随便找点东西加密后破解试试,希望给予指导。
|
能力值:
( LV1,RANK:0 )
|
-
-
7 楼
学习,学习
|
|
|