国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Midori密碼算法FPGA優(yōu)化研究

2020-05-19 10:18馮景亞郭影黃現(xiàn)彤
衡陽師范學(xué)院學(xué)報 2020年3期
關(guān)鍵詞:加密算法密鑰比特

馮景亞,李 浪,郭影,黃現(xiàn)彤

(1.湖南師范大學(xué) 信息科學(xué)與工程學(xué)院,湖南 長沙 410081;2.衡陽師范學(xué)院 計算機(jī)科學(xué)與技術(shù)學(xué)院,湖南 衡陽 421002;3.智能信息處理與應(yīng)用湖南省重點(diǎn)實(shí)驗室,湖南 衡陽 421002)

Midori是在ASIACRYPT 2015上提出的一種基于SPN結(jié)構(gòu)的分組密碼算法,其分組長度包括64比特和128比特兩種,分別記為Midori64和Midori128[1-2]。Midori分組密碼的組件是專門為滿足低能耗要求而量身定制的,它不僅減少了面積的消耗和等待時間,還減少了總體能耗,所以該算法對于能源預(yù)算緊張的應(yīng)用特別有效,例如醫(yī)療植入物、資源受限的RFID標(biāo)簽、智能設(shè)備和傳感器節(jié)點(diǎn)。

本文首先分析了Midori64的加密過程,并對其加密結(jié)構(gòu)進(jìn)行了優(yōu)化,然后依據(jù)算法不同架構(gòu)的硬件實(shí)現(xiàn)[3-9],提出了一種新的基于迭代的硬件體系結(jié)構(gòu),該架構(gòu)為減少算法占用資源,提高部件的復(fù)用率,對Midori64算法的部件做了進(jìn)一步地優(yōu)化。我們采用xc5vsx50t-2ff1136 FPGA設(shè)備對Midori64基于迭代的硬件體系結(jié)構(gòu)進(jìn)行了綜合,與其他基于迭代的硬件實(shí)現(xiàn)相比,本文提出的硬件體系結(jié)構(gòu)有效地節(jié)省了算法的硬件實(shí)現(xiàn)面積,提高了算法的加密速度。

1 Midori64算法描述

圖1 Midori64的加密流程圖

Midori64加密算法的操作過程如圖1所示,其加密操作包括密鑰加變換(Add Key)、單元替換(Sub-Cell)、單元移位變換(ShuffleCell)以及列混淆變換(MixColumn)[2]。

密鑰加變換:密鑰加變換包括白化密鑰加變換和輪密鑰加變換。在Midori64算法中,128比特的主密鑰是由兩個64比特密鑰K0和K1組成,即主密鑰K=K0||K1。白化密鑰WK是密鑰K0和K1異或的結(jié)果。輪密鑰RK是根據(jù)輪數(shù)的奇偶性來動態(tài)獲取的,當(dāng)輪數(shù)為奇數(shù)時,RK是K0與輪常量ai異或的結(jié)果;當(dāng)輪數(shù)為偶數(shù)時,RK為K1與輪常量ai異或的結(jié)果,其中0≤i≤14。

單元替換:Midori64狀態(tài)以4比特為一單元同S盒Sb0進(jìn)行替換,Sb0如表1所示。

單元移位變換:將單元替換結(jié)果分為16個長度為4比特的塊,以塊為單位進(jìn)行變換,即:

2 改進(jìn)的Midori64算法

2.1 優(yōu)化原理

Midori64的密鑰擴(kuò)展是以輪數(shù)的奇偶性為控制信號,通過K0或K1與輪常量異或來獲取的輪密鑰,而加密過程的輪密鑰加也是以輪數(shù)為控制信號。為減少代碼冗余,提高M(jìn)idori64加密算法的運(yùn)行效率,本文對密鑰擴(kuò)展與加密過程進(jìn)行了整合。同時對Midori64算法的加密結(jié)構(gòu)進(jìn)行了如下的優(yōu)化:

