




免費預(yù)覽已結(jié)束,剩余5頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第一章 緒論1.1 AES高級加密標準隨著Internet的迅猛發(fā)展,基于Internet的各種應(yīng)用也日新月異,日益增長。但是,由于Internet是一個極度開放的環(huán)境,任何人都可以在任何時間、任何地點接入Internet獲取所需的信息,這也使得在Internet上信息傳輸及存儲的安全問題成為影響Internet應(yīng)用發(fā)展的重要因素。正因為如此,信息安全技術(shù)也就成為了人們研究Internet應(yīng)用的新熱點。信息安全的研究包括密碼理論與技術(shù)、安全協(xié)議與技術(shù)、安全體系結(jié)構(gòu)理論、信息對抗理論與技術(shù)、網(wǎng)絡(luò)安全與安全產(chǎn)品等諸多領(lǐng)域。在其中,密碼算法的理論與實現(xiàn)研究是信息安全研究的基礎(chǔ)。而確保數(shù)據(jù)加密算法實現(xiàn)的可靠性和安全性對于算法理論應(yīng)用到各種安全產(chǎn)品中起到了至關(guān)重要的作用。對各類電子信息進行加密,以保證在其存儲,處理,傳送以及交換過程中不會泄露,是對其實施保護,保證信息安全的有效措施。1977年1月數(shù)據(jù)加密標準DES(Data Encryption Standard)正式向社會公布,它是世界上第一個公認的實用分組密碼算法標準。但DES在經(jīng)過20年的實踐應(yīng)用后,現(xiàn)在已被認為是不可靠的。1997年1月2日NIST發(fā)布了高級加密標準(AES-FIPS)的研發(fā)計劃,并于同年9月12日正式發(fā)布了征集候選算法公告,NIST希望確定一種保護敏感信息的公開、免費并且全球通用的算法作為AES,以代替DES,用以取代DES的商業(yè)應(yīng)用。在征集公告中,NIST對算法的基本要求是:算法必須是私鑰體制的分組密碼,支持128bits分組長度和128,192,256bits密鑰長度。經(jīng)過三輪遴選,Rijndael最終勝出。2000年10月2日,NIST宣布采用Rijndael算法作為新一代高級加密標準。Rijndael的作者是比利時的密碼專家Joan Daemon博士和Vincent Rijmen博士。美國國家標準和技術(shù)研究所(NIST)在1999年發(fā)布了FIPS PUB 46-3,該標準指出DES只能用于遺留系統(tǒng),同時3DES將取代DES。3DES密鑰長度為168bits,可克服窮舉攻擊問題,3DES的底層加密算法對密碼分析攻擊有很強的免疫力,其根本缺點是用軟件實現(xiàn)該算法的速度慢,由于此缺陷,3DES不能成為長期使用的加密算法標準。雖然AES己經(jīng)生效,但DES和3DES還大量地在各種信息安全產(chǎn)品中使用。市場上的AES的商用產(chǎn)品還很少,但AES產(chǎn)品取代DES產(chǎn)品已是必然。對AES的實現(xiàn)和應(yīng)用進行探討和研究就具有較大的理論和現(xiàn)實意義。2001年11月26日聯(lián)邦信息處理標準出版社發(fā)布了正式的AES標準即FIPS PUBS 197,其中制定的標準生效時間為2002年5月26日。AES最終會取代3DES,但過程可能需要幾年時間。Rijndael算法是一種可變分組長度和密鑰長度的迭代型分組密碼,它的分組長度和密鑰長度均可獨立地指定為128bits,192bits,256bits,它以其安全性和多方面的優(yōu)良性能,成為AES的最佳選擇(在高級加密標準規(guī)范中,密鑰的長度可以是128,192,256bits三者中的任意一種,但分組長度只能是128bits)。Rijndael算法能抵抗現(xiàn)在的所有已知密碼攻擊,用S盒作為非線性組件,表現(xiàn)出足夠的安全性能,其采用的實現(xiàn)方式非常利于防止能量攻擊和計時攻擊,算法利用了掩碼技術(shù)防止這些攻擊,它在廣泛的計算環(huán)境中的硬件和軟件實現(xiàn)性能都表現(xiàn)得非常優(yōu)秀,它固有的分布執(zhí)行機制使得密鑰建立時間極短且靈活性強,非常利于在各種平臺上執(zhí)行,它對RAM和ROM的要求低,使其非常適合在存儲器受限的環(huán)境中使用,并且表現(xiàn)出很好的性能。其有很好的并行執(zhí)行能力。AES對所有已知的攻擊具有免疫性,其設(shè)計簡單,在各種平臺上執(zhí)行速度快而且代碼緊湊。AES不使用Feistel結(jié)構(gòu),而是每一輪都使用代換和混淆并行地處理整個數(shù)據(jù)分組。AES輸入的密鑰被擴展成擴展輪密鑰。AES的結(jié)構(gòu)包括四個不同階段:字節(jié)代換,行移位,列混淆,輪密相加,它們提供了混淆,擴散以及非線性功能。AES算法結(jié)構(gòu)簡單,由10個加密輪次組成。AES應(yīng)用了在有限域 中的乘法和加法運算法則。AES每個階段均可逆,解密算法中用相對應(yīng)的逆函數(shù)即可。從AES的應(yīng)用看,目前AES算法主要用于基于私鑰數(shù)據(jù)加密算法(對稱密鑰加密算法)的各種信息安全技術(shù)和安全產(chǎn)品中,AES通常被認為是DES算法的取代者,為原有的數(shù)據(jù)加密應(yīng)用提供更強的數(shù)據(jù)安全保障。所以在原來DES標準應(yīng)用的領(lǐng)域中,AES存在著巨大的應(yīng)用價值。當前網(wǎng)絡(luò)技術(shù)發(fā)展迅猛,所以對于基于網(wǎng)絡(luò)的數(shù)據(jù)加密的要求也日益提高,AES的應(yīng)用首先體現(xiàn)在了網(wǎng)絡(luò)信息安全領(lǐng)域中。在AES標準公布前,IPSec協(xié)議中ESP(封裝安全負載)所用的數(shù)據(jù)加密算法主要用的是DES和其代替者3DES,隨著AES標準的公布,IETF的IPSec工作組下一步正試圖使AES成為ESP使用的默認加密算法,要求所有IPSec實現(xiàn)必須兼容AES加密算法?,F(xiàn)在大多數(shù)提供VPN設(shè)備和解決方案的公司都已經(jīng)使用AES加密算法來代替原來產(chǎn)品中使用的DES加密算法,并將此作為宣傳企業(yè)產(chǎn)品的重要砝碼。AES在網(wǎng)絡(luò)技術(shù)中另一個主要應(yīng)用是無線網(wǎng)絡(luò)應(yīng)用。由于無線網(wǎng)絡(luò)的通信信道相對于有線網(wǎng)絡(luò)來說是一個更為開放的環(huán)境,安全性的要求相對于有線網(wǎng)絡(luò)來說將會更高。目前,無線網(wǎng)絡(luò)的國際標準主要有兩個:一個是用于WLAN的IEEE803.11協(xié)議(Wi-Fi);另一個是用于WMAN的IEEE803.16協(xié)議(WiMAX)。這兩個協(xié)議在制定的初期所采用的安全機制中主要使用的分別是RC4和DES, 2004年后這兩個協(xié)議也都將AES加入到協(xié)議的安全機制中。此外,其他的一些無線網(wǎng)絡(luò)技術(shù)為了保障數(shù)據(jù)傳輸安全性也都使用了AES。ZigBee技術(shù)就是一個典型的代表,它作為新一代的無線傳感器網(wǎng)絡(luò)采用了IEEE802.15.41 ZigBee協(xié)議(一種低功率WPAN)。ZigBee技術(shù)是一種近距離,低復(fù)雜度,低功耗,低數(shù)據(jù)速率,低成本的雙向無線通信技術(shù),主要適合于自動控制和遠程控制領(lǐng)域,可以嵌入各種設(shè)備中。ZigBee的MAC層使用了AES算法進行加密,并且它基于AES算法生成一系列的安全機制,用來保證MAC幀的機密性,完整性,一致性和真實性。除了保障網(wǎng)絡(luò)應(yīng)用的信息安全外,AES在其他的信息安全領(lǐng)域中也有著廣泛的應(yīng)用。從AES硬件實現(xiàn)的應(yīng)用上看,主要研究的方向有射頻IC(集成電路)卡中的數(shù)據(jù)安全,智能安全卡和對硬盤數(shù)據(jù)的加密等方面。目前射頻IC卡在國內(nèi)的應(yīng)用范圍很廣泛,從市民乘車使用的公交IC卡、學(xué)校食堂使用的飯卡到新一代的居民身份證中都嵌入了IC芯片。在IC卡中所存儲的數(shù)據(jù)通常都是含有持卡人的各人隱私信息的,這些信息如果不經(jīng)過加密處理很容易在不經(jīng)意間從各種渠道泄露出去。因此如何在射頻IC卡中加入數(shù)據(jù)加密功能成為AES應(yīng)用研究的方向。從AES軟件實現(xiàn)的應(yīng)用上看,其應(yīng)用領(lǐng)域也十分廣泛,包含語音、視頻信息的加密,數(shù)據(jù)庫中的數(shù)據(jù)加密以及當前關(guān)注度很高的電子商務(wù)安全等。隨著計算機性能的提高,尤其是對于多媒體信息的處理能力的增強,越來越多的多媒體信息出現(xiàn)在人們的日常生活中。和一般的文字信息類似,多媒體信息也存在對需要保密的信息加密的問題。由于多媒體信息的數(shù)據(jù)量很大,如果對其直接進行數(shù)據(jù)加密的話,其效率很低,將會影響多媒體信息的傳播及使用。因此,在對多媒體信息加密時,不僅要考慮到數(shù)據(jù)加密算法AES的使用方法,還要設(shè)計相應(yīng)的加密過程。關(guān)于AES在數(shù)據(jù)庫中的應(yīng)用,其主要的研究方向在于如何生成,分配和管理在數(shù)據(jù)輸入輸出中所用的密鑰以及安全的數(shù)據(jù)加密的策略上,形成一個完整的數(shù)據(jù)加密系統(tǒng)。關(guān)于AES在電子商務(wù)中的應(yīng)用,其研究的重心在于電子商務(wù)基礎(chǔ)平臺中的密碼協(xié)議和交易安全協(xié)議中AES的應(yīng)用。如將AES應(yīng)用在SSL(安全套接字層)協(xié)議中:在實時數(shù)據(jù)網(wǎng)絡(luò)傳輸前,發(fā)送方通過身份認證后,用SSL安全通道發(fā)送AES密鑰到接收方,同時用AES算法對實時數(shù)據(jù)加密,然后基于UDP協(xié)議通過互聯(lián)網(wǎng)發(fā)送加密的實時數(shù)據(jù)到接收方。這樣接收方可以用接收到的AES密鑰解密加密后的實時數(shù)據(jù)得到具體的實時數(shù)據(jù)。此外,將AES與其他的密碼算法相結(jié)合,尤其是一些公鑰加密算法(非對稱加密算法),設(shè)計出的新的密碼也是AES應(yīng)用研究的主要方向之一。目前比較典型的研究包括:AES與RSA相結(jié)合的混合加密體系,AES與ECC(橢圓曲線加密算法)相結(jié)合的加密體系,利用NTRU公鑰密碼體系分配AES密鑰,AES在公鑰加密體系PKI中的應(yīng)用,AES在數(shù)據(jù)簽名中的應(yīng)用等等。高級加密標準AES(Rijndael)算法在各行業(yè)各部門中將獲得廣泛的應(yīng)用,成為虛擬專用網(wǎng)、SONET(同步光網(wǎng)絡(luò))、遠程訪問服務(wù)器(RAS)、高速ATM/Ethernet路由器、移動通信、衛(wèi)星通信、電子金融業(yè)務(wù)等的加密算法,并逐漸取代DES在IPSec、SSL和ATM中的使用。IEEE 802.11i草案已經(jīng)定義了AES加密的兩種不同運行模式,成功解決了無限局域網(wǎng)(WLAN)標準中的諸多安全問題。綜上所述,AES的研究從理論到實現(xiàn),從實現(xiàn)到應(yīng)用,己經(jīng)深入到了信息安全技術(shù)的各個領(lǐng)域,繼續(xù)研究與開發(fā)新的AES實現(xiàn)和應(yīng)用具有很重要的理論和實踐意義。當前,從應(yīng)用的角度上看,拓展數(shù)據(jù)加密技術(shù)應(yīng)用領(lǐng)域,將現(xiàn)有的關(guān)于AES的研究成果與非信息安全領(lǐng)域的相關(guān)技術(shù)與應(yīng)用相結(jié)合,從而得到新的應(yīng)用將是一個很好的研究方向。1.2 LDPC低密度奇偶校驗碼 信道編碼是以信息在信道上的正確傳輸為目標的編碼,在研究中它著重強調(diào)的是如何避免少量的差錯信號對信息內(nèi)容的影響。從信息論角度來看的信道編碼指的是差錯控制編碼,包括各種形式的糾錯、檢錯馬,可以統(tǒng)稱為糾錯編碼。LDPC碼即低密度奇偶校驗碼(Low Density Parity Check Code,LDPC),最早在20世紀60年代由麻省理工學(xué)院的Robert Gallager在他的博士論文中提出的一種具有稀疏校驗矩陣的線性分組糾錯碼,但限于當時的技術(shù)條件,缺乏可行的譯碼算法,此后的35年間基本上被人們忽略,其間由Tanner在1981年推廣了LDPC碼并給出了LDPC碼的圖表示,即后來所稱的Tanner圖。1993年Berrou等人發(fā)現(xiàn)了Turbo碼,在此基礎(chǔ)上,1995年前后MacKay和Neal等人對LDPC碼重新進行了研究,提出了可行的譯碼算法,從而進一步發(fā)現(xiàn)了LDPC碼所具有的良好性能,迅速引起強烈反響和極大關(guān)注。經(jīng)過十幾年來的研究和發(fā)展,研究人員在各方面都取得了突破性的進展,LDPC碼的相關(guān)技術(shù)也日趨成熟,甚至已經(jīng)開始有了商業(yè)化的應(yīng)用成果,并進入了無線通信等相關(guān)領(lǐng)域的標準。LDPC碼是通過校驗矩陣H定義的一類線性分組碼(linear block codes),為使譯碼可行,在碼長較長時需要校驗矩陣滿足“稀疏性”,即校驗矩陣中1的密度比較低,也就是要求校驗矩陣中1的個數(shù)遠小于0的個數(shù),并且碼長越長,密度就要越低。LDPC碼幾乎適用于所有的信道,因此成為編碼界近年來的研究熱點。它的性能逼近香農(nóng)限,且描述和實現(xiàn)簡單,易于進行理論分析和研究,譯碼簡單且可實行并行操作,適合硬件實現(xiàn)。LDPC 碼的奇偶校驗矩陣H是一個稀疏矩陣,相對于行與列的長度,校驗矩陣的行重、列重非常小,這也是LDPC碼之所以稱為低密度碼的原因。由于校驗矩陣H的稀疏性以及構(gòu)造時所使用的不同規(guī)則,使得不同LDPC碼的編碼二分圖(Tanner圖)具有不同的閉合環(huán)路分布。而二分圖中閉合環(huán)路是影響LDPC碼性能的重要因素,它使得LDPC碼在類似置信傳播(Belief Propagation)算法的一類迭代譯碼算法下,表現(xiàn)出完全不同的譯碼性能。當H的行重和列重保持不變或盡可能的保持均勻時,我們稱這樣的LDPC碼為正則LDPC碼,反之如果列、行重變化差異較大時,稱為非正則的LDPC碼。研究結(jié)果表明正確設(shè)計的非正則LDPC碼的性能要優(yōu)于正則LDPC。根據(jù)校驗矩陣H中的元素是 屬于還是 ( ),我們還可以將LDPC碼分為二元域或多元域的LDPC碼。研究表明多元域LDPC碼的性能要比二元域的好。Mackay,Luby提出的非正則LDPC碼將LDPC碼的概念推廣。非正則LDPC碼的性能不僅優(yōu)于正則LDPC碼,甚至還優(yōu)于Turbo碼的性能,是目前己知的最接近香農(nóng)限的碼。Richardson和Urbank也為LDPC碼的發(fā)展做出了巨大的貢獻。首先,他們提出了一種新的編碼算法,在很大程度上減輕了隨機構(gòu)造的LDPC碼在編碼上的巨大運算量需求和存儲量需求。其次,他們發(fā)明了密度演進理論,能夠有效的分析出一大類LDPC譯碼算法的譯碼門限。最后,密度演進理論還可以用于指導(dǎo)非正則LDPC碼的設(shè)計,以獲得盡可能優(yōu)秀的性能。對于低密度奇偶校驗碼LDPC碼而言沒有一個最優(yōu)譯碼器,且對LDPC進行譯碼是一個NP-完全問題。所有的低密度奇偶校驗碼LDPC的有效譯碼策略都是使用消息傳遞算法。在實際中常用的實用的譯碼方法是和-積算法,又稱作迭代概率譯碼或者是置信度譯碼,它是目前已知的最佳譯碼。用和-積算法來譯碼可以分為初始化,水平步驟,垂直步驟,最后完成即停止,可以在一定次數(shù)的迭代之后,產(chǎn)生比特的準確后驗概率。另外二進制LDPC碼還可以使用低復(fù)雜度的硬判決譯碼算法:比特翻轉(zhuǎn)譯碼算法。但是性能好復(fù)雜度高的LDPC碼一般使用軟判決譯碼算法:BP譯碼算法。此迭代算法僅適用于具有低密度的奇偶校驗矩陣H而不能用于一般的分組碼,因為只有控制了H中“1”的密度,才有可能控制總運算量。如果精心設(shè)計,LDPC碼可以達到優(yōu)于Turbo碼的性能。Chung等人在2001年已經(jīng)設(shè)計出一種極長(碼長 ),碼率1/2的非正則LDPC碼,其性能與香農(nóng)限僅差0.0045dB。LDPC碼具有逼近香農(nóng)限的優(yōu)異性能。并且具有譯碼復(fù)雜度低(與碼長呈線性關(guān)系),結(jié)構(gòu)靈活,最小距離正比于碼長,可并行譯碼以及譯碼錯誤的可檢測性等特點,具有巨大的應(yīng)用潛力,從而成為了近年信道編碼理論新的研究熱點。LDPC碼具有以下幾個優(yōu)勢:(1). LDPC碼的譯碼算法,是一種基于稀疏矩陣的并行迭代譯碼算法,運算量要低于Turbo碼等的譯碼算法,并且由于結(jié)構(gòu)并行的特點,在硬件實現(xiàn)上比較容易。因此在大容量通信應(yīng)用中,LDPC碼具有優(yōu)勢。(2). LDPC碼的碼率 可以任意構(gòu)造,有更大的靈活性。(3). LDPC碼具有低的錯誤平層,可以應(yīng)用于有線通信、深空通信以及磁盤存儲工業(yè)等對誤碼率要求很苛刻的場合。而LDPC碼的劣勢在于以下幾點:(1). 硬件資源需求比較大。全并行的譯碼結(jié)構(gòu)對計算單元和存儲單元的需求都很大。(2). 編碼比較復(fù)雜,更好的編碼算法還有待研究。同時,由于需要在碼長比較長的情況才能充分體現(xiàn)性能上的優(yōu)勢,所以編碼時延也比較大。(3). 相對而言出現(xiàn)比較晚,工業(yè)界支持還不夠。LDPC碼具有巨大的應(yīng)用潛力,目前已廣泛應(yīng)用于深空通信、光纖通信、衛(wèi)星數(shù)字視頻、音頻廣播、數(shù)字水印、磁/光/全息存儲、移動和固定無線通信、電纜調(diào)制/解調(diào)器和數(shù)字用戶線(DSL)等領(lǐng)域。LDPC碼已成為第四代通信系統(tǒng)(4G)強有力的競爭者,而基于LDPC碼的編碼方案已經(jīng)被下一代衛(wèi)星數(shù)字視頻廣播標準DVB-S2采納。LDPC碼由于更接近香農(nóng)限的誤碼率性能,完全并行的迭代譯碼算法使其比Turbo碼在部分場合的應(yīng)用前景更為廣闊。在許多需要高可靠性的通信系統(tǒng)中,LDPC碼成了Turbo碼的有力競爭者。LDPC碼目前已經(jīng)被一些通信和廣播標準所采納,發(fā)展勢頭改過了Turbo碼。UWB(超寬帶)信號的特點是低信噪比、抗多徑能力強、高數(shù)據(jù)速率和信號的頻譜寬、功率低,因此其信道編碼應(yīng)該具有較強的糾錯能力和較低的編譯碼復(fù)雜度。LDPC碼同時具有以上兩個方面的特性。將LDPC碼應(yīng)用于CDMA(碼分多址)系統(tǒng)將大大提高通信系統(tǒng)容量。由相關(guān)仿真結(jié)果可見,使用LDPC碼的CDMA系統(tǒng)的容量是使用正交卷積碼的CDMA系統(tǒng)容量的2倍,是未使用糾錯碼的CDMA系統(tǒng)容量的5倍。隨著移動通信用戶的日益增多,LDPC碼將在未來的移動通信的擴容中發(fā)揮重要作用。把LDPC碼用在DSL(數(shù)字用戶線)中,由相關(guān)仿真結(jié)果可見,LDPC碼獲得編碼增益與Turbo碼相當,但是其運算量大大低于Turbo碼,且沒有Turbo碼中出現(xiàn)的差錯平底現(xiàn)象。模擬結(jié)果還顯示,在0.5 ms 10 ms延時條件限制下,其獲得的編碼增益遠高于G.922.1建議中使用的TCM所獲得的編碼增益。Flarion所開發(fā)的集成了V-LDPC的flash-OFDM(正交頻分復(fù)用)移動無線芯片組已用于基于IP的移動寬帶網(wǎng),以增大傳輸距離和在無線信道中的堅韌性,而且硬件實現(xiàn)較簡單。flash-OFDM用于移動設(shè)備上,其最大數(shù)據(jù)速率可達 。此外,LDPC碼在有記憶衰落信道、壓縮圖像傳輸和磁記錄信道等方面也有重要應(yīng)用。M.Chiain 等對 LDPC 碼用于有記憶衰落信道時的性能進行了評估。B.Myher 提出一種速率自適應(yīng) LDPC 編碼調(diào)制的方案用于慢變化平坦衰落信道,經(jīng)推廣還可用于 FEC-ARQ 系統(tǒng)。VOCAL Technologies.Ltd 提出了一種用于 WLAN 的LDPC/Turbo 不對稱解決方案,即下行鏈路采用 LDPC 碼,上行鏈路采用 Turbo碼。研究表明采用該方案后用于IEEE802.11 a/b/g WLAN移動終端的電池壽命可延長至原來的4倍。工業(yè)界也己經(jīng)有 LDPC 編譯碼芯片問世。其中,處于領(lǐng)先地位的 Flarion公司 推出的基于 ASIC 的 Vector-LDPC 解決方案使用了約 260 萬門,最高可以支持 50000的碼長,0.9 的碼率,最大迭代次數(shù)為 10,譯碼器可以達到 10Gbps 的吞吐量,其性能己經(jīng)非常接近香農(nóng)限,可以滿足目前大多數(shù)通信業(yè)務(wù)的需求。AHA 公司、Digital Fountain公司也都推出了自己的編譯碼解決方案。LDPC碼接近香農(nóng)限的性能是在碼長非常大,迭代次數(shù)很多,低信噪比條件下得出的。而在碼長相對短(利于編碼),碼率較高( )情況下的LDPC碼還在研究。LDPC碼如何用于MIMO系統(tǒng),OFDM系統(tǒng)也在進一步的研究中。綜上所述,LDPC的研究從理論到實現(xiàn),從實現(xiàn)到應(yīng)用,己經(jīng)深入到了信道糾錯編碼的相關(guān)各領(lǐng)域,繼續(xù)研究與開發(fā)新的LDPC實現(xiàn)和應(yīng)用具有很重要的理論和實踐意義。基于LDPC的應(yīng)用將會越來越多,對其的研究也將會越來越深入。1.3 開發(fā)工具與環(huán)境 美國AT&T貝爾實驗室的Bjarne Stroustrup博士在20世紀80年代初期發(fā)明并實現(xiàn)了C+,1998年國際標準組織(ISO)頒布了C+程序設(shè)計語言的國際標準ISO/IEC 1488-1998。C+是具有國際標準的編程語言,通常稱作ANSI/ISO C+。C+設(shè)計成靜態(tài)類型、和C同樣高效且可移植的多用途程序設(shè)計語言。 C+是一種使用非常廣泛的計算機編程語言,是一種靜態(tài)數(shù)據(jù)類型檢查的,支持多重編程范式的通用程序設(shè)計語言。它支持過程化程序設(shè)計、數(shù)據(jù)抽象、面向?qū)ο蟪绦蛟O(shè)計、泛型程序設(shè)計等多種程序設(shè)計風格。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)生的代碼比其他的編譯代碼效率更高。Matlab是當今最優(yōu)秀的科技應(yīng)用軟件之一,具有強大的科學(xué)計算能力,可視化功能,開放式可擴展環(huán)境,許多科學(xué)領(lǐng)域中Matlab成為計算機輔助分析和設(shè)計,算法研究及應(yīng)用開發(fā)的基本工具和首選平臺。同時,Matlab具有其他高級語言難以比擬的一些優(yōu)點:編寫簡單,效率高,易學(xué)易懂。Matlab在信號處理,通信,自動控制及科學(xué)計算等領(lǐng)域中被廣泛應(yīng)用。Matlab的內(nèi)核采用C語言編寫,并且增強了數(shù)據(jù)的可視化功能,現(xiàn)在,Matlab不斷提供功能更加強大的軟件包,并配以翔實豐富的幫助系統(tǒng),越來越多地得到各個專業(yè)應(yīng)用領(lǐng)域的認可和青睞。現(xiàn)今,Matlab已經(jīng)發(fā)展為綜合高性能的數(shù)值計算軟件。第二章 AES加密算法的理論與實現(xiàn)1.1 AES加密算法概述:1.1.1 Rijndael算法概述:Rijndael算法是一個分組長度和密鑰長度都可變的分組迭代加密算法,分組長度和密鑰長度分別可以為128bits,192bits和256bits。在加密過程中,每個數(shù)據(jù)分組都要進行多次變換操作,每次操作后的中間結(jié)果稱為狀態(tài)(State),它可以用一個4行 列的矩陣來表示狀態(tài),矩陣中的每個元素為一個字節(jié)( 的值由分組的長度決定, =分組長度/32)。將數(shù)據(jù)分組中的每個字節(jié)按列的順序置入,就構(gòu)成了一個狀態(tài)矩陣,其初值是一個相應(yīng)大小的按規(guī)定順序裝入的明文區(qū)塊。Rijndael算法加密完成后,把最終狀態(tài)矩陣中的每四個字節(jié)元素再按列的順序取出,依此方法操作就可以得到密文。密鑰也可類似地表示為4行 列的矩陣( 的值由分組的長度決定, =分組長度/32)。Rijndael算法進行輪變換的輪數(shù)N,則由 和 的值共同決定。若分組長度和密鑰長度均為128bits,則加密時要做10次輪變換。以下的表1給出了 與 和 的關(guān)系。=4=6=8=4101214=6121214=8141414表1 迭代輪數(shù)Nr 為 Nb 和 Nk 的函數(shù)在Rijndael算法的輪變換中,S-盒用于對狀態(tài)矩陣進行非線性混合,以起到混淆的作用。這個非線性混合的過程就是一個可逆的字節(jié)替換運算(Substitute Byte),利用一張字節(jié)替換表,分別對狀態(tài)矩陣中的每個字節(jié)進行查表替換,這張字節(jié)替換表就稱為S-盒。S-盒用于加密過程,在解密過程中則需要逆S-盒。S-盒是由在 域上乘法求逆運算和在 域上的一個仿射運算對字節(jié)運算后得到的。其中,乘法取逆運算為: 其中 ,當 時,其逆元素也為0。Rijndael算法使用了基于有限域 的既約多項式 。將從00到FF的十六進制數(shù)經(jīng)過上述運算就可以得到一個16 16的字節(jié)替換表矩陣,也就是用于加密的S-盒。對于用于解密的逆S-盒,需要通過在 域上的逆仿射運算生成。經(jīng)過簡化后,只需對S-盒進行循環(huán)移位和異或運算就可以實現(xiàn)該逆仿射變換,生成逆S-盒。S-盒是必須是可逆的,S-盒不是自逆的。利用非線性變換可以提高算法對差分攻擊和線性攻擊的抵抗強度。在進行輪變換前,一般要進行密鑰擴展,來產(chǎn)生輪密鑰(Round Key)。如不算初始密鑰,在這一過程中需擴展出 個輪密鑰,用于每輪變換的最后的輪密鑰加運算(AddRoundKey),即把狀態(tài)矩陣和輪密鑰進行異或,實現(xiàn)對狀態(tài)矩陣的一次性掩蓋。2. AES算法描述:AES加密過程是在一個 的字節(jié)矩陣(state)上運作,其初值就是一個明文區(qū)塊(矩陣中一個元素大小就是明文區(qū)塊中的一個Byte)。(Rijndael加密法因支持更大的區(qū)塊,其矩陣列數(shù)可視情況增加)加密時,各輪AES加密循環(huán)(除最后一輪外)均包含4個步驟:(1) AddRoundKey(輪密鑰加變換)矩陣中的每個字節(jié)都與該輪輪密鑰做異或;每個輪密鑰由密鑰生成方案產(chǎn)生。(2) SubBytes(字節(jié)代替變換)通過一個非線性的替換函數(shù),用查找表的方式把每個字節(jié)替換成對應(yīng)的字節(jié)。(3) ShiftRows(行移位變換)將矩陣中的每行進行循環(huán)移位。(4) MixColumns(列混淆變換)為了充分混淆矩陣中各列的操作。這個步驟使用線性轉(zhuǎn)換來混淆每列的四個字節(jié)。注意:加密時,最后一個加密循環(huán)中省略MixColumns步驟,而以另一個AddRoundKey取代。下面簡要描述AES的算法步驟: (1)SubBytes步驟:矩陣中的各字節(jié)通過8位的S-盒進行轉(zhuǎn)換。S-盒是AES定義的 個字節(jié)組成的矩陣。把state中每個字節(jié)的高4位作為行值,低4位作為列值,然后取出S-盒中對應(yīng)行列的元素作為輸出。這個步驟提供了AES加密的非線性變換能力。S-盒與有限域 上的乘法逆元有關(guān),具有良好的非線性特性。為了避免簡單代數(shù)攻擊,S-盒結(jié)合了乘法逆元及可逆的仿射變換矩陣建構(gòu)而成。在建構(gòu)S-盒時避開了固定點與反固定點,即以S-盒替換字節(jié)的結(jié)果會相當于錯排的結(jié)果。 (2)ShiftRows步驟:在此步驟中,每一行都向左循環(huán)位移某個偏移量。在AES中(區(qū)塊大小128位),state的第一行維持不變,state的第二行循環(huán)左移1個字節(jié)。同理, state的第三行及第四行分別循環(huán)左移2個字節(jié)和3個字節(jié)。(Rijndael算法中定義的128位和192位的區(qū)塊在此步驟的循環(huán)位移的模式相同。)經(jīng)過ShiftRows之后,矩陣中每一列,都是由輸入矩陣中的每
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆四川省瀘州市五中學(xué)七年級英語第二學(xué)期期末預(yù)測試題含答案
- 2025年出入管理協(xié)議
- 2025年項目部環(huán)境保護與污染防治安全協(xié)議
- 2025年標準純凈水交易條款協(xié)議
- 2025年北京租賃住宅策劃協(xié)議版
- 2025年分校擴展與策劃管理協(xié)議
- 人防工程施工中與地方基礎(chǔ)設(shè)施的銜接問題
- 未來糧食儲備體系的技術(shù)革新與發(fā)展趨勢
- 商業(yè)空間節(jié)假日環(huán)境維護規(guī)劃基礎(chǔ)知識點歸納
- 理賠業(yè)務(wù)系統(tǒng)升級風險基礎(chǔ)知識點歸納
- 《輪胎噪音舒適性主觀評價方法》
- 【MOOC】《數(shù)字電子技術(shù)基礎(chǔ)》(北京交通大學(xué))章節(jié)中國大學(xué)慕課答案
- 安全科學(xué)導(dǎo)論知到智慧樹章節(jié)測試課后答案2024年秋中國礦業(yè)大學(xué)(北京)
- 水團生物棲息地適宜性-洞察分析
- 燃燒爐瀝青含量儀標定記錄
- 國有企業(yè)三項制度改革方案
- 【MOOC】線性代數(shù)-北京理工大學(xué) 中國大學(xué)慕課MOOC答案
- 草木染課程設(shè)計
- 輻射與防護學(xué)習通超星期末考試答案章節(jié)答案2024年
- 2023年新高考(新課標)全國2卷數(shù)學(xué)試題真題(含答案解析)
- 中科曙光公司在線測評題
評論
0/150
提交評論