999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

SM4分組密碼算法可編程實現研究*

2018-07-09 06:45:06何衛國
通信技術 2018年6期
關鍵詞:引擎指令結構

李 軍,何衛國

(成都三零嘉微電子有限公司,四川 成都 610041)

0 引 言

近年來,信息安全的重要性日益突出,要求安全系統具有靈活的自適應能力和柔性的安全服務提供能力[1]。在此背景下,成都三零嘉微電子有限公司自主研發了一款面向對稱密碼可編程實現的對稱密碼引擎SCE(Symmetric Cipher Engine)。SCE采用超長指令字結構(VeryLong Instruction Word,VLIW),適用于分組密碼算法、序列密碼算法和雜湊密碼算法等應用。通過研究基于SCE的SM4分組密碼算法的不同實現方案,探究基于SCE提高對稱密碼算法加解密性能的相關思路。

1 SM4密碼算法介紹

SM4分組密碼算法[2]是我國第一個公開的商密分組密碼算法,分組長度為128 bit,密鑰長度為128 bit。加密算法與密鑰擴展算法都采用32輪非線性迭代結構。解密算法與加密算法的結構相同,只是輪密鑰的使用順序相反,解密輪密鑰是加密輪密鑰的逆序。SM4分組密碼算法的加密流程,如圖1所示。

圖1 SM4分組密碼算法加密流程

圖1中,τ變換由4個并行的S盒構成。設輸入為輸出則有:

L變換是一個線性變換,設輸入輸出則有:

rki(i=0,1,…,31)為輪密鑰,長度為32 bit。

2 SCE介紹

可編程對稱密碼引擎SCE作為一款面向對稱密碼應用的協處理器,結構如圖2所示,并具有以下特點。

(1)采用超長指令字結構,處理器中并列放置4個短功能單元SFU(Short Function Unit,執行32 bit運算)和1個長功能單元LFU(Long Function Unit,執行128 bit運算),每個周期可以并行執行4條短功能指令SINS(Short Instruction)或者1條長功能指令LINS(Long Instruction);

(2)片內集成了大規模的通用寄存器堆;

(3)包含了大量面向對稱密碼算法的專用指令,包括布爾函數指令、移位指令、模加/減指令、模乘指令、有限域乘法指令、查找表指令以及置換指令等;

(4)密碼運算指令和控制指令并行執行;

(5)片內集成有專門存儲密鑰參數的存儲器,通過數據傳輸指令訪問。

圖2 可編程對稱密碼引擎SCE結構

基于可編程對稱密碼引擎SCE,執行密碼算法的流程如下:

(1)基于自定義的SCE指令集編程實現算法;

(2)將算法代碼編譯為二進制碼;

(3)通過算法程序加載命令,將該二進制碼輸入引擎;

(4)通過密鑰參數加載命令,將相關的主密鑰和參數輸入引擎;

(5)通過算法啟動命令啟動算法;

(6)輸入待處理數據;

(7)讀出加解密結果。

3 SM4密碼算法的常規實現

根據如圖2所示的SM4分組密碼算法加密輪函數結構和SCE提供的密碼運算資源,可用布爾函數指令、查表指令以及布爾函數指令,分別實現查表前的異或運算、查表運算、L變換以及與Xi的異或。此外,還需保證輪函數更新與輪函數入口地址的一致性。例如,第i輪輪函數運算完成后,Xi需被替換為Xi+1,Xi+1需被替換為Xi+2,Xi+2需被替換為 Xi+3,Xi+4需被替換為 Xi+4,i=0,1,…,31。基于以上兩點考慮,SM4分組密碼算法的ECB加密模式實現流程,如表1所示。根據表1,整個加密過程合計2+3×32+1=99個時鐘周期,SCE工作頻率為100 MHz,加密速率為129.3 Mb/s。

表1 SM4密碼算法ECB加密模式常規實現指令流程

4 SM4密碼算法的高速實現

由SM4分組密碼算法的常規實現方式可知,它的輪運算第一個周期和第三個周期都是異或運算,而SCE在一個時鐘周期內可實現12個操作數的異或運算,因此可以考慮將輪尾的L變換與下一輪輪首的異或運算合并在一個周期完成。經過優化后的算法實現方式,如表2所示。根據表2,整個加密過程共消耗了2+8×8+2=68個時鐘周期,SCE工作頻率為100 MHz,加密速率為188.2 Mb/s,加密性能比常規實現方式提升了45.59%。

表2 SM4密碼算法ECB加密模式高速實現指令流程

