1.fly3d Դ?源码?
fly3d Դ??
我来说几句没代码的吧,另外我是源码搞JAVA的!
RSA是源码不对称的加密算法,涉及到一对密钥:公钥和私钥,源码lastbattle源码公钥是源码公开的,别人想给我发送信息就用公钥进行加密,源码私钥是源码自己独有,收到别人发送的源码密文,就用私钥进行解密。源码
生成公钥与私钥
选择一对不同的源码、足够大(是源码抄底最好指标源码后面的n大于消息数)的素数p、q,源码计算n=p*q,源码f(n)=p*q。源码
找一个与f(n)互质的源码数e,计算d,idea怎么跟进源码让d*e模f(n)=1(打不出同余符号,就是让d*e与1模f(n)结果一样)。
公钥(e,n),私钥(d,n)
设明文为M,
加密:密文=M的e次方 mod n
解密:明文=密文的d次方 mod n
例子:取p=5、q=。驾校网站源码php
n=,f(n)=,
去e=3
d=,
公钥(3,),私钥(,)
对字符串 “FLY”加密,先将按A-1,B-2……,z-将其数字化,得到6,简洁小程序源码,
6的3次方mod=,
的3次方mod=,
的3次方mod=5,
密文,,5
解密:
的次方mod=6,
的次方mod=
5的次方mod=,
基本思路就这样,不过实现过程会涉及到大数,推荐一个算mod的方法:
(A+B)的n次方对C取模,设A mod C=0,那么(A+B)的n次方mod C=B的n次方mod C,
以上面的次方mod为例:
的次方=的3次方的9次方=的9次方,=*+,
那么的次方mod=(*+)的9次方mod=的9次方mod,
以此类推,上式继续=的三次方mod=的三次方mod=6;