rsa演算法是最廣泛使用的非對稱加密演算法。
金鑰長度為1024位,特殊情況下比如國家重要的一些東西採用2048位。
在理解rsa演算法之前先來看4個數學概念:
互質關係:兩個整數,除了1之外沒有其它公因子,就稱這兩個整數具有互質關係。
尤拉函式:用φ(n)表示。例如在1-8中,與8形成互質關係的有4個,那麼φ(n)=4。
尤拉定理:若a與n互質,n的尤拉函式為φ(n),那麼a的φ(n)次方除以n餘數為1。
模反元素:若a與n互質,那麼可以找到整數b,使得a*b%n的餘數為1,那麼b就叫做a的模反元素 。
rsa演算法生成公鑰私鑰的過程:
step1:隨機選擇兩個不相等的質數p,q
step2:計算n,n=p*q,將n轉化為二進位制,有多少位就是金鑰長度
step3:計算n的尤拉函式,φ(n)=(p-1)*(q-1)
step4:隨機選擇乙個整數e,使得1
step5:計算e,φ(n)的模反元素d
step6:n與e封裝成公鑰(n,e) n與d封裝成私鑰(n,d)
rsa演算法的可靠性:
已經知道n,e,如果再能知道d則破解。
想知道d,就必須要知道φ(n),
想知道φ(n)就必須知道p和q
但此時僅僅知道n=p*q,n足夠大,想對n進行因數分解是很困難的。 完!
RSA演算法原理
rsa演算法原理 經過上述準備工作之後,可以得到 根據費爾馬小定義,根據以下公式可以完成解密操作 rsa本身演算法的核心思想還是比較簡單的,加密 解密演算法的區別也只是在乘方取模部分使用的數字有所區別而已 當然,實際運用要比示例 複雜得多,由於rsa演算法的公鑰私鑰的長度 模長度 要到1024位甚至...
RSA演算法原理
一 rsa演算法數論 將兩個大素數相乘十分容易,但是想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密金鑰。二 rsa演算法涉及三個引數,n e1 e2。三 公私鑰生成過程 1 首先,需要兩個大質數,p和q,並且p不等於q。2 n是兩個大質數p q的積。n的二進位制表示時所占用的位數就是...
RSA演算法原理
一 rsa演算法的含義 rsa加密演算法是一種非對稱加密演算法 使用不同的加密金鑰與解密金鑰,是一種 由已知加密金鑰推導出解密金鑰在計算上是不可行的 密碼體制。rsa演算法是第乙個能同時用於加密和數字簽名的演算法 二 什麼是模反元素?如果兩個正整數a和n互質,那麼一定可以找到整數b,使得 ab 1 ...