文獻(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)簡單且算子排列有序,不存在相同運(yùn)算操作,控制實(shí)現(xià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的利用率,以提高陣列的整體飽和度和吞吐率密度,簡化陣列內(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)