一共有6個數字:p,q,n,o(n),e,d
p:質數
q:質數
n:模
特性:p*q=n,n的長度為金鑰的長度
第一步:計算n的尤拉函式o(n)=(p-1)*(q-1)
第二步:隨機選取乙個數e,要求 1加密的原理:
傳送加密資訊m必須小於n
加密過程e(m)=(m^e)%n,即m的e次方,然後對n取模,得到的餘數就是密文
比如 p=61,q=53,n=3233,o(n)=3120,e=17,d=2753
如果需要加密的明文為65,則加密後得到的密文=(65^17)%3233=2790
解密的原理
解密過程d(m)=(e(m)^d)%n,即密文的d次方,然後對n取模,得到的餘數就是明文
比如 p=61,q=53,n=3233,o(n)=3120,e=17,d=2753
如果需要加密的明文為65,則加密後得到的密文=(65^17)%3233=2790
則解密後的結果=(2790^2753)%3233=65
RSA演算法總結
1 選擇一對不同的 足夠大的素數p,q。2 計算n pq。3 計算f n p 1 q 1 4 找乙個與f n 互質的數e,且1安全性方面需注意引數的選取 建議參考 應用密碼學 2017版 p156 p157 1 不同的使用者不能用相同的模數 n,即乙個模數只能乙個人用 2 p 和 q 的差值要大,一...
RSA攻擊總結
相關概念 什麼是dp dp d mod p 1 推導過程 dp equiv d mod p 1 dp times e equiv d times e mod p 1 d times e k times p 1 dp times e d times e equiv 1 mod p 1 times q ...
c 實現rsa演算法 RSA演算法實現過程
rsa演算法是實現非對稱加密的一種演算法,其用到很多有關數論的內容,在此我們不多討論。而將目光聚焦於演算法的實現過程。rsa過程 第二步 計算n a b 61 53 3233 第三步 計算 a 1 b 1 60 52 3120 第四步 選擇與3120互質的乙個數e 17,這個e也就是我們的公鑰,需要...