《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 面向密碼邏輯陣列的可編程控制網(wǎng)絡(luò)設(shè)計(jì)與實(shí)現(xiàn)
面向密碼邏輯陣列的可編程控制網(wǎng)絡(luò)設(shè)計(jì)與實(shí)現(xiàn)
2017年電子技術(shù)應(yīng)用第10期
劉 露1,,徐金甫1,,李 偉1,2,,楊宇航1
1.解放軍信息工程大學(xué),,河南 鄭州450001;2.復(fù)旦大學(xué) 專用集成電路與系統(tǒng)國家重點(diǎn)實(shí)驗(yàn)室,,上海201203
摘要: 為解決粗粒度密碼邏輯陣列控制開銷大,、控制效率低的問題,在研究主流陣列處理架構(gòu)下三層控制模型的基礎(chǔ)上,,提出了一種陣列的四層控制模型,,并設(shè)計(jì)了對應(yīng)的可編程控制網(wǎng)絡(luò)。在規(guī)模為4×4的可編程控制網(wǎng)絡(luò)上實(shí)現(xiàn)了對AES,、A5-1等對稱算法的控制流映射,。在65 nm CMOS 工藝下,DC綜合結(jié)果顯示總面積為13 712 μm2,,折合等效與非門數(shù)0.95萬,,占陣列面積0.37%。映射AES和A5-1控制流最高頻率分別為1 389 MHz和1 190 MHz,,達(dá)到面積小,、速度快的應(yīng)用需求。將四層控制模型與三層控制模型進(jìn)行六個(gè)不同性能對比,,前者整體性能遠(yuǎn)超后者,,且能滿足任意網(wǎng)絡(luò)互連結(jié)構(gòu)陣列的高效控制需求,。
中圖分類號: TP332.3
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.171048
中文引用格式: 劉露,徐金甫,,李偉,,等. 面向密碼邏輯陣列的可編程控制網(wǎng)絡(luò)設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,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.
Design and implementation of a programmable control network for cryptographic logic array
Liu Lu1,,Xu Jinfu1,,Li Wei1,2,,Yang Yuhang1
1.The PLA Information Engineering University,,Zhengzhou 450001,China,; 2.State Key Laboratory of Fudan University Specific Integrated Circuit and System,,Shanghai 201203,China
Abstract: In order to solve the problem that the coarse-grained cryptographic logic array control overhead is large and the control efficiency is low, this paper propose an array of four layer control model based on the study of the three layer control model of some main array processing architectures, and achieve efficient control of the AES, A5-1 and other symmetric algorithms on the scale of 4×4 programmable control network. The synthesis result of DC shows that the total area is 13 712 μm2 under the 65 nm CMOS process, which is equivalent to the number of 0.95 million NAND gates, accounting for 0.37% of the array area. The highest frequency of AES and A5-1 control flow reaches 1 389 MHz and 1 190 MHz, respectively, which can meet the application requirements of small area and fast speed. Comparing the four layer control model and the three layer control model in six performances, the overall performance of the former is much better than the latter, and it can meet the requirements of efficient control of any network interconnection structure array.
Key words : coarse-grained cryptographic logic array,;four layer control model,;programmable control network;efficient control

