密碼學(xué)教程 課件全套 毛明 -1-古典密碼 -6-密碼協(xié)議_第1頁
密碼學(xué)教程 課件全套 毛明 -1-古典密碼 -6-密碼協(xié)議_第2頁
密碼學(xué)教程 課件全套 毛明 -1-古典密碼 -6-密碼協(xié)議_第3頁
密碼學(xué)教程 課件全套 毛明 -1-古典密碼 -6-密碼協(xié)議_第4頁
密碼學(xué)教程 課件全套 毛明 -1-古典密碼 -6-密碼協(xié)議_第5頁
已閱讀5頁,還剩417頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

密碼學(xué)

引子什么是密碼學(xué)?(與其他課程的關(guān)系?)加解密古典密碼對稱密碼序列密碼分組密碼利用關(guān)于有限的整數(shù)的數(shù)學(xué)認(rèn)證對稱密碼如何建立共享密鑰?公鑰加密公鑰密碼數(shù)字簽名Hash函數(shù)身份認(rèn)證協(xié)議利用更多的數(shù)學(xué),主要是:數(shù)論網(wǎng)絡(luò)化的環(huán)境、更一般/復(fù)雜的功能:安全多方計算密碼協(xié)議密鑰管理協(xié)議身份認(rèn)證協(xié)議秘密共享協(xié)議安全多方計算協(xié)議

課程安排48

學(xué)時理論;

9

學(xué)時實驗;----共57學(xué)時

第一章

古典密碼6學(xué)時

1.1置換密碼與代替密碼1.2統(tǒng)計攻擊1.3一次一密與迭代密碼

1.4相關(guān)數(shù)學(xué)概念和算法

第二章

序列密碼

10學(xué)時

2.1概述

2.2線性反饋移位寄存器

2.3

m序列及其性質(zhì)

2.4對偶移位寄存器第三章

分組密碼10學(xué)時

3.1概述

3.2DES算法

3.3AES算法3.4SM4算法3.5分組密碼的工作模式2.5B-M算法

2.6非線性組合與算法舉例第四章

Hash函數(shù)

6

學(xué)時

4.1概述

4.2SHA-1和SHA-2

4.3SHA-3

4.4我國商密標(biāo)準(zhǔn)SM3

4.5MAC和認(rèn)證加密

第五章

公鑰密碼

10

學(xué)時

5.1概述

5.2RSA加密方案

5.3ElGamal加密方案

5.4橢圓曲線上加密方案

5.

5數(shù)字簽名

5.6SM2

5.

7*后量子密碼第六章

密碼協(xié)議

6

學(xué)時

6.1概述

6.2密鑰協(xié)商協(xié)議

6.3秘密共享協(xié)議

6.4身份認(rèn)證協(xié)議

6.

5安全多方計算教材:毛明,李夢東主編,《密碼學(xué)教程》,

機(jī)械工業(yè)出版社,2024年。

參考書:A.Menezes等著,胡磊等譯,《應(yīng)用密碼學(xué)手冊》(1996年),電子工業(yè)出版社,2005。D.Stinson著,馮登國譯,《密碼學(xué)原理與實踐》(第二版),電子工業(yè)出版社,2003年。

陳魯生,《現(xiàn)代密碼學(xué)》,科學(xué)出版社,2004年。楊波,《現(xiàn)代密碼學(xué)》,清華大學(xué)出版社,2003??己朔绞剑?/p>

平時成績40%:期末考試60%。平時成績考核方式(按照百分制):

作業(yè)50%:五次作業(yè),每次10分;

實驗30%:三次實驗,每次10分;

其他20%:回答問題等表現(xiàn)情況。第一章古典密碼

1.1置換密碼與代替密碼

1.2統(tǒng)計攻擊

1.3一次一密和乘積密碼1.4相關(guān)數(shù)學(xué)概念和算法

密碼技術(shù)源遠(yuǎn)流長:

1.1置換密碼與代替密碼自從有了戰(zhàn)爭,就有了密碼;烽火臺、、、在不安全的信道傳遞保密信息。例題:(置換密碼)柵欄密碼(美國南北戰(zhàn)爭時期):1234567891011atcaegtoorwtaktihtmro3597682111410ceotgotawarkirthmat*to豎寫橫讀atcaegtoorwtaktihtmroceotgotawarkirthmat*to

attackateighttomorrow還可以寫出多行的形式:123456acetmwtkitotagorathmo古希臘的斯巴達(dá)密碼棒:acetmwtkitotagorathmo置換(Permutation):一個有限集合S上的一一對應(yīng)映射。

逆置換:輸出變輸入,按列調(diào)整第一行為自然順序:

30個元素的置換表:

為了安全,置換表一般需要很大;另一方面為了方便記憶和存儲,置換表都有一些規(guī)律;還可以構(gòu)造多個置換表:置換1置換2置換1置換2置換1置換2希臘時代的愷撒密碼,將英文字母移位一個固定的值。

明文字母a

b

c

d

e

f

g

h

i

j

k

l

m密文字母DE

F

G

H

I

J

K

LM

N

O

P明文字母n

o

p

q

r

s

t

u

v

w

x

y

z密文字母Q

R

S

T

U

VW

X

Y

Z

A

B

C例題:(代替密碼)

attackateighttomorrow

DWWDFNDWHLJKWWRPRUURZ明文字母a

b

c

d

e

f

g

h

i

j

k

l

m01

2

3

4

5

6

7

89101112明文字母n

o

p

q

r

s

t

u

v

w

x

y

z13141516171819202122232425

加法密碼:從運算上代替密碼可分為(等):乘法密碼:仿射密碼:

置換(換位)密碼:打亂明文各字母的順序。代替(換元)密碼:將明文字母用密文字母代替;單表古典密碼:始終采用同一個明密對照表的加密;多表古典密碼:

變化使用多個明密對照表的加密。例題:Viginere密碼(多表代替,1523-1596)明文:vigenerecipher密鑰:camelcamelcame--密文:XISIYGRQGTRHQY(見下頁表。把所有移位都列出來。)

杰弗遜“輪子密碼”:

美國總統(tǒng)托馬斯.杰弗遜于1790年左右發(fā)明的一個器

械密碼。這種設(shè)備是后來的機(jī)械和機(jī)電密碼機(jī)的基礎(chǔ)。機(jī)電式密碼:電報和加解密做在一起,即密碼電報;多表代替漢字密碼:每個漢字編寫為一串十進(jìn)制數(shù)字(密碼本)恩格尼瑪密碼機(jī)

1.2

