當前位置:編程學習大全網 - 編程語言 - linux-openssl命令行

linux-openssl命令行

title: linux-openssl

date: 2020-09-16 11:02:15

categories:

{% note info %}

OpenSSL是壹個健壯的、商業級的、功能齊全的開源工具包,用於傳輸層安全(TLS)協議,以前稱為安全套接字層(Secure Sockets Layer, SSL)協議。協議實現基於全強度通用密碼庫,也可以單獨使用。

openssl是壹個功能豐富且自包含的開源安全工具箱。它提供的主要功能有:SSL協議實現(包括SSLv2、SSLv3和TLSv1)、大量軟算法(對稱/非對稱/摘要)、大數運算、非對稱算法密鑰生成、ASN.1編解碼庫、證書請求(PKCS10)編解碼、數字證書編解碼、CRL編解碼、OCSP協議、數字證書驗證、PKCS7標準實現和PKCS12個人數字證書格式實現等功能。

<span style="color:red;">項目地址</span> <span style="color:red;">官方網址</span> <span style="color:red;">手冊</span>

{% endnote %}

{% tabs configtab, 1 %}

對稱算法使用壹個密鑰。給定壹個明文和壹個密鑰,加密產生密文,其長度和明文大致相同。解密時,使用讀密鑰與加密密鑰相同。

ECB\CBC\CFB\OFB

摘要算法是壹種能產生特殊輸出格式的算法,這種算法的特點是:無論用戶輸入什麽長度的原始數據,經過計算後輸出的密文都是固定長度的,這種算法的原理是根據壹定的運算規則對原數據進行某種形式的提取,這種提取就是摘要,被摘要的數據內容與原數據有密切聯系,只要原數據稍有改變,輸出的“摘要”便完全不同,因此,基於這種原理的算法便能對數據完整性提供較為健全的保障。但是,由於輸出的密文是提取原數據經過處理的定長值,所以它已經不能還原為原數據,即消息摘要算法是不可逆的,理論上無法通過反向運算取得原數據內容,因此它通常只能被用來做數據完整性驗證。

如今常用的“消息摘要”算法經歷了多年驗證發展而保留下來的算法已經不多,這其中包括MD2、MD4、MD5、SHA、SHA-1/256/383/512等。

常用的摘要算法主要有MD5和SHA1。MD5的輸出結果為16字節,sha1的輸出結果為20字節。

在公鑰密碼系統中,加密和解密使用的是不同的密鑰,這兩個密鑰之間存在著相互依存關系:即用其中任壹個密鑰加密的信息只能用另壹個密鑰進行解密。這使得通信雙方無需事先交換密鑰就可進行保密通信。其中加密密鑰和算法是對外公開的,人人都可以通過這個密鑰加密文件然後發給收信者,這個加密密鑰又稱為公鑰;而收信者收到加密文件後,它可以使用他的解密密鑰解密,這個密鑰是由他自己私人掌管的,並不需要分發,因此又成稱為私鑰,這就解決了密鑰分發的問題。

主要的公鑰算法有:RSA、DSA、DH和ECC。

Openssl中大量用到了回調函數。回調函數壹般定義在數據結構中,是壹個函數指針。通過回調函數,客戶可以自行編寫函數,讓openssl函數來調用它,即用戶調用openssl提供的函數,openssl函數再回調用戶提供的函數。這樣方便了用戶對openssl函數操作的控制。在openssl實現函數中,它壹般會實現壹個默認的函數來進行處理,如果用戶不設置回調函數,則采用它默認的函數。

{% endtabs %}

  • 上一篇:為什麽說《無主之城》裏的女性角色演技好又耐看?
  • 下一篇:h5海報是怎麽做出來的呢-如何制作H5頁面,有哪些方法技巧?
  • copyright 2024編程學習大全網