国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于AES和ECC的混合加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2012-07-13 03:06王紅珍李竹林
電子設(shè)計(jì)工程 2012年4期
關(guān)鍵詞:加密算法公鑰解密

王紅珍 , 李竹林

(1.延安大學(xué) 計(jì)算機(jī)學(xué)院,陜西 延安 716000;2.延安大學(xué) 軟件研究與開(kāi)發(fā)中心,陜西 延安 716000)

由于對(duì)稱加密算法運(yùn)行速度快,加密強(qiáng)度高,但是密鑰管理困難;而公鑰加密算法密鑰管理簡(jiǎn)單方便,加密強(qiáng)度高,但是算法運(yùn)算量大導(dǎo)致運(yùn)行速度慢,因此文中采用對(duì)稱加密算法AES加(解)密文件級(jí)別的大批量數(shù)據(jù),而用公鑰加密算法ECC來(lái)加密AES密鑰和其它數(shù)據(jù)量少但安全要求高的數(shù)據(jù),兩種加密方法的結(jié)合,有效地提高了加密效率,更重要的是它可以大大提高AES密鑰管理上的安全性。

1 AES加密算法的設(shè)計(jì)方案

AES算法的結(jié)構(gòu)緊湊、規(guī)整,每輪變換也基本一致所以易于用軟件或是硬件實(shí)現(xiàn),因此具有良好的實(shí)現(xiàn)性[1]。AES具體的加(解)密過(guò)程如下:

1)加密過(guò)程

AES加密由以下步驟組成:

①初始輪加密;

②Nr-1輪加密;

③第Nr輪加密;

用類C語(yǔ)言描述為:

void Cipher( ) //加密算法

2)解密過(guò)程

解密過(guò)程和加密過(guò)程具有同樣的變換結(jié)構(gòu),用到的算法都是加密過(guò)程中用到的算法的逆算法。

AES加(解)密實(shí)現(xiàn)的思路:將需要加(解)密的文件讀入內(nèi)存,每次依次順序截取其中的128 bit分組進(jìn)行處理稱為一個(gè)狀態(tài)(State),一個(gè)狀態(tài)是一個(gè)字節(jié)矩陣,矩陣中的每個(gè)元素都是一個(gè)字節(jié),這個(gè)狀態(tài)陣列在每一層加密或解密時(shí)都進(jìn)行修改,每次分組加(解)密的結(jié)果依次順序?qū)懭氡4嫣幚斫Y(jié)果的文件緩沖區(qū),直到整個(gè)文件處理完為止,當(dāng)文件處理完畢后將文件緩沖區(qū)結(jié)果保存到磁盤(pán)或發(fā)送出去[2]。

2 ECC加密算法的設(shè)計(jì)方案

2.1 橢圓曲線的選取

在橢圓曲線密碼系統(tǒng)中,曲線的選取是影響系統(tǒng)安全性的決定因素。在系統(tǒng)中我們采用了NIST推薦的曲線,采用素?cái)?shù)p192作為有限域的階,p192是安全性和效率折中后的選擇,并且由于參數(shù)已知而省去了曲線建立的代價(jià)[1,3]。NIST給出的定義在上的橢圓曲線的域參數(shù)如下:

2.2 有限域上的運(yùn)算

實(shí)現(xiàn)有限域上的ECC,需要用到有限域上的加法、減法、乘法(包括平方)、求逆和取模這幾種算術(shù)。根據(jù)研究和分析我們發(fā)現(xiàn):模加(加后取模)和模減(減后取模)的運(yùn)算速度是模乘運(yùn)算(乘后取模)的10倍以上;求逆運(yùn)算時(shí)間與大約70個(gè)模乘運(yùn)算時(shí)間相當(dāng);ECC運(yùn)算70%左右的時(shí)間消耗在模乘運(yùn)算上??紤]到上述因素,我們?cè)谥贫ǚ桨笗r(shí),只需考慮使ECC運(yùn)算盡量少涉及有限域上的求逆運(yùn)算[3]。

2.3 ECC的加(解)密過(guò)程

1)用戶 A 選定一條橢圓曲線Ep(a,b),并取橢圓曲線上一點(diǎn),作為基點(diǎn)G(x,y);

2)用戶A選擇一個(gè)私鑰k,并生成公鑰K=kG;

3)用戶 A 將Ep(a,b)和點(diǎn)K,G傳給用戶 B;

4)用戶B收到信息后,將待傳輸?shù)拿魑木幋a到Ep(a,b)上一點(diǎn)M,并產(chǎn)生一個(gè)隨機(jī)整數(shù)r(r<n);

5)用戶 B計(jì)算點(diǎn)C1=M+rK;C2=rG;

6)用戶 B將C1,C2傳給用戶 A;

7)用戶A收到信息后,計(jì)算C1-kC2,結(jié)果就是點(diǎn)M。因?yàn)镃1-kC2=M+rK-k(rG)=M+rK-r(kG)=M。

再對(duì)點(diǎn)M進(jìn)行解碼就可以得到明文。

3 混合加密算法的設(shè)計(jì)方案

對(duì)稱加密算法具有速度快、強(qiáng)度高、便于實(shí)現(xiàn)等優(yōu)點(diǎn),尤其適合加密大塊數(shù)據(jù),但密鑰分配與管理比較困難,而公鑰加密算法具有密鑰分發(fā)與管理簡(jiǎn)單、速度慢等特點(diǎn),一般用于加密少量數(shù)據(jù)。所以在本方案中我們采用AES算法加密大數(shù)據(jù)塊,而用ECC算法管理(保護(hù))AES密鑰,這樣我們就集成了兩類加密算法的優(yōu)點(diǎn),既實(shí)現(xiàn)了加密速度快的優(yōu)點(diǎn),又實(shí)現(xiàn)了安全方便管理密鑰的優(yōu)點(diǎn)[4]。

3.1 密鑰的產(chǎn)生

在橢圓曲線上Ep(a,b)上選一點(diǎn)G(x,y),G的階數(shù)為n(n為一個(gè)大素?cái)?shù)),G公開(kāi)。在[1,n-1]之間隨機(jī)地確定一個(gè)整數(shù)Ks,計(jì)算Kp=KsG,且Kp為橢圓曲線Ep(a,b)上的一點(diǎn),由此就確定了密鑰對(duì)(Ks,Kp)。Ks為私鑰,Kp為公鑰[3]。

3.2 加密和解密

加密 AES密鑰:設(shè)KA為 AES算法密鑰,取隨機(jī)數(shù)r,r∈{1,2,…,n-1},計(jì)算u=rKBP(KBP為公鑰),R1=rG=(x1,y1),v=x1KA,由此產(chǎn)生二元組(u,v)。

解密 AES 密鑰:用KBS(KBS為私鑰)計(jì)算(x1,y1)=,從而得KA=x-11v。

3.3 具體實(shí)現(xiàn)流程

加密流程如圖1所示,步驟如下:

1)用AES算法對(duì)明文m進(jìn)行加密,得到密文塊c,加密密鑰為KA;

2)用ECC對(duì)KA進(jìn)行加密,得到AES密鑰塊;3)最后所得密文就是密文塊c、AES密鑰塊。

圖1 加密流程Fig.1 Encryption process

解密流程如圖2所示,步驟如下:

1)用ECC算法解密AES密鑰塊,得到KA;

2)用KA對(duì)密文塊c進(jìn)行解密,得到明文m。

圖2 解密流程Fig.2 Decryption process

3.4 抗密碼分析能力

對(duì)于本方案的威脅手段,從技術(shù)上來(lái)講可能的情況有2種:

1)破解AES對(duì)稱加密算法;

2)破解ECC公鑰加密算法。

本方案選擇的AES算法具有著堅(jiān)固的抗密碼分析能力,安全性能極高,到目前為止,仍沒(méi)有找到有效的算法本身的攻擊漏洞,因此最有效的破解途徑依然是窮盡搜索全部可能的密鑰,但是 Rijndael的密鑰空間支持 128 bit,192 bit和256 bit,據(jù)NIST計(jì)算,如果有人能夠制造一種1 s內(nèi)即能破解DES密碼的設(shè)備,那么用這種計(jì)算機(jī)來(lái)破解128 bit算法的密碼仍需要149萬(wàn)億年。

而ECC加密算法的安全性依賴于橢圓曲線離散對(duì)數(shù)的安全性,安全橢圓曲線的選取是建立橢圓曲線密碼體制的基石,所以曲線的安全是保證密碼體系安全的重要因素。在過(guò)去的十多年里,橢圓曲線離散對(duì)數(shù)問(wèn)題受到了數(shù)學(xué)界的極大關(guān)注。目前,還沒(méi)有發(fā)現(xiàn)橢圓曲線離散對(duì)數(shù)(ECDLP)有什么特別大的弱點(diǎn)。

