iT邦幫忙

2024 iThome 鐵人賽

DAY 26
0
Security

為何我的資訊安全被遺忘了系列 第 26

為何我的資訊安全被遺忘了Day26-SM2數位簽章

  • 分享至 

  • xImage
  •  

SM2簽章和驗證簽章比起金鑰交換簡單很多,和加密解密差不多。
首先A的回合(簽章)
A設置M ̅=Z_A∥M
ZA和前面的一樣,就是A的相關資訊。
A計算e=H_v (M ̅)
這裡的H是雜湊可以使用SM3。
A隨機選擇k
A計算(x_1,y_1) =kG
和前面一樣的算法。
A計算r=(e+x_1) mod n
r是用來檢查訊息m有沒有被更改。
A計算s=((1+d_A )^(-1)⋅(k-r⋅d_A)) mod n
s是簽章用的,可以從算式看出用的是自己的私鑰。
A簽章Sign=(r,s),並把訊息、簽章給B
B的回合(驗證)
B收到M,(r',s')
B檢查r^',s^'∈Z_q^* [1,n-1]
在前面的算法,包含解密、金鑰交換很多都是要做這個,但我有些沒有寫出來。
B設置M ̅^'=Z_A∥M'
B計算e'=H_v (M ̅^')
B計算t=(r^'+s') mod n
B計算(x_1^',y_1^' )=s^' G+tP_A
這個算式很特別,但我記得當時我在推的時候是正確的。
B計算R=(e^'+x_1') mod n
把隨機數和訊息綁在一起,如果不是正確的人給的隨機數一定會驗證失敗。
B檢查R=r'

到這就把SM2給都介紹完了。

https://ithelp.ithome.com.tw/upload/images/20240927/20140126cXHlCp5SKC.jpg


上一篇
為何我的資訊安全被遺忘了Day25-SM2金鑰交換
下一篇
為何我的資訊安全被遺忘了Day27-商用密碼SM9
系列文
為何我的資訊安全被遺忘了27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言