統(tǒng)計攻擊英文單個字母的統(tǒng)計特性單表代替不能掩蓋統(tǒng)計特性:

還有字母串的分布:2字母串分布、3字母串分布

attackateighttomorrow

DWWDFNDWHLJKWWRPRUURZ針對單表代替的攻擊:(1)截獲一定數(shù)量密文,統(tǒng)計各個字母出現(xiàn)頻次;(2)將出現(xiàn)頻次高的密文字母,猜測為明文字母

d、t、a等;(3)猜測其他字母;

(4)反復(fù)驗證。

例題:

任選兩個字母,相同的概率。

粗糙度假設(shè)-檢驗攻擊方(Adversary)防守方(Defender)

防守強(qiáng)度攻擊強(qiáng)度

密碼學(xué)(Cryptology)包括:

密碼編碼學(xué)(Cryptography)----設(shè)計

密碼分析學(xué)(Cryptanalysis)----破譯

1.3一次一密和迭代密碼Vernam密碼:

盡可能增加表的長度(很長的密鑰流),

而加密就是簡單加法,解密就是減法。(1)將明文轉(zhuǎn)為二進(jìn)制串;

(2)產(chǎn)生與明文一樣長的隨機(jī)二進(jìn)制串(密鑰);

(3)明文與密鑰逐比特異或(模2加);

(4)解密時密文再與同樣的密鑰逐比特異或。序列密碼的萌芽乘積密碼:

將置換與代替結(jié)合使用,并進(jìn)行多輪。

S盒:代替(substitute);

P盒:置換(Permutation)分組密碼的萌芽公開1949年,香農(nóng)發(fā)表:

“CommunicationTheoryofSecrecySystems”,

定義理論安全性,提出擴(kuò)散和混淆的乘積方法。

信源信道信宿干擾通信的任務(wù)是把信息有效地、可靠地傳遞到信宿。

手段是編碼(coding)。

平均每個符號的信息量

X是信源;

Y是信宿

含義:損失熵等于明文熵,

信宿端從密文得不到明文的任何信息;

明文信息“皆損失在信道中”;

(皆被加密過程所掩蓋。)

含義:密鑰熵(不確定性)大于等于明文熵,

密鑰信息要能夠掩蓋住明文信息;

熵越大,用于表示信息的符號長度越長,

即密鑰長度要大于等于明文長度。密碼體制(模型):明文空間M:所有明文構(gòu)成的集合密文空間C:所有密文構(gòu)成的集合密鑰空間K:所有密鑰構(gòu)成的集合加密算法Ek:由k確定的加密算法解密算法Dk:由k確定的解密算法

從空間中隨機(jī)選取OneTimePad:一次一密(1)密鑰與明文一樣長;(2)密鑰必須是真隨機(jī)的;(3)密鑰只能對一個密文進(jìn)行加密。

可證明了這一體制是無條件安全的。但只具有理論價值,實際中:(1)難以做到密鑰與明文一樣長;

(3)真隨機(jī)的密鑰難以實現(xiàn);

(4)每次更換密鑰,效率太低。發(fā)展為現(xiàn)代序列密碼可通過以下手段達(dá)到計算安全性:擴(kuò)散(diffusion):明文與密文的關(guān)系盡量混亂;混淆(confusion):密鑰與密文之間的關(guān)系盡量混亂。理論安全:不泄漏任何信息,不依賴敵手的計算能力。計算安全:計算上困難的,依賴于敵手的計算能力。實際中:置換(P盒)實現(xiàn)擴(kuò)散;代替(S盒)實現(xiàn)混淆。

二者乘積并多次迭代可達(dá)到足夠的安全性。發(fā)展為現(xiàn)代分組密碼攻擊=計算困難問題1977年,數(shù)據(jù)加密標(biāo)準(zhǔn)DES算法被公布;

DES----DataEncryptionStandard

乘積密碼的典范;現(xiàn)代分組密碼的第一標(biāo)準(zhǔn)。加解密算法公開保密的只有密鑰處理二進(jìn)制數(shù)據(jù)1976年,Diffe和Hellman提出公鑰密碼思想;

解決對稱密碼中建立和管理密鑰的問題;

加密用公鑰,解密用私鑰。私鑰還可以數(shù)字簽名。箱子變郵筒密碼學(xué)新方向!密碼學(xué)加密:實現(xiàn)保密性認(rèn)證:實現(xiàn)認(rèn)證性1978年,出現(xiàn)第一個公鑰加密算法:RSA。因此:加密算法分為對稱加密、非對稱加密;對稱加密又分序列密碼和分組密碼兩種類型;認(rèn)證技術(shù)主要有:數(shù)字簽名、Hash函數(shù)和認(rèn)證協(xié)議。構(gòu)成密碼學(xué)的主要(基本)內(nèi)容!計算機(jī)內(nèi)部處理的是二進(jìn)制串:

二進(jìn)制串(0和1組成的串)不僅可以表示數(shù),

還可以表示各種符號等其他數(shù)據(jù)。

比特(bit:binarydigit):

每位二進(jìn)制串中的符號稱為1比特(bit);

不論是1還是0,都算1比特。(信息的單位)

ASCII碼(American

Standard

CodeofInformationInterchange):

128個常用符號編碼為128個整數(shù)(對應(yīng)二進(jìn)制串),

擴(kuò)展的ASCII碼表示另外附加128個符號。將鍵盤符號轉(zhuǎn)變?yōu)槎M(jìn)制碼

編碼譯碼加密解密認(rèn)證認(rèn)證信源信道信宿噪聲網(wǎng)絡(luò)(安全)信息處理系統(tǒng):從功能上看:

從內(nèi)容上看:

保密性

認(rèn)證性

安全多方計算

對稱密碼

公鑰密碼雜湊函數(shù)

密碼協(xié)議安全性定義、設(shè)計(編碼)、實現(xiàn)和分析(攻擊)(含身份認(rèn)證)可視為三個發(fā)展階段模運算的性質(zhì):

同余運算的性質(zhì):

1.4相關(guān)數(shù)學(xué)概念和算法加法群:(additivegroup)集合上定義一種運算(+),有單位元,都有逆元。

二種運算!

+0100111001000101

+01234001234112340223401334012440123×123411234224133314244321都有加法逆元即負(fù)元

+012345001234511234502234501334501244501235501234×12345112345224024330303442042554321整數(shù)集合模素數(shù)p構(gòu)成剩余類域Zp;整數(shù)集合模合數(shù)n構(gòu)成剩余類環(huán)Zn。有限域有限環(huán)無限的代數(shù)結(jié)構(gòu):Z:整數(shù)環(huán);Q:有理數(shù)域;

