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

        ?

        EPCBC密碼算法的FPGA優(yōu)化實(shí)現(xiàn)研究

        2015-07-18 11:50:29賀位位李仁發(fā)
        關(guān)鍵詞:密鑰時(shí)鐘密碼

        李 浪,鄒 祎,賀位位,李仁發(fā)

        ?

        EPCBC密碼算法的FPGA優(yōu)化實(shí)現(xiàn)研究

        李 浪1,2,鄒 祎1,賀位位3,李仁發(fā)2

        (1. 衡陽師范學(xué)院計(jì)算機(jī)系 湖南衡陽 421002; 2. 湖南大學(xué)信息科學(xué)與工程學(xué)院 長沙 410082; 3. 電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 成都 611731)

        針對(duì)資源約束的智能卡加密需要小面積實(shí)現(xiàn)的問題,對(duì)EPCBC加密算法從硬件上實(shí)現(xiàn)面積優(yōu)化進(jìn)行了如下研究:1) 相同運(yùn)算只實(shí)現(xiàn)一次,主程序調(diào)用32次完成加密;2) 對(duì)S盒變換和密鑰變換使用同一寄存器,從而節(jié)省寄存器數(shù)量;3) 把密文輪操作和密鑰更新放在一個(gè)模塊中。通過FPGA優(yōu)化結(jié)果表明,EPCBC密碼算法實(shí)現(xiàn)面積大幅度減小,優(yōu)化率達(dá)到56%,同時(shí)加密運(yùn)算性能也沒有降低,從而為開發(fā)受資源約束的智能卡密碼硬件提供可行方案。

        面積優(yōu)化; EPCBC加密算法; FPGA; Verilog HDL

        隨著物聯(lián)網(wǎng)的應(yīng)用深入,如何在射頻識(shí)別(radio frequency identification, RFID)等智能卡上實(shí)現(xiàn)有效加密算法成為研究熱點(diǎn)。物聯(lián)網(wǎng)上的密碼算法實(shí)現(xiàn)要求盡可能小的面積實(shí)現(xiàn),它面向資源約束,同時(shí)又要保證加密效率。輕量級(jí)密碼算法正是在這種應(yīng)用背景下發(fā)展起來的,從文獻(xiàn)[1]提出的PRESENT輕量級(jí)密碼算法開始,文獻(xiàn)[2]提出了PUFFIN算法、文獻(xiàn)[3]提出了MIBS算法、文獻(xiàn)[4-5]提出了PICCOLO和LED密碼算法,其中LED被稱為超輕量級(jí)密碼算法,文獻(xiàn)[6]提出了輕量級(jí)密碼算法EPCBC。

        EPCBC密碼算法采用類PRESENT的構(gòu)造方法,兩個(gè)算法加密結(jié)構(gòu)上相同,主要區(qū)別在于EPCBC對(duì)密鑰更新部分進(jìn)行了改變。密鑰長度為96位,特別適用于物聯(lián)網(wǎng)RFID的加密實(shí)現(xiàn), 其加密效率優(yōu)于AES和PRESENT密碼算法。

        AES等主流加密算法已有大量研究成果[7],但目前國內(nèi)外對(duì)EPCBC相關(guān)研究還非常少,因此對(duì)EPCBC密碼算法的硬件優(yōu)化研究具有一定的價(jià)值,可更好地促進(jìn)EPCBC在面向資源約束的智能卡上加密實(shí)際應(yīng)用[8-11]。

        1 EPCBC密碼算法原理

        EPCBC密碼算法有(48,96)和(96,96)兩種實(shí)現(xiàn)形式。(48,96)對(duì)應(yīng)分組長度為48位,密鑰長度為96位;(96,96)對(duì)應(yīng)分組長度為96位,密鑰長度為96位,兩種實(shí)現(xiàn)的加密運(yùn)算都是32輪次。EPCBC密碼的內(nèi)部結(jié)構(gòu)與PRESENT相似,只是分組長度、密鑰更新、置換函數(shù)和查找表次數(shù)有區(qū)別。

        EPCBC主要包括輪密鑰加(AddKey)、S盒變換(SubCell)、P置換(Exchange)操作;同時(shí)對(duì)密鑰key進(jìn)行S盒變換(SubCell)、p置換(Exchange)操作、與輪數(shù)異或。本文以EPCBC(96,96)為對(duì)象進(jìn)行優(yōu)化研究。

        2 優(yōu)化方法

        密碼算法硬件實(shí)現(xiàn)有速度優(yōu)先和面積優(yōu)先兩種優(yōu)化方法。

        2.1 速度優(yōu)先

        速度優(yōu)先方法一般采用全流水進(jìn)行密碼算法實(shí)現(xiàn)。EPCBC密碼32輪運(yùn)算中每輪運(yùn)算的操作相同,若不考慮芯片面積的占用,可將32個(gè)輪運(yùn)算模塊均以硬件實(shí)現(xiàn)。在這種優(yōu)化方法下,每一個(gè)數(shù)據(jù)塊完成一次EPCBC輪運(yùn)算后,立即開始下一級(jí)流水線計(jì)算。不考慮其他因素,此流水線方式在每個(gè)時(shí)鐘周期有32個(gè)數(shù)據(jù)塊同時(shí)串行處理,使得整個(gè)加密運(yùn)算沒有額外的等待時(shí)間。速度優(yōu)先方法使數(shù)據(jù)處理速度比非流水線提高32倍,但它需要大量的硬件資源,即芯片實(shí)現(xiàn)面積增大。

        2.2 面積優(yōu)先

        與速度優(yōu)先方法相比,面積優(yōu)先算法則是在硬件上相同功能模塊只實(shí)現(xiàn)一次,然后重復(fù)調(diào)用。具體到EPCBC密碼算法時(shí),即在硬件上密鑰加、S盒變換和P置換只實(shí)現(xiàn)一次,然后通過主程序重復(fù)調(diào)用32次完成32輪運(yùn)算。該方法可極大地降低硬件開銷。

        EPCBC作為輕量級(jí)加密算法,面向資源約束的智能卡加密應(yīng)用。本文主要考慮面積優(yōu)先實(shí)現(xiàn)EPCBC密碼,具體的優(yōu)化方法如下:

        1) 在硬件上相同運(yùn)算只實(shí)現(xiàn)一次,主程序調(diào)用32次完成加密;

        2) 同一個(gè)模塊對(duì)明文S盒變換和密鑰變換使用同一寄存器,從而節(jié)省寄存器數(shù)量;

        3) 模塊中所有語句并行執(zhí)行,把對(duì)密文輪操作和密鑰更新放在同一模塊中,不會(huì)影響加密速度,不用保存密鑰更新中間結(jié)果。在不影響加密速度的基礎(chǔ)上,有效地節(jié)省寄存器數(shù)量;

        4) 通過計(jì)數(shù)器cnt控制模塊EPCBCRound調(diào)用的次數(shù),實(shí)現(xiàn)加密過程;

        5) 整個(gè)EPCBC密碼算法都采用assign賦值實(shí)現(xiàn),時(shí)鐘信號(hào)控制計(jì)算器更新,完成加密只需32個(gè)時(shí)鐘周期。

        3 EPCBC優(yōu)化部分實(shí)現(xiàn)與驗(yàn)證

        3.1 EPCBCround核心部分優(yōu)化

        核心部分優(yōu)化主要實(shí)現(xiàn)了上述優(yōu)化方法中的1)、2)、3)、5)點(diǎn)。一輪EPCBC運(yùn)算的優(yōu)化方法用Verilog HDL語言描述如下:

        module EPCBCRound(res,Up_k,state,key,r);

        input [4:0] r;

        input [95:0] key,state;

        output[95:0] Up_k,res;

        wire [95:0] Up_k,res;

        reg [3:0] sbox[0:15] ;

        initial begin

        sbox[0]=12;sbox[1]=5;sbox[2]= 6; sbox[3]=11;

        sbox[4]=9;sbox[5]=0;sbox[6]=10; sbox[7]=13;

        sbox[8]=3;sbox[9]=14; sbox[10]=15;sbox[11]= 8;

        sbox[12]=4;sbox[13]=7;sbox[14]= 1;sbox[15]= 2;

        end

        wire [95:0] temp,s_k,s_res;

        assign temp = state ^key ; //AddKey

        SubCell(key)

        SubCell(state)

        Exchange(state)

        Exchange(key)

        endmodule

        仿真軟件采用modelsim 6.1f,EPCBCRound仿真結(jié)果數(shù)據(jù)如表1所示。

        表1 EPCBCRound仿真結(jié)果

        表中,test/r為算法輪數(shù)測(cè)試信號(hào);數(shù)值00為第一輪測(cè)試運(yùn)算;test/state為明文測(cè)試信號(hào);test/key為密鑰測(cè)試信號(hào);test/res為輸出結(jié)果信號(hào)(密文);test/Up_k為密鑰更新信號(hào)。

        3.2 EPCBC主程序優(yōu)化

        EPCBC模塊中,采用資源優(yōu)先方式,實(shí)現(xiàn)上述優(yōu)化方法的第4)。核心優(yōu)化用Verilog HDL語言描述如下:

        module EPCBC(res,state,key,clk);

        input clk;

        input [95:0] state,key;

        output [95:0] res;

        reg ready=1;

        reg switch=1;

        reg [7:0] cnt=8'hff;

        reg [95:0] res, k;

        wire [95:0] t_res,t_k;

        always @(posedge clk) begin

        cnt <= (cnt^31)? cnt+1: cnt;

        ready <= (cnt^31)? 1:0;

        switch <= ready? 1:0;

        res<=ready? (cnt^8'hff) ?t_res:state ) :((switch)?res^k:res);

        k<= ready ? ( (cnt^8'hff) ?t_k : key) : k;

        end

        EPCBCRound ER(t_res,t_k,res,k,cnt[4:0]);

        Endmodule

        EPCBC算法采用assign賦值實(shí)現(xiàn),時(shí)鐘信號(hào)控制計(jì)算器更新,完成加密只需32個(gè)時(shí)鐘周期。使用EPCBC密碼的原始測(cè)試數(shù)據(jù)進(jìn)行仿真實(shí)驗(yàn)驗(yàn)證。

        輸入明文:0123456789ABCDEF01234567

        密鑰:0123456789ABCDEF01234567

        EPCBC仿真實(shí)驗(yàn)結(jié)果如表2所示。

        表2 EPCBC仿真實(shí)驗(yàn)結(jié)果

        表中,test/clk為時(shí)鐘測(cè)試信號(hào);test/state為明文測(cè)試信號(hào);test/key為密鑰測(cè)試信號(hào);test/res為輸出結(jié)果信號(hào)(密文)。從實(shí)驗(yàn)結(jié)果看可出優(yōu)化后加密運(yùn)算結(jié)果是正確的。

        4 性能分析

        對(duì)優(yōu)化前后的EPCBC(96,96)進(jìn)行了FPGA實(shí)現(xiàn),通過ISE 13.2對(duì)EPCBC綜合下載進(jìn)行性能分析,F(xiàn)PGA型號(hào)為xilinx virtex-5 LX50T。優(yōu)化前的EPCBC密碼算法FPGA實(shí)現(xiàn)面積如表3所示,優(yōu)化后的EPCBC密碼算法FPGA實(shí)現(xiàn)面積如表4所示。

        表3 優(yōu)化前的EPCBC密碼算法FPGA實(shí)現(xiàn)面積

        表4 優(yōu)化后的EPCBC密碼算法FPGA實(shí)現(xiàn)面積

        表3和表4反映了EPCBC在實(shí)現(xiàn)FPGA時(shí)各部分的面積占用數(shù)。其中,Slice為EPCBC在FPGA上實(shí)現(xiàn)時(shí)的基本面積單元;LUT為EPCBC在FPGA上的表面積占用單元,第一行與第二行數(shù)值相加即為EPCBC的FPGA實(shí)現(xiàn)面積。

        根據(jù)表3可計(jì)算EPCBC密碼算法優(yōu)化前面積為17 801 Slices,根據(jù)表4可計(jì)算優(yōu)化后面積為10 036 Slices,優(yōu)化效率達(dá)到56%。EPCBC面積優(yōu)化效果如圖1所示。可看出優(yōu)化后的EPCBC在面積資源占用上相比優(yōu)化前有較大優(yōu)勢(shì),特別適合資源約束的RFID加密應(yīng)用實(shí)現(xiàn)。

        圖1 EPCBC面積優(yōu)化效果圖

        優(yōu)化后的EPCBC密碼算法工作頻率如下所示:

        time summary:

        Timing errors:0 score:0(Setup/Max:0,Hold:0)

        Constraints cover 416717 paths,16 nets,and 29917 connections

        Design statistics:

        Minimum period: 9.971ns(Maximum frequency:100.291MHz)

        Maximum path delay from/to any node: 4.340ns

        Maximum net delay: 0.835ns

        Analysis completed Fri Aug 23 10:53:03 2013

        可看出系統(tǒng)時(shí)鐘周期為9.971 ns。由此可得出優(yōu)化后的EPCBC密碼算法吞吐率為:

        =96/9.971=9.627 Gb/s (1)

        式中,表示EPCBC密碼算法的分組長度,單位為bit;表示時(shí)鐘周期。

        可見,面積優(yōu)化后的EPCBC密碼算法加密效率仍然較高,即在面積優(yōu)化的同時(shí)保證了EPCBC的加密速度。

        5 結(jié) 論

        本文對(duì)EPCBC輕量級(jí)密碼算法進(jìn)行了面向面積優(yōu)化的FPGA實(shí)現(xiàn),優(yōu)化方法不但有效降低了EPCBC密碼的實(shí)現(xiàn)面積,同時(shí)實(shí)驗(yàn)結(jié)果表明其性能仍然得到了保證。后續(xù)工作將會(huì)對(duì)其安全性和效率展開進(jìn)一步分析。

        [1] BOGDANOV A, KNUDSEN LR, LEANDER G, et al. Present: an ultra-lightweight block cipher[C]//Proceedings of Cryptographic Hardware and Embedded Systems 2007. Vienna, Austria: Springer, 2007.

        [2] CHENG H, HEYS H, WANG C. Puffin: a novel compact block cipher targeted to embedded digital systems[C] //Proceedings of the 11th EUROMICRO Conference on Digital System Design Architectures Methods and Tools. Parma, Italy: IEEE, 2008.

        [3] IZADI M, SADEGHIYAN B, SADEGHIAN S, et al. MIBS: a new lightweight block cipher[C]//Proceedings of the Cryptology and Network Security 2009. Ishikawa, Japan: Springer, 2009.

        [4] SHIBUTANI K, ISOBE T, HIWATARI H, et al. Piccolo: an ultra-lightweight block cipher[C]//Proceedings of the Cryptographic Hardware and Embedded Systems 2011. Nara, Japan: Springer, 2011.

        [5] GUO J, PEYRIN T, POSCHMANN A, et al. The LED block cipher[C]//Proceedings of the Cryptographic Hardware and Embedded Systems 2011. Nara, Japan: Springer, 2011.

        [6] YAP H, KHOO K, POSCHMANN A, et al. EPCBC-a block cipher suitable for electronic product code encryption[C]// Proceedings of the Cryptology and Network Security 2011. Sanya, China: Springer, 2011.

        [7] GOOD T, BENAISSA M. AES on FPGA from the fastest to the smallest[C]//Proceedings of Cryptographic Hardware and Embedded Systems 2005. Edinburgh, UK: Springer, 2005.

        [8] XINMIAO Z, PARHI K. High-speed VLSI architectures for the AES algorithm[J]. IEEE Transactions on Very Large Scale Integration(VLSI) Systems, 2007, 12(9): 957-967.

        [9] LI C Y, CHIEN C F, HONG J H. An efficient area-delay product design for mixcolumns/invmixcolumns in AES[C]// Proceedings of the 2008 IEEE Computer Society Annual Symposium on VLSI. Montpellier, France: IEEE, 2008.

        [10] KUNDI DS, AZIZ A, IKRAM N. Resource efficient implementation of T-Boxes in AES on virtex-5 FPGA[J]. Information Processing Letters, 2010, 110(10): 373-377.

        [11] LI Zhen-rong, ZHUANG Yi-qi, ZHANG Chao, et al. Low-power and area-optimized VLSI implementation of AES coprocessor for Zigbee system[J]. The Journal of China Universities of Posts and Telecommunications, 2009, 16(3): 89-94.

        編 輯 葉 芳

        Research on FPGA optimal implementation of EPCBC Cipher

        LI Lang1,2, ZOU Yi1, HE Wei-wei3, and LI Ren-fa2

        (1. Department of Computer Science, Hengyang Normal University Hengyang Hunan 421002; 2. College of Information Science and Engineering, Hunan University Changsha 410082; 3. School of Computer Science & Engineering, University of Electronic Science and Technology Chengdu 611731)

        In order to achieve small area implementation of encryption in resource-constrained smart cards, we studied the hardware optimal implementation of electronic product code block cipher(EPCBC) encryption algorithm. Firstly, each operation is accomplished only once, and the main program calls the 32 times to complete the encryption. Secondly, the same register is used in the S-box and key transformation so that the number of required registers is reduced. Thirdly, the cipher round operation and key update are put in the same module. Through field programmable gate array(FPGA) the experimental results show that the implementation area of EPCBC is greatly reduced, the optimization efficiency rate reaches 56%, and the encryption performance is not decreased so as to provide practical solutions for resource-constrained cryptographic smart cards.

        area optimization; EPCBC cipher; FPGA; Verilog HDL

        TP309

        A

        10.3969/j.issn.1001-0548.2015.01.016

        2013-09-25;

        2014-11-02

        國家自然科學(xué)基金(61173036); 湖南省自然科學(xué)基金(2015JJ4011); 湖南省博士后基金(897203005)

        李浪(1972-),男,博士,教授,主要從事嵌入式系統(tǒng)與信息安全方面的研究.

        猜你喜歡
        密鑰時(shí)鐘密碼
        探索企業(yè)創(chuàng)新密鑰
        密碼里的愛
        別樣的“時(shí)鐘”
        密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
        古代的時(shí)鐘
        密碼疲勞
        英語文摘(2020年3期)2020-08-13 07:27:02
        一種對(duì)稱密鑰的密鑰管理方法及系統(tǒng)
        基于ECC的智能家居密鑰管理機(jī)制的實(shí)現(xiàn)
        有趣的時(shí)鐘
        密碼藏在何處
        无码一区二区三区不卡AV| а√中文在线资源库| 亚洲综合欧美在线一区在线播放| 911精品国产91久久久久| 五码人妻少妇久久五码| 亚洲av色av成人噜噜噜| 免费女人高潮流视频在线观看 | 亚洲va视频一区二区三区| 欧美牲交a欧美牲交aⅴ免费真| 7878成人国产在线观看 | 亚洲精品熟女av影院| 中文字幕无码中文字幕有码| 国产成人免费一区二区三区 | 精品国产一区二区三区久久女人| 81久久免费精品国产色夜| 无码国内精品人妻少妇蜜桃视频| 日韩少妇激情一区二区| 日韩在线精品在线观看| 国产av一啪一区二区| 亚洲欧美国产精品久久| 欧美老妇与禽交| 强d乱码中文字幕熟女1000部| 在线视频色系中文字幕| 日日婷婷夜日日天干| 久久久久久中文字幕有精品| 成人亚洲av网站在线看| 久久精品国产亚洲av果冻传媒| 少妇人妻真实偷人精品视频| 亚洲无线码1区| 一级老熟女免费黄色片| 成人aaa片一区国产精品| 五月天婷婷综合网| 大红酸枝极品老料颜色| 插鸡网站在线播放免费观看| av无码免费永久在线观看| 2017天天爽夜夜爽精品视频| 最近更新中文字幕一区二区| 在线观看精品视频网站| 亚洲一区二区三区国产精华液| 日本精品久久性大片日本| 男男亚洲av无一区二区三区久久|