《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 可重構分組密碼多發射流水處理架構研究與設計
可重構分組密碼多發射流水處理架構研究與設計
2020年電子技術應用第4期
薛煜騫,戴紫彬
信息工程大學,河南 鄭州450001
摘要: 隨著可重構設計技術在密碼處理領域的廣泛應用,現有的可重構密碼系統難以滿足高速通信和設備小型化的需求。因此,設計一款能夠靈活實現分組密碼算法的高性能可重構處理架構成為本文的目標。在可重構陣列結構的基礎上,基于多發射機制,立足解決可重構密碼系統吞吐率不高、資源利用率低的問題,提出一種可重構多發射流水處理架構。該架構能夠進行多個數據包并行發射和流水處理,具有更高的吞吐率和單元利用率,大大提高了可重構系統的算法實現性能。實驗表明,可重構多發射流水處理架構在350 MHz的工作頻率下,典型分組密碼算法AES的吞吐率可達到3.19 Gb/s,約是單發射處理性能的3.5倍。
中圖分類號: TN402
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.200005
中文引用格式: 薛煜騫,戴紫彬. 可重構分組密碼多發射流水處理架構研究與設計[J].電子技術應用,2020,46(4):40-44,48.
英文引用格式: Xue Yuqian,Dai Zibin. Reconfiurable multi-launch pipeline processing architecture for block cipher[J]. Application of Electronic Technique,2020,46(4):40-44,48.
Reconfiurable multi-launch pipeline processing architecture for block cipher
Xue Yuqian,Dai Zibin
Information Engineering University,Zhengzhou 450001,China
Abstract: With the wide application of reconfigurable design technology in the field of cryptography, the existing reconfigurable cryptography system can hardly meet the needs of high-speed communication and equipment miniaturization.Therefore, it is the goal of this paper to design a high performance reconfigurable processing architecture that can flexibly implement block cipher algorithms.Based on the reconfigurable array structure and the multi-launch mechanism, this paper proposes a reconfigurable multi-launch pipeline processing architecture to solve the problems of low throughput and low resource utilization of the reconfigurable cryptography system.This architecture is able to transmit multiple packets in parallel and pipeline processing, and has higher throughput and unit utilization, which greatly improves the algorithm performance of the reconfigurable system.Experiments show that the throughput of AES can reach 3.19 Gb/s under the operating frequency of 350 MHz.Compared with the single-launch structure, its performance improved by about 1.1 times.
Key words : reconfigurable;array;multi-launch;pipeline;AES

0 引言

    隨著網絡通信技術的發展,芯片在軍事、經濟和社會中發揮著越來越重要的作用。分組密碼[1]作為重要的加密算法,其高效實現直接影響系統的性能。可重構陣列密碼處理器針對不同的加密算法進行優化,相比ASIC專用處理器,具有很高靈活性。近年來,面向分組密碼可重構處理架構的研究也越來越多。因此,如何充分開發分組密碼的并行性[2]和流水特性[3],如何設計高性能可重構分組密碼處理架構,已經成為密碼實現技術的重要研究問題之一。

    國內外的研究者們對可重構分組密碼的高效實現進行了研究。文獻[4]提出了含有多Bank存儲器的新型CGRA架構,數據被存儲在多個Bank內,雖然提高了并行訪問能力,但由于和本文需要處理的粗粒度位寬不匹配,因此未能充分達到并行的需求。文獻[5]提出了可重構分簇式分組密碼處理架構RCBCP,設計并實現了5級流水線及運算單元內流水結構,提高了分組算法的加密性能。但復雜的可重構運算單元,使得關鍵路徑較大,在一定程度上限制了系統的性能。文獻[6]提出的Cryptoraptor陣列結構處理器,集成了80個PE處理單元,使得AES和DES算法在CBC模式下的吞吐率達到6.4 Gb/s和2.67 Gb/s,資源消耗巨大。

    為充分挖掘分組密碼的并行性和流水特性,本文首先提出了一種可重構多發射流水處理架構(Reconfigurable Multi-launch Pipeline Processing Architecture,RMPA)。設計該架構的目的在于減少閑置資源,從而提高可重構計算處理器的資源利用率和運算效率。此外,為了滿足可重構陣列系統的高并行度特點,本文還提出了相應的多發射數據管理機制。高效的數據管理對于可重構陣列的處理性能有顯著的提升。

