www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > EDA > 電子設計自動化
[導讀]介紹3-DES算法的概要;以Xilinx公司SPARTANII結構的XC2S100為例,闡述用FPGA高速實現(xiàn)3-DES算法的設計要點及關鍵部分的設計。

    摘要:介紹3-DES算法的概要;以Xilinx公司SPARTANII結構的XC2S100為例,闡述用FPGA高速實現(xiàn)3-DES算法的設計要點及關鍵部分的設計。

    關鍵詞:3-DES FPGA 高速實現(xiàn)

引 言

  從技術角度講,網絡安全除了依賴安全的網絡通信協(xié)議及應用協(xié)議外,更多地取決于網絡設備如交換機、路由器等所提供的加/解密功能。目前,基于DES算法的加/解密硬件仍在廣泛應用于國內衛(wèi)星通信、網關服務器、機頂盒、視頻傳輸以及其它大量的數據傳輸業(yè)務中。

  然而,隨著密碼分析技術的不斷發(fā)展,超期服役的DES算法已被攻破,隨即美國商業(yè)部提出采用以Rijndael算法的AES作為新一代的加密算法。在不對原有應用系統(tǒng)作大的改動的情況下,3-DES算法有了很大的生存空間,被大量用來替換已不安全的DES算法。所以對3-DES算法的高速實現(xiàn),仍具有一定的實際應用意義。

1 3-DES算法介紹

  1999年,NIST將3-DES指定為過渡的加密標準。3-DES是DES的一個更安全的變形(關于DES算法的詳細資料,可見參考文獻[1]、[2])。DES算法運算的框圖如圖1。其中S盒是3-DES(DES)算法的心臟,靠它實現(xiàn)非線性變換。

    dk(x)表示用DES算法對64位的位串的加密和解密,密鑰為K;則64位的密文c是通過執(zhí)行下面的運算得到的:

  其中K1、K2、K3是56位的DES密鑰。

    從密文c導出明文x的3-DES的解密過程是加密過程的反過程,其描述如下:

  其結構如圖2。

  為了獲得更高的安全性,三個密鑰應該是互不相同的。這樣,本質上就相當于用一個長為168位的密鑰進行加密。多年來,它在對付強力攻擊時是比較安全的。對安全性需要不那么高的數據,K1可以等于K3。在這種情況下,密鑰的有效長度為112位。

  在通常使用的所有64位的分組密碼中,3-DES是最安全的;但是,如果用軟件來實現(xiàn),它也是這些分組密碼中最慢的。通過硬件設計,3-DES的性能勝過大多數其它用軟件實現(xiàn)的分組密碼。

2 FPGA實現(xiàn)設計

  本設計采用實驗室現(xiàn)有試驗開發(fā)板上Xilinx公司SPARTANII結構的XC2S100作為算法載體,在其中實現(xiàn)控制器和三個DES模塊以及密鑰的生成,通過控制器實現(xiàn)加、解密功能。從上邊的介紹可以看到,3-DES(DES)算法沒有大量的復雜數學計算(如乘、帶進位的加、模等),在加/解密過程和密鑰生成過程中僅有邏輯運算和查表運算。這些特點為采用FPGA進行高速設計提供了契機。

    2.1 DES模塊的設計結構

  每個DES模塊的實現(xiàn)是用一個輪函數實現(xiàn)的16份拷貝通過深度細化的流水線處理來完成的,以獲得最高的性能。

  采用循環(huán)全部打開和流水線結構來設計。循環(huán)全部打開后,實現(xiàn)全部16輪結構并串在一起,只要一個時鐘周期就可以完成一個數據塊的加密或解密;通過多占很大的空間來換得速度上的大幅度提高,然后再在每輪的中間加上寄存器來實現(xiàn)流水線。在第一時鐘周期,第一塊數據經過第一輪處理存入寄存器1中。在下一個時鐘周期,寄存器1中的結果經過第二輪處理存入寄存器2中;同時,第二塊數據可以經過第一輪處理存入寄存器1。這樣,多塊數據實現(xiàn)了同時處理。另外,在設計中通過使用16個寄存器,使得加/解密速度可以提高近16倍。在DES模塊的每一輪中設計3級流水線,盡管這樣增加了48個周期的時延,但卻進一步提高了整體處理的速度性能;同時,將數據加/解密部分和密鑰生成部分分開單獨設計,可以減少相鄰流水線級間的邏輯層數目。

    2.2 S盒設計

  通過時間分析發(fā)現(xiàn),S盒在整個設計中占了很大的比重。S盒性能的提高對于整個設計性能會有很大的改善,因此S盒是整個設計優(yōu)化的重點。

  DES的8個S盒分別是一個滿足特殊性能的6~4位的變換。在VHDL或Verilog語言中,可以直接用CASE語句來實現(xiàn)。這是最簡單的實現(xiàn)方法,但是HDL語言都屬于高級語言,它們強烈依賴于編譯器的優(yōu)化能力,往往對設計者來說,涉及得越少、編程越簡單,代碼效率越不高,這對于高速實現(xiàn)來說是不可取的。在實現(xiàn)過程中通過分析工具也發(fā)現(xiàn),依賴于編譯器的實現(xiàn)不但復雜,而且占用大量的空間。這樣,S盒成了速度的瓶頸,為此,采用ROM來實現(xiàn)。XC2S100的LUT可以配置為16×1位的ROM,把輸入的6位作為地址,對應的地址空間里存放的就是輸出的4位,從而實現(xiàn)了6~4位的查找表LUT,所需時間只是FPGA中CLB的傳輸時間加上傳輸線上的延時,如圖3。

    2.3 密鑰生成器設計

  密鑰生成器的設計是獨立于DES輪函數運算實現(xiàn)的,采用3級流水線來與輪函數中的流水線相平衡,單輪的實現(xiàn)如圖4。

  其中,3級流水線由移位寄存器(SR)和1個觸發(fā)器(FF)構成,在SR中完成兩級流水線,在FF中實現(xiàn)第三級。XC2S100的LUT中的每個查找表LUT可以用來生成1~16個移位寄存器,而且在一個單獨的可配置邏輯功能塊CLB中連接8個移位寄存器來構成一個128位的移位寄存器。

圖5 3-DES實現(xiàn)的結構

    2.4 3-DES的實現(xiàn)

  將上述所設計的三份DES模塊在FPGA中組合,實現(xiàn)如圖5所示的完整連接。整個時延約為單個DES模塊的三倍。

結 語

  我們在Xilinx的開發(fā)平臺Foundation 4.2i下用Verilog HDL完成設計,并進行了綜合和仿真;成功下載到我們實驗室的試驗板上的XC2S100中,用VC++ 6.0編寫了測試程序;在Windows98下運行,均 能正確實現(xiàn)加/解密功能。在試驗板上晶振為25MHz的情況下,大致評測出加密速度為520Mb/s。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