[發明專利]SM4算法的實現方法與裝置在審
| 申請號: | 202211020412.2 | 申請日: | 2022-08-24 |
| 公開(公告)號: | CN115442031A | 公開(公告)日: | 2022-12-06 |
| 發明(設計)人: | 鄧英;華力;袁濤;朱曉偉;王永樂 | 申請(專利權)人: | 湖南國科微電子股份有限公司 |
| 主分類號: | H04L9/08 | 分類號: | H04L9/08 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 410131 湖南省長沙市*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | sm4 算法 實現 方法 裝置 | ||
本申請實施例公開了一種SM4算法的實現方法與裝置,其中,該實現方法通過獲取第一隨機數,判斷輪函數的第N輪迭代運算是否結束;當輪函數的第N輪迭代運算結束時,第一計數器從零開始計數;判斷第一計數器是否等于第一隨機數;若第一計數器不等于第一隨機數,則第一計數器加1;若第一計數器等于第一隨機數,則第一計數器歸零,獲取第二隨機數,并根據第二隨機數進行下一輪迭代運算。本發明方法通過設置的第一計數器為每一輪迭代運算加入隨機冗余周期,并通過對第一計數器計數進行周期控制,使得SM4算法的32輪運算中的每一輪運行時間不斷發生變化,運行周期都不固定,從而使得整個實現裝置可以有效抵抗計時攻擊,增強了SM4算法加密的安全性。
技術領域
本發明涉及信息安全技術領域,具體而言,涉及一種SM4算法的實現方法與裝置。
背景技術
近年來隨著信息技術的高速發展,物聯網成為新一代信息化浪潮的典型代表,然而,使用傳統對稱密碼算法解決物聯網領域日益突出的數據安全問題遇到了困難,其主要原因是物聯網上使用的應用組件不同于傳統的臺式機和高性能計算機,它采用計算能力相對較弱的微型計算處理設備,而這類設備的運算存儲能力有限。在這種情況下,輕量級對稱密碼算法受到人們的廣泛關注。
與此同時,增強輕量級密碼算法的抗旁路攻擊的能力也變得越來越重要。通過對設備的功耗進行分析發現,密碼設備在執行相同指令的情況下,功耗與參與運算的密鑰有一定的關系。攻擊者利用這種關系對采集到的能量跡進行DPA攻擊,可以分析出密鑰,這就給密碼算法造成了極大的安全威脅。此外,CPU的執行時間與CPU內部運行狀態也有很大的相關關系,因此,攻擊者可以利用這些泄露信息來破解和恢復密鑰,這也給密碼算法造成了極大的威脅。
發明內容
本申請實施例提供了一種SM4算法的實現方法與裝置,該實現方法與裝置可應用于物聯網應用環境,既能滿足資源消耗小的要求,又能有效的抵抗時間攻擊。
第一方面,本申請實施例提供了一種SM4算法的實現方法,所述方法應用于SM4算法的實現裝置,所述實現裝置包括第一計數器,所述方法包括;
獲取第一隨機數,判斷輪函數的第N輪迭代運算是否結束;
當所述輪函數的第N輪迭代運算結束時,所述第一計數器從零開始計數;
判斷所述第一計數器是否等于所述第一隨機數;
若所述第一計數器不等于所述第一隨機數,則所述第一計數器加1;
若所述第一計數器等于所述第一隨機數,則所述第一計數器歸零,獲取第二隨機數,并根據所述第二隨機數進行下一輪迭代運算。
優選地,所述實現裝置還包括第二計數器,所述第二計數器用于對所述輪函數的第N輪迭代運算的運算時間周期進行計數,所述判斷輪函數的第N輪迭代運算是否結束,包括;
判斷所述第二計數器是否等于預設周期,
若所述第二計數器等于預設周期,則確定所述輪函數的第N輪迭代運算結束,所述第二計數器歸零。
優選地,所述預設周期為8,所述第N輪迭代運算的運算過程包括:
在所述第二計數器為0-3的計數周期內,對第N-1輪密鑰進行輪函數運算得到第N輪密鑰;
在所述第二計數器為4-7的計數周期內,利用所述第N輪密鑰對第N-1輪密文進行輪函數運算得到第N輪密文。
優選地,所述在所述第二計數器為0-3的計數周期內,對第N-1輪密鑰進行輪函數運算得到第N輪密鑰,包括:
按照預設比特位順序,將所述第N-1輪密鑰分成4組子第N-1輪密鑰,其中,所述4組子第N-1輪密鑰的比特位數相同;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于湖南國科微電子股份有限公司,未經湖南國科微電子股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211020412.2/2.html,轉載請聲明來源鉆瓜專利網。





