陳 韜 羅興國(guó) 李校南 李 偉
?
一種基于流處理框架的可重構(gòu)分簇式分組密碼處理結(jié)構(gòu)模型
陳 韜*羅興國(guó) 李校南 李 偉
(解放軍信息工程大學(xué) 鄭州 450001)

分組密碼;可重構(gòu);陣列結(jié)構(gòu);分級(jí)互連;流處理


可重構(gòu)密碼處理架構(gòu)S-RCCPA的整體結(jié)構(gòu)如圖1(a)所示,其核心是分組密碼可重構(gòu)分簇式處理陣列,其他組成部分包括完成輸入、輸出流控制的流控制器、完成RCCPA陣列控制的微內(nèi)核控制器與主機(jī)接口、基于NoC的可擴(kuò)展數(shù)據(jù)網(wǎng)絡(luò)接口等。
可重構(gòu)分簇式處理陣列作為S-RCCPA的核心模塊,由可重構(gòu)密碼處理塊(Reconfigurable Cipher processing Block, RCB)、可配置互連模塊(Reconfiguration inter-Connection Module, RCM)、存儲(chǔ)模塊(Memory Access Module, MAM)和配置模塊(Configuration Module, CM)等部分共同構(gòu)成;結(jié)構(gòu)類(lèi)似二維陣列,在橫向和縱向上組織RCB,同一行上的各RCB可以并行執(zhí)行,但同一行上的RCB之間除控制連接外,沒(méi)有數(shù)據(jù)交互通路;在列方向上支持流水線操作,第行的RCB()通過(guò)RCM()將運(yùn)算結(jié)果傳送到第+1行的RCB()中,最后一行RCB()的運(yùn)算輸出可以反饋到第1行RCB()的輸入上。
S-RCCPA核心架構(gòu)采用層次化方式組織其處理單元,以降低互連網(wǎng)絡(luò)和處理單元的設(shè)計(jì)復(fù)雜性,如圖1(b)所示,每個(gè)RCB包含4個(gè)可重構(gòu)密碼處理簇(Reconfigurable Cipher processing Cluster, RCC);每個(gè)RCC包含針對(duì)分組密碼設(shè)計(jì)的9個(gè)32 bit可重構(gòu)密碼處理單元(Reconfigurable Cipher processing Unit, RCU),各RCU在RCC中的組織形式如圖1(c)所示,其中32 bit的RCU共7種:S盒替代、移位、GF(2)上的矩陣乘法、算術(shù)乘法、算術(shù)模加/減、三輸入邏輯運(yùn)算、二輸入邏輯等單元,另外針對(duì)分組密碼運(yùn)算中出現(xiàn)的128 bit移位和置換操作,專(zhuān)門(mén)設(shè)置了兩個(gè)128 bit位寬的比特置換和基于比特置換的長(zhǎng)移位單元;4個(gè)RCC組成的RCB可以完成128 bit的密碼操作,S-RCCPA架構(gòu)中同一行的多個(gè)RCB可以并行處理多個(gè)密碼分組;對(duì)于128 bit的置換和移位單元,將其輸入、輸出分成4組32 bit信號(hào)接入到相鄰4個(gè)RCC(同一RCB所包含的4個(gè)RCC)對(duì)應(yīng)的互連網(wǎng)絡(luò)上,使兩個(gè)單元在邏輯上為同一RCB的4個(gè)RCC所共有。
S-RCCPA架構(gòu)采用靜態(tài)與動(dòng)態(tài)相結(jié)合的配置方式,配置模塊CM用于完成S-RCCPA架構(gòu)的靜態(tài)配置與動(dòng)態(tài)控制。S-RCCPA架構(gòu)中RCU的功能配置采用靜態(tài)重構(gòu)的方式完成,如:S盒替代、比特置換、有限域乘法等單元的功能配置,均采用靜態(tài)重構(gòu)在S-RCCPA架構(gòu)執(zhí)行密碼處理任務(wù)前完成。動(dòng)態(tài)重構(gòu)采用基于多重上下文的配置機(jī)制實(shí)現(xiàn),主要完成S-RCCPA架構(gòu)中互連網(wǎng)絡(luò)、RCU功能選擇以及數(shù)據(jù)輸入輸出的控制。靈活的配置方式使S-RCCPA架構(gòu)能夠?qū)崟r(shí)組織密碼處理路徑、以虛擬流水線的方式完成密碼處理任務(wù)。
S-RCCPA架構(gòu)中的RCB可以滿(mǎn)足一個(gè)或多個(gè)分組的處理需求,RCB中的每個(gè)RCC可以滿(mǎn)足大多數(shù)分組密碼中單個(gè)子塊的處理需求,因此S-RCCPA架構(gòu)中只有同一列的相鄰兩個(gè)RCB之間,可以通過(guò)RCM進(jìn)行數(shù)據(jù)交互,不同列的RCB之間不存在數(shù)據(jù)交互通路。結(jié)合分組密碼子塊間數(shù)據(jù)交互少、子塊內(nèi)密碼操作前后連接關(guān)系復(fù)雜多變的特點(diǎn),設(shè)計(jì)了基于Crossbar的分級(jí)可配置互連結(jié)構(gòu)。

