rsa演算法是一種非對稱性加密演算法,現在算是最具有影響力的演算法,簡單來說rsa演算法運用了"乙個大整數進行因式分解具備一定的難度"這個數學知識來進行加密,對乙個極大整數做因式分解越難,那麼想要破解加密過後的密碼就越難。在了解rsa演算法之前,先要了解以下幾個知識點:
__如果兩個正整數,除了1以外,沒有其他公因子,我們就稱這兩個數是互質關係(coprime)。__比如,15和32沒有公因子,所以它們是互質關係。這說明,不是質數也可以構成互質關係。
關於互質關係,不難得到以下結論:
任意兩個質數構成互質關係,比如13和61。乙個數是質數,另乙個數只要不是前者的倍數,兩者就構成互質關係,比如3和10。如果兩個數之中,較大的那個數是質數,則兩者構成互質關係,比如97和57。1和任意乙個自然數是都是互質關係,比如1和99。p是大於1的整數,則p和p-1構成互質關係,比如57和56。p是大於1的奇數,則p和p-2構成互質關係,比如17和15。尤拉函式可以用來解決"給定任意乙個整數n,那麼小於n或等於n的整數中,有幾個和n是互質關係",可表示為φ(n)例:以φ(8)表示
在小於或等於8之中,只有1,3,5,7和8是互質關係,所以φ(8)==4
這裡只需要知道幾個知識點就夠了,沒必要把尤拉函式全部給理解了。
φ(n) 的計算方法並不複雜,但是為了得到最後那個公式,需要一步步討論。
第一種情況
如果n=1,則 φ(1) = 1 。因為1與任何數(包括自身)都構成互質關係。
第二種情況
如果n是質數,則 φ(n)=n-1 。因為質數與小於它的每乙個數,都構成互質關係。比如5與1、2、3、4都構成互質關係。
第三種情況
如果n是質數的某乙個次方,即 n = p^k (p為質數,k為大於等於1的整數),則
[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-jzsuzct5-1601259593358)(
比如 φ(8) = φ(2^3) =2^3 - 2^2 = 8 -4 = 4。
第四種情況
如果n可以分解成兩個互質的整數之積,n = p1 × p2 則 φ(n) = φ(p1p2) = φ(p1)φ(p2),
即積的尤拉函式等於各個因子的尤拉函式之積。比如,φ(56)=φ(8×7)=φ(8)×φ(7)=4×6=24。
當兩個整數a,b是互質關係的時候,那麼a的φ(a)次方除於n除餘必然是1
也就是說,a的φ(n)次方被m除的餘數為1。或者說,a的φ(m)次方減去1,可以被m整除。比如,3和7互質,而7的尤拉函式φ(7)等於6,所以3的6次方(729)減去1,可以被7整除(728/7=104)。
這個公式也不進行證明,比較複雜,只需要記住結論就好了。
尤拉定理有乙個特殊情況,當m是質數p時,此式則為:
這就是著名的費馬小定理。它是尤拉定理的特例。
尤拉定理是rsa演算法的核心。理解了這個定理,就可以理解rsa。
如果兩個正整數a和n互質,那麼一定可以找到整數b,使得 ab-1 被n整除,或者說ab被n除的餘數是1。
比如,3和11互質,那麼3的模反元素就是4,因為 (3 × 4)-1 可以被11整除。顯然,模反元素不止乙個, 4加減11的整數倍都是3的模反元素 ,即如果b是a的模反元素,則 b+kn 都是a的模反元素。
具體可以參考:
發表日期: 2023年6月27日
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加密,首先需將明文數位...
RSA演算法簡介
rsa演算法原理 rsa演算法流程 1976年以前,所有的加密方法都是同一種模式 a選擇某一種加密規則,對資訊進行加密 b使用同一種規則,對資訊進行解密。這種加密模式有乙個最大缺點 加密和解密使用同樣的規則 金鑰 a必須把金鑰告訴b,否則無法解密。儲存和傳遞金鑰,就成了最頭疼的問題。後來出現一種 d...