數字簽名實驗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)