RSA密码算法
来源:互联网 发布:怎么释放被占用的端口 编辑:程序博客网 时间:2024/05/17 23:19
RSA加密
E和N的组合就是公钥
RSA解密
D和N的组合就是私钥
生成密钥对
1. 求N
用伪随机数生成器求p和q,p和q都是质数
N = p * q
p和q太小的话,密码会变得容易破译,但太大的话计算时间又会变得很长。例如,假设p和q的大小都是512比特,相当于155位的十进制数字。要求出这样大的质数,需要通过伪随机数生成器生成一个512比特大小的数,在判断这个是不是质数,若不是质数,则重新生成。更多知识请看:[matrix67大神的文章] (http://www.matrix67.com/blog/archives/234);[维基百科-素性测试](https://zh.wikipedia.org/zh/%E7%B4%A0%E6%80%A7%E6%B5%8B%E8%AF%95)
2. 求L
L = lcm(p - 1,q - 1)
L是p - 1和q - 1的最小公倍数
3. 求E
1 < E < L
gcd(E,L) = 1; E 和 L的最大公约数为1(E和L互质)
之所以要加上E和L的最大公约数为1的条件,是为了保证一定存在解密时需要使用的数D。
4. 求D
1 < D < L
E * D mod L = 1
要保证存在满足条件的D,就需要保证E和L的最大公约数为1。 简单的来说,E * D mod L = 1 保证了对密文进行解密时能够得到原来的明文。
一旦发现了对大整数的质因数分解的高效算法,RSA就能够被破译
其他公钥密码
- EIGamal方式
- Rabin方式
- 椭圆曲线密码
0 0
- RSA密码算法设计
- RSA密码算法
- RSA密码算法
- RSA密码算法
- RSA公钥密码算法
- 公钥密码RSA算法优化分析
- RSA公钥密码算法的实现
- 非对称密码之RSA算法
- 公钥密码之RSA密码算法扩展欧几里德求逆元!!
- RSA密码
- 公钥密码系统及RSA公钥算法
- 公钥密码系统及RSA公钥算法
- 公钥密码系统及RSA公钥算法
- RSA公钥密码算法的原理及实现(一)
- RSA公钥密码算法的原理及实现(二)
- RSA公钥密码算法的原理及实现
- RSA公钥密码算法的原理及实现(一)
- RSA公钥密码算法的原理及实现(二)
- android--(布局ListView、优化、刷新分页、ArrayAdapter、SimpleAdapter 、BaseAdapter)
- BZOJ1037 ZJOI2008 生日聚会
- Git使用详细教程
- 什么是EOF ,如何输入EOF
- 弱校联萌十一大决战之如日中天CCinderella
- RSA密码算法
- 【UML】——九种图
- 日志打印
- 2014广州站 K - How Many Maos Does the Guanxi Worth(floyed最短路)
- android开发学习笔记——权限
- ListView解决图片错乱为什弱引用相关比findViewWithTag效率要高?
- dependent name is not a type [关于模板类中的迭代器]
- DirectX11 平面镜像的实现
- 最短路floyd与dijkstra浅析