第+1行RCB()的RCC()中各RCU的數(shù)據(jù)來(lái)源分為3類(lèi):第行RCB()的RCC()內(nèi)各RCU的運(yùn)算結(jié)果,由于每個(gè)RCC中包含9種類(lèi)型的RCU,該類(lèi)型的輸入共有9個(gè);第行RCB()的RCC()通過(guò)Level-2輸入的運(yùn)算結(jié)果,該類(lèi)型的輸入共有6個(gè);輸入數(shù)據(jù),主要指從第+1行數(shù)據(jù)存儲(chǔ)器中讀取的數(shù)據(jù)。為方便RCC的處理結(jié)果輸出到數(shù)據(jù)存儲(chǔ)器、子密鑰存儲(chǔ)器或輸出緩沖器中,Level-1互連結(jié)構(gòu)專(zhuān)門(mén)設(shè)計(jì)了數(shù)據(jù)輸出端口,其數(shù)據(jù)來(lái)源與各RCU的數(shù)據(jù)來(lái)源相同,眾多的數(shù)據(jù)來(lái)源保證了運(yùn)算結(jié)果輸出的靈活性。尤其是在子密鑰生成過(guò)程中,上述輸出結(jié)構(gòu)可以實(shí)現(xiàn)外部輸入的密碼常數(shù)、上級(jí)RCC的運(yùn)算結(jié)果、上級(jí)其它RCC的處理結(jié)果,靈活寫(xiě)入到當(dāng)前RCC所對(duì)應(yīng)的子密鑰存儲(chǔ)器中,提高了子密鑰數(shù)據(jù)的使用靈活性。Level-1的全Crossbar互連結(jié)構(gòu),適應(yīng)了分組密碼子塊內(nèi)密碼操作前后連接關(guān)系復(fù)雜多變的特性,滿(mǎn)足了密碼處理靈活性的需求。

圖1 S-RCCPA整體結(jié)構(gòu)

圖2 Level-1的互連結(jié)構(gòu)

