計(jì)算機(jī)信息安全技術(shù) 課件 第2章 密碼技術(shù)_第1頁(yè)
計(jì)算機(jī)信息安全技術(shù) 課件 第2章 密碼技術(shù)_第2頁(yè)
計(jì)算機(jī)信息安全技術(shù) 課件 第2章 密碼技術(shù)_第3頁(yè)
計(jì)算機(jī)信息安全技術(shù) 課件 第2章 密碼技術(shù)_第4頁(yè)
計(jì)算機(jī)信息安全技術(shù) 課件 第2章 密碼技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩96頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第2章密碼技術(shù)2.1密碼學(xué)概述2.2傳統(tǒng)密碼體制2.3現(xiàn)代對(duì)稱密碼體制2.4非對(duì)稱密碼體制2.5密碼學(xué)的新進(jìn)展

例:設(shè)明文是一串二進(jìn)制序列,加密和解密算法都采用模2運(yùn)算,即異或運(yùn)算⊕,加密密鑰和解密密鑰相同。若明文

P=11001100加密和解密密鑰

K=11000111則加密后的密文

C=P⊕K=00001011解密后的密文

P=C⊕K=110011002.1密碼學(xué)概述密碼體制的模型2.1密碼學(xué)概述2.密碼體制的分類(1)對(duì)稱密碼體制:K1=K2

或K2=f(K1)優(yōu)點(diǎn):(a)加密和解密的速度都比較快,具有較高的數(shù)據(jù)吞吐率;(b)對(duì)稱密碼體制中所使用的密鑰相對(duì)較短;(c)密文的長(zhǎng)度往往與明文長(zhǎng)度相同。缺點(diǎn):(a)密鑰分發(fā)需要安全通道,需要付出的代價(jià)較高;(b)密鑰量大,難于管理。2.1密碼學(xué)概述(2)非對(duì)稱密碼體制:

K1和K2不相同,且不能從公鑰推出私鑰,或者說(shuō)從公鑰推出私鑰在計(jì)算上是不可行的。優(yōu)點(diǎn):a)密鑰的分發(fā)相對(duì)容易。b)密鑰管理簡(jiǎn)單。c)可以有效地實(shí)現(xiàn)數(shù)字簽名。缺點(diǎn):a)與對(duì)稱密碼體制相比,非對(duì)稱密碼體制加解密速度較慢;b)同等安全強(qiáng)度下,非對(duì)稱密碼體制要求的密鑰長(zhǎng)度要長(zhǎng)一些;c)密文的長(zhǎng)度往往大于明文長(zhǎng)度。2.1密碼學(xué)概述柯克霍夫準(zhǔn)則(KerckhoffsPrinciple): 即使密碼系統(tǒng)的任何細(xì)節(jié)已為人悉知,只要密鑰未泄漏,它也應(yīng)是安全的。2.1密碼學(xué)概述3.密碼體制的攻擊(1)唯密文攻擊(CiphertextonlyAttack)

(2)已知明文攻擊(KnownPlaintextAttack)

(3)選擇明文攻擊(ChosenPlaintextAttack)

(4)選擇密文攻擊(ChosenCiphertextAttack)

(5)選擇文本攻擊(ChosenTextAttack)

2.1密碼學(xué)概述4.密碼算法的評(píng)價(jià)1)安全性。安全是最重要的評(píng)價(jià)因素;2)計(jì)算的效率。即算法的速度,算法在不同的工作平臺(tái)上的速度都應(yīng)該考慮到;3)存儲(chǔ)條件。4)軟件和硬件的適應(yīng)性。即算法在軟件和硬件上都應(yīng)該能夠被有效的實(shí)現(xiàn);5)簡(jiǎn)潔性。即要求算法應(yīng)容易實(shí)現(xiàn);6)適應(yīng)性。即算法應(yīng)與大多數(shù)的工作平臺(tái)相適應(yīng),能在廣泛的范圍內(nèi)應(yīng)用,具有可變的密鑰長(zhǎng)度。

加密算法的有效性Unconditionallysecure,絕對(duì)安全?永不可破,是理想情況,理論上不可破,密鑰空間無(wú)限,在已知密文條件下,方程無(wú)解。但是我們可以考慮:破解的代價(jià)超過(guò)了加密信息本身的價(jià)值破解的時(shí)間超過(guò)了加密信息本身的有效期Computationallysecure,滿足上述兩個(gè)條件直覺(jué):什么是好的加密算法假設(shè)密碼(password)k是固定的明文和密文是一個(gè)映射關(guān)系:?jiǎn)紊?,?/p>