4 數(shù)據(jù)加密與解密子系統(tǒng)的實(shí)現(xiàn)

該方案由密鑰生成模塊、文件加(解)密模塊、密鑰加密模塊、密鑰解密模塊等4部分組成[4-5]。

1)密鑰生成模塊

該模塊的功能是由系統(tǒng)調(diào)用ECC算法,計(jì)算并產(chǎn)生私鑰和公鑰,私鑰和公鑰是對(duì)應(yīng)的,即一個(gè)私鑰只能解開(kāi)其對(duì)應(yīng)公鑰加密的數(shù)據(jù)。

2)文件加(解)密模塊

該模塊的功能是由系統(tǒng)調(diào)用AES算法,對(duì)欲加密的文件文件夾進(jìn)行加密處理或者對(duì)已經(jīng)用該算法加密后的文件或文件夾進(jìn)行解密處理。

如圖3所示為文件加(解)密的界面。

圖3 文件加(解密)Fig.3 File encryption/decryption

3)密鑰加密模塊

該模塊的功能是用ECC加密算法加密AES密鑰,保密AES密鑰。

4)密鑰解密模塊

該模塊的功能是用ECC加密算法解密AES密鑰,使得AES密鑰不能夠非法使用。

5 結(jié)束語(yǔ)

對(duì)稱加密算法具有速度快、強(qiáng)度高、便于實(shí)現(xiàn)等優(yōu)點(diǎn),尤其適合加密大塊數(shù)據(jù),但密鑰分配與管理比較困難,而公鑰加密算法具有密鑰分發(fā)與管理簡(jiǎn)單、速度慢等特點(diǎn),一般用于加密少量數(shù)據(jù)[6]。所以在本方案中我們采用AES算法加密大數(shù)據(jù)塊,而用ECC算法管理(保護(hù))AES密鑰,這樣我們就集成了兩類加密算法的優(yōu)點(diǎn),既實(shí)現(xiàn)了加密速度快的優(yōu)點(diǎn),又實(shí)現(xiàn)了安全方便管理密鑰的優(yōu)點(diǎn),有效地解決了密碼體制中速度和安全性不能兼顧的問(wèn)題。

[1]楊普,揭金良.橢圓曲線密碼和AES算法的分析與設(shè)計(jì)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2009(1):94-95.

YANG Pu,JIAN Jin-Liang.Elliptic curve cryptography and AES analysis and design[J].Network Security Technology&Application,2009(1):94-95.

[2]景為平,徐晨,陳海進(jìn).AES密碼算法的結(jié)構(gòu)優(yōu)化與實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),2007(2):36-38.

JING Wei-ping,XU Chen,CHEN Hai-jin.Architecture optimization and implementation of AES algorithm[J].Microelectronics&Computer,2007(2):36-38.

[3]侯愛(ài)琴,辛小龍,楊世勇.GF(p)上安全橢圓曲線產(chǎn)生算法[J].計(jì)算機(jī)工程,2009(23):138-140.

HOU Ai-qin,XIN Xiao-long,YANG Shi-yong.Secure elliptic curve generating algorithm over GF(p)[J].Computer Engineering,2009(23):138-140.

[4]董尼.基于AES與ECC的混合密碼體制的研究與實(shí)現(xiàn)[D].合肥:合肥工業(yè)大學(xué),2006.

[5]許金玲.基于RSA與AES混合加密系統(tǒng)的算法研究[D].燕山:燕山大學(xué),2005.

[6]張秀愛(ài).橢圓曲線密碼體制的研究[J].通信技術(shù),2009(5):208-209.

ZHANG Xiu-ai.Study of elliptic curve cryptography[J].Communications Technology,2009(5):208-209.

猜你喜歡
加密算法公鑰解密
炫詞解密
解密“一包三改”
炫詞解密
一種基于混沌的公鑰加密方案
P2X7 receptor antagonism in amyotrophic lateral sclerosis
HES:一種更小公鑰的同態(tài)加密算法
SM2橢圓曲線公鑰密碼算法綜述
基于小波變換和混沌映射的圖像加密算法
解密“大調(diào)解”
對(duì)稱加密算法RC5的架構(gòu)設(shè)計(jì)與電路實(shí)現(xiàn)