1 RMPA-可重構多發射流水處理架構

    可重構分組密碼多發射流水處理架構RMPA是以PEs陣列為主要構成元素,結合流水線技術提出的。流水線結構是高效計算常采用的處理結構。通過分析分組密碼的核心操作,并用流水結構進行處理,使得多個數據在流水線中并行開始不同的操作。該架構的基本思路是:利用具有32 bit粗粒度的n×n-PEs陣列來處理各種粒度的密碼算法,并從中開發算法的深度流水和適度并行特性。

1.1 RMPA整體架構設計

    RMPA整體架構如圖1所示,可抽象分成3級:RU(Reconfigurable Unit)功能單元級、RE(Reconfigurable Element)陣列級和RMPA架構級。RU功能單元是提供密碼操作功能的關鍵部件,在詳細分析了分組密碼算法運算單元的基礎上,RU功能單元主要執行以下7種操作:S盒、GF(2n)乘法、移位、模乘、比特置換、邏輯和模加/減。每一個RU可以執行一個字級操作,能夠滿足分組密碼的各種位寬,并且每個RE都附加了一個寄存器文件(Register file)和一個配置寄存器(Configuration Reg),寄存器文件用于寄存臨時數據和中間結果。配置寄存器通過配置不同上下文,可以提高系統的處理性能。PE陣列是由n×n個REs通過Crossbar分層互連結構組成的。RMPA架構主要由主控制器(Main Controller)、配置上下文控制器(Context Controller)、RE陣列(Array)、主存儲器(Main Memory)、Bank存儲器(Bank Memory)和密鑰存儲器(Key Memory)構成。主控制器負責對整個系統進行控制。主存儲器存儲配置信息和數據,它會根據需求將數據輸入到配置模塊或Bank存儲器中。Bank存儲器則是存儲待處理的數據和處理完的數據,且Bank存儲器可以被RE陣列和DMA控制器訪問,DMA控制器負責主存儲器和Bank存儲器之間進行數據交換。密鑰存儲器用于存儲算法生成的子密鑰。該結構采用動態模式配置上下文,每一個RE內部都有自己的配置寄存器,而且能夠直接和配置上下文存儲器連接。配置控制器從本地配置存儲器選擇正確的上下文,然后寫進每一個REs的配置寄存器。

wdz2-t1.gif

1.2 多總線互連網絡結構

    陣列中處理單元的行與列之間多采用總線、2D-Mesh和Crossbar互連結構。相比之下,雖然總線和2D-Mesh的代價較低,但在靈活性上與Crossbar相差甚遠。為使并行處理更加高效地進行,同時降低互連網絡的復雜度,本文在Crossbar網絡的基礎上采用多總線互連網絡結構。

    Bank存儲器與陣列之間采用多總線互連網絡結構,如圖2所示。同一列上的RE需連接到一條總線上,任一列的總線可以連接到任何一個Bank上,這種互連網絡能夠保證每一個PE可以訪問到任何一個Bank,任何一個Bank內的數據可以輸入到功能單元中;每一層的數據可以進行隔層傳輸,處理完的數據或輸出到Bank存儲器或密鑰存儲器內。這種互連網絡結構使該架構能夠靈活支持CBC反饋模式的密碼運算。

wdz2-t2.gif

2 RMPA架構多發射機制

    RMPA架構的多發射機制,原理就是使存儲器往陣列中同時發射多組數據,進而有效提高系統的處理性能。為滿足這一條件,不僅需要設計一種數據多發射結構,而且對存放數據的Bank也有一定的要求。多發射結構如圖3所示,主要由數據分發模塊和數據索引列表組成。數據分發模塊的作用在于確保可重構陣列中數據的流水實現;數據索引列表則對數據包進行區分,以保障數據包的完整性。

