国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種AES算法與ElGamal算法相結(jié)合的加密文件傳輸方法與流程

      文檔序號(hào):11234648閱讀:641來(lái)源:國(guó)知局
      一種AES算法與ElGamal算法相結(jié)合的加密文件傳輸方法與流程

      本方法涉及信息技術(shù)領(lǐng)域的加密文件的傳輸方法,特別是一種aes算法與elgamal算法相結(jié)合的加密文件傳輸方法。



      背景技術(shù):

      一、aes算法

      高級(jí)加密標(biāo)準(zhǔn)(英語(yǔ):advancedencryptionstandard,縮寫(xiě):aes)是美國(guó)聯(lián)邦政府采用的一種區(qū)塊加密標(biāo)準(zhǔn)。這個(gè)標(biāo)準(zhǔn)用來(lái)替代原先的des,已經(jīng)被多方分析且廣為全世界所使用。經(jīng)過(guò)五年的甄選流程,高級(jí)加密標(biāo)準(zhǔn)由美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(nist)于2001年11月26日發(fā)布于fipspub197,并在2002年5月26日成為有效的標(biāo)準(zhǔn)。2006年,高級(jí)加密標(biāo)準(zhǔn)已然成為對(duì)稱密鑰加密中最流行的算法之一。

      aes的區(qū)塊長(zhǎng)度固定為128比特,密鑰長(zhǎng)度則可以是128,192或256比特。大多數(shù)aes計(jì)算是在一個(gè)特別的有限域完成的。

      aes加密過(guò)程是在一個(gè)4×4的字節(jié)矩陣上運(yùn)作,這個(gè)矩陣又稱為“狀態(tài)(state)”,其初值就是一個(gè)明文區(qū)塊(矩陣中一個(gè)元素大小就是明文區(qū)塊中的一個(gè)byte)。加密時(shí),各輪aes加密循環(huán)(除最后一輪外)均包含4個(gè)步驟:

      addroundkey—矩陣中的每一個(gè)字節(jié)都與該次輪秘鑰(roundkey)做xor運(yùn)算;每個(gè)子密鑰由密鑰生成方案產(chǎn)生。

      subbytes—通過(guò)非線性的替換函數(shù),用查找表的方式把每個(gè)字節(jié)替換成對(duì)應(yīng)的字節(jié)。

      shiftrows—將矩陣中的每個(gè)橫列進(jìn)行循環(huán)式移位。

      mixcolumns—為了充分混合矩陣中各個(gè)直行的操作。這個(gè)步驟使用線性轉(zhuǎn)換來(lái)混合每列的四個(gè)字節(jié)。

      最后一個(gè)加密循環(huán)中省略mixcolumns步驟,而以另一個(gè)addroundkey取代。

      其存在的問(wèn)題在于傳統(tǒng)的邏輯門(mén)存在一定位上的扇出,即兩個(gè)輸入,卻只有一個(gè)輸出。這樣便有利于邊信道攻擊中的功耗分析進(jìn)行破解。

      二、可逆邏輯線路

      可逆邏輯線路是由一系列可逆邏輯門(mén)搭建而成的具有一定函數(shù)功能的邏輯電路。它具有如下特點(diǎn):

      (1)輸入數(shù)等于輸出數(shù);

      (2)沒(méi)有扇入與扇出;

      (3)沒(méi)有反饋;

      (4)網(wǎng)絡(luò)分層級(jí)聯(lián),有時(shí)為了保證網(wǎng)絡(luò)可逆,需要添加一些無(wú)用的輸出或輸入信息位,即垃圾信息位;

      (5)n輸入、輸出向量的可逆網(wǎng)絡(luò)共有2n!種。

      三、elgamal算法

      elgamal公鑰密碼體質(zhì)基于有限域上的離散對(duì)數(shù)困難問(wèn)題。它既能用于數(shù)據(jù)加密也能用于數(shù)字簽名,在現(xiàn)代密碼學(xué)中應(yīng)用十分廣泛,是目前應(yīng)用最為廣泛的數(shù)字簽名方案,這些方案可以應(yīng)用于數(shù)字簽名、認(rèn)證、加密以及各種安全協(xié)議中,在金融系統(tǒng)中,廣泛地使用到elgamal簽名體質(zhì),同時(shí)在通信系統(tǒng)中,也大量使用基于elgamal簽名算法的認(rèn)證和通信協(xié)議

      elgamal的加密過(guò)程如下:

      (1)參數(shù)產(chǎn)生:設(shè)g為有限域zp上的乘法群,p是一個(gè)素?cái)?shù),α是zp上的一個(gè)生成元

      (2)密鑰生成:選取α∈[1,p-2],計(jì)算β=αamodp,那么得到私鑰為a,公鑰為(p,α,β)。

      (3)加密過(guò)程:對(duì)于加密消息m可以任意選取隨機(jī)數(shù)k∈[1,p-2],計(jì)算γ=akmodp和δ=mβkmodp,可以得到密文為c=(γ,δ)。

      (4)解密過(guò)程:接受著收到密文c=(γ,δ)后,使用私鑰a,計(jì)算γ-aδ=(αk)-aδ=α-ka(mβk)=α-kaakmodp=mmodp=m,得到明文m。

      利用以上參數(shù)和密鑰,數(shù)字簽名算法dsa(digitalsignaturealgorithm)如下:

      簽名過(guò)程:對(duì)消息m,任意選取隨機(jī)數(shù)k∈[1,p-2],計(jì)算r=αkmodp,s=k-1(h(m)+ar)mod(p-1),其中h為hash函數(shù)。那么(r,s)為消息m的簽名。

      信息安全不僅體現(xiàn)在文件存儲(chǔ)的環(huán)節(jié),文件在傳輸過(guò)程中的安全也同樣至關(guān)重要。市場(chǎng)上大多數(shù)的文件傳輸會(huì)根據(jù)相應(yīng)的公共協(xié)議對(duì)傳輸?shù)南⑦M(jìn)行加解密,但在用戶將消息發(fā)送到信道的過(guò)程中,信息的安全性卻備受考驗(yàn),存在著截流的風(fēng)險(xiǎn)。同時(shí),對(duì)稱加解密采用同樣的密鑰也加大了對(duì)密鑰傳輸安全性的考驗(yàn),通常的加密系統(tǒng),用戶會(huì)將密鑰交給第三方安全機(jī)構(gòu)來(lái)授予,通過(guò)數(shù)字簽名等對(duì)身份、屬性的驗(yàn)證來(lái)派發(fā)。第三方的公信力就顯得至關(guān)重要,公信力的缺失和用戶個(gè)人信息的泄漏同樣威脅著安全。如何管理密鑰,如何確保傳輸消息的安全引起了廣泛的思考。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明的目的是為了克服以上不足,提供一種aes算法與elgamal算法相結(jié)合的文件傳輸加密方法,既保證了文件的加密效果,又保證了文件及密鑰傳輸過(guò)程中的安全性。

      本發(fā)明的目的通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn):一種aes算法與elgamal算法相結(jié)合的加密文件傳輸方法,具體步驟包括:

      a、文件在發(fā)送端采用aes算法進(jìn)行加密處理,然后運(yùn)用發(fā)送端提供的elgamal公鑰對(duì)aes密鑰進(jìn)行加密處理,并將加密后的文件與密鑰發(fā)送至接收端;

      b、文件在接收端運(yùn)用本地保存的elgamal私鑰先對(duì)接收到的aes密鑰進(jìn)行解密處理,然后將還原后的密鑰對(duì)接收到的aes密文進(jìn)行解密處理,得到發(fā)送端發(fā)送的原文。

      在本發(fā)明一個(gè)較佳實(shí)施例中,用戶在注冊(cè)時(shí)自動(dòng)調(diào)用elgamal算法,生成對(duì)應(yīng)的公鑰publickey和私鑰privatekey,分別存儲(chǔ)在服務(wù)器和本地?cái)?shù)據(jù)庫(kù)。

      在本發(fā)明一個(gè)較佳實(shí)施例中,所述aes算法為基于可逆邏輯的aes算法。

      在本發(fā)明一個(gè)較佳實(shí)施例中,所述可逆邏輯的aes算法,具體為:

      a、運(yùn)用可逆邏輯門(mén)的可逆特性,構(gòu)造相應(yīng)的可逆邏輯電路來(lái)替換、改造傳統(tǒng)aes算法中列混合過(guò)程的電路構(gòu)造,達(dá)到運(yùn)用可逆邏輯門(mén)來(lái)替代傳統(tǒng)邏輯門(mén)的效果,從而實(shí)現(xiàn)aes算法中的加密過(guò)程;

      b、運(yùn)用可逆邏輯門(mén)的可逆特性,構(gòu)造相應(yīng)的可逆邏輯電路來(lái)替換、改造傳統(tǒng)aes算法中逆列混合過(guò)程的電路構(gòu)造,達(dá)到運(yùn)用可逆邏輯門(mén)來(lái)替代傳統(tǒng)邏輯門(mén)的效果,從而實(shí)現(xiàn)aes算法中的解密過(guò)程。

      在本發(fā)明一個(gè)較佳實(shí)施例中,所述步驟a中的所述列混合過(guò)程的具體步驟如下:

      列混合的操作是通過(guò)矩陣相乘來(lái)實(shí)現(xiàn)的,在算法中,矩陣的乘法和加法都是定義基于z2[x]的不可約多項(xiàng)式m(x)=x8+x4+x3+x+1構(gòu)造的有限域gf(28)上的運(yùn)算,所涉及到的加法和乘法運(yùn)算具體如下:

      列混合是針對(duì)字、字節(jié)和位的操作,到最終列混合是針對(duì)位的操作,寫(xiě)成多項(xiàng)式相乘的形式,令其中w(x)是迦羅瓦域上的多項(xiàng)式,記為:

      w(x)={03}x3+{01}x2+{01}x+{02}

      為了便于計(jì)算操作,寫(xiě)成如下的形式:

      所以

      經(jīng)過(guò)該乘法計(jì)算后,每一列中的一個(gè)字有下述結(jié)果取代:

      通過(guò)構(gòu)造可逆邏輯可逆電路來(lái)實(shí)現(xiàn);

      其中b7b6b5b4b3b2b1b0輸入的相應(yīng)的字節(jié),也即是狀態(tài)矩陣中每個(gè)元素的值,其中b(x)為一個(gè)字節(jié);

      而一個(gè)狀態(tài)中共含有16個(gè)元素,即含有16個(gè)字節(jié),每一個(gè)字節(jié)都需要進(jìn)行上述的操作,為了簡(jiǎn)化電路,我們將迦羅瓦域中2·b(x)的運(yùn)算封裝成一個(gè)小的可逆邏輯模塊電路。

      在本發(fā)明一個(gè)較佳實(shí)施例中,所述步驟b中所述逆列混合過(guò)程的具體步驟如下:

      逆列混合變換是列混合變換的逆變換,逆混合變換是在狀態(tài)上對(duì)每一列進(jìn)行運(yùn)算,將每一列看作是4次多項(xiàng)式,將狀態(tài)的列看作gf(28)上的多項(xiàng)式且被一個(gè)固定的多項(xiàng)式w-1(x)模x4+1,其中w-1(x)為:

      w-1(x)={03}x3+{01}x2+{01}x+{02}

      同樣,這里可以寫(xiě)成矩陣乘法,令

      經(jīng)過(guò)該乘法計(jì)算后,一列中的4個(gè)字節(jié)將由下述結(jié)果取代:

      本發(fā)明aes算法與elgamal算法相結(jié)合的文件傳輸加密方法與現(xiàn)有技術(shù)相比具有以下優(yōu)點(diǎn):

      1、雙重加密:

      本文件傳輸加密方法先運(yùn)用了aes算法進(jìn)行第一重加密,然后在其基礎(chǔ)上對(duì)aes的密鑰也運(yùn)用elgamal算法進(jìn)行第二重加密,在不降低效率的前提下保證了文件的傳輸安全。

      2、aes算法基于可逆邏輯線路構(gòu)造:

      基于可逆邏輯構(gòu)造的原理,通過(guò)增加可構(gòu)造密鑰的種類提升了加密線路的抗攻擊性。在n條線路上的有限域內(nèi)可以構(gòu)造的密鑰種類多達(dá)2n!種,而傳統(tǒng)的線路構(gòu)造方法可以實(shí)現(xiàn)的密鑰種類僅有2n!種。

      3、私鑰在本地保管:

      在整個(gè)文件傳輸過(guò)程中,只有擁有私鑰才能將文件進(jìn)行解密,而接收端的私鑰僅在本地保存而不參與傳輸過(guò)程,提升了接收端的安全度,防止在傳輸過(guò)程中的密鑰泄露。

      附圖說(shuō)明

      圖1是aes與elgamal結(jié)合的傳輸結(jié)構(gòu)圖;

      圖2是aes與elgamal結(jié)合的用例圖;

      圖3是加密文件傳輸過(guò)程的流程圖;

      圖4是加密文件傳輸過(guò)程的時(shí)序圖;

      圖5是aes算法的加密流程圖;

      圖6是為實(shí)現(xiàn)aes算法中的列混合過(guò)程而設(shè)計(jì)的可逆邏輯電路;

      圖7是可逆邏輯電路數(shù)乘2的電路構(gòu)造;

      圖8是u器件;

      圖9是可逆邏輯電路;

      圖10是逆列混合的電路構(gòu)造圖。

      具體實(shí)施方式

      為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。在本發(fā)明的一種實(shí)施方式中描述的元素和特征可以與一個(gè)或更多個(gè)其它實(shí)施方式中示出的元素和特征相結(jié)合。應(yīng)當(dāng)注意,為了清楚的目的,說(shuō)明中省略了與本發(fā)明無(wú)關(guān)的、本領(lǐng)域普通技術(shù)人員已知的部件和處理的表示和描述?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有付出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

      結(jié)合圖1-4,本發(fā)明公開(kāi)了一種aes算法與elgamal算法相結(jié)合的加密文件傳輸方法,具體步驟包括:

      (1)用戶在注冊(cè)時(shí)自動(dòng)調(diào)用elgamal算法,生成一個(gè)對(duì)應(yīng)的公鑰publickey,和私鑰privatekey,分別存儲(chǔ)在服務(wù)器和本地?cái)?shù)據(jù)庫(kù)。

      (2)發(fā)送方a首先調(diào)用aes算法對(duì)原文件plaintext進(jìn)行加密,生成密文ciphertext。

      (3)發(fā)送方a根據(jù)接收方b的用戶id訪問(wèn)服務(wù)器數(shù)據(jù)庫(kù),取得接收方b存儲(chǔ)在服務(wù)器上的公鑰qu_b,利用獲取的接收方b的公鑰qu_b,對(duì)aes加密時(shí)生成的密鑰aeskey調(diào)用elgamal算法進(jìn)行加密,將加密后的文件和密鑰打包發(fā)送給接收方b。

      (4)接收方b在收到文件后,解析出其中的密鑰部分,首先調(diào)用elgamal算法還原出aes加密所使用的密鑰aeskey。

      (5)然后利用還原出的aeskey調(diào)用aes算法對(duì)密文ciphertext解密,最終還原出明文plaintext。

      優(yōu)選地,所述aes算法采用基于可逆邏輯的aes算法。

      結(jié)合圖5所示,所述基于可逆邏輯的aes算法具體步驟如下:

      (1)、運(yùn)用可逆邏輯門(mén)的可逆特性,構(gòu)造特殊的可逆邏輯電路來(lái)替換、改造傳統(tǒng)aes算法中列混合過(guò)程的電路構(gòu)造,達(dá)到運(yùn)用可逆邏輯門(mén)來(lái)替代傳統(tǒng)邏輯門(mén)的效果,從而實(shí)現(xiàn)aes算法中的加密過(guò)程。

      (2)、運(yùn)用可逆邏輯門(mén)的可逆特性,構(gòu)造特殊的可逆邏輯電路來(lái)替換、改造傳統(tǒng)aes算法中逆列混合過(guò)程的電路構(gòu)造,達(dá)到運(yùn)用可逆邏輯門(mén)來(lái)替代傳統(tǒng)邏輯門(mén)的效果,從而實(shí)現(xiàn)aes算法中的解密過(guò)程。

      列混合過(guò)程改造:

      列混合是整個(gè)加密過(guò)程中最為重要的一個(gè)部分,本質(zhì)上來(lái)講列混合的操作是通過(guò)矩陣相乘來(lái)實(shí)現(xiàn)的,在算法中,矩陣的乘法和加法都是定義基于z2[x]的不可約多項(xiàng)式m(x)=x8+x4+x3+x+1構(gòu)造的有限域gf(28)上的運(yùn)算,所涉及到的加法和乘法運(yùn)算的詳細(xì)介紹見(jiàn)下面所述。

      列混合是針對(duì)字,字節(jié)和位的操作,到最終列混合說(shuō)到底是針對(duì)位的操作,之前提到列混合的操作相當(dāng)于是通過(guò)矩陣相乘來(lái)實(shí)現(xiàn)的,我們可以用來(lái)寫(xiě)成多項(xiàng)式相乘的形式,令其中w(x)是迦羅瓦域上的多項(xiàng)式,記為:

      w(x)={03}x3+{01}x2+{01}x+{02}

      為了便于計(jì)算操作,可以寫(xiě)成如下的形式:

      所以

      經(jīng)過(guò)該乘法計(jì)算后,每一列中的一個(gè)字有下述結(jié)果取代:

      這里我們通過(guò)構(gòu)造可逆邏輯可逆電路來(lái)實(shí)現(xiàn),見(jiàn)圖6。

      其中b7b6b5b4b3b2b1b0輸入的相應(yīng)的字節(jié),也即是狀態(tài)矩陣中每個(gè)元素的值,圖7就表示迦羅瓦域中2·b(x)的運(yùn)算,其中b(x)為一個(gè)字節(jié)。

      而一個(gè)狀態(tài)中共含有16個(gè)元素,即含有16個(gè)字節(jié),每一個(gè)字節(jié)都需要進(jìn)行上面的操作,為了簡(jiǎn)化電路,我們將圖7封裝成一個(gè)小的可逆邏輯模塊電路圖,見(jiàn)圖8所示。

      而針對(duì)每一列所進(jìn)行的操作,我們構(gòu)造如下的可逆邏輯電路圖,見(jiàn)圖9。

      逆列混合過(guò)程改造:

      逆列混合變換是列混合變換的逆變換。逆混合變換是在狀態(tài)上對(duì)每一列進(jìn)行運(yùn)算。將每一列看作是4次多項(xiàng)式。將狀態(tài)的列看作gf(28)上的多項(xiàng)式且被一個(gè)固定的多項(xiàng)式w-1(x)模x4+1,其中w-1(x)為:

      w-1(x)={03}x3+{01}x2+{01}x+{02}

      同樣這里可以寫(xiě)成矩陣乘法。令

      經(jīng)過(guò)該乘法計(jì)算后,一列中的4個(gè)字節(jié)將由下述結(jié)果取代:

      構(gòu)造的可逆邏輯電路圖見(jiàn)圖10。

      最后應(yīng)說(shuō)明的是:雖然以上已經(jīng)詳細(xì)說(shuō)明了本發(fā)明及其優(yōu)點(diǎn),但是應(yīng)當(dāng)理解在不超出由所附的權(quán)利要求所限定的本發(fā)明的精神和范圍的情況下可以進(jìn)行各種改變、替代和變換。而且,本發(fā)明的范圍不僅限于說(shuō)明書(shū)所描述的過(guò)程、設(shè)備、手段、方法和步驟的具體實(shí)施例。本領(lǐng)域內(nèi)的普通技術(shù)人員從本發(fā)明的公開(kāi)內(nèi)容將容易理解,根據(jù)本發(fā)明可以使用執(zhí)行與在此所述的相應(yīng)實(shí)施例基本相同的功能或者獲得與其基本相同的結(jié)果的、現(xiàn)有和將來(lái)要被開(kāi)發(fā)的過(guò)程、設(shè)備、手段、方法或者步驟。因此,所附的權(quán)利要求旨在在它們的范圍內(nèi)包括這樣的過(guò)程、設(shè)備、手段、方法或者步驟。

      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1