淺析DES、AES、RSA、MD5加密算法及其應用場景


對稱加密算法
DES 算法:全稱為Data Encryption Standard,一種典型的塊加密方法,將固定長度的明文通過一系列復雜的操作變成同樣長度的密文,塊的長度為64位。同時,DES 使用的密鑰來自定義變換過程,因此算法認為只有持有加密所用的密鑰的用戶才能解密密文。 DES 的密鑰表面上是64位的,實際有效密鑰長度為56位,其余8位可以用於奇偶校驗。

DES 現在已經不被視為一種安全的加密算法,主要原因是它使用的56位密鑰過短。為了提供實用所需的安全性,可以使用 DES 的派生算法 3DES 來進行加密

AES 算法:(密碼學中的高級加密標准 Advanced Encryption Standard)在密碼學中又稱 Rijndael 加密法,用來替代原先的 DES,已經被多方分析且廣泛使用。

非對稱加密算法
RSA算法:(Rivest-Shamir-Adleman) 1977年由 MIT 的 Ron Rivest、Adi Shamir 和 Leonard Adleman 一起提出,以他們三人姓氏開頭字母命名,是一種獲得廣泛使用的非對稱加密算法。對極大整數做因數分解的難度決定了 RSA 算法的可靠性。換言之,對一個極大整數做因數分解愈困難,RSA 算法就愈可靠。假如有人找到一種快速因數分解的算法的話,那么用 RSA 加密的信息的可靠性就肯定會極度下降。目前看來找到這樣的算法的可能性非常小。

散列算法
在信息安全領域,將源數據經過散列算法計算出數據指紋,用於識別經過傳播途徑得到的數據是否有誤 ,以保證數據的來源真實性。

MD5算法:MD5 即 Message‐Digest Algorithm 5 ,是計算機廣泛使用的散列算法之一,經常用於確保信息傳輸的完整性和一致性 。MD5 輸入不定長度信息,經過程序流程,生成四個32位數據,最后聯合起來輸出固定128bit長度的信息摘要。計算的基本過程為:求余、取余、調整長度、與鏈接變量進行循環運算、得出結果。MD5 的前身有 MD2、MD3 和 MD4。

應用場景
DES/AES加密速度快,適合大量數據,處理數據后可復原。

RSA用於保密性時,就是公鑰加密,私鑰解密。 因為公鑰是可以公開了, 那么任何人都可以使用公鑰對信息進行加密,但是只有持有私鑰的人才能正確解密。這樣就保證了信息的保密性,因為只有私鑰持有者才能正確解密。

RSA用於認證性時,比如數字簽名,即私鑰持有者對信息進行簽名,驗證者可以根據公開的公鑰進行驗證簽名是否正確和有效,即實現了認證性,以及不可抵賴性。

MD5用於完整性,確保信息在傳輸過程保持一致性;用於密碼加密,數據庫中不存儲密碼明文,而是存儲其散列值,校驗時比較散列值是否相同

組合使用
采用非對稱加密算法管理對稱算法的密鑰,然后用對稱加密算法加密數據,使用散列函數進行數據摘要。

前端通常采用crypto進行加密解密  https://www.cnblogs.com/ygunoil/p/14372750.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM