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