《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > SM4算法在粗粒度陣列平臺的并行化映射
SM4算法在粗粒度陣列平臺的并行化映射
2017年電子技術應用第4期
徐金甫,楊宇航
信息工程大學,河南 鄭州450000
摘要: 粗粒度可重構密碼陣列提供了大量并行的密碼硬件資源,是針對多種分組密碼算法硬件快速實現而設計的加速平臺。該平臺以提升性能和資源效率為目標對SM4算法進行了映射。在直接映射方案的基礎上,使用合并操作和任務并行的思路提出了3種改進方案。實驗結果表明,改進方案不同程度地發揮了陣列運算資源優勢,吞吐率和資源使用效率有了大幅度提升。
中圖分類號: TP309.7
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.04.010
中文引用格式: 徐金甫,楊宇航. SM4算法在粗粒度陣列平臺的并行化映射[J].電子技術應用,2017,43(4):39-42,46.
英文引用格式: Xu Jinfu,Yang Yuhang. The parallel mapping implementation of SM4 based on coarse-grained reconfigurable block encryption array[J].Application of Electronic Technique,2017,43(4):39-42,46.
The parallel mapping implementation of SM4 based on coarse-grained reconfigurable block encryption array
Xu Jinfu,Yang Yuhang
Information Engineering University,Zhengzhou 450000,China
Abstract: Coarse-grained reconfigurable block encryption array(RBEA) is the accelerative platform for a great variety of block cipher algorithms twhich provides massively parallel hardware resources. In this paper, SM4 is mapped on this platform with the goal of improving the performance and resource efficiency. Based on the direct mapping scheme, three promotional implementations are proposed with the method of operation merging and task paralleling. Experimental results show that the modified schemes can develop the advantage of array to varying degrees and throughput and resource usage efficiency is improved greatly.
Key words : coarse-grained reconfigurable block encryption array;parallel;performance;resource efficiency;SM4

0 引言

    隨著現代集成電路工藝的發展,單位面積上所能集成的晶體管數量不斷增加,時鐘頻率不斷提升,限制應用實現性能提升的主要因素將不再是硬件資源,而是如何充分利用這些資源[1]。粗粒度可重構分組密碼陣列(Coarse-Grained Reconfigurable Block Encryption Array,RBEA)提供了大量密碼運算資源,是針對分組密碼算法高速實現而設計的加速平臺。在該平臺上通過設計分組密碼算法SM4的不同映射方案,來探究提高運算性能和資源效率的最佳方法。

1 SM4算法簡介

    SM4算法是2012年3月國家密碼管理局授權的分組密碼算法[2]。該算法主要由32輪迭代組成,每輪迭代完全相同,均為非線性運算,運算數據位寬有8 bit和32 bit兩種。SM4算法的數據分組長度為128 bit,密鑰長度也為128 bit。

    輪運算的主體是F函數,該函數的運算位寬為32 bit,每輪更新32 bit數據,其表達式如式(1)所示。

wdz2-gs1-3.gif

    第32輪運算結束后將運算結果進行交換得到最終的密文。

2 粗粒度可重構密碼陣列

    RBEA是針對分組密碼算法開發的粗粒度可重構運算平臺。可重構設計采用數據流驅動,通過可重構單元的配置來滿足不同密碼算法的需求,具有高效率和高并行度的特點[3]。粗粒度單元的設計不同于傳統的細粒度可重構單元,在實現分組密碼算法時速度更快、效率更高[4]

2.1 陣列結構

    RBEA的基本結構如圖1所示,由輸入輸出控制器、共享存儲區和運算陣列組成。

wdz2-t1.gif

    FB中的4種運算單元FU1-4是在文獻[4]中有所描述。對分組密碼算法操作分析分類的基礎上,通過整合三輸入布爾函數、移位、模加減、模乘、比特置換、S盒運算和有限域乘法等7種基本操作而設計形成的異構單元。分組密碼算法中常用的非線性操作SBOX通過共享存儲與FB聯合實現。在功能單元(簡稱FU)輸出端增加異或單元,主要用于完成指定運算操作后結果與其他數據進行后異或運算。

    運算陣列使用分散-聚簇設計方案,一行中相鄰的4個FB中的FU通過固定連線共同完成64 bit和128 bit的運算。該陣列固定輸入輸出結點,由輸入控制器負責數據注入和運算啟動,輸出控制器負責數據輸出。配置單元提供的配置信息將FB重構為需要的運算功能和數據路徑,共享存儲在本地控制器控制下完成運算存儲操作。

