第四章分組密碼課件_第1頁(yè)
第四章分組密碼課件_第2頁(yè)
第四章分組密碼課件_第3頁(yè)
第四章分組密碼課件_第4頁(yè)
第四章分組密碼課件_第5頁(yè)
已閱讀5頁(yè),還剩171頁(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)介

第四章分組密碼一、分組密碼概述二、分組密碼運(yùn)行模式三、DES四、AES五、分組密碼的分析2023/1/31第四章分組密碼一、分組密碼概述2022/12/291一、分組密碼概述2023/1/32一、分組密碼概述2022/12/292分組密碼概述分組密碼是許多系統(tǒng)安全的一個(gè)重要組成部分??捎糜跇?gòu)造擬隨機(jī)數(shù)生成器流密碼消息認(rèn)證碼(MAC)和雜湊函數(shù)消息認(rèn)證技術(shù)、數(shù)據(jù)完整性機(jī)構(gòu)、實(shí)體認(rèn)證協(xié)議以及單鑰數(shù)字簽字體制的核心組成部分。

2023/1/33分組密碼概述分組密碼是許多系統(tǒng)安全的一個(gè)重要組成部分。可用于應(yīng)用中對(duì)于分組碼的要求安全性運(yùn)行速度存儲(chǔ)量(程序的長(zhǎng)度、數(shù)據(jù)分組長(zhǎng)度、高速緩存大小)實(shí)現(xiàn)平臺(tái)(硬、軟件、芯片)運(yùn)行模式2023/1/34應(yīng)用中對(duì)于分組碼的要求安全性2022/12/294分組密碼概述明文序列x1,x2,…,xi,…加密函數(shù)E:Vn×KVn

這種密碼實(shí)質(zhì)上是字長(zhǎng)為m的數(shù)字序列的代換密碼。

解密算法加密算法密鑰k=(k0,k1,…,kt-1)密鑰k=(k0,k1,…,kt-1)明文x=(x0,x1,…,xm-1)明文x=(x0,x1,…,xm-1)密文x=(y0,y1,…,ym-1)2023/1/35分組密碼概述明文序列x1,x2,…,xi,…解

分組密碼概述通常取n=m。若n>m,則為有數(shù)據(jù)擴(kuò)展的分組密碼。若n<m,則為有數(shù)據(jù)壓縮的分組密碼。2023/1/36

分組密碼概述通常取n=m。2022/12/296分組密碼設(shè)計(jì)問(wèn)題

分組密碼的設(shè)計(jì)問(wèn)題在于找到一種算法,能在密鑰控制下從一個(gè)足夠大且足夠好的置換子集中,簡(jiǎn)單而迅速地選出一個(gè)置換,用來(lái)對(duì)當(dāng)前輸入的明文的數(shù)字組進(jìn)行加密變換。2023/1/37分組密碼設(shè)計(jì)問(wèn)題分組密碼的設(shè)計(jì)問(wèn)題在于找到分組密碼算法應(yīng)滿足的要求分組長(zhǎng)度n要足夠大:防止明文窮舉攻擊法奏效。密鑰量要足夠大:盡可能消除弱密鑰并使所有密鑰同等地好,以防止密鑰窮舉攻擊奏效。由密鑰確定置換的算法要足夠復(fù)雜:充分實(shí)現(xiàn)明文與密鑰的擴(kuò)散和混淆,沒(méi)有簡(jiǎn)單的關(guān)系可循,要能抗擊各種已知的攻擊。2023/1/38分組密碼算法應(yīng)滿足的要求分組長(zhǎng)度n要足夠大:2022/12/分組密碼算法應(yīng)滿足的要求加密和解密運(yùn)算簡(jiǎn)單:

易于軟件和硬件高速實(shí)現(xiàn)。數(shù)據(jù)擴(kuò)展:

一般無(wú)數(shù)據(jù)擴(kuò)展,在采用同態(tài)置換和隨機(jī)化加密技術(shù)時(shí)可引入數(shù)據(jù)擴(kuò)展。差錯(cuò)傳播盡可能地小。

2023/1/39分組密碼算法應(yīng)滿足的要求加密和解密運(yùn)算簡(jiǎn)單:2022/12/代換網(wǎng)絡(luò)代換是輸入集A到輸出A’上的雙射變換:

fk:AA'

式中,k是控制輸入變量,在密碼學(xué)中則為密鑰。實(shí)現(xiàn)代換fk的網(wǎng)絡(luò)稱作代換網(wǎng)絡(luò)。雙射條件保證在給定k下可從密文惟一地恢復(fù)出原明文。2023/1/310代換網(wǎng)絡(luò)代換是輸入集A到輸出A’上的雙射變換:2022/12代換網(wǎng)絡(luò)代換fk的集合:

S={fkkK}K是密鑰空間。如果網(wǎng)絡(luò)可以實(shí)現(xiàn)所有可能的2n!個(gè)代換,則稱其為全代換網(wǎng)絡(luò)。全代換網(wǎng)絡(luò)密鑰個(gè)數(shù)必須滿足條件:#{k}2n!2023/1/311代換網(wǎng)絡(luò)代換fk的集合:2022/12/2911代換網(wǎng)絡(luò)密碼設(shè)計(jì)中需要先定義代換集S,而后還需定義解密變換集,即逆代換網(wǎng)絡(luò)S-1,它以密文y作為輸入矢量,其輸出為恢復(fù)的明文矢量x。要實(shí)現(xiàn)全代換網(wǎng)絡(luò)并不容易。因此實(shí)用中常常利用一些簡(jiǎn)單的基本代換,通過(guò)組合實(shí)現(xiàn)較復(fù)雜的、元素個(gè)數(shù)較多的代換集。實(shí)用密碼體制的集合S中的元素個(gè)數(shù)都遠(yuǎn)小于2n!。2023/1/312代換網(wǎng)絡(luò)密碼設(shè)計(jì)中需要先定義代換集S,而后還需定義解密變換集代換盒(S盒)在密碼設(shè)計(jì)中,可選n=rn0,其中r和n0都為正整數(shù),將設(shè)計(jì)n個(gè)變量的代換網(wǎng)絡(luò)化為設(shè)計(jì)r個(gè)較小的子代換網(wǎng)絡(luò),而每個(gè)子代換網(wǎng)絡(luò)只有n0個(gè)輸入變量。稱每個(gè)子代換網(wǎng)絡(luò)為代換盒(SubstitutionBox)

S盒x5

x4

x3

x2

x1

x0y3

y2

y1

y0DES的S盒2023/1/313代換盒(S盒)在密碼設(shè)計(jì)中,可選n=rDES的S1-盒的輸入和輸出關(guān)系x5x0x5x4x3x2x1x010101100列號(hào)0123456789101112131415行號(hào)01441312151183106125907101574142131106121195382411481362111512973105031512824917511214100613

