資源描述:
《現(xiàn)代密碼學實驗報告》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫。
1、信息安全1302-郁博文-0906130205中南大學現(xiàn)代密碼學實驗報告學生姓名郁博文學號0906130205專業(yè)班級信息安全1302指導教師段桂華學院信息科學與工程學院完成時間2015年5月信息安全1302-郁博文-0906130205AES1.背景AES,密碼學中的高級加密標準(AdvancedEncryptionStandard,AES),又稱Rijndael加密法,是美國聯(lián)邦政府采用的一種區(qū)塊加密標準。這個標準用來替代原先的DES,已經(jīng)被多方分析且廣為全世界所使用。經(jīng)過五年的甄選流程,高級加密標準由美國國家標準與技術(shù)研究院(NIST)于2001年11月2
2、6日發(fā)布于FIPSPUB197,并在2002年5月26日成為有效的標準。2006年,高級加密標準已然成為對稱密鑰加密中最流行的算法之一。AES有一個固定的128位的塊大小和128,192或256位大小的密鑰大小。Rijndael算法匯聚了安全性、效率高、易實現(xiàn)性和靈活性等優(yōu)點,是一種較DES更好的算法。該算法為比利時密碼學家JoanDaemen和VincentRijmen所設(shè)計,結(jié)合兩位作者的名字,以Rijndael之命名之,投稿高級加密標準的甄選流程。(Rijdael的發(fā)音近于"Rhinedoll"。)AES在軟體及硬件上都能快速地加解密,相對來說較易于實作,
3、且只需要很少的記憶體。作為一個新的加密標準,目前正被部署應(yīng)用到更廣大的范圍.1.1Rijndael密碼的設(shè)計標準:①抵抗所有已知的攻擊。39信息安全1302-郁博文-0906130205②在多個平臺上速度快,編碼緊湊。③設(shè)計簡單。?當前的大多數(shù)分組密碼,其輪函數(shù)是Feistel結(jié)構(gòu)。?Rijndael沒有這種結(jié)構(gòu)。?Rijndael輪函數(shù)是由3個不同的可逆均勻變換1.2設(shè)計思想n分組和密鑰長度可變,各自可獨立指定為128、192、256比特。n狀態(tài)n算法中間的結(jié)果也需要分組,稱之為狀態(tài),狀態(tài)可以用以字節(jié)為元素的矩陣陣列表示,該陣列有4行,列數(shù)Nb為分組長度除32
4、n種子密鑰n以字節(jié)為元素的矩陣陣列描述,陣列為4行,列數(shù)Nk為密鑰長度除322.系統(tǒng)設(shè)計2.1系統(tǒng)主要目標基本要求部分:1.在深入理解AES加密/解密算法理論的基礎(chǔ)上,設(shè)計一個AES加密/解密軟件系統(tǒng);39信息安全1302-郁博文-09061302052.2功能模塊與系統(tǒng)結(jié)構(gòu)主要功能模塊如下:2.2.1字節(jié)替換SubByte非線性代換是可逆的,由以下兩個變換的合成得到:①首先,將字節(jié)看作GF(28)上的元素,映射到自己的乘法逆元,‘00’映射到自己。②其次,對字節(jié)做如下仿射變換:圖1字節(jié)代換示意圖2.2.2行移位ShiftRow將狀態(tài)陣列的各行進行循環(huán)移位,移位
5、量與分組長度的關(guān)系0行:不動NbC1C2C341236123813439信息安全1302-郁博文-0906130205圖2行移位示意圖2.2.3列混合MixColumn圖3列混合示意圖狀態(tài)陣列的每個列a(x)與一個固定的多項式c(x)進行模x4+1乘法后混淆為b(x).記為c(x)是模x4+1可逆的多項式‘03’x3+‘01’x2+‘01’x+‘02’逆d(x)=‘0B’x3+‘0D’x2+‘09’x+‘0E’2.2.4輪密鑰加AddRoundKey圖4輪密鑰加示意圖密鑰加:輪密鑰與狀態(tài)進行逐比特異或。輪密鑰長度等于分組長度Nb。39信息安全1302-郁博文-0
6、906130205密鑰加運算的逆運算是其自身。2.2.5逆字節(jié)替換通過逆S盒的映射變換得到2.2.6逆行移位InvShiftRow圖5逆行移位示意圖與加密時的行移位區(qū)別在于移位方向相反。2.2.7逆列混淆圖6逆列混合示意圖加密與解密系統(tǒng)流程圖如下所示,39信息安全1302-郁博文-09061302053.AES算法java實現(xiàn)3.1代碼見附錄13.2測試結(jié)果:39信息安全1302-郁博文-0906130205RC41.背景RC4加密算法是大名鼎鼎的RSA三人組中的頭號人物RonaldRivest在1987年設(shè)計的密鑰長度可變的流加密算法簇。之所以稱其為簇,是由于
7、其核心部分的S-box長度可為任意,但一般為256字節(jié)。該算法的速度可以達到DES加密的10倍左右,且具有很高級別的非線性。RC4起初是用于保護商業(yè)機密的。但是在1994年9月,它的算法被發(fā)布在互聯(lián)網(wǎng)上,也就不再有什么商業(yè)機密了。RC4也被叫做ARC42.系統(tǒng)設(shè)計2.1系統(tǒng)主要目標基本要求部分:分析RC4的實現(xiàn)過程。用程序設(shè)計語言將算法過程編程實現(xiàn)。完成字符串數(shù)據(jù)的加密運算和解密運算2.2功能模塊與系統(tǒng)結(jié)構(gòu)主要功能模塊如下:39信息安全1302-郁博文-0906130205RC4算法的原理很簡單,包括初始化算法(KSA)和偽隨機子密碼生成算法(PRGA)兩大部分
8、。開始輸入明文輸入密鑰初