亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種高性能多模式可配置SIMON加密電路設(shè)計

        2022-07-01 07:31:10朱浩文邢鑫怡
        關(guān)鍵詞:信號

        李 斌, 朱浩文, 邢鑫怡, 程 心

        (合肥工業(yè)大學(xué) 電子科學(xué)與應(yīng)用物理學(xué)院,安徽 合肥 230601)

        0 引言

        物聯(lián)網(wǎng)(Internet of Things,IoT)設(shè)備數(shù)量的快速增長和邊緣計算的發(fā)展在給日常生活帶來便利的同時也帶來了數(shù)據(jù)安全性問題[1-2]。分組加密算法作為主流的數(shù)據(jù)加密方法可以保障數(shù)據(jù)傳輸安全。傳統(tǒng)的高級加密標(biāo)準(zhǔn)(advanced encryption standard,AES)雖然廣泛應(yīng)用于需要進(jìn)行數(shù)據(jù)加密的場景中,但是存在加密流程較為復(fù)雜,進(jìn)行硬件實現(xiàn)時消耗資源較多的缺點[3-7]。大量IoT設(shè)備需要采用小尺寸的電池甚至自供電的能量收集電路保障系統(tǒng)運行,由此產(chǎn)生了結(jié)構(gòu)緊湊、適用于資源受限平臺的輕量級密碼算法[8-10]。SIMON輕量級密碼算法作為一種新型的分組密碼算法可提供10種可選的分組和密鑰長度以滿足不同安全性能要求的應(yīng)用場景,因此已成為輕量級密碼領(lǐng)域的研究熱點之一[11-14]。

        文獻(xiàn)[11]提出了一種位串行結(jié)構(gòu)的SIMON加密電路,僅需使用36個Slices,但存在吞吐率低的缺陷,無法滿足IoT場景中大量的數(shù)據(jù)交互需求。文獻(xiàn)[12-13]均設(shè)計實現(xiàn)了緊湊的低功耗SIMON加密電路,但所設(shè)計的電路只能支持固定分組和密鑰長度,無法滿足各類對數(shù)據(jù)加密性能要求迥異的IoT應(yīng)用,缺乏應(yīng)用靈活性。此外,上述有關(guān)SIMON算法的硬件實現(xiàn)均只實現(xiàn)了加密電路部分,沒有考慮分組密碼的迭代方式[15]。

        綜上所述,目前對SIMON加密算法的硬件實現(xiàn)研究主要集中在僅涉及加密電路的位串行結(jié)構(gòu)和單一配置模式上,沒有針對分組密碼的迭代方式進(jìn)行支持,難以滿足多樣化的IoT應(yīng)用需求和分組密碼實際運行需要。本文針對硬件實現(xiàn)功能單一、靈活性低、位串行結(jié)構(gòu)吞吐率低和沒有支持安全的分組迭代的缺點進(jìn)行改進(jìn),設(shè)計了一種基于位并行結(jié)構(gòu)并結(jié)合數(shù)據(jù)路徑復(fù)用技術(shù)的可支持輸出反饋(output feedback, OFB)及計數(shù)器(CTR)模式的高性能輕量級SIMON加密電路。所設(shè)計的電路在Xilinx XC7A35T 現(xiàn)場可編程門陣列(field programmable gate array,FPGA)上進(jìn)行測試,在保證硬件資源開銷較小的前提下,具備支持動態(tài)密鑰更新、支持OFB和CTR迭代方式、分組和密鑰長度可配置和高吞吐率的特點,適用于各類資源受限的IoT設(shè)備。

        1 SIMON加密算法原理

        SIMON算法是一種輕量級的對稱分組加密算法,主要包括輪函數(shù)運算和密鑰調(diào)度2個部分。SIMON算法根據(jù)所支持的分組長度和密鑰長度的不同有10種不同的配置,記作SIMON 2n/mn,其中:2n為分組長度;mn為密鑰長度;n位稱為1個字。例如,SIMON 64/128模式代表1個字的長度為32,密鑰由4個字構(gòu)成,即m為4。SIMON加密算法的分組長度、密鑰長度以及必要的參數(shù)配置見表1所列。

        表1中,輪常數(shù)的目的是消除循環(huán)移位帶來的滑動特性,輪數(shù)表示完成1個分組的加密所需的迭代次數(shù)。

        表1 SIMON密碼算法參數(shù)

        SIMON加密算法采用Feistel結(jié)構(gòu),主要由按位異或、按位與及非線性的循環(huán)移位構(gòu)成,具體算法為:

        Rk(x,y)=(y?(Sx&S8x)?S2x?k,x)

        (1)

        (2)

        其中:Rk為輪函數(shù);Si表示循環(huán)左移i位;k為密鑰。 輪函數(shù)運算對2n位輸入分組長度的數(shù)據(jù)首先等分為高n位XL和低n位XR,XL循環(huán)左移1位和循環(huán)左移8位后的數(shù)據(jù)進(jìn)行按位與后和XR進(jìn)行異或,所得數(shù)據(jù)再與XL循環(huán)左移2位的數(shù)據(jù)進(jìn)行異或,結(jié)果與相應(yīng)輪密鑰進(jìn)行異或操作后對原XL數(shù)據(jù)進(jìn)行更新,同時原XL數(shù)據(jù)直接覆蓋原XR。重復(fù)上述輪函數(shù)操作流程直至迭代次數(shù)達(dá)到表1所規(guī)定的相應(yīng)輪數(shù)R,即完成1次加密。

        對特定的SIMON 2n/mn,密鑰調(diào)度的方法取決于m的取值,m的3種取值對應(yīng)的具體密鑰調(diào)度方法有所區(qū)別。將輸入初始密鑰等分為m組,當(dāng)m=2/3時,對最高n位循環(huán)右移3位后與低n位進(jìn)行異或得到中間值,同時在循環(huán)右移3位的基礎(chǔ)上再右移1位與上述中間值再次異或,最終異或上輪常數(shù)的第i位后再異或常量M,并更新密鑰寄存器的最高n位,同時各組密鑰寄存器分別由上一組密鑰寄存器的值進(jìn)行覆蓋更新。而對m=4的密鑰調(diào)度方案,KR3寄存器的更新過程與m=2/3時有所不同。

        2 多模式SIMON加密電路設(shè)計

        本文設(shè)計的可配置分組和密鑰長度的SIMON加密電路主要分為加密控制單元、密鑰調(diào)度單元和輪函數(shù)運算單元3個部分,如圖1所示。該加密電路接收外部輸入時鐘信號CLK、復(fù)位信號RST-n、輸入明文DIN、初始密鑰SEED、加密使能信號EN和模式選擇信號MODE,輸出加密完成信號DONE及密文DOUT。

        圖1 SIMON加密電路架構(gòu)

        2.1 加密控制單元

        加密控制單元主要提供密鑰調(diào)度單元和輪函數(shù)運算單元所需的控制信號,具體包括由加密輪數(shù)計數(shù)器值、加密進(jìn)程指示信號共同構(gòu)成的控制信號總線CTRL以及DONE信號。

        加密控制單元的內(nèi)部主要由增量計數(shù)器、預(yù)存加密輪數(shù)數(shù)值的只讀存儲器(read only memory,ROM)和比較器構(gòu)成,在時鐘上升沿,EN信號有效后計數(shù)器從0開始遞增計數(shù)。同時,MODE信號輸入到預(yù)存加密輪數(shù)的ROM將完成相應(yīng)模式需要的輪數(shù)值作為比較器的一個輸入,計數(shù)器輸出作為比較器的另一路輸入,待計數(shù)器輸出與加密輪數(shù)相等,輸出DONE信號。加密控制單元還輸出一路加密電路內(nèi)部使用的CTRL信號給密鑰調(diào)度單元和輪函數(shù)運算單元,從而控制內(nèi)部的寄存器在加密完成后保持寄存器輸出狀態(tài),減小動態(tài)功耗。

        2.2 密鑰調(diào)度單元

        密鑰調(diào)度單元接收加密控制單元傳遞的EN信號進(jìn)入密鑰更新狀態(tài),并根據(jù)輸入MODE的值對內(nèi)部數(shù)據(jù)通路進(jìn)行選擇,從而實現(xiàn)不同m取值下的調(diào)度方法及不同的有效密鑰長度。密鑰調(diào)度模塊可以接收外部輸入的SEED,避免了長期采用固定密鑰帶來的安全隱患,從而進(jìn)行動態(tài)密鑰更新。

        密鑰調(diào)度過程需要使用的輪常數(shù)Z[j]利用ROM預(yù)存,每個輪常數(shù)均擴(kuò)展為72位,從而滿足需要最長72位輪常數(shù)的模式。MODE作為尋址輪常數(shù)ROM的地址,取出對應(yīng)的輪常數(shù)并在時鐘控制下并行存入移位寄存器進(jìn)行逐位右移。

        密鑰調(diào)度單元如圖2所示。

        圖2 密鑰調(diào)度單元

        由表1可知最大密鑰長度為256位,因此位并行實現(xiàn)的密鑰調(diào)度單元使用256位寄存器,并均分為4組。EN有效時,加載SEED信號,若密鑰長度不滿256位,則按照高位優(yōu)先填充的方式加載到相應(yīng)寄存器中。每個時鐘周期,各個寄存器數(shù)據(jù)通過輸入端的多路選擇器(MUX)選擇下個周期的數(shù)據(jù)輸入來源。MUX的控制端切換取決于當(dāng)前工作模式下MODE信號的取值。當(dāng)m=2時,KR3寄存器的輸出經(jīng)MUX直接輸入到KR0,KR1和KR2寄存器不使用;當(dāng)m=3時,KR3數(shù)據(jù)輸出經(jīng)MUX輸入KR1,而KR1的輸出作為KR0的輸入,KR2不使用;當(dāng)m=4時,KR3、KR2、KR1、KR0經(jīng)MUX順序連接構(gòu)成移位寄存器形式,對3種m的不同取值,采用圖2的寄存器設(shè)計可以保證只對KR3進(jìn)行循環(huán)右移的操作,使得3種密鑰調(diào)度方法實現(xiàn)的資源復(fù)用。當(dāng)m=4時,只需對KR1寄存器進(jìn)行額外的循環(huán)右移1位的操作,具體使用KR3循環(huán)右移3位的結(jié)果或KR1循環(huán)右移1位與KR3循環(huán)右移4位再異或后的結(jié)果是通過MUX完成的,從而滿足不同密鑰調(diào)度方法的需要。

        此外,密鑰調(diào)度單元中KR3的更新還需要輪常數(shù)Z[j]以及常量M的參與。由于M是最低兩位為0、高位均為1的比特串,與M的異或可以簡化為對數(shù)據(jù)高位取反并保持最低兩位不變。因此,原本所需65個兩輸入異或門減至62個反相器和1個兩輸入異或門。

        2.3 輪函數(shù)運算單元

        輪函數(shù)運算單元的狀態(tài)取決于128位寄存器{XL,XR},該寄存器存儲外部輸入的DIN以及在輪函數(shù)運算迭代更新過程的中間值,從而實現(xiàn)原位計算,減小寄存器資源的開銷。XL被用來存儲數(shù)據(jù)的高64位,XR存儲數(shù)據(jù)的低64位。由加密控制單元輸出的MODE信號控制輪函數(shù)運算單元內(nèi)部數(shù)據(jù)通路的MUX,實現(xiàn)多模式可配置并充分復(fù)用運算資源。輪函數(shù)操作可抽象為數(shù)據(jù)傳遞和數(shù)據(jù)更新2個步驟。輪函數(shù)運算單元如圖3所示,數(shù)據(jù)傳遞將XL數(shù)據(jù)復(fù)制給XR,而數(shù)據(jù)更新涉及XL和XR以及密鑰調(diào)度單元傳遞的輪密鑰KEY。

        圖3 輪函數(shù)運算單元

        {XL,XR}寄存器輸入數(shù)據(jù)的更新由MUX控制。EN信號優(yōu)先級最高,當(dāng)EN有效時,DIN信號被選中,從而一個新的分組加密過程開始。若輸入明文長度不滿128位,則按照高位優(yōu)先填充的方式將明文均分為2個部分,低位補0后分別加載到XL和XR寄存器中。明文加載完成后輪函數(shù)運算單元開始迭代過程,此時MUX選中輪函數(shù)運算結(jié)果,即XL輸入為SIMON輪函數(shù)運算的結(jié)果,從而完成數(shù)據(jù)更新步驟,而XR輸入上一個周期結(jié)束時XL的數(shù)據(jù),從而完成數(shù)據(jù)傳遞步驟。當(dāng)加密控制單元DONE信號有效時,寄存器{XL,XR}將對當(dāng)前值進(jìn)行保持,即DOUT不變,便于外部系統(tǒng)取用密文,同時不處于加密工作狀態(tài)時,整個電路的寄存器輸出不發(fā)生信號跳變,從而降低系統(tǒng)的功耗。

        2.4 擴(kuò)展SIMON加密電路

        基于上述SIMON加密電路,本文設(shè)計了支持OFB和CTR分組迭代方式的SIMON加密電路,支持實際分組密碼迭代操作的需要。擴(kuò)展后的SIMON加密電路如圖4所示。通過引入初始值INT-VAL信號及OFB-CTR-SEL信號,切換不同的輸入初始值并改變加密迭代數(shù)據(jù)流向,從而在基本SIMON加密電路基礎(chǔ)上支持分組加密的OFB和CTR迭代。

        圖4 擴(kuò)展后的SIMON加密電路

        3 實驗結(jié)果與比較

        為了測試所提出的SIMON加密電路的功能和性能指標(biāo),本文通過Verilog HDL進(jìn)行設(shè)計描述并使用Artix-7 XC7A35T FPGA作為實驗平臺進(jìn)行功能和性能測試。

        本文提出的可動態(tài)密鑰更新且支持多模式可配置的SIMON加密電路,在該FPGA平臺上最大工作頻率為350 MHz,各類資源消耗分別為816LUTs、473FFs和245Slices,其中LUTs、FFs和Slices分別代表FPGA的查找表、寄存器和切片數(shù)。吞吐率的計算公式為:

        Tp=fω/τ

        (3)

        其中:f為電路的工作頻率;ω為有效的數(shù)據(jù)路徑寬度;τ為加密過程的延時周期。

        MODE分別為4’d0、4’d7及4’d9,對應(yīng)SIMON 32/64(模式0)、SIMON 128/128(模式7)以及SIMON 128/256(模式9)的測試結(jié)果如圖5所示,輸出密文與官方測試標(biāo)準(zhǔn)數(shù)據(jù)一致,即SIMON加密電路正確完成了加密功能。

        圖5 多模式可配置SIMON加密電路測試波形

        與文獻(xiàn)[11]提出的位串行結(jié)構(gòu)實現(xiàn)的SIMON加密電路相比,雖然消耗的資源提高了6.8倍,但最大吞吐率提升了183倍,在10種分組長度和密鑰長度配置模式下的吞吐率及延時如圖6所示。由圖6可知:模式0下的吞吐率為350.0 Mb/s;模式7下達(dá)到最大吞吐率為658.8 Mb/s,比模式0吞吐率提升1.88倍;模式9下達(dá)到最大延時為205.7 ns。

        圖6 多模式配置下的吞吐率與延時

        本文方法與相關(guān)研究的比較見表2所列。

        表2 SIMON加密電路性能對比

        相較于文獻(xiàn)[12-13]所提出的單一模式的加密電路來說,多模式可配置的硬件設(shè)計實現(xiàn)了對變長明文分組長度和密鑰長度的支持,從而可以廣泛應(yīng)用于對加密性能有不同需求的資源受限的IoT設(shè)備。

        從表2可以看出,本文所提出的SIMON加密電路性能更優(yōu),其中文獻(xiàn)[12]選取了所提出的64位并行實現(xiàn)方案,吞吐率數(shù)據(jù)由本文(3)式計算得出?;赟IMON加密電路擴(kuò)展對分組密碼OFB和CTR迭代的支持后,Slices資源僅提高了19.6%。

        4 結(jié)論

        本文提出了一種基于SIMON密碼算法的多模式可配置的輕量級加密電路,在Xilinx Artix-7 XC7A35T FPGA上進(jìn)行硬件實現(xiàn)和性能測試。實驗結(jié)果表明,所設(shè)計的SIMON加密電路最大頻率可達(dá)350 MHz,在僅消耗245 Slices的情況下,10種模式下的吞吐率均超過350.0 Mb/s,其中最大吞吐率為658.8 Mb/s。此外該電路經(jīng)擴(kuò)展支持分組迭代的OFB和CTR后,資源消耗僅提高19.6%,不僅可滿足IoT場景中的各類有數(shù)據(jù)加密需求的應(yīng)用,還在保持較小硬件開銷的同時具備充分的靈活性。

        猜你喜歡
        信號
        信號
        鴨綠江(2021年35期)2021-04-19 12:24:18
        完形填空二則
        7個信號,警惕寶寶要感冒
        媽媽寶寶(2019年10期)2019-10-26 02:45:34
        孩子停止長個的信號
        《鐵道通信信號》訂閱單
        基于FPGA的多功能信號發(fā)生器的設(shè)計
        電子制作(2018年11期)2018-08-04 03:25:42
        基于Arduino的聯(lián)鎖信號控制接口研究
        《鐵道通信信號》訂閱單
        基于LabVIEW的力加載信號采集與PID控制
        Kisspeptin/GPR54信號通路促使性早熟形成的作用觀察
        亚洲av精品一区二区| 伴郎粗大的内捧猛烈进出视频观看| 亚洲伊人久久一次| 亚洲一级av大片在线观看| 被灌醉的日本人妻中文字幕| 黑人巨茎大战俄罗斯美女| 精品成人乱色一区二区| 日韩亚洲欧美精品| 婷婷开心五月亚洲综合| 少妇久久久久久人妻无码| 成熟人妻av无码专区| 国产精品18久久久久久首页| 尤物蜜桃视频一区二区三区| 欧美人与动性xxxxx杂性| 国产乱理伦片在线观看| 国产韩国精品一区二区三区| 东京热加勒比视频一区| 精品国产青草久久久久福利| 人妻人人澡人人添人人爽人人玩| 国产精品亚洲一区二区极品| 久久伊人亚洲精品视频 | 国产99视频一区二区三区| 国产禁区一区二区三区| 国产精品久久国产三级国不卡顿| 在线视频一区二区日韩国产 | 国产高清精品一区二区| 国产超碰人人爽人人做人人添| 亚洲羞羞视频| 性视频毛茸茸女性一区二区| 日韩中文字幕版区一区二区三区| 全免费a级毛片免费看网站| 国产精品每日更新在线观看 | 五月天激情电影| 亚洲精品人成无码中文毛片| 亚洲 国产 韩国 欧美 在线| 久久久麻豆精亚洲av麻花| 色综合久久久久久久久久| 黄色网址国产| 丝袜人妻中文字幕首页| 国产精品爽爽ⅴa在线观看| 欧美做受视频播放|