版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第一章古典密碼煉密碼學(xué)的意義煉密碼學(xué)的歷史、現(xiàn)狀和未來煉基本術(shù)語和定義煉古典密碼和相關(guān)基礎(chǔ)數(shù)學(xué)理論煉如何用精確的數(shù)學(xué)語言定義和分析古典密碼2密碼學(xué)的重要性
密碼學(xué)是信息安全技術(shù)的核心和基石,在信息安全領(lǐng)域起著基本的、無可替代的作用。這方面的任何重大進展,都會有可能改變信息安全技術(shù)的走向
密碼技術(shù)和理論的發(fā)展始終深刻影響著信息安全技術(shù)的發(fā)展和突破密碼學(xué)的地位安全協(xié)議安全的密碼算法網(wǎng)絡(luò)安全
信息安全大廈應(yīng)用安全系統(tǒng)安全密碼學(xué)學(xué)習(xí)密碼學(xué)的意義
密碼學(xué)相關(guān)理論和技術(shù),是進一步學(xué)習(xí)和運用安全技術(shù)的基本功
數(shù)據(jù)保密
身份鑒別
數(shù)字簽名
數(shù)字水印密碼學(xué)的發(fā)展歷史
起源(4000年以前)
有意識地隱藏信息
古代密碼(1900年以前)
純手工或采用簡單機械
古典密碼(1900-1
949)
采用復(fù)雜機械或機電設(shè)備
也有學(xué)者將1949年以前統(tǒng)稱為古典密碼
傳統(tǒng)密碼(1950-1
975)
采用計算機技術(shù)
安全基于密鑰
現(xiàn)代密碼(1976以后)
出現(xiàn)公鑰密碼密碼學(xué)的起源6
密碼學(xué)(Cryptology)一詞來源于兩個希臘語單詞——隱藏(Kryptos)和書寫(Graphen)
隱寫術(shù)(Steganography):通過隱藏消息的存在來保護消息。常用的手段包括:隱形墨水、字符格式的變化、圖形圖像(水印)。A
BApparently
ne
utral's
pr
otest
is
thoroughly
discounted
andignored.Is
man
ha
rd
hit.
Blockade
is
sue
affects
pr
etext
forembargo
on
by
products,
ejecting
suets
and
ve
getable
oils.:^;@
b(]Y(m=4
$1
m=dQg&_;c?
VdSt<C![VKYo]7
藏頭詩
平湖一色萬頃秋,湖光渺渺水長流。秋月圓圓世間少,月好四時最宜秋。
蘆花叢中一扁舟,俊杰俄從此地游,義士若能知此理,反躬難逃可無憂
樂譜2017
/7
/710古典密碼的特點
密碼學(xué)還不是科學(xué),而是藝術(shù)
出現(xiàn)一些密碼算法和加密設(shè)備
密碼算法的基本手段(代替&置換)出現(xiàn),針對的是字符
簡單的密碼分析手段出現(xiàn)
基于字符的密碼古典密碼
象形文字的修改(Modified
Hieroglyphics):密碼學(xué)的第一個例子是對標(biāo)準(zhǔn)書寫符號的修改,例如古埃及法老墳?zāi)股系奈淖郑?200-1
100B.C.),核心思想是代替(Subs
titution)古典密碼
400
B.C.,希臘人艾奈阿斯《城市防衛(wèi)論》
艾奈阿斯繩結(jié)密碼
不同的繩結(jié)距離代表不同的字母
妻子給丈夫的保密家書13古典密碼古典密碼
205-1
23
B.C.,棋盤密碼123451ABCDE2FGHIJK3LMNOP4QRSTU5VWXYZHELLO
142315313134古典密碼
50
B.C.,愷撒密碼
明文:
t
he
qui
c
k
br
own
f
ox
j
u
mps
ov
e
r
t
he
l
a
z
y
dog
密文:
WKH
TXLFN
EURZQ
I
RA
MXPS
V
RYHU
WKH
ODCB
GRJ
曾公亮《武經(jīng)總要》(北宋)
將常用軍事情報編為40種
1請弓、2請箭、3請刀、4請甲、5請槍旗
6請鍋幕、7請馬、8請衣賜、9請糧料、10請草料
11請車牛、12請船、13請攻城守具、14請?zhí)肀?5請移營
16請進軍、17請退軍、18請固守、19未見賊、20見賊訖
21賊多、22賊少、23賊相敵、24賊添兵、25賊移營
26賊進兵、27賊退兵、28賊固守、29圍得賊城、30解圍城
31被賊圍、32賊圍解、33戰(zhàn)不勝、34戰(zhàn)大勝、35戰(zhàn)大捷
36將士投降、37將士叛、38士卒病、39都將病、40戰(zhàn)小勝古典密碼
曾公密碼
選擇一首五言律詩作為密碼本
國破山河在,城春草木深
感時花濺淚,恨別鳥驚心
烽火連三月,家書抵萬金
白頭搔更短,渾欲不勝簪
——杜甫《春望》
加密過程:找到軍情對應(yīng)的字,做標(biāo)記后放在普通公文中發(fā)送
解密過程:字驗17古典密碼古典密碼
500
B.C.,斯巴達人在軍事上用于加解密
發(fā)送者把一條羊皮紙螺旋形地纏在一個圓柱形木棒上,核心思想是置換(Permutation)18
以一種形式寫下消息,以另一種形式讀取消息
I
came
I
saw
I
conquered幾何圖形密碼19王先生:來信收到,你的盛情真是難以報答。我已在昨天抵答廣州。秋雨連綿,每天需備雨傘一把方能上街,苦矣!大約本月中旬我才能返回,屆時再見。弟李明
卡爾達諾漏格法
16世紀(jì),意大利數(shù)學(xué)家卡爾達諾發(fā)明
情報加密古典密碼21
卡爾達諾漏格法古典密碼
卡爾達諾漏格法古典密碼王先生:來信收到,你的盛情真是難以報答。我已在昨天抵答廣州。秋雨連綿,每天需備雨傘一把方能上街,苦矣!大約本月中旬我才能返回,屆時再見。弟李明22
Enigma密碼機
宣告了手工編碼技術(shù)的結(jié)束
發(fā)明人,亞瑟.謝爾比烏斯
(Arthur
Scherbius)(德國)
初步破解人,馬里安.雷杰夫斯基(Marian
Rejewski)(波蘭)
最終破解人,阿蘭.圖靈(AlanTuring)(英國)古典密碼23
Enigma密碼機基本原理
利用不斷變化的轉(zhuǎn)子改變字母的代替規(guī)則古典密碼24
Enigma密碼機基本結(jié)構(gòu)
模擬程序古典密碼25傳統(tǒng)密碼26
1949
~1975年傳統(tǒng)密碼
計算機使得基于復(fù)雜計算的密碼成為可能
Shannon,
The
Comm
Theory
of
Secret
Systems,
1949
David
Kahn,
The
Codebreakers
,
1967
J.L.Smith,
A
Cryptographic
Device
for
Data
Comm,
1971
H.Feis
tel,
Cryptography
and
Computer
Privacy,
1973
數(shù)據(jù)的安全基于密鑰而不是算法的保密傳統(tǒng)密碼
加密通信模型He
lloHe
l
loHe
l
lo傳統(tǒng)密碼
加密通信模型He
lloHe
l
lo加密機解密機@
#
^$&@
#
^$&@
#
^$&安全信道密鑰源現(xiàn)代密碼
1976年以后現(xiàn)代密碼
Diffie,
Hellman.
New
Directions
in
Cryptography,
1976
1977年Rivest,Shamir
&
Adleman提出了RSA公鑰算法
90年代逐步出現(xiàn)橢圓曲線等其他非對稱算法
基于身份標(biāo)識的密碼(IBE)
非對稱密碼使得無密鑰傳輸?shù)谋C芡ㄐ懦蔀榭赡埽?/p>
對稱密鑰密碼算法進一步發(fā)展
1977年DES加密算法正式成為標(biāo)準(zhǔn)
90年代RC6,MARS,Twofish,Serpent等加密算法出現(xiàn)
2001年Rijndael算法成為DES的替代者
量子密碼(Quantum
Cryptography)B的公開密鑰現(xiàn)代密碼
非對稱密碼加密通信模型He
l
loHe
l
lo加密機解密機@
#
^$&@
#
^$&@
#
^$&公開密鑰庫B的私人密鑰基本術(shù)語和概念
問題的描述
發(fā)送者(Sender)把消息(Mes
sage)傳遞給接收者(Receiver),他想確保除接收者以外的任何人都不能閱讀發(fā)送的消息。
消息的內(nèi)容被稱為明文(Plaintext),用某種方法偽裝消息以隱藏其內(nèi)容的過程成為加密
(Encrypt)或譯成密碼(Encipher)
被加密的消息成為密文(Ciphertext),而把密文還原為明文的過程稱為解密(Decrypt)或解譯密碼(Decipher)?;拘g(shù)語和概念
密碼學(xué)(Cryptology)
是研究信息系統(tǒng)安全保密的科學(xué)。是數(shù)學(xué)的一個分支,包括密碼編碼學(xué)和密碼分析學(xué)。
密碼編碼學(xué)(Cryptography)
主要研究對信息進行編碼,實現(xiàn)對信息的隱蔽。
密碼分析學(xué)(Cryptanalytics)
主要研究加密消息的破譯或消息的偽造?;拘g(shù)語和概念
密碼算法(Cryptography
Algorithm)
是用于加密和解密的數(shù)學(xué)函數(shù)。
密碼員對明文進行加密操作時所采用的一組規(guī)則稱作加密算法(Encryption
Algorithm)。
接收者對密文解密所采用的一組規(guī)則稱為解密算法(Decryption
Algorithm)。基本術(shù)語和概念
密碼算法的數(shù)學(xué)表達
明文用M或P表示,密文用C表示,加密函數(shù)E作用于M得到C,數(shù)學(xué)公式表示為:E(P)
=
C
相反地,解密函數(shù)D作用于C產(chǎn)生MD(C)=P
如果使用了密鑰k,則可表示為:Ek(P)
=
C;
Dk(C)
=
P基本術(shù)語和概念
密碼體制(密碼系統(tǒng))的數(shù)學(xué)描述
它是一個五元組(P,C,K,E,D)滿足條件:P是可能明文的有限集;(明文空間)C是可能密文的有限集;(密文空間)K是一切可能密鑰構(gòu)成的有限集;(密鑰空間)E是加密算法的有限集,D是解密算法的有限集對任意的k∈K,有一個加密規(guī)則(算法)ek∈E和相應(yīng)的解密規(guī)則(算法)dk∈D,使得ek:P->C和dk:C->P分別為加密解密函數(shù),滿足dk(ek(x))=x,這里x∈P。*加密函數(shù)必須是單射函數(shù)密碼算法的分類
按照明文的處理方法可分為分組密碼(blockcipher)和流密碼(stream
cipher)
分組密碼將明文分成固定長度的組塊,用同一密鑰和算法對每一塊加密,每塊輸出也是固定長度的密文。
流密碼又稱序列密碼。序列密碼每次加密一位或一字節(jié)的明文,是手工和機械密碼時代的主流。密碼算法的分類
按照保密的條件可分為受限制的(Restricted)算法和基于密鑰(key-bas
ed)的算法
如果加脫密的保密性是基于保持算法的秘密,這種算法稱為受限制的算法。
缺陷:無法用于大的或經(jīng)常變換的用戶組織。
如果加脫密的保密性是基于保持密鑰的秘密,而算法本身可以完全公開,則稱為基于密鑰的算法?;诿荑€的算法通常有兩類:對稱算法和公開密鑰算法。密碼算法的分類
對稱算法(Symmetric
Algorithm)就是加密密鑰和解密密鑰相同或能相互推導(dǎo)的密碼算法。
秘密密鑰算法或單密鑰算法,要求發(fā)送者和接收者在安全通信之前,商定一個密鑰。
對稱算法的安全性完全依賴于密鑰,加密和解密表示為:EK(M)
=
CDK(C)
=
M密碼算法的分類
公開密鑰算法(Public
Key
Algorithm)就是加密密鑰和解密密鑰無法相互推導(dǎo)(至少在假定的長時間內(nèi))的密碼算法。
加密密鑰可以公開,任何人能用加密密鑰加密信息,但只有相應(yīng)的解密密鑰才能解密信息。這里,加密
密鑰叫做公開密鑰(Public
Key),用PuK表示EPuK(M)
=
C
解密密鑰不可公開,只為解密者(接收方)個人所持有,因此叫做私人密鑰(PrivateKey)或秘密密鑰,用PrK表示DPr
K(C)
=
M密碼算法的分類
有些算法用私人密鑰加密而用公開密鑰解密,這種算法通常叫數(shù)字簽名算法,可以表示為:EPr
K(M)
=
CDPuK(C)
=
M移位密碼
基本思路
將字母表中的每個字母向后移動若干位代替明文字母
直觀方便,操作簡單移位密碼
移位密碼體制的數(shù)學(xué)描述
對于密碼體制的五元組(P,C,K,E,D)有
P=C=K=Z2
6
對k,x,y∈Z2
6
,定義
ek(x)=(x+k)mod26
dk(y)=(y-k)mod26
mod稱為“模運算”
如果k=3,則此密碼體制為凱撒密碼模運算
生活中的求模運算
現(xiàn)在是3點鐘,25小時以后是幾點鐘?52小時以后呢?
(52+3)÷24余7,52小時后應(yīng)該是7點鐘
今天是星期二,9天以后是星期幾?90天以后呢?
(90+2)÷7余1,90天以后應(yīng)該是星期一模運算的作用
為什么引入模運算
模運算可將很大的數(shù)變成較小的數(shù),同時保持?jǐn)?shù)的某些周期性的性質(zhì)不變
比如1和32085在26下同余,都可以表示字母B
從某種意義上看,1=32085
可稱32085被模26
約化為1
密碼運算涉及指數(shù)、對數(shù)等大數(shù)的運算,模運算將運算的數(shù)值始終限定在一定范圍內(nèi),利于計算機快速處理模運算和同余
給定任意整數(shù)a和q,以q除a,余數(shù)是r,則可以表示為a=sq+r,0≦r<q
稱q為模數(shù),r為a模q的剩余,記為r≡a
mod
q
若整數(shù)a和b有(a
mod
q)=(b
mod
q),則稱a與b在模q下同余。(即a和b的差是q的倍數(shù))
例如11和19在模4下同余(3)。模運算舉例
14
=3×4+2,2是14模4的余,2≡1
4mod
4
(2也是14模3的余)
通常對r<q的條件并不嚴(yán)格要求,如
19
=3×4+7,7≡19
mod
4
負數(shù)亦可參與求模(保證余數(shù)大于零即可)(-1
3
)=(-4
)×4
+3
,3
≡(-1
3
)
mod
47
=(-3
)×4
+19
,19
≡7
mod
41
=(-1
)×11
+12
,
12
≡1
mod
11模運算的性質(zhì)
模運算的基本性質(zhì):
①若q|(a-b),則b≡a
mod
q。如11-3能被4整除,則
3是11模4的余;
②(a
mod
q)=(b
mod
q)意味著a≡b
mod
q。如3
mod
4=11
mod
4,則3是11模4的余;
③a≡b
mod
q等價于b≡a
mod
q。如3是11模4的余,同時4是11模3的余;
④若a≡b
mod
q且b≡c
mod
q,則a≡c
mod
q。如3≡7
mod
4且7≡1
1
mod
4,則3≡1
1
mod
4模運算的性質(zhì)
模算術(shù)(不要求r<q)
加法:((a
mod
q)+(b
mod
q))=(a+b)mod
q例:(3
mod
4)+(7
mod
4)=6=10
mod
4
乘法:((a
mod
q)×(b
mod
q))=(a×b)mod
q例:(3
mod
4)×(7
mod
4)=9=21
mod
4
指數(shù):a
n
mod
q
=
a
n-1
mod
q
×
a
mod
qam×n
mod
q
=
(am
mod
q)n模運算的性質(zhì)
模算數(shù)運算滿足交換律、分配律、結(jié)合律
模的加和乘存在單位元和逆元
加法的單位元是0,乘法的單位元是1
a關(guān)于模m的加法逆元是m-a
a關(guān)于模m的乘法逆元是?
能在有限的整數(shù)范圍內(nèi)構(gòu)造群、環(huán)和域等重要的代數(shù)結(jié)構(gòu)利用模運算實現(xiàn)移位密碼
字母編碼表,將字母A-Z對應(yīng)于數(shù)字0-25012345678ABCDEFGHI91
01
11
21
31
41
51
61
7JKLMNOPQR1
81
92
02
12
22
32
42
5STUVWXYZ移位密碼加密應(yīng)用
假設(shè)移位密碼的密鑰為K=1
1,明文為
we
wi
l
l
me
e
t
a
t
mi
dni
g
ht
首先根據(jù)編碼表將明文轉(zhuǎn)換成整數(shù)串22
4
22
8
11
11
12
4
4
19
0
19
12
8
3
13
8
6
7
19
然后將每個數(shù)與11相加,結(jié)果模26,得到7
15
7
19
22
22
23
15
15
4
11
4
23
19
14
24
19
17
18
4
最后根據(jù)編碼表將數(shù)字串轉(zhuǎn)換成字母串,得到
HPHTWWXPPELEXTOYTRS
E移位密碼的分析
設(shè)有如下密文串JBCRCLQRWCRVNBJENBWRWN
取k=1,2,3...依次嘗試,得到如下不同字母串
i
a
bqbkpqv
bpu
ma
i
dma
v
qv
m
hz
a
pa
j
opua
pt
lz
hc
lz
upul
g
y
z
oz
i
not
z
os
ky
g
bky
t
ot
k
f
x
y
ny
h
mns
y
nr
j
x
f
a
j
x
s
ns
j
e
wx
mx
g
l
mr
x
mq
i
we
z
i
wr
mr
i
dv
wl
wf
k
l
qwl
phv
dy
hv
ql
qh
c
uv
kv
e
j
kpv
kog
uc
x
g
upkpg
bt
uj
udi
j
ouj
nf
t
bwf
t
oj
of
a
s
t
i
t
c
hi
nt
i
me
s
a
v
e
s
ni
ne(
k=1
)(
k=2
)(
k=3
)(
k=4
)(
k=5
)(
k=6
)(
k=7
)(
k=8
)(
k=9
)53移位密碼的安全性分析
密鑰空間過小
最多嘗試25次,最少嘗試1次,平均嘗試13次代換密碼
代換密碼體制的數(shù)學(xué)描述
對于密碼體制的五元組(P,C,K,E,D)有
P=C=Z2
6
K是由26個數(shù)字0,1,2,...,2
5的所有可能的置換組成
對任意的置換π∈K,定義
eπ(x)=π(x)dπ(y)=π-1
(y)
π-1
表示置換π的逆置換代換密碼加密
任取一個置換π,可以得到一個加密函數(shù),例如下表所示的置換規(guī)則:
按照此表可知eπ(a)=X,eπ(b)=N,...abcdefghijklmXNYAHPOGZQWBTnopqrstuvwxyzSFLRCVMUEKJDI代換密碼解密
解密函數(shù)是相應(yīng)的逆置換,前例的逆置換可以表示為:
可知dπ(A)=d,dπ(B)=l,...
試解密
MGZVYZLGHCMHJ
MYXS
S
F
MNHAHYCDLMHAABCDEFGHIJKLMdlryvohezxwptNOPQRSTUVWXYZbgfjqnmuskaci57代換密碼的安全性分析
密鑰是26個字母的置換,所有可能的置換有26!=4
03291461126605635584000000種
采用窮舉法,假設(shè)每秒可以嘗試1000萬次,需要1012
年以上(已經(jīng)超過宇宙的理論壽命)
果真如此安全?仿射密碼
仿射密碼體制的數(shù)學(xué)描述
對于密碼體制的五元組(P,C,K,E,D)有
P=C=Z2
6
K={(a,b)∈Z2
6
×Z2
6
:
gcd(a,26
)=1
}
對任意的k=(a,b)∈K,x,y∈Z2
6
,定義
ek(x)=(ax+b)mod26dk(y)=a-1
(y-b)mod26
gcd(a,26)=1意味著a和26互質(zhì)
a-1
是a關(guān)于模26乘法的逆59仿射密碼
a和26互質(zhì)是保證加密函數(shù)為單射函數(shù)的充要條件,否則不同的明文可能被加密成相同的密文
例如a=4,b=3則加密函數(shù)為(4
x+3)mod26
明文字母c對應(yīng)的值為2,加密后為11,對應(yīng)密文字母是L;
明文字母p對應(yīng)的值為15,加密后的密文也是L
根據(jù)該條件,a可能的取值范圍是12個數(shù)
1,3,5,7,9,11,15,17,19,21,23,25模乘法的逆
模乘法的逆
求a對于模b乘法的逆,即求x滿足ax
mod
b
=1,可記做x
=
a
-1
mod
b
或x
=
a
-1
如:3×9
=
1×26+1,則稱9和3對于模26互逆,記做9
-1
mod
26=3或3
-1
mod
26=9
將模數(shù)的倍數(shù)加1后分解為兩個數(shù)的乘法,即可得到兩個關(guān)于模數(shù)互逆的數(shù)。仿射密碼
當(dāng)a=1時,仿射密碼即為移位密碼
仿射密碼中不同a值對應(yīng)的逆(模26)
1
-1
=1
3
-1
=9
5
-1
=2
17
-1
=1
5
11
-1
=1
917
-1
=2
325
-1
=2
5
簡單的驗證
(7
×15
)mod26
=1
05
mod26
=1
7和15在模26下互逆仿射密碼舉例
設(shè)仿射密碼的密鑰k=(7,3),試給出明文hot的加解密過程
加密函數(shù)為ek(x)=7
x+3
解密函數(shù)為dk(y)=7
-1
(y-3)=1
5(y-3)=1
5
y-1
9
驗證dk(ek(x))=dk(7
x+3)=1
5(7
x+3)-1
9=x+4
5
-1
9
=x仿射密碼舉例
字母hot對應(yīng)的明文數(shù)值為7,14,19,分別加密如下:
(7
×7
+3
)mod26
=5
2
mod26
=0
(7
×14
+3
)mod26
=1
01
mod26
=2
3
(7
×19
+3
)mod26
=1
36
mod26
=6
三個密文值分別為0,23,6,相應(yīng)的密文為
AXG
解密過程略仿射密碼安全性分析
a可能的取值是12,b有效的取值是26,密鑰空間大小為12×26=3
12
如果將模數(shù)m推廣到一般,則仿射密碼的密鑰空間為m
Φ(m),其中Φ(m)表示m以內(nèi)與m互質(zhì)的數(shù)的個數(shù),稱為歐拉函數(shù)
例如:Φ(2
6)=1
2;Φ(6
0)=1
6
取模數(shù)m=6
0,則仿射密碼的密鑰空間大小為16×60=9
60歐拉函數(shù)65
假定
Φ(6
0
)=(22
-21
)×(31
-30
)×(51
-50
)=2
×2
×4
=16
如果m=p×q(p和q均為素數(shù))
則Φ(m)=(p-1)×(q-1)∏ineii
=1m
=p
(
m
>
1)∏i這里pi均為素數(shù)且互不相同,ei是大于0的整數(shù),則niii
=1
例如60=2
2
×3×5,則φ(
m)
=(
pe
-
pei
-
1
)課堂練習(xí)66
已知仿射密碼的密鑰為k=(3,10)
試解密XICFP維吉尼亞密碼
16世紀(jì)晚期,法國外交官維吉尼亞(Vigenere)發(fā)明,引入了“密鑰”的概念67維吉尼亞密碼
維吉尼亞密碼體制的數(shù)學(xué)描述
對于密碼體制的五元組(P,C,K,E,D)有
P=C=K=(Z2
6
)m,m是一個正整數(shù)
對任意的k=(k1
,k2
,...,km)∈K,x=(x1
,x2
,...,xm)∈P,
y=(y1
,y2
,...,ym)∈C,定義ek(x)=(x1
+k1
,x2
+k2
,...,xm+km)dk(y)=(y1
-k1
,y2
-k2
,...,ym-km)
以上運算均在Z2
6
上運行(模26)68維吉尼亞密碼舉例69
假設(shè)m=6,密鑰字為CIPHER,加密明文thiscryptosystemisnotsecure
密鑰字對應(yīng)的數(shù)字串為k=(2,8,15,7,4,17)
將明文轉(zhuǎn)化為對應(yīng)的數(shù)字,每6個為一組
1
9781
821
72
41
51
91
41
82
4
1
81
941
281
81
31
41
91
842
2
01
74維吉尼亞密碼舉例
使用密鑰字進行模26下的加法運算
1
9781
821
72
41
51
91
41
82
4
281
5741
7281
5741
7+(
mod2
6
)
2
11
52
32
56802
382
12
21
5
1
81
941
281
81
31
41
91
842
281
5741
7281
5741
7+(
mod2
6
)
2
011
91
91
291
52
282
581
9
2
01
74
281
5+(
mod2
6
)
2
22
51
9
得到相應(yīng)的密文為
VPXZGI
AXI
VWPUBTTMJ
PWI
ZI
TWZT維吉尼亞密碼的安全性
密鑰空間大小為26
m
當(dāng)m=5時,密鑰空間大小超過1.1×107
,已經(jīng)不可能采用手工方法窮舉搜索
采用計算機窮舉搜索可能不到1秒鐘希爾(Hill)密碼
希爾密碼體制的數(shù)學(xué)描述
對于密碼體制的五元組(P,C,K,E,D)有
P=C=(Z2
6
)m,m是一個不小于2的正整數(shù)
K是定義在Z2
6
上的m×m可逆矩陣的集合
取密鑰k∈K,k為一個m×m矩陣,記為(kij),對
x=(x1
,x2
,...,xm)∈P,y=(y1
,y2
,...,ym)∈C,定義ek(x)=xkdk(y)=yk-1
k-1
表示k的逆矩陣
以上運算均在Z2
6
上運行(模26)73希爾密碼舉例
每個明文單元使用x=(x1
,x2
)來表示,對應(yīng)的密文單元用y=(y1
,y2
)表示,則有1
2
1
2即y1
=(1
1
x1
+3
x2
)mod26y2
=(8
x1
+7
x2
)mod26
11
8
設(shè)m=2,取密鑰k=
3
7
y=xk,即(y,y)=(x,x)
118
3
7
希爾密碼加密
假設(shè)需要加密明文july,則可將明文劃分為如下兩個加密單元(9,20)和(11,24),分別進行加密變換如下
因此密文為DELW
11
8
(9
,20
)
=
(99
+6
0
,72
+1
40
)=(3
,4
)
3
7
11
8
(11
,24
)
=
(121
+7
2
,88
+1
68
)=(1
1
,22
)
3
7
希爾密碼解密-1
k的逆矩陣k=
-1
即
x1
=(7
y1
+2
3
y2
)mod26
x2
=(1
8
y1
+1
1
y2
)mod26
有x=yk,即(x1
,x2
)=(y1
,y2
)
7
18
23
11
7
18
23
11
希爾密碼解密
對密文DELW進行解密即做如下運算
7
18
(3
,4
)
=
(21
+9
2
,54
+4
4
)=(9
,20
)
23
11
7
18
(11
,22
)
=(7
7
+5
06
,198
+2
42
)=(1
1
,24
)
23
11
如何計算逆矩陣?矩陣運算
矩陣的乘法
設(shè)A=(ai,j)是一個l×m矩陣,B=(bj,k)是一個m×n矩陣,則定義矩陣的乘法AB=C=(ci,k)mci
,
k
=
a
i
,j
bj
,
kj
=1
C是一個l×n矩陣
矩陣乘法不滿足交換律但滿足結(jié)合律矩陣運算
單位矩陣
m×m的矩陣中,主對角線上的元素均為1,其余元素均為0的矩陣
稱1
為0
單位矩陣,記為Im
對任意l×m矩陣A,有AIm=A;對任意m×n矩陣B,有ImB=B
逆矩陣
m×m矩陣A的逆矩陣記為A-1
,滿足
AA-1
=A-1
A=ImI
2
=
0
1
矩陣運算
m×m階矩陣A=(ai,j)的行列式記為|A|或detA
如果A為2×2階矩陣,則detA=a1
,1
a2
,2
-a1
,2
a2
,1
如果A為3×3階矩陣,則detA=a1
,1
a2
,2
a3
,3
+a1
,2
a2
,3
a3
,1
+a1
,3
a2
,1
a3
,2-(a1
,1
a2
,3
a3
,2
+a1
,2
a2
,1
a3
,3
+a1
,3
a2
,2
a3
,1
)矩陣運算
推廣到一般情況
如果A為m×m階矩陣,則
其中i1
i2
...im是整數(shù)1到m的一個排列
τ[i1
i2
...im]表示這個排列的逆序數(shù)
遞歸法計算,定義Ai,j表示從A中刪除第i行第j列所得的(m-1)×(m-1)階矩陣,則mi
,j
i
,jdet
A
=
(
-
1)i
+j
aj
=1det
A
(
-
1)τ[
i
1i
2
Li
m]
a1i
a
2i
a
mi1
2
m[
i
1i
2
Li
m]det
A
=矩陣求逆81
矩陣K的逆矩陣存在的充要條件是|K|非零;在模26下,逆矩陣存在的充要條件是|K|與26互素,即gcd(detK,26)=1
矩陣求逆方法一:利用矩陣的初等行變換求逆矩陣(AI
)初
等
行
變
換
(I
A藝1
)
如
0
→
016
10
5
12
1
0
0
1
0
0
21
15
17
3
14
21
0
1
1
0
23
2
8
9
11
0
0
0
1
25
41
03
矩陣求逆82
矩陣求逆方法二:
K-1
=(detK)-1
K*
K*表示K的伴隨矩陣
K*的第i行第j列取值為(-1)i+jdetKji,Kji是刪除K的第j行第i列后形成的矩陣
2,12,2
k1,1
k1,2
對二階矩陣K=
kk
-1
2,11,1
k2,2
-k1,2
K-1=(det
K)
-k
k
2,11,1
有
K*
=
k2,2
-k1,2
-k
k矩陣求逆舉例83
設(shè)矩陣
是定義在Z2
6
上的矩陣,可計算detK=7,且(detK)-1
=1
5
K的伴隨矩陣為
因此K-1
存在且為
*K
=
517
1
15
14
8
19
2
21
K
=
321
8
10
5
12
14
911
K-
1
=
15K*
=
2316
21
15
17
2
25
43
*利用ma
tla
b進行矩陣運算
定義矩陣,命令行輸入:
A=[1
0
,5
,12
;3
,14
,21
;8
,9
,11
]
求矩陣的行列式值,命令行輸入:
det(A)
求矩陣的逆(非模運算),命令行輸入:
inv(A)
求伴隨矩陣,命令行輸入:
det(A)*inv(A)
mod(det(A)*inv(A),2
6
)85課堂練習(xí)
已知希爾密碼的解密函數(shù)為
試加密明文X=text
1
2
1
22
(
x
,
x
)
=
(
y
,
y
)
5
2
3
置換密碼
置換密碼體制密碼體制的數(shù)學(xué)描述
對于密碼體制的五元組(P,C,K,E,D)有
P=C=(Z2
6
)m,m是一個正整數(shù)
K是由所有定義在集合{1,2,...,m}上的置換組成
對任意的密鑰(即置換)π,定義eπ(
x1
,
x2
,
,
xm)
=
(
xπ(
1),
xπ(
2),
,
xπ(
m)
)dπ(
y1
,
y2
,
,
ym)
=
(
yπ-
1(
1),
yπ-
1(
2),
,
yπ-
1(
m)
)
其中π-1
為置換π的逆置換87置換密碼
置換和逆置換的定義
置換是定義在有限集X上的雙射函數(shù)π:X→X,對任意的x∈X,存在唯一的x’∈X,使得π(x’)=x
置換π的逆置換定義為π-1
:X→Xπ-1
(x)=x’當(dāng)且僅當(dāng)π(x’)=xπ-1
也是X上的一個置換置換密碼舉例
設(shè)m=6,密鑰為如下的置換π
將兩行對調(diào)并重新排序可得逆置換π-1
如下
即x123456π(x)351642y123456π-1
(y)361524eπ(
x1
,
x2
,
x3
,
x4
,
x5
,
x6
)
=
(
x3
,
x5
,
x1
,
x6
,
x4
,
x2
)dπ(
y1
,
y2
,
y3
,
y
4
,
y5
,
y6
)
=
(
y3
,
y6
,
y1
,
y5
,
y2
,
y4
)置換密碼舉例
使用該密碼加密明文
s
he
s
e
l
l
s
s
e
a
s
he
l
l
s
by
t
he
s
e
a
s
hor
e
首先將明文字母每六個分為一組:
s
he
s
e
l
|
l
s
s
e
a
s
| he
l
l
s
b
|
y
t
he
s
e
|
a
s
hor
e
對每組字母使用加密變換可得
EES
LS
H
|
S
ALS
ES
|
LS
HBLE
|
HS
YEET
|
即密文為HRAEOS
EES
LS
HS
ALS
ES
LS
HBLEHS
YEETHRAEOS置換密碼的特性
置換密碼實際上是希爾密碼的特殊形式
給定集合{1,2,...,m}的一個置換π,定義置換π的關(guān)聯(lián)置換矩陣Kπ=(Ki,j)m×m,其元素值為
使用矩陣Kπ為密鑰的希爾密碼等價于使用置換
π為密鑰的置換密碼,且
=
1
若i=π(j)
0
否則i,
jkππ-
1K-
1=
K置換密碼的特性
前面置換密碼的例子中,等價的希爾密碼加密密鑰為
加密函數(shù)為eπ(x)=xKπ=(x1
,x2
,x3
,x4
,x5
,x6
)=(x3
,x5
,x1
,x6
,x4
,x2
)
π
1K
=0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
置換密碼的特性
解密密鑰為-1
解密函數(shù)為dπ(y)=yKπ=(y1
,y2
,y3
,y4
,y5
,y6
)=(y3
,y6
,y1
,y5
,y2
,y4
)
001000
000010
0
1=πK-
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
00
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
流密碼
前面的密碼體制中,連續(xù)的明文元素使用相同的密鑰K來加密
y=y1
y2
...=ek(x1
)ek(x2
)...
這種類型的密碼體制稱為分組密碼
分組密碼的不足
需要設(shè)計復(fù)雜的加密函數(shù)以提高安全性
經(jīng)常需要對明文進行填充(padding)操作以確保分組長度完整
如果k較短,則容易遭到窮舉攻擊流密碼設(shè)計思路
這種密碼體制稱為流密碼(或序列密碼)
可以使用非常簡單的加密算法(如簡單的異或運算)
關(guān)鍵是如何生成密鑰流1
2
將明文看作字符串或比特串,并逐字符或者逐位進行加密
為了防止密鑰窮舉,使用和明文信息一樣長的密鑰(無限)流z=z1
,z2
...進行加密y
=
y1y2
=
ez
(
x1
)
ez
(
x2
)
流密碼的代表
弗納姆(Ve
r
na
m)密碼
1918年,Gi
l
l
ber
t
Ve
r
na
m建議密鑰與明文一樣長并且沒有統(tǒng)計關(guān)系的密鑰內(nèi)容,他采用的是二進制數(shù)據(jù):加密:Ci解密:Pi=
Pi
⊕Ki=
Ci
⊕Ki
關(guān)鍵:構(gòu)造和消息一樣長的隨機密鑰異或運算
位的異或運算
0
⊕0
=0
,
0
⊕1
=1
,
1
⊕0
=1
,
1
⊕1
=0
異或運算等價模2加法運算
特性:兩次異或運算以后還原,可設(shè)計加密和脫密完全相同的函數(shù)。97流密碼特點
運算簡單
實時性強
安全性依賴與密鑰流的產(chǎn)生方法流密碼的分類
按密鑰的周期性分類
周期流密碼;
存在某個固定的正整數(shù)r,使得密鑰流每隔r個字符(或者比特)以后重復(fù)
非周期流密碼
對任何正整數(shù)密鑰流都不重復(fù)
如一次一密亂碼本流密碼的分類
按密鑰的產(chǎn)生方式分類
同步流密碼
密鑰流的產(chǎn)生獨立于消息流;
例如分組密碼的OFB(輸出反饋)模式
異步流密碼
每一個密鑰字符是由前面n個明文或密文字符推導(dǎo)出來的,其中n為定值。
例如分組密碼的CFB(密碼反饋)模式同步流密碼
使用某種算法,由一個初始密鑰變換出和明文串相互獨立的密鑰流。定義如下:
同步流密碼是一個六元組(P,C,K,L,E,D)和一個函數(shù)g,且滿足如下條件P,C,K分別是明文、密文、密鑰的有限集L是密鑰流字母表有限集
g是密鑰流生成器,g使用密鑰k∈K作為輸入,產(chǎn)生無限長的密鑰流Z=z1
z2
...,其中zi∈L對任意的z∈L,都有一個加密規(guī)則(函數(shù))ez:P→C∈E和相應(yīng)的解密規(guī)則(函數(shù))dz:C→P∈D,并且對每個明文x∈P滿足流密碼和分組密碼的關(guān)系
分組密碼可以看做流密碼的特殊情況
如維吉尼亞密碼,可以看做是一種短周期的同步流密碼ek(x)=(x1
+k1
,x2
+k2
,...,xm+km)k
1
1
2
2m
md
(y)=(y
-k
,y
-k
,...,y
-k
)
密鑰流定義
即密鑰流是周期為m的密鑰序列
k1
k2
...kmk1
k2
...kmk1
k2
...km...
分組密碼可以用于生成密鑰序列i
≥m
+
1ii
k1
≤i
≤m
z
=為
z
i藝m密鑰流的產(chǎn)生
理想的密鑰流是隨機不重復(fù)的
真隨機
拋硬幣、擲骰子、噪聲發(fā)生器
收發(fā)雙方難以同步
無周期性
密鑰和密文等長
一次一密亂碼本
難以在高帶寬的信道上使用103密鑰流的產(chǎn)生
真正的隨機序列往往難以實用,實際多用線性遞歸關(guān)系產(chǎn)生偽隨機序列
例如設(shè)m=4,(a1
,a2
,a3
,a4
)為(0,0,0,1)密鑰流按如下線性遞歸關(guān)系產(chǎn)生:
ai+4
=(ai+ai+3
)mod2(等價于ai+4
=ai⊕ai+1
)
產(chǎn)生的密鑰序列為a1
a2
a3
a4
a5
....,即
0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
...
周期為24
-1=15
(a1
,a2
,a3
,a4
)通常被稱為初始向量密鑰流的產(chǎn)生
這種方式可以使用硬件輕易實現(xiàn),此硬件稱為線性反饋移位寄存器(LFSR,LinearFeedback
Shift
Register)anan-1a2a1......⊕
⊕c1
c2⊕cn-1......cn=1c0=1輸出{ak}(a
1
,
a
2
,...
,a
n
)輸出序列為{a
k}=
a
1
a
2
...a
n
...a
i(t+1)=a
i+1
(t)a
n(t+1
)=cna
1
(t)
⊕cn-1
a
2
(t)
⊕...
⊕
c1
a
n(t)ai(t+1
)=ai+1
(t)a4
(t+1
)=a1
(t)
⊕a4
(t)ta
4a
3a
2a
1ta
4a
3a
2
a
1010009011
01110010001
12111011100
04011113001
05101114000
16010115100
07101016110
081101............
...a4a3a2a1⊕輸出{ak}c4
=1c1
=1返回LFSR示例說明106
周期為24
-1
=15
cn=1的n級LFSR其輸出序列為周期序列,且周期數(shù)r滿足r≤2
n-1
若n級LFSR的輸出序列的周期達到最大2
n-1,則稱之為m序列
f(x)=c0
+c1
x+c2
x2
+...+cnxn描述LFSR的反饋連接狀態(tài),稱為特征多項式
可以證明,一個n級LFSR能產(chǎn)生m序列的充要條件是它的特征多項式為一個n次本原多項式本原多項式107
若一個n次多項式f(x)的階為2n-1,即滿足條件:
f(x)為既約多項式
f(x)可整除(x2n-1+1)
f(x)不能整除(xp+1),其中p<2n-1eg. n=4,周期為24-1=15,其特征多項式是能整除
(x15+1)的4次本原多項式x15+1=(
x+1)
(
x2+x+1)
(
x4+x+1)
(
x4+x3+1)
(
x4+x3+x2+x+1)由于x4+x3+x2+x+1|
x5+1,所以本原多項式為,x4+x+1和x4+x3+1,選擇f(x)=
x4+x+1,即c4=c1=c0=1見前例本原多項式n2n-1λ(n)n2n-1λ(n)1111120471762311240951443721381916304152141638375653161532767180066361665535204871271817131071771082551618262143777695114819524287275941010236020104857524000可以產(chǎn)生λ(n)×2
n-1種密鑰流m序列的特性
Golomb提出0-1序列的隨機性公設(shè)若r是奇數(shù),則0-1序列的一個周期內(nèi)0的個數(shù)比1的個數(shù)多一個或少一個;若r是偶數(shù),則其個數(shù)相等。在長度為r的周期內(nèi),1游程的個數(shù)為游程總數(shù)的1/2,2游程的個數(shù)占總數(shù)的
1/22
,m序列的特性
偽隨機序列
游程eg.0-1序列00110111,00稱為0的2游程;
自相關(guān)函數(shù)eg.假定s
1
s
2
s
3
...為0-1序列,r為其周期,即r為滿足sm+r=sm的最小正整數(shù),若有兩個子序列s
1
,s
2
,s
3
,...,
s
rs
1
+τ,s
2
+τ,s
3
+τ,...,
s
r+τ定義R(τ)=(n
τ-d
τ)/r其中:n
τ為該兩個子序列中相應(yīng)位相同的數(shù)目,不同的位的數(shù)目即為d
τ=r-n
ττ=0,有R(τ)=1m序列的特性
平衡特性m序列中1的個數(shù)比0的個數(shù)多1
游程特性1的最大游程為n游程,有且僅有1個,因為會出現(xiàn)1個全1狀態(tài)1
1
1...1,那么會出現(xiàn)串0
1......1
0,則經(jīng)歷狀態(tài)為1
...1
0
,1
...1
,
0
1
...1不存在1的n-1游程,會出現(xiàn)1個0的n-1游程,則出現(xiàn)串1
0...0
1,經(jīng)歷狀態(tài)0...0
1和1
0...0當(dāng)n>2,設(shè)r為不超過n-2的任一正整數(shù),則任何1的r游程表示存在串
0
1...1
0
(r+2位),其游程數(shù)目為2
n-r-2
,于是,在每一周期中出現(xiàn)1的游程個數(shù)為=2
n-2同樣,出現(xiàn)0的游程個數(shù)為2
n-2
,游程總數(shù)為2
n-1e
g.
n=4
,0
0
0
1
1
1
1
0
1
0
1
1
0
0
1
;r
=1n藝21+
2n藝r藝2m序列的特性
位移相加特性m序列和它的位移序列模2相加后所得序列仍是該m序列的某個位移序列。設(shè)序列{ak}為m序列,且滿足遞推關(guān)系:ah+n=cnah
⊕cn-1
ah+1
⊕...
⊕
c1
ah+n-1位移τ位:ah+n+τ=cnah+τ⊕cn-1
ah+1+τ⊕...⊕c1
ah+n-1+τ,則ah+n
⊕ah+n+τ=
cn(ah⊕ah+τ)⊕cn-1
(ah+1
⊕ah+1+τ)⊕...
⊕
c1
(ah+n-1
⊕
ah+n-1
+τ)
自相關(guān)特性設(shè)兩子串為{at}和{at+τ},則{at}⊕{at+τ}中為0的位的數(shù)目正好是兩個子串中對應(yīng)位相同的位數(shù),則:R(τ)=(n
τ-d
τ)/r=-1/2
n-1
(
τ≠0)當(dāng)τ=0時,R(τ)=1利用LFS
R設(shè)計加密算法
同步序列密碼實現(xiàn)anan-1a2a1......⊕
⊕c1
c2⊕cn-1......cn=1c0=1輸出{ak}密鑰流⊕明文密文異步流密碼
同步流密碼存在周期問題
異步流密碼思路
密鑰流z的產(chǎn)生不但與密鑰K有關(guān),而且還與明文元素(x1
,x2
,...,xi-1)或密文元素(y1
,y2
,...,yi-1
)有關(guān)
自動密鑰密碼
通過K和明文產(chǎn)生密鑰流115自動密鑰密碼
自動密鑰密碼體制的數(shù)學(xué)描述
自動密鑰密碼是一個六元組(P,C,K,L,E,D),滿足以下條件
P=C=K=L=Z2
6
密鑰流定義:z1
=k∈K,zi=xi-1
,i≥2
對任意的z∈K,x,y∈Z2
6
,定義
ez(x)=(x+z)mod2
6dz(y)=(y-z)mod2
6自動密鑰密碼舉例
假設(shè)k=8,明文為r
e
nde
z
v
ous
加密過程如下:
首先將明文轉(zhuǎn)換為整數(shù)序列:
1
7
4
1
3
3
4
2
5
2
1
1
4
2
0
1
8
根據(jù)z1
=k=8,zi=xi-1
得到密鑰流為:
8
1
7
4
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄭州美術(shù)學(xué)院《嵌入式系統(tǒng)與接口技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江大學(xué)《工程圖學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 漳州理工職業(yè)學(xué)院《中學(xué)政治學(xué)科教學(xué)技能訓(xùn)練》2023-2024學(xué)年第一學(xué)期期末試卷
- 深度學(xué)習(xí)中特征表征優(yōu)化策略
- 保險業(yè)務(wù)創(chuàng)新培訓(xùn)模板
- AI技術(shù)保險創(chuàng)新模板
- 雙十二營銷優(yōu)化
- 專業(yè)基礎(chǔ)-房地產(chǎn)經(jīng)紀(jì)人《專業(yè)基礎(chǔ)》名師預(yù)測卷1
- 房地產(chǎn)經(jīng)紀(jì)綜合能力-2019年房地產(chǎn)經(jīng)紀(jì)人協(xié)理《房地產(chǎn)經(jīng)紀(jì)綜合能力》真題匯編
- 2024-2025學(xué)年陜西省西安八十三中八年級(上)期末數(shù)學(xué)試卷
- 2022年中國城市英文名稱
- 語言規(guī)劃課件
- 綠色簡潔商務(wù)匯總報告PPT模板課件
- 下肢皮牽引護理PPT課件(19頁PPT)
- 臺資企業(yè)A股上市相關(guān)資料
- 電 梯 工 程 預(yù) 算 書
- 參會嘉賓簽到表
- 形式發(fā)票格式2 INVOICE
- 2.48低危胸痛患者后繼治療評估流程圖
- 人力資源管理之績效考核 一、什么是績效 所謂績效簡單的講就是對
- 山東省醫(yī)院目錄
評論
0/150
提交評論