通常情況是:明文非常有序好的密碼條件下,我們期望得到什么樣的密文隨機(jī)性如何理解隨機(jī)性小的擾動(dòng)帶來(lái)的變化不可知考慮設(shè)計(jì)一個(gè)加密算法打破明文本身的規(guī)律性隨機(jī)性(可望不可及)非線性(一定要)統(tǒng)計(jì)意義上的規(guī)律多次迭代迭代是否會(huì)增加變換的復(fù)雜性是否存在通用的框架,用于迭代復(fù)雜性帶來(lái)密碼分析的困難和不可知性實(shí)踐的檢驗(yàn)和考驗(yàn)2.2傳統(tǒng)密碼體制2.2.1置換密碼

2.2.2代換密碼

2.2.3傳統(tǒng)密碼的分析

古典加密方法2.2.1置換密碼假定m=6,密鑰是以下置換:123456—————————351642則逆置換為:123456—————————361524假定給出明文:shesellsseashellsbytheseashore首先把明文分為6個(gè)字母一組:shesellsseashellsbytheseashore每6個(gè)字母按置換函數(shù)進(jìn)行重排,得到相應(yīng)的密文:EESLSHSALSESLSHBLEHSYEETHRAEOS2.2.2代換密碼

明文中的每一個(gè)字符被替換成密文中的另一個(gè)字符。接收者對(duì)密文做反向替換就可以恢復(fù)出明文。單表代換密碼多表代換密碼單表代換密碼(移位密碼)ABCDEFGHIJKLM0123456789101112NOPQRSTUVWXYZ13141516171819202122232425單表代換密碼(替換密碼)單表代換密碼(仿射密碼)例:假定k=(7,3),7-1

mod26=15,加密函數(shù)為ek(x)=7x+3,則相應(yīng)解密函數(shù)為dk(y)=15(y-3)=15y-19,其中所有的運(yùn)算都是在Z26中。 容易驗(yàn)證,dk(ek(x))=dk(7x+3)=15(7x+3)-19=x+45-19=x。假設(shè)待加密的明文為hot。 首先轉(zhuǎn)化三個(gè)字母分別為數(shù)字7,14和19??傻妹芪拇疄锳XG。

單表代換密碼的分析語(yǔ)言的統(tǒng)計(jì)特性:語(yǔ)言的頻率特征連接特征重復(fù)特征頻率特征在各種語(yǔ)言中,各個(gè)字母的使用次數(shù)是不一樣的,有的偏高,有的偏低,這種現(xiàn)象叫偏用現(xiàn)象.對(duì)英文的任何一篇文章,一個(gè)字母在該文章中出現(xiàn)的次數(shù)稱作這個(gè)字母(在這篇文章中)的頻數(shù)。一個(gè)字母的頻數(shù)除以文章的字母總數(shù),就得到字母的使用頻率。英文字母的普遍使用頻率美國(guó)密碼學(xué)家W.F.Friedman在調(diào)查了大量英文資料后,得出英文字母的普遍使用規(guī)律.英文字母普遍的頻率特征英文單字母的相對(duì)頻率表英文單字母使用頻率分類統(tǒng)計(jì)分析示例例2.6假設(shè)從仿射密碼獲得的密文為:FMXVEDKAPHFERBNDKRXRSREFMORUDSDKDVSHVUFEDKAPRKDLYEVLRHHR

最高頻的密文字母是:R(8次),D(7次),E,H,K(各5次),F(xiàn),S,V(各4次)假定R是e的加密,D是t的加密。數(shù)值化有ek(4)=17,且ek

(19)=3。得到兩個(gè)線性方程組:4a+b=1719a+b=3這個(gè)方程組有惟一解a=6,b=19(在Z26

上)。但這是一個(gè)非法的密鑰,因?yàn)間cd(a,26)=2>1,所以上面的假設(shè)有誤。統(tǒng)計(jì)分析示例下一個(gè)猜想:R是e的加密,E是t的加密,得a=13,又是不可能的。繼續(xù)假定R是e的加密,且K是t的加密。于是產(chǎn)生了a=3,b=5,這至少是一個(gè)合法的密鑰。最后計(jì)算相應(yīng)于k=(3,5)的解密函數(shù),然后解密密文看是否得到了有意義的英文串。最后的明文是:

