RSA加密演算法
RSA 非對稱加密 數字簽名 數字證書
什麼是RSA加密演算法
RSA加密演算法是一種非對稱加密演算法,演算法的數學基礎是極大數分解難題。
RSA加密演算法的強度也就是極大數分解的難度,目前700多位(二進位制)的數字已經可以破解,1024位認為是比較安全的,2048則是非常安全的。
在RSA加密演算法中,金鑰由兩部分組成,稱之為公鑰和私鑰,私有由傳送方自己儲存,不能洩漏。公鑰由傳送方公佈出去。傳送方傳送訊息時,會用公鑰對訊息進行加碼,接收方必須要使用對應的私鑰才能將加密後的資訊解開。因此,只要私鑰不洩漏,通訊內容就不會被破解。
如何保證訊息不會被篡改
雖然使用RSA加密之後,只有持有金鑰才可以解密,但是這並不能組織或者發現訊息被篡改了。為了防止訊息在傳輸過程中被篡改,引入類數字簽名的概念。
數字簽名
傳送方在傳送訊息之前,會使用訊息摘要演算法對傳送內容進行摘要,然後用私鑰對摘要進行加密,加密後的內容作為數字簽名隨訊息一起傳送。接收方收到訊息之後,會對訊息進行解密,解密之後進行摘要計算,得到摘要。接著對數字簽名進行解密,得到另一分摘要,將兩份摘要進行對比,如果相同,則說明訊息沒有被篡改過。
數字證書
雖然RSA演算法能保證訊息不被破解,數字簽名也能保證訊息不被篡改,但是RSA演算法中使用的公鑰卻很難有效的分發,因為公鑰無法證明自己就是由傳送方發出的,它也有可能是惡意的人冒名頂替分發出來的。
為了解決這種問題,需要引入第三方權威機構,傳送方和接收方都應該要信任該機構,然後由該機構來給他們辦法一個證書,證書包含有頒發機構資訊,證書持有人資訊,以及證書持有人的公鑰,這些資訊會使用私鑰進行數字簽名,這樣就能夠保證證書的安全。接收方收到這個證書,只要使用第三方權威機構的公鑰對證書解密,即可知道證書的真偽。
相關文章
- # RSA 公鑰加密演算法加密演算法
- 非對稱加密演算法-RSA演算法加密演算法
- RSA加密加密
- 經典加密演算法入門-RSA加密演算法
- PHP中RSA加密演算法的使用PHP加密演算法
- RSA加密演算法的簡單案例加密演算法
- RSA演算法揭秘:加密世界的守護者演算法加密
- RSA非對稱加密演算法淺析加密演算法
- springmvc使用RSA演算法加密表單SpringMVC演算法加密
- javascript RSA 加密JavaScript加密
- 第四篇:非對稱加密及RSA加密演算法加密演算法
- 在SQL SERVER中實現RSA加密演算法SQLServer加密演算法
- RSA加密與解密加密解密
- C# RSA 加密C#加密
- RSA加密檔案加密
- RSA加密遇到的坑加密
- php rsa長文加密解密PHP加密解密
- Android資料加密之Rsa加密Android加密
- 秀爾演算法:破解RSA加密的“不滅神話”演算法加密
- RSA加密演算法簡單介紹以及python實現加密演算法Python
- 非對稱加密技術- RSA演算法數學原理分析加密演算法
- RSA 非對稱加密&解密加密解密
- Https中公私鑰加密演算法和其使用的RSA演算法分析HTTP加密演算法
- RSA演算法演算法
- php中aes加密和rsa加密的區別PHP加密
- 對稱加密、非對稱加密、RSA(總結)加密
- 非對稱加密演算法RSA中的公鑰和私鑰加密演算法
- RSA加密原理&密碼學&HASH加密密碼學
- nodejs常用加密方式 RSA & AESNodeJS加密
- 關於php rsa加密處理PHP加密
- 安全篇-AES/RSA加密機制加密
- rsa加密概念和license總結加密
- framewrok RSA SHA512加密加密
- RSA加密解密示例程式碼加密解密
- python實現aes加密解密,RSA簽名和驗籤,RSA加密解密,並呼叫介面Python加密解密
- 常用加密解密演算法【RSA、AES、DES、MD5】介紹和使用加密解密演算法
- java中的使用RSA演算法進行公鑰加密私鑰解密 .Java演算法加密解密
- RSA演算法原理演算法