RSA加密解密过程 15
为了这道题把好几年前学的东西重新看了一遍,累觉不爱。。。
不清楚你了不了解RSA过程,先跟说一下吧
随机产生两个大素数p和q作为密钥对。此题:p=13,q=17,n =p*q=221
随机产生一个加密密钥e,使e 和(p-1)*(q-1)互素。此题:e=83
公钥就是(n,e)。此题:(221,83)
通过e*d mod (p-1)*(q-1)=1生成解密密钥d, ,n与d也要互素。此题:(d*83)≡1mod192
私钥就是(n,d)。此题:(221,155)
之后发送者用公钥加密明文M,得到密文C=M^e mod n
接受者利用私钥解密M=C^d mod n
求解d呢,就是求逆元,de = 1 mod n这种形式就称de于模数n说互逆元,可以看成de-ny=1,此题83e-192y=1.
此题:
192=2*83+26
83=3*26+5
26=5*5+1
求到余数为1了,就往回写
1=26-5*5
=26-5*(83-3*26)
=(192-2*83)-5*(83-3*(192-2*83))
=16*192-37*83
则d=-37,取正后就是155.
记住,往回写的时候数不该换的一定不要换,比如第二步中的26,一定不能换成(83-5)/3,那样就求不出来了,最终一定要是192和83相关联的表达式。还有,最好保持好的书写格式,比如第一步2*83+26时第二步最好写成3*26+5而不是26*3+5,要不步骤比较多的话容易乱