[發明專利]SM4算法的實現方法與裝置在審
| 申請號: | 202211020412.2 | 申請日: | 2022-08-24 |
| 公開(公告)號: | CN115442031A | 公開(公告)日: | 2022-12-06 |
| 發明(設計)人: | 鄧英;華力;袁濤;朱曉偉;王永樂 | 申請(專利權)人: | 湖南國科微電子股份有限公司 |
| 主分類號: | H04L9/08 | 分類號: | H04L9/08 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 410131 湖南省長沙市*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | sm4 算法 實現 方法 裝置 | ||
1.一種SM4算法的實現方法,其特征在于,所述方法應用于SM4算法的實現裝置,所述實現裝置包括第一計數器,所述方法包括;
獲取第一隨機數,判斷輪函數的第N輪迭代運算是否結束;
當所述輪函數的第N輪迭代運算結束時,所述第一計數器從零開始計數;
判斷所述第一計數器是否等于所述第一隨機數;
若所述第一計數器不等于所述第一隨機數,則所述第一計數器加1;
若所述第一計數器等于所述第一隨機數,則所述第一計數器歸零,獲取第二隨機數,并根據所述第二隨機數進行下一輪迭代運算。
2.根據權利要求1所述的實現方法,其特征在于,所述實現裝置還包括第二計數器,所述第二計數器用于對所述輪函數的第N輪迭代運算的運算時間周期進行計數,所述判斷輪函數的第N輪迭代運算是否結束,包括;
判斷所述第二計數器是否等于預設周期,
若所述第二計數器等于預設周期,則確定所述輪函數的第N輪迭代運算結束,所述第二計數器歸零。
3.根據權利要求2所述的實現方法,其特征在于,所述預設周期為8,所述第N輪迭代運算的運算過程包括:
在所述第二計數器為0-3的計數周期內,對第N-1輪密鑰進行輪函數運算得到第N輪密鑰;
在所述第二計數器為4-7的計數周期內,利用所述第N輪密鑰對第N-1輪密文進行輪函數運算得到第N輪密文。
4.根據權利要求3所述的實現方法,其特征在于,所述在所述第二計數器為0-3的計數周期內,對第N-1輪密鑰進行輪函數運算得到第N輪密鑰,包括:
按照預設比特位順序,將所述第N-1輪密鑰分成4組子第N-1輪密鑰,其中,所述4組子第N-1輪密鑰的比特位數相同;
在所述第二計數器由0累加計數到3的周期內,依次對所述4組子第N-1輪密鑰進行合成置換運算,其中,每完成1組子第N-1輪密鑰的合成置換運算時,所述第二計數器加1;
根據所述4組子第N-1輪密鑰的合成置換運算結果,得到所述第N輪密鑰。
5.根據權利要求3所述的方法,其特征在于,所述在所述第二計數器為4-7的計數周期內,利用所述第N輪密鑰對第N-1輪密文進行輪函數運算得到第N輪密文,包括:
按照預設比特位順序,將所述第N-1輪密文分成4組子第N-1輪密文,將所述第N輪密鑰分成4組子第N輪密鑰,其中,所述4組子第N-1輪密文的比特位數和所述4組子第N輪密鑰的比特位數相同;
在所述第二計數器由4累加計數到7的周期內,依次利用所述4組子第N輪密鑰對所述4組子第N-1輪密文和進行合成置換運算,其中,每完成1組子第N-1輪密文和所述4組子第N輪密鑰的合成置換運算時,所述第二計數器加1;
根據所述4組子第N-1輪密文和所述4組子第N輪密鑰的合成置換運算結果,得到所述第N輪密文。
6.根據權利要求1所述的實現方法,其特征在于,所述實現裝置還包括第三計數器,所述第三計數器用于對所述輪函數的迭代運算輪次數進行計數,所述方法還包括:
當所述第一計數器等于所述第一隨機數時,所述第三計數器加1。
7.根據權利要求6所述的實現方法,其特征在于,所述方法還包括:
根據所述輪函數依次進行32輪迭代運算,得到第32輪密文后,所述第三計數器歸零,其中,所述根據所述輪函數依次進行32輪迭代運算的過程中,所述第三計數器由0累加計數到32。
8.根據權利要求1所述的實現方法,其特征在于,進行所述輪函數運算之前,所述方法還包括:
獲取數據明文,明文掩碼,加密密鑰和密鑰掩碼;
將所述數據明文和明文掩碼進行異或運算得到帶掩碼的數據明文,將所述加密密鑰和所述密鑰掩碼進行異或運算得到帶掩碼的加密密鑰;
根據所述帶掩碼的數據明文和所述帶掩碼的加密密鑰進行所述輪函數運算的第1輪迭代運算。
9.一種SM4算法的實現裝置,其特征在于,所述實現裝置包括第一計數器和周期控制模塊;
所述周期控制模塊,用于獲取第一隨機數,判斷輪函數的第N輪迭代運算是否結束,當所述輪函數的第N輪迭代運算結束時,所述第一計數器從零開始計數;判斷所述第一計數器是否等于所述第一隨機數;若所述第一計數器不等于所述第一隨機數,則所述第一計數器加1,若所述第一計數器等于所述第一隨機數,則所述第一計數器歸零,獲取第二隨機數,并根據所述第二隨機數進行下一輪迭代運算。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于湖南國科微電子股份有限公司,未經湖南國科微電子股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211020412.2/1.html,轉載請聲明來源鉆瓜專利網。