每個(gè)RCC均采用圖3所示的結(jié)構(gòu)將結(jié)果輸出到下級(jí)其它RCC中,為保證下一行RCC運(yùn)行時(shí)的時(shí)序匹配,接入到下級(jí)其它RCC中的輸出數(shù)據(jù)不再進(jìn)行寄存。Level-2部分Crossbar互連結(jié)構(gòu),適應(yīng)了分組密碼子塊間數(shù)據(jù)交互較少的特性,為子塊間進(jìn)行數(shù)據(jù)通信提供了一定的交互帶寬,使每列的RCB能夠通過(guò)子塊間的數(shù)據(jù)交互,靈活組織成1個(gè)128 bit, 2個(gè)64 bit或4個(gè)32 bit的流水線。
為方便臨時(shí)數(shù)據(jù)和子密鑰數(shù)據(jù)的靈活存取,針對(duì)S-RCCPA架構(gòu)特點(diǎn),設(shè)計(jì)了分布式的存儲(chǔ)結(jié)構(gòu),其整體結(jié)構(gòu)如圖4所示。S-RCCPA架構(gòu)為每個(gè)RCB設(shè)置了4個(gè)數(shù)據(jù)存儲(chǔ)器和4個(gè)密鑰存儲(chǔ)器,分別對(duì)應(yīng)RCB模塊中的4個(gè)RCC,每個(gè)數(shù)據(jù)存儲(chǔ)器和子密鑰存儲(chǔ)器均包含1個(gè)讀端口和1個(gè)寫(xiě)端口。如圖4(a)所示,第行RCB()中的各RCC可以通過(guò)Level-1總線中為各RCC設(shè)置的輸入數(shù)據(jù)端口,直接讀取對(duì)應(yīng)數(shù)據(jù)存儲(chǔ)器的內(nèi)容。通過(guò)Level-2的總線可實(shí)現(xiàn)RCC對(duì)其它數(shù)據(jù)存儲(chǔ)器的間接讀取。4個(gè)密鑰存儲(chǔ)器KDM-A(Key Data Memory A), KDM-B, KDM-C以及KDM-D,分別將密鑰輸出端口接入到RCC(1), RCC(2), RCC(3), RCC(4)中各RCU的密鑰輸入端口上,實(shí)現(xiàn)了RCC從對(duì)應(yīng)子密鑰存儲(chǔ)器中讀取子密鑰數(shù)據(jù)。

圖3 Level-2的互連結(jié)構(gòu)

圖4 分離-分布式存儲(chǔ)器結(jié)構(gòu)

分組密碼具有深度流水特性,非常適合流水執(zhí)行,可以使用單向流水結(jié)構(gòu)加速密碼處理。S-RCCPA架構(gòu)具有靈活的互連結(jié)構(gòu)、豐富的密碼運(yùn)算資源,可以充分開(kāi)發(fā)分組密碼的流水特性。
通過(guò)配置RCM可以使同一列的RCB組成密碼處理流水線,加速分組密碼任務(wù)的處理。分組密碼存在分組間以及分組內(nèi)兩個(gè)方面的并行性,S-RCCPA架構(gòu)可以充分開(kāi)發(fā)分組密碼兩個(gè)方面的并行性,S-RCCPA架構(gòu)中的RCB可以并行處理同一分組間的多個(gè)子塊,同一行上的多個(gè)RCB可以并行處理多個(gè)密碼分組。
對(duì)于分組長(zhǎng)度為128 bit,需要4個(gè)RCC同時(shí)參與運(yùn)算的分組密碼算法,如:AES, Twofish, SMS4等算法,規(guī)模為×1的S-RCCPA架構(gòu)可以將同一列上的RCB組織成1個(gè)128 bit的流水線,完成密碼分組的處理如圖5所示,4個(gè)RCC中的RCU在橫向上可以完成1個(gè)128 bit的密碼操作,最后一行RCB的處理結(jié)果可以反饋到第1行的RCB中。由于每列相鄰兩個(gè)RCB之間采用基于Crossbar的分級(jí)互連結(jié)構(gòu),提供了較大的互連帶寬,雖然只包含行的互連結(jié)構(gòu)和行的處理單元,但是可以提供遠(yuǎn)大于2級(jí)的流水線深度。只要RCB的同一RCC中用于密碼處理的RCU不存在沖突、RCM滿(mǎn)足帶寬需求,同一時(shí)刻可以有多個(gè)RCU進(jìn)行密碼運(yùn)算。理想情況下,當(dāng)分組密碼輪函數(shù)的步操作均使用不同的RCU時(shí),每個(gè)RCC中個(gè)不同類(lèi)型的RCU可以同時(shí)工作,結(jié)構(gòu)的資源利用率和流水深度得到有效提高。
對(duì)于分組長(zhǎng)度為64 bit,需要2個(gè)RCC同時(shí)參與運(yùn)算的分組密碼算法,如:DES, Skipiack, SAFER, LOKI91等算法,規(guī)模為×1的S-RCCPA架構(gòu)可以將同一列RCB中的RCC組成2個(gè)64 bit的流水線并行處理;類(lèi)似地,對(duì)于只需要1個(gè)RCC參與運(yùn)算的分組密碼算法,如GOST算法,規(guī)模為×1的S-RCCPA架構(gòu)可以將同一列RCB中的RCC組成4個(gè)32 bit位寬的密碼處理流水線,用于處理相同或不同的密碼算法;對(duì)于規(guī)模為×的S-RCCPA架構(gòu),其流水線的組織形式更加靈活,可以同時(shí)組織成若干條128 bit位寬,64 bit位寬以及32 bit位寬的流水線,同樣即使組織成相同位寬的流水線,流水線完成的密碼任務(wù)也可以不同。這種靈活的流水線處理結(jié)構(gòu),使S-RCCPA架構(gòu)能夠同時(shí)完成多個(gè)相同或不同分組密碼的處理。

