OpenSSL 算法性能測試

*本文爲參考各方資料整理而成

1 OpenSSL簡介

OpenSSL是一個開放源代碼的軟件庫包,應用程序可以使用這個包來進行安全通信,避免竊聽,同時確認另一端連接者的身份。OpenSSL整個軟件包大概可以分成三個主要的功能部分:SSL協議庫、應用程序以及密碼算法庫。OpenSSL提供的CA應用程序就是一個小型的證書管理中心(CA),實現了證書籤發的整個流程和證書管理的大部分機制。
SSL是Secure Sockets Layer(安全套接層協議)的縮寫,可以在Internet上提供祕密性傳輸。

2 OpenSSL安裝

安裝Openssl有諸多方式,既可以通過軟件倉庫,比如Fedora的yum命令或者Ubuntu的aptitude命令來安裝,也可以從Openssl的網站上直接下載最新源代碼,自己編譯安裝。

這裏推薦的方式是自己下載Openssl的源代碼來編譯安裝。原因在於,通過軟件倉庫發行的Openssl是一個閹割版本,有許多的特性,比如橢圓曲線在某些版本中默認沒有包含進來。而自己下載源代碼來安裝則可以使用Openssl全部的特性。編譯和安裝的步驟在下載的源代碼裏的INSTALL文件裏有詳細的說明,並不複雜。最終用make install命令將編譯好的可執行文件安裝到系統中。如果安裝後想刪除的話,用make uninstall即可完整刪除。

Step 1.安裝ActivePerl

下載ActivePerl地址
根據系統以及位數下載安裝文件\downarrow根據系統以及位數下載安裝文件
下載的文件\downarrow
下載的文件
開始安裝\downarrow
開始安裝
版本說明
安裝成功後,打開環境變量,path 已經寫入,但是需要註銷用戶,或者重啓
進入命令模式,進入perl安裝目錄下,輸入perl -v 正確顯示版本信息,執行“perlexample.pl”,若顯示“Hellofrom ActivePerl!”,則說明Perl安裝成功,可以使用Perl的相關命令來進行OpenSSL的安裝。

Step 2.安裝Microsoft Visual Studio

Step 3.安裝NASM彙編工具

NASM
安裝,並將其安裝路徑加入到到系統環境變量Path中.

Step 4.編譯安裝OpenSSL

下載OpenSSL
解壓,在解壓後的文件夾內找到安裝幫助文件\downarrow
在這裏插入圖片描述
根據幫助文件在openssl目錄下輸入編譯指令\downarrow 在這裏插入圖片描述
輸入安裝指令

nmake -f ms\ntdll.mak install

nmake -f ms\ntdll.mak test    #測試OpenSSL動態庫
nmake -f ms\nt.mak test   #測試OpenSSL靜態庫
nmake -f ms\ntdll.mak install  #安裝OpenSSL動態庫
nmake -f ms\nt.mak install   #安裝OpenSSL靜態庫
nmake -f ms\ntdll.mak clean   # 清除上次OpenSSL動態庫的編譯,以便重新編譯
nmake -f ms\nt.mak clean   #清除上次OpenSSL靜態庫的編譯,以便重新編譯

Openssl自帶的測試文檔就是最好的示例,下載最新的Openssl源碼並解壓,test/ecdsatest.c就是最好的例子。

3 加解密算法能力測試

3.1 AES與RSA算法

AES: 最爲常見的一種對稱加密算法,對稱式加密就是加密和解密使用同一個密鑰。信息接收雙方都需事先知道密匙和加解密算法且其密匙是相同的,之後便是對數據進行加解密了。對稱加密算法用來對敏感數據等信息進行加密。適用於傳輸過程。
優點

  1. 運算速度快,在有反饋模式、無反饋模式的軟硬件中,都表現出非常好的性能。
  2. 對內存的需求非常低,適合於受限環境。
  3. AES 是一個分組迭代密碼, 分組長度和密鑰長度設計靈活。
  4. AES 標準支持可變分組長度,分組長度可設定爲32 比特的任意倍數,最小值爲128 比特,最大值爲256 比特。

缺點: 需要進行密鑰的協商和傳輸,存在密鑰泄漏的問題

RSA: 是最常見的一種非對稱加密算法,非對稱式加密就是加密和解密所使用的不是同一個密鑰,通常有兩個密鑰,稱爲"公鑰"和"私鑰",它們兩個必需配對使用,否則不能打開加密文件。適用於簽名、認證。

優點

  1. 非對稱加密算法使用公鑰加密,私鑰解密,私鑰簽名,公鑰驗籤。安全性比對稱加密高。
  2. 非對稱加密使用兩個密匙,服務端和客戶端密匙不一樣,私鑰放在服務端,不用進行密鑰交換,泄漏可能性較低,安全性高。

缺點:需要大數的乘冪求模等算法,運行速度慢。只適合對少量數據進行加密。

3.2 測試

openssl 的加密速度測試
通過 Perf 對 OpenSSL 中 RSA 加密解密進行性能分析
RSA+AES加解密的測試
OpenSSL命令—speed
openssl rsautl RSA實用工具
openssl的介紹和使用
C++: 基於OpenSSL的AES256加解密測試

4 參考資料

OpenSSL百度百科
Windows7(64位)環境下安裝openssl詳細步驟+圖解
下載MASM32地址
OPENSSL(一)關於OPENSSL的安裝
基於OpenSSL的AES256加解密測試
Openssl的安裝
在window10 64位電腦上安裝OpenSSL安裝過程
詳解Linux下安裝OpenSSL安裝圖文方法
OpenSSL源碼安裝超詳細教程
Win7系統下OpenSSL安裝及測試
Windows安裝配置C/C++(VS2017)OpenSSL開發環境配置教程
OpenSSL命令詳解(一)——標準命令
OpenSSL 命令詳解(二)——摘要算法、簽名、驗籤
AES,RSA,IBE三種算法的比較
openssl編譯方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章