algorithmsarequitegeneraldefinitionsofarithmeticprocesses單表密碼破譯小結(jié)假定,推翻,再假定,再推翻,直至破譯①對(duì)密文字母的頻數(shù)、使用頻率和連接次數(shù)進(jìn)行統(tǒng)計(jì)②根據(jù)了解到的密碼編制人員的語(yǔ)言修養(yǎng),以及手中掌握的密文的統(tǒng)計(jì)規(guī)律,多方比較,對(duì)明文的語(yǔ)種和密碼種類作出假定③將假定語(yǔ)種的字母頻率與密文字母頻率進(jìn)行比較④首先找出密文中頻率最高的字母⑤根據(jù)字母的頻率特征、連接特征、重復(fù)特征,從最明顯的單詞或字母開(kāi)始,試探進(jìn)行⑥總結(jié)對(duì)抗頻率分析的辦法多名或同音代換密碼多表代換密碼多字母代換密碼多表代換密碼多表代換密碼是以一系列(兩個(gè)以上)代換表依次對(duì)明文消息的字母進(jìn)行代換的加密方法。例:設(shè)m=6,且密鑰字是CIPHER,這相應(yīng)于密鑰k=(2,8,15,7,4,17)。假定明文串是

thiscryptosystemisnotsecure。首先將明文串轉(zhuǎn)化為數(shù)字串,按6個(gè)一組分段,然后模26“加”上密鑰字可得相應(yīng)的密文串:

VPXZGIAXIVWPUBTTMJPWIZITWZT多表代換密碼有名的多表代換密碼有VigenèreBeaufortRunning-KeyVerna轉(zhuǎn)輪機(jī)(RotorMachine)多表代換密碼Vigenère密碼1858年提出的移位代換密碼2.3現(xiàn)代對(duì)稱密碼體制現(xiàn)代密碼學(xué)已發(fā)展成兩個(gè)重要的分支:(1)對(duì)稱加密體制

其典型代表是數(shù)據(jù)加密標(biāo)準(zhǔn)DES(數(shù)據(jù)加密標(biāo)準(zhǔn))、IDEA(國(guó)際數(shù)據(jù)加密算法)、AES(高級(jí)加密標(biāo)準(zhǔn))等算法。(2)公開(kāi)密鑰加密體制其典型代表是RSA、橢圓曲線加密、NTRU算法等。2.3現(xiàn)代對(duì)稱密碼體制序列密碼體制和分組密碼體制分組密碼體制:數(shù)據(jù)在密鑰的作用下,一組一組、等長(zhǎng)地被處理,且通常情況是明、密文等長(zhǎng)。一般以DES和AES為代表。序列密碼體制:序列密碼將明文消息序列m=m1,m

2,…,mn用密鑰流序列k=k1,k2,…,kn逐位加密,得密文序列c=c1,c2,…,cn。以RC4為代表。DES概述數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)是迄今為止使用最為廣泛的加密算法。作為分組密碼的典型代表,它是IBM公司在Lucifer密碼的基礎(chǔ)上改進(jìn)的,已經(jīng)有40多年的歷史。1977年1月,DES被正式批準(zhǔn)為美國(guó)聯(lián)邦信息處理標(biāo)準(zhǔn),直到1998年12月才被AES取代。DES算法描述DES是分組加密算法,它以64位(二進(jìn)制)為一組,64位明文輸入,64位密文輸出。密鑰長(zhǎng)度為56位,但密鑰通常表示為64位,并分為8組,每組第8位作為奇偶校驗(yàn)位,以確保密鑰的正確性,對(duì)用戶來(lái)說(shuō)每組密鑰仍是56位。利用密鑰,通過(guò)傳統(tǒng)的置換、代換和異或等變換,實(shí)現(xiàn)二進(jìn)制明文的加密與解密。代換運(yùn)算置換運(yùn)算初始置換IP58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157逆置換IP-140848165614643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725DES框圖(一)DES框圖f(A,J)的運(yùn)算過(guò)程DES(二)子密鑰計(jì)算

DES(三)DES工作模式

ElectronicCodebook(ECB)

模式

DESCipherBlockChaining(CBC)模式CipherFeedback(CFB)模式OutputFeedback(OFB)模式DES(四)DES安全性

對(duì)DES的批評(píng)主要集中在以下幾點(diǎn):

(1)DES的密鑰長(zhǎng)度(56位)可能太短;

(2)DES的迭代次數(shù)可能太少;

(3)S-盒中可能有不安全因素;