0 引言

    網(wǎng)絡(luò)帶寬的增長和網(wǎng)絡(luò)安全協(xié)議的多樣化,,導(dǎo)致密碼應(yīng)用不斷擴(kuò)大及對密碼設(shè)備性能要求不斷提高,。對于運(yùn)算密集型的密碼算法,數(shù)據(jù)流驅(qū)動(dòng)的粗粒度密碼邏輯陣列(Coarse-Grained Cryptographic Logic Array,,CGCLA)結(jié)構(gòu)可充分利用其數(shù)據(jù)并行性和算法流水的特性,,達(dá)到密碼運(yùn)算速度快、靈活性高等性能要求,。然而面對如此靈活高效的可重構(gòu)數(shù)據(jù)通路,,若陣列控制器控制效率低,延遲和面積大,,則控制時(shí)間開銷與數(shù)據(jù)路徑時(shí)間開銷相當(dāng),,因此控制路徑可能成為關(guān)鍵路徑,將導(dǎo)致成本高,、擴(kuò)展性差等問題,,所以高效率的控制器將成為CGCLA發(fā)揮其良好性能的關(guān)鍵。

    本文對3種主流可重構(gòu)處理架構(gòu)的控制模式進(jìn)行研究,,發(fā)現(xiàn)ADRES架構(gòu)的控制器存在面積規(guī)模大,、可擴(kuò)展性差等問題,;XPP架構(gòu)下控制范圍存在局限性、控制流間信息交互難等問題,;MorphoSys架構(gòu)下控制流單一,,且存在交互開銷和存儲(chǔ)開銷大的問題。針對以上架構(gòu)存在的控制缺陷,,從對稱密碼算法結(jié)構(gòu)出發(fā),,提取控制流特征,采用了全動(dòng)態(tài)的配置信息技術(shù),,提出了一種性能強(qiáng)大的四層控制模型,,并設(shè)計(jì)了在該模型下面向CGCLA的可編程控制網(wǎng)絡(luò)結(jié)構(gòu),克服了控制器可擴(kuò)展性差,、交互時(shí)間長,、信息交互難、控制流單一,、映射算法困難等問題,從而能很好地支持對分組密碼算法和序列密碼算法的高效控制,。

1 主流可重構(gòu)密碼處理架構(gòu)控制模型研究

    目前,,可重構(gòu)密碼處理架構(gòu)主要有兩種:陣列結(jié)構(gòu)(ADRES[1]、XPP[2],、MorphoSys[3],、S-RCCPA[4]等)和VLIW結(jié)構(gòu)(Cryptonite[5]、CCproc[6],、RCB-CP[7]等),。對于實(shí)現(xiàn)運(yùn)算密集型密碼算法,陣列結(jié)構(gòu)數(shù)據(jù)加速,、資源利用率等性能更優(yōu),。

    ADRES架構(gòu)由超長指令字處理器控制,屬于集中控制方式,,能做到配置信息的周期級切換,,但是超長指令字處理器定制性太強(qiáng),導(dǎo)致面積規(guī)模大,、可擴(kuò)展性差等問題,。XPP架構(gòu)的控制模式屬于半集中式控制,每個(gè)陣列處理簇能產(chǎn)生至少一個(gè)控制流,,通過配置頁面切換,,能實(shí)現(xiàn)比ADRES架構(gòu)更為靈活的控制,然而當(dāng)需要數(shù)據(jù)流圖或控制流圖交互時(shí),,此架構(gòu)不能實(shí)現(xiàn)或者實(shí)現(xiàn)效率很低,,從而可能造成算法映射困難,、配置管理器間交互開銷大等問題。MorphoSys架構(gòu)由于只有單一的主處理器控制陣列,,只能產(chǎn)生單一的控制流,,對于多種密碼算法的并行實(shí)現(xiàn)適配效率非常低,降低了陣列數(shù)據(jù)并行性的優(yōu)勢,,而且存在控制與運(yùn)算交互時(shí)間長,、局部存儲(chǔ)開銷大等問題,所以不能實(shí)現(xiàn)高效控制,。

    將以上3種主流架構(gòu)的控制模型抽象成三層,,如圖1(a)所示,對其進(jìn)一步改進(jìn),,抽象成四層控制模型,,如圖1(b)所示。在配置頁面層與可重構(gòu)陣列之間,,加入可編程控制器,,控制器能夠接收各個(gè)處理單元的反饋信息,并根據(jù)反饋信息選擇配置頁面,,增強(qiáng)了數(shù)據(jù)流與控制流間信息交互能力,,可以提高控制效率,但仍然存在可擴(kuò)展性差,、控制流單一等問題,,且此種基于陣列的配置技術(shù)在配置頁面切換時(shí)會(huì)產(chǎn)生巨大功耗。

    對四層控制流模型進(jìn)一步改進(jìn),,如圖1(c)所示,。控制層采用基于網(wǎng)絡(luò)互連結(jié)構(gòu)的控制網(wǎng)絡(luò)設(shè)計(jì),,為每個(gè)處理單元分配一個(gè)能產(chǎn)生簡單控制流的可編程控制器(Programmable Control Element,,PCE),然后結(jié)合三維配置信息技術(shù)[8],,為陣列的每個(gè)處理單元分配存儲(chǔ)空間來存儲(chǔ)算子配置信息,,改進(jìn)后的四層控制模型通過可編程控制器網(wǎng)絡(luò)互連可以產(chǎn)生不同或者復(fù)雜的控制流,通過三維配置信息技術(shù)能夠完成全動(dòng)態(tài)配置,,且能克服基于陣列配置技術(shù)帶來的頁面切換功耗大的問題,。

