[發明專利]一種用于保護SM4密碼芯片的低熵掩碼泄露防護方法及其實現系統有效
| 申請號: | 201710401417.2 | 申請日: | 2017-05-31 |
| 公開(公告)號: | CN107231229B | 公開(公告)日: | 2020-10-27 |
| 發明(設計)人: | 梁曉兵;呂英杰;翟峰;趙兵;李保豐;付義倫;劉鷹;岑煒;曹永峰;許斌;孔令達;王瑋;黃吉濤 | 申請(專利權)人: | 中國電力科學研究院;國家電網公司;國網寧夏電力公司電力科學研究院 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06;G06F21/60 |
| 代理公司: | 北京工信聯合知識產權代理有限公司 11266 | 代理人: | 郭一斐 |
| 地址: | 100192 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用于 保護 sm4 密碼 芯片 掩碼 泄露 防護 方法 及其 實現 系統 | ||
1.一種用于保護SM4密碼芯片的低熵掩碼泄露防護方法,其步驟為:
1)選取一長為16字節的掩碼,將該掩碼分為四組,每組掩碼為四個字節,即32比特;將每一組掩碼Mi劃分為一四元數組(Mi0、Mi1、Mi2、Mi3),其中,每個元素的掩碼值為8比特,Mi0為第i組掩碼Mi的第一個元素;
2)對S盒進行預計算得到16個新型S盒,記作Snew,存儲該16個Snew;其中預計算方法為:將各組掩碼中的元素作為S盒的輸入,其中,S盒的輸入掩碼為Mi中元素Mij,則S盒輸出掩碼為Mi+1中元素M(i+1)j,i與j的取值均為0到3,當i+1的值為4時,令i+1為0;
3)輪函數利用步驟1)的四組掩碼對待保護數據進行掩碼更新;其中,每一輪加密時首先確定四組掩碼的使用順序;然后按照確定的順序選取掩碼并根據當前所用掩碼對應的Snew對待保護數據進行掩碼更新;每一輪確定的四組掩碼的序列所對應掩碼與上一輪經過輪函數加密后中間值所對應掩碼任何位置均不重復;
4)當完成最后一輪掩碼更新后,去除最后一輪掩碼更新所得數據中最后一輪掩碼更新所用的掩碼,得到加密后的密文值。
2.如權利要求1所述的方法,其特征在于,所述掩碼劃分后的四組掩碼M0,M1,M2,M3滿足關系式
3.如權利要求1所述的方法,其特征在于,對原S盒預計算得到的新S盒Snew與原S盒之間滿足關系式其中,V為待保護數據的中間值。
4.如權利要求1或2或3所述的方法,其特征在于,步驟3)中,所述輪函數為SM4算法采用輪函數;按照確定的順序選取掩碼并根據當前所用掩碼對應的Snew對待保護數據進行掩碼更新,每一輪更新后,上一輪后三組中間值為當前輪前三組中間值,而當前輪第四組中間值依據輪密鑰信息以及上一輪后三組中間值計算得到。
5.如權利要求4所述的方法,其特征在于,令待保護數據的初始值為X=(X0,X1,X2,X3),其中X0,X1,X2,X3均為包含4字節元素的數組,當前對X進行掩碼處理所使用掩碼為M0為掩碼M順序確定后的掩碼;在輪函數加密中,依次依據M0中各元素對應的4個掩碼字節值從16個新S盒Snew中選取出4個S盒進行查表操作,并對得到的輸出掩碼進行T線性變換;其中,第一輪加密后第1-32比特中間值對應掩碼為第33-64比特中間值所對應掩碼為第65-96比特中間值所對應掩碼為第97-128比特中間值所對應掩碼為第一輪加密后第1-32比特中間值為第33-64比特中間值為第65-96比特中間值為第97-128比特中間值為其中,為對掩碼進行T線性變換后的更新值,RK1為SM4密碼算法第一輪所使用輪密鑰,其長度為32比特。
6.如權利要求1或2或3所述的方法,其特征在于,所述掩碼為布爾掩碼。
7.如權利要求1所述的方法,其特征在于,使用置換函數確定四組掩碼的使用順序。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國電力科學研究院;國家電網公司;國網寧夏電力公司電力科學研究院,未經中國電力科學研究院;國家電網公司;國網寧夏電力公司電力科學研究院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710401417.2/1.html,轉載請聲明來源鉆瓜專利網。