(4)DES的一些關(guān)鍵部分不應(yīng)當(dāng)保密.DES安全性1977年,迪菲和海爾曼提出了一部造價(jià)約2千萬(wàn)美元的破解器,可以在一天內(nèi)找到一個(gè)DES密鑰。1993年,邁克爾·維納設(shè)計(jì)了一部造價(jià)約1百萬(wàn)美元的破解器,大約可以在7小時(shí)內(nèi)找到一個(gè)密鑰。然而,這些早期的設(shè)計(jì)并沒(méi)有被實(shí)現(xiàn),至少?zèng)]有公開(kāi)的實(shí)現(xiàn)。在1990年代晚期,DES開(kāi)始受到實(shí)用的攻擊。1997年,RSA數(shù)據(jù)安全公司贊助了一系列的競(jìng)賽,獎(jiǎng)勵(lì)第一個(gè)成功破解以DES加密的信息的隊(duì)伍1萬(wàn)美元,洛克·韋爾謝什(RockeVerser),馬特·柯廷(MattCurtin)和賈斯廷·多爾斯基(JustinDolske)領(lǐng)導(dǎo)的DESCHALL計(jì)劃獲勝,該計(jì)劃使用了數(shù)千臺(tái)連接到互聯(lián)網(wǎng)的計(jì)算機(jī)的閑置計(jì)算能力。1998年,電子前哨基金會(huì)(EFF)制造了一臺(tái)DES破解器,造價(jià)約$250,000。該破解器可以用稍多于2天的時(shí)間暴力破解一個(gè)密鑰,它顯示了迅速破解DES的可能性。AES(AdvancedEncryptionStandard)AES使用的是置換-組合架構(gòu)。AES在軟件及硬件上都能快速地加解密,相對(duì)來(lái)說(shuō)較易于實(shí)作,且只需要很少的內(nèi)存。作為一個(gè)新的加密標(biāo)準(zhǔn),目前正被部署應(yīng)用到更廣大的范圍。AES(AdvancedEncryptionStandard)

(一)算法過(guò)程概述

AES各輪AES加密循環(huán)(除最后一輪外)均包含4個(gè)步驟:(1)輪密鑰加運(yùn)算(AddRoundKey)矩陣中的每一個(gè)字節(jié)都與該次輪密鑰(Roundkey)做XOR運(yùn)算;每個(gè)子密鑰由密鑰生成方案產(chǎn)生。(2)字節(jié)代換(SubBytes)通過(guò)一個(gè)非線性的替換函數(shù),用查找表的方式把每個(gè)字節(jié)替換成對(duì)應(yīng)的字節(jié)。(3)行位移變換(ShiftRows)將矩陣中的每個(gè)橫列進(jìn)行循環(huán)式移位。

(4)列混合變換(MixColumns)為了充分混合矩陣中各個(gè)直行的操作。這個(gè)步驟使用線性轉(zhuǎn)換來(lái)混合每?jī)?nèi)聯(lián)的四個(gè)字節(jié)。AES(1)輪密鑰加運(yùn)算(AddRoundKey)在每次的加密循環(huán)中,都會(huì)由主密鑰產(chǎn)生一把輪密鑰,這把密鑰大小會(huì)跟原矩陣一樣,然后與原矩陣中每個(gè)對(duì)應(yīng)的字節(jié)作異或(⊕)加法。AES(1)輪密鑰加運(yùn)算(AddRoundKey)在每次的加密循環(huán)中,都會(huì)由主密鑰產(chǎn)生一把輪密鑰,這把密鑰大小會(huì)跟原矩陣一樣,然后與原矩陣中每個(gè)對(duì)應(yīng)的字節(jié)作異或(⊕)加法。AES(2)字節(jié)代換(SubBytes)矩陣中的各字節(jié)通過(guò)一個(gè)8位的S-box進(jìn)行轉(zhuǎn)換。S-box與有限域GF(28)上的乘法逆有關(guān)。為了避免簡(jiǎn)單代數(shù)性質(zhì)的攻擊,S-box結(jié)合了乘法逆及一個(gè)可逆的仿射變換矩陣建構(gòu)而成。