wdz2-t3.gif

2.1 RAM存儲結構

    基于多發射研究,考慮如何實現數據包存儲資源的動態分配[7],從而降低硬件資源的浪費和吞吐率的提升。RAM作為重要的Bank組成結構,主要用于實現對數據的緩存,不同于FIFO結構的數據輸入輸出過程,RAM依靠地址實現對數據的寫入與讀出,數據讀出順序與其寫入順序無關。因此,構建了圖4所示的多端口RAM結構。

wdz2-t4.gif

    采用多輸出RAM結構構建了數據存儲的基礎,通過地址選擇輸出數據的來源。由于RAM地址是連續的,因此在數據存儲時可以確保數據的連續存儲,通過地址來區分不同的數據包,使數據包的注入更加靈活。為了滿足對不同長度數據包的并行注入及下一數據包的動態加載,下面將針對數據發射模塊的結構展開詳細研究。

2.2 數據發射模塊結構及索引列表

    數據發射模塊是確保可重構陣列流水實現的基礎,根據上一節對數據存儲模塊的研究可知,數據存儲模塊采用多輸出RAM結構實現。同時,由于不同數據包的長度不同,因此數據發射模塊需要具備獨立并行處理數據的特征,從而降低因數據包長度的差異導致的流水線中斷的情況發生。

    在數據存儲模塊中,不同的數據包依靠數據包的起始地址及數據包長度進行區分。在數據發射模塊中,需要支持數據讀取的起始地址和長度可以動態配置。因此,構建了圖5所示的數據發射模塊的基本結構。

wdz2-t5.gif

    起始寄存器用于存儲數據包的起始地址(基地址),可配置計數器用于產生當前數據包中數據的偏移地址,通過加法器將基地址與偏移地址相加可以得到當前送往可重構陣列的數據地址。配置控制模塊用于讀取數據包包頭并對包頭進行解析,得到當前數據包的起始地址及長度,以實現對起始寄存器及可配置寄存器的配置。同時,配置控制模塊也會產生數據存儲模塊的讀使能,與數據地址相配合,從數據存儲模塊中讀取相應的數據并送入可重構陣列中相應的位置。

    為了確保數據包的完整性以及數據包在數據存儲模塊中存儲的齊整性,本文構建了基于任務映射的數據包索引機制,并在多發射結構中增加了共享的數據包索引列表,用于實現對數據包的索引。為了對數據包進行區分,本文構建了基于任務號及數據包包號的數據索引列表,其格式定義如圖6所示。

wdz2-t6.gif

    為便于存儲,本文將數據包索引列表定義為32 bit。其中第28到31 bit代表任務編號,用于對不同的任務進行區分,共4 bit,能夠支持最大16個任務;第26到27 bit為保留字段;第20到25 bit為數據包包號,用于區分同一任務中的不同數據包,共6 bit,因此單任務能夠支持最大64個數據包;對于網絡數據包而言,其長度在64~1 518 B范圍,因此定義1 518 B為單個數據包的最大長度,則可以采用9 bit表示單個數據包的長度,最大支持2 048 B的數據;由于本文采用多路并行結構設計數據發射模塊,在數據存儲模塊中應至少能夠容納多組最大長度的數據包,因此本文將起始地址長度定義為11 bit,從而滿足應用需求。

2.3 數據多發射接口電路設計

    數據輸入接口電路結構如圖7所示。上位機將待加解密應用分解為不同的任務,并對每個任務中的數據進行劃分,劃分為不同長度的數據包。根據數據包索引列表格式建立數據包索引列表,將數據包存入數據存儲模塊中的相應地址。當應用被確定后,各數據包的起始地址即被確定,為了盡可能減少存儲資源消耗,采用數據覆蓋的方式在數據存儲模塊中對數據包進行存儲,當某一數據包完成運算后,其所占用的存儲資源即被釋放,可以在相應存儲資源上進行覆蓋存儲。這一過程主要由上位機實現,通過對數據包運算過程的規劃,實現數據的無沖突讀寫。

