RSA演算法小記

2022-01-31 18:16:02 字數 759 閱讀 2037

小記:一、數學基礎:

尤拉phi函式:φ(n)=總數(從1到n-1中與n互質的整數) 

(1)尤拉定理:對互質的正整數 a,n,有a^(φ(n))-1能被n整除 

當n是質數p時,φ(p)=p-1,有特殊情況,即小費馬定理:a^(p-1)-1 能被n整除

(2)關於尤拉函式的推論:φ(mn)=φ(m)φ(n)

(3)(ab)|(n)=(a|n)(b|n)

二、rsa演算法的加密和解密

1、任選互質的 p、q,求積:n=pq

2、求得 k=φ(n)=(p-1)(q-1)

3、任選與 k互質的 d

4、取整數 e,使得 ed=kt+1,即 (ed)|k=1

則 公鑰: d  n  (e用來算乘方,d用來取餘)  金鑰:e   n  (d用來求乘方,n用來取餘)

注意:n應盡量大,這樣不易被破解;n應大於被加密數的最大值,否則不同數被加密後可能一樣,這樣就無法解密還原了。總之,n應盡量大。

由此也可知,只能加密小於n的數

例:以p=2,q=7為例,則n=14,k=6;

取d=5,由ed|k=1即5e|6=1可取e=11;

則 公鑰:5,14;          金鑰:11,14

資料 2 用公鑰 5,14 加密得到 (2^5)|14=4,用 11,14解密得 (4^11)|14=2

注意:n應大於被加密數的最大值,否則不同數被加密後可能一樣,這樣就無法解密還原了:如 3|14=17|14=3,這樣對被加密的3和17無法還原,因為其密文一樣。

c 實現rsa演算法 RSA演算法實現過程

rsa演算法是實現非對稱加密的一種演算法,其用到很多有關數論的內容,在此我們不多討論。而將目光聚焦於演算法的實現過程。rsa過程 第二步 計算n a b 61 53 3233 第三步 計算 a 1 b 1 60 52 3120 第四步 選擇與3120互質的乙個數e 17,這個e也就是我們的公鑰,需要...

RSA演算法簡介

rsa演算法簡介 1 簡介 當前最著名 應用最廣泛的公鑰系統rsa是在1978年,由美國麻省理工學院 mit 的rivest shamir和adleman在題為 獲得數字簽名和公開鑰密碼系統的方法 的 中提出的。它是乙個基於數論的非對稱 公開鑰 密碼體制,是一種分組密碼體制。其名稱來自於三個發明者的...

RSA演算法簡介

rsa演算法是 r rirest asllalnlr和l adleman於1977年在美國麻省理工學院開發,於1978年首次公布,其演算法如下 a 選擇兩質數p q。b 計算n p q。c 計算n的尤拉函式 n p 1 q 1 d 選擇整數e,使e與 n 互質,且1 利用rsa加密,首先需將明文數位...