RSA的整个加解密过程总结
//获得p、q
p、q为两个不同的大素数
//求N
N = p*q
//求欧拉数
Euler = (p-1)*(q-1) //注:Euler为欧拉数
//求e
gcd(e,Euler)=1
1<e<Euler
//求d
e*d = 1mod(Euler)
1<d<Euler
d!=e
gcd(d,n)=1
//最后:e、N作为公钥;d作为私钥;同时一定要销毁p、q(也就是绝对不能让别人知道,目前破解RSA的方式就是要得到p、q)
//加解密信息
加密:c = m^e mod N
解密:m = c^d mod N
个人心得:
1、如果m大于N,则解密后的正确结果为m+N
2、不是每一组满足初始条件(即p、q都是素数,且不相等)的p、q都能产生e和d的,所以编程时是要考虑的
3、RSA果然慢,而且我还没有用大素数哦,汗……