R:實數(shù)域;C:復(fù)數(shù)域。

兩種運算都構(gòu)成群(并有分配律)的就是域例題:

商輾轉(zhuǎn)剩余361241221200結(jié)論:公因子是每個余數(shù)的因子;

每個余數(shù)都可以寫成輸入二數(shù)的線性組合。商輾轉(zhuǎn)剩余268321211剩余表示為36和24的和36的系數(shù)24的系數(shù)1236-1*241-1024-2*12=24-2*(36-1*24)=(-2)*36+3*24-23剩余表示為26和3的和26的系數(shù)3的系數(shù)226-8*31-813-1*2=3-1*(26-8*3)=(-1)*26+9*3-19

求乘法逆:擴(kuò)展的歐幾里得算法。輾轉(zhuǎn)26108301121-81-19

古典密碼中的Hill

密碼:如何計算逆矩陣?利用初等行變換利用伴隨矩陣注意是mod26運算!

例題:維數(shù)可以增加可采用下面模逆算法:i026101211012241-2313-25413-7

習(xí)題一:(可選擇教材中習(xí)題。)第一章古典密碼

至此結(jié)束!第二章序列密碼

2.1概述

2.2線性反饋移位寄存器

2.3m序列及其性質(zhì)2.4對偶移位寄存器2.5

B-M算法2.6非線性組合與算法舉例

2.1概述序列密碼將明文編碼為比特串:

同時產(chǎn)生與明文相同長度的密鑰流:

或者GF(p)效仿一次一密加密方式:

(1)密鑰和明文長度相同;

(2)每次加密采用不同的密鑰;

(3)密鑰是隨機(jī)的。古典密碼中的

Vernam密碼(1917年):

但密鑰如何實現(xiàn)?偽隨機(jī)數(shù)發(fā)生器:產(chǎn)生性能接近隨機(jī)的二進(jìn)制序列。種子密鑰序列密碼主要任務(wù):設(shè)計安全的偽隨機(jī)密鑰產(chǎn)生器。對KG(KeyGenerator)的基本要求:(1)密鑰量大;(2)極大周期;(3)理想分布;(4)非線性度大;(5)推測K是計算不可行的。KG非線性移位寄存器(NFSR:Non-linearFeedbackShiftRegister)

----M序列(周期最大)線性反饋移位寄存器(LFSR:Linear

FeedbackShiftRegister)

----m序列(周期最大)線性移位寄存器的非線性組合(實用的)序列密碼與分組密碼的比較:(1)序列密碼:

處理速度快,實時性好;

適用于軍事、外交等保密系統(tǒng)。

但是適應(yīng)性差,需要密鑰同步。(2)分組密碼:

不需密鑰同步,較強(qiáng)的適應(yīng)性;適宜作為加密標(biāo)準(zhǔn)。

但是加密速度稍慢,錯誤易擴(kuò)散和傳播。

(但比公鑰密碼快得多,軟件上約100倍。)2.2線性反饋移位寄存器1.反饋移位寄存器KG!

例題-1:初始狀態(tài):s0=101f10110111111011011011移位寄存器的一個狀態(tài)(開始時為初始狀態(tài)):反饋函數(shù)

反饋寄存器的狀態(tài)序列:必然是周期的!因為狀態(tài)有限,進(jìn)入一個相同狀態(tài)后則重復(fù)。當(dāng)觸發(fā)脈沖到來時,寄存器狀態(tài)移位更新為一個新狀態(tài)。

例題-1的輸出序列:10111011…..完整的狀態(tài)圖:如何使?fàn)顟B(tài)都在一個圈里?這樣周期最大。2.線性移位寄存器-LFSR(Fibonacci-LFSRs)反饋函數(shù)為線性函數(shù)(否則為非線性反饋移位寄存器)

稱為結(jié)構(gòu)常數(shù)。

結(jié)構(gòu)常數(shù)反序是為了將來有理表示方便(不必求互反多項式)。例題-2:

這是一個4階線性反饋移位寄存器:4-LFSR。

布爾函數(shù)!f110001000011000110001101111010110100001000

初始狀態(tài)記為:

最重要的關(guān)系!結(jié)構(gòu)常數(shù)不動

可以劃出相應(yīng)的狀態(tài)轉(zhuǎn)移圖。

圖形和公式是對應(yīng)的

上例中:反饋函數(shù)為,

初始狀態(tài):(1000),輸出序列:(1000110)

,周期為7初始狀態(tài):(0010),輸出序列:(0010111)

,周期為7

初始狀態(tài):(0110),輸出序列:(0110100)

,周期為7

第三個初態(tài)!第一個初態(tài)!第二個初態(tài)!

反饋函數(shù)為:初始狀態(tài):(1000),輸出序列:(100010011010111)

,周期為

初始狀態(tài):(0110),輸出序列:(011010111100010)

,周期為

的序列稱為n階m序列。另一:f110001000010000100001001110011000110001101111010f111010110101001011110111001111111110111100111000110001續(xù)前:第二個初態(tài)!第一個初態(tài)!只要進(jìn)入,就得循環(huán)!

結(jié)論:(1)n-LFSR的結(jié)構(gòu)由其結(jié)構(gòu)常數(shù)唯一確定;(2)n-LFSR的結(jié)構(gòu)常數(shù)與反饋函數(shù)互相唯一確定;(3)n-LFSR序列由其結(jié)構(gòu)常數(shù)和初態(tài)唯一確定;(4)一個n-LFSR可以產(chǎn)生個不同序列;(5)一個n-LFSR的序列的最大周期是。關(guān)鍵問題:如何產(chǎn)生m序列?LFSR的聯(lián)接多項式為本原多項式。f(x)稱為線性移位寄存器的聯(lián)接多項式或生成多項式。

3.LFSR的有理表示

a(x)稱為序列的形式冪級數(shù)或生成函數(shù)。--S(f(x))LFSR的有理表示:其中g(shù)(x)是次數(shù)小于n的多項式:a(x):表示輸出序列f(x):表示結(jié)構(gòu)常數(shù)g(x):與初態(tài)、結(jié)構(gòu)常數(shù)相關(guān)

序列空間定理-1:n-LFSR有理表示中g(shù)(x)的次數(shù)小于n。證明:因為迭代關(guān)系:

LFSR:g(x)的系數(shù)和結(jié)構(gòu)常數(shù)與初態(tài)都有關(guān)系。DSR

