[發明專利]哈希計算和簽名驗簽計算分離的SM2簽名驗簽實現方法有效
| 申請號: | 201610176957.0 | 申請日: | 2016-03-25 |
| 公開(公告)號: | CN105743655B | 公開(公告)日: | 2019-07-16 |
| 發明(設計)人: | 潘無窮;王平建;王展;黎火榮;關翀;荊繼武;林璟鏘 | 申請(專利權)人: | 中國科學院信息工程研究所;中國科學院數據與通信保護研究教育中心 |
| 主分類號: | H04L9/32 | 分類號: | H04L9/32;H04L9/30 |
| 代理公司: | 北京君尚知識產權代理事務所(普通合伙) 11200 | 代理人: | 邱曉鋒 |
| 地址: | 100093 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 計算 簽名 分離 sm2 實現 方法 | ||
本發明涉及一種哈希計算和簽名驗簽計算分離的SM2簽名驗簽實現方法,該方法在實現哈希計算接口時記錄消息與哈希值之間的對應關系,在實現簽名和驗簽計算接口時根據哈希值查詢對應的原消息并通過原消息計算得到SM2簽名或驗簽所需的哈希值。從而分離了SM2算法的哈希計算與簽名/驗簽計算,達到了哈希計算接口可以單獨使用的目的并且簽名/驗簽的哈希值輸入可以直接使用哈希計算的結果的目的;在原本使用其他密碼算法并且相應接口符合國際通用API接口規范的系統中,可以不修改上層代碼,直接替換接口實現部分以達到使用SM2算法替換原有密碼算法的目的。
技術領域
本發明屬于信息安全密碼算法安全領域,具體涉及一種哈希計算和簽名驗簽計算分離的SM2簽名驗簽實現方法。
背景技術
SM2是國家密碼管理局于2010年12月17日發布的橢圓曲線公鑰密碼算法。SM2簽名算法是基于SM2密碼算法的簽名算法。
設待簽名的消息為M,為了獲取消息M的數字簽名(r,s),r、s為橢圓曲線公鑰算法計算中用到的兩個結果參數,SM2簽名算法中將其整體視為數字簽名。SM2簽名算法流程如下:
1.計算其中ZA為用戶其他信息,||為連接符號。
SM2算法中用戶其他信息“ZA”描述如下:作為簽名者的用戶A具有長度為entlenA比特的可辨識標識IDA,記ENTLA是由整數entlenA轉換而成的兩個字節,在SM2橢圓曲線數字簽名算法中,簽名者和驗證者都需要用密碼雜湊函數求得用戶A的雜湊值ZA。按GM/T0003.1—20124.2.6和4.2.5給出的方法,將橢圓曲線方程參數a、b、G的坐標xG、yG和PA的坐標xA、yA的數據類型轉換為比特串,計算ZA=Hv(ENTLA||IDA||a||b||xG||yG||xA||yA)。
2.計算H為簽名驗簽雙方約定好的哈希算法,v表示哈希計算得到的消息摘要長度。將e按照一定規則轉換為整數。
3.針對轉換后的e,利用SM2公鑰密碼算法計算(r,s),具體參見GM/T 0003.1—2012 4.2.6和4.2.5。
為了驗證M’及其數字簽名(r’,s’),驗簽算法流程如下:
1.設置
2.計算將e’轉換為整數。
3.根據SM2公鑰密碼算法驗證e’與(r’,s’)是否匹配,匹配則驗證通過,不匹配則衍生不通過。
其他常用的簽名驗簽算法與SM2簽名驗簽算法有所不同,例如對于消息M,RSA簽名算法流程如下:
1.計算e=Hv||M,計算消息的哈希值。
2.利用RSA公鑰密碼算法的私鑰加密e,得到消息的簽名。
對于消息M’和簽名s,驗簽算法流程如下:
1.計算e′=Hv||M′,計算消息的哈希值。
2.利用RSA公鑰密碼算法的公鑰解密s得到e”,驗證e’=e”是否成立,成立則驗證通過,不成立則驗證不通過。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院信息工程研究所;中國科學院數據與通信保護研究教育中心,未經中國科學院信息工程研究所;中國科學院數據與通信保護研究教育中心許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610176957.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:用于使能標簽交換數據分組的路由選擇的方法和裝置
- 下一篇:連接元件