AES11000110=1000111111000111111000111111000111111000011111000011111000011111y0y1y2y3y4y5y6y7.⊕x0x1x2x3x4x5x6x7(2)字節(jié)代換(SubBytes)代換表(即S-盒)是可逆的,由以下兩個(gè)變換得到:首先,將每個(gè)狀態(tài)字節(jié)看作GF(28)上的元素,映射到自己的乘法逆元。其次,對(duì)該字節(jié)轉(zhuǎn)換成二進(jìn)制數(shù),做如下的(GF(2)上的仿射變換:AES(2)字節(jié)代換(SubBytes)狀態(tài)矩陣按照下面的方式映射成為一個(gè)新的字節(jié):把該字節(jié)的高4位作為行值,低4位作為列值,得到S盒或逆S盒的對(duì)應(yīng)元素作為輸出。例如輸入字節(jié)0x12,取S盒的第0x01行盒0x02列,得到0xC9。S盒代換表0123456789ABCDEF0637C777BF26B6FC53001672BFED7AB761CA82C97DFA5947F0ADD4A2AF9CA472C02B7FD9326363FF7CC34A5E5F171D83115304C723C31896059A071280E2EB27B275409832C1A1B6E5AA0523BD6B329E32F84553D100ED20FCB15B6ACBBE394A4C58CF6D0EFAAFB434D338545F9027F503C9FA8751A3408F929D38F5BCB6DA2110FFF3D28CD0C13EC5F974417C4A77E3D645D1973960814FDC222A908846EEB814DE5E0BDBAE0323A0A4906245CC2D3AC6291951479BE7C8376D8DD54EA96C56F4EA657AAE08CBA78252E1CA6B4C6E8DD741F4BBD8B8AD703EB5664803F60E613557B986C11D9EEE1F8981169D98E949B1E87E9CE5528DFF8CA1890DBFE6426841992D0FB054BB16AES(2)字節(jié)代換(SubBytes)此外在建構(gòu)S-box時(shí),刻意避開(kāi)了固定點(diǎn)與反固定點(diǎn),即以S-box替換字節(jié)的結(jié)果會(huì)相當(dāng)于錯(cuò)排的結(jié)果。1)S盒變換是AES的唯一非線性變換,是AES安全的關(guān)鍵;2)AES使用16個(gè)相同的S盒,DES使用8個(gè)不同的S盒;3)AES的S盒有8位輸入,8位輸出;DES的S盒有6位輸入,4位輸出。AESAES(3)行位移變換(ShiftRows)每一行都向左循環(huán)位移某個(gè)偏移量。在AES中(區(qū)塊大小128位),第一行維持不變,第二行里的每個(gè)字節(jié)都向左循環(huán)移動(dòng)一格。同理,第三行及第四行向左循環(huán)位移的偏移量就分別是2和3。經(jīng)過(guò)ShiftRows之后,矩陣中每一豎列,都是由輸入矩陣中的每個(gè)不同列中的元素組成。AES(4)列混合變換(MixColumns)列混合運(yùn)算將狀態(tài)(State)的列看作是有限域GF(28)上的多項(xiàng)式a(x),與多項(xiàng)式c(x)=03x3+01x2+01x+02相乘(在模(x4+1)意義下)。b(x)=c(x)xa(x)(modx4+1)b0b1b2b3=02030101010203010101020303010102a0a1a2a3AES(4)列混合變換(MixColumns)在MixColumns步驟中,每個(gè)直行都在modulo之下,和一個(gè)固定多項(xiàng)式c(x)作乘法。AES的密鑰調(diào)度密鑰bit的總數(shù)=分組長(zhǎng)度x(輪數(shù)Round+1)當(dāng)分組長(zhǎng)度為128bit且輪數(shù)為10時(shí),輪密鑰長(zhǎng)度為:128x(10+1)=1408bit將初始密鑰擴(kuò)展成擴(kuò)展密鑰輪密鑰從擴(kuò)展密鑰中取,第1輪輪密鑰取擴(kuò)展密鑰的前Nb個(gè)字,第2輪輪密鑰取接下來(lái)的Nb個(gè)字,以此類推。密鑰擴(kuò)展ω[0]ω[1]ω[2]ω[3]k00k01k02k03k10k11k12k13k20k21k22k23k30k31k32k33密鑰擴(kuò)展以128bit為例,對(duì)數(shù)組ω?cái)U(kuò)充40個(gè)新列,構(gòu)成總共44列的擴(kuò)展密鑰數(shù)組。新列按照以下的方式遞歸產(chǎn)生:(1)如果i不是4的倍數(shù),那么第i列由等式ω[i]=ω[i-4]⊕ω[i-1]確定;(2)如果i是4的倍數(shù),那么第i列由等式ω[i]=ω[i-4]⊕T(ω[i-1])確定;ω[0]ω[1]ω[2]……ω[42]ω[43]ω[0]ω[1]ω[2]ω[3]AES密鑰擴(kuò)展圖ω[4i]ω[4i-3]ω[4i-2]ω[4i-1]⊕ω[4i]ω[4i+1]ω[4i+2]ω[4i+3]T⊕⊕⊕密鑰擴(kuò)展函數(shù)T由三部分組成:字循環(huán)移位、字節(jié)代換和輪常量異或。(1)字循環(huán)移位:將1個(gè)字中的4個(gè)字節(jié)循環(huán)左移1個(gè)字節(jié),即將輸入字[b0,b1,b2,b3]變換為[b1,b2,b3,b0]。(2)字節(jié)代換:對(duì)字循環(huán)的結(jié)果使用S盒進(jìn)行字節(jié)代換。(3)輪常量異或:將前兩步的結(jié)果同輪常量Rcon[j]進(jìn)行異或,其中j表示輪數(shù)。輪常量是一個(gè)字,使用輪常量是為了防止不同輪中產(chǎn)生的輪密鑰的對(duì)稱性或相似性。AES(二)密鑰擴(kuò)展(ExpandedKey)算法(1)當(dāng)Nk≤6時(shí)(即AES算法密鑰長(zhǎng)度為128和192比特時(shí))KeyExpansion(byteKey[4*Nk,w[Nb*(Nr+1)]){for(i=0;i<Nk;i++)W[i]=(Key[4*i],Key[4*i+1],Key[4*i+2],Key[4*i+3]);

for(i=Nk;i<Nb*(Nr+1);i++)

{temp=W[i-1];if(i%Nk==0)temp=SubByte(RotByte(temp))^Rcon[i/Nk];

W[i]=W[i-Nk]^temp;

}}(2)當(dāng)Nk>6時(shí)(即AES算法密鑰長(zhǎng)度為256比特時(shí))KeyExpansion(byteKey[4*Nk,w[Nb*(Nr+1)]){for(i=0;i<Nk;i++)W[i]=(Key[4*i],Key[4*i+1],Key[4*i+2],Key[4*i+3]);

for(i=Nk;i<Nb*(Nr+1);i++)

{temp=W[i-1];if(i%Nk==0)temp=SubByte(RotByte(temp))^Rcon[i/Nk];elseif(i%Nk==4)

temp=SubByte(temp);W[i]=W[i-Nk]^temp;}}AES的基本逆變換AES的巧妙之處:雖然解密算法與加密算法不同,但解密算法與加密算法結(jié)構(gòu)相同。把加密算法的基本運(yùn)算變換成逆變換,便得到解密算法。AES的各個(gè)基本變換都是可逆的。AES的基本逆變換輪密鑰加變換的逆就是其本身;行移位變換的逆是狀態(tài)的分別移位對(duì)應(yīng)的位數(shù);列混合變換的逆就是狀態(tài)的每列都乘以c(x)的逆多項(xiàng)式d(x);S盒變換的逆:首先進(jìn)行逆仿射變換,然后再把每個(gè)字節(jié)用對(duì)應(yīng)的逆來(lái)代替,查逆S盒表。

逆S盒代換表0123456789ABCDEF052096AD53036A538BF40A39E81F3D7FB17CE339829B2FFF87348E4344C4DEE9CB2547B9432A6C2233DEE4C950B42FAC34E3082EA16628D924B2765BA2496D8BD125472F8F66486689816D4A45CCC5D65B69256C704850FDEDB9DA5E154657A78D9D84690D8AB008CBCD30AF7E45805B8B345067D02C1E8FCA3F0F02C1AFBD0301138A6B83A9111414F67DCEA97F2CFCEF0B4E673996AC7422E7AD3585E2F937E81C75DF6EA47F11A711D29C5896FB7620EAA18BE1BBFC563E4BC6D279209ADBC0FE78CD5AF4C1FDDA8338807C731B11210592780EC5FD60517FA919B54A0D2DE57A9F93C99CEFEA0E03B4DAE2AF5B0C8EBBB3C83539961F172B047EBA77D626E169146355210C7DAES(三)AES安全性2002年成為有效標(biāo)準(zhǔn)(旁道攻擊成功一次)AES算法的安全性目前是可靠的;針對(duì)AES密碼系統(tǒng),不斷有新的攻擊方法提出,包括功耗分析、積分攻擊和旁道攻擊等,尚不能對(duì)AES構(gòu)成實(shí)際的威脅;旁道攻擊不攻擊密碼本身,而是攻擊那些實(shí)現(xiàn)于不安全系統(tǒng)上的加密系統(tǒng)。序列密碼--RC4RC4是由麻省理工學(xué)院RonRivest開(kāi)發(fā)的可變密鑰長(zhǎng)度的流密碼,是世界上普遍使用的流密碼之一。RC4是一種基于非線性數(shù)據(jù)表變換的流密碼,它以一個(gè)足夠大的數(shù)據(jù)表S為基礎(chǔ),對(duì)表進(jìn)行非線性變換,產(chǎn)生非線性的密鑰流序列。RC4RC4密鑰調(diào)度算法初始化數(shù)據(jù)表S

forifrom0to255 S[i]:=i k[i]=key[i%Len]endforj:=0forifrom0to255 j:=(j+S[i]+k[i])mod256 swapvaluesofS[i]andS[j]endforRC4RC4密鑰流的每個(gè)輸出都是數(shù)據(jù)表S中的一個(gè)隨機(jī)元素。密鑰流的生成需要兩個(gè)過(guò)程:

1)密鑰調(diào)度算法用于設(shè)置數(shù)據(jù)表S的初始排列;

2)偽隨機(jī)生成算法.用于選取隨機(jī)元素并修改S的原始排列順序。優(yōu)點(diǎn):軟件實(shí)現(xiàn)容易,已經(jīng)應(yīng)用于Microsoftwindows、LotusNotes等軟件,用于安全套接字層SSL(SecureSocketLayer)保護(hù)因特網(wǎng)的信息流。2.4非對(duì)稱密碼體制特點(diǎn):有一對(duì)密鑰,其中pk是公開(kāi)的,即公開(kāi)密鑰。另一個(gè)密鑰sk是保密的,這個(gè)密鑰稱為私人密鑰,簡(jiǎn)稱私鑰。進(jìn)行加密和解密時(shí)使用不同的加密密鑰和解密密鑰,這里要求加密密鑰和解密密鑰不能相互推導(dǎo)出來(lái)或者很難推導(dǎo)出來(lái)。非對(duì)稱密碼體制都是建立在嚴(yán)格的數(shù)學(xué)基礎(chǔ)上,公開(kāi)密鑰和私人密鑰的產(chǎn)生是通過(guò)數(shù)學(xué)方法產(chǎn)生的,公鑰算法的安全性是建立在某個(gè)數(shù)學(xué)問(wèn)題很難解決的基礎(chǔ)上。非對(duì)稱密碼使用模型2.4.1RSA非對(duì)稱密碼體制RSA發(fā)明人,從左到右RonRivest,AdiShamir,LeonardAdleman.照片攝于1978年2.4.1RSA非對(duì)稱密碼體制它的安全性一直未從理論上得到證明,但至今未被完全攻破。RSA具有的優(yōu)勢(shì):為實(shí)現(xiàn)數(shù)字簽名和數(shù)字認(rèn)證提供了合適的手段,解決了DES不能解決的問(wèn)題;在具有多個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)中,大大減輕了密鑰分配與管理的壓力(在N個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)中,用DES算法進(jìn)行加密,需要N(N-1)/2對(duì)密鑰,而RSA僅需要N對(duì))RSA的數(shù)學(xué)基礎(chǔ)定義1:對(duì)一個(gè)自然數(shù)P,如果P只能被1和自身除盡時(shí),則稱P為素?cái)?shù)(或質(zhì)數(shù)),否則為合數(shù)。定義2:如果整數(shù)a與整數(shù)b的最大公約數(shù)是1,則稱a與b是互為質(zhì)數(shù)。例如:2和3,5和7等都是互為質(zhì)數(shù)。定義3:歐拉函數(shù)定義為:

