freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

aes和ecc相結(jié)合的混合加密方法研究畢業(yè)論文(編輯修改稿)

2025-07-16 13:56 本頁面
 

【文章內(nèi)容簡介】 在char state[][4]中。(1) 字節(jié)變換—Substitutebytes()程序示例:void AES::SubstituteBytes(unsigned char state[][4]){ int r,c。 for(r=0。c4。c++) { State[r][c]=Sbox[state[r][c]]。}} 字節(jié)替換置換表(2) 行移位算法—ShiftRows()程序示例:void AES::ShiftRows(unsigned char state[][4]){ unsigned char t[4]。 int r,c。 for(r=1。 r4。 r++) { for(c=0。 c4。 c++) { t[c] = state[r][(c+r)%4]。 } for(c=0。 c4。 c++) { state[r][c] = t[c]。 } }0481259131101426153711}0481215913261014371115循環(huán)左移一字節(jié) 循環(huán)左移兩字節(jié)循環(huán)左移三字節(jié) AES的行移位變換(3) 列混淆變換—MixColumns()這個步驟是對state的列進(jìn)行復(fù)雜的轉(zhuǎn)換,每一列的4個元素與一個多項式相乘,并將這一列的每一個元素擴(kuò)散到這一列的全部4個元素。數(shù)學(xué)表示為: AES的列混淆變換(4) AddRoundKey—輪密鑰加變換前面講到明文被放在一個state[][4]中,這里密鑰也放在key[][4]中。程序示例:void AES::AddRoundKey(unsigned char state[][4],unsigned char k[][4]){ int r,c。 for(c=0。 c4。 c++) { for(r=0。 r4。 r++) { state[r][c] ^= k[r][c]。 } }}(5) KeyExpansion—密鑰擴(kuò)展程序示例:void AES::KeyExpansion(unsigned char* key, unsigned char w [4*11], int Nr){for(int j=0。jNr。j++) w[j]=(k[4*j],k[4*j+1],k[4*j+2],k[4*j+3])。for(j=Nr。j4*(Nr+1)。j++) { Char temp=w[j1]。 if(j%Nr==0) tempt=SubstituteBytes(temp)。 w[j]=w[jNr]^tempt。} }第一個密鑰是它本身。第二個密鑰是以4字節(jié)為單位逐字變換得來的。第一個字循環(huán)左移一個字節(jié),然后按前面字節(jié)替換按步驟字節(jié)變換,再加一常量或進(jìn)行異或。[7][21] AES解密算法與加密算法不同,基本運(yùn)算除AddRoundKey(輪密鑰加)不變外,其余均需逆變換。其中逆置換表如下圖。 字節(jié)替換逆置換表 AES算法總結(jié)通過了解AES加密解密的過程,可以更清晰的了解AES算法。AES算法消除了DES算法弱密鑰的存在。并且,經(jīng)過驗證,AES算法能有效的抵抗任何目前已知的攻擊算法的攻擊。AES算法以其高安全,高性能,高效率,易用和靈活等優(yōu)點,而受到業(yè)界的認(rèn)可。但是 AES 算法作為一種對稱加密算法,也存在著嚴(yán)重的不足,比如通信雙方需要事先交換密鑰,密鑰容易泄漏而不能確保安全性和密鑰存儲、使用和管理困難等問題。所以單獨(dú)使用AES并不能確保通信中的完全安全,所以提出混合密碼體制,來彌補(bǔ)其不足。 3 非對稱加密 非對稱密碼學(xué)簡介1976年,美國學(xué)者Dime和Henman為解決信息密鑰公開傳送和管理問題,提出一種新的密鑰交換協(xié)議,允許在不安全的媒體上的通訊雙方交換信息,安全地達(dá)成一致的密鑰,這就是“公開密鑰系統(tǒng)”。相對于“對稱加密算法”這種方法也叫做“非對稱加密算法”。與對稱加密算法不同,非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數(shù)據(jù)進(jìn)行加密,只有用對應(yīng)的私有密鑰才能解密;如果用私有密鑰對數(shù)據(jù)進(jìn)行加密,那么只有用對應(yīng)的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫做非對稱加密算法。非對稱加密算法實現(xiàn)機(jī)密信息交換的基本過程是:甲方生成一對密鑰并將其中的一把作為公用密鑰向其它方公開;得到該公用密鑰的乙方使用該密鑰對機(jī)密信息進(jìn)行加密后再發(fā)送給甲方;甲方再用自己保存的另一把專用密鑰對加密后的信息進(jìn)行解密。甲方只能用其專用密鑰解密由其公用密鑰加密后的任何信息。原文私鑰解密公鑰加密明文 密文 非對稱加密結(jié)構(gòu)圖非對稱加密算法的保密性比較好,它消除了最終用戶交換密鑰的需要,但加密和解密花費(fèi)時間長、速度慢,它不適合于對文件加密而只適用于對少量數(shù)據(jù)進(jìn)行加密。經(jīng)典的非對稱加密算法如RSA算法安全性都相當(dāng)高。非對稱加密的典型應(yīng)用是數(shù)字簽名。 RSA RSA算法簡介RSA公鑰加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美國麻省理工學(xué)院)開發(fā)的。RSA取名來自開發(fā)他們?nèi)叩拿?。RSA是目前最有影響力的公鑰加密算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被ISO推薦為公鑰數(shù)據(jù)加密標(biāo)準(zhǔn)。RSA算法基于一個十分簡單的數(shù)論事實:將兩個大素數(shù)相乘十分容易,但那時想要對其乘積進(jìn)行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。 RSA算法描述(1) RSA算法密鑰生成首先選取兩個大素數(shù)p,q。然后計算出n=p*q,m=(p1)*(q1),選擇一個比n小且與m互質(zhì)的數(shù)e(1除外)。求出數(shù)d,使ed1能被m整除。即得到:公鑰為Pu={e,n} 私鑰為Pr={d,n}(2) 加密變換。使用公鑰Pu加密明文m,即C=memod n。關(guān)于明文的分塊,每個塊的長度不大于logn2,然后對每個明文塊m依次進(jìn)行加密變換和解密變換。(3) 解密變換使用私鑰Pr解密密文C,即m=Cdmod n。[12] RSA算法總結(jié)RSA算法目前已經(jīng)是使用最廣泛的公鑰加密算法。從提出到現(xiàn)在已近20多年,經(jīng)歷了各種攻擊考驗,普遍認(rèn)為目前最優(yōu)秀的公鑰方案之一。但RSA的缺點也很明顯:1. 密鑰產(chǎn)生麻煩,受到素數(shù)產(chǎn)生技術(shù)的限制,很難做到一次一密;,為保證安全,n至少也要600bits,使運(yùn)算代價過高,速度較慢,且隨著大數(shù)分解技術(shù)的發(fā)展,這個長度還在增加,不利于數(shù)據(jù)格式標(biāo)準(zhǔn)化;,增加很快,下表列出了對同一安全級別所對應(yīng)的密鑰長度。 同一安全級別所對應(yīng)的密鑰長度[3] ECC ECC算法簡介同RSA算法一樣,ECC(Elliptic Curves Cryptography,橢圓曲線密碼編碼學(xué))也屬于非對稱加密算法。所謂橢圓曲線指的是由韋爾斯特拉斯(Weierstrass)方程:y2+a1xy+a3y=x3+a2x2+a4x+a6。橢圓曲線理論是一個比較深奧的數(shù)學(xué)分支,已有100多年的歷史,一直被作為一門純理論學(xué)科被少數(shù)科學(xué)家掌握。20世紀(jì)80年代 Neal ,提出了基于橢圓曲線的公鑰密碼體制ECC,取得了公鑰密碼理論和應(yīng)用的突破性進(jìn)展。20年來通過人們對他進(jìn)行系統(tǒng)的研究,結(jié)果表明,與其他幾種廣泛應(yīng)用的公鑰加密對比起來,具有速度快,難破解,數(shù)學(xué)背景豐富等優(yōu)點。 ECC算法入門講到橢圓曲線加密就不得不先講什么是射影平面坐標(biāo)系,射影平面坐標(biāo)系就是在假設(shè)平行線在無窮遠(yuǎn)點相交所產(chǎn)生的對平面直角坐標(biāo)系的擴(kuò)展。在平面直角坐標(biāo)系中點A的坐標(biāo)(x,y),而在射影平面坐標(biāo)系中點A表示為(X,Y,Z)其中X/Z=x,Y/Z=y。在平面直角坐標(biāo)系中橢圓曲線的函數(shù)是ax2+bx2=c,而在射影平面坐標(biāo)系下橢圓曲線的函數(shù)為Y2Z+a1XYZ+a3YZ2=X3+a2X2Z+a4XZ2+a6Z3[14][15]。又有運(yùn)算法則:任意取橢圓曲線上兩點P、Q (若P、Q兩點重合,則做P點的切線)做直線交于橢圓曲線的另一點R’,過R’做y軸的平行線交于R。規(guī)定P+Q=R,如下圖所示。則有無窮遠(yuǎn)點+p=p和p+p+p=3p。 橢圓曲線上的加法運(yùn)算如果橢圓曲線上一點P,存在最小的正整數(shù)n,使得數(shù)乘nP=O∞,則將n稱為P的階,若n不存在,我們說P是無限階的。[5] ECC算法入門(1) 生成密鑰用戶A選定一條橢圓曲線一點Ep(a,b),并取橢圓曲線上一點,作為基點G,n為G的階數(shù),選定一個jn(表階數(shù)),計算出K=jG。則j為私鑰,K為公鑰。(2) 加密過程用戶A將Ep(a,b)和點K,G傳給用戶B。用戶B接到信息后 ,將待傳輸?shù)拿魑木幋a到Ep(a,b)上一點M(編碼方法很多,這里不作討論),并產(chǎn)生一個隨機(jī)整數(shù)r(rn)。用戶B計算點C1=M+rK;C2=rG。用戶B將CC2傳給用戶A。(3) 解密過程用戶A接到信息后,計算C1jC2,結(jié)果就是點M。再對點M進(jìn)行解碼就可以得到明文,因為C1jC2=M+rKk(rG)=M+rKr(kG)=M。用戶AEp(a,b)K=jGM=C1jC2用戶BC1=M+rKC2=rG
點擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1