1)Midori64的密鑰擴(kuò)展與加密過程整合后,加密算法就不再需要WK和RK。密鑰加變換不再是白化密鑰加和輪密鑰加兩種變換,而是直接通過輪數(shù)i控制信號來完成相應(yīng)的異或操作。假設(shè)密鑰加變換的輸入狀態(tài)為X1,密鑰加變換的輸出狀態(tài)為X2,那么整合后的計算過程如下:

2)Midori64加密過程中,除了第一輪和最后一輪的輪函數(shù)有所不同之外,其他輪的輪函數(shù)是一樣的,依次進(jìn)行單元替換(SubCell)、單元移位變換(ShuffleCell)、列混淆變換(MixColumn)和密鑰加(AddKey)。為了優(yōu)化Midori算法的加密結(jié)構(gòu),本文對輪函數(shù)做出了改進(jìn),即將單元移位和列混淆進(jìn)行了合并?,F(xiàn)假設(shè)單元替換的輸出狀態(tài)為X0,密鑰加運(yùn)算的輸入狀態(tài)為X1,其中

則單元移位變換、列混淆變換的計算過程描述如下:

將狀態(tài)X0、X1看作一維數(shù)組,則單元移位和列混淆兩個過程可通過以下方式實(shí)現(xiàn):

兩個過程合并后,式子看上去更復(fù)雜了,但X1每個元素bi還是通過X0中的3個元素進(jìn)行異或得到的,并且整合后的矩陣仍是對合的。所以,整合后的運(yùn)算仍是易于實(shí)現(xiàn)的。

設(shè)P=(P0,P1,…,P14,P15)為輸入明文,C=(C0,C1,…,C14,C15)為輸出密文,K=K0||K1為主密鑰。改進(jìn)后的Midori64不存在密鑰擴(kuò)展算法,而加密算法描述如下:

2.2 具體優(yōu)化實(shí)現(xiàn)

我們根據(jù)文獻(xiàn)[10]中提出的架構(gòu)方法,對優(yōu)化后的Midori64構(gòu)建了一種基于迭代的硬件架構(gòu)Midori64-1,如圖2所示。硬件實(shí)現(xiàn)中,此架構(gòu)需要16個S盒,一種可以簡化為24個XOR門,6個64比特的XOR層以及一個64位寄存器。但Midori64-1不能很好地的體現(xiàn)密鑰加變換的改進(jìn)。為解決這一問題,我們提出了一種新的基于迭代的硬件架構(gòu)Midori64-2,如圖3所示。該架構(gòu)的密鑰加變換只需要2個64比特的XOR層。與Midori64-1相比,Midori64-2減少了硬件實(shí)現(xiàn)面積,提高了部件的復(fù)用率。

圖2 優(yōu)化后的Midori64基于迭代硬件實(shí)現(xiàn)架構(gòu)Midori64-1

圖3 優(yōu)化后的Midori64基于迭代硬件實(shí)現(xiàn)架構(gòu)Midori64-2

圖4 Midori64-1和Midori64-2架構(gòu)的硬件實(shí)現(xiàn)仿真結(jié)果

2.3 仿真實(shí)驗

Midori64-1、Midori64-2均使用VHDL語言實(shí)現(xiàn),通過ModelSim10.1c應(yīng)用軟件仿真的結(jié)果如圖4所示。

文獻(xiàn)[1]在附錄中給出的Midori64測試向量如圖5所示。優(yōu)化后的Midori64采用同樣的明文與初始密鑰分別以Midori64-1和Midori64-2兩種架構(gòu)進(jìn)行仿真測試,得出的密文與原始文獻(xiàn)相同,從而證明了Midori64的優(yōu)化方法以及新提出的Midori64-1和Midori64-2架構(gòu)是正確的。

圖5 原始文獻(xiàn)提供的Midori64的測試向量

