文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.171048
中文引用格式: 劉露,徐金甫,,李偉,,等. 面向密碼邏輯陣列的可編程控制網(wǎng)絡設計與實現(xiàn)[J].電子技術應用,2017,,43(10):39-43.
英文引用格式: Liu Lu,,Xu Jinfu,Li Wei,,et al. Design and implementation of a programmable control network for cryptographic logic array[J].Application of Electronic Technique,,2017,43(10):39-43.
0 引言
網(wǎng)絡帶寬的增長和網(wǎng)絡安全協(xié)議的多樣化,,導致密碼應用不斷擴大及對密碼設備性能要求不斷提高,。對于運算密集型的密碼算法,數(shù)據(jù)流驅(qū)動的粗粒度密碼邏輯陣列(Coarse-Grained Cryptographic Logic Array,,CGCLA)結構可充分利用其數(shù)據(jù)并行性和算法流水的特性,,達到密碼運算速度快、靈活性高等性能要求,。然而面對如此靈活高效的可重構數(shù)據(jù)通路,,若陣列控制器控制效率低,延遲和面積大,,則控制時間開銷與數(shù)據(jù)路徑時間開銷相當,,因此控制路徑可能成為關鍵路徑,將導致成本高,、擴展性差等問題,,所以高效率的控制器將成為CGCLA發(fā)揮其良好性能的關鍵。
本文對3種主流可重構處理架構的控制模式進行研究,,發(fā)現(xiàn)ADRES架構的控制器存在面積規(guī)模大,、可擴展性差等問題,;XPP架構下控制范圍存在局限性、控制流間信息交互難等問題,;MorphoSys架構下控制流單一,,且存在交互開銷和存儲開銷大的問題。針對以上架構存在的控制缺陷,,從對稱密碼算法結構出發(fā),,提取控制流特征,采用了全動態(tài)的配置信息技術,,提出了一種性能強大的四層控制模型,并設計了在該模型下面向CGCLA的可編程控制網(wǎng)絡結構,,克服了控制器可擴展性差,、交互時間長、信息交互難,、控制流單一,、映射算法困難等問題,從而能很好地支持對分組密碼算法和序列密碼算法的高效控制,。
1 主流可重構密碼處理架構控制模型研究
目前,,可重構密碼處理架構主要有兩種:陣列結構(ADRES[1]、XPP[2],、MorphoSys[3],、S-RCCPA[4]等)和VLIW結構(Cryptonite[5]、CCproc[6],、RCB-CP[7]等),。對于實現(xiàn)運算密集型密碼算法,陣列結構數(shù)據(jù)加速,、資源利用率等性能更優(yōu),。
ADRES架構由超長指令字處理器控制,屬于集中控制方式,,能做到配置信息的周期級切換,,但是超長指令字處理器定制性太強,導致面積規(guī)模大,、可擴展性差等問題,。XPP架構的控制模式屬于半集中式控制,每個陣列處理簇能產(chǎn)生至少一個控制流,,通過配置頁面切換,,能實現(xiàn)比ADRES架構更為靈活的控制,然而當需要數(shù)據(jù)流圖或控制流圖交互時,,此架構不能實現(xiàn)或者實現(xiàn)效率很低,,從而可能造成算法映射困難,、配置管理器間交互開銷大等問題。MorphoSys架構由于只有單一的主處理器控制陣列,,只能產(chǎn)生單一的控制流,,對于多種密碼算法的并行實現(xiàn)適配效率非常低,降低了陣列數(shù)據(jù)并行性的優(yōu)勢,,而且存在控制與運算交互時間長,、局部存儲開銷大等問題,所以不能實現(xiàn)高效控制,。
將以上3種主流架構的控制模型抽象成三層,,如圖1(a)所示,對其進一步改進,,抽象成四層控制模型,,如圖1(b)所示。在配置頁面層與可重構陣列之間,,加入可編程控制器,,控制器能夠接收各個處理單元的反饋信息,并根據(jù)反饋信息選擇配置頁面,,增強了數(shù)據(jù)流與控制流間信息交互能力,,可以提高控制效率,但仍然存在可擴展性差,、控制流單一等問題,,且此種基于陣列的配置技術在配置頁面切換時會產(chǎn)生巨大功耗。
對四層控制流模型進一步改進,,如圖1(c)所示,。控制層采用基于網(wǎng)絡互連結構的控制網(wǎng)絡設計,,為每個處理單元分配一個能產(chǎn)生簡單控制流的可編程控制器(Programmable Control Element,,PCE),然后結合三維配置信息技術[8],,為陣列的每個處理單元分配存儲空間來存儲算子配置信息,,改進后的四層控制模型通過可編程控制器網(wǎng)絡互連可以產(chǎn)生不同或者復雜的控制流,通過三維配置信息技術能夠完成全動態(tài)配置,,且能克服基于陣列配置技術帶來的頁面切換功耗大的問題,。
2 對稱密碼算法控制方法研究
為設計合適的粗粒度密碼邏輯陣列可編程控制器,就必須從對稱密碼算法的結構特征出發(fā),,總結提取合適的控制方法,。
2.1 數(shù)據(jù)流復用控制
無論是分組密碼算法的輪運算、序列密碼算法的記憶部件更新,還是雜湊算法消息擴展運算和輪運算,,都滿足迭代原則,,其數(shù)據(jù)流呈現(xiàn)很強的規(guī)律性:每次運算都使用了完全相同的數(shù)據(jù)流,每組中間數(shù)據(jù)都只與下一組數(shù)據(jù)直接相關,。
2.2 不等長數(shù)據(jù)路徑控制
分組和雜湊密碼算法在一個分組內(nèi)需要計算多路數(shù)據(jù),,如圖2(a)所示。而每一路數(shù)據(jù)可能需要不同的操作,,操作數(shù)據(jù)也有可能不同,,為保證得到正確的計算結果,一般有兩種可行方案,,第一種是在較短的路徑中插入無效操作使其與較長路徑等長,,如圖2(b)所示。在路徑較多的情況下,,該方式變得很復雜,,且浪費資源。第二種是通過不斷向自身賦值的方式保持原值不變從而使較短的數(shù)據(jù)流停止,,如圖2(c)所示,等到另一數(shù)據(jù)算出正確結果后再切換到下一數(shù)據(jù)流圖進行運算,,即原來的一張流圖將被拆成兩張子圖,,然而雜湊算法內(nèi)部一般存在很多路數(shù)的運算,所以不適合采用第二種方式,。在此,,基于第二種用子圖切換實現(xiàn)等待的方式,提出一種寄存器等待的方式,,如圖2(d)所示,,通過使能寄存器,達到不同路徑的同步,。相比前兩種方式,,提高了資源利用率,也減少了子圖的數(shù)量,,從而可以減少控制復雜度,。
2.3 切換控制
對稱密碼算法一般由多個執(zhí)行不同運算的階段組成,相應的對稱密碼算法全局數(shù)據(jù)流圖一般由多個不同的子圖構成,。分組密碼算法可分為初始運算,、輪運算、輸出運算3個階段,,序列密碼算法大致可分為密鑰輸入,、記憶部件初始化和置亂輸出3個階段,而雜湊算法的每一輪采用的是完全相同的運算結構,,一般不存在階段劃分,。
2.4 鐘控,、控選結構控制
與分組密碼算法任意時刻有確定的數(shù)據(jù)流圖不同,序列密碼算法由于鐘控模型的存在,,導致數(shù)據(jù)流有不確定性,,這就要求在運算中臨時確定數(shù)據(jù)流圖,滿足此要求一種方法是采用選擇結構,,同時實現(xiàn)兩路鐘控運算,,相當于將控制流整合至數(shù)據(jù)流中,使其也同樣具有固定的數(shù)據(jù)流,,代價是需要更多的資源,,運算變得更加復雜。另一種方法是將計算鐘控值所需的抽取位傳遞至控制流,,控制流根據(jù)抽取位決定數(shù)據(jù)流圖選擇,,如圖3所示。這種方法資源變少,、運算簡單,,但控制流與控制流關系更加復雜。
3 可編程控制網(wǎng)絡設計
針對主流架構存在的控制問題,,本文提出了可編程控制網(wǎng)絡,。用網(wǎng)絡結構解決控制器可擴展性差的問題,用緊耦合方式克服交互時間長的缺陷,,用互連方式解決信息交互難,、控制流單一、映射算法困難等問題,。
3.1 雙層網(wǎng)絡交互結構設計
雙層網(wǎng)絡包括可編程控制網(wǎng)絡和用于數(shù)據(jù)處理的數(shù)據(jù)網(wǎng)絡,。緊耦合的雙層網(wǎng)絡交互結構如圖4所示,其緊耦合主要體現(xiàn)在基本控制單元(Control Unit Cluster,,CUC)與基本運算單元(Basic Processing Unit,,BPU)之間存在一對一的耦合方式。該耦合方式通過硬連線實現(xiàn),,最大程度地減少了控制與運算交互時間,,可以快速實現(xiàn)BPU配置頁面切換,且不占用互連資源,。
3.2 可編程控制網(wǎng)絡互連結構設計
可編程控制網(wǎng)絡是一個五向節(jié)點結構的網(wǎng)絡,,其結構如圖5所示。主要包含了兩個功能模塊:可編程控制器PCE和路由單元SE(一個CUC包含一個PCE和一個SE),。其互連拓撲結構是由路由單元SE通過規(guī)模為4×4的2D Torus網(wǎng)絡互連構成,。每個可編程控制器PCE可產(chǎn)生一個簡單的控制流,PCE通過SE互連,可以形成更多更復雜的控制流,,然后與數(shù)據(jù)流完成整個算法在陣列上的映射,。
3.3 可編程控制器PCE結構設計
可編程控制器PCE功能的設計需依據(jù)對稱密碼算法控制流特點?;诠δ艿耐陚湫钥紤],,根據(jù)第2章對對稱密碼算法研究得出的控制方法進行分析,得到可編程控制器PCE的功能需求,,如表1所示,。根據(jù)PCE功能需求,可以推出對應的基本功能組件,,如表2所示,。
從表1、表2可知,,本文提出的可編程控制器PCE必須具有5種基本功能組件,,即計數(shù)、比較,、布爾運算,、值傳遞以及狀態(tài)寄存,以很好地支持對稱密碼算法控制流映射,??删幊炭刂破鱌CE結構如圖6所示。
4 功能驗證與性能分析
4.1 功能驗證
4.1.1 AES算法控制流映射
本文選取密鑰長度為128 bit,、輪數(shù)為10輪的AES算法進行分析,根據(jù)AES算法結構和迭代型運算特點,,對其進行數(shù)據(jù)流子圖劃分,,子圖1實現(xiàn)開始的異或運算,子圖2實現(xiàn)1~9輪運算,,子圖3實現(xiàn)第10輪運算,。
根據(jù)子圖切換條件及切換順序,選擇基本功能組件完成AES的控制流映射,,如圖7所示,,分別用到了計數(shù)器、比較器以及子圖選擇信號的值傳遞等基本功能組件,,密鑰的讀取地址通過輪計數(shù)器產(chǎn)生,。
4.1.2 A5-1算法控制流映射
根據(jù)是否輸入密鑰將整個A5-1數(shù)據(jù)流圖分成2個子圖,子圖1完成帶密鑰運算的86次初始化操作,,子圖2完成之后的2輪100次空轉(zhuǎn)和114次置亂輸出,。根據(jù)子圖切換條件及切換順序,選擇基本功能組件完成A5-1的控制流映射,如圖8所示,,分別用到了計數(shù)器,、比較器、布爾運算(LUT)以及子圖選擇信號的值傳遞等基本功能組件,。
4.2 性能分析
本文使用Synopsys公司的DC(Design Complier)工具,,采用65 nm CMOS 工藝標準庫在tt_vlp2_25c的PVT環(huán)境下對規(guī)模為4×4可編程控制網(wǎng)絡進行邏輯綜合。綜合報告顯示,,可編程控制網(wǎng)絡占用組合邏輯面積為12 256 μm2,,非組合邏輯面積為1 456 μm2,總面積為13 712 μm2,,折合等效與非門數(shù) 0.95萬門(13 712/1.44門),,占整個CGCLA面積0.37%。映射AES控制流最大延遲為0.72 ns,,即頻率達到1 389 MHz,。映射A5-1控制流最大延遲為0.84 ns,即頻率達到1 190 MHz,。從綜合結果可以看出,,可編程控制網(wǎng)絡面積小、速度快,,不會增加陣列面積資源或成為關鍵路徑,。
其次,將四層控制模型下的可編程控制網(wǎng)絡與三種主流架構下的控制器進行性能對比分析,,結果如表3所示,。可編程控制網(wǎng)絡整體性能遠遠優(yōu)于主流架構下的控制器,,不僅可以提高了控制效率,,且在關鍵配置技術上提供了很好的技術支持。
5 結束語
為了解決當前主流密碼陣列架構下控制器可擴展性差,、控制流單一,、與數(shù)據(jù)流交互時間長等問題,本文提出了四層控制模型,,并設計了面向粗粒度密碼邏輯陣列的可編程控制網(wǎng)絡,。用AES和A5-1算法在控制網(wǎng)絡上映射,對其進行功能驗證和性能分析,,結果表明,,可編程控制網(wǎng)絡不僅支持分組密碼算法控制流映射,還支持序列密碼算法控制流映射,,且面積小,、延時少,,靈活性和擴展性也很高,達到高效控制且開銷小的設計要求,,適用于任意互連結構的粗粒度密碼邏輯陣列,。與3種主流陣列處理架構進行六方面的性能對比,發(fā)現(xiàn)基于可編程控制網(wǎng)絡的四層控制模型整體性能遠超三層控制模型,。
參考文獻
[1] MEI B,,VERNALDE S,VERKEST D,,et al.ADRES:An architecture with tightly coupled VLIW processor and coarse-grained reconfigurable matrix[J].2003:61-70.
[2] BAUMGARTE V,,EHLERS G,MAY F,,et al.PACT XPP—A self-reconfigurable data processing architecture[J].The Journal of Supercomputing,,2003,26(2):167-184.
[3] SINGH H,,LEE M,,LU G,et al.MorphoSys:A reconfigurable architecture for multimedia applications[C]//Brazilian Symposium on Integrated Circuit Design.IEEE Computer Society,,1998:134.
[4] 陳韜,,羅興國,李校南,,等.一種基于流處理框架的可重構分簇式分組密碼處理結構模型[J].電子與信息學報,,2014,12:3027-3034.
[5] BUCHTY R,,HEINTZE N,,OLIVA D.Cryptonite—A pro-grammable crypto processor architecture for high-bandwidth applications[M].Springer Berlin Heidelberg:Organic and Pervasive Computing ARCS,2004:184-198.
[6] THEODOROPOULOS D,,PAPAEFSTATHIOU I,,PNEVMATIKATOS D N.CCproc:An efficient cryptographic copro-cessor[C].In Proceedings of 16th IFIP/IEEE International Conference on Very Large Scale(VLSI′08).2008:160-163.
[7] 孟濤,戴紫彬.分組密碼處理器的可重構分簇式架構[J].電子與信息學報,,2009,02:453-456.
[8] 王延升.粗粒度動態(tài)可重構處理器中的高能效關鍵配置技術研究[D].北京:清華大學,,2014.
作者信息:
劉 露1,,徐金甫1,李 偉1,,2,,楊宇航1
(1.解放軍信息工程大學,河南 鄭州450001,;2.復旦大學 專用集成電路與系統(tǒng)國家重點實驗室,,上海201203)