文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.190644
中文引用格式: 高嘉浩,,李偉,陳韜. 基于密碼邏輯陣列的分組密碼高能效映射方法[J].電子技術(shù)應(yīng)用,,2019,,45(11):21-26,31.
英文引用格式: Gao Jiahao,,Li Wei,,Chen Tao. Block cipher energy efficient mapping method based on cipher logic array[J]. Application of Electronic Technique,2019,,45(11):21-26,,31.
0 引言
分組密碼是一類重要的密碼體制,,在信息安全領(lǐng)域有著廣泛的應(yīng)用,。隨著分組密碼的不斷發(fā)展,一方面算法的多樣性要求處理模塊具有一定的靈活性,,另一方面對(duì)運(yùn)算速度有著一定的要求[1],。
分組密碼的專用集成電路(Application Specific Integrated Circuit,ASIC)實(shí)現(xiàn)方式針對(duì)具體的一種或幾種算法設(shè)計(jì),,密碼處理性能高,,但無法滿足靈活性要求。針對(duì)密碼運(yùn)算設(shè)計(jì)的專用指令處理器(Application Specific Instruction-Set Processor,,ASIP)在指令集和體系結(jié)構(gòu)上進(jìn)行了專項(xiàng)優(yōu)化,,在具有密碼處理性能的基礎(chǔ)上保證了一定的靈活度,。受制于指令集體系結(jié)構(gòu)的執(zhí)行模式,依然存在計(jì)算資源受限,,能效提升困難的問題,。
密碼邏輯陣列(Cipher Logical Array,CLA)較好地兼顧了靈活性和處理速度的需求,。與ASIP相比密碼邏輯陣列舍棄了“取指”,、“譯碼”等過程,同時(shí)陣列中采用分布式寄存資源存儲(chǔ)分組密碼的運(yùn)算結(jié)果,,節(jié)省了大量的“訪存”時(shí)間,。這種由數(shù)據(jù)流驅(qū)動(dòng)的方式將密碼處理集中于“執(zhí)行”階段,因此在能效上優(yōu)于專用指令密碼處理器[2],。
本文依托于針對(duì)項(xiàng)目組設(shè)計(jì)的密碼邏輯陣列,,分析了分組密碼的基本特點(diǎn),提出了分組密碼在陣列上映射的基本原則和高能效映射方法,,選取幾種典型的分組密碼算法,,論述對(duì)應(yīng)算法在陣列芯片上的映射步驟及流程,并實(shí)測(cè)映射后的實(shí)驗(yàn)數(shù)據(jù),,以驗(yàn)證陣列映射分組密碼的實(shí)現(xiàn)性能,。實(shí)測(cè)結(jié)果表明該密碼邏輯陣列支持多種分組密碼算法的映射實(shí)現(xiàn),具有一定的靈活度和較好的能效特性,。
1 分組密碼處理特點(diǎn)分析
分組密碼是將明文消息編碼的數(shù)字序列按固定長度進(jìn)行分組,,在密鑰作用下逐組加密,最終變換為密文分組,。分組密碼以混亂和擴(kuò)散為基本原則,,通常由子密鑰生成算法和加密、解密算法組成[3],。分組密碼處理流程如圖1所示,。
分組密碼屬于對(duì)稱密碼體制,采用迭代型結(jié)構(gòu),,由初始變換,、末變換以及中間變換組成,中間變換一般為一定次數(shù)的輪函數(shù)迭代,,通常由子密鑰異或、S盒置換以及算術(shù),、移位等多類操作組成,。從其結(jié)構(gòu)特點(diǎn)不難歸納出分組密碼在硬件處理上具有以下幾個(gè)顯著特點(diǎn):
(1)分組密碼處理屬于典型的數(shù)據(jù)密集型計(jì)算,基于數(shù)據(jù)流驅(qū)動(dòng)的方式可以進(jìn)一步加速分組密碼處理性能,。
(2)分組密碼中數(shù)據(jù)為二進(jìn)制字符串,,大多為無符號(hào)的整數(shù),,長度介于64 bit到256 bit之間,粒度為32 bit的陣列適合實(shí)現(xiàn)分組密碼操作的并行運(yùn)算,。
(3)分組密碼具有很強(qiáng)的數(shù)據(jù)局部性,,即第i輪迭代運(yùn)算的輸入數(shù)據(jù)只與第i-1輪的輸出數(shù)據(jù)直接相關(guān),而與之前的數(shù)據(jù)不直接相關(guān),。這使得輪內(nèi)操作只能串行執(zhí)行,,而中間計(jì)算結(jié)果可被覆蓋。
(4)輪函數(shù)作為運(yùn)算主體部分,,輪函數(shù)內(nèi)部結(jié)構(gòu)簡(jiǎn)單且算子排列有序,,不存在相同運(yùn)算操作,控制實(shí)現(xiàn)簡(jiǎn)單,,因此分組密碼具有速度快和易于軟硬件實(shí)現(xiàn)的特點(diǎn)[4],。
本文將選取AES、DES等典型的分組密碼算法進(jìn)行映射,,驗(yàn)證陣列平臺(tái)的分組密碼算法高能效實(shí)現(xiàn)結(jié)果,。
2 CLA基本結(jié)構(gòu)
本文依托的密碼邏輯陣列面向?qū)ΨQ密碼算法高速處理而設(shè)計(jì),陣列中的計(jì)算單元(Process Element,,PE)包含多種算子結(jié)構(gòu),,粒度為32 bit,采取數(shù)據(jù)流驅(qū)動(dòng)的方式,,根據(jù)存儲(chǔ)的配置信息確定算子結(jié)構(gòu)和互連結(jié)構(gòu),,不同的配置信息對(duì)應(yīng)不同的內(nèi)部結(jié)構(gòu),實(shí)現(xiàn)不同的密碼運(yùn)算和所需功能,。
陣列整體上包含輸入輸出FIFO,、共享存儲(chǔ)單元(Shared Store Unit,SSU)和運(yùn)算系統(tǒng),。其中輸入輸出FIFO起到數(shù)據(jù)緩存和數(shù)據(jù)交換的作用,;SSU由寄存器堆和SRAM組成,主要完成密碼算法中子密鑰,、常數(shù)的存取以及S盒操作,;運(yùn)算系統(tǒng)由16個(gè)PE和基于2D-Mesh的互連結(jié)構(gòu)組成,通過可重構(gòu)的方式實(shí)現(xiàn)特定的密碼運(yùn)算,,支持多個(gè)最小陣列組合成規(guī)模更大的陣列結(jié)構(gòu),。密碼邏輯陣列結(jié)構(gòu)圖如圖2所示。
PE包含功能單元(Function Unit,,F(xiàn)U),、交互單元(Interaction Unit,IU)和連接單元(Connection Unit,CU),。連接單元實(shí)現(xiàn)PE內(nèi)部功能單元的互連,,交互單元實(shí)現(xiàn)PE之間的互連,兩者構(gòu)成互連結(jié)構(gòu),。功能單元根據(jù)配置存儲(chǔ)器(Configuration Memory,,CM)中的配置信息,在分布式控制器控制下實(shí)現(xiàn)輸入,、輸出,、路由和計(jì)算。目標(biāo)陣列有四個(gè)配置頁面,,具有較大的配置存儲(chǔ)空間和較高的配置靈活性,。
在陣列中異構(gòu)PE(圖2中深色填充PE)中設(shè)計(jì)了能夠執(zhí)行某些低頻次的128 bit甚至更大位寬的操作算子,在分組密碼映射實(shí)現(xiàn)的前提下,,有效地平衡了陣列整體的功耗與面積,。
作為計(jì)算核心的可重構(gòu)密碼塊(Reconfigurable Cryptography Block,RCB)由算術(shù)類單元AG,、邏輯類單元LG,、置換類單元BP和非線性類單元NF共四類算子組成;通過互連資源,,各算子單元能夠以多種組合搭建數(shù)據(jù)路徑,,從而實(shí)現(xiàn)復(fù)雜的密碼運(yùn)算。
每一級(jí)單元后加入了旁路寄存器,,可配置數(shù)據(jù)是否寄存,。PE內(nèi)部的旁路寄存器構(gòu)成了陣列的分布式存儲(chǔ)結(jié)構(gòu),利用該類寄存器可控制數(shù)據(jù)路徑的延時(shí),,靈活應(yīng)對(duì)不同密碼算法不同應(yīng)用場(chǎng)景下的性能需求,。
3 分組密碼算法高能效映射
3.1 陣列映射模型
CLA是實(shí)現(xiàn)分組密碼的平臺(tái),通過集合抽象的方式來表示其硬件資源,,可為映射提供各種硬件資源的抽象信息,。本文參考PRAM參數(shù)化描述形式[5],將CLA的硬件資源模型(不考慮輸入輸出FIFO)定義如下:
(1)CLA中所有計(jì)算資源的集合可表示為FU={FUi,,j|i,,j=1,2,,3,,4};
(2)IU,、CU以及FU內(nèi)輸入輸出選擇網(wǎng)絡(luò)組成的CLA中的互連資源集合可以表示為ConPE={(Con_PEI,,Con_PEO)i,,j|i,j=1,,2,3,,4},;
(3)CLA中的存儲(chǔ)資源包括SSU和內(nèi)部的寄存器,可表示為SS={SSU,,RSi,,j|i,j=1,,2,,3,4},;
則CLA的硬件資源模型可以視為一個(gè)的三元數(shù)組D,,D=(FU,ConPE,,SS),。如果將輪函數(shù)視為一個(gè)有限集合,則有R={op1,,op2,,…,opn},,集合中的每一個(gè)元素表示一種操作,,若干個(gè)操作順序組合形成特定的密碼算法。
將陣列中的每一個(gè)RCB視為一個(gè)集合F,,則F={ag,,lg,nf,,bp,,rs},F(xiàn)中元素代表四類算子單元和寄存器資源,。則有即在四類算子單元中至少可以找到一個(gè)用于實(shí)現(xiàn)分組密碼中一個(gè)獨(dú)立的操作,。
映射過程中分組密碼操作順序最終表現(xiàn)為PE間互連資源即IU、CU的配置使用以及PE內(nèi)算子單元的連接順序,,構(gòu)建的集合可以表示為:
IOicu={up,,down,left,,right}
IOrcb={up,,down,left,right,,ssu,,rs,ag,,lg,,nf,bp}
通過一個(gè)二元向量即可將陣列中的互連關(guān)系表示出來:Con=<Vi,,Vo>,,對(duì)應(yīng)的PE內(nèi)部和PE之間的連接關(guān)系可表示為:
Con_PEI={<Vi,Vo>unit|<Vi,,Vo>∈IOreb,,unit=ag,lg,,nf,,bp}
Con_PEO={<Vi,Vo>unit|<Vi,,Vo>∈IOicu,,unit=iu,cu}
在確定互連關(guān)系集合之后,,映射的存儲(chǔ)資源使用關(guān)系也被確定下來,。映射密碼算法的實(shí)質(zhì)就是在CLA硬件資源模型的基礎(chǔ)上選取適當(dāng)?shù)馁Y源,確定各單元間的連接關(guān)系,,配合時(shí)序控制實(shí)現(xiàn)密碼運(yùn)算,。
若將分組密碼視為一個(gè)集合Block={I,R,,L},,集合中的元素分別代表初始變換、輪函數(shù)循環(huán)和末變換,。循環(huán)并行映射的集合可表示為:
Map={Pagem=(FU,,SS,Con,,Ctr)m|m=1,,2,3,,4}
即陣列最終的映射結(jié)果是全部4個(gè)配置頁面的配置信息,,每個(gè)頁面包含計(jì)算、存儲(chǔ),、互連和控制4類配置要素,。
3.2 分組密碼循環(huán)并行映射
式(1)為吞吐率公式,,式中w為處理數(shù)據(jù)位寬即分組長度;f為頻率,;c為算法的運(yùn)算周期,,表示每秒內(nèi)電路的數(shù)據(jù)處理能力,單位為b/s,。
式(2)中PFIFO,、PCM和PS分別表示陣列FIFO、配置存儲(chǔ)器和陣列的靜態(tài)功耗,,均可視為常量;而陣列的動(dòng)態(tài)功耗PD則取決于具體的映射方案并與消耗的FU數(shù)量直接相關(guān),。
結(jié)合式(1),、式(2)可知,實(shí)現(xiàn)高能效映射一方面是增大數(shù)據(jù)處理位寬和運(yùn)行頻率,,提高陣列的吞吐率,;另一方面則是節(jié)約映射消耗資源,以降低整體功耗,。
提高分組密碼處理速度的重點(diǎn)是加速輪函數(shù)的循環(huán)過程,,主要有操作流水和映射并行兩種方式。操作流水使用流水線技術(shù)將輪函數(shù)各操作展開,,陣列中的算子單元在每個(gè)時(shí)鐘周期都承擔(dān)著特定的運(yùn)算任務(wù),;映射并行則是在陣列上映射多個(gè)分組,使得陣列資源實(shí)現(xiàn)對(duì)不同數(shù)據(jù)的并行處理,。這兩者都能有效提升分組密碼處理的吞吐率,。
映射過程中往往要考慮到分組密碼的工作模式,例如ECB這種數(shù)據(jù)不相關(guān)的工作模式,,可以實(shí)現(xiàn)操作流水,,而CBC這類前后分組數(shù)據(jù)相關(guān)的工作模式,則無法實(shí)現(xiàn)操作流水,。同時(shí)實(shí)現(xiàn)操作流水將顯著增大陣列控制的復(fù)雜度,,因而映射并行是一種更為實(shí)用的提升吞吐率的方式。
陣列預(yù)設(shè)有四個(gè)配置頁面,,靈活切換能夠充分容納更多的操作運(yùn)算,,有效支持輪函數(shù)循環(huán)的并行映射。而陣列提供的資源總是有限的,,實(shí)現(xiàn)并行處理的組數(shù)取決于循環(huán)內(nèi)映射所需頻次最高的算子單元,。以DES算法為例,將DES算法的初始置換I和逆初始置換L映射到Page0,,而在Page1上并行映射兩組輪運(yùn)算R1和R2,,由陣列控制結(jié)構(gòu)控制配置頁面的切換,,這樣通過循環(huán)加速能有效提升DES算法的吞吐率,如圖3所示,。
通過將循環(huán)部分在一個(gè)頁面上并行映射達(dá)到加速處理的目的,,余下的非循環(huán)部分則通過時(shí)序控制映射到其他頁面,最大限度利用陣列資源和相關(guān)配置,,此時(shí)吞吐率可表示為式(3):
式中fp為循環(huán)并行的運(yùn)算頻率,,n為映射并行度,tdelay為切換配置頁面的時(shí)鐘延時(shí),。使用多個(gè)配置頁面并行映射后,,陣列運(yùn)行頻率基本不變,雖然引入了配置頁面切換延時(shí),,增大了陣列的動(dòng)態(tài)功耗,,但是處理數(shù)據(jù)量近似成倍增加,有效提高了陣列的吞吐率和最終映射的能效,。
3.3 分組密碼高能效映射方法
根據(jù)以上分析,,結(jié)合分組密碼的基本特點(diǎn),在映射過程中遵循以下基本原則優(yōu)化映射方案:
(1)最少FU:盡可能減小PE單元使用量,,同時(shí)提高每個(gè)PE單元內(nèi)部功能單元FU的利用率,,以提高陣列的整體飽和度和吞吐率密度,簡(jiǎn)化陣列內(nèi)部的連接關(guān)系,,降低陣列功耗,;
(2)操作合并:陣列中的異構(gòu)PE算子單元支持級(jí)聯(lián)和大位寬數(shù)據(jù)處理,同類型的操作和相鄰數(shù)據(jù)操作均可以實(shí)現(xiàn)合并運(yùn)算,,進(jìn)一步減少陣列中的資源消耗[6],;
(3)最小配置信息量:映射方案的配置信息越少,說明需要配置的結(jié)構(gòu)單元越少,,則映射復(fù)雜度越低,,效率越高;
(4)啟用配置頁面:配置存儲(chǔ)器CM中包含4個(gè)配置頁面(Page0~Page3),,當(dāng)映射循環(huán)并行頁面資源占用已滿或存在分支操作時(shí),,應(yīng)選擇添加一個(gè)新的配置頁面;
(5)中間值寄存:輪運(yùn)算過程中的中間數(shù)據(jù)應(yīng)在PE中寄存,,為下一輪運(yùn)算提供數(shù)據(jù)輸入,,同時(shí)縮短陣列內(nèi)部關(guān)鍵路徑,提高運(yùn)行頻率和能效,。
此外,,分組密碼的同一組子密鑰往往需要加解密若干組明、密文,,子密鑰生成算法運(yùn)算一次即可,,其耗費(fèi)時(shí)間同整個(gè)數(shù)據(jù)任務(wù)處理的時(shí)間相比可忽略不計(jì)[7],。在陣列中采用離線密碼生成方式,即子密鑰提前生成并存入SSU中,,待執(zhí)行輪函數(shù)時(shí)取出對(duì)應(yīng)的子密鑰參與運(yùn)算,。
S盒變換是分組密碼中重要的非線性算子單元,在映射時(shí)使用SSU中的SRAM實(shí)現(xiàn)該算子,,具體地,,需在映射前將S盒的配置信息寫入SRAM。映射按照如下步驟進(jìn)行,,流程圖如圖4所示,。
(1)設(shè)定映射并行度:如需在陣列上實(shí)現(xiàn)循環(huán)并行,需要在滿足資源限定下選擇合適的并行度,,并確定各頁面映射內(nèi)容,;
(2)劃分算法操作,選取算子單元:根據(jù)算法中主要包含的操作類型確定各操作適合采用AG,、LG、BP,、NF中的哪一類計(jì)算單元實(shí)現(xiàn),;
(3)確定陣列中計(jì)算資源消耗:陣列的粒度為32 bit,處理的數(shù)據(jù)位寬決定了算法映射所需的計(jì)算單元及其內(nèi)部算子單元數(shù)目,;
(4)由操作次序確定RCB內(nèi)算子單元的排列順序,,即在輸入、輸出網(wǎng)絡(luò)中確定待映射算子單元的數(shù)據(jù)來源,、流向,,完成PE內(nèi)部映射;
(5)通過PE中的IU,、CU單元確定陣列內(nèi)部互連關(guān)系,,搭建陣列內(nèi)部數(shù)據(jù)路徑;
(6)根據(jù)算法的時(shí)序圖確定相應(yīng)控制信號(hào):控制信號(hào)的主體是時(shí)序控制,,主要包括配置控制和存儲(chǔ)使能控制,,還包括算法過程中配置頁面切換和寄存器讀寫需求產(chǎn)生對(duì)應(yīng)時(shí)序的控制信號(hào)。
4 分組密碼算法映射及性能分析
4.1 AES算法映射
以映射AES-128 bit算法為例,,遵照以上步驟進(jìn)行,。劃分操作后選取SRAM、BP,、LG和AG單元依次實(shí)現(xiàn)輪函數(shù)中的S盒變換,、行移位、列混合以及子密鑰異或4類操作,。根據(jù)所需算子單元數(shù)量,,將AES算法的初始變換和輪運(yùn)算分別映射到陣列上,,由數(shù)據(jù)處理順序確定PE內(nèi)部及PE間互連關(guān)系,得到圖5所示的陣列數(shù)據(jù)路徑,。
映射AES算法使用了12個(gè)FU以及若干互連單元,,考慮到初始變換只有子密鑰異或,輪運(yùn)算中也包含相同操作,,若將初始變換放入輪運(yùn)算中實(shí)現(xiàn)操作合并,,AES算法流程可以調(diào)整為前9輪輪函數(shù)迭代、第10輪的S盒,、行移位操作以及最后一輪的子密鑰異或,;此外結(jié)合循環(huán)并行映射,在陣列上并行映射2個(gè)AES分組,,得到如圖6所示的映射數(shù)據(jù)路徑,。
確定數(shù)據(jù)路徑之后生成所需的時(shí)序控制,最終生成配置信息,,完成AES算法的映射,。調(diào)整后的映射方案使用了更少的FU以及互連資源,結(jié)合映射的基本原則,,調(diào)整后的映射方案優(yōu)于調(diào)整前的方案,,同時(shí)兩個(gè)分組并行處理有效提升了吞吐率和映射能效。
4.2 映射性能分析
實(shí)驗(yàn)室設(shè)計(jì)的密碼邏輯陣列基于CMOS 55 nm工藝流片,,選取幾種典型的分組密碼算法在CBC工作模式下的映射性能進(jìn)行實(shí)測(cè)分析,,得到的結(jié)果如表1所示。
文獻(xiàn)中分組密碼的處理性能通常以某個(gè)算法的吞吐率作為直接評(píng)價(jià)標(biāo)準(zhǔn),,而陣列結(jié)構(gòu)可以通過堆疊可重構(gòu)單元的方式顯著提升吞吐率,,但同時(shí)這樣會(huì)帶來面積和功耗的等幅增加,僅僅考慮吞吐率指標(biāo)是不夠客觀的,,因此本文將能效作為重要評(píng)估指標(biāo),。
陣列能夠動(dòng)態(tài)配置中間數(shù)據(jù)的寄存與否,進(jìn)而改變陣列內(nèi)部的關(guān)鍵路徑,,所以針對(duì)不同的算法可以優(yōu)化映射方案,,使其能夠在陣列上達(dá)到最優(yōu)運(yùn)算頻率。根據(jù)實(shí)測(cè)的功耗數(shù)值,,各個(gè)算法對(duì)應(yīng)功耗也穩(wěn)定在150~190 mW范圍內(nèi),,其中DES算法映射共使用了11個(gè)FU,因而功耗最大,。吞吐率受到算法的迭代周期,、數(shù)據(jù)位寬以及頻率的影響,因此AES算法具有最少的迭代次數(shù),,其吞吐率達(dá)到最高的586 Mb/s,,能效也相對(duì)最高,。
在陣列上利用循環(huán)并行方式對(duì)各算法進(jìn)行映射,測(cè)得的結(jié)果如表2所示,。
對(duì)比表1和表2中的結(jié)果,,通過輪函數(shù)循環(huán)并行映射的方式,算法的吞吐率得到顯著提升,,且和映射并行度成正相關(guān),。雖然并行映射的方式小幅度增大了陣列的功耗,但在能效指標(biāo)仍然有較為明顯的提高,。實(shí)驗(yàn)證明循環(huán)并行映射能夠有效提升陣列映射分組密碼的吞吐率和能效,。
在相關(guān)文獻(xiàn)中選取了關(guān)于AES算法CBC模式下密碼處理結(jié)構(gòu)作為對(duì)比,考慮到不同工藝制程對(duì)性能參數(shù)的影響,,本文參照了文獻(xiàn)[8]中依據(jù)工藝特征尺寸的方法換算了等價(jià)能效,,雖然無法完全消除工藝偏差帶來的影響,但是可以作為參考依據(jù),,結(jié)果如表3所示,。
在CBC模式并行映射下陣列AES算法能夠達(dá)到1 765 Mb/s的吞吐率,得益于映射方案的優(yōu)化,,陣列整體功耗僅有0.18 W,,能效為9.54 Mbps/mW,處理能效分別是文獻(xiàn)[8]和文獻(xiàn)[12]的7.5倍和2.3倍,。在同等資源密度下,數(shù)據(jù)流驅(qū)動(dòng)的陣列架構(gòu)相對(duì)于指令驅(qū)動(dòng)的處理器架構(gòu)能夠省去在指令部分的相關(guān)資源開銷,,在能效上占據(jù)一定優(yōu)勢(shì),。本文提出的陣列結(jié)構(gòu)規(guī)模較小,但實(shí)際應(yīng)用時(shí)可根據(jù)需求擴(kuò)展PE數(shù)量以滿足分組密碼的性能,、功耗等需求,,因而具有較好的能效優(yōu)勢(shì)。
5 結(jié)論
本文分析了分組密碼處理的基本特點(diǎn),,并結(jié)合目標(biāo)密碼邏輯陣列結(jié)構(gòu)特點(diǎn),,提出了分組密碼算法的映射模型和具體映射原則以及循環(huán)并行映射方式。本文選取了典型的分組密碼算法在目標(biāo)陣列上的映射,,并對(duì)映射結(jié)果進(jìn)行實(shí)測(cè)驗(yàn)證,,數(shù)據(jù)表明,通過并行映射的方式提升了映射吞吐率和能效,,該陣列同其他處理平臺(tái)相比達(dá)到了較好的能效值,,能夠滿足分組密碼的映射需求。但是存在資源利用率低的問題,。通過改善PE內(nèi)部算子單元結(jié)構(gòu)和擴(kuò)充陣列規(guī)模,,可以支持并行化映射,,并對(duì)算法的映射方案不斷優(yōu)化,從而進(jìn)一步提升陣列的吞吐率及能效,。
參考文獻(xiàn)
[1] COMPTON K,,HAUCK S.Reconfigurable computing:a survey of systems and software[J].ACM Computing Surveys,2002,,34(2):171-210.
[2] 金晨輝,,鄭浩然,張少武,,等.密碼學(xué)[M].北京:高等教育出版社,,2009.
[3] 劉雷波,王博,,魏少軍.可重構(gòu)計(jì)算密碼處理器[M].北京:科學(xué)出版社,,2018.
[4] 朱敏,劉雷波,,尹首一,,等.面向?qū)ΨQ密碼領(lǐng)域的可重構(gòu)陣列設(shè)計(jì)[J].微電子學(xué),2012,,42(6):815-818.
[5] 孫康.可重構(gòu)計(jì)算相關(guān)技術(shù)研究[D].杭州:浙江大學(xué),,2007.
[6] 李遠(yuǎn)銘,嚴(yán)迎建,,李偉.基于粗粒度可重構(gòu)密碼陣列的AES算法映射實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,,2018,35(3):304-308,,326.
[7] 徐金甫,,楊宇航.SM4算法在粗粒度陣列平臺(tái)的并行化映射[J].電子技術(shù)應(yīng)用,2017,,43(4):39-42,,46.
[8] SAYILAR G,CHIOU D.Cryptoraptor:high throughput reconfigurable cryptographic processor[C].IEEE/ACM International Conference on Computer-aided Design.IEEE,,2014.
[9] FRONTE D,,PEREZ A,PAYRAT E.Celator:a multi-algo-rithm cryptographic co-processor[C].International Conference on Reconfigurable Computing & Fpgas.IEEE,,2008.
[10] 郭巖松,,劉雷波.一種面向分組密碼的粗粒度可重構(gòu)陣列及AES算法映射[J].微電子學(xué)與計(jì)算機(jī),2015,,32(9):1-5.
[11] LIU B,,BAAS B M.Parallel AES encryption engines for many-core processor arrays[J].IEEE Transactions on Computers,2013,62(3):536-547.
[12] HUANG W,,HAN J,,WANG S,et al.A low-complexity heterogeneous multi-core platform for security SoC[C].Solid State Circuits Conference.IEEE,,2010.
作者信息:
高嘉浩,,李 偉,陳 韜
(解放軍信息工程大學(xué),,河南 鄭州 450001)