簡述rsa加密算法原理 RSA算法的功能?
RSA算法的功能?RSA算法是一種公鑰加密機制,它使用不同的加密密鑰和解密密鑰。從已知的加密密鑰推導解密密鑰在計算上是不可行的。RSA由Ron Rivest、ADI Shamir和Leonard Ad
RSA算法的功能?
RSA算法是一種公鑰加密機制,它使用不同的加密密鑰和解密密鑰。從已知的加密密鑰推導解密密鑰在計算上是不可行的。
RSA由Ron Rivest、ADI Shamir和Leonard Adleman于1977年提出。他們三個都在麻省理工學院工作。RSA是他們姓氏首字母的組合。它的原理是:根據數論,找到兩個大素數相對簡單,但對它們的乘積進行因式分解卻極為困難,因此乘積可以作為加密密鑰公開。
RSA算法的具體過程?
RSA算法非常簡單,概括如下:求兩個素數P和Q,取n=P*Q,取t=(P-1)*(Q-1),取任意數e,這就要求e<T和e與t互為素數(即最大公因數為1),取d*e%t==1,最后得到三個數:n d e,將消息設為數字m(m<N),設C=(m**d)%N,得到加密消息C,設m=(C**e)%N,再設m==m,完成對C的解密。注:**表示冪,以上兩個公式中的d和e可以互換。在對稱加密中:兩個數字組成一個公鑰,可以告訴其他人;兩個數字組成一個私鑰,由e保管,沒有人知道。發(fā)送給他人的信息是用E加密的,只要別人能用d來解密,就證明信息是你發(fā)送的,這就構成了一種簽名機制。當有人給你發(fā)信息時,使用d加密,這樣只有你有e才能解密。RSA的安全性在于,對于大數n,沒有有效的分解方法,因此當nd已知時不能得到e;同樣地,當ne已知時也不能得到d。RSA算法簡單而優(yōu)雅,但計算速度相對較慢。一般情況下,RSA并不是直接用于加密所有的信息。最常見的情況是隨機生成一個對稱加密密鑰,然后使用對稱加密算法對信息進行加密,然后使用RSA對剛才的加密密鑰進行加密。最后,應該注意的是,小于1024位的當前n被證明是不安全的。在自己使用時,不要使用小于1024位的RSA,最好使用2048位。