|
5-9 數位簽章與驗證操作
內容:
訊息摘要配合公開鑰匙系統操作,則可達成數位簽章與驗證功能。欲完成數位簽章須具備下列程序:
-
產生一對 RSA 或 DSA
鑰匙配對,並將公開鑰匙廣播給參與通訊者。
-
傳送端將傳輸訊息經由雜湊演算法編碼產生一個訊息摘要。
-
利用
RSA 或 DSA
私有鑰匙對訊息摘要加密(或簽署),產生簽署碼。簽署碼與原訊息一併傳送給接收端。
-
接收端收到訊息後,利用傳送者的公開鑰匙向簽章碼解密,也將所收到的訊息經過相同的湊演算法編碼得到另一個訊息摘要,如果兩訊息摘要相同的話,則表示驗證正確。
5-9-1 RSA 簽署與驗證文件
吾人利用一個簡單範例來說明 RSA 簽章文件與驗證的操作程序,如下步驟:
H:\SecureLab\sign>openssl genrsa -out rsapriv.pem -passout pass:12345 -des3 1024 |
H:\SecureLab\sign>openssl rsa -in rsapriv.pem -passin pass:12345 -out rsapub.pem -pubout |
H:\SecureLab\sign>openssl sha1 -sign rsapriv.pem -out sign.txt data.doc
Enter pass phrase for rsapriv.pem:#### 【輸入通行碼 12345】
H:\SecureLab\sign>dir/b sign.txt
sign.txt |
H:\SecureLab\sign>openssl sha1 -verify rsapub.pem -signature sign.txt data.doc
Verified OK |
5-9-2 DSA 簽署與驗證文件
吾人還是利用一個簡單範例,說明 DSA 系統簽署與認證文件的步驟。
H:\SecureLab\dsa>openssl dsaparam -out dsaparam.pem 1024 |
H:\SecureLab\dsa>openssl gendsa -out dsapriv.pem -des3 -passout pass:02468 dsaparam.pem
Loading 'screen' into random state - done
Generating DSA key, 1024 bits |
H:\SecureLab\dsa>openssl dsa -in dsapriv.pem -out dsapub.pem -pubout
read DSA key
Enter PEM pass phrase: ##### 【輸入通行碼】
writing DSA key
H:\SecureLab\dsa>dir/b
dsaparam.pem
dsapriv.pem
dsapub.pem |
H:\SecureLab\dsa>openssl dgst -dss1 -sign dsapriv.pem -out sign.txt data.doc
Enter pass phrase for dsapriv.pem: 【輸入通行碼】
H:\SecureLab\dsa>dir/b sign.txt
sign.txt |
H:\SecureLab\dsa>openssl dgst -dss1 -verify dsapub.pem -signature sign.txt data.doc
Verified OK |
|
翻轉工作室:粘添壽
資訊與網路安全技術
翻轉電子書系列:
|