:g(x)的系數(shù)就是初態(tài)。(后面講)

當(dāng)初結(jié)構(gòu)常數(shù)序號與寄存器序號反向,就是為了此處。

另一簡單方法求g(x):

消最低項的長除法可求a(x):2.3、m序列及其性質(zhì)1.如何構(gòu)造m序列例題-4:

設(shè)的有理表示為,求其序列表示。解:通過消最低項的多項式除法,得到:

升冪排列消最低項另一種方法:定理-2:周期為p的序列的(非最簡)有理表示為:證明:

所以:分子多項式的系數(shù)(含常數(shù)項)為一個周期;分母二項式的次數(shù)為周期。

例題-5:求產(chǎn)生序列(100111)∞的最短的LFSR。

多項式的輾轉(zhuǎn)相除法階數(shù)最少!最簡有理表示

任何一個(周期)序列都可以表示為:

此即研究多項式形式的原因

定理-3:當(dāng)f(x)為本原多項式,產(chǎn)生的序列為m序列。

nFeedbackpolynomialPeriod23374155316637127不止一個!是一個本原多項式。初態(tài)為(10101),求序列的表示。例題-6:兩種基本方法:(1)畫出結(jié)構(gòu)圖,進(jìn)行迭代,得到狀態(tài)圖。(2)求出有理表示,進(jìn)行長除法,得到一個周期。(1010111011000111110011010010000)∞設(shè)一個序列的聯(lián)接多項式為

隨機(jī)性如何?m序列的取樣:設(shè)

是Fq上的一個周期序列s

是一個正整數(shù),令:稱為序列的s采樣。定理-4:若是周期為p的m序列,則

2.m序列的偽隨機(jī)性形如的子序列段稱為一個長為k的1游程;形如的子序列段稱為一個長為k的0游程。

(1)分布特性:(2)相關(guān)特性:隨機(jī)性的三個特性:s是序列的長度

(3)游程特性:0游程

證明:將游程數(shù)目轉(zhuǎn)化為狀態(tài)的數(shù)目。

狀態(tài)最終都會出現(xiàn)在序列中!一個周期序列圈m序列特點:每個非零狀態(tài)都出現(xiàn),且只

出現(xiàn)一次!狀態(tài)都在序列中!

序列圈中,長為i的1游程總會體現(xiàn)為:存在以下形式的狀態(tài)(一一對應(yīng)!)在序列圈上數(shù)游程個數(shù),都是從011…10開始。即使在******中也有,以后也會被數(shù)到,沒有遺漏。輸出序列的圈

看序列圖上的狀態(tài),游程最終要顯示在序列圈上。輸出序列的圈所以當(dāng)游程個數(shù)為現(xiàn)在只剩下的游程個數(shù):n長的1游程有1個,

因為在狀態(tài)圈中,有一個全1狀態(tài):111….1;沒有n長的0游程,因為沒有全0狀態(tài);n-1長的0游程有1個;所以共有游程:不可能有n+1的1游程:不會有n-1長的1游程:因為不可能有兩個全1狀態(tài),且相連;因為以下三個狀態(tài)是相連的:(否則全1狀態(tài)不會出現(xiàn)。)且每個狀態(tài)在狀態(tài)圈中,只出現(xiàn)一次;所以011..11與11..110不會連著出現(xiàn)(連著才會出現(xiàn)n-1長的1游程)。m序列特點:一個周期內(nèi),每個非零狀態(tài)都出現(xiàn),且只

出現(xiàn)一次?。?)相關(guān)系數(shù)的證明:

任意5級m序列的周期環(huán)上,有個0,有16個1。

=1111100110’1001000010’1011101100’0……,是由本原多項式產(chǎn)生,所以是5級m序列。其周期中,15個0,16個1。游程總數(shù):長為1的1/0游程:長為2的1/0游程:長為3的1/0游程:長為4的0游程一個,長為5的1游程一個。算游程時首尾相接例題-7:

LFSR(DSR:DualShiftRegisters)DSR2.4對偶移位寄存器LFSR:也稱FibonacciLFSRsDSR:也稱GaloisLFSRs

DSR的特點:DSR也是LFSR,這樣稱呼只是為了區(qū)別開1.DSR的狀態(tài)轉(zhuǎn)換(或稱迭代過程)

例題-8:4-DSR

序列為:(1101000)

開始循環(huán)11000111010011111110000010001000100狀態(tài)不是每位都輸出初態(tài)為(1110)時,序列為(1000110)

相同的聯(lián)接多項式4-LFSR

但是:如果上例的LFSR的初態(tài)是1101,

輸出序列為:(1101000)

與初態(tài)為1000的DSR輸出序列相同。因此相同的結(jié)構(gòu)常數(shù),DSR和LFSR可產(chǎn)生相同序列。2.DSR的有理表示a(x):表示輸出序列f(x):表示結(jié)構(gòu)常數(shù)g(x):表示初態(tài)!DSR也具有有理表示:一方面:利用DSR的遞推公式所以輸出序列為

定理-6:DSR序列的有理表示中:證明:其系數(shù)就是DSR的初態(tài):另一方面:利用消最低項方法有理表示等式的兩邊相同,得證。

由此可得到DSR的設(shè)計思路

例題-9:解:(1)LFSR的結(jié)構(gòu)常數(shù)為(0,1,0,1)

初態(tài)為(0,1,0,0)。(2)DSR的結(jié)構(gòu)常數(shù)為(0,1,0,1),結(jié)構(gòu)圖即

或者:所以DSR和LFSR是等效的。

總結(jié):4.當(dāng)鏈接多項式f(x)為本原多項式時,產(chǎn)生m序列。

2.對于LFSR,g(x)的系數(shù)由初態(tài)和結(jié)構(gòu)常數(shù)確定;

對于DSR,g(x)的系數(shù)即為初態(tài);產(chǎn)生同一序列(具有相同有理表示),LFSR和DSR

的初態(tài)不同;另外:有理表示還可以擴(kuò)展為假分式的情況,例如:

對應(yīng)的LFSR的圖示為:(退化的7-LFSR)

非周期部分的位數(shù)有3位,對應(yīng)的退化寄存器個數(shù)為3。線性復(fù)雜度:生成序列所需最小的LFSR寄存器個數(shù)。本例中,序列的線性復(fù)雜度=4+3。2.5B-M算法線性反饋移位寄存器雖然易于實現(xiàn),但是不安全的,如果知道兩個周期,就能通過B-M算法解出生成多項式。已知階數(shù)B-M算法不需任何前提,求出序列段的線性綜合解:是一種迭代算法:階數(shù)對于n階線性移位寄存器,已知2n序列段,通過解方程組,可以求得對應(yīng)的結(jié)構(gòu)常數(shù)還可用于循環(huán)碼譯碼等。還有Berlekamp算法:用于分解多項式。B-M(Berlekamp–Massey)算法:

