RSA加密演算法簡介

2021-06-27 00:59:37 字數 1093 閱讀 5413

rsa加密演算法簡介

如果你問我,哪一種演算法最重要?

我可能會回答"公鑰加密演算法"。

因為它是計算機通訊安全的基石,保證了加密資料不會被破解。你可以想象一下,信用卡交易被破解的後果。

進入正題之前,我先簡單介紹一下,什麼是"公鑰加密演算法"。

一、一點歷史

2023年以前,所有的加密方法都是同一種模式:

(1)甲方選擇某一種加密規則,對資訊進行加密;

(2)乙方使用同一種規則,對資訊進行解密。

由於加密和解密使用同樣規則(簡稱"金鑰"),這被稱為"對稱加密演算法"(symmetric-key algorithm)。

這種加密模式有乙個最大弱點:甲方必須把加密規則告訴乙方,否則無法解密。儲存和傳遞金鑰,就成了最頭疼的問題。

2023年,兩位美國計算機學家whitfield diffie 和 martin hellman,提出了一種嶄新構思,可以在不直接傳遞金鑰的情況下,完成解密。這被稱為"diffie-hellman金鑰交換演算法"。這個演算法啟發了其他科學家。人們認識到,加密和解密可以使用不同的規則,只要這兩種規則之間存在某種對應關係即可,這樣就避免了直接傳遞金鑰。

這種新的加密模式被稱為"非對稱加密演算法"。

(1)乙方生成兩把金鑰(公鑰和私鑰)。公鑰是公開的,任何人都可以獲得,私鑰則是保密的。

(2)甲方獲取乙方的公鑰,然後用它對資訊加密。

(3)乙方得到加密後的資訊,用私鑰解密。

如果公鑰加密的資訊只有私鑰解得開,那麼只要私鑰不洩漏,通訊就是安全的。

2023年,三位數學家rivest、shamir 和 adleman 設計了一種演算法,可以實現非對稱加密。這種演算法用他們三個人的名字命名,叫做rsa演算法。從那時直到現在,rsa演算法一直是最廣為使用的"非對稱加密演算法"。毫不誇張地說,只要有計算機網路的地方,就有rsa演算法。

這種演算法非常可靠,金鑰越長,它就越難破解。根據已經披露的文獻,目前被破解的最長rsa金鑰是768個二進位制位。也就是說,長度超過768位的金鑰,還無法破解(至少沒人公開宣布)。因此可以認為,1024位的rsa金鑰基本安全,2048位的金鑰極其安全。

RSA加密演算法

素數是這樣的整數,它除了能表示為它自己和1的乘積以外,不能表示為任何其它兩個整數的乘積。例如,15 3 5,所以15不是素數 又如,12 6 2 4 3,所以12也不是素數。另一方面,13除了等於13 1以外,不能表示為其它任何兩個整數的乘積,所以13是乙個素數。素數也稱為 質數 二 什麼是 互質數...

RSA加密演算法

演算法的描述 1.選取兩個素數p,q 2.計算n p q,fn p 1 q 1 3.選擇乙個整數e,使得e與fn的最大公約數為1,e將會用於對資料進行加密。4.計算出乙個整數d,使得d e除fn的餘數為1。d用於對密文進行解密,還原出明文。5.假設明文為m,密文為c。如果需要對原文進行加密,則進行如...

RSA加密演算法

一 rsa是公鑰加密演算法之一,該演算法的數學基礎是 1 初等數論的euler定理,即 若整數a與整數n互素,則a n 1 mod n 其中,n 為尤拉函式。2 大整數分解很困難,即給定乙個大整數n,將其分解為n p q,兩個素數乘積十分困難。二 rsa基本原理 1 金鑰的生成。選擇大素數p,q,計...