OpenSSL 命令詳解(二)——摘要算法、簽名、驗籤

鋒影

email:[email protected]

如果你認爲本系列文章對你有所幫助,請大家有錢的捧個錢場,點擊此處贊助,贊助額0.1元起步,多少隨意

 

 

本文主要介紹OpenSSL 摘要計算命令。 
ref: 
http://blog.csdn.net/as3luyuan123/article/details/14046375

這裏寫圖片描述

用什麼摘要算法指令代替時,默認使用該算法,但也可以指定其他算法。

這裏寫圖片描述

使用指令 openssl dgst - 
dgst指令 可以用其他摘要算法指令(如md4\md5\sha1…)代替,含義一樣 
這裏寫圖片描述

計算摘要值

未指定特定摘要算法時,默認使用md5算法。 
用法:

openssl dgst [-算法名稱] [-其他選項] inputfile

這裏寫圖片描述

支持的摘要算法:

-md5:默認選項,用md5算法進行摘要。

-md4:用md4算法進行摘要。

-mdc2:用mdc2算法進行摘要。

-sha1:用sha1算法進行摘要。

-sha:用sha算法進行摘要。

-sha224:用sha算法進行摘要。

-ripemd160:用ripemd160算法進行摘要。

-dss1:用dss1算法進行摘要。

-dss1:用whirlpool算法進行摘要。

這裏寫圖片描述

其他選項含義

-out file:輸出到指定文件

-c:打印出兩個哈希結果的時候用冒號來分隔開。僅僅設置了[-hex]的時候有效。

-r:用coreutils格式來輸出摘要值。

-rand file:產生隨機數種子的文件(沒發現產生實際效果)

-d:打印出BIO調試信息值。

-hex:顯示ASCII編碼的十六進制摘要結果,默認選項。

-binary:以二進制的形式來顯示摘要結果值。

這裏寫圖片描述

簽名驗籤

簽名的一般過程:先對數據進行摘要計算,然後對摘要值用私鑰進行簽名。

RSA密鑰簽名驗籤

1.這裏演示以RSA私鑰簽名爲例。因此先生成RSA密鑰對。

openssl genrsa -out rsa_private.key 
(省略參數設置,使用默認值,模數:1024) 
這裏寫圖片描述

由公鑰導出私鑰。 
openssl rsa -in rsa_private.key -pubout -out rsa_public.key 
這裏寫圖片描述

2.簽名

用RSA私鑰對SHA1計算得到的摘要值簽名。

openssl dgst -sign rsa_private.key -sha1 -out sha1_rsa_file.sign file.txt

這裏寫圖片描述

3.驗籤

用相應的公鑰和相同的摘要算法進行驗籤,否則會失敗。

openssl dgst -verify rsa_public.key -sha1 -signature sha1_rsa_file.sign file.txt

這裏寫圖片描述

也可以使用相同的私鑰和相同的摘要算法進行驗證。 
這裏寫圖片描述

DSA密鑰對簽名驗籤

1.生成DSA參數

openssl dsaparam -out dsa.param 1024

2.由DSA參數產生DSA私鑰

openssl gendsa -out dsa_private.key dsa.param

3.由DSA私鑰生成DSA公鑰

openssl dsa -in dsa_private.key -out dsa_public.key -pubout

這裏寫圖片描述

4.用DSA私鑰對SHA384計算的摘要值進行簽名。

openssl dgst -sign dsa_private.key -sha384 -out sha384_dsa.sign file.txt

DSA簽名對於某些摘要算法不匹配,詳見下圖。

這裏寫圖片描述

5.用相應的公鑰和摘要算法進行驗籤

openssl dgst -verify dsa_public.key -sha384 -signature sha384_dsa.sign file.txt

6.用相同的私鑰和摘要算法驗籤

openssl dgst -prverify dsa_private.key -sha384 -signature sha384_dsa.sign file.txt

這裏寫圖片描述

DSA在每次簽名時,使用了隨機數k,如果對同一消息進行多次簽名,簽名結果是不同的,所以DSA是一種隨機式數字簽名。 
這裏寫圖片描述

HMAC

HMAC是密鑰相關的哈希運算消息認證碼,HMAC運算利用哈希算法,以一個密鑰和一個消息爲輸入,生成一個消息摘要作爲輸出。

openssl dgst -md5 -hmac "asfdsdfsg" file.txt

這裏寫圖片描述

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