[發明專利]一種基于SM2算法的兩方協同數字簽名方法有效
| 申請號: | 202011031368.6 | 申請日: | 2020-09-27 |
| 公開(公告)號: | CN112152807B | 公開(公告)日: | 2022-11-11 |
| 發明(設計)人: | 李元正;唐偉;譚良;鄒莉萍;楊賀昆;陳陽;肖歡;尚興林;文藝 | 申請(專利權)人: | 成都國泰網信科技有限公司 |
| 主分類號: | H04L9/08 | 分類號: | H04L9/08;H04L9/30;H04L9/32 |
| 代理公司: | 成都九鼎天元知識產權代理有限公司 51214 | 代理人: | 賈年龍 |
| 地址: | 610000 四川省*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 sm2 算法 協同 數字簽名 方法 | ||
1.一種基于SM2算法的兩方協同數字簽名方法,其特征在于,包括以下步驟:
S1、對參與協同簽名的用戶U和服務器S協同生成協同簽名的組公鑰;
所述步驟S1的具體步驟為:
S11、對參與協同簽名的用戶U和服務器S分別選擇一個隨機數dU∈[1,n-1]和dS∈[1,n-1],n為橢圓曲線的階;
S12、將隨機數dU和dS分別作為參與協同簽名的用戶U和服務器S的私鑰,并將私鑰秘密保存;
S13、計算用戶U在橢圓曲線E上的組子公鑰PU=dUG,G為橢圓曲線的基點,并將PU發送給服務器S;
S14、計算服務器S在橢圓曲線E上的組子公鑰PS=dSPU,將PS作為完整的協同簽名組公鑰P;
S15、通過服務器S將協同簽名組公鑰P發送給用戶U,供簽名驗證者驗簽時使用;
S2、對參與協同簽名的用戶U和服務器S協同生成簽名;
所述步驟S2的具體步驟為:
S21、為用戶U和服務器S分別選擇一個隨機數kU∈[1,n-1]和kS∈[1,n-1];
S22、為服務器S再選擇一個隨機數b∈[1,n-1];
S23、通過服務器S計算簽名隨機數并將Ki發送給用戶U;
S24、通過用戶U計算橢圓曲線E上一點坐標(x,y)=dUK'+kUG;
S25、通過用戶U計算消息摘要e;
S26、通過用戶U計算協同簽名的第一部分簽名r=e+x,當r=0modn時,返回步驟S21,否則進入步驟S27;
S27、通過用戶U計算中間聚合密鑰并將r和D一起發送給服務器S;
S28、通過服務器S計算協同簽名的另一部分簽名當s=0modn時,返回步驟S21,否則進入步驟S29;
S29、通過服務器S生成對明文M的完整簽名(s,r),并將簽名(s,r)發送給簽名驗證者V;
S3、通過簽名驗證者和組公鑰對簽名進行驗證,若驗證通過則使用該簽名;
所述步驟S3的具體步驟為:
S31、通過簽名驗證者V接收到協同簽名(s',r');
S32、通過簽名驗證者V檢驗s'∈[1,n-1]是否成立,若不成立,則簽名不通過,若成立則進入步驟S33;
S33、通過簽名驗證者V檢驗r'∈[1,n-1]是否成立,若不成立,則簽名不通過,若成立則進入步驟S34;
S34、通過簽名驗證者V計算第一個驗簽參數t=s'+r',如果t=0modn,則簽名不通過,否則進入步驟S35;
S35、通過簽名驗證者V計算消息以及參數摘要e'=Hash(Z||M');
S36、通過簽名驗證者V計算橢圓曲線點(x',y');
S37、通過簽名驗證者V計算第二個驗簽參數R=e'+x',檢驗R=r'是否成立,若成立,則簽名驗證通過,使用簽名(s,r),若不成立,則簽名驗證不通過。
2.根據權利要求1所述的基于SM2算法的兩方協同數字簽名方法,其特征在于,所述步驟S25中消息摘要e的計算公式為:
e=Hash(Z||M)
上式中,Hash()為消息摘要長度256比特的密碼雜湊函數,Z為用戶的身份標識、部分橢圓曲線參數和用戶公鑰的雜湊,M為明文。
3.根據權利要求1所述的基于SM2算法的兩方協同數字簽名方法,其特征在于,所述步驟S36中橢圓曲線點(x',y')的計算公式為:
(x',y')=s'G+tP。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于成都國泰網信科技有限公司,未經成都國泰網信科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011031368.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:數據處理方法及裝置
- 下一篇:一種數據處理方法、裝置、設備及介質





