[發(fā)明專利]SM4分組密碼算法S盒的緊湊實現(xiàn)方法在審
| 申請?zhí)枺?/td> | 201410290907.6 | 申請日: | 2014-06-25 |
| 公開(公告)號: | CN104065473A | 公開(公告)日: | 2014-09-24 |
| 發(fā)明(設計)人: | 陳俊;陳運;萬武南 | 申請(專利權)人: | 成都信息工程學院 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06 |
| 代理公司: | 成都惠迪專利事務所(普通合伙) 51215 | 代理人: | 劉勛 |
| 地址: | 610000 四川省成都*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | sm4 分組 密碼 算法 緊湊 實現(xiàn) 方法 | ||
技術領域
本發(fā)明涉及加密技術。
技術背景
SM4算法是國家商用密碼管理辦公室于2006年公布的分組密碼算法,是國內官方公布的第一個商用密碼算法。
S盒是SM4算法中唯一的非線性運算部件,由于它作用于每一輪的加解密運算,也作用于密鑰擴展,因此,S盒的硬件實現(xiàn)對整個SM4算法的硬件實現(xiàn)性能、電路面積、功耗等有一定的影響。
智能卡和RFID標簽是資源十分有限的系統(tǒng)。因此,在智能卡和RFID標簽上實現(xiàn)SM4算法時,應盡量減少的電路面積。因為,S盒的電路面積對整個SM4算法的電路面積影響比較大,所以,應該盡量較小S盒的電路面積。
到目前為止,只在參考文獻1中,白雪飛等提出了一種適合于SM4算法S盒的硬件實現(xiàn)方法,但是該實現(xiàn)方法所選擇的參數(shù)不是很優(yōu),因此需要的電路面積還是比較大。
參考文獻1:徐艷華,白雪飛,郭立。適合SMS4算法硬件實現(xiàn)的S盒構造新方法,中國科學技術大學學報,第39卷第11期,2009年11月。
發(fā)明內容
本發(fā)明解決所述技術問題采用的技術方案是,SM4分組密碼算法S盒的緊湊實現(xiàn)方法,其特征在于,包括下述步驟:
1)將有限域GF(28)中的元素從標準表示轉換為用復合域方法表示;
2)將用復合域方法表示的有限域元素用復合域方法求其逆元;
3)將所求出的逆元從復合域表示轉換為有限域GF(28)中的標準表示;
4)將步驟3)的結果與一個常量進行異或運算。
進一步的,所述步驟1)包括以下子步驟:
1.1)將有限域GF(28)中用標準表示法表示的元素A乘以矩陣M1,其中A是GF(2)上長度為8的向量,M1是GF(2)上8行8列的矩陣;
1.2)將A乘以M1的積再與常量C1進行異或運算,其中C1是長度為8的GF(2)上的向量。
所述步驟2)包括以下子步驟:
2.1)利用布爾函數(shù)的性質優(yōu)化運算(a*b)⊕(a*b)2*N,其中a表示求逆運算的8比特輸入的高4比特,b表示求逆運算的8比特輸入的低4比特,N是一個4比特的常數(shù)向量,⊕表示異或運算,*表示GF(16)的乘法運算,記c=(a*b)⊕(a*b)2*N;
2.2)在GF(16)中計算c的逆元,記該逆元為d;
2.3)在GF(16)中計算b與d的乘積,將此乘積記為p;
2.4)在GF(16)中計算a與d的乘積,將此乘積記為q;
2.5)將p作為高4比特,將q作為低4比特,組合成一個8比特的向量Q,作為求逆運算的結果。
所述步驟3)為:
將求逆輸出Q乘以一個GF(2)上的8行8列的矩陣M2。
所述步驟4)為:將步驟3)運算結果與一個GF(2)上的長度為8的向量C2進行異或運算。
本發(fā)明的有益效果是,實現(xiàn)本發(fā)明的方法所需要的電路面積更小,在SMIC0.18um工藝下,用查找表方法實現(xiàn)SM4算法的S盒需要655個與非門,用文獻1中的方法實現(xiàn)SM4算法的S盒需要402個與非門,用本發(fā)明的方法實現(xiàn)SM4算法的S盒需要278個與非門。根據(jù)現(xiàn)有文獻記載,本發(fā)明是目前所需電路面積最小的實現(xiàn)方法。
具體實施方式
S盒是SMS4算法中唯一的非線性運算,它一般的實現(xiàn)方法是用查找表的形式,S盒的代換規(guī)則如下:以輸入的前半字節(jié)為行號,后半字節(jié)為列號,行列交叉點處的數(shù)據(jù)即為S盒的輸出。假設輸入為‘0x01’,則行號為0,列號為1,經(jīng)過非線性變換S盒后的值為S盒第0行第1列的交叉點的值,即Sbox(0x01)=0x90,如表1所示,表中數(shù)據(jù)均采用十六進制表示。
表1
采用查找表方法實現(xiàn)SM4算法的S盒在SMIC0.18um工藝庫下需要665個邏輯門。本發(fā)明的實現(xiàn)方法不同于一般的實現(xiàn)方法,而是采用了有限域中的復合域計算方法,該實現(xiàn)方法在SMIC0.18um工藝庫下只需要278個邏輯門,大約是采用查找表實現(xiàn)方法所需邏輯門的42%,大大減小了電路的面積。
具體的說,本發(fā)明提供SM4分組密碼算法S盒的緊湊實現(xiàn)方法,包括下述步驟:
1、將有限域GF(28)中的元素從標準表示轉換為用復合域方法表示;
2、將用復合域方法表示的有限域元素用復合域方法求其逆元;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于成都信息工程學院,未經(jīng)成都信息工程學院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410290907.6/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。





