RSA加密算法原理
来源:互联网 发布:在国内使用io域名 编辑:程序博客网 时间:2024/05/28 04:56
RSA简介
RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。
RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。
算法描述
随机选取两个大 的素数p和q,n = p×q
找到一个在
找到e在模
假设明文是M,加密后的密文是C
加密过程
解密过程
原理
要用到的定理和公式:
- 欧拉定理,这里只要用到:
- 两素数
p,q ,n=pq ,欧拉函数φ(n) = (p−1)(q−1) ,a 和n 互素,aφ(n) = 1 (mod n) - 一个素数
p ,欧拉函数φ(p) = p−1 ,a 和p 互素,aφ(p) = 1 (mod p)
- 两素数
- 以下两个可能是都知道的吧,也很容易证明,但本人数学渣渣,还是写上万一哪天忘了。
a=b (mod c)⟹ad=bd (mod c) a=b (mod c)⟹ad=bd (mod c)
证明M经过加密解密之后可以得到M
因为
所以
即我们要证明
因为
所以
即要证
下面分两种情况:
情况一:gcd(M,n) = 1
由欧拉定理知
进一步,得证
情况二:
M一定有因子p或q,不妨设
由于M与p互素,由欧拉定理
乘方后再乘上M
由于
则q能整除l,设
最后
证明完毕
0 0
- RSA加密算法原理
- RSA加密算法原理
- RSA加密算法原理
- RSA加密算法原理
- RSA加密算法原理
- RSA加密算法原理
- RSA加密算法原理
- RSA加密算法原理
- RSA加密算法原理
- RSA加密算法原理
- 轻松学习RSA加密算法原理
- 轻松学习RSA加密算法原理
- 每日一得--RSA加密算法原理
- 轻松学习RSA加密算法原理
- 轻松学习RSA加密算法原理
- 轻松学习RSA加密算法原理
- 轻松学习RSA加密算法原理
- 轻松学习RSA加密算法原理
- LRU cache
- Hadoop+Hive部署安装配置
- 使用maven profile实现多环境可移植构建
- 沙盒路径解析与获取
- Java多线程-线程池ThreadPoolExecutor的submit返回值Future
- RSA加密算法原理
- Python Matplot中文显示完美解决方案
- U
- Do not concatenate text displayed with setText,use resource string with placeholders.
- javascript中函数声明、函数表达式以及匿名函数和自执行函数
- 安卓组件化开发
- C语言中int、long int、long long的区别
- Unity3D换装系统原理
- 第一个python程序