wdz2-t7.gif

    輸入數據接口的工作流程如下:

    (1)數據發射模塊從數據包索引列表中分別讀取數據包索引,并解析數據包索引中的數據包起始地址及長度,將數據包起始地址寫入起始寄存器,并將可配置計數器的溢出值設置為數據包長度;

    (2)數據發射模塊生成數據包的讀地址及讀使能,并將相應信號送至數據存儲模塊;

    (3)數據存儲模塊依據地址及讀使能,將相應數據取出并輸出至粗粒度可重構陣列的對應位置,同時,配置控制模塊生成相應的寫使能;

    (4)當數據發射模塊中可配置計數器產生溢出時,生成溢出信號并傳遞至配置控制模塊,配置控制模塊按順序從數據包索引列表中讀取數據包索引,繼續進行運算。

    輸入數據接口的工作流程確保了輸入數據接口能正確地實現數據包的解析、數據的讀取及發射,確保了粗粒度可重構陣列中流水線的連續正確運轉。

3 實現性能比較

    本設計采用Verilog硬件描述語言對分組密碼算法進行RTL級描述,利用QuartusⅡ9.0軟件工具對設計進行時序仿真,并選用65 nm CMOS工藝標準單元庫邏輯綜合獲得硬件資源代價。驗證環境使用Synopsys公司的DC(Design Compiler)邏輯綜合工具,它可以將硬件設計代碼轉換為門級網表,并且能夠映射為特定工藝下的標準單元。為保證工作穩定性,將RMPA的工作頻率設置為350 MHz,根據仿真綜合結果,為更加全面地評估RMPA的實現性能,本文選取典型分組密碼算法AES進行分析。RMPA與其他可重構結構性能對比情況如表1所示。其中RCBCP[5]和Cryptonite[8]為專用指令密碼處理器,Celator[9]、RCPA[10]和S-RCCPA[11]為可重構陣列密碼處理結構。由于各處理結構采用的工藝有較大差異,因此將各結構的面積和吞吐率均按照65 nm CMOS工藝換算并進行比較。

wdz2-b1.gif

    結果表明,RMPA多發射結構可以高效處理AES分組密碼算法,且吞吐率明顯高于其他專用指令處理器。與Celator和BCORE等其他可重構陣列結構相比較,本結構對分組密碼算法的吞吐率仍處于優勢。

4 結論

    為充分挖掘分組密碼在可重構陣列中的流水及并行特性,本論文提出了一種面向分組密碼的可重構多發射流水處理架構RMPA。在65 nm CMOS工藝下對RMPA進行了邏輯綜合和功能仿真,分析了AES算法在該架構下的加密性能,其單發射/多發射吞吐率分別達到了0.9 Gb/s和3.19 Gb/s。相比其他密碼處理器,本架構吞吐率高,有一定的性能優勢,具有更好的應用前景。下一步將根據需求對數據的多收集機制進行研究,并采用多種分組密碼算法進行分析比較,完善該架構體系。

參考文獻

[1] 金晨輝,鄭浩然,張少武,等.密碼學[M].北京:高等教育出版社,2009.

[2] 戴樂育,李偉,徐金甫,等.面向任務級的多核密碼處理器數據分配機制[J].計算機工程與設計,2015,36(1):98-102.

[3] CONG J,HUANG H,MA C,et al.A fully pipelined and dynamically composable architecture of CGRA[C].2014 IEEE 22nd Annual International Symposium on Field-Programmable Custom Computing Machines(FCCM),2014.

