问题标题:
RSA算法中r无法满足e*r%t==1的问题p=47;q=59;t=(p-1)×(q-1)=2668;r是与t互质的数,并满足r
问题描述:
RSA算法中r无法满足e*r%t==1的问题
p=47;
q=59;
t=(p-1)×(q-1)=2668;
r是与t互质的数,并满足r
柳焯回答:
RSA加密算法:
1.随意选择两个大的质数p和q,p不等于q,计算n=pq.
2.根据欧拉函数,不大于n且与n互质的整数个数为(p-1)(q-1)
3.选择一个整数e与(p-1)(q-1)互质,并且e小于(p-1)(q-1)
4.用以下这个公式计算d:(d*e)≡1(mod((p-1)(q-1)))
5.(n,e)是公钥,(n,d)是私钥
这里面并没有要求e*r%t==1,而是:(d*e)≡1(mod((p-1)(q-1)))即在你的题里由d*r%t==1算出加密指数d.
付畅俭回答:
可以把我问题中的值代入举一个例子吗。还有这个e到底怎么求得,为什么我得出的e值没办法满足mod=1的结果。还是有点不明白
柳焯回答:
p=47;q=59;t=(p-1)×(q-1)=2668;r=889也就是上面的e,这个r不需要求,任一个满足与t互质且小于t的随机数就行,也不需要满足e*r%t==1,而是在求另一个加密指数d时需要满足r*d%t==1modt,这里求出d就是加密指数,就可以加密了,只有你算出的这个d才满足r*d%t==1。例如:p=7;q=17;n=pq=119;t=(p-1)×(q-1)=96;取r=5;计算d,r*d%t==1即5d%96=1,得到d=77,这个d就满足5d%96=1。(119,5)是公钥,(119,77)是私钥。设:明文m=19加密:(19)^5mod119=66解密:(66)^77mod119=19(你的数大,我懒得算,所以写了一个较小的,一样的方法。)
点击显示
数学推荐
热门数学推荐