φ(r)=r(1-1/P1)(1-1/P2)···(1-1/Pn)

P1

、P2···Pn是r的質(zhì)因子,即公約數(shù)。

歐拉函數(shù)是用來(lái)計(jì)算1、2、3、···、r中有多少個(gè)數(shù)與r互為質(zhì)數(shù)的。例如:當(dāng)r=20時(shí),由于r=2×2×5,即20的公約數(shù)是2和5

所以:

=20×(1-1/2)×(1-1/5)=8

即在1~20個(gè)整數(shù)中有8個(gè)與20互質(zhì)的數(shù),它們是1,3,7,9,11,13,17,19。定義4:兩個(gè)整數(shù)a、b分別被m除,如果所得余數(shù)相同,則稱a與b對(duì)模m是同余的,記作:

a≡b(modm)2.4.1RSA非對(duì)稱密碼體制算法描述:(1)選擇一對(duì)不同的、足夠大的素?cái)?shù)p,q,計(jì)算n=pq;(2)計(jì)算Φ(n)=(p-1)(q-1);(3)找一個(gè)與Φ(n)互質(zhì)的數(shù)e,且1<e<Φ(n)(令sk=e);(4)計(jì)算pk,使得pk*sk≡1modΦ(n)。2.4.1RSA非對(duì)稱密碼體制(5)公鑰KU=(pk,n),私鑰KR=(sk,n)。(6)加密時(shí),先將明文變換成0至n-1的一個(gè)整數(shù)mi。若明文較長(zhǎng),可先分割成適當(dāng)?shù)慕M,然后再進(jìn)行加密。設(shè)密文為Ci,則加密過(guò)程為:(7)解密過(guò)程為:RSA加密和解密的例子:在以下實(shí)例中只選取小數(shù)值的素?cái)?shù)p,q,以及e,假設(shè)用戶A需要將明文“key”通過(guò)RSA加密后傳遞給用戶B。

