亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于AES 和ECC 的混合密碼技術(shù)的研究

        2021-08-15 11:36:50尤紫云劉曉東
        電子設(shè)計工程 2021年15期

        尤紫云,劉曉東

        (1.武漢郵電科學(xué)研究院,湖北武漢 430070;2.武漢虹旭信息技術(shù)有限責(zé)任公司,湖北 武漢 430070)

        由于網(wǎng)絡(luò)的廣泛應(yīng)用,信息安全[1]已成為保障網(wǎng)絡(luò)環(huán)境的關(guān)鍵因素。在網(wǎng)絡(luò)上有效地安全傳輸數(shù)據(jù)信息,保證信息的真實性、完整性和不可抵賴性是數(shù)據(jù)加密技術(shù)[2]的重中之重。

        在對稱加密算法中,如AES 算法,具有速度快、加密強(qiáng)度高、便于實現(xiàn)的優(yōu)點,但是依然存在局限性,此算法的密鑰分配與管理[3]比較困難。而非對稱加密算法的密鑰分發(fā)與管理簡單并且有更高的加密強(qiáng)度,但是運算速度較慢。因此,將對稱加密算法和非對稱加密算法相結(jié)合,彌補(bǔ)各自算法的局限。因此文中提出基于AES 算法和ECC 算法的混合加密方案[4],采用AES 算法對明文加密,而ECC 算法加密管理密鑰實現(xiàn)數(shù)字簽名。該方案能有效地提高信息傳輸?shù)陌踩院托?,使網(wǎng)絡(luò)傳輸變得更加安全可靠。

        1 AES算法

        1.1 AES算法結(jié)構(gòu)描述

        AES(Advanced Encryption Standard)可稱為高級數(shù)據(jù)加密標(biāo)準(zhǔn),屬于對稱加密算法[5],它也是一種基于分組迭代的加密算法。AES 算法的密鑰長度可獨立指定為128 bits,192 bits 或256 bits,在AES 數(shù)據(jù)加密標(biāo)準(zhǔn)中規(guī)范了明文分組長度為128 bits。

        在AES 算法中數(shù)據(jù)塊要經(jīng)過多次數(shù)據(jù)變換,每一次變換產(chǎn)生一個中間結(jié)果,這個中間結(jié)果為狀態(tài)。此狀態(tài)可以用二維字節(jié)數(shù)組來表示,也就是一個狀態(tài)矩陣,該矩陣的行數(shù)為4,列數(shù)Nb=分組長度/32。種子密鑰也可以類似地用一個狀態(tài)矩陣表示,同樣以字節(jié)為元素,行數(shù)為4,列數(shù)Nk=密鑰長度/32。Nb和Nk共同決定了算法的迭代輪數(shù)Nr,由于在AES 算法中分組長度固定128 bits,因此迭代的輪數(shù)可以由密鑰長度推得。

        AES 算法的輪函數(shù)采用的是SP(替代、置換)結(jié)構(gòu),每一輪由3 個層組成,每個層都是可逆并均勻變換的。1)非線性層:并行使用最優(yōu)的S 盒,起到混淆作用,防止攻擊者分析出密鑰;2)線性混合層:通過行移變換和列混淆變換,以保證經(jīng)過多輪變換之后能達(dá)到高度擴(kuò)散,以防止統(tǒng)計分析的攻擊;3)密鑰加層:通過進(jìn)行輪密鑰加變換,將圈密鑰異或到中間狀態(tài)上,從而實現(xiàn)密鑰的加密控制作用。

        1.2 AES算法輪變換

        AES 加密算法中的輪變換[6]由4 個部分組成,分別是字節(jié)代換(ByteSub)、行移變換(ShiftRow)、列混淆變換(MixColumn)、輪密鑰加(AddRoundKey)。

        每一輪都依次進(jìn)行字節(jié)代換(S 盒變換)、行移變換、列混淆變換和輪密鑰加。值得注意的是,加密算法的最后一輪沒有列混淆變換。其中輪變換總體框架如圖1 所示。

        圖1 AES輪變換框架圖

        1)字節(jié)代換

        字節(jié)代換是將每個字節(jié)進(jìn)行S 盒轉(zhuǎn)換,達(dá)到非線性變換。它通過S 盒獨立地對狀態(tài)的每個字節(jié)進(jìn)行變換,使字節(jié)高度混淆,步驟如下:1)將字節(jié)作為GF(28)上的元素映射到自己的逆元,實現(xiàn)有限域上的乘法逆;2)將每個字節(jié)作GF(2)上的仿射變換[7],即:y=Ax-1+B如式(1)所示,其中A是一個GF(2)上8×8的可逆矩陣,B是GF(2)上一個8 位列向量。

        2)行移變換

        行移變換是一種線性變換,它與列混淆變換結(jié)合使加密數(shù)據(jù)達(dá)到充分的混淆,它將狀態(tài)矩陣中的各行循環(huán)移位若干位,移位量根據(jù)行數(shù)不同而改變。第0 行不需要移動,第1、2、3 行分別循環(huán)左移C1、C2、C3個字節(jié)。逆行移位變換是行移位變換的逆變換,它對狀態(tài)的每一行進(jìn)行循環(huán)右移。表1 為左移量與分組大小Nb的關(guān)系。

        表1 左移量與分組大小Nb的關(guān)系

        3)列混淆變換

        列混淆變換為對狀態(tài)矩陣中列的線性變換。將狀態(tài)矩陣每列的4 個字節(jié)表示為GF(28)上多項式,再將該多項式與固定的多項式c(x)進(jìn)行模x4+1 乘法,其中要求c(x)模x4+1 可逆。定義如下:

        令b(x)=c(x)?a(x)mod(x4+1),列混淆變換過程如圖2 所示。

        圖2 列混淆變化示意圖

        4)輪密鑰加

        輪密鑰加運算就是每輪的狀態(tài)與對應(yīng)的128 bits輪密鑰進(jìn)行逐比特異或。

        2 AES算法的S盒優(yōu)化

        在AES 算法中實現(xiàn)數(shù)據(jù)的非線性置換[8]S 盒起到重要的作用,S 盒的設(shè)計有嚴(yán)格的數(shù)學(xué)計算,整個密碼算法的安全性直接依賴于S 盒的安全性。

        AES 算法S 盒的循環(huán)迭代周期比較短,遍歷性有待提高,它的擴(kuò)散性和表達(dá)式的復(fù)雜度并不能保證AES 算法在代數(shù)計算攻擊中的安全性?,F(xiàn)針對于上述S 盒性能的不足,將S 盒算法進(jìn)行優(yōu)化。

        1)在有限域中對輸入的字節(jié)元素求逆元。若兩個元素相乘滿足a(x)?b(x)modm(x)=1,就稱b(x) 是a(x)的逆元,其中m(x)=x8+1 不變;

        即取了一組新的仿射變換對(155,62);

        3)運用新的仿射變換對,將字節(jié)作GF(2)上的仿射變換[9];

        4)做乘法逆運算。

        運用了新的仿射變換對使S 盒的循環(huán)迭代周期為256,GF(28)中所有元素只屬于一個迭代循環(huán)。并將乘法逆運算和仿射變換的順序交換,使得表達(dá)式長度增加到255 項,增加了代數(shù)計算復(fù)雜度,從而提高了算法的安全性。該文對原S 盒與提出的新S 盒的各項性能進(jìn)行了比較,結(jié)果如表2 所示。

        表2 兩種S盒的對比分析指標(biāo)

        3 ECC算法

        KOBLITZ 和MILLER 在1985年提出ECC(Elliptic Curve Crypto-system),稱為橢圓曲線密碼體制。與其他的公鑰密碼[10]如RSA[11]相比,在相同密鑰長度下,橢圓曲線密碼安全性更高,同時橢圓曲線密碼更節(jié)約存儲空間和算力。這主要得益于在橢圓曲線上離散對數(shù)問題[12]比有限域上的離散對數(shù)問題更難解。像一般的非對稱加密算法原理那樣,橢圓曲線密碼也是基于“從a推導(dǎo)出b很難,從b推導(dǎo)出a容易”這樣的模式實現(xiàn)了非對稱加密。

        3.1 有限域GF(p)上的橢圓曲線

        橢圓曲線通常是指Weierstrass 方程所確定的曲線,它是由方程y2+axy+by=x3+cx2+dy+e的全體解再加上一個無窮遠(yuǎn)點O構(gòu)成的集合。

        在有限域GF(p)上,可以將上述曲線方程轉(zhuǎn)化為y3≡x3+ax+b(modp),常記為Ep(a,b),簡記為E。其中a,b,x和y均在有限域GF(p)上取值,p是素數(shù),且滿足4a3+27b2(modp)≠0。該橢圓曲線只有有限個點數(shù)n,表示為橢圓曲線的階[13],其中n越大安全性越高。

        3.2 橢圓曲線點的運算

        當(dāng)4a3+27b2(modp)≠0 時,稱Ep(a,b)是一條非奇異橢圓曲線[14]。對于非奇異橢圓曲線上點得集合Ep(a,b)定義的加法規(guī)則構(gòu)成一個群稱為Abel 群[15]。規(guī)則如下:

        1)單位元。O為加法的單位元,對于橢圓曲線上的任何一點P,有P+O=O+P=P。

        2)逆元。對于橢圓曲線上的一點P=(x,y),它的逆元為-P=(x,-y),注意到P+(-P)=P-P=O。

        3)點加。設(shè)P和Q是橢圓曲線上x坐標(biāo)不同的兩點,P+Q的定義如下:過點P和Q作直線l,直線l與橢圓曲線相交于唯一的點R,然后過R點作y軸的平行線l′,l′與橢圓曲線相交的另一點S就是P+Q,如圖3 所示。

        圖3 橢圓曲線上點的加法的幾何解釋

        4)倍點。為計算點Q的兩倍,在Q點作一條切線并找到與橢圓曲線的另一個交點T,則Q+Q=2Q=-T。

        4 AES和ECC混合密碼算法

        4.1 ECC算法密鑰的生成

        1)由橢圓曲線參數(shù)p,a,b來確定一條橢圓曲線,記為Ep(a,b);

        2)在Ep(a,b)上選取基點G(x,y),且滿足nG=0,其中n為G的階(n為一個大素數(shù));

        3)選取一個整數(shù)Ks∈[1,n-1],通過計算Kp=Ks G,可以得到密鑰對(Ks,Kp),其中Ks、Kp分別是私鑰和公鑰。

        4.2 加密過程

        明文使用AES 加密算法對其進(jìn)行加密。AES 密鑰加密采用ECC 加密算法對其加密生成密鑰密文。其過程如下:

        1)發(fā)送者選取一個隨機(jī)整數(shù)r(r

        2)將密鑰明文用編碼函數(shù)嵌入橢圓曲線Ep(a,b)上一點M=(mx,my);

        3)計算C1=rG,C2=M+rKp;

        4)向接收者發(fā)送(C1,C2)。

        4.3 解密過程

        AES 密鑰的解密過程如下;

        1)接收者收到(C1,C2);

        2)計算C2-KsC1=M+rKp-KsrG=M+rKsG-KsrG=M,可以得到點M;

        3)再對M進(jìn)行解碼,得到AES 密鑰。再結(jié)合AES 解密算法得到相應(yīng)的明文。

        4.4 數(shù)字簽名的生成和驗證

        1)數(shù)字簽名的生成

        假設(shè)發(fā)送者向接收者發(fā)送消息M并進(jìn)行簽名,發(fā)送者需執(zhí)行以下步驟:

        ①任取一個整數(shù)k∈[1,n-1];

        ②根據(jù)kG=(x1,y1),計算r=x1modn,若r=0,則回到步驟①;

        ③根據(jù)t=k-1modn,計算t的值;

        ④用Hash 函數(shù)SHA-1 計算Hash 值e=SHA(M);

        ⑤計算s=k-1(e+Ksr)modn,若s=0,則回到步驟①;

        ⑥發(fā)送消息M和它的簽名(r,s)。

        2)數(shù)字簽名的驗證

        接收者接收到消息M和簽名(r,s)后,接收者需執(zhí)行以下步驟進(jìn)行驗證:

        ①驗證r和s,需滿足r、s∈[1,n-1];

        ②計算e=SHA(M);

        ③計算w=s-1modn;

        ④計算u1=ewmodn和u2=rwmodn;

        ⑤計算U=u1G+u2Kp=(x2,y2);

        ⑥若U=0,則拒絕簽名;若U≠0,計算v=x2modn;

        ⑦若v=r,則接收簽名;若v≠r,則拒絕簽名。

        4.5 混合算法流程圖

        發(fā)送方:

        ①明文消息通過AES 加密算法的輪變換等進(jìn)行加密,從而得到密文;

        ②再通過利用ECC 加密算法對AES 的密鑰進(jìn)行加密,從而得到AES 的密鑰塊;

        ③用發(fā)送者私鑰在明文中提取消息摘要生成簽名塊;

        ④最后將密文、AES密鑰和簽名塊傳送給接收方。

        數(shù)據(jù)加密具體流程圖如圖4 所示。

        圖4 數(shù)據(jù)加密流程

        接收方:

        ①首先將AES 的密鑰塊通過ECC 解密算法進(jìn)行解密,可以得到AES 密鑰;

        ②然后將密文通過AES 密鑰進(jìn)行解密,從而得到明文消息,再進(jìn)行SHA-1 算法[16]獲得其信息摘要;

        ③用發(fā)送者公鑰解密簽名塊生成摘要結(jié)果;

        ④比較兩個摘要結(jié)果,若相等,則簽名成功。

        數(shù)據(jù)解密具體流程圖如圖5 所示。

        圖5 數(shù)據(jù)解密流程

        5 結(jié)束語

        由于互聯(lián)網(wǎng)越來越被大眾接受和使用,人們對信息安全保護(hù)的需求越來越迫切,該文提出一種基于AES 和ECC 的混合密碼技術(shù),具備了兩種算法的優(yōu)點:儲存空間小、運算速度快、密鑰管理方便等。從而可以高效地實現(xiàn)了互聯(lián)網(wǎng)中的信息加密、數(shù)字簽名和身份認(rèn)證,解決了密碼體制中速度和安全性不能兼顧的問題。同時重新設(shè)計了AES 算法中的S盒,改進(jìn)的S 盒的循環(huán)迭代周期擴(kuò)大到256,提高了遍歷性,表達(dá)式長度增加到255 項,增加了代數(shù)計算復(fù)雜度,從而提高了算法的安全性。

        亚洲av乱码一区二区三区女同| 香蕉网站在线| 精品2021露脸国产偷人在视频| 欧美午夜精品久久久久久浪潮| 国产成人无精品久久久| 精品日本韩国一区二区三区| 人妻有码中文字幕在线| 国产高清精品一区二区| 毛片av中文字幕一区二区| 谷原希美中文字幕在线| 中国一级特黄真人片久久| 亚洲日韩久久综合中文字幕| 亚洲午夜精品久久久久久人妖| 欧美z0zo人禽交欧美人禽交| 久久国产乱子伦精品免费强| 国产亚洲一区二区三区夜夜骚| 成人免费毛片立即播放| 琪琪色原网站在线观看| 亚洲国色天香卡2卡3卡4| 国产香蕉一区二区三区在线视频| 九九九影院| 国产高清精品在线二区| 男人的天堂手机版av| 亚洲亚洲人成综合丝袜图片 | 国产午夜亚洲精品午夜鲁丝片| 精品手机在线视频| 久久精品中文字幕第一页| 日韩精品免费观看在线| 久久人妻一区二区三区免费| 手机看黄av免费网址| 无码骚夜夜精品| 国产亚洲美女精品久久| 给我播放的视频在线观看| 99久久国内精品成人免费| 成人内射国产免费观看| 亚洲精品久久中文字幕| 久久久国产精品樱花网站| 亚洲精品中文字幕尤物综合| 中国亚洲一区二区视频| 日本特黄特色特爽大片| 天天爽夜夜爽夜夜爽|