wdz3-t1.gif

2 對稱密碼算法控制方法研究

    為設(shè)計(jì)合適的粗粒度密碼邏輯陣列可編程控制器,就必須從對稱密碼算法的結(jié)構(gòu)特征出發(fā),,總結(jié)提取合適的控制方法,。

2.1 數(shù)據(jù)流復(fù)用控制

    無論是分組密碼算法的輪運(yùn)算、序列密碼算法的記憶部件更新,,還是雜湊算法消息擴(kuò)展運(yùn)算和輪運(yùn)算,,都滿足迭代原則,,其數(shù)據(jù)流呈現(xiàn)很強(qiáng)的規(guī)律性:每次運(yùn)算都使用了完全相同的數(shù)據(jù)流,每組中間數(shù)據(jù)都只與下一組數(shù)據(jù)直接相關(guān),。

2.2 不等長數(shù)據(jù)路徑控制

    分組和雜湊密碼算法在一個(gè)分組內(nèi)需要計(jì)算多路數(shù)據(jù),,如圖2(a)所示。而每一路數(shù)據(jù)可能需要不同的操作,,操作數(shù)據(jù)也有可能不同,,為保證得到正確的計(jì)算結(jié)果,一般有兩種可行方案,,第一種是在較短的路徑中插入無效操作使其與較長路徑等長,,如圖2(b)所示。在路徑較多的情況下,,該方式變得很復(fù)雜,,且浪費(fèi)資源。第二種是通過不斷向自身賦值的方式保持原值不變從而使較短的數(shù)據(jù)流停止,,如圖2(c)所示,,等到另一數(shù)據(jù)算出正確結(jié)果后再切換到下一數(shù)據(jù)流圖進(jìn)行運(yùn)算,即原來的一張流圖將被拆成兩張子圖,,然而雜湊算法內(nèi)部一般存在很多路數(shù)的運(yùn)算,,所以不適合采用第二種方式。在此,,基于第二種用子圖切換實(shí)現(xiàn)等待的方式,提出一種寄存器等待的方式,,如圖2(d)所示,,通過使能寄存器,達(dá)到不同路徑的同步,。相比前兩種方式,,提高了資源利用率,也減少了子圖的數(shù)量,,從而可以減少控制復(fù)雜度,。wdz3-t2.gif

2.3 切換控制

    對稱密碼算法一般由多個(gè)執(zhí)行不同運(yùn)算的階段組成,相應(yīng)的對稱密碼算法全局?jǐn)?shù)據(jù)流圖一般由多個(gè)不同的子圖構(gòu)成,。分組密碼算法可分為初始運(yùn)算,、輪運(yùn)算、輸出運(yùn)算3個(gè)階段,,序列密碼算法大致可分為密鑰輸入,、記憶部件初始化和置亂輸出3個(gè)階段,而雜湊算法的每一輪采用的是完全相同的運(yùn)算結(jié)構(gòu),,一般不存在階段劃分,。

2.4 鐘控,、控選結(jié)構(gòu)控制

    與分組密碼算法任意時(shí)刻有確定的數(shù)據(jù)流圖不同,序列密碼算法由于鐘控模型的存在,,導(dǎo)致數(shù)據(jù)流有不確定性,,這就要求在運(yùn)算中臨時(shí)確定數(shù)據(jù)流圖,滿足此要求一種方法是采用選擇結(jié)構(gòu),,同時(shí)實(shí)現(xiàn)兩路鐘控運(yùn)算,,相當(dāng)于將控制流整合至數(shù)據(jù)流中,使其也同樣具有固定的數(shù)據(jù)流,,代價(jià)是需要更多的資源,,運(yùn)算變得更加復(fù)雜。另一種方法是將計(jì)算鐘控值所需的抽取位傳遞至控制流,,控制流根據(jù)抽取位決定數(shù)據(jù)流圖選擇,,如圖3所示。這種方法資源變少,、運(yùn)算簡單,,但控制流與控制流關(guān)系更加復(fù)雜。

wdz3-t3.gif

3 可編程控制網(wǎng)絡(luò)設(shè)計(jì)

    針對主流架構(gòu)存在的控制問題,,本文提出了可編程控制網(wǎng)絡(luò),。用網(wǎng)絡(luò)結(jié)構(gòu)解決控制器可擴(kuò)展性差的問題,用緊耦合方式克服交互時(shí)間長的缺陷,,用互連方式解決信息交互難,、控制流單一、映射算法困難等問題,。 

3.1 雙層網(wǎng)絡(luò)交互結(jié)構(gòu)設(shè)計(jì)

    雙層網(wǎng)絡(luò)包括可編程控制網(wǎng)絡(luò)和用于數(shù)據(jù)處理的數(shù)據(jù)網(wǎng)絡(luò),。緊耦合的雙層網(wǎng)絡(luò)交互結(jié)構(gòu)如圖4所示,其緊耦合主要體現(xiàn)在基本控制單元(Control Unit Cluster,,CUC)與基本運(yùn)算單元(Basic Processing Unit,,BPU)之間存在一對一的耦合方式。該耦合方式通過硬連線實(shí)現(xiàn),,最大程度地減少了控制與運(yùn)算交互時(shí)間,,可以快速實(shí)現(xiàn)BPU配置頁面切換,且不占用互連資源,。

wdz3-t4.gif

3.2 可編程控制網(wǎng)絡(luò)互連結(jié)構(gòu)設(shè)計(jì)

    可編程控制網(wǎng)絡(luò)是一個(gè)五向節(jié)點(diǎn)結(jié)構(gòu)的網(wǎng)絡(luò),,其結(jié)構(gòu)如圖5所示。主要包含了兩個(gè)功能模塊:可編程控制器PCE和路由單元SE(一個(gè)CUC包含一個(gè)PCE和一個(gè)SE),。其互連拓?fù)浣Y(jié)構(gòu)是由路由單元SE通過規(guī)模為4×4的2D Torus網(wǎng)絡(luò)互連構(gòu)成,。每個(gè)可編程控制器PCE可產(chǎn)生一個(gè)簡單的控制流,PCE通過SE互連,可以形成更多更復(fù)雜的控制流,,然后與數(shù)據(jù)流完成整個(gè)算法在陣列上的映射,。

wdz3-t5.gif

3.3 可編程控制器PCE結(jié)構(gòu)設(shè)計(jì)

    可編程控制器PCE功能的設(shè)計(jì)需依據(jù)對稱密碼算法控制流特點(diǎn)?;诠δ艿耐陚湫钥紤],,根據(jù)第2章對對稱密碼算法研究得出的控制方法進(jìn)行分析,得到可編程控制器PCE的功能需求,,如表1所示,。根據(jù)PCE功能需求,可以推出對應(yīng)的基本功能組件,,如表2所示,。

wdz3-b1.gif

wdz3-b2.gif

    從表1、表2可知,,本文提出的可編程控制器PCE必須具有5種基本功能組件,,即計(jì)數(shù)、比較,、布爾運(yùn)算,、值傳遞以及狀態(tài)寄存,以很好地支持對稱密碼算法控制流映射,??删幊炭刂破鱌CE結(jié)構(gòu)如圖6所示。

wdz3-t6.gif

4 功能驗(yàn)證與性能分析

4.1 功能驗(yàn)證

4.1.1 AES算法控制流映射

    本文選取密鑰長度為128 bit,、輪數(shù)為10輪的AES算法進(jìn)行分析,,根據(jù)AES算法結(jié)構(gòu)和迭代型運(yùn)算特點(diǎn),對其進(jìn)行數(shù)據(jù)流子圖劃分,,子圖1實(shí)現(xiàn)開始的異或運(yùn)算,,子圖2實(shí)現(xiàn)1~9輪運(yùn)算,子圖3實(shí)現(xiàn)第10輪運(yùn)算,。

    根據(jù)子圖切換條件及切換順序,選擇基本功能組件完成AES的控制流映射,,如圖7所示,,分別用到了計(jì)數(shù)器、比較器以及子圖選擇信號的值傳遞等基本功能組件,,密鑰的讀取地址通過輪計(jì)數(shù)器產(chǎn)生,。 

wdz3-t7.gif

4.1.2 A5-1算法控制流映射

    根據(jù)是否輸入密鑰將整個(gè)A5-1數(shù)據(jù)流圖分成2個(gè)子圖,子圖1完成帶密鑰運(yùn)算的86次初始化操作,,子圖2完成之后的2輪100次空轉(zhuǎn)和114次置亂輸出,。根據(jù)子圖切換條件及切換順序,選擇基本功能組件完成A5-1的控制流映射,如圖8所示,,分別用到了計(jì)數(shù)器,、比較器、布爾運(yùn)算(LUT)以及子圖選擇信號的值傳遞等基本功能組件,。

wdz3-t8.gif

4.2 性能分析

    本文使用Synopsys公司的DC(Design Complier)工具,,采用65 nm CMOS 工藝標(biāo)準(zhǔn)庫在tt_vlp2_25c的PVT環(huán)境下對規(guī)模為4×4可編程控制網(wǎng)絡(luò)進(jìn)行邏輯綜合。綜合報(bào)告顯示,,可編程控制網(wǎng)絡(luò)占用組合邏輯面積為12 256 μm2,,非組合邏輯面積為1 456 μm2,總面積為13 712 μm2,,折合等效與非門數(shù) 0.95萬門(13 712/1.44門),,占整個(gè)CGCLA面積0.37%。映射AES控制流最大延遲為0.72 ns,,即頻率達(dá)到1 389 MHz,。映射A5-1控制流最大延遲為0.84 ns,即頻率達(dá)到1 190 MHz,。從綜合結(jié)果可以看出,,可編程控制網(wǎng)絡(luò)面積小、速度快,,不會(huì)增加陣列面積資源或成為關(guān)鍵路徑,。

    其次,將四層控制模型下的可編程控制網(wǎng)絡(luò)與三種主流架構(gòu)下的控制器進(jìn)行性能對比分析,,結(jié)果如表3所示,。可編程控制網(wǎng)絡(luò)整體性能遠(yuǎn)遠(yuǎn)優(yōu)于主流架構(gòu)下的控制器,,不僅可以提高了控制效率,,且在關(guān)鍵配置技術(shù)上提供了很好的技術(shù)支持。

wdz3-b3.gif

5 結(jié)束語

    為了解決當(dāng)前主流密碼陣列架構(gòu)下控制器可擴(kuò)展性差,、控制流單一,、與數(shù)據(jù)流交互時(shí)間長等問題,本文提出了四層控制模型,,并設(shè)計(jì)了面向粗粒度密碼邏輯陣列的可編程控制網(wǎng)絡(luò),。用AES和A5-1算法在控制網(wǎng)絡(luò)上映射,對其進(jìn)行功能驗(yàn)證和性能分析,,結(jié)果表明,,可編程控制網(wǎng)絡(luò)不僅支持分組密碼算法控制流映射,還支持序列密碼算法控制流映射,,且面積小,、延時(shí)少,靈活性和擴(kuò)展性也很高,達(dá)到高效控制且開銷小的設(shè)計(jì)要求,,適用于任意互連結(jié)構(gòu)的粗粒度密碼邏輯陣列,。與3種主流陣列處理架構(gòu)進(jìn)行六方面的性能對比,發(fā)現(xiàn)基于可編程控制網(wǎng)絡(luò)的四層控制模型整體性能遠(yuǎn)超三層控制模型,。

參考文獻(xiàn)

[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] 陳韜,,羅興國,李校南,,等.一種基于流處理框架的可重構(gòu)分簇式分組密碼處理結(jié)構(gòu)模型[J].電子與信息學(xué)報(bào),,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] 孟濤,戴紫彬.分組密碼處理器的可重構(gòu)分簇式架構(gòu)[J].電子與信息學(xué)報(bào),,2009,,02:453-456.

[8] 王延升.粗粒度動(dòng)態(tài)可重構(gòu)處理器中的高能效關(guān)鍵配置技術(shù)研究[D].北京:清華大學(xué),2014.



作者信息:

劉  露1,,徐金甫1,,李  偉1,2,,楊宇航1

(1.解放軍信息工程大學(xué),,河南 鄭州450001,;2.復(fù)旦大學(xué) 專用集成電路與系統(tǒng)國家重點(diǎn)實(shí)驗(yàn)室,,上海201203)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。