(y3

,

y2,

y1

,y0)=(0,0,1,0)2023/1/314DES的S1-盒的輸入和輸出關(guān)系x5x0擴(kuò)散和混淆擴(kuò)散將明文的統(tǒng)計(jì)特性散布到密文中。實(shí)現(xiàn)的方式是使明文的每一位影響密文中多位的值。2023/1/315擴(kuò)散和混淆擴(kuò)散將明文的統(tǒng)計(jì)特性散布到密文中。實(shí)現(xiàn)的方式是使明S盒的設(shè)計(jì)準(zhǔn)則迄今為止,有關(guān)方面未曾完全公開(kāi)有關(guān)DES的S盒的設(shè)計(jì)準(zhǔn)則。Branstead等曾披露過(guò)下述準(zhǔn)則:P1S盒的輸出都不是其輸入的線性或仿射函數(shù)。P2改變S盒的一個(gè)輸入比特,其輸出至少有兩比特產(chǎn)生變化,即近一半產(chǎn)生變化。P3當(dāng)S盒的任一輸入位保持不變,其它5位輸入變化時(shí)(共有25=32種情況),輸出數(shù)字中的0和1的總數(shù)近于相等。這三點(diǎn)使DES的S盒能夠?qū)崿F(xiàn)較好的混淆。2023/1/316S盒的設(shè)計(jì)準(zhǔn)則迄今為止,有關(guān)方面未曾完全公S盒的組合問(wèn)題:如何將幾個(gè)S盒組合起來(lái)構(gòu)成一個(gè)n值較大的組。

將幾個(gè)S盒的輸入端并行,并通過(guò)坐標(biāo)置換(P-盒)將各S盒輸出比特次序打亂,再送到下一級(jí)各S盒的輸入端,起到了Shannon所謂的“擴(kuò)散”作用。S盒提供非線性變換,將來(lái)自上一級(jí)不同的S盒的輸出進(jìn)行“混淆”。經(jīng)過(guò)P-盒的擴(kuò)散作用使1均勻地分散到整個(gè)輸出矢量中,從而保證了輸出密文統(tǒng)計(jì)上的均勻性,這就是Shannon的乘積密碼的作用。2023/1/317S盒的組合問(wèn)題:如何將幾個(gè)S盒組合起來(lái)構(gòu)成一個(gè)n值較大的組Feistel網(wǎng)絡(luò)

將nbit明文分成為左右各半、長(zhǎng)為n/2bit的段,以L和R表示。然后進(jìn)行多輪迭代,其第i輪迭代的輸出為前輪輸出的函數(shù)

Li=Ri-1

Ri=Li-1f(Ri-1,Ki)式中,Ki是第i輪用的子密鑰,f是任意密碼輪函數(shù)。稱這種分組密碼算法為Feistel網(wǎng)絡(luò)(FeistelNetwork),它保證加密和解密可采用同一算法實(shí)施2023/1/318Feistel網(wǎng)絡(luò)將nbit明文分成為左右各半、長(zhǎng)迭代分組密碼若以一個(gè)簡(jiǎn)單函數(shù)f,進(jìn)行多次迭代,就稱其為迭代密碼。每次迭代稱作一輪(Round)。相應(yīng)函數(shù)f稱作輪函數(shù)。每一輪輸出都是前一輪輸出的函數(shù),即y(i)=f[y(i-1),k(i)],其中k(i)是第i輪迭代用的子密鑰,由秘密密鑰k通過(guò)密鑰生成算法產(chǎn)生。

子密鑰產(chǎn)生器kk(1)k(2)k(r)y(0)=xy(1)y(2)y(r-1)y(r)=y2023/1/319迭代分組密碼若以一個(gè)簡(jiǎn)單函數(shù)f,進(jìn)行多次迭代,就稱其為迭代密對(duì)合密碼(InvolutionCipher)

加密函數(shù)f(x,k),實(shí)現(xiàn)F2n×F2t

F2n的映射。其中,n是分組長(zhǎng),t是密鑰長(zhǎng)。若對(duì)每個(gè)密鑰取值都有f[f(x,k),k]=x,即f(x,k)2=I(恒等置換)則稱其為對(duì)合密碼,以fI表示。2023/1/320對(duì)合密碼(InvolutionCipher)20I型迭代分組密碼以對(duì)合密碼函數(shù)構(gòu)造的多輪迭代分組密碼。E[x,k]=fI[fI[

fI[fI[x,k(1)],k(2)],k(r-1)],k(r)]D[y,k]=fI[fI[

fI[fI[y,k(r)],k(r-1)],k(2)],k(1)]

缺點(diǎn):對(duì)任意偶數(shù)輪變換,若對(duì)所有i選擇k(2i-1)=k(2i),則加密的變換等價(jià)于恒等變換,在實(shí)用中需要避免這類密鑰選擇。2023/1/321I型迭代分組密碼以對(duì)合密碼函數(shù)構(gòu)造的多輪迭代分組密碼。202

對(duì)合置換和II型迭代分組密碼對(duì)合置換令P是對(duì)x的置換,即P:F2n

F2n

,若對(duì)所有xGF(2n),有P[P[x]]=x,即PP=I(恒等置換),以PI表示。II型迭代分組密碼每輪采用對(duì)合密碼函數(shù)和對(duì)合置換級(jí)連,即F[x,k]=PI[fI[x,k]]并選解密子密鑰與加密子密鑰逆序,則加密解密可用同一器件完成。DES、FEAL和LOKI等都屬此類。2023/1/322

對(duì)合置換和II型迭代分組密碼對(duì)合置換2022/12/292

III型迭代分組密碼群密碼:若密鑰與明文、密文取自同一空間GF(2n),且y=xk式中,是群運(yùn)算,則稱其為群密碼。顯然x可通過(guò)k的逆元求得x=yk-1令xk為一群密碼,令fI(x,kB)為一對(duì)合密碼,以F[x,k]=fI(xkA,kB)為迭代函數(shù),可以III型多輪迭代分組密碼。在最后一輪中,另外加了一次群密碼運(yùn)算,用以保證整個(gè)加、解密的對(duì)合性。2023/1/323

III型迭代分組密碼群密碼:若密鑰與明文、密文取自同一空III型迭代分組密碼輪函數(shù)F

F

y(1)y(r-1)(a)加密

x

fI···

fI

y

kA(1)kB(1)kA(r)kB(r)kA(r+1)F

F

y

fI···fI

x

(b)解密

kA(r+1))-1

kB(r)(kA(r))-1

kB(1)(kA)-1

2023/1/324III型迭代分組密碼輪函數(shù)FIV型迭代分組密碼

在III型密碼的輪函數(shù)基礎(chǔ)上,再增加一個(gè)對(duì)合置換PI,構(gòu)成IV型迭代分組密碼的輪函數(shù)

F[x,k]=PI[fI[xkA,kB]]2023/1/325IV型迭代分組密碼在III型密碼的輪函

IV型迭代分組密碼輪函數(shù)Fy(1)y(r-1)

F

x

fIPI···

fI

PIPI

y

kA(1)kB(1)

kA(r)

kB(r)

kA(r+1)(a)加密

FF

y

fIPI···

fI

x

(b)解密(kA(r+1))-1kB(r)

PI[kA(r)]-1

PI[kA(2)]-1

kB(1)(kA(1))-1

2023/1/326

IV型迭代分組密碼輪函數(shù)F二、分組碼的運(yùn)行模式2023/1/327二、分組碼的運(yùn)行模式2022/12/2927

主要工作模式

即使有了安全的分組密碼算法,也需要采用適當(dāng)?shù)墓ぷ髂J絹?lái)隱蔽明文的統(tǒng)計(jì)特性、數(shù)據(jù)的格式等,以提高整體的安全性,降低刪除、重放、插入和偽造成功的機(jī)會(huì)。電子碼本(ECB)密碼反饋鏈接(CBC)

密碼反饋(CFB)輸出反饋(OFB)。

2023/1/328主要工作模式

電碼本ECB模式直接利用加密算法分別對(duì)分組數(shù)據(jù)組加密。在給定的密鑰下同一明文組總產(chǎn)生同樣的密文組。這會(huì)暴露明文數(shù)據(jù)的格式和統(tǒng)計(jì)特征。

明文數(shù)據(jù)都有固定的格式,需要以協(xié)議的形式定義,重要的數(shù)據(jù)常常在同一位置上出現(xiàn),使密碼分析者可以對(duì)其進(jìn)行統(tǒng)計(jì)分析、重傳和代換攻擊。2023/1/329電碼本ECB模式直接利用加密算法分別對(duì)分組數(shù)據(jù)組加密

電碼本ECB模式

xykDESyxkDES-12023/1/330電碼本ECB模式密碼分組鏈接CBC模式每個(gè)明文組xi加密之前,先與反饋至輸入端的前一組密文yi-1按位模2求和后,再送至加密算法加密各密文組yi不僅與當(dāng)前明文組xi有關(guān),而且通過(guò)反饋?zhàn)饔眠€與以前的明文組x1,x2,…,xi-1,有關(guān)2023/1/331密碼分組鏈接CBC模式每個(gè)明文組xi加密之前,先與反饋至輸入密碼分組鏈接CBC模式初始矢量IV(InitialVector):第一組明文xi加密時(shí)尚無(wú)反饋密文,為此需要在寄存器中預(yù)先置入一個(gè)。收發(fā)雙方必須選用同一IV。實(shí)際上,IV的完整性要比其保密性更為重要。在CBC模式下,最好是每發(fā)一個(gè)消息,都改變IV,比如將其值加一。2023/1/332密碼分組鏈接CBC模式初始矢量IV(InitialVec密碼分組鏈接CBC模式

CBC模式xiyikDESyix’kDES-1++64bit存儲(chǔ)64bit存儲(chǔ)yi-12023/1/333密碼分組鏈接CBC模式填充(Padding)

給定加密消息的長(zhǎng)度是隨機(jī)的,按64bit分組時(shí),最后一組消息長(zhǎng)度可能不足64bit??梢蕴畛湟恍?shù)字,通常用最后1字節(jié)作為填充指示符(PI)。它所表示的十進(jìn)制數(shù)字就是填充占有的字節(jié)數(shù)。數(shù)據(jù)尾部、填充字符和填充指示符一起作為一組進(jìn)行加密。