迭代型求解序列生成多項式的算法。(且不必事先知道寄存器階數(shù))未知階數(shù)規(guī)定:f(x)=1表示0階線性移位寄存器的聯(lián)接多項式,(長度為n的全零序列由0階線性移位寄存器產(chǎn)生。)

且記計算對于,重復(fù)第二步和第三步N次,即可求出若(a)如果(b)否則,存在(3)若,取逐次試驗聯(lián)接多項式的方法!輸出:<1+x3+x4,4>同一行中最后才算dn!d=1才算m!寫在fn+1的上一行例10:輸入S8=10101111

當(dāng)前結(jié)構(gòu)常數(shù):當(dāng)前狀態(tài)

逐一試驗上題的解釋:(上述過程熟練以后,僅用表格形式做即可?。?/p>

例題-11:輸入:S10=0001101111

注意:

SN是N長的序列,B-M算法僅保證產(chǎn)生這N長序列。如果序列是周期的,例如則需要計算2個周期的序列,才能保證綜合解產(chǎn)生的序列是周期的。序列的線性復(fù)雜度:(可見前面71頁)

產(chǎn)生該序列的最短LFSR的階數(shù)。對于輸入序列,用BM算法得到的f(x)的次數(shù)就是其線性復(fù)雜度。解決線性反饋不安全性有兩種方式:非線性反饋:大M序列線性反饋的非線性綜合非線性反饋移位寄存器:反饋函數(shù)是非線性的布爾函數(shù);但實現(xiàn)和分析上較為復(fù)雜。1.非線性綜合2.6非線性綜合與算法舉例對一個或多個線性移位寄存器進(jìn)行非線性綜合可獲得安全性能良好的非線性序列。有幾類:

非線性綜合:非線性濾波生成器非線性綜合生成器

LFSR2LFSR1鐘控方式:f1f2LFSR1LFSRncz

帶記憶組合生成器

A5序列密碼算法使歐洲GSM標(biāo)準(zhǔn)中規(guī)定的加密算法,用于數(shù)字蜂窩電話加密,現(xiàn)已被基于分組方式的取代。2.A5算法19階、22階、23階。19+22+23=64bit

3.ZUC算法(我國商密標(biāo)準(zhǔn)算法)比特重組32bit寄存器兩次使用2個8*8的S盒32bit寄存器

習(xí)題二:(可選擇教材中習(xí)題。)第二章序列密碼至此結(jié)束!第三章分組密碼

3.1概述

3.2DES(數(shù)據(jù)加密標(biāo)準(zhǔn))3.3AES(高級加密標(biāo)準(zhǔn))

3.4SM4(我國商用分組算法)

3.5分組密碼的工作模式3.1概述為了克服統(tǒng)計分析,可以采用擴(kuò)散和混淆兩種基本方式。擴(kuò)散:就是使明文的每一位影響密文中的許多位,這樣可以隱蔽明文的統(tǒng)計特性。

混淆:密文的每一位受密鑰盡可能多位的影響。

使密文和密鑰關(guān)系復(fù)雜,從而統(tǒng)計分析更加困難。

換位變換可以實現(xiàn)有效的擴(kuò)散,打亂明文字母之間、

字母組合之間的統(tǒng)計關(guān)系。

代替變換(非線性的)可以達(dá)到比較好的混淆效果。

不論是數(shù)、還是其它信息,經(jīng)過編碼后都變?yōu)槎M(jìn)制串,可稱之為數(shù)據(jù)。如果對其加密,數(shù)據(jù)就是明文:11001011’10110010’

01101010’11101011’……..分組密碼的加密是每次對一段明文進(jìn)行加密,類似古典密碼的多表密碼:

……..每個明文段叫作一個明文分組,對應(yīng)密文叫作密文分組。明文分組密鑰密文分組En明文分組密鑰密文分組De01…1101…P盒-permutationbox;S盒-substitutionbox。SP結(jié)構(gòu)(替代-置換網(wǎng)絡(luò)):每輪處理整個分組明文,加解密算法不同。分組密碼的整體結(jié)構(gòu)有兩種基本類型:(迭代類型)Feistel結(jié)構(gòu):每輪處理一半明文,加解密算法相同。DES是Feistel結(jié)構(gòu)的代表;AES是SP結(jié)構(gòu)的一個代表。乘積密碼系統(tǒng)是S盒與P盒變換的組合,兩者結(jié)合得到的密碼系統(tǒng)比單獨一種更強(qiáng)。這一方式成為數(shù)據(jù)加密標(biāo)準(zhǔn)DataEncryptionStandard(DES)的基礎(chǔ)。

Feistel結(jié)構(gòu)SP結(jié)構(gòu)En

分組密碼:

多次迭代一個輪函數(shù),同時處理一組明文段。

密鑰長度固定,且對不同明文段保持不變。序列密碼:

產(chǎn)生(偽)隨機(jī)的密鑰流,每次處理一個明文字母。

加密過程簡單,但需要密文與密鑰同步。分組密碼適用性更廣,易于標(biāo)準(zhǔn)化;序列密碼主要用于保密性,速度更快,可實時通信。

3.2DES(數(shù)據(jù)加密標(biāo)準(zhǔn))DES(DataEncryptionStandard)從1977年提出(原計劃用10年)到1997年被認(rèn)為不安全,經(jīng)歷了20多年,是分組密碼設(shè)計的一個典范。

一、DES的加解密過程

明文分組:64bit(即64位二進(jìn)制串)密文分組:64bit密鑰:64bit,其中8bit為校驗位,實際56bit輪數(shù):

16輪(圈)加密函數(shù):8個6-4S盒;P置換。整體結(jié)構(gòu):FeistelLRLRLRIP-1IP16輪64bit64bit算法:整體結(jié)構(gòu)步(輪)函數(shù)密鑰擴(kuò)展密鑰擴(kuò)展ffDES整體結(jié)構(gòu):32Bit!32Bit!64Bit!48Bit!一共16輪!64bit!注意:最后一輪不交換!DES的加密函數(shù)f:8個不同的6-4S盒!48bit!48bit!32bit!4×8=32bit查表!擴(kuò)展并置換查表:輸入6比特的首尾2位確定行,中間4位確定列,交叉處為輸出。密鑰擴(kuò)展:64bit輸入密鑰!56bit-去掉8、16等8個監(jiān)督位56bit48bit28bit循環(huán)移位,1、2、9、16輪左移1位,其它輪左移2位!Feistel結(jié)構(gòu):記住這個特點即可??!加密解密密鑰反序L在右側(cè)加兩次,消掉!明文

