簡述rsa算法基本思想?1.公鑰與私鑰的生成:,我來為大家科普一下關于簡述rsa算法基本思想?以下内容希望對你有幫助!
1.公鑰與私鑰的生成:
2.加密過程:
3.解密
$$ c^d mod (n) = (m^e)^d mod (n) = m^(d*e) mod (n) ; $$
3.解密
$$ c^d mod (n) = (m^e)^d mod (n) = m^(d*e) mod (n) ; $$
為什麼能解密?
要用到歐拉定理(其實是費馬小定理的推廣)
a^φ(n) ≡ 1 (mod n),
再推廣:a^(φ(n)k) ≡ 1 (mod n),
得到 a^(φ(n)k 1) ≡ a (mod n)
注意到 ed ≡ 1 mod φ(N),即:ed = 1 k*φ(N)。
因此,$$ M^(de) mod N = M^1 kφ(N) mod N = M $$
4.代碼如下
實例
#coding=utf-8
#__author__ = 'ralph'
import random
def extendedGCD(a, b):
#a*xi b*yi = ri
if b == 0:
return (1, 0, a)
#a*x1 b*y1 = a
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!