RSA算法理论证明
原理
- 选取两个极大的素数p,q
- 令n=p*q, 则φ(n)=(p-1)(q-1), φ(n)是n的欧拉函数
- 选取一个与φ(n)互质的数e, e∈(1,φ(n))
- 计算出e对于φ(n)的模反元素d
- Memodn = C 这里C就是密文
- Cdmodn = M
素数/质数
给定一个素数p, 则除了1与p本身外不存在其他因数
欧拉函数
φ(n)表示小于n的正整数且与n互质的数的个数
若n为质数, 则φ(n) = n-1
若n为两互质的整数之积, φ(n)=(p-1)(q-1)
模反元素
e与φ(n)互质,则有d, 使得ed-1能被φ(n)整除,即(ed)%φ(n)=1, 此时d称为e对于φ(n)的模反元素,
算法验证
由原理第五、第六步可得
C = Memodn = (Cdmodn)emodn
这里引用了公式 ((axmodp)y)modp=axymodp
(Cdmodn)emodn = Cdemodn
这里d是e对于φ(n)的模反元素
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 全世界的面我都吃一遍!
评论