圖5 S-RCCPA架構(gòu)128 bit位寬的流水處理結(jié)構(gòu)
若S-RCCPA架構(gòu)規(guī)模不能支持以流水方式實(shí)現(xiàn)一個(gè)輪函數(shù)或分組密碼時(shí),需要將復(fù)雜輪函數(shù)或密碼算法分多次映射到S-RCCPA架構(gòu)上,從而影響S-RCCPA架構(gòu)的處理性能[11]。為減小或隱藏多次映射帶來(lái)的配置時(shí)間消耗,本文采用動(dòng)態(tài)配置信息自動(dòng)切換的方式,在有限的硬件資源上實(shí)現(xiàn)多級(jí)流水,通過(guò)將配置消耗隱藏于執(zhí)行過(guò)程中,以充分發(fā)揮流水線性能。
為簡(jiǎn)化動(dòng)態(tài)配置的復(fù)雜度,針對(duì)每個(gè)RCB及其對(duì)應(yīng)的RCM, MAM設(shè)計(jì)了動(dòng)態(tài)配置信息存儲(chǔ)器,如圖6所示。系統(tǒng)工作時(shí)在微內(nèi)核控制器的作用下,配置模塊CM為每個(gè)RCB選擇正確的配置上下文,并進(jìn)行動(dòng)態(tài)配置信息的譯碼、緩存,將譯碼生成的控制信息輸入到S-RCCPA架構(gòu)每個(gè)處理單元和互連單元的控制端上。每個(gè)上下文的有效時(shí)間為一個(gè)時(shí)鐘周期,CM將上下文信息依次從配置信息存儲(chǔ)器中讀取、譯碼、激活,實(shí)現(xiàn)了處理單元執(zhí)行密碼運(yùn)算的同時(shí),完成動(dòng)態(tài)配置信息的自動(dòng)切換。
動(dòng)態(tài)配置信息的自動(dòng)切換實(shí)現(xiàn)了S-RCCPA架構(gòu)計(jì)算過(guò)程的流水化,通過(guò)自動(dòng)切換不同的配置上下文,實(shí)現(xiàn)了S-RCCPA架構(gòu)處理資源的流水線分級(jí)和管理,進(jìn)而實(shí)現(xiàn)了分組密碼處理任務(wù)在S-RCCPA架構(gòu)中的流水化計(jì)算,通過(guò)在有限的處理資源上“虛擬”出無(wú)限硬件資源,有效支持了復(fù)雜分組密碼處理任務(wù),提高了硬件資源的利用率。圖7描述了S-RCCPA架構(gòu)以4級(jí)流水線執(zhí)行多級(jí)密碼處理任務(wù)的操作情況。通過(guò)配置信息的自動(dòng)切換,可以使S-RCCPA架構(gòu)以4級(jí)流水線虛擬執(zhí)行具有多級(jí)流水的密碼處理任務(wù),提高了S-RCCPA架構(gòu)的適應(yīng)性和單元利用率。

圖6 S-RCCPA架構(gòu)配置信息的自動(dòng)切換

圖7 S-RCCPA架構(gòu)4級(jí)虛擬流水處理結(jié)構(gòu)
本文在Stratix III系列型EP3SL340H1152C3的FPGA上實(shí)現(xiàn)了1×1規(guī)模的S-RCCPA架構(gòu),實(shí)現(xiàn)性能如表1所示。