M(8bit)IPT0(4bit)T1(4bit)f(T1,K1)T1(4bit)T2(4bit)IP-1密文組C(8bit)密鑰K(8bit)P1C0(4bit)D0(4bit)4-置換Qf(T2,K2)T3(4bit)T2(4bit)4-置換RC1(4bit)D1(4bit)4-置換Q-14-置換R-1P2K1(6bit)C2(4bit)D2(4bit)P2K2(6bit)小DES(1)如果密鑰擴(kuò)展過程中,

P1=(41768253),

P2=(571842),Q=(3142),R=(4312),

輸入主密鑰為K=11001010,

求經(jīng)密鑰擴(kuò)展后的K1和K2。(2)如果IP=(86421357),

f函數(shù)如左圖所示,

兩個S盒見下頁。S1P=(3,1,2,4)f(T,K)(4bit)K(6bit)E=(4,1,2,2,3,4)T(4bit)T’(6bit)Z2(3bit)Z1(3bit)S2U2(2bit)U1(2bit)(第1bit決定行,第2、3bit決定列)解:(1)經(jīng)置換,C1D1=10010101,經(jīng)P2得K1=001110C2D2=01100110,經(jīng)P2得K2=010001。S101230301211320S201230213013021若已知明文01011100,在密鑰K下得到的密文是什么?

并通過解密得到原明文驗證加密的正確性。(2)T1=0010,T1’=000010,Z1=001,Z2=100U1=00,U2=11,f(T1,K1)=1001,T2=1110;T2’=011110,Z1=001,Z2=111,U1=00,U2=01,f(T2,K2)=0001,T3=0011,T4=1110,1111100001011100(86421357)01110010F

0010

1110

(54637281)

11111000

11001010(41768253)01100110(3142)F

0011

1110

(4312)10010101(2413)(3421)P200111001100110P2

010001

二、DES的特點

除密鑰順序之外,加密和解密步驟完全相同;

主要的批評:密鑰太短,迭代次數(shù)可能太少,

S盒可能存在不安全隱患。

差分分析:通過分析明文對的差值(異或)對密文對的差值的影響來恢復(fù)某些密鑰比特。

窮舉攻擊:現(xiàn)在人們利用網(wǎng)絡(luò)計算可以在20多小時破譯56位的DES。DES已變得不安全了。

線性分析:一種已知明文攻擊,它試圖建立起明文、密文和密鑰之間的一組近似線性方程。

三、多重DES

為了提高安全性,防止窮舉攻擊,DES還有多重形式。

雙重DES:

但存在中間相遇攻擊:(已知一對明密文)窮舉k2!窮舉k1!

三重DES:

中間一層用解密形式是為了可以利用三重DES對單重DES加密的密文進(jìn)行解密(

k1=k2或k2=k3)。DESk1mDESk2-1DESk3cDESk1-1DESk2DESk3-13.3AES(高級加密標(biāo)準(zhǔn))

1997年美國國家標(biāo)準(zhǔn)技術(shù)研究所(NIST)征集AES(AdvancedEncryptionStandard)。

要求:(1)比三重DES快且至少與它一樣安全;(2)分組長度為128bit;

密鑰長為128bit,192bit和256bit;(3)算法要能抵抗已知的密碼分析方法,無明顯漏洞;(4)算法實現(xiàn)要有效率,有一定的靈活性(適應(yīng)不同的環(huán)境),軟硬件兩種方法實現(xiàn)。15種算法參加第一輪評選,5種進(jìn)入第二輪:

RC6、Rijndael、Serpent、Twofish、Mars2000年獲勝者是Rijndael算法,是比利時密碼設(shè)計者所作。

一、AES的加解密過程明文分組:128bit密文分組:128bit密鑰:128、192、256bit輪數(shù):10、12、14輪(圈)加密函數(shù):8-8的S盒、P(行移位、列混合)密鑰生成:擴(kuò)展、遞歸總體結(jié)構(gòu):SP結(jié)構(gòu)

10-14輪128bit128bit16個字節(jié)SP結(jié)構(gòu)

AES是面向字節(jié)的算法:字節(jié)為最小單位進(jìn)行處理。輸入明文分組:128bit=16×8bit=16個字節(jié),排成4×4的字節(jié)數(shù)組,稱為狀態(tài)矩陣(StateMatrix)

按列排!輪函數(shù)就是對這個數(shù)組進(jìn)行變換。乘以常數(shù)字(4字節(jié))AES解密過程:加密過程的逆過程,需要相應(yīng)的逆變換。

AddRoundKey:將每一輪的密鑰與狀態(tài)矩陣直接異或;

InvSubBytes:逆字節(jié)替代變換,需要8-8的逆s盒。InvShiftRows:逆行移位變換;InvMixColumns:逆列混合變換;

AES密鑰擴(kuò)展過程:

產(chǎn)生各輪子密鑰,主密鑰直接作為開始的輪密鑰,

后面的由前面輪密鑰字,經(jīng)S盒等運算遞歸產(chǎn)生。

4個字節(jié)為1個字

AES中的列混合:AES是面向字節(jié)的算法——字節(jié)的運算!以下介紹字節(jié)替代和列混合這兩個部件的實現(xiàn)原理二、AES中的運算

0000——0x00110——0x61100——0xC0001——0x10111——0x71101——0xD0010——0x21000——0x81110——0xE0011——0x31001——0x91111——0xF0100——0x41010——0xA0101——0x51011——0xB11000001——C1AES是面向字節(jié)的算法,最小單位是字節(jié)(Byte)。一個字節(jié)可用二位十六進(jìn)制數(shù)表示。二進(jìn)制串常表示為十六進(jìn)制任意分組表示為128bit的二進(jìn)制串,分為12個字節(jié),每個字節(jié)表示為2位十六進(jìn)制(省略0x),例如:

AES對此字節(jié)矩陣的處理即是對字節(jié)的運算,需要將所有字節(jié)組成的集合變?yōu)榇鷶?shù)結(jié)構(gòu)(可以加減乘除)。

仿照對“數(shù)”的處理,將這些數(shù)據(jù)視為“數(shù)”00000000=0x0000000001=0x01-----00001111=0x0F-----11111111=0xFF加、減、乘、除——域!運算結(jié)果還在此域中S盒——字節(jié)除法列混合——字節(jié)乘法1、中的運算(字節(jié)運算)

