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

正文內(nèi)容

aes加密算法在用戶信息管理模塊中的應(yīng)用畢業(yè)論文(編輯修改稿)

2025-07-19 12:14 本頁面
 

【文章內(nèi)容簡介】 一輪加密 InvShiftRows(state)。 InvSubBytes(state)。 AddRoundKey(state,w[0,3])。}容易看出,AES的解密過程使用了四種的逆變換,即InvSubBytes()、InvShiftRows()、InvMixColumns()及AddRoundKey()(AddRoundKey的逆變換是它本身),以相反的順序?qū)τ擅芪挠成涞玫綘顟B(tài)矩陣進行變換完成。另外,AES的解密過程使用的子密鑰相同,但使用的順序相反。a. InvSubBytes變換 InvSubBytes變換是字節(jié)替換變換(SubBytes)的逆變換,即先用到了仿射變換的逆變換,在計算GF(28)中的乘法逆。逆S盒對狀態(tài)矩陣中的每一字節(jié)進行逆變換。 InvShiftRows變換是行移位變換(ShiftRows)的逆變換,即它對狀態(tài)矩陣的各行按相反的方向進行循環(huán)移位操作。因此,狀態(tài)矩陣各行的移位情況如下:第一行保持不變;第二行循環(huán)右移一個字節(jié);第三行循環(huán)右移兩個字節(jié);第四行循環(huán)右移三個字節(jié)。 InMixColumns變換是列混合變換(MixColumns)的逆變換。InMixColumns()同樣逐列處理狀態(tài)矩陣,它把每一列都當(dāng)作系數(shù)GF(28)有限域上的四項多項式。與MixColumns變換對應(yīng),InMixColumns變換把列多項式與多項式a(x)相對于模多項式x4+1的逆a1(x)相乘 a1(x) = {0b}?x3 + {0d}?x2 + {09}?x + {0e} ()設(shè)列多項式為sc(x) = s0,c + s1,cx + s2,cx2+ s3,cx3,0=c=3,InMixColumns變換可以寫為如下矩陣的形式 () AES解密過程的逆S盒 AES安全性能分析 針對各種攻擊,對用戶的隱私進行保護,使用戶可以很安全的將自己的信息存儲在各種服務(wù)器終端。 針對某一特定的分組密碼算法,其攻擊方法可以分為通用攻擊方法和專用攻擊方法。所謂通用攻擊方法就是對所有的分組加密算法攻擊都有效的方法,而專用攻擊方法只對該特定算法有效,一般與具體密碼算法某種特定的結(jié)構(gòu)有關(guān)。設(shè)計現(xiàn)代實用密碼算法時,為了有效的抵抗通用攻擊,一般都遵循香農(nóng)所提出的混亂原則和擴散原則。同時,混亂和擴散也是分組密碼算法的設(shè)計理論中保證明文能夠可靠、隱蔽的最基本技術(shù)。所謂混亂原則就是所設(shè)計的密碼應(yīng)使得密文對密鑰和明文的依賴關(guān)系相當(dāng)復(fù)雜以至于這種依賴性對密碼分析者來說是無法利用的?;靵y用于掩蓋明文、密文和密鑰之間的關(guān)系。這可以挫敗通過研究密文以獲取冗余度和統(tǒng)計模式的企圖。做到這點最容易的方法是通過代替,一個簡單的代替密碼,如單字母密碼,其中每一個確定的明文字符被一個密文字符所代替?,F(xiàn)代的代替密碼更復(fù)雜:一個長的明文分組彼代替成一個不同的密文分組,并且代替的機制隨明文或者密鑰中的每一位發(fā)生變化。好的混亂可以使這種統(tǒng)計關(guān)系變得復(fù)雜以致強有力的密碼分析工具都不能有效。擴散原則指的是所設(shè)計的密碼應(yīng)使得密鑰的每一位數(shù)字影響到密文的許多位數(shù)字以防止對密鑰進行逐段破譯,同時明文的每一位數(shù)字也應(yīng)影響密文的許多位數(shù)字以便隱蔽明文數(shù)字統(tǒng)計特性。擴散通過將明文冗余度分散到密文中使之分散開來,把單個明文位和密鑰位的影響盡可能擴大到更多的密文中去。密碼分析者尋求這些冗余度將會更難。產(chǎn)生擴散最簡單的辦法是通過換位(也稱為置換)。一個簡單的換位密碼,如列換位體制,只簡單地重新排列明文字符。為了有效的抵抗密碼算法的專用攻擊方法,則要對算法的自身結(jié)構(gòu)進行分析,消除其中的不安全因素。算法比較分析自DES算法1977年首次公諸于世以來,學(xué)術(shù)界對其進行了深入的研究,圍繞它的安全性等方面展開了激烈的爭論。在技術(shù)上,對DES的批評主要集中在以下幾個方面:a. 作為分組密碼,DES的加密單位僅有64位二進制,這對于數(shù)據(jù)傳輸來說太小,因為每個分組僅含8個字符,而且其中某些位還要用于奇偶校驗或其他通訊開銷。b. DES的密鑰的位數(shù)太短,只有56比特,而且各次迭代中使用的密鑰是遞推產(chǎn)生的,這種相關(guān)必然降低密碼體制的安全性, 在現(xiàn)有技術(shù)下用窮舉法尋找密鑰已趨于可行。 迄今為止, DES算法中的S盒8個選擇函數(shù)矩陣的設(shè)計原理因美國政府方面的干預(yù), 不予公布。從這一方面嚴(yán)格地講DES算法并不是一個真正的公開加密算法。S盒設(shè)計中利用了重復(fù)因子, 致使加密或解密變換的密鑰具有多值性, 造成使用DES合法用戶的不安全性。而且, 在DES加密算法的所有部件中, S盒是唯一的具有差分擴散功能的部件(相對于逐位異或), 其它都是簡單的位置交換, 添加或刪減等功能, 毫無差分擴散能力。這樣, DES的安全性幾乎全部依賴于S盒,攻擊者只要集中力量對付S盒就行了。, 理論上最大加密強度為256。DES算法要提高加密強度(例如增加密鑰長度), 則系統(tǒng)開銷呈指數(shù)增長。除采用提高硬件功能和增加并行處理功能外,從算法本身和軟件技術(shù)方面無法提高DES算法的加密強度。相對DES算法來說,AES算法無疑解決了上述問題,主要表現(xiàn)在如下幾方面: ,在有反饋模式、無反饋模式的軟硬件中,Rijndael都表現(xiàn)出非常好的性能。,適合于受限環(huán)境。,分組長度和密鑰長度設(shè)計靈活。,分組長度可設(shè)定為32比特的任意倍數(shù),最小值為128比特,最大值為256比特。e. AES的密鑰長度比DES大,它也可設(shè)定為32比特的任意倍數(shù),最小值為128比特,最大值為256比特, 所以用窮舉法是不可能破解的。在可預(yù)計的將來,如果計算機的運行速度沒有根本性的提高,用窮舉法破解AES密鑰幾乎不可能。f. AES算法的設(shè)計策略是寬軌跡策略(Wide Trail Strategy, WTS)。WTS是針對差分分析和線性分析提出的,可對抗差分密碼分析和線性密碼分析??傊?,AES算法匯聚了安全性、效率高、易實現(xiàn)性和靈活性等優(yōu)點,是一種較DES更好的算法。 算法比較算法名稱密鑰長度 實現(xiàn)加密速度安全性資源消耗特點適用情況AES 1219256位 AES 算法基于排列和置換運算??旄叩?AES能提供更快的數(shù)據(jù)加密方法,且與各種不同的產(chǎn)品兼容 速度快,安全級別高AES 正日益成為加密各種形式的電子數(shù)據(jù)的實際標(biāo)準(zhǔn)。 3DES 112位或168位 基于DES,對一塊數(shù)據(jù)用三個不同的密鑰進行三次加密,強度更高 慢高高強度更高 ,資源消耗大 電子貨幣業(yè)界普遍使用3DES,并持續(xù)開發(fā)和宣傳基于其的標(biāo)準(zhǔn) DES 56 DES 使用 16 個循環(huán),使用異或,置換,代換,移位操作四種基本運算。 慢低低分組比較短、密鑰太短、密碼生命周期短、運算速度較慢 適用于加密大量數(shù)據(jù)的場合 AES算法的安全性現(xiàn)代密碼分析技術(shù)包括差分密碼分析技術(shù)、線性密碼分析技術(shù)和密鑰相關(guān)的密碼分析,它改善了破譯速度,但是破譯速度還是很慢。差分密碼分析是一個選擇明文攻擊,其中使用大量的明密文對來確定密鑰比特位的值。Eli Biham和Adi Shamir提出了差分密碼分析方法,該方法比窮舉攻擊有效。差分密碼分析考察那些明文有特定差分的密文對,當(dāng)明文使用相同的密鑰加密時,分析其在通過AES的輪擴散時差分的演變。簡單地,選擇具有固定差分的一對明文,這兩個明文可隨機選取,只要求他們符合特定差分條件,密碼分析者甚至不必知道他們的值,然后使用輸出密文中的差分,按照不同的概率分配給不同的密鑰。隨著你分析的密文對越來越多,其中最可能的一個密鑰將顯現(xiàn)出來,這就是正確的密鑰。但是,這里有幾個要點要特別注意。首先,差分分析主要是理論上的。差分分析所要求的巨大時間量和數(shù)據(jù)量幾乎超過了每個人的承受能力。首先要獲得差分分析所不可少的數(shù)據(jù)。其次,這首先是一種選擇明文攻擊,為了得到有用的明文一密文對,必須對所有的明文一密文對進行篩選。線性密碼是一個己知明文攻擊,其中使用大量的明文密文對來確定密鑰比特位的值。線性密碼分析是Mitsuru Matusi提出的,這種攻擊使用線性近似值來描繪分組密碼的操作。這意味著如果將明文的一些位、密文的一些位分別進行異或運算,然后再將這兩個結(jié)果異或,那么你將得到一個位,這一位是將密鑰的一些位進行異或運算的結(jié)果。這就是概率位p的線性近似值。如果p不等于1/2,那么就可以使用該偏差,用得到的明文及對應(yīng)的密文來猜測密鑰的位置。得到的數(shù)據(jù)越多,猜測越可靠。概率越大,用同樣數(shù)據(jù)量的成功率越高。線性分析極大的依賴于S盒的結(jié)構(gòu),而AES的S盒有良好非線性和較高的數(shù)學(xué)復(fù)雜度。寬軌道策略是一種用于設(shè)計密鑰交替分組密碼輪變換的手段,它具有抗差分和線性密碼分析的特性。它將輪變換分成兩個可逆步驟:⑴ 一個局部的非線性變換。所謂局部性是指任何一位輸出比特只依賴于有限數(shù)量的輸入比特,并且鄰近的輸出比特只依賴于鄰近的輸入比特。⑵ 一個可提供高度擴散性的線性混合變換。SubBytes變換、ShiftRows變換和MixColumns變換正式寬軌道策略在Rijndael中的體現(xiàn),從而足以抵抗差分和線性攻擊??紤]到與密鑰有關(guān)的密碼攻擊,在密鑰擴展中還運用了字代替(SubWord)和字旋轉(zhuǎn)(RotWord)訪法為子密鑰提供了高擴散性和混亂性。Rijndael算法在設(shè)計時,設(shè)計者通過合適輪函數(shù)的多輪迭代為抵抗通用攻擊提供了必要的混亂和擴散,同時這種多輪迭代的方法也消除了Rijndael算法面向字節(jié)處理的不安全因素,即也有效的抵抗了該算法的專用攻擊?,F(xiàn)有已知的強力攻擊主要有窮盡密鑰搜索攻擊、字典攻擊、查表攻擊和時間存儲權(quán)衡攻擊,這些攻擊的共同點是可作用于任何分組密碼,攻擊的復(fù)雜度只依賴于分組長度和密鑰長度。AES所采用的助Rijndael算法,以密鑰是128位來進行強力攻擊,則必須處理個(*)可能密鑰,這在時間和空間都是不可行的??傊?,對所有已知攻擊而言,AES是安全的。它的設(shè)計的各個方面融合了各種特色,從而為抵抗各種攻擊提供了安全性。例如,S盒構(gòu)造中有限域逆操作的使用導(dǎo)致了線性逼近和差分分布表中的各項趨近于均勻分布,這就為抵御差分和線性攻擊提供了安全性。類似地,線性變換Mixcolumns使得找到包含“較少”活動S盒的差分和線性攻擊成為不可能事件(設(shè)計者將這一特色稱為寬軌道策略)。顯然,對AES現(xiàn)在還不存在快于窮盡密鑰搜索的攻擊。即使是對AES減少迭代輪數(shù)的各種變體而言“最好”的攻擊,也對10輪的AES無效。經(jīng)過對DES 算法和AES 算法的比較分析,我們可以得出結(jié)論, 后者的效率明顯高于前者, 而且由于AES 算法的簡潔性,使得它的實現(xiàn)更為容易。AES 作為新一代的數(shù)據(jù)加密標(biāo)準(zhǔn), 其安全性也遠遠高于DES 算法。AES算法的優(yōu)點:速度快。占用空間小??刹⑿羞\算,適合于未來處理器和專用芯片實現(xiàn)。設(shè)計簡單,沒有借用其他密碼,沒有從隨機表獲得隨機數(shù)等隨意環(huán)節(jié)。緊致的密碼設(shè)計結(jié)構(gòu)??勺兊姆纸M長度。局限性:該密碼的局限性與其逆有關(guān)。逆密碼與密碼自身相比,不適于在智能卡上實現(xiàn),它要占用較多的代碼和時間(但與其他密碼相比,逆密碼也是非常快的)。在軟件實現(xiàn)上,該密碼及其逆密碼使用不同的代碼或表。硬件實現(xiàn)上,該密碼及其逆密碼不能在同一個有限狀態(tài)機或結(jié)構(gòu)中實現(xiàn)。3 AES加密算法的實現(xiàn) 3 AES加密算法的實現(xiàn) 美國ATamp。T貝爾實驗室的Bjarne Stroustrup博士在20世紀(jì)80年代初期發(fā)明并實現(xiàn)了C++,1998年國際標(biāo)準(zhǔn)組織(ISO)頒布了C++程序設(shè)計語言的國際標(biāo)準(zhǔn)ISO/IEC 14881998。C++是具有國際標(biāo)準(zhǔn)的編程語言,通常稱作ANSI/ISO C++。C++設(shè)計成靜態(tài)類型、和C同樣高效且可移植的多用途程序設(shè)計語言。 C++是一種使用非常廣泛的計算機編程語言,是一種靜態(tài)數(shù)據(jù)類型檢查的,支持多重編程范式的通用程序設(shè)計語言。它支持過程化程序設(shè)計、數(shù)據(jù)抽象、面向?qū)ο蟪绦蛟O(shè)計、泛型程序設(shè)計等多種程序設(shè)計風(fēng)格。C++被設(shè)計成給程序設(shè)計者更多的選擇的語言。C++設(shè)計成盡可能與C兼容,借此提供一個從C到C++的平滑過渡。C++避免平臺限定或沒有普遍用途的特性。C++不使用會帶來額外開銷的特性。C++被設(shè)計成無需復(fù)雜的程序設(shè)計環(huán)境。 相比與其他的開發(fā)工具,使用VC++的向?qū)В╓izard)可以生成大量的代碼,而不必人工地大量編寫代碼。從編寫程序的難易程度和程序的性能綜合考慮,C++是最佳的選擇。C++性能良好,因為它被編譯后生成機器代碼。對于VB和Java等語言,代碼在運行時由對應(yīng)的解釋程序解釋,而且每次運行程序時都要將代碼轉(zhuǎn)換為可直接由機器執(zhí)行的機器碼,這樣做效率偏低,不僅僅是已編譯過的C++程序運行得較快,而且微軟C++編譯器已存在多年,這一事實意味著微軟的編譯器程序員已經(jīng)把許多優(yōu)點和經(jīng)驗集中到編譯器上,以至于它能產(chǎn)生非常高效的機器碼。因為C++是編譯語言,而且非常自然,比其他語言更接近機器代碼,所以由C++編譯器產(chǎn)生的代碼比其他的編譯代碼效率更高。 C++ 編寫 AES 類現(xiàn)在我已研究了構(gòu)成 AES 加密算法的各個成分,我將用 C++ 來實現(xiàn)它。實現(xiàn)AES算法時,只設(shè)計了一個類AES。我的設(shè)計使用9個數(shù)據(jù)成員和一個枚舉類型,public enum KeySize { Bits128, Bits192, Bits256 }。 private int Nb。 private int Nk。 private int Nr。 private byte[] key。 private byte[,] Sbox。 private byte[,] iSbox。 西安工業(yè)大學(xué)畢業(yè)設(shè)計(論文)
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1