表1 基于FPGA的驗(yàn)證原型實(shí)現(xiàn)性能

表2基于ASIC的驗(yàn)證原型實(shí)現(xiàn)性能
對(duì)以AES, DES, IDEA, SHA, MD5為代表的40多種公開(kāi)密碼算法[12]的適配結(jié)果表明,S-RCCPA架構(gòu)可以高效處理構(gòu)造分組密碼的SP網(wǎng)絡(luò)、Feistel網(wǎng)絡(luò)及LM網(wǎng)絡(luò)模型。典型的AES算法虛擬流水適配流程如圖8所示。

圖8 AES在4×1的S-RCCPA架構(gòu)上的映射
AES-128算法由3部分組成:初始輪密鑰加、中間輪變換、末尾輪變換。其中,中間輪變換包括:字節(jié)代替、行移位、列混合和密鑰加4個(gè)步驟,共需要循環(huán)迭代9次;末尾輪變換包含:字節(jié)代替、行移位和密鑰加3個(gè)處理步驟。由于S-RCCPA架構(gòu)中每個(gè)RCB在橫向上可以完成128 bit的密碼操作,因此每行中個(gè)RCB可以并行處理個(gè)AES-128算法。AES算法映射時(shí),輪運(yùn)算中4個(gè)32 bit的字節(jié)代替操作可使用4個(gè)S盒替代單元實(shí)現(xiàn),128 bit行移位通過(guò)128 bit的置換單元實(shí)現(xiàn),4個(gè)32 bit的列混合和密鑰加操作使用4個(gè)RCC中帶后異或的GF(2)上矩陣乘法單元實(shí)現(xiàn),S-RCCPA架構(gòu)以虛擬流水方式處理AES算法時(shí),每個(gè)RCC中可以有3個(gè)RCU同時(shí)工作,由于RCU和RCM均包含一級(jí)寄存器,因此可以形成深度為24的虛擬流水線,即4×1的S-RCCPA架構(gòu)上能夠以流水方式處理24個(gè)AES密碼分組。
DES算法在規(guī)模為4×1的S-RCCPA架構(gòu)上的映射如圖9所示。S-RCCPA架構(gòu)通過(guò)將DES算法處理過(guò)程流水化,依次映射到S-RCCPA架構(gòu)各行的RCB上,考慮到DES算法的輪變換雖然只對(duì)右半部分32 bit數(shù)據(jù)進(jìn)行操作,但每輪變換中有多個(gè)48 bit的運(yùn)算,共需要2個(gè)RCC并行處理,1個(gè)RCB可以在橫向上同時(shí)處理2個(gè)DES分組,因此,4×1的S-RCCPA架構(gòu)可以組成兩條64 bit位寬的流水線,分別以虛擬流水線的方式完成DES算法的處理。
為了能夠在每條流水線中處理更多的DES分組,將初始置換后的數(shù)據(jù)暫停了一級(jí)(通過(guò)將數(shù)據(jù)與“0”異或?qū)崿F(xiàn)處理暫停),同時(shí)不再將異或操作合并在置換單元中。在流水線1中DES算法的64-64的初始IP置換、末尾IP逆置換以及輪運(yùn)算中32-48的E盒擴(kuò)展等操作使用RCC(1), RCC(2)中的比特置換單元完成,輪運(yùn)算中48 bit的密鑰加操作使用RCC(1), RCC(2)的二輸入邏輯完成,查找表、P盒置換、異或等操作分別使用RCC(1)中的S盒查找表、置換以及二輸入邏輯完成。S-RCCPA架構(gòu)的RCC中可以有2個(gè)RCU同時(shí)工作,由于RCU和RCM均包含一級(jí)寄存器,因此每條虛擬流水線的深度為16,即4×1的S-RCCPA架構(gòu)中每條流水線能夠流水處理16個(gè)DES密碼分組,2條流水線可以同時(shí)處理32個(gè)分組。
基于待處理數(shù)據(jù)、子密鑰分量均已準(zhǔn)備好,且不考慮系統(tǒng)配置、數(shù)據(jù)輸入/輸出、密鑰擴(kuò)展等時(shí)間消耗的這一常用假定,在1×1規(guī)模配置下,將典型的AES, DES, IDEA這3種不同結(jié)構(gòu)、不同分組寬度、不同操作位寬的算法在S-RCCPA架構(gòu)上進(jìn)行映射實(shí)現(xiàn),與其它幾種專(zhuān)用密碼處理結(jié)構(gòu)的實(shí)現(xiàn)性能進(jìn)行了比較分析,結(jié)果如圖10所示。其中,RCBCP[2]是一款可重構(gòu)分組密碼處理器;SophSEC[3]是復(fù)旦大學(xué)設(shè)計(jì)的可擴(kuò)展的密碼處理結(jié)構(gòu);RCPA[9], RHCA[10]是陣列結(jié)構(gòu)可重構(gòu)密碼處理系統(tǒng)的代表;PipeRench[11]是基于線性陣列結(jié)構(gòu)部分動(dòng)態(tài)可重構(gòu)系統(tǒng);Crypto-Maniac[13]采用了一種具有4路并行的VLIW處理器結(jié)構(gòu);COBRA[14]是一款專(zhuān)用可重構(gòu)分組密碼處理器;RELOG_DIGG[15]是北京科技大學(xué)研制的可重組密碼邏輯;Cryptonite[16]采用一種兩路并行的RISC結(jié)構(gòu),每一路RISC處理器能夠處理64 bit位寬數(shù)據(jù)。