中一共有個元素,可以有多種方式表示,AES中用多項式表示(以便能進(jìn)行乘/除運算)。

一個字節(jié)8bit:

對應(yīng)多項式:

一個字節(jié)8比特,可以看作中的一個元素。例題:0x57即01010111,對應(yīng)多項式:

對于域的加法就是多項式對應(yīng)項相加,系數(shù)模二加:

‘57’

‘83’

01010111

10000011=11010100‘D4’AES中兩個字節(jié)相加的含義!對于域的減法,就是加上減法逆(就是本身)。對于域的乘法,要模一個8次既約多項式m(x),AES中選取的

例題:‘57’·‘83’

對應(yīng):

二進(jìn)制表示:01010111?10000011=11000001十六進(jìn)制表示:57?83=c1AES中兩個字節(jié)相乘的含義!

分配律!

復(fù)雜運算化簡為簡單運算的迭代都是乘x

乘一個x,相當(dāng)于字節(jié)中的1左移1位

06=00000110=00000100+00000010=02+04

將一個字節(jié)表示為只有一個1的字節(jié)之和,而只有一個1的字節(jié)都是不斷乘x得到的。

xtime()運算:x

b(x)

更高次的乘法可以通過重復(fù)使用xtime()實現(xiàn)。

(1)如果,則xtime()運算就是左移一位,后補(bǔ)零;如果,則xtime()左移一位,后補(bǔ)零,再異或1b。

xtime()算法:例題:57

13=01010111

00010011

“13”=

00010011

=

00000001

+00000010

+00010000因此13=“01”+

“02”+

“10”字節(jié)13是16進(jìn)制,不是十進(jìn)制,十進(jìn)制數(shù)對應(yīng)19。

57

02=xtime(57)=xtime(01010111)=ae57

04=xtime(ae)=xtime(10101110)=4757

08=xtime(47)=xtime(01000111)=8e57

10=xtime(8e)=xtime(10001110)=0757

13=57

(01⊕02⊕10)

=57⊕ae⊕07=fe對于域的除法,也就乘以除數(shù)的乘法逆。一般地,可以利用多項式的擴(kuò)展歐幾里得算法求乘法逆。

例題:求多項式模的逆元。驗證:表示為輸入的線性組合兩邊模M(x),可得逆元。因為:或者采用以下迭代算法:每次剩余可表示為n與u的代數(shù)和。

注意順序AES中規(guī)定:

53的字節(jié)代替。二進(jìn)制為01010011,表示的域元素為例題:表示為二進(jìn)制為11001010。

逆元為,

所以53代替為11101101,即“ed”。

注意順序!2、系數(shù)在的多項式運算(字運算)

這時元素用多項式表示,就是系數(shù)在中的小于4次的多項式。

加法就是多項式對應(yīng)項的系數(shù)相加,因此也就是中元素相加,即逐位模二加。

列混合是字的運算

AES中兩個字相加的含義!乘法是多項式相乘后,模一個4次多項式,

AES中兩個字相乘的含義!不是既約的:(01+01=00)

都成為四項之和為了進(jìn)行解密,a(x)應(yīng)當(dāng)有逆。AES中的列混合:MDS碼,最佳擴(kuò)散性;重量輕,計算簡單

例題:

AES列混合的性質(zhì):

混合前后兩列的四個字節(jié)之和保持不變。

三、AES的特點

結(jié)構(gòu)簡單,適應(yīng)性強(qiáng);加解密結(jié)構(gòu)相同,但是解密使用加密的逆模塊;逆S盒逆S盒對于AES的攻擊:主要利用AES代數(shù)結(jié)構(gòu)的特點。

積分分析:通過預(yù)測幾輪之后的積分值來猜測密鑰。

代數(shù)攻擊:用某種代數(shù)方程系統(tǒng)描述S盒。

側(cè)信道攻擊:加密中間過程電磁泄漏可能暴露密鑰信息。

(sidechannelattack)(差分能量攻擊)

AES的設(shè)計能夠抵御已有的線性分析和差分分析;采用較大的S盒,并且能進(jìn)行代數(shù)上的定義,而不像DES的S盒是“隨機(jī)”代替(不易判斷安全性)。寬軌跡策略Feistel結(jié)構(gòu)SP結(jié)構(gòu)En

3.4SM4(我國商用密碼算法)SM4是2006年我國公布的商用分組密碼算法。特點:分組長度和密鑰長度都是128比特;加密算法和密鑰擴(kuò)展都是32輪非線性迭代;采用一個8*8的S盒;采用32bit的異或和移位運算L;結(jié)構(gòu)為非對稱的Feistel;加解密算法相同,只是輪密鑰順序顛倒。Electronic-CodeBook(ECB):電碼本模式Cipher-BlockChaining(CBC):密碼分組鏈接模式CipherFeedBack(CFB):密碼反饋模式OutputFeedBack(OFB):輸出反饋模式

為了防止攻擊,分組密碼需要有一定的工作模式。CFB和OFB兩種模式:可利用分組密碼實現(xiàn)流密碼!3.5分組密碼工作模式

(另外新的還有:計數(shù)器模式、加密認(rèn)證模式等)這些模式適用于各種分組密碼,以下僅以DES為例。DESDESm1c1km2c26464kDESkcnmnDES-1DES-1c1m1kc2m26464kDES-1kmncnECB模式(electroniccodebook)相同明文產(chǎn)生相同密文!以DES為例但這種模式存在以下問題:

相同明文對應(yīng)相同密文。CBC

模式(cipherblockchaining)DESDESm1c1km2c2kDESkcnmn初始矢量Cn-1DES-1DES-1c1m1kc2m2cn-1初始向量kDES-1kmncn64-j位j位j位64-j位DES64-j位j位

DESj位64-j位j位64-j位

64-j位j位DESm1c1k移位寄存器jm2c26464jkkmncnCFB模式(cipherfeedback)64-j位j位j位64-j位DES64-j位j位

DESj位64-j位j位64-j位

64-j位j位DESm1c1k移位寄存器m2c26464kkmncnCn-1解密模式也用DES加密64-j位j位j位64-j位DES64-j位j位

DESj位64-j位j位64-j位

64-j位j位DESm1c1k移位寄存器jm2c26464jkkmncnOFB

模式(outputfeedback)密文錯誤不會傳播!64-j位j位j位64-j位DES64-j位j位

DESj位64-j位j位64-j位