(1)設(shè)計(jì)公、私密鑰(e,n)和(d,n)。

令p=3,q=11,得出n=p×q=3×11=33;

Φ

(n)=(p-1)(q-1)=2×10=20;取e=3,(3與20互質(zhì))則e×d≡1modΦ

(n),即3×d≡1mod20。

pk怎樣取值呢?可以用試算的辦法來(lái)尋找。試算結(jié)果見(jiàn)下表:當(dāng)d=7時(shí),e×d≡1modΦ(n)同余等式成立。因此,可令pk=7。從而可以設(shè)計(jì)出一對(duì)公私密鑰,加密密鑰(公鑰)為:

KU=(e,n)=(3,33),解密密鑰(私鑰)為:KR=(d,n)=(7,33)。

2)明文數(shù)字化。

將明文信息數(shù)字化,并將每塊兩個(gè)數(shù)字分組。假定明文英文字母編碼表為按字母順序排列數(shù)值則得到分組后的key的明文信息為:11,05,25。(3)明文加密

用戶加密密鑰(3,33)將數(shù)字化明文分組信息加密成密文。由得:得到相應(yīng)的密文信息為:11,26,16。(4)密文解密。

用戶B收到密文,若將其解密,只需要計(jì)算,即:用戶B得到明文信息為:11,05,25。根據(jù)上面的編碼表將其轉(zhuǎn)換為明文,我們又得到了恢復(fù)后的原文“key”。實(shí)際運(yùn)用時(shí),要比這復(fù)雜得多。由于RSA算法的公鑰私鑰的長(zhǎng)度(模長(zhǎng)度)要到1024位甚至2048位才能保證安全,因此,p、q、e的選取、公鑰私鑰的生成,加密解密模指數(shù)運(yùn)算都有一定的計(jì)算程序,需要仰仗計(jì)算機(jī)的高速計(jì)算來(lái)完成。