圖9 DES在4×1的S-RCCPA架構(gòu)上的映射

圖10 不同架構(gòu)上的典型算法實(shí)現(xiàn)性能對(duì)比
從不同架構(gòu)上典型算法的性能橫向?qū)Ρ葓D可以看出:由于AES算法采用SP模型設(shè)計(jì),規(guī)模為1×1的S-RCCPA架構(gòu)能夠以深度為6的虛擬流水線處理AES算法,AES的密碼處理性能可達(dá)其它架構(gòu)的3.3~12.2倍;DES算法采用Feistel模型設(shè)計(jì),迭代輪數(shù)較多,且輪運(yùn)算中連續(xù)使用置換操作,因此S-RCCPA架構(gòu)處理DES算法的性能較AES低,在1×1規(guī)模下可以配置成2條深度為4的虛擬流水線執(zhí)行,相較其他結(jié)構(gòu),DES的處理性能提升約為1.32~11.96倍;IDEA算法采用LM模型設(shè)計(jì),輪運(yùn)算中廣泛使用異或、模216加和模216+1乘等運(yùn)算,迭代輪數(shù)較少,規(guī)模為1×1的S-RCCPA架構(gòu)能夠組成一條128 bit位寬、深度為6的虛擬流水線,可以同時(shí)處理12個(gè)IDEA分組,性能是其它處理架構(gòu)的2.8~21倍。
若使用×1規(guī)模的多簇結(jié)構(gòu)實(shí)現(xiàn)S-RCCPA架構(gòu),基于流處理的框架模型可以高效地將多組明文在流控制器的控制下,流入S-RCCPA陣列結(jié)構(gòu),通過(guò)集約的配置文件管理,在不增加1×1規(guī)模S-RCCPA結(jié)構(gòu)配置信息的情況下,AES, DES, IDEA這3類(lèi)密碼算法的實(shí)現(xiàn)性能可線性提高到1×1規(guī)模S-RCCPA結(jié)構(gòu)性能的倍,具體如表3所示,表中表示S-RCCPA架構(gòu)可同時(shí)處理的分組數(shù),表示分組長(zhǎng)度,CP表示系統(tǒng)處理個(gè)分組所需要的時(shí)鐘周期數(shù)。

