RSA(Rivest–Shamir–Adleman)是一種廣泛使用的非對稱加密演算法,過程中會使用到一對金鑰——公開金鑰(Public Key)和私密金鑰(Private Key)。RSA 使用公開金鑰來加密資料,確保透過互聯網進行資料共享時,不會被未經授權的人取得,維持安全性。公開金鑰的破解難度極高,RSA 具有高度的抗破解能力,能有效抵禦攻擊。
從上圖可以發現公開金鑰用來加密資料,任何人都可以使用接收者的公開金鑰來加密資料,而只有擁有對應私密金鑰的接收者才能解密資料,確保資料的安全性與機密性。
RSA 的安全性來自於大數分解的困難性,也就是將一個大合數分解為質因數的難度。以下是 RSA 的主要步驟:
以上步驟完成後就可以得到:
當我們想要發送秘密訊息給其他人時:
任何人都有你的公開金鑰,都可以把訊息加密後發送給你,但只有你能解密。
當收到加密的訊息時,使用私密金鑰來解密:
足夠大的質數分解,複雜性越高,加密通信的安全性也會跟著提升,因此破解會變得更加困難,而且只有擁有私密金鑰的人才能解密信息,因此 RSA 的安全性很高。