[4] KIM Y,LEE J,SHRIVASTAVA A,et al.High throughput data mapping for coarse-grained reconfifigurable architec-tures[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2011,30(11):1599-1609.

[5] 孟濤,戴紫彬.分組密碼處理器的可重構分簇式架構[J].電子與信息學報,2009,31(2):453-456.

[6] SAYILAR G,CHIOU D.Cryptoraptor: high-throughput reconfigurable cryptographic processor[C].Proceedings of the 2014 IEEE/ACM International Conference on Computer-Aided Design,2015:155–161.

[7] 李軍偉,戴紫彬,南龍梅,等.多引擎密碼SoC并行處理技術研究與設計[J].計算機工程與設計,2014(7):2312-2316.

[8] BUCHTY R,HEINTZE N,OLIVA D.Cryptonite-a programmable crypto processor architecture for high-bandwidth applications[C].International Conference on Architecture of Computing Systems,2004.

[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] 楊曉輝,戴紫彬,張永福.可重構分組密碼處理結構模型研究與設計[J].計算機研究與發展,2009,46(6):962-967.

[11] 陳韜,羅興國,李校南,等.一種基于流處理框架的可重構分簇式分組密碼處理結構模型[J].電子與信息學報,2014(12):237-244.



作者信息:

薛煜騫,戴紫彬

(信息工程大學,河南 鄭州450001)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
一本色道久久88综合日韩精品| 亚洲伦理在线观看| 欧美肥婆在线| 久久一区激情| 久久精品国产久精国产思思| 性做久久久久久久久| 亚洲午夜在线观看| 一本久道久久综合婷婷鲸鱼| 91久久夜色精品国产九色| 久久不射中文字幕| 欧美一二三视频| 亚洲欧美日本日韩| 亚洲女女做受ⅹxx高潮| 亚洲一区二区精品| 亚洲一区高清| 亚洲免费视频成人| 亚洲伊人色欲综合网| 亚洲一区二区三区四区视频| 亚洲午夜精品| 亚洲一区日韩在线| 亚洲在线观看视频| 亚洲欧美日韩电影| 亚洲女与黑人做爰| 午夜精品久久久久久久99热浪潮| 亚洲欧美激情一区| 亚洲欧美伊人| 欧美亚洲一区三区| 欧美一级二级三级蜜桃| 欧美中文字幕在线观看| 久久精品亚洲一区二区| 91久久久国产精品| 99精品视频免费观看| 一区二区三区日韩| 亚洲欧美日韩中文播放| 新片速递亚洲合集欧美合集| 欧美专区在线观看一区| 久久久999精品免费| 久久综合亚州| 欧美激情二区三区| 欧美日韩视频一区二区三区| 国产精品第一页第二页第三页| 国产精品爽爽ⅴa在线观看| 国产午夜亚洲精品理论片色戒 | 免费视频一区二区三区在线观看| 免费日韩av| 欧美丝袜一区二区| 国产乱码精品一区二区三区忘忧草 | 亚洲欧美在线网| 欧美在线视频一区二区三区| 亚洲精品1234| 亚洲一区二区三区午夜| 久久精品国产99精品国产亚洲性色 | 亚洲高清在线精品| 一区二区三区日韩在线观看| 性xx色xx综合久久久xx| 亚洲国产天堂网精品网站| 日韩一级在线| 欧美一级久久| 欧美成黄导航| 国产精品人人爽人人做我的可爱| 国产一区成人| 亚洲免费成人av电影| 性欧美大战久久久久久久久| 亚洲人成在线影院| 亚洲免费在线观看视频| 在线综合欧美| 久久精品亚洲精品| 久久精品视频99| 欧美日本在线| 国内揄拍国内精品久久| 日韩写真在线| 久久精精品视频| 亚洲美女视频在线观看| 欧美综合国产| 欧美先锋影音| 亚洲国产精品成人久久综合一区| 亚洲色图制服丝袜| 亚洲日本欧美| 久久久精品国产免费观看同学| 欧美日韩1080p| 黄色精品一区二区| 亚洲欧美福利一区二区| 99在线精品免费视频九九视| 久久蜜臀精品av| 蜜桃久久精品乱码一区二区| 国产精品久久久久久久久搜平片| 在线欧美日韩精品| 亚洲欧美日韩一区二区三区在线| 亚洲欧美日韩中文在线制服| 99精品视频免费观看视频| 久久偷看各类wc女厕嘘嘘偷窃| 欧美午夜久久| 亚洲美女视频在线免费观看| 亚洲国产精品久久久久秋霞影院| 亚洲一区在线直播| 欧美精品午夜| 亚洲成色777777女色窝| 久久爱另类一区二区小说| 亚洲欧美精品在线| 欧美日韩美女| 亚洲人成网站影音先锋播放| 亚洲国产日韩一区二区| 久久久国产精品一区二区中文| 国产精品成人一区二区| 亚洲三级色网| 亚洲精品一二区| 老司机久久99久久精品播放免费| 国产日韩欧美一区在线| 亚洲女爱视频在线| 午夜精品三级视频福利| 国产精品久久久久久超碰| 亚洲卡通欧美制服中文| 香蕉乱码成人久久天堂爱免费| 亚洲欧美在线网| 国产精品久久9| 一区二区三区精品| 亚洲国产精品成人va在线观看| 久久久久久亚洲综合影院红桃 | 新67194成人永久网站| 性色av一区二区三区红粉影视| 美腿丝袜亚洲色图| **网站欧美大片在线观看| 久久精品国产99精品国产亚洲性色| 欧美在线一级va免费观看| 国产精品一区久久久| 亚洲欧美另类在线观看| 欧美一区午夜精品| 国产伪娘ts一区| 欧美亚洲一级片| 久久中文字幕一区| 国产一在线精品一区在线观看| 欧美一区国产二区| 久久久久久久一区| 伊人一区二区三区久久精品| 久久精品一二三| 欧美成人免费大片| 亚洲欧洲一区二区天堂久久| 一区二区三区精密机械公司| 亚久久调教视频| 国产亚洲毛片| 亚洲二区免费| 欧美高清视频在线播放| 日韩亚洲欧美高清| 午夜综合激情| 国内一区二区三区| 亚洲巨乳在线| 国产精品swag| 午夜精品久久久久影视| 久久一二三四| 亚洲精品日韩在线| 午夜精品视频一区| 国产一区视频网站| 亚洲人成网站999久久久综合| 欧美美女日韩| 亚洲欧美三级伦理| 蜜桃av久久久亚洲精品| 亚洲免费观看| 欧美在线视频导航| 亚洲大胆人体在线| 亚洲视频中文| 国产亚洲a∨片在线观看| 亚洲国产高清自拍| 欧美视频免费在线| 欧美亚洲免费电影| 欧美国产亚洲精品久久久8v| 一色屋精品视频在线看| 99精品视频免费观看视频| 国产精品视频专区| 91久久久一线二线三线品牌| 欧美性猛交99久久久久99按摩| 午夜精品久久久久久久| 欧美成人在线影院| 亚洲综合丁香| 欧美国产综合视频| 亚洲制服少妇| 欧美精品麻豆| 欧美一级网站| 欧美日韩国产成人精品| 性久久久久久久久久久久| 欧美激情网友自拍| 性欧美暴力猛交另类hd| 欧美裸体一区二区三区| 欧美中文日韩| 欧美xart系列在线观看| 亚洲在线观看视频网站| 欧美激情 亚洲a∨综合| 午夜欧美大尺度福利影院在线看| 欧美黄色aa电影| 久久狠狠一本精品综合网| 欧美日韩中文精品| 亚洲第一伊人| 国产精品久久久久久久午夜片| 亚洲国产cao| 国产精品自拍在线| 一区二区三区久久网| 一区二区三区在线免费视频| 亚洲尤物在线| 亚洲高清在线| 制服丝袜亚洲播放| 一区二区三区亚洲|