[發明專利]一種可抵御能量分析攻擊的SM4方法有效
| 申請號: | 201410704525.3 | 申請日: | 2014-11-26 |
| 公開(公告)號: | CN104333447B | 公開(公告)日: | 2017-10-10 |
| 發明(設計)人: | 周玉潔;朱念好 | 申請(專利權)人: | 上海愛信諾航芯電子科技有限公司 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06 |
| 代理公司: | 上海信好專利代理事務所(普通合伙)31249 | 代理人: | 張妍,徐雯瓊 |
| 地址: | 200241 上海*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 抵御 能量 分析 攻擊 sm4 方法 | ||
1.一種可抵御能量分析攻擊的SM4方法,其特征在于,該方法采用一階掩碼密鑰擴展引擎對輸入的密鑰執行密鑰擴展運算,輸出輪密鑰給二階掩碼加解密引擎,二階掩碼加解密引擎對輸入的明文和輪密鑰執行32輪循環迭代運算后,輸出密文,或者二階掩碼加解密引擎對輸入的密文和輪密鑰執行32輪循環迭代運算后,輸出明文;
一階掩碼密鑰擴展引擎和二階掩碼加解密引擎同時工作,一階掩碼密鑰擴展引擎每一輪生成一個輪密鑰,輸出給二階掩碼加解密引擎執行加解密運算;
所述的一階掩碼密鑰擴展引擎對輸入的密鑰執行密鑰擴展運算中,32輪循環迭代過程中使用了4個補償變換,一階掩碼密鑰擴展引擎的4個補償變換C0、C1、C2、C3定義為:
其中,表示按比特異或,128比特的隨機數從左到右按字劃分成4個部分,記為r0、r1、r2、r3,在32輪循環迭代中,隨機數一直保持不變,設第i輪循環迭代的輸入值在沒有掩碼的情況下記為k0i、k1i、k2i、k3i,i=1~32,每一輪補償變換后的值存儲在四個32比特的寄存器Reg0、Reg1、Reg2、Reg3中;
將寄存器Reg1、寄存器Reg2、寄存器Reg3中的值與CKi做異或操作,作為一階掩碼型S盒MS變換的輸入:
其中,CKi的值采用SM4算法文本中的標準值;
MS變換的構造采用公式表示如下:
將MS變換的結果作為L′變換的輸入:
L′變換是SM4算法文本中規定的線性變換,L′變換的構造采用公式表示如下:
將寄存器Reg0的值與L′變換的結果做異或操作,作為補償變換C3的輸入:
所述的二階掩碼加解密引擎對輸入的明文或密文和輪密鑰執行32輪循環迭代運算中,32輪循環迭代過程中使用了4個補償變換,二階掩碼加解密引擎的4個補償變換C0、C1、C2、C3定義為:
其中,設第i輪循環迭代的初始值在沒有掩碼的情況下記為ai,從左到右分成4個字,依次記為a0i、a1i、a2i、a3i,第i輪對應的隨機數為ri,從左到右分成4個字,依次記為r0i、r1i、r2i、r3i,i=1~32,32輪循環迭代過程均使用不同的隨機數,即每輪的隨機數都會更新,每一輪補償變換后的值存儲在四個32比特的寄存器Reg0、Reg1、Reg2、Reg3中;
將寄存器Reg1、寄存器Reg2、寄存器Reg3中的值與輪密鑰rki做異或操作,作為二階掩碼型S盒MS變換的輸入:
rki為第i輪的輪密鑰;
MS變換的構造采用公式表示如下:
將MS變換的結果作為L變換的輸入:
L變換為SM4算法文本中規定的線性變換,L變換的構造采用公式表示如下:
將寄存器Reg0的值與L變換的結果做異或操作,作為補償變換C3的輸入:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海愛信諾航芯電子科技有限公司,未經上海愛信諾航芯電子科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410704525.3/1.html,轉載請聲明來源鉆瓜專利網。