3 FPGA硬件實(shí)現(xiàn)結(jié)果分析

由于使用的FPGA平臺不同,很難進(jìn)行公平的比較,所以我們采用Xilinx Design Suite 14.7的應(yīng)用軟件,在xc5vsx50t-2ff1136 FPGA設(shè)備上分別對Midori64-1、Midori64-2和文獻(xiàn)[10]中提出的架構(gòu)進(jìn)行了綜合。加密算法的總能量決定了能量的利用率??偣摹⒀舆t和電路的工作頻率決定了加密算法所需要的總能量。表2中給出了不同架構(gòu)實(shí)現(xiàn)所需的資源面積、最大頻率、最大頻率下吞吐量的計算結(jié)果以及功耗和最大頻率下的能耗計算結(jié)果。

根據(jù)表2中三種不同架構(gòu)硬件實(shí)現(xiàn)所需的資源面積,可以看出Midori64-2架構(gòu)硬件實(shí)現(xiàn)所需資源面積最少,與文獻(xiàn)[10]中硬件實(shí)現(xiàn)所需的面積相比,Midori64-2硬件實(shí)現(xiàn)占有資源面積少了100個LUTS,優(yōu)化效率達(dá)到了26.25%,有效節(jié)省了硬件實(shí)現(xiàn)面積。Midori64-2架構(gòu)的吞吐率為1 300.74 Mbps,是三種架構(gòu)中最大的,相對于文獻(xiàn)[10]的吞吐率,其加密速度提高了(1300.74-1079.15)/1079.15=20.53%。Midori64-1架構(gòu)實(shí)現(xiàn)能耗最低,相對于原始架構(gòu),其能耗減少了(41.68-32.35)/41.68=22.38%,而Midori64-2架構(gòu)實(shí)現(xiàn)能耗減少了(41.68-34.53)/41.68=17.15%。

表2 不同架構(gòu)實(shí)現(xiàn)所需的資源面積、最大頻率、吞吐量、功耗以及能耗

4 結(jié)束語

隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,嵌入式設(shè)備比如智能卡芯片變得越來越輕薄,這使得如何更有效地減少算法硬件實(shí)現(xiàn)占有資源成為了一個重要的研究課題。因此,優(yōu)化Midori密碼算法硬件實(shí)現(xiàn)面積和加密性能是十分必要的。本文對Midori64算法結(jié)構(gòu)和密鑰擴(kuò)展進(jìn)行了優(yōu)化,并通過Midori64-1,Midori64-2兩種基于迭代的架構(gòu)類型對優(yōu)化后的Midori64算法進(jìn)行了綜合。綜合結(jié)果表明,Midori64-1硬件實(shí)現(xiàn)占用面積少,具有高吞吐量,適用于需要高吞吐量、面積受限的應(yīng)用程序,而Midori64-2適用于能耗為主要限制的應(yīng)用程序。

猜你喜歡
加密算法密鑰比特
幻中邂逅之金色密鑰
幻中邂逅之金色密鑰
基于DES加密算法的改進(jìn)研究
密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
DES加密算法的實(shí)現(xiàn)
基于整數(shù)矩陣乘法的圖像加密算法
TPM 2.0密鑰遷移協(xié)議研究
比特幣還能投資嗎
比特幣分裂
比特幣一年漲135%重回5530元
兴宁市| 溆浦县| 巴里| 台中县| 武威市| 鞍山市| 仙桃市| 方山县| 桂阳县| 夏河县| 通化市| 长垣县| 渝北区| 安塞县| 平乡县| 海门市| 浦东新区| 开原市| 深州市| 屏东市| 波密县| 大足县| 铜鼓县| 阿拉善左旗| 老河口市| 大连市| 绥江县| 将乐县| 综艺| 安仁县| 乌鲁木齐县| 台江县| 吉林省| 开封县| 比如县| 洪洞县| 炎陵县| 石泉县| 定日县| 远安县| 沂南县|