您好,登錄后才能下訂單哦!
本篇內容主要講解“openssl常用加密算法有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“openssl常用加密算法有哪些”吧!
1、對稱加密算法
所謂對稱,就是采用這種加密方法的雙方使用方式用同樣的密鑰進行加密和解密。密鑰是控制加密及解密過程的指令。算法是一組規則,規定如何進行加密和解密。
分類
常用的算法有:DES、3DES、AES等。
DES
全稱為Data Encryption Standard,即數據加密標準,是一種使用密鑰加密的塊算法,1977年被美國聯邦政府的國家標準局確定為聯邦資料處理標準(FIPS),并授權在非密級政府通信中使用,隨后該算法在國際上廣泛流傳開來。
3DES
即TripleDES,是DES向AES過渡的加密算法,它使用3條56位的密鑰對數據進行三次加密。是DES的一個更安全的變形。它以DES為基本模塊,通過組合分組方法設計出分組加密算法。比起最初的DES,3DES更為安全。
AES
全稱為Advanced Encryption Standard,在密碼學中又稱Rijndael加密法,是美國聯邦政府采用的一種區塊加密標準。這個標準用來替代原先的DES,已經被多方分析且廣為全世界所使用。
優缺點
對稱加密算法的優點是算法公開、計算量小、加密速度快、加密效率高。
對稱加密算法的缺點是在數據傳送前,發送方和接收方必須商定好秘鑰,然后使雙方都能保存好秘鑰。其次如果一方的秘鑰被泄露,那么加密信息也就不安全了。另外,每對用戶每次使用對稱加密算法時,都需要使用其他人不知道的唯一秘鑰,這會使得收、發雙方所擁有的鑰匙數量巨大,密鑰管理成為雙方的負擔。
應用
保存用戶手機號、身份證等敏感但能解密的信息
2、非對稱性加密算法
與對稱加密算法不同,非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那么只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫作非對稱加密算法。
分類
常用的算法有:RSA、DSA、ECC等。
RSA
全稱為Digital Signature Algorithm,是第一個能同時用于加密和數字簽名的算法,也易于理解和操作。RSA是被研究得最廣泛的公鑰算法,從提出到現今的三十多年里,經歷了各種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優秀的公鑰方案之一。
DSA
全稱為Digital Encryption Standard,是基于整數有限域離散對數難題的,其安全性與RSA相比差不多。DSA的一個重要特點是兩個素數公開,這樣,當使用別人的p和q時,即使不知道私鑰,你也能確認它們是否是隨機產生的,還是作了手腳。RSA算法卻做不到。
ECC
全稱為Elliptic Curves Cryptography,,也叫橢圓加密算法,是一種公鑰加密體制,最初由Koblitz和Miller兩人于1985年提出,其數學基礎是利用橢圓曲線上的有理點構成Abel加法群上橢圓離散對數的計算困難性。
與RSA,DSA相比,ECC有以下優點:
安全性高,有研究表示160位的橢圓密鑰與1024位的RSA密鑰安全性相同。
處理速度快,在私鑰的加密解密速度上,ecc算法比RSA、DSA速度更快。
存儲空間占用小。
帶寬要求低.
優缺點
非對稱加密與對稱加密相比,其安全性更好:對稱加密的通信雙方使用相同的秘鑰,如果一方的秘鑰遭泄露,那么整個通信就會被破解。而非對稱加密使用一對秘鑰,一個用來加密,一個用來解密,而且公鑰是公開的,秘鑰是自己保存的,不需要像對稱加密那樣在通信之前要先同步秘鑰。
非對稱加密的缺點是加密和解密花費時間長、速度慢,只適合對少量數據進行加密。
應用
一般用于簽名和認證
3、散列算法
在信息安全技術中,經常需要驗證消息的完整性,散列(Hash)函數提供了這一服務,它對不同長度的輸入消息,產生固定長度的輸出。這個固定長度的輸出稱為原輸入消息的“散列”或“消息摘要”(Message digest)。
分類
常用的算法有:MD5、SHA、HMAC等。
MD5
全稱為Message Digest Algorithm,即中文名為消息摘要算法第五版,為計算機安全領域廣泛使用的一種散列函數,用以提供消息的完整性保護。
SHA
全稱為Secure Hash Algorithm,即安全哈希算法,主要適用于數字簽名標準(Digital Signature Standard DSS)里面定義的數字簽名算法(Digital Signature Algorithm DSA)。有SHA-1,SHA-224,SHA-256,SHA-384,和SHA-512這幾種單向散列算法,其中SHA-1已經不安全。
HMAC
全稱為Hash Message Authentication Code,即散列消息鑒別碼,主要是利用哈希算法,以一個密鑰和一個消息為輸入,生成一個消息摘要作為輸出。一般的,消息鑒別碼用于驗證傳輸于兩個共 同享有一個密鑰的單位之間的消息。HMAC 可以與任何迭代散列函數捆綁使用。MD5 和 SHA-1 就是這種散列函數。HMAC 還可以使用一個用于計算和確認消息鑒別值的密鑰。
應用
效驗下載文件正確性,一般在網站上下載文件都能見到
存儲用戶敏感信息,如密碼、 卡號等不可解密的信息
建議
AES采用128為即可,RSA建議采用1024位的數字,ECC建議采用160位。RSA加密字符長度有限制,一般采用AES+RSA方式組合使用。
誤區
很多博客把Base64編碼也當做一種加密算法來解釋,這是不嚴謹的。Base64是沒有可讀性,但不代表這個編碼就是加密的。加密需要保證沒有密鑰的人無法解密信息,更無法從密文中破解任何明文信息,但Base64可以很輕松的反編碼。另外,Base64編碼也顯然沒有用到密鑰,不具有加密算法的安全性,所以,這個誤區大家要糾正過來。
到此,相信大家對“openssl常用加密算法有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。