RSA算法安全性在RSA密碼應(yīng)用中,公鑰KU是被公開(kāi)的,即pk和n的數(shù)值可以被第三方得到。破解RSA密碼的問(wèn)題就是從已知的pk和n的數(shù)值(n等于pq),設(shè)法求出sk的數(shù)值,這樣就可以得到私鑰來(lái)破解密文。從上文中的公式:d≡e-1(mod((p-1)(q-1)))或de≡1(mod((p-1)(q-1)))可以看出,密碼破解的實(shí)質(zhì)問(wèn)題是:從pq的數(shù)值,求出(p-1)和(q-1)。即,只要求出p和q的值,就能求出d的值而得到私鑰。RSA算法安全性RSA算法的安全性取決于p、q的保密性,以及分解大數(shù)的難度,所以在計(jì)算出r后要立即徹底刪除p、q值。通常,在實(shí)際應(yīng)用中應(yīng)該注意:1.p與q的取值必須相差很大,有人建議至少要在10倍左右;

2.為了提高加密速度,通常取加密的sk為特定的小整數(shù),如EDI(電子數(shù)據(jù)交換)國(guó)際標(biāo)準(zhǔn)中規(guī)定選擇的,ISO/IEC9796甚至允許取k=3,這樣導(dǎo)致加密速度一般比解密速度快10倍以上。RSA的缺點(diǎn)RSA的缺點(diǎn):

a)產(chǎn)生密鑰很麻煩,受到素?cái)?shù)產(chǎn)生技術(shù)的限制,因而難以做到一次一密。

b)分組長(zhǎng)度太大,為保證安全性,n至少也要600bits以上,使運(yùn)算代價(jià)很高,尤其是速度較慢,較對(duì)稱密碼算法慢幾個(gè)數(shù)量級(jí);且隨著大數(shù)分解技術(shù)的發(fā)展,這個(gè)長(zhǎng)度還在增加,不利于數(shù)據(jù)格式的標(biāo)準(zhǔn)化。因此,使用RSA只能加密少量數(shù)據(jù),大量的數(shù)據(jù)加密還要靠對(duì)稱密碼算法。2.4.2橢圓曲線密碼橢圓曲線在密碼學(xué)中的使用是在1985年由NealKoblitz和VictorMiller分別獨(dú)立提出。橢圓曲線密碼突出的優(yōu)點(diǎn):密鑰長(zhǎng)度短,抗攻擊性強(qiáng),單位比特的安全性強(qiáng)度高,比如160比特的ECC與1024比特的RSA有相同的安全強(qiáng)度;ECC的計(jì)算量小,處理速度快。在相同的強(qiáng)度下,用160比特的ECC進(jìn)行加密、解密或數(shù)字簽名要比用1024比特的RSA要快大約10倍。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論