2.2 算法映射過程

    不同于傳統以指令流驅動的處理器平臺,陣列平臺在實現算法映射時,通過運算、路由和存儲單元的重構配置來完成數據流的實現,通過控制單元配置來完成控制流的實現[1]。映射基本流程如下:

    (1)數據流配置

    使用圖形化編程工具搭建算法任務中的數據路徑,主要包括運算結點、寄存結點和結點連接等,并將這些任務分配到1個或多個FB上。最后通過布局布線算法完成陣列結構上的數據路徑搭建。

    (2)控制流配置

    通過設置周期級參數,在不同時刻產生所需的控制信號。使用匯編語言對輸入輸出與FB中的控制器進行編程,完成數據輸入輸出和運算控制任務。

    (3)陣列配置信息生成

    通過集成的編譯器將配置好的數據路徑和控制參數信息編譯成陣列配置信息,完成算法映射。

3 SM4算法的不同映射方案

    通過對SM4算法的研究,結合RBEA的結構特點,本文采用操作合并、循環展開和任務并行復制等策略設計了不同的算法映射方案,并對這些方案進行評估來探究提高性能和資源效率的最佳映射策略。

    通過對SM4算法的分析,僅需要移位、異或和S盒3種操作就可以完成全部運算。移位操作通過配置移位單元可以實現,異或操作通過配置三輸入布爾函數單元或直接使用各FU輸出端口的異或單元實現,S盒操作由配置共享存儲器實現。運算過程中的以32 bit為單位的數據移位可以直接通過路由實現,不占用功能單元資源。

    使用吞吐率和性能面積比來量化地比較不同方案的性能和資源效率情況[5]。式(4)為吞吐率公式,表示單個時鐘內的平均數據處理量,單位為bit/cycle。式(5)為性能面積比公式,表示平均每個FB上單個時鐘內的平均數據處理量,單位為bit/cycle perFB。

     wdz2-gs4-5.gif

    其中S為處理分組個數,C為分組大小,T為數據運算所需時鐘數,N為映射方案中FB的個數。

3.1 操作合并

    將各步驟操作獨立的映射到各個FB上,如圖2所示。由于數據輸入端口的限制,輪運算共需9個FB,6個時鐘周期完成。由于最后的交換可以通過路由單元進行交換,不占用運算資源和時間。因此完成1組數據加密共占用9個FB,(6×32)+3=195個時鐘周期,其吞吐率為0.65 bit/cycle,性能面積比為0.07 bit/cycle perFB。

wdz2-t2.gif

    這種映射方案,對于每個FB來說,只利用到了其中的1種FU,而對于其他FU完全沒有利用,FB的利用率僅為25%。通過分析發現,輪密鑰異或可以與S盒操作合并,而線性變換L的操作也可以合并,其合并后的映射結構如圖3所示。合并方案中輪運算只占用6個FB,4個時鐘周期,完成1組數據的加密時,N=6,T=131,性能為0.98 bit/cycle,提高了1.5倍,性能面積比為0.16 bit/cycle perFB,提高了2.25倍,效果非常明顯。

wdz2-t3.gif

    由于陣列結構中單元的獨立性允許將算法映射到更多的單元上進行并行運算,因此操作合并方案減少了資源占用,提高了性能,為其他并行方案打下了基礎。

3.2 任務并行

    為提高SM4算法的性能,需要使用大量單元來承擔計算任務。本文認為使用這些單元的方式無非是將運算任務分配到這些單元上,并利用陣列特點,使這些單元能夠并行運算。分配方式主要有兩種,一種是不同的單元組合獨立地承擔不同數據的運算任務,即基于數據分配的任務復制方案;另一種是使不同的單元組合分別承擔同一數據運算的不同階段的計算任務,即基于循環展開的流水方案。

    任務復制方案在合并操作的基礎上,將各個算法任務完整復制到未利用的單元上。由于輸入輸出的限制,只能將任務復制為4份,如圖4所示,4個陰影部分表示為4份復制后的任務。

