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

        ?

        DES加密算法的FPGA實現(xiàn)

        2008-04-12 00:00:00鄭春來耶曉東
        現(xiàn)代電子技術(shù) 2008年7期

        摘 要:為了實現(xiàn)一塊具備高速加密/解密功能的DES芯片,在介紹了DES加密/解密算法原理的基礎(chǔ)上,使用Verilog HDL語言對DES算法進行了實現(xiàn)。仿真結(jié)果表明該DES加密/解密模塊功能完全正確。本模塊基于Altera公司的Stratix系列EP1S10B672C6芯片,最高工作頻率可達106 MHz,數(shù)據(jù)編碼速率最高可達6 Gb/s。

        關(guān)鍵詞:DES;FPGA;Verilog HDL;編碼速率

        中圖分類號:TP309.2文獻標(biāo)識碼:B

        文章編號:1004-373X(2008)07-080-03

        FPGA Implementation of DES Encryption

        ZHANG Feng,ZHENG Chunlai,YE Xiaodong

        (Shaanxi University of Technology,Hanzhong,723003,China)

        

        Abstract:To implement a DES module with high speed encode/decode rate,the paper introduces the principle of DES encryption and the design process of the DES with Verilog HDL.Simulation suggests:the DES module operates well.Download with Altera Stratix series FPGA,EP1S10B672c6,the DES module can work at the clock of 106 MHz,encode/decode rate at 6Gbits/s.

        Keywords:DES;FPGA;Verilog HDL;encode rate

        1 引 言

        隨著通信技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,對于數(shù)據(jù)傳輸安全性的要求也隨之增強,因此人們提出了很多數(shù)據(jù)加密算法。基本加密算法有兩種:對稱密鑰加密、非對稱密鑰加密。其中,對稱密鑰加密也叫秘密/專用密鑰加密,即發(fā)送和接收數(shù)據(jù)的雙方必須使用相同的/對稱的密鑰對明文進行加密和解密運算。最著名的對稱密鑰加密標(biāo)準是數(shù)據(jù)加密標(biāo)準DES。DES是一種使用56個數(shù)據(jù)位的密鑰來操作64位數(shù)據(jù)塊的塊加密算法,由IBM公司推出,可同時對大量數(shù)據(jù)進行快速加密。

        DES的實現(xiàn)方法通常分為軟件實現(xiàn)和硬件實現(xiàn)兩種。軟件實現(xiàn)時速度較慢,軟件實現(xiàn)DES算法的最快速度不到150 Mb/s,在某些高速數(shù)據(jù)傳輸?shù)膱龊?,?shù)據(jù)傳輸速率達到1 Gb/s以上,用軟件實現(xiàn)算法是無法滿足要求的;同時,軟件實現(xiàn)DES算法在安全性方面也存在隱患,因此必須采用硬件實現(xiàn)。DES算法全部是邏輯運算,用硬件實現(xiàn)時速度很快,通??梢赃_到軟件實現(xiàn)速度的幾十倍。FPGA(現(xiàn)場可編程門陣列)在實現(xiàn)算法方面具有靈活性、物理安全性和比軟件更高的速度性能,已成為硬件實現(xiàn)DES算法的最好選擇。

        2 DES算法原理

        DES算法是一種分組加密算法,他以64位的分組數(shù)據(jù)進行加解密,數(shù)據(jù)加密和解密使用相同的算法結(jié)構(gòu),只是密鑰的使用順序不同。密鑰通常為64位,但每個第8位都用作奇偶校驗,實際密鑰長度為56位。DES算法的保密性取決于密鑰,但只有極少數(shù)的密鑰被認為是弱密鑰,所以在實際的應(yīng)用中可以很容易避免。圖1為DES算法的流程圖。

        DES算法的基本流程如下:首先,輸入明文通過初始置換,將其分成左、右各為32位的兩個部分,然后進行16輪完全相同的運算。經(jīng)過16輪運算后,左、右半部分合并在一起經(jīng)過一個末置換(初始置換的逆置換),于是整個算法結(jié)束。

        在每一輪運算中,密鑰位移位,然后再從密鑰的56位中選取48位。通過一個擴展置換,將數(shù)據(jù)的右半部分擴展為48位,并通過一個異或操作與一個48位密鑰結(jié)合,通過8個S盒將這48位替代成新的32位數(shù)據(jù),再通過一級置換操作。這四步操作即為圖1中的函數(shù)f。圖2給出了函數(shù)f的計算流程圖。

        假設(shè)Bi是第i次迭代的結(jié)果,Li和Ri為Bi的左半部分和右半部分,Ki是第i輪的48位密鑰,那么每一輪就是:

        

        Li=Ri-1

        Ri=Li-1⊕f(Ri-1,Ki)

        

        圖1 DES算法流程

        圖2 函數(shù)f的計算流程

        3 具體硬件實現(xiàn)

        DES算法的硬件實現(xiàn)以圖1為基礎(chǔ),其中的初始置換和末置換的實現(xiàn)比較簡單,具體可參考文獻[1] 。硬件實現(xiàn)的關(guān)鍵在于如何實現(xiàn)函數(shù)f和每一輪迭代中密鑰。本文重點研究了DES算法中函數(shù)f的實現(xiàn)方法,并給出了實際代碼。

        函數(shù)f的實現(xiàn)參照圖2,首先將數(shù)據(jù)的右半部分擴展為48位數(shù)據(jù),該操作的目的是產(chǎn)生與密鑰同長度的數(shù)據(jù)以進行異或操作。異或操作的結(jié)果(48位)進行S盒替代,將數(shù)據(jù)壓縮為32位。每個S盒都有6位的輸入,4位的輸出,48位的輸入被分為8個6位的分組,每一個分組對應(yīng)一個S盒替代操作。每個S盒是一個4行、16列的表,輸入位以一種特殊的方式確定S盒中的項。假定將S盒的6位輸入標(biāo)記為x0,x1,x2,x3,x4,x5。則x0和x5組合成2位的數(shù),從0~3,對應(yīng)表中的一行,x2~x5構(gòu)成一個4位的數(shù),從0~15,對應(yīng)表中的一列。限于篇幅,本文僅給出S1盒的置換,具體如表1所示。

        整個模塊的實現(xiàn)代碼如下:

        在函數(shù)f的實現(xiàn)中,我們使用例化調(diào)用了S box1~8。S盒是DES中的非線性模塊,直接決定DES算法的安全性。根據(jù)表1,我們使用CASE語句可以方便地實現(xiàn)S盒。S盒的實現(xiàn)方法相同,本文只給出S1盒第0行的實現(xiàn)。參考文獻[1- 3]的S盒替代函數(shù),根據(jù)本文給出的方法,可以方便地實現(xiàn)函數(shù)f。

        //S1盒的Verilog HDL設(shè)計

        modulesbox1(addr,dout);

        input [1:6] addr;

        output [1:4] dout;

        reg [1:4] dout;

        always @(addr) 

        begin

        case ({addr[1],addr[6]}) //判斷替代函數(shù)的行

        2′b00://S1盒第0行 

        Case (addr[2:5]) 

        0:dout=14;1:dout=4;2:dout=13;3:dout=1;

        4:dout=2;5:dout=15;6:dout=11;7:dout=8;

        8:dout=3;9:dout=10;10:dout=6;11:dout=12;

        12:dout=5;13:dout=9;14:dout=0;15:dout=7;

        Endcase

        2′b01://S1盒第1行 2′b10://S1盒第2行 2′b11://S1盒第3行

        Case (addr[2:5])Case (addr[2:5])Case (addr[2:5])

        //具體內(nèi)容略 //具體內(nèi)容略 //具體內(nèi)容略

        EndcaseEndcaseEndcase

        end

        endmodule

        4 測試仿真及結(jié)果

        DES模塊在Quartus Ⅱ5.1版本中,綜合結(jié)果表明:該DES模塊耗費4362LE,該模塊下載到EP1S10B672C6芯

        片中,最高工作頻率可達106.85 MHz。由于本設(shè)計采用16級流水總線設(shè)計,所以最高數(shù)據(jù)編碼/解碼速率可達6 Gb/s。在Quartus中的仿真結(jié)果如圖3所示。其中,decrypt為加密/解密模式選擇信號,低電平為加密模式,高電平為解密模式。desIn為輸入信號,desOut為輸出信號,key為密鑰。根據(jù)文獻[4] ,采用675A69675E5A6B5A作為明文,5B5A57676A56676E作為密鑰,加密后的密文應(yīng)為974AFFBF86022D1F。因此,我們采用以上的數(shù)據(jù)作為測試向量,對設(shè)計進行了測試。測試結(jié)果表明:本設(shè)計的加密/解密功能完全正確。

        圖3 DES加密/解密仿真波形

        參 考 文 獻

        [1]National Institute of Standard and Technology.Data Encryption Standard(DES)[M].Federal Information Processing Standards Publication,1999.

        [2]徐光輝,程東旭,黃如.基于FPGA的嵌入式開發(fā)與應(yīng)用[M].北京:電子工業(yè)出版社,2006.

        [3]馮登國.網(wǎng)絡(luò)安全原理與技術(shù)[M].北京:科學(xué)出版社,2003.

        [4]卡茨安(美).標(biāo)準數(shù)據(jù)加密算法[M].北京:人民郵電出版社,1983.

        [5]邵金祥,何志敏.基于FPGA的3DES加密算法高速實現(xiàn)[M].現(xiàn)代電子技術(shù),2004,27(21):55-57.

        作者簡介 張 峰 男,1979年出生,陜西戶縣人,助教,碩士。主要從事基于FPGA的數(shù)字信號處理及應(yīng)用設(shè)計。

        注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。

        韩国日本一区二区在线| 亚洲一区二区综合色精品| 欧美日韩综合在线视频免费看| 人妻有码中文字幕在线| 亚洲成av人片不卡无码| 成人免费看吃奶视频网站| 国产在线视频国产永久视频| 久久精品亚洲熟女九色| 国产亚洲一区二区在线观看| 国产精品ⅴ无码大片在线看 | 欧美性猛交xxxx乱大交蜜桃| 久久婷婷国产综合精品| 亚洲禁区一区二区三区天美| 亚洲日韩国产一区二区三区| 富婆如狼似虎找黑人老外| 亚洲色图在线视频免费观看| 日本精品免费看99久久| 特级毛片a级毛片100免费播放| 99re这里只有热视频| 日韩精品成人一区二区在线观看 | 少妇裸体性生交| 婷婷综合缴情亚洲| 国产自产拍精品视频免费看| 久久精品中文字幕有码| 人与禽性视频77777| 欧美va免费精品高清在线| 免费在线av一区二区| 亚洲综合网国产精品一区| 狠狠色综合网站久久久久久久| 自慰高潮网站在线观看 | 丰满少妇被猛男猛烈进入久久| 久久久亚洲精品午夜福利| 亚洲中文字幕一区二区在线| 亚洲精品久久久www小说| 爱我久久国产精品| 骚货人妻视频中文字幕| 一区二区和激情视频| 久久久久亚洲av无码专区| 淫欲一区二区中文字幕| 91精品亚洲成人一区二区三区| 国产精品国产午夜免费看福利 |