數(shù)據(jù)填充PI2023/1/334填充(Padding)給定加密消息的長(zhǎng)度是隨機(jī)的,按CBC的錯(cuò)誤傳播1.明文有一組中有錯(cuò),會(huì)使以后的密文組都受影響,但經(jīng)解密后的恢復(fù)結(jié)果,除原有誤的一組外,其后各組明文都正確地恢復(fù)。2.若在傳送過(guò)程中,某組密文組yi出錯(cuò)時(shí),則該組恢復(fù)的明文x’i和下一組恢復(fù)數(shù)據(jù)x’i+1出錯(cuò)。再后面的組將不會(huì)受yi中錯(cuò)誤比特的影響。2023/1/335CBC的錯(cuò)誤傳播2022/12/2935k-比特密碼反饋CFB模式若待加密消息必須按字符(如電傳電報(bào))或按比特處理時(shí),可采用CFB模式。CFB實(shí)際上是將加密算法DES作為一個(gè)密鑰流產(chǎn)生器,當(dāng)k=1時(shí)就退化為前面討論的流密碼了。CFB與CBC的區(qū)別是反饋的密文長(zhǎng)度為k,且不是直接與明文相加,而是反饋至密鑰產(chǎn)生器。2023/1/336k-比特密碼反饋CFB模式若待加密消息必須按字符(如電傳電報(bào)k-比特密碼反饋CFB模式

CFB模式

+

+xixiyiyikkXi64bitXi64bitYi64bitYi64bitDES

DES-1選最左邊

k位選最左邊

k位kbitkbityi-Lyi-2yi-12023/1/337k-比特密碼反饋CFB模式++xixiyiyikkXk-比特密碼反饋CFB模式CFB的優(yōu)點(diǎn)它特別適于用戶數(shù)據(jù)格式的需要。能隱蔽明文數(shù)據(jù)圖樣,也能檢測(cè)出對(duì)手對(duì)于密文的篡改。CFB的缺點(diǎn)對(duì)信道錯(cuò)誤較敏感,且會(huì)造成錯(cuò)誤傳播。CFB也需要一個(gè)初始矢量,并要和密鑰同時(shí)進(jìn)行更換。2023/1/338k-比特密碼反饋CFB模式CFB的優(yōu)點(diǎn)2022/12/293輸出反饋OFB模式將分組密碼算法作為一個(gè)密鑰流產(chǎn)生器,其輸出的k-bit密鑰直接反饋至分組密碼的輸入端,同時(shí)這k-bit密鑰和輸入的k-bit明文段進(jìn)行對(duì)應(yīng)位模2相加。克服了CBC和CFB的錯(cuò)誤傳播所帶來(lái)的問(wèn)題。對(duì)于密文被篡改難以進(jìn)行檢測(cè)不具有自同步能力,要求系統(tǒng)要保持嚴(yán)格的同步2023/1/339輸出反饋OFB模式將分組密碼算法作為一個(gè)密鑰流產(chǎn)生器,其輸出輸出反饋OFB模式

OFB模式

+xiyik64bit64bitDES選最左邊

k位ki64bit

寄存器kbitkbit

+xiyik64bit64bit

DES-1選最左邊

k位kbit64bit

寄存器kbitki2023/1/340輸出反饋OFB模式+xiyik64bit64bitDEOCB模式2023/1/341OCB模式2022/12/2941OCB模式functionocb-aes-encrypt(K,M,Nonce)begin

Offset=AES(K,Noncexor

L)Checksum=0

for

i=1to

m-1dobegin

Offset=Offsetxor

L(ntz(i))Checksum=Checksumxor

M[i]C[i]=OffsetxorAES(K,M[i]xorOffset)

end

Offset=Offsetxor

L(ntz(m))Pad=AES(K,len(M[m])xor

L(-1)xorOffset)C[m]=M[m]xor(thefirst|M[m]|bitsofPad)Checksum=ChecksumxorPadxor

C[m]0*FullTag=AES(K,ChecksumxorOffset)Tag=aprefixofFullTag(ofthedesiredlength)

return

C[1]...C[m-1]C[m]Tag

end

L=AES(K,0).

L(0)=Lfori>0,L(i)=L(i-1)<<1ifthefirstbitofL(i-1)is0L(i)=(L(i-1)<<1)xor0x00000000000000000000000000000087otherwise.L(-1)=L>>1ifthelastbitofLis0,L(-1)=L>>1xor0x80000000000000000000000000000043otherwise.2023/1/342OCB模式functionocb-aes-encrypt(比較和選用ECB模式,簡(jiǎn)單、高速,但最弱、易受重發(fā)攻擊,一般不推薦。CBC適用于文件加密,但較ECB慢。安全性加強(qiáng)。當(dāng)有少量錯(cuò)誤時(shí),也不會(huì)造成同步錯(cuò)誤。OFB和CFB較CBC慢許多。每次迭代只有少數(shù)bit完成加密。若可以容忍少量錯(cuò)誤擴(kuò)展,則可換來(lái)恢復(fù)同步能力,此時(shí)用CFB。在字符為單元的流密碼中多選CFB模式。OFB用于高速同步系統(tǒng),不容忍差錯(cuò)傳播。2023/1/343比較和選用ECB模式,簡(jiǎn)單、高速,但最弱、易受重發(fā)攻擊,一般三、美國(guó)數(shù)據(jù)加密標(biāo)準(zhǔn)—DES(DataEncryptionStandard)2023/1/344三、美國(guó)數(shù)據(jù)加密標(biāo)準(zhǔn)—DES(DataEncryption美國(guó)制定數(shù)據(jù)加密標(biāo)準(zhǔn)簡(jiǎn)況目的

通信與計(jì)算機(jī)相結(jié)合是人類步入信息社會(huì)的一個(gè)階梯,它始于六十年代末,完成于90年代初。計(jì)算機(jī)通信網(wǎng)的形成與發(fā)展,要求信息作業(yè)標(biāo)準(zhǔn)化,安全保密亦不例外。只有標(biāo)準(zhǔn)化,才能真正實(shí)現(xiàn)網(wǎng)的安全,才能推廣使用加密手段,以便于訓(xùn)練、生產(chǎn)和降低成本。

2023/1/345美國(guó)制定數(shù)據(jù)加密標(biāo)準(zhǔn)簡(jiǎn)況目的2022/12/2945美國(guó)制定數(shù)據(jù)加密標(biāo)準(zhǔn)簡(jiǎn)況美國(guó)NBS在1973年5月15公布了征求建議。1974年8月27日NBS再次出公告征求建議,對(duì)建議方案提出如下要求:算法必須完全確定而無(wú)含糊之處;算法必須有足夠高的保護(hù)水準(zhǔn),即可以檢測(cè)到威脅,恢復(fù)密鑰所必須的運(yùn)算時(shí)間或運(yùn)算次數(shù)足夠大;保護(hù)方法必須只依賴于密鑰的保密;對(duì)任何用戶或產(chǎn)品供應(yīng)者必須是不加區(qū)分的。2023/1/346美國(guó)制定數(shù)據(jù)加密標(biāo)準(zhǔn)簡(jiǎn)況美國(guó)NBS在1973年5月15公布了美國(guó)制定數(shù)據(jù)加密標(biāo)準(zhǔn)簡(jiǎn)況IBM公司在1971年完成的LUCIFER密碼(64bit分組,代換-置換,128bit密鑰)的基礎(chǔ)上,改進(jìn)成為建議的DES體制1975年3月17日NBS公布了這個(gè)算法,并說(shuō)明要以它作為聯(lián)邦信息處理標(biāo)準(zhǔn),征求各方意見(jiàn)。1977年1月15日建議被批準(zhǔn)為聯(lián)邦標(biāo)準(zhǔn)[FIPSPUB46],并設(shè)計(jì)推出DES芯片。1981年美國(guó)ANSI將其作為標(biāo)準(zhǔn),稱之為DEA[ANSIX3.92]1983年國(guó)際標(biāo)準(zhǔn)化組織(ISO)采用它作為標(biāo)準(zhǔn),稱作DEA-1

2023/1/347美國(guó)制定數(shù)據(jù)加密標(biāo)準(zhǔn)簡(jiǎn)況IBM公司在1971年完成的LUCI美國(guó)制定數(shù)據(jù)加密標(biāo)準(zhǔn)簡(jiǎn)況NSA宣布每隔5年重新審議DES是否繼續(xù)作為聯(lián)邦標(biāo)準(zhǔn),1988年(FIPS46-1)、1993年(FIPS46-2),1998年不再重新批準(zhǔn)DES為聯(lián)邦標(biāo)準(zhǔn)。雖然DES已有替代的數(shù)據(jù)加密標(biāo)準(zhǔn)算法,但它仍是迄今為止得到最廣泛應(yīng)用的一種算法,也是一種最有代表性的分組加密體制。1993年4月,Clinton政府公布了一項(xiàng)建議的加密技術(shù)標(biāo)準(zhǔn),稱作密鑰托管加密技術(shù)標(biāo)準(zhǔn)EES(EscrowedEncryptionStandard)。算法屬美國(guó)政府SECRET密級(jí)。2023/1/348美國(guó)制定數(shù)據(jù)加密標(biāo)準(zhǔn)簡(jiǎn)況NSA宣布每隔5年重新審議DES是否美國(guó)制定數(shù)據(jù)加密標(biāo)準(zhǔn)簡(jiǎn)況DES發(fā)展史確定了發(fā)展公用標(biāo)準(zhǔn)算法模式,而EES的制定路線與DES的背道而馳。人們懷疑有陷門(mén)和政府部門(mén)肆意侵犯公民權(quán)利。此舉遭到廣為反對(duì)。1995年5月AT&TBellLab的M.Blaze博士在PC機(jī)上用45分鐘時(shí)間使SKIPJACK的LEAF協(xié)議失敗,偽造ID碼獲得成功。1995年7月美國(guó)政府宣布放棄用EES來(lái)加密數(shù)據(jù),只將它用于語(yǔ)音通信。1997年1月美國(guó)NIST著手進(jìn)行AES(AdvancedEncryptionStandard)的研究,成立了標(biāo)準(zhǔn)工作室。2001年Rijndael被批準(zhǔn)為AES標(biāo)準(zhǔn)。2023/1/349美國(guó)制定數(shù)據(jù)加密標(biāo)準(zhǔn)簡(jiǎn)況DES發(fā)展史確定了發(fā)展公用標(biāo)準(zhǔn)算法模

DES算法分組長(zhǎng)度為64bits(8bytes)密文分組長(zhǎng)度也是64bits。密鑰長(zhǎng)度為64bits,有8bits奇偶校驗(yàn),有效密鑰長(zhǎng)度為56bits。算法主要包括:初始置換IP、16輪迭代的乘積變換、逆初始置換IP-1以及16個(gè)子密鑰產(chǎn)生器。

2023/1/350

DES算法分組長(zhǎng)度為64bits(8bytes)2DES算法框圖

輸入64bit明文數(shù)據(jù)初始置換IP乘積變換(16輪迭代)逆初始置換IP-164bit密文數(shù)據(jù)輸出

標(biāo)準(zhǔn)數(shù)據(jù)加密算法2023/1/351DES算法框圖初始置換IP將64bit明文的位置進(jìn)行置換,得到一個(gè)亂序的64bit明文組,而后分成左右兩段,每段為32bit,以L0和R0表示,IP中各列元素位置號(hào)數(shù)相差為8,相當(dāng)于將原明文各字節(jié)按列寫(xiě)出,各列比特經(jīng)過(guò)偶采樣和奇采樣置換后,再對(duì)各行進(jìn)行逆序。將陣中元素按行讀出構(gòu)成置換輸出。逆初始置換IP-1。將16輪迭代后給出的64bit組進(jìn)行置換,得到輸出的密文組。輸出為陣中元素按行讀得的結(jié)果。IP和IP-1在密碼意義上作用不大,它們的作用在于打亂原來(lái)輸入x的ASCII碼字劃分的關(guān)系,并將原來(lái)明文的校驗(yàn)位x8,x16,,x64變成為IP輸出的一個(gè)字節(jié)。2023/1/352初始置換IP將64bit明文的位置進(jìn)行置換,得到一個(gè)亂序的

Li-1(32bit)Ri-1(32bit)

選擇擴(kuò)展運(yùn)算E48bit寄存器按bit模2加密48bit寄存器選擇壓縮運(yùn)算S32bit寄存器置換運(yùn)算P按bit模2和

Li(32bit)Ri(32bit)乘積變換框圖密鑰產(chǎn)生器2023/1/353密鑰產(chǎn)生器2022/12/2953乘積變換它是DES算法的核心部分。將經(jīng)過(guò)IP置換后的數(shù)據(jù)分成32bit的左右兩組,在迭代過(guò)程中彼此左右交換位置。每次迭代時(shí)只對(duì)右邊的32bit進(jìn)行一系列的加密變換,在此輪迭代即將結(jié)束時(shí),把左邊的32bit與右邊得到的32bit逐位模2相加,作為下一輪迭代時(shí)右邊的段,并將原來(lái)右邊未經(jīng)變換的段直接送到左邊的寄存器中作為下一輪迭代時(shí)左邊的段。在每一輪迭代時(shí),右邊的段要經(jīng)過(guò)選擇擴(kuò)展運(yùn)算E、密鑰加密運(yùn)算、選擇壓縮運(yùn)算S、置換運(yùn)算P和左右混合運(yùn)算。2023/1/354乘積變換它是DES算法的核心部分。將經(jīng)過(guò)IP置換后的數(shù)據(jù)分成乘積變換

選擇擴(kuò)展運(yùn)算E。將輸入的32bitRi-1擴(kuò)展成48bit的輸出,令s表示E原輸入數(shù)據(jù)比特的原下標(biāo),則E的輸出是將原下標(biāo)s0或1(mod4)的各比特重復(fù)一次得到的,即對(duì)原第32,1,4,5,8,9,12,13,16,17,20,21,24,25,28,29各位都重復(fù)一次,實(shí)現(xiàn)數(shù)據(jù)擴(kuò)展。將表中數(shù)據(jù)按行讀出得到48bit輸出。

密鑰加密運(yùn)算。將子密鑰產(chǎn)生器輸出的48bit子密鑰ki與選擇擴(kuò)展運(yùn)算E輸出的48bits數(shù)據(jù)按位模2相加。

選擇壓縮運(yùn)算S。將前面送來(lái)的48bit數(shù)據(jù)自左至右分成8組,每組為6bit。而后并行送入8個(gè)S一盒,每個(gè)S盒為一非線性代換網(wǎng)絡(luò),有4個(gè)輸出,運(yùn)算S的框圖在圖4-4-6中給出。

p.186

圖4-4-6選擇壓縮運(yùn)算S

置換運(yùn)算P。對(duì)S1至S8盒輸出的32bit數(shù)據(jù)進(jìn)行坐標(biāo)置換,如圖4-4-7所示。置換P輸出的32bit數(shù)據(jù)與左邊32bit即Ri-1逐位模2相加,所得到的32bit作為下一輪迭代用的右邊的數(shù)字段。并將Ri-1并行送到左邊的寄存器,作為下一輪迭代用的左邊的數(shù)字段。子密鑰產(chǎn)生器。將64bit初始密鑰經(jīng)過(guò)置換選擇PC1、循環(huán)移位置換、置換選擇PC2給出每次迭代加密用的子密鑰ki,參看圖4-4-8。在64bit初始密鑰中有8位為校驗(yàn)位,其位置號(hào)為8、16、32、48、56和64。其余56位為有效位,用于子密鑰計(jì)算。將這56位送入置換選擇PC1,參看圖4-4-9。經(jīng)過(guò)坐標(biāo)置換后分成兩組,每級(jí)為28bit,分別送入C寄存器和D寄存器中。在各次迭代中,C和D寄存器分別將存數(shù)進(jìn)行左循環(huán)移位置換,移位次數(shù)在表4-4-2中給出。每次移位后,將C和D寄存器原存數(shù)送給置換選擇PC2,見(jiàn)圖4-4-10。置換選擇PC2將C中第9、18、22、25位和D中第7、9、15、26位刪去,并將其余數(shù)字置換位置后送出48bit數(shù)字作為第i次迭代時(shí)所用的子密鑰ki。p.186p.186

圖4-4-7置換運(yùn)算P

圖4-4-8子密鑰產(chǎn)生器框圖表4-4-2移位次數(shù)表第i次迭代12345678910111213141516循環(huán)左移次數(shù)1122222212222221

p.187

圖4-4-9置換選擇PC1

至此,我們已將DES算法的基本構(gòu)成作了介紹,加密過(guò)程可歸結(jié)如下:令I(lǐng)P表示初始置換,KS表示密鑰運(yùn)算,i為迭代次數(shù)變量,KEY為64bit密鑰,f為加密函數(shù),表示逐位模2求和。2023/1/355乘積變換選擇擴(kuò)展運(yùn)算E。將輸入的32bitRi-1擴(kuò)選擇壓縮運(yùn)算S

6bit選擇函數(shù)組4bit

48bit寄存器32bit寄存器S1S2S3S4S5S6S7S82023/1/356選擇壓縮運(yùn)算S48bit寄存器32bit寄存器S乘積變換

置換運(yùn)算P。對(duì)S1至S8盒輸出的32bit數(shù)據(jù)進(jìn)行坐標(biāo)置換,置換P輸出的32bit數(shù)據(jù)與左邊32bit即Ri-1逐位模2相加,所得到的32bit作為下一輪迭代用的右邊的數(shù)字段。并將Ri-1并行送到左邊的寄存器,作為下一輪迭代用的左邊的數(shù)字段。

子密鑰產(chǎn)生器。將64bit初始密鑰經(jīng)過(guò)置換選擇PC1、循環(huán)移位置換、置換選擇PC2給出每次迭代加密用的子密鑰ki,2023/1/357乘積變換置換運(yùn)算P。對(duì)S1至S8盒輸出的32bit數(shù)據(jù)

子密鑰產(chǎn)生器框圖

密鑰(64bit)置換選擇1,PC1置換選擇2,PC2

Ci(28bit)

Di(28bit)循環(huán)左移ti+1bit循環(huán)左移ti+1bit除去第8,16,,64位(8個(gè)校驗(yàn)位)ki2023/1/358

子密鑰產(chǎn)生器框圖密鑰(64bit)DES的安全性互補(bǔ)性。DES算法具有下述性質(zhì)。若明文組x逐位取補(bǔ),密鑰k逐位取補(bǔ),即y=DESk(x),則有這種互補(bǔ)性會(huì)使DES在選擇明文破譯下所需的工作量減半。弱密鑰和半弱密鑰。DES算法在每次迭代時(shí)都有一個(gè)子密鑰供加密用。如果給定初始密鑰k,各輪的子密鑰都相同,即有k1=k2=…=k16就稱給定密鑰k為弱密鑰(Weakkey)。2023/1/359DES的安全性互補(bǔ)性。DES算法具有下述性質(zhì)。若明文組x逐位DES的安全性若k為弱密鑰,則有

DESk(DESk(x))=xDESk-1(DESk-1(x))=x即以k對(duì)x加密兩次或解密兩次都可恢復(fù)出明文。其加密運(yùn)算和解密運(yùn)算沒(méi)有區(qū)別。弱密鑰下使DES在選擇明文攻擊下的搜索量減半。如果隨機(jī)地選擇密鑰,弱密鑰所占比例極小,而且稍加注意就不難避開(kāi)。因此,弱密鑰的存在不會(huì)危及DES的安全性。2023/1/360DES的安全性若k為弱密鑰,則有2022/12/2960DES的安全性密文與明文、密文與密鑰的相關(guān)性。

Meyer[1978]詳細(xì)研究了DES的輸入明文與密文及密鑰與密文之間的相關(guān)性。表明每個(gè)密文比特都是所有明文比特和所有密鑰比特的復(fù)合函數(shù),并且指出達(dá)到這一要求所需的迭代次數(shù)至少為5。Konheim[1981]用2檢驗(yàn)證明,迭代8次后輸出和輸入就可認(rèn)為是不相關(guān)的了。2023/1/361DES的安全性密文與明文、密文與密鑰的相關(guān)性。2022/12DES的安全性S盒設(shè)計(jì)。

DES靠S盒實(shí)現(xiàn)非線性變換。密鑰搜索機(jī)。

對(duì)DES安全性批評(píng)意見(jiàn)中,較為一致的看法是DES的密鑰短了些。IBM最初向NBS提交的建議方案采用112bits密鑰,但公布的DES標(biāo)準(zhǔn)采用64bits密鑰。有人認(rèn)為NSA故意限制DES的密鑰長(zhǎng)度。采用窮搜索對(duì)已經(jīng)對(duì)DES構(gòu)成了威脅.2023/1/362DES的安全性S盒設(shè)計(jì)。2022/12/2962二重DES用DES進(jìn)行兩次加密,但這是否就意味著兩重DES加密的強(qiáng)度等價(jià)于112bit密鑰的密碼的強(qiáng)度?答案是否定的。

中途相遇攻擊法(Meet-in-the-MiddleAttack)由Diffie和Hellman[1977]最早提出,可以降低搜索量其基本想法如下。若有明文密文對(duì)(xi,yi)滿足

yi=Ek2[Ek1[xi]]則可得z=Ek1[xi]=Dk2[yi]

2023/1/363二重DES用DES進(jìn)行兩次加密,但這是否就意味著兩二重DES

圖4-14-1中途相遇攻擊示意圖

zEEDDxiyixizyi

k1

k1k2k22023/1/364二重DESzEEDDxiyixizyik1k1k2k22中途相遇攻擊給定一已知明密文對(duì)(x1,y1),可按下述方法攻擊。以密鑰k1的所有256個(gè)可能的取值對(duì)此明文x1加密,并將密文z存儲(chǔ)在一個(gè)表中;從所有可能的256個(gè)密鑰k2中依任意次序選出一個(gè)對(duì)給定的密文y1解密,并將每次解密結(jié)果z在上述表中查找相匹配的值。一旦找到,則可確定出兩個(gè)密鑰k1和k2;以此對(duì)密鑰k1和k2對(duì)另一已知明文密文對(duì)(x2,y2)中的明文x2進(jìn)行加密,如果能得出相應(yīng)的密文y2就可確定k1和k2是所要找的密鑰。2023/1/365中途相遇攻擊給定一已知明密文對(duì)(x1,y1),可按下述方法攻中途相遇攻擊對(duì)于給定明文x,以兩重DES加密將有264個(gè)可能的密文??赡艿拿荑€數(shù)為2112個(gè)。所以,在給定明文下,將有2112/264=248個(gè)密鑰能產(chǎn)生給定的密文。用另一對(duì)64bits明文密文對(duì)進(jìn)行檢驗(yàn),就使虛報(bào)率降為248-64=2-16。這一攻擊法所需的存儲(chǔ)量為256×8Byte,最大試驗(yàn)的加密次數(shù)2×256=257。這說(shuō)明破譯雙重DES的難度為257量級(jí)。2023/1/366中途相遇攻擊對(duì)于給定明文x,以兩重DES加密將有264個(gè)可能三重DES加密加密:y=Ek1[Dk2[Ek1[x]]]解密:x=Dk1[Ek2[Dk1[y]]]稱其為加密-解密-加密方案,簡(jiǎn)記為EDE(encrypt-decrypt-encrypt)。此方案已在ANSIX9.17和ISO8732標(biāo)準(zhǔn)中采用,并在保密增強(qiáng)郵遞(PEM)系統(tǒng)中得到利用。破譯它的窮舉密鑰搜索量為21125×1035量級(jí),而用差分分析破譯也要超過(guò)1052量級(jí)。此方案仍有足夠的安全性。2023/1/367三重DES加密加密:y=Ek1[Dk2[Ek1[x]]]2四、AES2023/1/368四、AES2022/12/2968AES提出1997年1月,美國(guó)NIST向全世界密碼學(xué)界發(fā)出征集21世紀(jì)高級(jí)加密標(biāo)準(zhǔn)(AES——AdvancedEncryptionStandard)算法的公告,并成立了AES標(biāo)準(zhǔn)工作研究室,1997年4月15日的例會(huì)制定了對(duì)AES的評(píng)估標(biāo)準(zhǔn)。

2023/1/369AES提出1997年1月,美國(guó)NIST向全世AES的要求(1)AES是公開(kāi)的;(2)AES為單鑰體制分組密碼;(3)AES的密鑰長(zhǎng)度可變,可按需要增大;(4)AES適于用軟件和硬件實(shí)現(xiàn);(5)AES可以自由地使用,或按符合美國(guó)國(guó)家標(biāo)準(zhǔn)(ANST)策略的條件使用;2023/1/370AES的要求(1)AES是公開(kāi)的;2022/12/2970算法衡量條件滿足以上要求的AES算法,需按下述條件判斷優(yōu)劣a.安全性b.計(jì)算效率c.內(nèi)存要求d.使用簡(jiǎn)便性e.靈活性。2023/1/371算法衡量條件滿足以上要求的AES算法,需按下述條件判斷優(yōu)劣2AES的評(píng)審1998年4月15日全面征集AES算法的工作結(jié)束。1998年8月20日舉行了首屆AES討論會(huì),對(duì)涉及14個(gè)國(guó)家的密碼學(xué)家所提出的候選AES算法進(jìn)行了評(píng)估和測(cè)試,初選并公布了15個(gè)被選方案,供大家公開(kāi)討論。CAST-256,RC-6,CRYPTON-128,DEAL-128,F(xiàn)ROG,DFC,LOKI-97,MAGENTA,MARS,HPC,RIJNDAEL,SAFER+,SERPENT,E-2,TWOFISH。這些算法設(shè)計(jì)思想新穎,技術(shù)水平先進(jìn),算法的強(qiáng)度都超過(guò)3-DES,實(shí)現(xiàn)速度快于3-DES。

2023/1/372AES的評(píng)審1998年4月15日全面征集AES算法的工作結(jié)AES的評(píng)審1999年8月9日NIST宣布第二輪篩選出的5個(gè)候選算法為:

MARS(C.Burwick等,IBM),RC6TM(R.Rivest等,RSALab.),RIJNDEAL(J.Daemen,比),SERPENT(R.Anderson等,英、以、挪威),TWOFISH(B.Schiener)。2000年10月2日,NIST宣布Rijndael作為新的AES2023/1/373AES的評(píng)審1999年8月9日NIST宣布第二輪篩選出的5個(gè)AES算法設(shè)計(jì)思想抵抗所有已知的攻擊;在多個(gè)平臺(tái)上速度快,編碼緊湊;設(shè)計(jì)簡(jiǎn)單。Rijndael沒(méi)有采用Feistel結(jié)構(gòu),輪函數(shù)由3個(gè)不同的可逆均勻變換構(gòu)成的,稱為3個(gè)層均勻變換是指狀態(tài)的每個(gè)bit都用類似的方法處理2023/1/374AES算法設(shè)計(jì)思想抵抗所有已知的攻擊;2022/12/297輪函數(shù)的3層線性混合層確保多輪之上的高度擴(kuò)散;非線性層將具有最優(yōu)的“最壞情況非線性特性”的S盒并行使用;密鑰加層單輪子密鑰簡(jiǎn)單的異或到中間狀態(tài)上,實(shí)現(xiàn)一次性掩蓋。2023/1/375輪函數(shù)的3層線性混合層2022/12/2975算法說(shuō)明分組和密鑰長(zhǎng)度可變,各自可獨(dú)立指定為128、192、256比特。狀態(tài)算法中間的結(jié)果也需要分組,稱之為狀態(tài),狀態(tài)可以用以字節(jié)為元素的矩陣陣列表示,該陣列有4行,列數(shù)Nb為分組長(zhǎng)度除32種子密鑰以字節(jié)為元素的矩陣陣列描述,陣列為4行,列數(shù)Nk為密鑰長(zhǎng)度除322023/1/376算法說(shuō)明分組和密鑰長(zhǎng)度可變,各自可獨(dú)立指定為128、192、算法說(shuō)明算法的輸入、輸出和種子密鑰可看成字節(jié)組成的一維數(shù)組。下標(biāo)范圍輸入輸出:0-4Nb-1,種子密鑰:0-4Nk-12023/1/377算法說(shuō)明算法的輸入、輸出和種子密鑰可看成字節(jié)組成的一維數(shù)組。Nb=6和Nk=4的狀態(tài)密鑰陣列按此順序放入和讀出按此順序放入2023/1/378Nb=6和Nk=4的狀態(tài)密鑰陣列按此順序放入和讀出按此順序放分組和陣列中元素對(duì)應(yīng)關(guān)系分組下標(biāo)n陣列位置(i,j)i=nmod4,j=[n/4];n=i+4j輪數(shù)Nr與Nb和Nk對(duì)應(yīng)關(guān)系Nb=4Nb=6Nb=8Nk=4101214Nk=6121214Nk=81414142023/1/379分組和陣列中元素對(duì)應(yīng)關(guān)系分組下標(biāo)nNb=4Nb=6Nb=8N輪函數(shù)字節(jié)代換行移位列混合密鑰加2023/1/380輪函數(shù)字節(jié)代換2022/12/2980字節(jié)代換非線性代換,獨(dú)立地對(duì)狀態(tài)的每個(gè)字節(jié)進(jìn)行,并且代換表(S盒)可逆,記為ByteSub(State),分兩步將字節(jié)作為GF(28)上的元素映射到自己的逆元將字節(jié)做如下的GF(2)上變換2023/1/381字節(jié)代換非線性代換,獨(dú)立地對(duì)狀態(tài)的每個(gè)字節(jié)進(jìn)行,并且代換表(字節(jié)代換2023/1/382字節(jié)代換2022/12/2982行移位將狀態(tài)陣列的各行進(jìn)行循環(huán)移位,不同行的移位量不同0行:不動(dòng)1行:循環(huán)左移C1字節(jié)2行:循環(huán)左移C2字節(jié)3行:循環(huán)左移C3字節(jié)記為:ShiftRow(State)2023/1/383行移位將狀態(tài)陣列的各行進(jìn)行循環(huán)移位,不同行的移位量不同202行移位移位量與分組長(zhǎng)度的關(guān)系NbC1C2C34123612381342023/1/384行移位移位量與分組長(zhǎng)度的關(guān)系NbC1C2C341236123列混合將每列視為GF(28)上多項(xiàng)式,與固定的多項(xiàng)式c(x)進(jìn)行模x4+1乘法,要求c(x)模x4+1可逆。表示為MixColumn(State)2023/1/385列混合將每列視為GF(28)上多項(xiàng)式,與固定的多項(xiàng)式c(x)密鑰加輪密鑰與狀態(tài)進(jìn)行逐比特異或。輪密鑰由種子密鑰通過(guò)密鑰編排算法得到輪密鑰長(zhǎng)度與分組密鑰長(zhǎng)度相同表示為AddRoundKey(State,RoundKey)2023/1/386密鑰加輪密鑰與狀態(tài)進(jìn)行逐比特異或。2022/12/2986輪函數(shù)的偽C代碼Round(State,RoundKey){ByteSub(State);ShiftRow(State);MixColumn(State);AddRoundKey(State,Roundkey);}2023/1/387輪函數(shù)的偽C代碼Round(State,RoundKey)2結(jié)尾輪的輪函數(shù)Round(State,RoundKey){ByteSub(State);ShiftRow(State);AddRoundKey(State,Roundkey);}2023/1/388結(jié)尾輪的輪函數(shù)Round(State,RoundKey)20第四章分組密碼一、分組密碼概述二、分組密碼運(yùn)行模式三、DES四、AES五、分組密碼的分析2023/1/389第四章分組密碼一、分組密碼概述2022/12/291一、分組密碼概述2023/1/390一、分組密碼概述2022/12/292分組密碼概述分組密碼是許多系統(tǒng)安全的一個(gè)重要組成部分??捎糜跇?gòu)造擬隨機(jī)數(shù)生成器流密碼消息認(rèn)證碼(MAC)和雜湊函數(shù)消息認(rèn)證技術(shù)、數(shù)據(jù)完整性機(jī)構(gòu)、實(shí)體認(rèn)證協(xié)議以及單鑰數(shù)字簽字體制的核心組成部分。

2023/1/391分組密碼概述分組密碼是許多系統(tǒng)安全的一個(gè)重要組成部分??捎糜趹?yīng)用中對(duì)于分組碼的要求安全性運(yùn)行速度存儲(chǔ)量(程序的長(zhǎng)度、數(shù)據(jù)分組長(zhǎng)度、高速緩存大小)實(shí)現(xiàn)平臺(tái)(硬、軟件、芯片)運(yùn)行模式2023/1/392應(yīng)用中對(duì)于分組碼的要求安全性2022/12/294分組密碼概述明文序列x1,x2,…,xi,…加密函數(shù)E:Vn×KVn

這種密碼實(shí)質(zhì)上是字長(zhǎng)為m的數(shù)字序列的代換密碼。

解密算法加密算法密鑰k=(k0,k1,…,kt-1)密鑰k=(k0,k1,…,kt-1)明文x=(x0,x1,…,xm-1)明文x=(x0,x1,…,xm-1)密文x=(y0,y1,…,ym-1)2023/1/393分組密碼概述明文序列x1,x2,…,xi,…解

分組密碼概述通常取n=m。若n>m,則為有數(shù)據(jù)擴(kuò)展的分組密碼。若n<m,則為有數(shù)據(jù)壓縮的分組密碼。2023/1/394

分組密碼概述通常取n=m。2022/12/296分組密碼設(shè)計(jì)問(wèn)題

分組密碼的設(shè)計(jì)問(wèn)題在于找到一種算法,能在密鑰控制下從一個(gè)足夠大且足夠好的置換子集中,簡(jiǎn)單而迅速地選出一個(gè)置換,用來(lái)對(duì)當(dāng)前輸入的明文的數(shù)字組進(jìn)行加密變換。2023/1/395分組密碼設(shè)計(jì)問(wèn)題分組密碼的設(shè)計(jì)問(wèn)題在于找到分組密碼算法應(yīng)滿足的要求分組長(zhǎng)度n要足夠大:防止明文窮舉攻擊法奏效。密鑰量要足夠大:盡可能消除弱密鑰并使所有密鑰同等地好,以防止密鑰窮舉攻擊奏效。由密鑰確定置換的算法要足夠復(fù)雜:充分實(shí)現(xiàn)明文與密鑰的擴(kuò)散和混淆,沒(méi)有簡(jiǎn)單的關(guān)系可循,要能抗擊各種已知的攻擊。2023/1/396分組密碼算法應(yīng)滿足的要求分組長(zhǎng)度n要足夠大:2022/12/分組密碼算法應(yīng)滿足的要求加密和解密運(yùn)算簡(jiǎn)單:

易于軟件和硬件高速實(shí)現(xiàn)。數(shù)據(jù)擴(kuò)展:

一般無(wú)數(shù)據(jù)擴(kuò)展,在采用同態(tài)置換和隨機(jī)化加密技術(shù)時(shí)可引入數(shù)據(jù)擴(kuò)展。差錯(cuò)傳播盡可能地小。

2023/1/397分組密碼算法應(yīng)滿足的要求加密和解密運(yùn)算簡(jiǎn)單:2022/12/代換網(wǎng)絡(luò)代換是輸入集A到輸出A’上的雙射變換:

fk:AA'

式中,k是控制輸入變量,在密碼學(xué)中則為密鑰。實(shí)現(xiàn)代換fk的網(wǎng)絡(luò)稱作代換網(wǎng)絡(luò)。雙射條件保證在給定k下可從密文惟一地恢復(fù)出原明文。2023/1/398代換網(wǎng)絡(luò)代換是輸入集A到輸出A’上的雙射變換:2022/12代換網(wǎng)絡(luò)代換fk的集合:

S={fkkK}K是密鑰空間。如果網(wǎng)絡(luò)可以實(shí)現(xiàn)所有可能的2n!個(gè)代換,則稱其為全代換網(wǎng)絡(luò)。全代換網(wǎng)絡(luò)密鑰個(gè)數(shù)必須滿足條件:#{k}2n!2023/1/399代換網(wǎng)絡(luò)代換fk的集合:2022/12/2911代換網(wǎng)絡(luò)密碼設(shè)計(jì)中需要先定義代換集S,而后還需定義解密變換集,即逆代換網(wǎng)絡(luò)S-1,它以密文y作為輸入矢量,其輸出為恢復(fù)的明文矢量x。要實(shí)現(xiàn)全代換網(wǎng)絡(luò)并不容易。因此實(shí)用中常常利用一些簡(jiǎn)單的基本代換,通過(guò)組合實(shí)現(xiàn)較復(fù)雜的、元素個(gè)數(shù)較多的代換集。實(shí)用密碼體制的集合S中的元素個(gè)數(shù)都遠(yuǎn)小于2n!。2023/1/3100代換網(wǎng)絡(luò)密碼設(shè)計(jì)中需要先定義代換集S,而后還需定義解密變換集代換盒(S盒)在密碼設(shè)計(jì)中,可選n=rn0,其中r和n0都為正整數(shù),將設(shè)計(jì)n個(gè)變量的代換網(wǎng)絡(luò)化為設(shè)計(jì)r個(gè)較小的子代換網(wǎng)絡(luò),而每個(gè)子代換網(wǎng)絡(luò)只有n0個(gè)輸入變量。稱每個(gè)子代換網(wǎng)絡(luò)為代換盒(SubstitutionBox)

S盒x5

x4

x3

x2

x1

x0y3

y2

y1

y0DES的S盒2023/1/3101代換盒(S盒)在密碼設(shè)計(jì)中,可選n=rDES的S1-盒的輸入和輸出關(guān)系x5x0x5x4x3x2x1x010101100列號(hào)0123456789101112131415行號(hào)01441312151183106125907101574142131106121195382411481362111512973105031512824917511214100613

(y3

,

y2,

y1

,y0)=(0,0,1,0)2023/1/3102DES的S1-盒的輸入和輸出關(guān)系x5x0擴(kuò)散和混淆擴(kuò)散將明文的統(tǒng)計(jì)特性散布到密文中。實(shí)現(xiàn)的方式是使明文的每一位影響密文中多位的值。2023/1/3103擴(kuò)散和混淆擴(kuò)散將明文的統(tǒng)計(jì)特性散布到密文中。實(shí)現(xiàn)的方式是使明S盒的設(shè)計(jì)準(zhǔn)則迄今為止,有關(guān)方面未曾完全公開(kāi)有關(guān)DES的S盒的設(shè)計(jì)準(zhǔn)則。Branstead等曾披露過(guò)下述準(zhǔn)則:P1S盒的輸出都不是其輸入的線性或仿射函數(shù)。P2改變S盒的一個(gè)輸入比特,其輸出至少有兩比特產(chǎn)生變化,即近一半產(chǎn)生變化。P3當(dāng)S盒的任一輸入位保持不變,其它5位輸入變化時(shí)(共有25=32種情況),輸出數(shù)字中的0和1的總數(shù)近于相等。這三點(diǎn)使DES的S盒能夠?qū)崿F(xiàn)較好的混淆。2023/1/3104S盒的設(shè)計(jì)準(zhǔn)則迄今為止,有關(guān)方面未曾完全公S盒的組合問(wèn)題:如何將幾個(gè)S

溫馨提示

  • 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)論