序號 簇3 簇2 簇1 簇0 控制簇X4i+5⊕X4i+6 10 X4i+5更新U并異或簇1的結果即X4i+5⊕X4i+6⊕X4i+7記為A更新V H⊕(H>>>2)⊕(H>>>10)并異或簇0的結果,得到X4i+7更新S(H>>>18)⊕X4i+3⊕(H>>>24)如果計數器cnt0≤7,跳轉至指令3 11 X35 X35⊕A⊕X33實際得到X34 X33——跳轉到指令1加載下一個分組注:1.i表示輪函數的輪數,初始值為0,每循環執行一次,i=i+1;2.指令3~指令10為四輪加密輪結構;3.指令2中,記簇3、簇2、簇1和簇0運算結果的存儲寄存器分別為U、V、S和T,為四輪加密輪結構的入口寄存器。12 輸出128比特加密結果X35、X34、X33和X32

5 結 語

本文通過將SM4分組密碼算法加密輪結構首尾的異或運算合并為一次異或運算,并四輪加密作為一個整體進行處理,使SM4分組密碼算法在SCE上的加密性能提高了45.59%。后續將研究其他密碼算法在SCE上的高速實現,一方面為SCE的使用者提供算法高速實現的思路,另一方面為SCE今后的改進指出方向。

[1] 肖瑋,陳性元,包義保.可重構信息安全系統研究綜述[J].電子學報,2017(05):1240-1248.XIAO Wei,CHEN Xing-yuan,BAO Yi-bao.Review on the Research of Reconfigurable Information Security System[J].Acta Electronica Sinica,2017(05):1240-1248.

[1] 國家密碼管理局.GM/T 0002-2012 SM4分組密碼算法[S].2012.State Cryptography Administration.GM/T 0002-2012 SM4 Block Cipher Algorithm[S].2012.

猜你喜歡
引擎指令結構
聽我指令:大催眠術
《形而上學》△卷的結構和位置
哲學評論(2021年2期)2021-08-22 01:53:34
論結構
中華詩詞(2019年7期)2019-11-25 01:43:04
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
藍谷: “涉藍”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
論《日出》的結構
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
創新治理結構促進中小企業持續成長
現代企業(2015年9期)2015-02-28 18:56:50
基于Cocos2d引擎的PuzzleGame開發
主站蜘蛛池模板: 五月综合色婷婷| 欧美 国产 人人视频| 亚洲欧美日韩另类| 97视频免费在线观看| 夜精品a一区二区三区| 欧洲欧美人成免费全部视频| 日本高清视频在线www色| 中文字幕在线日韩91| 久久久久亚洲AV成人人电影软件| 综合色在线| 亚洲国产精品不卡在线| 99久久精品免费看国产免费软件| 丝袜亚洲综合| 免费不卡在线观看av| 日韩视频免费| 99re视频在线| 国产91丝袜在线播放动漫| 第一页亚洲| 男女精品视频| 黄色网在线免费观看| 午夜国产精品视频| 久久成人免费| 婷婷色婷婷| 99在线免费播放| 成年A级毛片| 91国内外精品自在线播放| 亚洲黄色高清| 中国丰满人妻无码束缚啪啪| 一本色道久久88亚洲综合| 国产精品成人免费视频99| 亚洲久悠悠色悠在线播放| 国产成人三级| 亚洲经典在线中文字幕| 久热中文字幕在线观看| 永久在线播放| 99视频精品全国免费品| 日本一区二区不卡视频| 亚洲成人播放| 91福利一区二区三区| 国模视频一区二区| a在线观看免费| a级毛片免费看| 欧美亚洲国产精品久久蜜芽 | www.91在线播放| 99国产精品免费观看视频| 日韩国产精品无码一区二区三区| 国产99视频精品免费视频7| 一级毛片在线播放| 囯产av无码片毛片一级| 午夜日韩久久影院| 国产真实乱子伦视频播放| 国产毛片片精品天天看视频| 中文字幕首页系列人妻| 国产精品一区二区在线播放| 伦伦影院精品一区| 欧美日本一区二区三区免费| v天堂中文在线| 国产国产人免费视频成18| 亚洲久悠悠色悠在线播放| 欧美一级黄片一区2区| 婷婷亚洲天堂| 国产精品999在线| 在线日韩日本国产亚洲| 久久精品中文字幕免费| 久久亚洲精少妇毛片午夜无码| 午夜国产不卡在线观看视频| 波多野结衣在线一区二区| 日韩一级二级三级| 欧美日韩北条麻妃一区二区| 亚洲中文字幕在线一区播放| 女人18毛片一级毛片在线 | 国产女人水多毛片18| 亚洲精品中文字幕无乱码| 久久精品波多野结衣| 日韩无码视频网站| 久久这里只有精品8| 免费无码又爽又黄又刺激网站 | 亚洲AV无码乱码在线观看代蜜桃| 波多野结衣第一页| 色有码无码视频| 国产精品妖精视频| 99热精品久久|