wdz2-t4.gif

    在當前的映射方案中,理想情況下,性能提升4倍,但資源利用率是原始方案的37.5%,性能面積比僅為0.06 bit/cycle perFB,還不如操作合并前的資源利用率。因此,采用任務復制的方案關鍵在于如何能夠保證資源利用率不被顯著地降低,這樣才能最大化地提高性能。

    循環展開流水方案在合并操作的基礎上,將輪運算進行復制映射,不同的輪運算承擔不同迭代次序的運算,被映射的單元接力處理數據,共同完成對一組數據的加/解密運算。針對陣列提供的資源不同,其流水形式也有所不同,可以分為全展開流水和集合展開流水。全展開流水以合并操作后的輪運算為基本單位進行復制映射,復制次數與迭代次數相同,如圖5(a)。集合展開流水同樣以輪運算為基本單元,而復制次數則根據外部條件設定,每個輪運算映射的單元不再承擔單次迭代任務而是多個輪運算任務的集合,如圖5(b)所示。集合展開方案需要滿足L×P×Q≥32。可以看出,全展開方案是集合展開在P=0,Q=1設定情況下的特殊形式。

wdz2-t5.gif

    根據流水線工作原理,吞吐率計算公式為:

    wdz2-gs6.gif

    其中II為迭代間隔,ET為處理一組數據所用的時鐘周期數。

    在全展開方案中,II=4,ET=131,N=192,其吞吐率極限值為32 bit/cycle,性能面積比最大為0.167 bit/cycle perFB。性能提升明顯,而資源利用效率與操作合并方案基本相同。

    在集合展開方案中,為達到最小II,應使Q=1,P=4,為簡化布線,映射時直接認為每輪運算占用兩行共8個FB。共占用48個FB,II=16,ET=131,其吞吐率極限值為8 bit/cycle,性能面積比最大為0.125 bit/cycle perFB。相對于操作合并后的方案,其性能提高了約7.8倍,而資源利用效率卻下降了,這是因為這種映射方案中共有16個FB未使用。為了提高資源利用效率需要研究自動布局布線算法,能夠將未使用的FB充分使用起來。

4 實驗驗證與分析

    在65 nm工藝下,RBEA的工作頻率為320 MHz,測試數據量大小分別為1 KB、16 KB、32 KB、48 KB、64 KB,不同方案的測試結果如表1所示。

wdz2-b1.gif

    對比操作合并前后的實驗數據可以看出,SM4算法實現性能有較大提升,而且性能面積比提升效果非常明顯。采用任務復制的方案能夠線性地提升算法性能,但是由于陣列結構的限制,其資源利用率卻有所降低。采用循環展開流水方案能夠顯著地提升算法實現性能,但是同樣地其性能面積比有所下降。

    對于與SM4結構相似的算法,采用合并操作能夠實現提升性能和資源利用率的雙重效果,而任務復制和循環展開方案僅能夠提高性能卻對資源利用的提升沒有貢獻。究其原因,是由于SM4算法實現的輪運算完全相同,一輪運算硬件可以實現完整算法映射,該組硬件在迭代運算過程中,始終處理被占用狀態,即以該組硬件為模板進行復制設計其他方案時資源利用率不會提高。因此,基于合并操作的后續方案中不能夠超越這一方案。若想進一步提升資源效率,應該進一步降低II,增加流水深度。

5 結論

    基于操作合并和任務并行這兩種思路,本文在RBEA平臺上對SM4算法設計了不同的映射方案,并通過實驗數據分析了不同方案對性能和資源效率提升的影響。實驗結果表明,合并操作減少了操作時間和資源,顯著地提升了算法實現性能和資源效率;任務并行使用更多資源來提升性能,但沒有提升硬件資源使用效率。通過增加流水深度、減少迭代間隔和使用自動化布局布線算法,將會進一步提升算法的在該平臺上的實現性能和資源使用效率。

