1. 程式人生 > 其它 >數字簽名實驗openssl

數字簽名實驗openssl

openssl

OpenSSL是一個開放原始碼的軟體庫包,應用程式可以使用這個包來進行安全通訊,避免竊聽,同時確認另一端連線者的身份。這個包廣泛被應用在網際網路的網頁伺服器上。

OpenSSL 是一個開源專案,其組成主要包括一下三個元件:

  • openssl:多用途的命令列工具

  • libcrypto:加密演算法庫

對稱加密

提供了8種對稱加密演算法,其中7種是分組加密演算法,僅有的一種流加密演算法是RC4。這7種分 組加密演算法分別是AES、DES、Blowfish、CAST、IDEA、RC2、RC5

非對稱加密:

實現了4種非對稱加密演算法,包括DH演算法、RSA演算法、DSA演算法和橢圓曲線演算法(EC)。

  • libssl:加密模組應用庫,實現了ssl及tls

兩種執行模式:互動模式和批處理模式

實驗目的

過實驗理解數字摘要、數字簽名原理與應用

實驗步驟

1. 建立明文文件plain.txt,寫入內容。

2. 計算plain.txt的雜湊值,輸出到檔案digest.txt。

3. 利用RSA演算法對摘要進行簽名。

(1)建立1024位的RSA私鑰,寫入檔案rsprivatekey.pem,同時用3DES加密,設定密碼。

(2)從檔案rsprivatekey.pem中提取公鑰,寫入檔案rsapublickey.pem.

(3)利用上述私鑰對摘要digest.txt進行簽名,生成簽名文件signature.bin

實驗過程

1.在openssl/bin下建立明文文件plain.txt,寫入內容

2. 計算plain.txt的雜湊值,輸出到檔案digest.txt。\

sha1

3. 利用RSA演算法對摘要進行簽名。

(1)建立1024位的RSA私鑰,寫入檔案rsprivatekey.pem,同時將私鑰用3DES加密,並設定密碼。

(2)從檔案rsprivatekey.pem中提取公鑰,寫入檔案rsapublickey.pem.

(3)利用上述私鑰對摘要digest.txt進行簽名,生成簽名文件signature.bin

輸入之前設定的密碼1234

4. 對簽名signature.bin進行公鑰驗證。(rsautl--L)