64-j位j位DESm1c1k移位寄存器m2c26464kkmncn計數(shù)器模式:DES

DES

DES

習(xí)題

三:(可選擇教材習(xí)題。)第三章分組密碼至此結(jié)束!第四章雜湊函數(shù)

4.1

概述

4.2SHA-1和SHA-2

4.3SHA-34.4我國商密標(biāo)準(zhǔn)SM3

4.

5

MAC和認(rèn)證加密

4.1概述認(rèn)證(authentication):

采取一些措施保證實體(entity)是他們所宣稱那些

人,或消息不被非法者修改。

兩類基本認(rèn)證:

身份認(rèn)證(identificationorentityauthentication)

雙方在線、實時,例如電話;消息認(rèn)證(messageauthentication;或

數(shù)據(jù)源認(rèn)證dataoriginauthentication)

單向、可延時,例如E-mail。數(shù)據(jù)完整性(DataIntegrity):

保證消息的不被修改(但不含數(shù)據(jù)源合法性)。實現(xiàn)數(shù)據(jù)完整性:

應(yīng)用抗碰撞的雜湊函數(shù),檢查摘要值。實現(xiàn)消息認(rèn)證:

消息認(rèn)證=完整性+數(shù)據(jù)源認(rèn)證

采用:有密鑰的雜湊函數(shù)(消息認(rèn)證碼-MAC);

數(shù)字簽名等。另外:在數(shù)字簽名中:

用雜湊函數(shù)將消息進(jìn)行壓縮后,對摘要值簽名;在隨機(jī)數(shù)產(chǎn)生器中:

用雜湊函數(shù)的摘要值作為隨機(jī)數(shù);因此,雜湊函數(shù)是密碼學(xué)中最常用的部件之一。實現(xiàn)區(qū)塊鏈的基本工具!雜湊函數(shù)(算法):

將任意長輸入的消息壓縮為短的摘要值。有密鑰的雜湊函數(shù)(MAC:MessageAuthenticationCode)有兩個輸入:密鑰和消息。給定消息,只有知道密鑰的人可計算MAC。

無密鑰的雜湊函數(shù)(MDC:ModificationDetectionCode)只有一個輸入即消息。

給定消息,任何人都可計算hash值;一般,將無密鑰的雜湊函數(shù)就叫做雜湊函數(shù);而將有密鑰的雜湊函數(shù)叫做消息認(rèn)證碼MAC。雜湊函數(shù)的安全性:

抗原象性(pre-imageresistance):

由y=h(x)計算x是計算困難的;yxxx’yyx’x

生日問題:最少多少人中有人生日相同,概率大于50%?

不相同的迭代結(jié)構(gòu)+壓縮函數(shù)雜湊函數(shù)的構(gòu)造:最常見的Merkle-Damgard(MD)迭代結(jié)構(gòu)利用分組密碼工作模式-構(gòu)造雜湊函數(shù):利用分組密碼的密碼分組鏈接模式CBC和密碼反饋模

式CFB。Ekx1y1kx2y2kkH(x1..xn)yn初始矢量EkEkCBCCFBx1y1kx2kkH(x1..xn)xn初始矢量EkEky2Ek直接構(gòu)造f函數(shù):采用類似分組密碼的基本部件和基本運算,構(gòu)造偽隨機(jī)函數(shù)(避免分組密碼中不必要的密鑰擴(kuò)展過程)。利用模運算構(gòu)造f函數(shù):采用第五章介紹的公鑰密碼的方法,從單向函數(shù)設(shè)計壓縮函數(shù)。MASH-1國際標(biāo)準(zhǔn),采用模平方運算;利用格計算問題設(shè)計的SWIFFT算法;利用糾錯碼設(shè)計的FSB算法;雖然具有較好的理論基礎(chǔ),但實現(xiàn)效率仍有差距。SHA-1和SHA-2是美國(NIST)雜湊函數(shù)標(biāo)準(zhǔn)算法。(SHA:StandardHashAlgorithm)

4.2

SHA-1和SHA-2這是一系列雜湊函數(shù)MD4、MD5的發(fā)展,共同特點是:采用簡單的運算多次迭代構(gòu)造壓縮函數(shù)。

被攻破的MD4、MD5的輪函數(shù)

輪常數(shù)消息子塊每個512比特消息塊分為16個32bit的消息字,經(jīng)擴(kuò)展,形成80個(步)的消息字;最后將輸入鏈接值反饋到輸出,保證壓縮函數(shù)單向性。

2002年美國NIST根據(jù)實際情況,增加了Hash算法

輸出長度,形成SHA-256、SHA-384、SHA-512,

這些算法統(tǒng)稱為SHA-2。2004年又提出SHA-224。SHA-2:SHA-256的輸出為256bit,鏈接值分為8個字,壓縮函數(shù)整體迭代64步,沒有明顯的輪界限。

SHA-256步運算SHA-224:

與SHA-256初始值不同;

輸出從256bit左端截取224bit。SHA-512:

每個字64bit,鏈接值為512bit;

消息分塊為1024bit;迭代89步;SHA-384:

與SHA-512初始值不同;

輸出從512bit左端截取384bit。名稱輸出長度消息塊長度字長度輪數(shù)*每輪步數(shù)SHA-1160512324*20SHA-224/256224/256512321*64SHA-384/512384/5121024641*80我們國家商密標(biāo)準(zhǔn)雜湊函數(shù)是SM3關(guān)于MD-5、SHA-1的攻擊

關(guān)于MD結(jié)構(gòu)的攻擊2004年,A.Joux提出了多碰撞攻擊,已知碰撞時

找到多碰撞很容易;2005年,J.Keley等提出長消息的第二原像攻擊,

降低了復(fù)雜度,但需要較長的消息;2006年,J.Kelsey等提出了Herding攻擊,已知碰

撞時產(chǎn)生有意義的第二原像。第一階段:(2007年)在全世界征集了51個算法;第二階段:(2010年)剩余14個算法;第三階段:(2011年)剩余5個算法;(BLAKE、Groestl、JH、Keccak、Skein)2012年10月初

最終獲勝者是Keccak。美國NIST關(guān)于SHA-3的征集活動:

4.3

SHA-3Keccak:整體結(jié)構(gòu)為Sponge結(jié)構(gòu),好處是輸出任意長;結(jié)構(gòu)具有一定的可證明安全性。1600bit置換1600bit狀態(tài),外部狀態(tài)r長度,內(nèi)部狀態(tài)為c長度;初始值為全0,排列為5*5*64的三維

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論