參考文獻

[1] 魏少軍,劉雷波,尹首一.可重構計算處理器技術[J].中國科學:信息科學,2012(12):1559-1576.

[2] 國家密碼管理局.國家密碼管理局公告第23號[EB/OL].GM/T 0002-2012.(2012-03-21).http://www.oscca.gov.cn/News/201204/News_1227.htm.

[3] 楊子煜,嚴明,王大偉,等.面向CGRA循環流水映射的數據并行優化[J].計算機學報,2013,36(6):1280-1289.

[4] Li Wei,Zeng Xiaoyang,Nan Longmei,et al.A reconfigurable block cryptographic processor based on VLIW architecture[J].China Communications,2016,13(1):91-99.

[5] LIU B,BAAS B M.Parallel AES encryption engines for many-core processor arrays[J].Computers IEEE Transactions on,2013,62(3):536-547.

[6] SIM H,LEE H,SEO S,et al.Mapping imperfect loops to coarse-grained reconfigurable architectures[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2016,35(7):1092-1104.

[7] SHAO S,YIN S,LIU L,et al.Map-reduce inspired loop parallelization on CGRA[C]//IEEE International Symposium on Circuits and Systems.2014:1231-1234.

[8] ZHOU L,LIU H,ZHANG J.Loop acceleration by cluster-based CGRA[J].Ieice Electron Express,2013,10(16).

[9] 朱敏,劉雷波,尹首一,等.面向對稱密碼領域的可重構陣列設計[J].微電子學,2012,42(6):815-818.



作者信息:

徐金甫,楊宇航

(信息工程大學,河南 鄭州450000)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美日韩国语| 亚洲欧美久久久| 欧美日韩日日夜夜| 一区二区三区欧美亚洲| 中文av一区特黄| 国产精品国产精品| 午夜精品免费视频| 欧美在线一级视频| 亚洲高清自拍| 欧美日韩一区二区精品| 欧美成人高清| 亚洲欧美日韩一区二区在线 | 欧美久久在线| 亚洲一区精彩视频| 欧美一级欧美一级在线播放| 1769国内精品视频在线播放| 欧美人与性动交cc0o| 免费成人黄色av| 亚洲一卡久久| 久久99在线观看| 欧美在线资源| 久久国内精品自在自线400部| 亚洲三级网站| 国产精品区二区三区日本| 久久美女性网| 亚洲人成啪啪网站| 亚洲在线视频一区| 一区二区亚洲精品国产| 国产精品都在这里| 国产精品久久婷婷六月丁香| 欧美亚洲成人精品| 免费永久网站黄欧美| 亚洲自拍偷拍福利| 亚洲欧美激情四射在线日| 亚洲一区三区在线观看| 亚洲永久在线观看| 午夜视频在线观看一区二区三区| 亚洲国产一区二区视频| 亚洲一级黄色av| 亚洲国产日韩欧美在线99| 国产精品一二一区| 欧美精品久久久久久| 久久久久久久久久码影片| 久久人91精品久久久久久不卡| 亚洲综合欧美日韩| 午夜免费日韩视频| 久久久久久夜| 欧美激情一区二区三区在线视频| 欧美日韩另类国产亚洲欧美一级| 国产精品久久久久9999高清| 国内外成人在线| 国产精品美女久久久| 国产情侣一区| 国产精品vvv| 国产精品一区二区三区免费观看 | 久久艳片www.17c.com| 欧美成在线观看| 国产精品久久久久久久久久免费| 国产视频亚洲精品| 国产精品女同互慰在线看| 国产资源精品在线观看| 91久久久在线| 亚洲第一区中文99精品| 亚洲精品视频在线观看网站| 亚洲欧美激情在线视频| 亚洲午夜视频在线观看| 久久精品盗摄| 亚洲一区二区视频| 久久资源在线| 久热精品在线视频| 欧美日韩中文在线| 国产在线不卡视频| 日韩网站在线观看| 亚洲精品人人| 亚洲欧美亚洲| 日韩视频免费在线| 亚洲精品日产精品乱码不卡| 亚洲欧美另类综合偷拍| 免费中文日韩| 国产精品一区二区久激情瑜伽| 在线观看免费视频综合| 国内久久婷婷综合| 夜夜嗨一区二区| 宅男噜噜噜66国产日韩在线观看| 欧美中文字幕视频在线观看| 夜夜嗨av一区二区三区四季av| 日韩视频一区二区三区| 欧美一级专区免费大片| 欧美在线日韩在线| 久久久欧美一区二区| 欧美日韩亚洲高清| 伊人成人在线| 亚洲欧美日韩精品在线| 在线视频欧美精品| 欧美xx69| 国产资源精品在线观看| 亚洲一区二区网站| 99精品视频免费观看| 久久一区欧美| 国产欧美日韩伦理| 亚洲视频欧洲视频| 午夜久久影院| 久久精品国产亚洲aⅴ| 亚洲欧美日本日韩| 欧美日韩视频不卡| 亚洲黄网站黄| 亚洲第一狼人社区| 99精品国产一区二区青青牛奶 | 国产欧美一区二区三区久久人妖 | 亚洲高清av| 久久久久久亚洲精品不卡4k岛国| 国产精品久久久久久久第一福利| 日韩亚洲欧美综合| 亚洲伦理一区| 亚洲欧美国产不卡| 欧美日本免费| 亚洲日本欧美| 亚洲裸体视频| 欧美激情一区二区三区全黄 | 欧美激情1区| 欧美日韩精品免费| 亚洲国产成人91精品| 亚洲成色999久久网站| 亚洲乱码一区二区| 男女av一区三区二区色多| 狠狠色狠狠色综合日日五| 亚洲欧洲另类国产综合| 久久精品国产一区二区三| 久久久噜噜噜久久中文字免| 国产亚洲福利社区一区| 欧美一区视频在线| 99re视频这里只有精品| 欧美二区视频| 最新高清无码专区| 一区二区三区产品免费精品久久75 | 欧美精品一区二区三区视频 | 日韩视频第一页| 午夜精品久久久久| 新67194成人永久网站| 国产欧美精品在线观看| 先锋a资源在线看亚洲| 久久精品人人爽| 欧美色大人视频| 国色天香一区二区| 欧美中文字幕久久| 久久综合九色99| 亚洲电影中文字幕| 99热免费精品| 国产精品国产三级国产aⅴ9色 | 亚洲一区精品视频| 欧美影院成人| 在线观看日韩精品| 99av国产精品欲麻豆| 欧美午夜一区二区三区免费大片| 亚洲在线视频网站| 玖玖视频精品| 99在线观看免费视频精品观看| 亚洲尤物在线| 国产一区二区三区四区老人| 日韩亚洲欧美综合| 香蕉av777xxx色综合一区| 国产一区二区三区免费在线观看 | 99精品国产在热久久| 国产精品女主播| 亚洲第一网站免费视频| 欧美另类高清视频在线| 亚洲在线不卡| 麻豆av福利av久久av| 日韩一区二区精品葵司在线| 欧美制服丝袜第一页| 亚洲国产婷婷综合在线精品 | 中文亚洲字幕| 久久久久久香蕉网| 日韩亚洲欧美精品| 久久精品人人做人人爽| 亚洲精品久久久久中文字幕欢迎你 | 亚洲欧美精品在线观看| 免费成人美女女| 亚洲视频视频在线| 免费久久99精品国产| 中文一区在线| 欧美成人午夜激情视频| 亚洲一区国产一区| 欧美高清视频www夜色资源网| 亚洲制服丝袜在线| 欧美黄色精品| 午夜欧美电影在线观看| 欧美区二区三区| 久久se精品一区二区| 欧美日韩中文在线| 亚洲东热激情| 国产精品免费在线| 日韩视频一区二区在线观看| 国产麻豆成人精品| 一区二区三区**美女毛片 | 亚洲一二三级电影| 欧美经典一区二区| 久久精品欧美日韩| 国产精品区一区二区三区| 亚洲人成在线观看一区二区|