[發明專利]一種SM2算法的掩碼運算方法及裝置有效
| 申請號: | 202010968059.5 | 申請日: | 2020-09-15 |
| 公開(公告)號: | CN112131616B | 公開(公告)日: | 2022-02-18 |
| 發明(設計)人: | 彭金輝;雷宗華;習道彬;衛志剛;劉武忠 | 申請(專利權)人: | 鄭州信大捷安信息技術股份有限公司 |
| 主分類號: | G06F21/75 | 分類號: | G06F21/75;G06F21/60 |
| 代理公司: | 北京鑫浩聯德專利代理事務所(普通合伙) 11380 | 代理人: | 李荷香 |
| 地址: | 450003 河南省*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 sm2 算法 掩碼 運算 方法 裝置 | ||
1.一種SM2算法的掩碼運算方法,其特征在于,所述掩碼運算方法是通過預置點和隨機數的方式將進行[k]G運算中的隨機數k進行掩蓋,SM2算法運算過程中[k]G計算具體包括:
在芯片內部預置點P0=[n-r]G和第一隨機數r;其中,P0為有限域橢圓曲線上的點,n為橢圓曲線的階數,G為橢圓曲線上的基點;
在芯片內部生成第二隨機數d,計算生成點P1=[d]G;
通過第一隨機數r和第二隨機數d計算生成第三隨機數k=d-r;
計算生成點P2=[k]G=[d-r]G=[d]G-[r]G=[d]G+[n-r]G=P0+P1。
2.根據權利要求1所述的掩碼運算方法,其特征在于,在計算生成點P2之后還包括坐標系的轉換,具體包括:
將點P0和P1從仿射坐標系轉換為雅可比坐標系下,P0=(x0,y0,z0),P1=(x1,y1,z1);
計算點P2=P0+P1=(x0,y0,z0)+(x1,y1,z1)=(x2,y2,z2),再將點P2轉換至仿射坐標系下P2=(x,y)。
3.根據權利要求2所述的掩碼運算方法,其特征在于,在計算生成點P2之后還包括點P2的驗證和輸出,具體包括:
驗證點P2是否在橢圓曲線上:若y2=x3+ax+b,則驗證成功,輸出點P2=[k]G=(x,y);否則驗證失敗,輸出錯誤標識。
4.根據權利要求3所述的掩碼運算方法,其特征在于,在驗證點P2之后還包括預置點P0和第一隨機數r的更新,具體包括:
獲取1比特第四隨機數b,更新第一隨機數r=(-1)b·2r,點P0=[n-r]G=(-1)b·2·[n-r]G。
5.根據權利要求4所述的掩碼運算方法,其特征在于,在獲取到計算生成的點P2=[k]G=(x,y)和隨機數k之后,獲取SM2算法的簽名值過程具體包括:
將x的數據類型轉換成整數,計算r’=(e+x)modn,若r’=0或r’+k=n,則輸出錯誤標識,并返回重新計算生成第三隨機數k和生成點P2;
計算s’=(1+dA)-1·(k-r·dA)modn,若s’=0,則輸出錯誤標識,并返回重新計算生成第三隨機數k和點P2;
將獲得的r’、s’的數據類型轉換為字符串,消息的簽名值為(r’,s’);
其中,e為消息經過哈希計算后的值,dA為私鑰。
6.一種SM2算法的掩碼運算裝置,其特征在于,所述掩碼運算裝置包括:預置模塊、隨機數生成模塊、隨機數運算模塊和點乘運算模塊、點加運算模塊;
所述預置模塊,用于在芯片內部預置點P0=[n-r]G和第一隨機數r;其中,P0為有限域橢圓曲線上的點,n為橢圓曲線的階數,G為橢圓曲線上的基點;
所述隨機數生成模塊,用于在芯片內部生成第二隨機數d;
所述點乘運算模塊,用于計算生成點P1=[d]G;
所述隨機數運算模塊,用于通過第一隨機數r和第二隨機數d計算生成第三隨機數k=d-r;
所述點加運算模塊,用于計算生成點
P2=[k]G=[d-r]G=[d]G-[r]G=[d]G+[n-r]G=P0+P1。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州信大捷安信息技術股份有限公司,未經鄭州信大捷安信息技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010968059.5/1.html,轉載請聲明來源鉆瓜專利網。