表3 n×1規(guī)模S-RCCPA架構(gòu)的ASIC原型性能
在典型的4×1規(guī)模配置的情況下,S-RCCPA架構(gòu)的ASIC實(shí)現(xiàn)的等效門(mén)數(shù)為414.97萬(wàn)門(mén),較1×1規(guī)模配置的面積增加約2.13倍,具有良好的資源效率和可擴(kuò)展性。
本文在流處理框架模型下,基于分級(jí)的全互連結(jié)構(gòu)構(gòu)造了一種粗粒度可重構(gòu)的分組密碼處理陣列結(jié)構(gòu)模型,可動(dòng)態(tài)改變粗粒度可重構(gòu)分組密碼處理單元的互連關(guān)系,通過(guò)分布式的存儲(chǔ)結(jié)構(gòu)、靜態(tài)與動(dòng)態(tài)配置方式的配合,能夠以虛擬流水的方式開(kāi)發(fā)可重構(gòu)陣列的橫向與縱向兩個(gè)方向的并行性,相較于其它結(jié)構(gòu),在同樣的資源情況下大幅提升了分組密碼處理性能。對(duì)于AES, DES, IDEA等經(jīng)典分組密碼算法的適配結(jié)果表明,即使規(guī)模設(shè)定為1×1, S-RCCPA架構(gòu)的處理性能也可達(dá)其它典型架構(gòu)的1.32~21倍,具有密碼算法結(jié)構(gòu)適應(yīng)性好,密碼處理性能和單元利用率高,結(jié)構(gòu)可擴(kuò)展能力強(qiáng)的特點(diǎn)。論文存在的主要不足在于控制的復(fù)雜度較高,虛擬流水線的加入使得同時(shí)參與運(yùn)算的數(shù)據(jù)量極大增長(zhǎng),在帶來(lái)單元利用率增加的同時(shí),使得結(jié)構(gòu)控制的復(fù)雜度也相應(yīng)增加;下一步,擬考慮將分簇式多核密碼處理結(jié)構(gòu)與本模型進(jìn)行有機(jī)融合,進(jìn)一步在密碼處理的資源效率、控制效率、配置效率與互連結(jié)構(gòu)效率上尋求應(yīng)用上的綜合平衡。
[1] 李可長(zhǎng). 基于FPGA可重構(gòu)快速密碼芯片設(shè)計(jì)[J]. 計(jì)算機(jī)測(cè)量與控制, 2011, 19(7): 1665-1667.
Li Ke-chang. Design of fast reconfigurable cipher chip based on FPGA[J].&, 2011, 19(7): 1665-1667.
[2] 孟濤, 戴紫彬. 分組密碼處理器的可重構(gòu)分簇式架構(gòu)[J]. 電子與信息學(xué)報(bào), 2009, 31(2): 453-456.
Meng Tao and Dai Zi-bin. Reconfigurable clustered architecture of block cipher processor[J].&, 2009, 31(2): 453-456.
[3] Huang Wei, Han Jun, and Wang Shuai. A low-complexity heterogeneous multi-core platform for security SoC[C]. IEEE Asian Solid-State Circuits Conference, Beijing, 2010: 1-4.
[4] 宋奐寰, 王樹(shù)宗, 邵利兵. 基于可重構(gòu)計(jì)算技術(shù)的ASIP設(shè)計(jì)與實(shí)現(xiàn)[J]. 艦船科學(xué)技術(shù), 2012, 34(5): 78-82.
Song Huan-huan, Wang Shu-zong, and Shao Li-bing. Design and realize for ASIP based on reconfigurable computing[J]., 2012, 34(5): 78-82.
[5] 何乃味. 基于模塊劃分的可重構(gòu)分組密碼芯片設(shè)計(jì)[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2012, 33(12): 4536-4540.
He Nai-wei. Design of block cipher algorithm chip based on module division[J]., 2012, 33(12): 4536-4540.
[6] 何乃味. 分組密碼算法的可重構(gòu)設(shè)計(jì)模型與結(jié)構(gòu)分析[J]. 河池學(xué)院學(xué)報(bào), 2012, 32(5): 98-103.
He Nai-wei. Reconstructure design model and structure analysis for block cipher algorithm[J]., 2012, 32(5): 98-103.
[7] 朱敏, 劉雷波, 尹首一. 面向?qū)ΨQ(chēng)密碼領(lǐng)域的可重構(gòu)陣列設(shè)計(jì)[J]. 微電子學(xué), 2012, 42(6): 815-818.
Zhu Min, Liu Lei-bo, and Yin Shou-yi. Design of reconfigurable architecture for symmetric cipher domain[J]., 2012, 42(6): 815-818.
[8] 李可長(zhǎng). 粒度可配置的密碼算法重構(gòu)單元設(shè)計(jì)[J]. 計(jì)算機(jī)測(cè)量與控制, 2012, 20(3): 830-835.
Li Ke-chang. Design of reconstructure cells for cryptographic algorithm with configurable granularity[J].&, 2012, 20(3): 830-835.
[9] 楊曉輝, 戴紫彬, 張永福. 可重構(gòu)分組密碼處理結(jié)構(gòu)模型研究與設(shè)計(jì)[J]. 計(jì)算機(jī)研究與發(fā)展, 2009, 46(6): 962-967.
Yang Xiao-hui, Dai Zi-bin, and Zhang Yong-fu. Research and design of reconfigurable computing targeted at block cipher processing[J]., 2009, 46(6): 962-967.
[10] 姜晶菲. 可重構(gòu)密碼處理結(jié)構(gòu)的研究與設(shè)計(jì)[D]. [博士論文], 國(guó)防科學(xué)技術(shù)大學(xué), 2004.
Jiang Jing-fei. The research and design of reconfigurable cipher processing architecture[D]. [Ph.D. dissertation], National University of Defense Technology, 2004.
[11] Goldstein S C, Schmit H, and Moe M. PipeRench: a coprocessor for streaming multimedia acceleration[J]., 1999, 27(2): 28-39.
[12] 戴紫彬. 面向分組密碼處理的協(xié)處理器體系結(jié)構(gòu)研究與設(shè)計(jì)實(shí)現(xiàn)[D]. [博士論文], 解放軍信息工程大學(xué), 2007.
Dai Zi-bin. The research and implementation of the coprocessor architecture for block cipher[D]. [Ph.D. dissertation], PLA Information Engineering University, 2007.
[13] Wu L, Weaver C, and Austin T. Cryptomaniac: a fast flexible architecture for secure communication[C]. The 28th Annual International Symposium on Computer Architecture, G6teborg, Sweden, 2001: 110-119.
[14] Elbirt A J and Paar C. Instruction-level distributed processing for symmetric-key cryptography[J]., 2005, 16(5): 468-480.
[15] 曲英杰. 可重組密碼邏輯的研究與設(shè)計(jì)[D]. [博士論文], 北京科技大學(xué), 2002.
Qu Ying-jie. The research and design of reconfigurable cryptographic logic[D]. [Ph.D. dissertation], University of Science and Technology Beijing, 2002.
[16] Buchty R. Cryptonite: a programmable crypto processor architecture for high-bandwidth applications[D]. [Ph.D. dissertation], Institut fur Informatik der Technischen Universitat Munchen, 2002.
陳韜: 男,1979年生,講師,研究方向?yàn)橥ㄐ排c信息安全專(zhuān)用集成電路設(shè)計(jì)、專(zhuān)用指令集處理器體系結(jié)構(gòu)設(shè)計(jì)技術(shù)、多屬性決策方法.
羅興國(guó): 男,1951年生,教授,研究方向?yàn)閿?shù)字通信、移動(dòng)通信與高效能計(jì)算機(jī)體系結(jié)構(gòu).
李校南: 男,1986年生,工程師,研究方向?yàn)樾畔踩珜?zhuān)用集成電路設(shè)計(jì).
李偉: 男,1983年生,講師,研究方向?yàn)樾畔踩珜?zhuān)用集成電路設(shè)計(jì).
An Architecture of Stream Based ReconfigurableClustered Block Cipher Processing Array
Chen Tao Luo Xing-guo Li Xiao-nan Li Wei
(,450001,)

Block cipher; Reconfigurable; Array architecture; Hierarchical interconnection; Stream processing
TP309.7; TN492
A
1009-5896(2014)12-3027-08
10.3724/SP.J.1146.2014.00023
陳韜 chentaoic@aliyun.com
2014-01-06收到,2014-05-26改回
國(guó)家863計(jì)劃項(xiàng)目(2009AA012201)和國(guó)家自然科學(xué)基金(61302107)資助課題