基于FPGA的ECC加解密算法研究及設計
本文關鍵詞:基于FPGA的ECC加解密算法研究及設計
更多相關文章: ECC FPGA 軟硬件協(xié)同設計 點乘算法 有限素數(shù)域
【摘要】:目前商界廣泛使用的加密技術是基于大整數(shù)因子分解難題的RSA(Rivest Shamir Adleman)公鑰密碼技術。由于存在亞指數(shù)攻擊,隨著計算機計算能力的增強,RSA只能通過增加密鑰長度來提高加密強度。橢圓曲線密碼體系[ECQElliptic Curve Cryptosystem)是一種基于橢圓曲線群上的新的公鑰密碼體系,最新研究表明密鑰長度為220比特的ECC加密強度比密鑰長度為2048比特的RSA加密強度高。ECC是基于橢圓曲線離散對數(shù)難題,與大整數(shù)因子分解難題(RSA)相比,ECC具有密鑰更短、安全性更高、運算速度更快和所需存儲空間更少等優(yōu)勢。軟件和硬件都可以實現(xiàn)ECC密碼算法,其中軟件實現(xiàn)的加密速度和安全級別難以滿足信息安全的要求,硬件實現(xiàn)的加密速度和安全級別明顯高于軟件,能夠滿足信息安全的要求,但是其實現(xiàn)成本高。本課題采用軟硬件協(xié)同設計方式,設計實現(xiàn)ECC加解密算法。論文選擇有限素數(shù)域上的橢圓曲線作為研究對象,首先結合軟硬件設計的特點分析ECC加解密算法,合理劃分軟硬件模塊。然后重點研究硬件模塊用到的算法,先從理論上對其進行改進,再結合所選FPGA器件提供的硬件資源,設計出速度和面積平衡的硬件電路。點乘運算的性能決定了ECC加解密算法的性能,本文深入分析了常用的幾種點乘算法后,提出了一種點乘并行運算算法,該算法支持點加和倍點同時運算。經(jīng)過深入研究Jacobian射影坐標系下點加算法和倍點算法的數(shù)據(jù)流特點后,分別設計了一種點加并行運算算法和倍點并行運算算法,該算法支持模乘和模加/減同時運算。基于改進后算法設計的點乘模塊,完成一次密鑰長度為256bit的點乘運算需要138612個時鐘周期,在已查閱文獻中本文設計實現(xiàn)的點乘模塊運算時鐘節(jié)拍數(shù)最少。最后通過Signal Tap Ⅱ邏輯分析儀完成FPGA硬件電路的板級測試,從而驗證本文設計的FPGA硬件電路的功能是否正確。通過上位機測試程序,完成ECC加解密算法的功能測試、性能測試和可靠性測試。測試結果表明:本文設計實現(xiàn)的ECC加解密算法功能正確,能夠長時間正常工作,性能和可靠性達到預期目標。其中點乘算法性能為489.8次/s,ECC加密算法性能為219.87次/s,ECC解密算法性能為402.23次/S。連續(xù)進行2千萬組隨機明文加解密運算,運算結果完全正確,FPGA芯片工作溫度正常。
【關鍵詞】:ECC FPGA 軟硬件協(xié)同設計 點乘算法 有限素數(shù)域
【學位授予單位】:西安郵電大學
【學位級別】:碩士
【學位授予年份】:2016
【分類號】:TN918.4
【目錄】:
- 摘要3-4
- ABSTRACT4-8
- 主要符號表8-9
- 第1章 緒論9-13
- 1.1 課題研究背景及意義9-10
- 1.2 國內外研究現(xiàn)狀10
- 1.3 論文創(chuàng)新點10-11
- 1.4 論文的主要工作與結構安排11-13
- 第2章 橢圓曲線公鑰密碼體制理論基礎13-23
- 2.1 數(shù)論相關概念13-14
- 2.2 有限域簡介14-15
- 2.3 有限域上的橢圓曲線15-17
- 2.4 橢圓曲線密碼算法簡介17-21
- 2.5 本章小結21-23
- 第3章 橢圓曲線加解密算法總體方案設計23-31
- 3.1 橢圓曲線密碼體制有限域F_(256)上坐標系和參數(shù)選取23-24
- 3.2 橢圓曲線加解密算法分析24-25
- 3.3 橢圓曲線加解密算法總體方案25-27
- 3.4 SOPC系統(tǒng)設計與搭建27-29
- 3.5 本章小結29-31
- 第4章 硬件模塊設計與實現(xiàn)31-57
- 4.1 有限域F_(256)上基本運算模塊設計與實現(xiàn)31-41
- 4.1.1 模加/減模塊設計與實現(xiàn)31-33
- 4.1.2 模乘模塊設計與實現(xiàn)33-36
- 4.1.2.1 模乘算法比較與改進33-34
- 4.1.2.2 模乘模塊設計與功能仿真34-36
- 4.1.3 Montgomery數(shù)據(jù)轉換模塊設計與實現(xiàn)36-38
- 4.1.4 模逆模塊設計與實現(xiàn)38-41
- 4.1.4.1 模逆算法比較與改進38-40
- 4.1.4.2 模逆模塊設計與功能仿真40-41
- 4.2 點乘模塊設計與實現(xiàn)41-52
- 4.2.1 點乘算法比較與改進41-43
- 4.2.2 倍點算法與點加算法改進43-46
- 4.2.3 Jacobian射影坐標向仿射坐標轉換46-47
- 4.2.4 點乘模塊設計47-50
- 4.2.5 點乘模塊功能仿真50-52
- 4.3 Hash模塊設計與實現(xiàn)52-55
- 4.3.1 Hash模塊設計52-55
- 4.3.2 Hash模塊功能仿真55
- 4.4 本章小結55-57
- 第5章 軟件模塊設計與實現(xiàn)57-67
- 5.1 NIOS Ⅱ軟核程序設計57-62
- 5.1.1 Hash消息填充NIOS Ⅱ軟核程序設計57-58
- 5.1.2 KDF密鑰派生函數(shù)NIOS Ⅱ軟核程序設計58-59
- 5.1.3 ECC加密與解密算法NIOS Ⅱ軟核程序設計59-62
- 5.2 上位機測試程序設計62-66
- 5.2.1 上位機數(shù)據(jù)包格式定義62-63
- 5.2.2 功能測試程序設計63-64
- 5.2.3 性能測試和可靠性測試程序設計64-66
- 5.3 本章小結66-67
- 第6章 FPGA板級測試67-73
- 6.1 硬件模塊FPGA板級測試67-68
- 6.1.1 點乘模塊FPGA板級測試68
- 6.1.2 Hash模塊FPGA板級測試68
- 6.2 NIOS Ⅱ軟核程序FPGA板級測試68-71
- 6.2.1 ECC加解密算法功能測試68-70
- 6.2.2 ECC加解密算法性能測試和可靠性測試70-71
- 6.3 ECC加解密算法性能比較71
- 6.4 本章小節(jié)71-73
- 第7章 結論與展望73-75
- 7.1 結論73
- 7.2 展望73-75
- 參考文獻75-77
- 攻讀學位期間取得的研究成果77-79
- 致謝79-80
【相似文獻】
中國期刊全文數(shù)據(jù)庫 前10條
1 劉富星;高輝;;常用加解密算法及其時間分析[J];科技信息(科學教研);2008年01期
2 盧君明,舒妍,林爭輝;基于DSP的高速RSA加解密實現(xiàn)[J];計算機應用與軟件;2002年01期
3 朱明海;RC5加解密算法的C#實現(xiàn)[J];電腦編程技巧與維護;2005年06期
4 魏軍;楊秀芝;;基于FPGA的IDEA加解密算法的研究和實現(xiàn)[J];有線電視技術;2009年11期
5 楊鳳霞;;基于VB的數(shù)據(jù)加解密算法的實現(xiàn)[J];軟件導刊;2006年13期
6 石林 ,遲增曉;用VB實現(xiàn)數(shù)據(jù)的加解密算法[J];電腦知識與技術;2003年31期
7 劉紅;;試論RSA技術的應用[J];價值工程;2013年31期
8 朱明海;;對稱加解密算法RC6的C#實現(xiàn)[J];電腦編程技巧與維護;2008年08期
9 朱明海;;C#的IDEA加解密算法[J];電腦編程技巧與維護;2007年03期
10 張德學;郭立;傅忠謙;;一種基于FPGA的AES加解密算法設計與實現(xiàn)[J];中國科學技術大學學報;2007年12期
中國重要會議論文全文數(shù)據(jù)庫 前1條
1 張開;陸洪毅;張威;;RC4加解密算法的硬件實現(xiàn)[A];第七屆中國通信學會學術年會論文集[C];2010年
中國碩士學位論文全文數(shù)據(jù)庫 前6條
1 陳俊杰;基于FPGA的ECC加解密算法研究及設計[D];西安郵電大學;2016年
2 胡振波;Feistel結構加解密算法的高效硬件實現(xiàn)方案研究[D];上海交通大學;2010年
3 李大江;基于FFTT的非對稱加解密算法的硬件設計[D];山東科技大學;2011年
4 劉文兵;一種FFTT非對稱加解密算法的研究與實現(xiàn)[D];山東科技大學;2011年
5 秦宗慶;基于FPGA的RFID數(shù)據(jù)加解密算法研究[D];廣東工業(yè)大學;2014年
6 李顯龍;基于SD總線的FPGA加解密算法實現(xiàn)[D];華南理工大學;2012年
,本文編號:797739
本文鏈接:http://www.sikaile.net/kejilunwen/xinxigongchenglunwen/797739.html