1. 程式人生 > 其它 >實驗一 密碼引擎-4-國䀄演算法交叉測試

實驗一 密碼引擎-4-國䀄演算法交叉測試

任務詳情

0 2人一組,建立一個檔案,檔名為小組成員學號,內容為小組成員學號和姓名
1 在Ubuntu中使用OpenSSL用SM4演算法加密上述檔案,然後用龍脈eKey解密,提交程式碼和執行結果截圖
2 在Ubuntu中基於OpenSSL產生一對公私鑰對(SM2演算法)
3 在Ubuntu中使用OpenSSL用SM3演算法計算上述檔案的Hash值,然後用OpenSSL SM2演算法計算Hash值的簽名,用龍脈eKey進行驗籤,提交程式碼和執行結果截圖
4 加分項:在Windows中重現上述過程

任務過程

0 2人一組,建立一個檔案,檔名為小組成員學號,內容為小組成員學號和姓名

1 在Ubuntu中使用OpenSSL用SM4演算法加密上述檔案,然後用龍脈eKey解密,提交程式碼和執行結果截圖

2 在Ubuntu中基於OpenSSL產生一對公私鑰對(SM2演算法)

在安裝了正確版本的openssl之後,下面就是利用openssl自帶的命令生成SM2公私鑰對了:

1.建立EC引數和原始私鑰檔案:
openssl ecparam -out ec_param.pem -name SM2 -param_enc explicit -genkey

生成完成後可以檢視一下EC私鑰資訊:
openssl ecparam -in ec_param.pem -text

驗證一下引數是否正確:
openssl ecparam -in ec_param.pem -check

2.將原始的私鑰檔案,轉換為pkcs8格式:
openssl pkcs8 -topk8 -inform PEM -in ec_param.pem -outform pem -nocrypt -out pri_key_pkcs8.pem

3.利用原始的私鑰,生成對應的公鑰:
openssl ec -in ec_param.pem -pubout -out pub_key.pem
至此SM2的祕鑰對已經生成結束,pri_key_pkcs8.pem是SM2私鑰,而pub_key.pem是公鑰。

3.在Ubuntu中使用OpenSSL用SM3演算法計算上述檔案的Hash值,然後用OpenSSL SM2演算法計算Hash值的簽名,用龍脈eKey進行驗籤

把摘要值放進dgst.txt中:

用sm2的私鑰進行簽名: