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

基于流體系架構的分組密碼處理器設計

2017-12-16 05:19:16李功麗戴紫彬徐進輝王壽成朱玉飛
計算機研究與發展 2017年12期
關鍵詞:指令

李功麗 戴紫彬 徐進輝 王壽成 朱玉飛 馮 曉

1(解放軍信息工程大學 鄭州 450001) 2(河南師范大學計算機與信息工程學院 河南新鄉 453002)

基于流體系架構的分組密碼處理器設計

李功麗1,2戴紫彬1徐進輝1王壽成1朱玉飛1馮 曉1

1(解放軍信息工程大學 鄭州 450001)2(河南師范大學計算機與信息工程學院 河南新鄉 453002)

(lig1522@163.com)

為提升密碼處理器性能,構建了密碼處理器性能模型.基于該模型,提出多級資源共享、綁定前/后異或操作、最大化算法并行度等處理器性能提升技術,并根據性能提升技術確定了功能單元的種類和數量.然而功能單元不僅數量較多,而且在操作位寬和操作延遲方面均有較大差異,如何有效組織這些功能單元成為了一個關鍵問題.利用流體系結構可以高效集成大量功能單元的特點,設計并實現了基于流體系結構的可重構分組密碼處理器原型,并通過把功能單元劃分為基本處理單元,bank間共享單元和簇間共享單元3個層次來解決功能單元處理位寬和操作延遲的差異.在65 nm CMOS工藝下對處理器原型進行綜合,并在該結構上映射了典型的分組密碼算法.實驗結果證明:該處理器以較小的面積獲得了較高的性能,對典型分組密碼算法的處理速度,不僅超越了國際上的密碼專用指令處理器,而且高于國內可重構陣列結構密碼處理器.

分組密碼;流處理器;性能模型;可重構;密碼處理器

最近幾十年,信息安全已經逐步深入到政治、經濟、軍事以及人們日常生活的方方面面,并在上述領域發揮著越來越重要的作用.分組密碼是保證信息安全的有效措施.隨著信息安全需求的與日俱增,對分組密碼處理的要求也越來越高,吞吐率一直是密碼處理中首要考慮的性能指標.而隨著密碼應用場景的多樣化和復雜化,還要求密碼系統能夠靈活適應不同算法,以應對不斷發展的攻擊手段和密碼系統升級壓力,所以密碼系統的靈活性也變得越來越重要.上述這些要求都給密碼處理器的設計提出了新的挑戰.

可重構分組密碼處理器面向分組密碼處理進行優化,運算單元可重構使密碼處理具有了較高的靈活性[1].同時,通過重復設置大量的功能單元來提高性能,但是功能單元種類的選擇和功能單元數量的確定缺乏有效的理論分析作為基礎,所以在性能提升的同時,往往導致面積和功耗的急劇增加,這使得開發出來的密碼處理器因為面積和功耗的問題,在實際應用時受到諸多限制.本文以Amdahl定律[2]為基礎,結合分組密碼處理的特點,首先構建了密碼處理性能模型,然后通過該性能模型確定功能單元種類及數量,從而在有效提升密碼處理性能的同時,有效控制處理器的面積.

1 相關研究

國內外針對可重構分組密碼處理器的實現技術展開了一系列研究,主要可歸納為可重構分組密碼專用指令處理器結構和可重構分組密碼陣列處理器結構.

可重構分組密碼專用指令處理器的指令及運算單元面向密碼應用進行優化,運算單元可重構,具有數據處理位寬大、處理并行性高、控制簡單、開發便捷等優點.孟濤和戴紫彬[3]提出的可重構分簇分組式分組密碼處理架構(reconfigurable clustered block cipher processor, RCBCP),可靈活地重構為4個32 b,2個64 b和1個128 b的數據通路,設計并實現了5級流水線以及運算單元內流水結構.Gaspar等人[4]提出的密碼處理器HCrypt設計了分離的數據/密鑰路徑,集成了獨立的加密模塊和解密模塊.Li等人[5]基于VLIW指令結構開發了4路32 b并行結構來提高可重構密碼處理器的性能.相比于其他實現模式,專用指令處理器結構工作頻率較低、密碼處理性能有待進一步提升.

陣列結構可重構分組密碼處理系統設計了面向分組密碼的可重構運算單元,大幅提升了密碼處理的性能.楊曉輝等人[6]提出的可重構分組密碼處理模型(reconfigurable cipher processing architecture, RCPA),采用粗粒度可重構密碼單元,能夠在橫向和縱向上開發分組密碼并行特征.陳韜等人[7]提出了一種基于流處理架構的可重構分組密碼陣列結構(stream based reconfigurable clustered block cipher processing array, S -RCCPA),通過設計基于Crossbar的分級互連網絡連接多個粗粒度可重構的功能單元,構造了分簇式的密碼處理陣列.Sayilar和Chiou[8]提出的可重構密碼處理結構Cryptoraptor,通過集成80個基本重構單元實現了較高的性能.陣列結構的單元一般為同構結構,為確保處理單元能夠廣泛支持分組密碼操作,處理單元設計比較復雜,面積和功耗較大,存在資源利用率低、用戶開發困難等問題.

流處理器[9-10]作為近年來興起的一種高性能處理器,主要針對計算密集型應用,通過集成大量的功能單元提供豐富的計算能力,從而獲得了較高的性能.如Imagine流處理器在250 MHz下的峰值性能達到10GFLOPS,而Merrimac在1 GHz下的峰值性能達到128GFLOPS,且在實際應用中達到了117.3GFLOPS.流處理器以其對計算密集型應用所顯示出的強大性能優勢而成為了當前高性能計算領域的研究熱點.

分組密碼處理具有典型的計算密集性特征[11],是適合于流體系結構的應用.所以本文首先基于Amdahl定律構建了密碼處理器的性能模型,然后在該模型的指導下,確定了密碼處理單元的種類和數量,并基于流體系結構有效組織功能單元,設計了面向分組密碼的可重構密碼流處理器原型,最后通過綜合實驗驗證了該原型的性能及面積優勢.

2 基于Amdahl定律的密碼處理性能模型

(1)

從式(1)可以得出,當I≥i時,無論I如何增加,都無法再進一步減少執行時間.即通過設置更多的硬件資源所能提高的并行度受限于算法本身的并行性.

令tpi對應的指令條數為Npi,則并行加速后所需指令條數為

(2)

(3)

串行部分減少的指令條數為

).

(4)

通過對并行性部分的并行加速和串行部分的合并加速后,處理器完成密碼運算所需時間為

(5)

其中,CPI為執行一條指令的平均時鐘周期數,fclk為系統主頻(單位為MHz).此時,假設待處理的數據長度為L(單位為b),則吞吐率P為

(6)

從式(6)可知,為了提高系統的吞吐率P,可通過提高系統頻率fclk、減少指令的平均執行周期CPI、增加合并的串行指令數目Nd以及提供足夠的并行處理資源I這4種途徑提升密碼處理器性能.

3 密碼處理性能提升策略

下面將結合分組密碼結構特征及基本單元的運算特征,分別針對fclk,CPI,Nd,I這4個參數來討論密碼處理器性能提升策略.

3.1 fclk與CPI——多級資源共享機制

根據前面的分析可知,提高系統頻率fclk能夠顯著提升密碼處理器性能,而頻率取決于系統的關鍵路徑.

首先選取國際上典型的分組密碼算法作為樣本進行研究.算法包括數據加密標準DES、高級加密標準AES,ISO/IEC分組密碼標準(Camellia,MISTY1,CAST-128,TDEA,SEED)、歐洲NESSIE計劃的分組密碼、日本CRYPYTEC計劃的分組密碼、韓國標準ARIA以及行業標準IDEA,SMS4,CLEFIA,FOX,Skipjack等算法.選取的算法均有比較廣泛的應用,結構也具有一定的代表性,基本可以代表當前分組密碼的設計特點.

通過對所選21種算法的分解發現,首先分組密碼算法整體結構主要有FEISTEL,SP,L-M等,基于相同或相似結構的分組密碼具有相似的運算單元,涉及的操作類型有較大的交集,可歸納為S盒替代、移位、有限域乘法、模乘、模加/減、比特置換和基本邏輯等;其次操作的數據位寬集中于2類:

1) 32 b以內小位寬操作,特點是位寬小、并行度高;

2) 128 b以上大位寬操作,多是異或、置換和移位操作.

為了確定系統的關鍵路徑,對上述算法集合中使用的運算進行統計,并采用65 nm CMOS工藝標準單元庫,對8 b,16 b,32 b,64 b,128 b等不同操作位寬的基本密碼運算單元進行邏輯綜合,結果如表1所示.

由綜合結果可知,不同運算單元的延時差異較大,運算單元的選取將會直接影響系統頻率.

同時,影響系統性能的另一個因子——指令的平均執行周期CPI:

(7)

其中,CPIi,pi分別為第i類指令的執行周期數和使用頻率.由式(7)可知,指令的使用頻率對系統CPI有較大影響.假設系統使用頻率最高的是指令i,當pj?pi時,即使CPIj為多個時鐘周期,對CPI的影響也十分有限,所以選擇功能單元的目標是盡量減少使用頻率高的指令的執行周期,從而降低CPI.

Table 1 Synthesization Results of Cryptographic Units (Frequency & Area)表1 密碼運算單元綜合結果(頻率及面積)

根據上述分析,為使用頻率高的指令設置專用的功能單元,使指令可以在1周期或2周期內完成,而對于使用頻率較低的指令,綜合考慮其重構代價和組合延時由這些基本單元重構或組合實現.

通過表1可知,使用頻率高的8 b-8 b的S盒、8 b邏輯操作、32 b模加/減等延時都低于1 ns,不會影響處理器關鍵路徑.而使用頻率高的32 b有限域乘法、32 b模乘、128 b置換等單元的延時較大.集成這些大延時的單元會使系統頻率降為原來的1/2或1/3,若不集成這些單元,一旦算法中包括這類操作,往往需要幾個甚至十幾個操作才能組合完成,從而使算法性能急劇變差.所以綜合考慮系統頻率及CPI,根據單元延時設置這些大延時的單元為2周期或是3周期,從而避免大延時的單元降低系統頻率.

進一步考慮不同位寬單元的重構開銷,確定構成系統的運算單元包括8 b-8 b的S盒、8 b邏輯單元和模加/減單元,32 b的模乘單元和有限域乘法單元以及128 b的移位和比特置換單元.8 b的模加/減單元雖然使用頻率不高,但是通過設置進位鏈[12]可以并行實現16 b或32 b的模加/減操作,所以把8 b的模加/減單元作為基本運算單元.因為選擇的運算單元位寬變化較大,所以如何有效地組織這些單元,既能使各個單元有效配合,高效實現密碼算法,又能使單元之間的數據通路易于實現,是下一步要解決的關鍵問題.

首先選擇8 b-8 b的S盒替代、邏輯運算和模加/減構成一個可重構密碼處理bank(reconfigurable cipher processing bank, RCPB)作為系統的基本運算核心,RCPB的基本數據位寬為8 b.因為密碼操作中,以8 b和32 b操作居多,所以把4個RCPB組成一個可重構密碼簇(reconfigurable cipher processing cluster, RCPC).同一個簇中各RCPB的功能單元不是獨立的,它們可以重構或組合實現16 b或32 b的操作.

有限域乘法和模乘單元均為32 b,組成bank間共享單元(inter-bank-shared unit, BSU),一個BSU對應4個RCPB.128 b的移位和置換組成簇間共享單元(inter-cluster-shared unit, CSU),每個CSU對應4個簇,可以同時與4個簇進行數據交互.

通過把使用頻率高的指令用專用單元實現,使指令可以在1周期或2周期完成,從而有效降低CPI;把延時較長的指令設置為多周期,可以避免大延時單元降低系統頻率;然后根據單元的位寬和重構效率等,把8 b位寬的運算單元組織成基本運算核心,大位寬的單元由多個基本核心共享.這種小位寬的運算核心加大位寬的共享資源,既能夠讓多個小位寬單元并行執行,又可以減少大位寬運算單元的數量,從而在提升處理器性能的同時,提高資源利用率并減少處理器面積.

3.2 Nd——綁定前/后異或

異或操作是分組密碼中使用頻率最高的運算,而且異或操作的延時和面積都非常小,通過將異或操作與其他密碼操作組合實現復合操作,可以有效減少算法所需指令條數.以SMS4算法為例,在無綁定操作情況下,輪函數需使用13條指令,在支持指令綁定前/后異或的情況下,輪函數僅需使用7條指令,從而使指令條數減少了46.15%.通過對算法集合中的運算進行分析統計,異或運算綁定使用頻率如表2所示:

Table 2 Usage of Binding Xor Operation表2 綁定異或操作使用頻率

綁定有2種實現方式:

1) 利用執行過程中流水線的譯碼和寫回段延時較小,把異或操作綁定在寄存器取數和寫回段,這種方法不會影響系統的工作頻率,但是會產生嚴重的數據相關問題,特別是無法實現數據旁路,而在密碼運算中有大量的中間運算結果需要旁路,所以使用該方法會造成嚴重的流水線停頓;

2) 直接把密碼操作與異或綁定,但是這可能會影響系統的關鍵路徑,從而影響頻率.通過分析異或操作與其他操作的使用頻率及延時,選擇使用頻率高且對關鍵路徑不影響或是影響較小的操作進行綁定.根據表2的統計結果,確定綁定異或的功能單元有S盒前后綁定、邏輯后綁定、模加后綁定、移位后綁定.

上述4個操作綁定后,延時均未超過關鍵路徑.綁定異或操作前后,算法輪函數所需要的指令條數如表3所示:

Table 3 Number of Round Function Instruction Pre-bindingand Post-binding

Continued(Table 3)

Note:* has more than one round functions

在綁定異或操作后,95%以上的密碼算法輪函數所需要的指令條數均有所減少,平均減少了19.3%.但是也有算法在綁定后,指令條數并未減少,如IDEA.這是因為IDEA算法中的異或操作出現在延時較大的模乘操作之后,為了不影響關鍵路徑,未對模乘操作綁定異或.

3.3 I——算法并行度分析

通過多路并行執行能夠提升密碼算法實現性能.但是對于密碼算法來說,可實現的最大并行度受限于算法本身的并行性.基于3.1節所確定的運算單元,對算法集合中各算法的分組內最大并行度i進行分析,結果如表4所示:

Table 4 Max Parallelism in Block表4 分組內最大并行度

以AES算法為例,16個RCPB可以實現AES分組內最大并行.同時,在ECB模式下,這16個RCPB還可以實現多個分組的縱向流水執行.因為有限域乘法均需要2個周期,成為了流水線的瓶頸,所以把有限域乘法單元設置為2段流水,從而使AES算法在ECB模式下可以流水執行4個分組.

Fig. 1 AES mapping result圖1 AES算法映射圖

Fig. 3 General architecture of RCSP圖3 RCSP結構圖

而對于并行度小于16的密碼算法,在ECB模式下或是CBC模式下通過交錯技術[13],可以在多個RCPB上運行不同的分組,實現多個分組的橫向并行.例如SMS4算法,執行1個128 b的分組需要4個RCPB,16個8 b的數據在4個RCPB上的映射結果如圖2所示.如果使用全部16個RCPB,可以實現4個分組的并行執行.

多個RCPB既可以通過流水線技術實現多個分組的縱向并行,同時對于并行度小于16的算法,還可以實現多個分組的橫向并行.2個維度上的并行性開發可以大大提高密碼處理器的吞吐率以及資源利用率.

4 可重構分組密碼流處理器原型

為了提高系統的時鐘頻率和減少指令的平均執行周期,選擇使用頻率高的功能單元構成系統的運算部件,并根據其位寬分別組成基本運算核心RCPB和多級共享單元BSU及CSU;為了減少算法的指令條數,在不影響關鍵路徑的前提下綁定異或操作;通過對典型算法的并行性分析發現,設置16個RCPB時,可以最大限度地實現密碼算法的分組內并行.基于上述分析,以流處理器框架為基礎,設計了可重構密碼流處理器(reconfigurable cipher stream processor, RCSP),結構如圖3所示.

整個RCSP的結構分為控制層和運算層2個部分.控制層由流控制器和微控制器兩級控制組成.當需要執行密碼算法時,首先由流控制器加載算法指令和數據到RCSP中,指令存儲在指令存儲器中,指令存儲器的容量為512×128 b,數據通過IO接口送入到與每個功能單元直接相連的局部寄存器(local register file, LRF)中.指令執行時由微控制器讀取指令和譯碼,并把指令信息廣播到對應的功能單元.同時,微控制器還負責執行循環跳轉等控制指令.RCSP采用VLIW指令結構,所以它的控制部分相對簡單,從而可以把更多的片上面積用于運算部件.

RCSP的運算層由基本運算核心RCPB,bank間共享單元BSU和簇間共享單元CSU組成.處于不同層次中的功能單元之間的連接方式如圖4所示,其中白色表示的是RCPB內部的功能單元,淺灰色表示的是BSU單元,深灰色表示的是CSU單元.

Fig. 4 Architecture of operation layer圖4 運算層結構圖

為了實現各個功能單元之間的快速數據交換,通過交叉互聯開關把各個功能單元連接起來.每個功能單元在一個RCPB中都對應一個8 b位寬的結果輸出總線和若干個輸入寄存器.輸入寄存器中包括了綁定操作時前/后綁定的操作數.

從邏輯結構上看,因為BSU和CSU中的共享單元在每個RCPB內通過交叉互連網絡與RCPB內的功能單元連接,相當于共享單元在每個RCPB中均有一個8 b位寬的功能單元,是獨立屬于每個RCPB的,即每個RCPB中均有7個8 b位寬的功能單元,它們之間的數據交換通過交叉互連網絡在單周期內實現.RCPB與共享單元這種邏輯結構上相互獨立的設計,可以使密碼算法映射變得簡單.

因為密碼算法有大量的中間運算結果,需要頻繁進行中間結果的寫回與讀取操作,所以中間結果的寫回與讀取時間對系統的執行速度有較大影響.設置與每個功能單元直接相連的LRF保存中間結果,每次運算單元所需要的操作數都是直接從與它對應的LRF中取出,當操作完成,結果通過交叉互連網絡寫入下一個要使用該結果的功能單元所對應的LRF中.同時,LRF支持寫穿透[9].中間結果保存到寄存器的同時傳送給需要該結果的功能單元,避免因為數據寫后讀相關造成的流水線停頓.因為功能單元都是從自己對應的LRF中取操作數,相比于集中式的寄存器,這種分布式的結構可以有效減少操作延遲和寄存器面積.

密鑰寄存器(key scratch pad, KSP)設置為32×128 b,在每個bank中對應的位寬是8 b,即每個bank一次可以向KSP中讀/寫一個8 b的數據.

每個RCPB中都有一個共享存儲單元(shared memory unit, SMU),各個bank的SMU通過字節置換單元連接,實現單周期內多個RCPB之間的數據交換.

5 實驗及性能對比

使用Verilog語言對RCSP進行描述后,通過65 nm CMOS工藝標準單元庫及相應負載模型對設計的處理器原型進行邏輯綜合,綜合結果如表5所示.其中Slack為正值表示實際延遲時間滿足約束條件,且其值越大表示實際時鐘頻率可以綜合得更高;而Slack為負值表示實際延遲時間超過了約束條件,DC綜合工具已經無法再繼續優化.根據綜合結果,RCSP時鐘頻率最高可達826 MHz,為保證工作穩定性,將RCSP工作頻率確定為800 MHz.后文討論均為RCSP在800 MHz工作頻率下的運算性能.

Table 5 Result Based on ASIC Implementation表5 基于ASIC實現的結果

對選取的算法集合進行適配,結果表明RCSP可以高效處理SP結構、Feistel結構、LM結構的分組密碼算法.由于目前密碼處理器文獻中,一般僅列出AES,DES,IDEA的實現結果,考慮到MISTY結構算法具有一定代表性,增加了MISTY結構的代表算法KUSAMI.RCSP與其他密碼處理器性能對比情況如表6所示.其中,Cryptonite[14]、CCProc[15]、RCBCP[3]、文獻[5]和MCCP[16]為可重構密碼專用指令處理器;Celator[17],RCPA[6],S-RCCPA[7],Cryptorapto[8],RCPC[18]為陣列結構可重構密碼處理器.

Table 6 Performance Comparison with Other Cryptographic Processors表6 不同密碼處理器性能對比

根據綜合結果,RCSP以較小的面積代價獲得了較高的性能.RCSP對AES的實現性能在CBC和ECB模式下分別達到了2.63 Gbps和10.24 Gbps.而對于DES和IDEA,在CBC模式下吞吐率均為0.52 Gbps,在ECB模式下,通過縱向流水和橫向并行,吞吐率分別達到了1.7 Gbps和3.76 Gbps.通過性能對比發現,RCSP對密碼算法的實現性能明顯高于其他專用指令處理器,大大提升了可重構密碼處理器的實現性能.

與陣列結構的可重構密碼處理器比較,RCSP實現性能仍高于Celator,RCPA,S-RCCPA處理架構.由此可見,通過設置8 b的基本處理單元和多級共享單元、綁定前/后異或以及多維度開發并行化等性能提升策略,可重構分組密碼流處理器RCSP獲得了與當前陣列結構可重構密碼處理器相當的密碼處理性能.

考慮到資源消耗及單元使用頻率,RCSP中未設計大位寬查找表單元,對于9-9的S盒操作需使用多條指令組合實現.由于KASUMI結構使用了大量的9-9的S盒,RCSP對KASUMI算法實現性能較低.Cryptoraptor設計了10-32的查找表,對AES,DES,KASUMI的實現性能均高于RCSP,但Cryptoraptor結構未設計乘法單元,對使用范圍較廣的IDEA算法支持效果差,Cryptoraptor作者在性能對比中回避了IDEA算法,因此無法作出比較,同時Cryptoraptor資源消耗大約是RCSP的5倍(考慮到工藝差距),且Cryptoraptor是陣列結構,應用開發難度較大.

6 結束語

設計高效、靈活的可重構密碼處理器是信息安全領域的熱點研究課題.密碼專用指令處理器具有配置信息少、靈活便捷的優點,但處理性能不高,成為限制其進一步發展的主要因素.

針對上述問題,根據分組密碼算法特征,以提高分組密碼處理器性能為目標,構建了分組密碼處理器性能模型,并基于該模型研究密碼處理器性能提升技術.提出了通過提升系統工作頻率和減少指令平均周期的多級資源共享技術、提升單周期密碼操作數目的綁定前/后異或技術、開發分組密碼并行特征的并行處理技術.利用流處理器可以集成大量功能單元、控制結構簡單的特點,在性能提升技術的指導下,設計并實現了面向分組密碼的可重構密碼流處理器原型RCSP.在65 nm CMOS工藝下完成了RCSP的邏輯綜合,通過典型分組密碼算法的映射結果表明,RCSP的密碼實現性能均高于其他專用指令處理器,而且高于Celator,RCPA,S-RCCPA等陣列結構可重構密碼處理結構,具有很好的應用場景.

由于缺少大位寬S盒運算單元,RCSP對MSITY,KUSAMI等算法的實現性能較低,為提升密碼算法實現性能,下一步可考慮集成9-9的查找表.

[1]Compton K, Hauck S. Reconfigurable computing: A survey of systems and software[J]. ACM Computing Surveys, 2002, 34(2): 171-210

[2] Chen Shuming, Chen Shenggang, Yin Yaming. Revisiting Amdahl’s law in the hierarchical chip multicore processors[J]. Journal of Computer Research and Development, 2012, 49(1): 83-92 (in Chinese)(陳書明, 陳勝剛, 尹亞明. Amdahl定律在層次化片上多核處理器中的擴展[J]. 計算機研究與發展, 2012, 49(1): 83-92)

[3] Meng Tao, Dai Zibin. Reconfigurable clustered architecture of block cipher processor[J]. Journal of Electronics & Information Technology, 2009, 31(2): 453-456 (in Chinese)(孟濤, 戴紫彬. 分組密碼處理器的可重構分簇式架構[J]. 電子與信息學報, 2009, 31(2): 453-456)

[4] Gaspar L, Fisher V, Bernard F, et al. HCrypt: A novel concept of crypto-processor with secured key management[C] //Proc of Int Conf on Reconfigurable Computing and FPGAs(RECONFIG 2010). Piscataway, NJ: IEEE, 2010: 280-285

[5] 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

[6] Yang Xiaohui, Dai Zibin, Zhang Yongfu. Research and design of reconfigurable computing targeted at block cipher processing[J]. Journal of Computer Research and Development, 2009, 46(6): 962-967 (in Chinese)(楊曉輝, 戴紫彬, 張永福. 可重構分組密碼處理結構模型研究與設計[J]. 計算機研究與發展, 2009, 46(6): 962-967)

[7] Chen Tao, Luo Xingguo, Li Xiaonan, et al. An architecture of stream based reconfigurable clustered block cipher processing array[J]. Journal of Electronics & Information Technology, 2014, 36(12): 3027-3034 (in Chinese) (陳韜, 羅興國, 李校南, 等. 一種基于流處理框架的可重構分簇式分組密碼處理結構模型[J]. 電子與信息學報, 2014, 36(12): 3027-3034)

[8] Sayilar G, Chiou D. Cryptoraptor: High throughput reconfigurable cryptographic processor[C] //Proc of IEEE/ACM Int Conf on Computer-Aided Design (ICCAD 2014). Piscataway, NJ: IEEE, 2014: 155-161

[9] Rixner M. Stream Processor Architecture[M]. Amsterdam, Netherlands: Kluwer Academic Publishers, 2001

[10] Zhang Chunyuan, Wen Mei, Wu Nan, et al. Research and Design of Stream Processor[M]. Beijing: Publishing House of Electronics Industry, 2009 (in Chinese)(張春元, 文梅, 伍楠, 等. 流處理器研究與設計[M]. 北京: 電子工業出版社, 2009)

[11] Wang Yuliang. Research and design on coarse-grain reconfigurable architecture for cryptographic algorithms[D]. Zhengzhou: PLA Information Engineering University (in Chinese)(王玉良. 面向密碼算法的粗粒度可重構結構研究與設計[D]. 鄭州: 解放軍信息工程大學, 2010)

[12] Jarvinen K, Dimitrov V, Azarderakhsh R. A generalization of addition chains and fast inversions in binary fields[J]. IEEE Trans on Computers, 2015, 64(9): 2421-2432

[13] Desai A, Ankalgi K, Yamanur H, et al. Parallelization of AES algorithm for disk encryption using CBC and ICBC modes[C] //Proc of the 4th Int Conf on Computer Communication and Networking Technology. Piscataway, NJ: IEEE, 2013: 1-7

[14] Buchty R. Cryptonite —a programmable crypto processor architecture for high-bandwidth applications[D]. München, Bavaria, Germany: Technische University München, 2002

[15] Theodoropoulos D, Papaefstathiou I, Pnevmatikatos D N. CCproc: An efficient cryptographic coprocessor[C] //Proc of the 16th IFIP/IEEE Int Conf on Very Large Scale Integration (VLSI’08). Berlin: Springer, 2008: 160-163

[16] Bossuet L, Grand M, Gaspar L, et al. Architectures of flexible symmetric key crypto engines-a survey: From hardware coprocessor to multi-crypto-processor system on chip[J]. ACM Computing Surveys, 2013, 45(4): 115-123

[17] Fronte D, Perez A, Payrat E. Celator: A multi-algorithm cryptographic co-processor[C] //Proc of Int Conf on Reconfigurable Computing and FPGAs (RECONFIG’08). Piscataway, NJ: IEEE, 2008: 438-443

[18] Wang Bo, Liu Leibo. A flexible and energy-efficient reconfigurable architecture for symmetric chipper processing [C] //Proc of IEEE Int Symp on Circuits and Systems (ISCAS 2015). Piscataway, NJ: IEEE, 2015: 1182-1185

DesignofBlockCipherProcessorBasedonStreamArchitecture

Li Gongli1,2, Dai Zibin1, Xu Jinhui1, Wang Shoucheng1, Zhu Yufei1, and Feng Xiao1

1(PLAInformationEngineeringUniversity,Zhengzhou450001)2(CollegeofComputer&InformationEngineering,HenanNormalUniversity,Xinxiang,Henan453002)

To improve the performance of cipher processor, the performance model of cipher processor is proposed. And based on this model, three ways for enhancing cipher processor’s performance are presented, which are sharing multi-level resources, binding operations of pre-xor or post-xor and maximizing parallelism of block cipher algorithms. According to these improvement methods, the type and amount of cryptographic function units are determined. However, the function units are not only numerous but also different in operation data width and latency, so how to organize these function units efficiently becomes a key problem. The stream processor architecture can integrate a large number of function units to obtain high performance. Then, we design and implement a reconfigurable block cipher processor prototype which is based on stream processor architecture, and in order to organize the numerous function units effectively, the function units are divided into basic units, inter-bank-shared units and inter-cluster-shared units respectively according to their processing width. The prototype is synthesized in 65nm CMOS process and several typical block cipher algorithms are mapped on it. The evaluation results show that the processor prototype is area-efficient and its performance is not only beyond that of international application specific instruction cipher processors, but also higher than that of the domestic reconfigurable array processors.

block cipher; stream processor; performance model; reconfigurable; cipher processor

2016-08-31;

2016-12-09

國家自然科學基金項目(61404175)

This work was supported by the National Natural Science Foundation of China (61404175).

TP309.7

LiGongli, born in 1981. PhD candidate of the PLA Information Engineering University. Her main research interests include crypto-graphic arithmetic, computer architecture and high-performance cryptographic processor.

DaiZibin, born in 1966. Professor and PhD supervisor in the PLA Information Engineering University. His main research interests include cryptographic arithmetic, VLSI design of crypto-ICs, and SoC platform for security applications.

XuJinhui, born in 1978. PhD. His main research interests include reconfigurable computing, information security and SoC system design.

WangShoucheng, born in 1992. Master. His main research interests include reconfigurable computing and SoC system design.

ZhuYufei, born in 1990. Master. His main research interests include VLSI designs for security applications.

FengXiao, born in 1987. PhD. Her main research interests include high performance multi-core processor, design of SoC platform for security applications.

猜你喜歡
指令
聽我指令:大催眠術
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
巧用G10指令實現橢圓輪廓零件倒圓角
時代農機(2015年3期)2015-11-14 01:14:29
中斷與跳轉操作對指令串的影響
科技傳播(2015年20期)2015-03-25 08:20:30
基于匯編指令分布的惡意代碼檢測算法研究
一種基于滑窗的余度指令判別算法
歐盟修訂電氣及電子設備等產品安全規定
家電科技(2014年5期)2014-04-16 03:11:28
MAC指令推動制冷劑行業發展
汽車零部件(2014年2期)2014-03-11 17:46:27
主站蜘蛛池模板: 日韩中文欧美| 久久美女精品国产精品亚洲| 亚洲无线国产观看| 国产视频自拍一区| 亚洲成人精品在线| 中文字幕在线播放不卡| 亚洲毛片一级带毛片基地 | 真实国产乱子伦高清| 无码国内精品人妻少妇蜜桃视频 | 精品国产91爱| 国产美女精品一区二区| 欧美日韩国产综合视频在线观看| 欧美精品v欧洲精品| 国产av一码二码三码无码| 国产精品太粉嫩高中在线观看 | 91九色视频网| 国产福利影院在线观看| 国产一级精品毛片基地| 91蜜芽尤物福利在线观看| 亚洲成人动漫在线观看| 青青草原国产av福利网站| 91丝袜美腿高跟国产极品老师| 亚洲精品国产乱码不卡| 欧美一区福利| 亚洲高清无码久久久| 久久精品一品道久久精品| 伊人久久精品无码麻豆精品| 欧美A级V片在线观看| 伊在人亚洲香蕉精品播放| 午夜毛片免费观看视频 | 91精品日韩人妻无码久久| 国产精品久久国产精麻豆99网站| 国产av剧情无码精品色午夜| 精品国产免费人成在线观看| 深爱婷婷激情网| 欧美影院久久| 欧美α片免费观看| 欧美成人免费午夜全| 成人中文字幕在线| 凹凸精品免费精品视频| 精品无码一区二区三区在线视频| 日韩免费视频播播| 亚洲精品国产综合99久久夜夜嗨| 亚洲精品福利视频| 国产无码精品在线播放 | 中文字幕资源站| 国产在线观看一区精品| 91亚洲免费视频| 四虎永久免费地址| 色婷婷亚洲综合五月| 国产福利一区二区在线观看| 久久夜夜视频| 亚洲综合精品香蕉久久网| 亚洲男人天堂久久| 国产在线观看精品| 久久不卡精品| 青青草国产精品久久久久| 中文字幕精品一区二区三区视频| 中文字幕欧美日韩高清| 精品国产免费第一区二区三区日韩| 久久这里只精品国产99热8| 亚洲AV无码精品无码久久蜜桃| 黄色网在线| 国产精品男人的天堂| 日韩精品无码免费一区二区三区| 天天色天天操综合网| 国产精品色婷婷在线观看| 亚洲日本一本dvd高清| 亚洲自偷自拍另类小说| 亚洲精品片911| 超碰91免费人妻| 日韩一级二级三级| 99热亚洲精品6码| 亚洲无码免费黄色网址| 免费毛片在线| www.91在线播放| 无码中文字幕加勒比高清| 色婷婷电影网| 国产综合网站| 一级毛片在线直接观看| 国产a网站| 欧美专区日韩专区|