網(wǎng)絡(luò)通訊與信息安全課件 10 信息安全技術(shù)_第1頁(yè)
網(wǎng)絡(luò)通訊與信息安全課件 10 信息安全技術(shù)_第2頁(yè)
網(wǎng)絡(luò)通訊與信息安全課件 10 信息安全技術(shù)_第3頁(yè)
網(wǎng)絡(luò)通訊與信息安全課件 10 信息安全技術(shù)_第4頁(yè)
網(wǎng)絡(luò)通訊與信息安全課件 10 信息安全技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩144頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1密碼學(xué)基礎(chǔ)1.1密碼學(xué)的起源、發(fā)展及應(yīng)用1.1.1信息傳遞的一般問(wèn)題信源、信道、信宿攻擊的種類(lèi):中斷(Interruption)(干擾)截?。↖nterception)(偵聽(tīng))修改(Modification)偽造(Fabrication)角色:通信雙方、可信第三方、不可信第三方介質(zhì):軟件、硬件、數(shù)據(jù)10、1密碼體制1InterruptionInterceptionFabricationModificationNormalFlowInformationSourceInformationDestination1.1.1信息傳遞的一般問(wèn)題21.1.2數(shù)據(jù)的性質(zhì)Interruption--Interception--Modification--Fabrication--

AvailabilityAvailability

ConfidentialityConfidentiality

Integrity

Integrity

Authenticity

Authenticity31.1.3攻擊的類(lèi)型被動(dòng)攻擊竊聽(tīng)獲取消息內(nèi)容流量分析主動(dòng)攻擊中斷修改偽造破壞可用性破壞完整性破壞真實(shí)性4可信的第三方(秘密信息的判定者、分發(fā)者)MessageSecretInformationMessageSecretInformationSecurity-relatedTransformationSecurity-relatedTransformationOpponentPrincipalPrincipal1.1.4一個(gè)通用的網(wǎng)絡(luò)安全模型5加密(編碼)解密(解碼)加密過(guò)程:對(duì)明文數(shù)據(jù)進(jìn)行的可逆變換的過(guò)程,變換為加密變換。加密變換由一個(gè)參數(shù)k1控制,叫加密密鑰。解密過(guò)程:恢復(fù)明文的過(guò)程為解密過(guò)程,其變換稱(chēng)為解密變換,它也由一個(gè)參數(shù)k2控制叫解密密鑰。密碼系統(tǒng):用于加密與解密的系統(tǒng)密碼員與密碼分析員明文:變換前有意義的數(shù)據(jù)明文空間:所有可能的明文組成的集合密文:變換后表面上雜亂無(wú)章的數(shù)據(jù)密文空間:所有可能密文組成的集合稱(chēng)為密文空間。加密解密明文密文原來(lái)的明文1.1.5密碼學(xué)術(shù)語(yǔ)61.1.5密碼學(xué)術(shù)語(yǔ)加密解密明文密文原來(lái)的明文加密解密明文密文原來(lái)的明文加密解密明文密文原來(lái)的明文KKKEKD71.1.6保密系統(tǒng)的shannon模型CryptanalystMessagesourcecDestinationKeysourceEncryptionalgorithmDecryptionalgorithmPCPP’K’SecurechannelKC=EK(M)M=DK(C)P’estimationofPK’estimationofK8目標(biāo):試圖破譯單條消息試圖識(shí)別加密的消息格式,以便借助直接的解密算法破譯后續(xù)的消息試圖找到加密算法中的普遍缺陷(無(wú)須截取任何消息)條件與工具:已知加密消息,已知加密算法,截取到明文、密文中已知或推測(cè)的數(shù)據(jù)項(xiàng),數(shù)學(xué)或統(tǒng)計(jì)工具和技術(shù),語(yǔ)言特性,計(jì)算機(jī),技巧與運(yùn)氣。加密算法的好與壞—破譯難度-理論難度,如解密運(yùn)算需1012年(分析技巧可以降低破譯代價(jià))-運(yùn)算能力,飛速發(fā)展1.1.7密碼分析--目標(biāo)9破譯以下密文:wuhdwb

lpsrvvleohTREATYIMPOSSIBLECi=E(Pi)=Pi+3加密算法:字母表:(密碼本)ABCDEFGHIJKLMNOPQRSTUVWXYZdefghijklmnopqrstuvwxyzabc1.1.7密碼分析--愷撒密碼舉例:愷撒密碼10愷撒密碼的特點(diǎn)單字母密碼(簡(jiǎn)單替換技術(shù))簡(jiǎn)單,便于記憶缺點(diǎn):結(jié)構(gòu)過(guò)于簡(jiǎn)單,密碼分析員只使用很少的信息就可預(yù)言加密的整個(gè)結(jié)構(gòu)已知加密與解密算法C=E(p)=(p+k)mod(26)p=D(C)=(C-k)mod(26)25個(gè)可能的密鑰k,適用Brute-ForceCryptanalysis明文已知且易于識(shí)別1.1.7密碼分析--愷撒密碼111.1.7密碼分析--愷撒密碼例:

PHHWPHDIWHUWKHWRJDSDUWB1 oggv

og

chvgt

vjg

vqic

rctva2 nffu

nf

bgufs

uif

uphb

qbsuz3 meetmeafterthetogaparty4 lddsldzesdq

sgd

snfz

ozqsx56...25 qiix

qi

ejxivxlixske

tevxc12其它單字母替換使用密鑰keyABCDEFGHIJKLMNOPQRSTUVWXYZkeyabcdfghijlmnopqrstuvwxzspectacularABCDEFGHIJKLMNOPQRSTUVWXYZspectaulrbdfghijkmnoqvwxyz泄露給破譯者的信息更少1.1.7密碼分析--其他單字母替換13對(duì)字母進(jìn)行無(wú)規(guī)則的重新排列

E(i)=3*imod26ABCDEFGHIJKLMNOPQRSTUVWXYZadgjmpsvybehknqtwzcfilorux單字母變換的特點(diǎn):任意替換:26!>4x1026可能的key,大于56位DES的密鑰空間?;谡Z(yǔ)言統(tǒng)計(jì)規(guī)律仍可破譯1.1.7密碼分析--單字母變換141.1.7密碼分析--英文字母頻度表RelativeFrequencyoflettersinEnglishText151.1.7密碼分析--字母頻度表舉例例:UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ16多字母替換密碼--平穩(wěn)分布單字母替換E1和E2,分別用于明文信息中奇數(shù)和偶數(shù)位置的字符,從而打亂密文中的字母分布頻率特性(通常E2應(yīng)為的E1補(bǔ)充)1.1.7密碼分析--多字母替換密碼例1:E1(a)=a E2(a)=25-aItwasthebestoftimes,itwastheworstoftimes…Ig

wzs

ghv

bvsg

ou

trmvs

rt

dah

tse

doisg

ou

trmvs…ABCDEFGHIJKLMNOPQRSTUVWXYZZyxwvutsrqponmlkjihgfedcba17例2:

E1(T)=a,E2(T)=b;E1(X)=b,E2(X)=aE1(a)=(3*a)mod26E2(a)=((5*a)+13)mod26)012345678910111213141516171819202122232425abcdefghijklmnopqrstuvwxyzTREATYIMPOSSIBL

E1.1.7密碼分析--多字母替換密碼ftumnfdyvfczyshh18基本思想:擴(kuò)大排列數(shù)目,輪流使用三種排列,則平滑分布的機(jī)會(huì)會(huì)大大增加。若三種排列效果好,則四種的效果很好,五種則更好。最大26種排列,這樣,可以將一個(gè)明文字母編碼成任意多個(gè)密文字母。維基尼亞表:26x26矩陣表示26種排列組合

abcdefghijklmnopqrstuvwxyzA abcdefghijklmnopqrstuvwxyz 0B bcdefghijklmnopqrstuvwxyza 1C cdefghijklmnopqrstuvwxyzab 2D defghijklmnopqrstuvwxyzabc 3E efghijklmnopqrstuvwxyzabcd 4F fghijklmnopqrstuvwxyzabcde 5G ghijklmnopqrstuvwxyzabcdef 6H hijklmnopqrstuvwxyzabcdefg 7I ijklmnopqrstuvwxyzabcdefgh 81.1.7密碼分析--Viginere維基尼亞表19

abcdefghijklmnopqrstuvwxyzJ jklmnopqrstuvwxyzabcdefghi 9K klmnopqrstuvwxyzabcdefghij10L lmnopqrstuvwxyzabcdefghijk11M mnopqrstuvwxyzabcdefghijkl12N nopqrstuvwxyzabcdefghijklm13O opqrstuvwxyzabcdefghijklmn14P pqrstuvwxyzabcdefghijklmno15Q qrstuvwxyzabcdefghijklmnop16R rstuvwxyzabcdefghijklmnopq17S stuvwxyzabcdefghijklmnopqr18T tuvwxyzabcdefghijklmnopqrs19U uvwxyzabcdefghijklmnopqrst20V vwxyzabcdefghijklmnopqrstu21W wxyzabcdefghijklmnopqrstuv22X xyzabcdefghijklmnopqrstuvw23Y yzabcdefghijklmnopqrstuvwx24Z zabcdefghijklmnopqrstuvwxy251.1.7密碼分析--Viginere維基尼亞表20例:密鑰=julietjulie

tjuli

etjul

ietju

lietj

uliet

julie

BUTSOFTWHATLIGHTTHROUGHYONDERWINDOWkoeas

ycqsi-------------------------1.1.7密碼分析--Viginere維基尼亞表211.1.7密碼分析--其他方法

Message:Iamateacher!CipherText:421123114451113132512422密碼分析的例:

wklv

phvvdjh

lv

qrw

wrr

kdug

wr

euhdn

T-------------OTTOO----TO-----2.先考慮英語(yǔ)中的短詞,如:amistobehewe…,andareyoushe等1.空格給出了分詞的重要信息(通常實(shí)用中將空格刪除,甚至通常將字符分5個(gè)一組書(shū)寫(xiě)。)3.重要線索:wrr,英文中常用xyy結(jié)構(gòu)的單詞只有see和too,次常用的單詞還有add,odd,off,特別生疏的單詞woo和gee4.單詞lv是wklv的結(jié)尾,有可能是雙字母單詞SO,IS,IN等等….T-SO不可能;q=N,IN不可能。Lv可能是IS.T------------NOTTOO----TO-----T-IS-------ISNOTTOO----TO-----1.1.7密碼分析23替換是密碼學(xué)中有效的加密方法。20世紀(jì)上半葉用于外交通信。破譯威脅來(lái)自頻率分布重合指數(shù)考慮最可能的字母及可能出現(xiàn)的單詞重復(fù)結(jié)構(gòu)分析及克思斯基方法持久性、組織性、創(chuàng)造性和運(yùn)氣1.1.7密碼分析--總結(jié)24Shannon特性(1949)所需的保密程度決定了用于加密和解密過(guò)程的相應(yīng)的工作量密鑰的組或加密算法應(yīng)該不受其復(fù)雜性的影響處理的實(shí)現(xiàn)應(yīng)盡可能簡(jiǎn)單編碼中的錯(cuò)誤不應(yīng)傳播及影響后面的消息加密后正文的尺寸不應(yīng)大于明文的尺寸。1.1.7密碼分析--安全密碼的特性25所謂傳統(tǒng)的密碼體制又稱(chēng)常規(guī)密鑰密碼體制,即加密密鑰與解密密鑰是相同的。對(duì)稱(chēng)密鑰密碼體制從加密模式上可分為序列密碼和分組密碼兩大類(lèi)。序列密碼一直是作為軍事和外交場(chǎng)合使用的主要密碼技術(shù)之一,它的主要原理是,通過(guò)有限狀態(tài)機(jī)產(chǎn)生性能優(yōu)良的偽隨機(jī)序列,使用該序列加密信息流,(逐比特加密)得到密文序列,所以,序列密碼算法的安全強(qiáng)度完全決定于它所產(chǎn)生的偽隨機(jī)序列的好壞。衡量一個(gè)偽隨機(jī)序列好壞的標(biāo)準(zhǔn)有多種,比較通用的有著名的Golamb的三個(gè)條件,Rueppel的線性復(fù)雜度隨機(jī)走動(dòng)條件,線性逼近以及產(chǎn)生該序列的布爾函數(shù)滿(mǎn)足的相關(guān)免疫條件等。產(chǎn)生好的序列密碼的主要途徑之一是利用移位寄存器產(chǎn)生偽隨機(jī)序列。2.傳統(tǒng)的密碼體制262.1序列密碼--線性移位寄存器f(aj-1,aj-2,…,aj-n)aj-1aj-2aj-3aj-n+1aj-n…c0c1c2cn-2cn-1輸出時(shí)間脈沖f(aj-1,……,aj-n)=c0aj-3……

cn-1aj-n272.1序列密碼--線性移位寄存器f(aj-3,aj-2,aj-1)aj-3aj-2aj-1C0=1C1=0C2=1輸出f(aj-1,aj-2,aj-3)=c0aj-3c1aj-2c2aj-1=aj-3aj-1 00111010028例:一次一密密碼體制292.1序列密碼--工作原理假設(shè)m=

m0m1m2……是一個(gè)待加密的明文序列,k=k0k1k2……是一個(gè)與明文序列等長(zhǎng)的二元偽隨機(jī)序列,稱(chēng)為密鑰序列。明文序列m=

m0m1m2……密鑰序列k=

k0k1k2……密文序列c=

c0c1c2……序列密碼的加密過(guò)程明文序列m=

m0m1m2……密鑰序列k=

k0k1k2……密文序列c=

c0c1c2……序列密碼的解密過(guò)程302.2分組密碼分組密碼的工作方式是將明文分成固定長(zhǎng)度的組(塊),如64比特一組,用同一密鑰和算法對(duì)每一塊加密,輸出也是固定長(zhǎng)度的密文。例如DES密碼算法的輸入為64比特明文,密鑰長(zhǎng)度56比特,密文長(zhǎng)度64比特。設(shè)計(jì)分組密碼算法的核心技術(shù)是:在相信復(fù)雜函數(shù)可以通過(guò)簡(jiǎn)單函數(shù)迭代若干圈得到的原則下,利用簡(jiǎn)單圈函數(shù)及對(duì)等運(yùn)算,充分利用非線性運(yùn)算。312.2分組密碼--DES加密算法的背景發(fā)明人:美國(guó)IBM公司W(wǎng).Tuchman和C.Meyer1971-1972年研制成功?;A(chǔ):1967年美國(guó)HorstFeistel提出的理論產(chǎn)生:美國(guó)國(guó)家標(biāo)準(zhǔn)局(NBS)1973年5月到1974年8月兩次發(fā)布通告,公開(kāi)征求用于電子計(jì)算機(jī)的加密算法。經(jīng)評(píng)選從一大批算法中采納了IBM的LUCIFER方案。標(biāo)準(zhǔn)化:DES算法1975年3月公開(kāi)發(fā)表,1977年1月15日由美國(guó)國(guó)家標(biāo)準(zhǔn)局頒布為數(shù)據(jù)加密標(biāo)準(zhǔn)(DataEncryptionStandard),于1977年7月15日生效。美國(guó)國(guó)家安全局(NSA,NationalSecurityAgency)參與了美國(guó)國(guó)家標(biāo)準(zhǔn)局制定數(shù)據(jù)加密標(biāo)準(zhǔn)的過(guò)程。NBS接受了NSA的某些建議,對(duì)算法做了修改,并將密鑰長(zhǎng)度從LUCIFER方案中的128位壓縮到56位。1979年,美國(guó)銀行協(xié)會(huì)批準(zhǔn)使用DES。1980年,DES成為美國(guó)標(biāo)準(zhǔn)化協(xié)會(huì)(ANSI)標(biāo)準(zhǔn)。1984年2月,ISO成立的數(shù)據(jù)加密技術(shù)委員會(huì)(SC20)在DES基礎(chǔ)上制定數(shù)據(jù)加密的國(guó)際標(biāo)準(zhǔn)工作。32為二進(jìn)制編碼數(shù)據(jù)設(shè)計(jì)的,可以對(duì)計(jì)算機(jī)數(shù)據(jù)進(jìn)行密碼保護(hù)的數(shù)學(xué)運(yùn)算。64位明文變換到64位密文,密鑰64位,實(shí)際可用密鑰長(zhǎng)度為56位。DES使用56位密鑰對(duì)64位的數(shù)據(jù)塊進(jìn)行加密,并對(duì)64位的數(shù)據(jù)塊進(jìn)行16輪編碼。與每輪編碼時(shí),一個(gè)48位的“每輪”密鑰值由56位的完整密鑰得出來(lái)。DES用軟件進(jìn)行解碼需用很長(zhǎng)時(shí)間,而用硬件解碼速度非??臁P疫\(yùn)的是,當(dāng)時(shí)大多數(shù)黑客并沒(méi)有足夠的設(shè)備制造出這種硬件設(shè)備。在1977年,人們估計(jì)要耗資兩千萬(wàn)美元才能建成一個(gè)專(zhuān)門(mén)計(jì)算機(jī)用于DES的解密,而且需要12個(gè)小時(shí)的破解才能得到結(jié)果。當(dāng)時(shí)DES被認(rèn)為是一種十分強(qiáng)壯的加密方法。但是,當(dāng)今的計(jì)算機(jī)速度越來(lái)越快了,制造一臺(tái)這樣特殊的機(jī)器的花費(fèi)已經(jīng)降到了十萬(wàn)美元左右,而用它來(lái)保護(hù)十億美元的銀行間線纜時(shí),就要存細(xì)考慮了,另一方面,如果只用它來(lái)保護(hù)一臺(tái)服務(wù)器,那么DES確實(shí)是一種好的辦法,因?yàn)楹诳徒^不會(huì)僅僅為入侵一個(gè)服務(wù)器而花那么多的錢(qián)破解DES密文。由于現(xiàn)在已經(jīng)能用二十萬(wàn)美元制造一臺(tái)破譯DES的特殊的計(jì)算機(jī),所以現(xiàn)在對(duì)要求"強(qiáng)壯"加密的場(chǎng)合已經(jīng)不再適用了。2.2分組密碼--DES概述33確定一種新的加密法是否真的安全是極為困難的,何況DES的密碼學(xué)缺點(diǎn)只是密鑰長(zhǎng)度相對(duì)比較短,所以人們并沒(méi)有放棄使用DES,而是想出了一個(gè)解決其長(zhǎng)度方法,即采用三重DES,。這種方法用兩個(gè)密鑰對(duì)明文進(jìn)行三次加密,假設(shè)兩個(gè)密鑰是K1和K2。1.用密鑰K1進(jìn)行DES加密。2.用K2對(duì)步驟1結(jié)果進(jìn)行DES加密。3.用步驟2的結(jié)果使用密鑰K1進(jìn)行DES加密。這種方法的缺點(diǎn),花費(fèi)是原來(lái)三倍,但從另一方面來(lái)看,三重DES的112位密鑰長(zhǎng)度是很"強(qiáng)壯"的加密方式了。2.2分組密碼--三重DES34DES可提供72,000,000,000,000,000個(gè)密鑰,用每微秒可進(jìn)行一次DES加密的機(jī)器來(lái)破譯密碼需兩千年。自從DES算法頒布以來(lái),世界各地相繼出現(xiàn)了多種密碼算法,之所以出現(xiàn)這些算法,有政治原因和技術(shù)原因,各國(guó)在商用方面都需要自己設(shè)計(jì)的密碼算法,不能依靠外國(guó)的算法。這些算法有:LUCIFER算法,Madryga算法,NewDES算法,F(xiàn)EAL-N算法,REDOC算法,LOKI算法,KHUFU算法,KHAFRE算法,RC2及RC4算法,IDEA算法,MMB算法,CA-1.1算法,SKIPJACK算法,Karn

算法以及MDC算法等。其中多數(shù)算法為專(zhuān)利算法。2.2分組密碼--其他的DES算法變體35清華大學(xué)研制開(kāi)發(fā)了TUC系列密碼算法,已申請(qǐng)國(guó)家專(zhuān)利。1.對(duì)稱(chēng)密碼算法(專(zhuān)利)TUC,密鑰長(zhǎng)度:128-256Bit2.非對(duì)稱(chēng)密碼算法,橢圓曲線密碼系統(tǒng),密鑰長(zhǎng)度:104-185Bit3.Hash函數(shù)HAS,128Bit4.證書(shū)系統(tǒng)5.改進(jìn)的具有公鑰系統(tǒng)的Kerberos系統(tǒng)2.2分組密碼--TUC算法36DES的兩個(gè)主要弱點(diǎn):密鑰容量:56位不太可能提供足夠的安全性S盒:可能隱含有陷井(Hiddentrapdoors)DES的半公開(kāi)性:S盒的設(shè)計(jì)原理至今未公布2.2分組密碼--DES算法的公開(kāi)性與脆弱性37可變的密鑰長(zhǎng)度數(shù)據(jù)相關(guān)的圈數(shù)密鑰相關(guān)的圈數(shù)密鑰相關(guān)的S盒變量F可變長(zhǎng)明文/密文塊長(zhǎng)度可變?nèi)?shù)每圈操作作用于全部數(shù)據(jù)2.2分組密碼--先進(jìn)對(duì)稱(chēng)分組加密算法的特點(diǎn)381.有很強(qiáng)的保密強(qiáng)度且經(jīng)受住時(shí)間的檢驗(yàn)和攻擊。2.加密速度快,可用硬件加密。2.2分組密碼--常規(guī)密碼體制密碼的優(yōu)點(diǎn):392.2分組密碼--DES算法詳解64位碼64位碼初始變換逆初始變換乘積變換明文密文輸入輸出IPIP-1402.2分組密碼--初始變換IP輸入(64位)58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157輸出(64位)初始變換IPL0(32位)R0(32位)412.2分組密碼--迭代過(guò)程左32位右32位Li-1Ri-1選擇E48位(明文)64位密鑰作第i次迭代的計(jì)算機(jī)子密鑰Ki密鑰程序表48位(密鑰)8組6位碼S1S2S8模2加選擇函數(shù)輸入:6位輸出:4位+++++…+++++422.2分組密碼--迭代過(guò)程32位置換32位32位LiRi左32位右32位Ri-1Li-1模2加+++++...++++++乘積變換中的一次迭代432.2分組密碼--逆初始變換IP-1置換碼組輸入(64位)40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725輸出(64位)逆初始變換IP-1442.2分組密碼--DES算法詳解64位碼64位碼初始變換逆初始變換L0明文密文輸入輸出IPIP-1R0452.2分組密碼--密鑰表的計(jì)算邏輯64位密鑰置換選擇1C0(28位)D0(28位)循環(huán)左移循環(huán)左移C1(28位)D1(28位)置換選擇2K1(48位)(56位)循環(huán)左移循環(huán)左移Ci(28位)Di(28位)置換選擇2Ki(48位)(56位)密鑰表的計(jì)算邏輯循環(huán)左移:119121102321124212252132621427215282161462.2分組密碼--DES算法詳解57494133251791585042342618102595143352719113605244366355473931331576254463830221466153453729211352820124置換選擇1密鑰(64位)C0(28位)D0(28位)472.2分組密碼--DES算法詳解Ci(28位)Di(28位)1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932Ki(48位)置換選擇2482.2分組密碼--DES算法詳解加密函數(shù)(A,Ki)A(32位)加密時(shí)A=Ri;解密時(shí)A=Li;選擇運(yùn)算E48位結(jié)果Ki+選擇函數(shù)組(S1~S8)32位結(jié)果(A,Ki)置換運(yùn)算P32位492.2分組密碼--DES算法詳解A32位3212345456789891011121312131415161716171819202120212223242524252627282928293031321選擇運(yùn)算E選擇運(yùn)算E的結(jié)果48位加密函數(shù)的選擇運(yùn)算E502.2分組密碼--DES算法詳解選擇函數(shù)的輸出(32位)1672021291228171152326518311028241432273919133062211425置換P加密函數(shù)的結(jié)果(32位)512.2分組密碼--DES算法詳解

01234567891011121314150

14413121511831061259071

01574142131106121195382

41148136211151297310503

1512824917511314100613S11

0110

0

1020010輸入6位輸出4位使用選擇函數(shù)S1的例子522.2分組密碼--DES算法加解密方程L0R0←IP(明文)L1←R0

R1←L0(R0,K1)L2←R1

R2←L1(R1,K2)……L16←R15

R16←L15(R15,K16)密文←IP-1(R16L16)加密方程:L0R0←IP(<64位明文>)Ln←Rn-1Rn←Ln-1(Rn-1,Kn)<64位密文>←IP-1(R16L16)解密方程:R16L16←IP(<64位密文>)Rn-1←LnLn-1←Rn(Ln,Kn)<64位明文>←IP-1(L0R0)531997年1月28日美國(guó)RSA數(shù)據(jù)安全公司懸賞“秘密密鑰挑戰(zhàn)”競(jìng)賽48位的RC5313小時(shí)/3500臺(tái)計(jì)算機(jī)1997年3月13日Rocke

Verser設(shè)計(jì)一個(gè)攻擊程序(DESCHALL),參加的志愿者有78516個(gè),第96天(6月17日晚10:39)MichaelSanders破譯成功,獲1萬(wàn)美元獎(jiǎng)金。搜索量為24.6%。2.2分組密碼--對(duì)DES攻擊結(jié)果及其啟示54密鑰長(zhǎng)度(bit) 窮舉時(shí)間40 78秒48 5小時(shí)56 59天64 41年72 10,696年80 2,738,199年88 700,978,948年96 179,450,610,898年112 11,760,475,235,863,837年128 770,734,505,057,572,442,069年2.2分組密碼--對(duì)DES攻擊結(jié)果及其啟示DESCHALL搜索速度估算55IDEA加密算法1991年賴(lài)學(xué)佳和JamesMasseyofSwissFederalInstituteofTechnology64位分組,128位密鑰,8圈Daemen發(fā)現(xiàn)該算法有多達(dá)251個(gè)弱密鑰

BLOWFISHBruceSchneier1995發(fā)表,64位分組,最大到448位可變長(zhǎng)密鑰。Fast,compact,simple,variablysecure.RC5、RC2RonRivest開(kāi)發(fā),可變長(zhǎng)加密算法64bitsblock,8-1024bitskeyusedinS/MIMEwith40-64-128-bitkeysizes2.2分組密碼--其它加密算法RC2562.2分組密碼--其它加密算法573、公開(kāi)鑰密碼體制-概述1976年Diffie和Hellman以及Merkle分別提出了公開(kāi)密鑰密碼體制的思想,這不同于傳統(tǒng)的對(duì)稱(chēng)密鑰密碼體制,它要求密鑰成對(duì)出現(xiàn),一個(gè)為加密密鑰(e),另一個(gè)為解密密鑰(d),且不可能從其中一個(gè)推導(dǎo)出另一個(gè)。自1976年以來(lái),已經(jīng)提出了多種公開(kāi)密鑰密碼算法,其中許多是不安全的,一些認(rèn)為是安全的算法又有許多是不實(shí)用的,它們要么是密鑰太大,要么密文擴(kuò)展十分嚴(yán)重。多數(shù)密碼算法的安全基礎(chǔ)是基于一些數(shù)學(xué)難題,這些難題專(zhuān)家們認(rèn)為在短期內(nèi)不可能得到解決。因?yàn)橐恍﹩?wèn)題(如因子分解問(wèn)題)至今已有數(shù)千年的歷史了。583、公開(kāi)鑰密碼體制-概述公鑰加密算法也稱(chēng)非對(duì)稱(chēng)密鑰算法,用一對(duì)密鑰:一個(gè)公共密鑰和一個(gè)專(zhuān)用密鑰。用戶(hù)要保障專(zhuān)用密鑰的安全;公共密鑰則可以發(fā)布出去。公共密鑰與專(zhuān)用密鑰是有緊密關(guān)系的,用公共密鑰加密的信息只能用專(zhuān)用密鑰解密,反之亦然。由于公鑰算法不需要聯(lián)機(jī)密鑰服務(wù)器,密鑰分配協(xié)議簡(jiǎn)單,所以極大簡(jiǎn)化了密鑰管理。除加密功能外,公鑰系統(tǒng)還可以提供數(shù)字簽名。公共密鑰加密算法主要有:RSA(Receive、Shamir、Adelman)、Fertezza、EIGama等。593、公開(kāi)鑰密碼體制-公鑰系統(tǒng)的優(yōu)缺點(diǎn)公用密鑰的優(yōu)點(diǎn)就在于,也許你并不認(rèn)識(shí)某一實(shí)體,但只要你的服務(wù)器認(rèn)為該實(shí)體的CA是可靠的,就可以進(jìn)行安全通信,而這正是Web商務(wù)這樣的業(yè)務(wù)所要求的。例如信用卡購(gòu)物。服務(wù)方對(duì)自己的資源可根據(jù)客戶(hù)CA的發(fā)行機(jī)構(gòu)的可靠程度來(lái)授權(quán)。目前國(guó)內(nèi)外尚沒(méi)有可以被廣泛信賴(lài)的CA。美國(guó)Natescape公司的產(chǎn)品支持公用密鑰,但把Natescape公司作為CA。由外國(guó)公司充當(dāng)CA在我國(guó)是一件不可想象的事情。公共密鑰方案較保密密鑰方案處理速度慢,因此,通常把公共密鑰與專(zhuān)用密鑰技術(shù)結(jié)合起來(lái)實(shí)現(xiàn)最佳性能。即用公共密鑰技術(shù)在通信雙方之間傳送專(zhuān)用密鑰,而用專(zhuān)用密鑰來(lái)對(duì)實(shí)際傳輸?shù)臄?shù)據(jù)加密解密。另外,公鑰加密也用來(lái)對(duì)專(zhuān)用密鑰進(jìn)行加密。603、公開(kāi)鑰密碼體制-公鑰系統(tǒng)的特點(diǎn)公開(kāi)/私有密鑰與單獨(dú)的密鑰不同,它使用相互關(guān)聯(lián)的一對(duì)密鑰,一個(gè)是公開(kāi)密鑰,任何人都可以知道,另一個(gè)是私有密鑰,只有擁有該對(duì)密鑰的人知道。公鑰系統(tǒng)的特點(diǎn):加密與解密由不同的密鑰完成 加密:XY:Y=EKU(X)

解密:YX:X=DKR(Y)=DKR(EKU(X))知道加密算法,從加密密鑰得到解密密鑰在計(jì)算上是不可行的兩個(gè)密鑰中任何一個(gè)都可以用作加密而另一個(gè)用作解密(不是必須的) X=DKR(EKU(X))=EKU(DKR(X))613、公開(kāi)鑰密碼體制-RSA加密算法公鑰加密算法中使用最廣的是RSA。RSA使用兩個(gè)密鑰,一個(gè)公共密鑰,一個(gè)專(zhuān)用密鑰。如用其中一個(gè)加密,則可用另一個(gè)解密,密鑰長(zhǎng)度從40到2048bit可變,加密時(shí)也把明文分成塊,塊的大小可變,但不能超過(guò)密鑰的長(zhǎng)度,RSA算法把每一塊明文轉(zhuǎn)化為與密鑰長(zhǎng)度相同的密文塊。密鑰越長(zhǎng),加密效果越好,但加密解密的開(kāi)銷(xiāo)也大,所以要在安全與性能之間折衷考慮,一般1024位是較合適的。RSA的一個(gè)比較知名的應(yīng)用是SSL。623、公開(kāi)鑰密碼體制-RSA加密算法簡(jiǎn)介RSA公開(kāi)密鑰密碼系統(tǒng)公開(kāi)密鑰:n=pq,(p,q分別為兩個(gè)互異的大素?cái)?shù),p,q必須保密)e與∮(n)=(p-1)(q-1)互素秘密密鑰:d=e-1(mod(p-1)(q-1))公開(kāi)密鑰:KU

=(n,e)私有密鑰:KR

=(n,d)加密過(guò)程:c=me(modn)其中m為明文,c為密文解密過(guò)程:m=cd(modn)633、公開(kāi)鑰密碼體制-加解密過(guò)程643、公開(kāi)鑰密碼體制-鑒別過(guò)程653、公開(kāi)鑰密碼體制-RSA加密算法舉例現(xiàn)在,用一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明RSA公開(kāi)密鑰密碼系統(tǒng)的工作原理。取兩個(gè)質(zhì)數(shù)p=11,q=13,p和q的乘積為n=p×q=143,算出另一個(gè)數(shù)z=(p-1)×(q-1)=120;再選取一個(gè)與z=∮(n)=(p-1)(q-1)=120互質(zhì)的數(shù),例如e=7(稱(chēng)為“公開(kāi)指數(shù)”),對(duì)于這個(gè)e值,可以算出另一個(gè)值d=e-1(mod(p-1)(q-1))=103(稱(chēng)為“秘密指數(shù)”)滿(mǎn)足e×d=1modz;其實(shí)7×103=721除以120確實(shí)余1。(n,e)和(n,d)這兩組數(shù)分別為"公開(kāi)密鑰"和"秘密密鑰。"663、公開(kāi)鑰密碼體制-RSA加密算法舉例設(shè)想張小姐需要發(fā)送機(jī)密信息(明文,即未加密的報(bào)文)s=85給李先生,她已經(jīng)從公開(kāi)媒體得到了李先生的公開(kāi)密鑰(n,e)=(143,7),于是她算出加密值c=semodn=857mod143=123并發(fā)送給李先生。李先生在收到“密文”(即經(jīng)加密的報(bào)文)c=123后,利用只有他自己知道的秘密密鑰(n,d)=(143,103)計(jì)算123103mod143,得到的值就是明文(值)85,實(shí)現(xiàn)了解密。所以,李先生可以得到張小姐發(fā)給他的真正的信息s=85。673、公開(kāi)鑰密碼體制-RSA安全性依據(jù)RSA的安全性是基于加密函數(shù)ek(x)=xe(modn)是一個(gè)單向函數(shù),所以對(duì)攻擊的人來(lái)說(shuō)求逆計(jì)算不可行。而B(niǎo)ob能解密的陷門(mén)是分解n=pq,知

(n)=(p-1)(q-1)。從而用歐氏算法解出解密私鑰d.(猜想:攻破RSA與分解n是多項(xiàng)式等價(jià)的。然而,這個(gè)猜想至今沒(méi)有給出可信的證明!?。。┱麛?shù)n的十進(jìn)制位數(shù)因子分解的運(yùn)算次數(shù)所需計(jì)算時(shí)間(每微秒一次)

50 1.4x1010 3.9小時(shí) 75 9.0x1012 104天 100 2.3x1015 74年

200 1.2x1023 3.8x109年 300 1.5x1029 4.0x1015年

500 1.3x1039 4.2x1025年683、公開(kāi)鑰密碼體制-對(duì)RSA的攻擊方法1、強(qiáng)力攻擊(窮舉法):嘗試所有可能的私有密鑰2、數(shù)學(xué)分析攻擊:各種數(shù)學(xué)方法,等價(jià)與兩個(gè)素?cái)?shù)乘積的因子分解3、對(duì)RSA實(shí)現(xiàn)的攻擊693、公開(kāi)鑰密碼體制-90年代大數(shù)分解的進(jìn)程152415787806736785461057783115378780769699778424020880588324163934003166279682168625361170971040173316721449

=

123456789123456789123456789123456789123456789123456871

*

1234567891234567891234567891234567891234567891234567919(SSNFS數(shù)域篩法)703、DES和RSA性能比較(同等強(qiáng)度)DES密鑰長(zhǎng)度(bit)RSA密鑰長(zhǎng)度(bit)56384645121121792128230471消息鑒別(MessageAuthentication)是一個(gè)證實(shí)收到的消息來(lái)自可信的源點(diǎn)且未被篡改的過(guò)程。散列函數(shù)(HashFunctions)一個(gè)散列函數(shù)以一個(gè)變長(zhǎng)的報(bào)文作為輸入,并產(chǎn)生一個(gè)定長(zhǎng)的散列碼,有時(shí)也稱(chēng)報(bào)文摘要,作為輸出。

數(shù)字簽名(DigitalSignature)是一種防止源點(diǎn)或終點(diǎn)抵賴(lài)的鑒別技術(shù)10.2消息驗(yàn)證與數(shù)字簽名721、鑒別的目的鑒別的主要目的有二:第一,驗(yàn)證信息的發(fā)送者是真正的,而不是冒充的,此為信源識(shí)別;第二,驗(yàn)證信息的完整性,在傳送或存儲(chǔ)過(guò)程中未被篡改,重放或延遲等。732、鑒別系統(tǒng)的模型一個(gè)單純鑒別系統(tǒng)的模型竄擾者信宿信源鑒別編碼器鑒別譯碼器信道安全信道密鑰源742、鑒別系統(tǒng)的模型(cont)在這個(gè)系統(tǒng)中的發(fā)送者通過(guò)一個(gè)公開(kāi)的無(wú)擾信道將消息送給接收者,接收者不僅想收到消息本身,而且還要驗(yàn)證消息是否來(lái)自合法的發(fā)送者及消息是否經(jīng)過(guò)篡改。系統(tǒng)中的密碼分析者不僅要截收和破譯信道中傳送的密報(bào),而且可偽造密文送給接收者進(jìn)行欺詐,將其稱(chēng)為系統(tǒng)的竄擾者(tamper)更加合適。實(shí)際認(rèn)證系統(tǒng)可能還要防止收方、發(fā)方之間的相互欺詐。753、鑒別系統(tǒng)的組成鑒別編碼器和鑒別譯碼器可抽象為鑒別函數(shù)。一個(gè)安全的鑒別系統(tǒng),需滿(mǎn)足(1)意定的接收者能夠檢驗(yàn)和證實(shí)消息的合法性、真實(shí)性和完整性(2)消息的發(fā)送者和接收者不能抵賴(lài)(3)除了合法的消息發(fā)送者,其它人不能偽造合法的消息首先要選好恰當(dāng)?shù)蔫b別函數(shù),該函數(shù)產(chǎn)生一個(gè)鑒別標(biāo)識(shí),然后在此基礎(chǔ)上,給出合理的鑒別協(xié)議(AuthenticationProtocol),使接收者完成消息的鑒別。764、鑒別函數(shù)可用來(lái)做鑒別的函數(shù)分為三類(lèi):(1)消息加密函數(shù)(Messageencryption)

用完整信息的密文作為對(duì)信息的鑒別。(2)消息鑒別碼MAC(MessageAuthenticationCode)

公開(kāi)函數(shù)+密鑰產(chǎn)生一個(gè)固定長(zhǎng)度的值作為鑒別標(biāo)識(shí)(3)散列函數(shù)(HashFunction)

是一個(gè)公開(kāi)的函數(shù),它將任意長(zhǎng)的信息映射成一個(gè)固定長(zhǎng)度的信息。774.1、消息加密信息加密函數(shù)分二種,一種是常規(guī)的對(duì)稱(chēng)密鑰加密函數(shù),另一種是公開(kāi)密鑰的雙密鑰加密函數(shù)。下圖的通信雙方是,用戶(hù)A為發(fā)信方,用戶(hù)B為接收方。用戶(hù)B接收到信息后,通過(guò)解密來(lái)判決信息是否來(lái)自A,信息是否是完整的,有無(wú)竄擾。對(duì)稱(chēng)加密:保密性與鑒別MEKMEK(M)DKSourceDestination提供保密提供鑒別:僅來(lái)自A、傳輸中沒(méi)有被更改、需要某種結(jié)構(gòu)或冗余不提供簽名784.1、消息加密差錯(cuò)控制:ErrorControlMF||MF(M)EKEKMF(M)FcompareInternalErrorControl794.1、消息加密差錯(cuò)控制:ErrorControlExternalErrorControlEK(M)F||EKMDKMFcompareEK(M)F[EK(M)]804.1、消息加密(b)公鑰加密:保密性提供保密不提供鑒別MEKUbMEKUb(M)DKRbSourceDestination814.1、消息加密(C)公鑰加密:鑒別與簽名提供鑒別和簽名僅A有Kra可以進(jìn)行加密任何一方均可以使用Kua驗(yàn)證簽名MEKRaMEKRa(M)DKUa824.1、消息加密(d)公鑰加密:保密、鑒別與簽名KUb提供保密性Kra提供鑒別和簽名MEKRaEKRa(M)EKUbEKUb[EKRa(M)]DKRbDKUaEKRa(M)M834.2、信息鑒別-問(wèn)題?若對(duì)相當(dāng)長(zhǎng)的文件通過(guò)簽名認(rèn)證怎么辦?如一個(gè)合法文件有數(shù)兆字節(jié)長(zhǎng)。自然按64比特分劃成一塊一塊,用相同的密鑰獨(dú)立地簽每一個(gè)塊。然而,這樣太慢。844.3、散列函數(shù)解決辦法:引入可公開(kāi)的密碼散列函數(shù)。它將取任意長(zhǎng)度的消息做自變量,結(jié)果產(chǎn)生規(guī)定長(zhǎng)度的消息摘要。[如,使用數(shù)字簽名標(biāo)準(zhǔn)DSS,消息摘要為160比特],然后簽名消息摘要。對(duì)數(shù)字簽名來(lái)說(shuō),散列函數(shù)h是這樣使用的:消息:x任意長(zhǎng)消息摘要:Z=h(x)160bits

簽名:y=sigk(Z)320bits(簽名一個(gè)消息摘要)驗(yàn)證簽名:(x,y),其中y=sigk(h(x)),使用公開(kāi)的散列函數(shù)h,重構(gòu)作Z=h(x)。然后Verk(y)=Z,來(lái)看Z=Z'854.3、散列函數(shù)的基本用法a、bProvidesconfidentiality--onlyAandBshareKProvidesauthentication--H(M)iscryptographicallyprotectedProvidesauthentication--H(M)iscryptographicallyprotected864.3、散列函數(shù)的基本用法cProvidesauthenticationanddigitalsignature--H(M)iscryptographicallyprotected--onlyAcouldcreateEKRa[H(M)]874.3、散列函數(shù)的基本用法d(d)AB:EK[M||EKRa[H(M)]]ProvidesauthenticationanddigitalsignatureProvidesconfidentiality884.3、散列函數(shù)的基本用法e、fProvidesauthentication--onlyAandBshareSProvidesauthentication--onlyAandBshareSProvidesconfidentiality--onlyAandBshareK894.3、散列函數(shù)安全威脅(1)用以鑒別的散列函數(shù),能否減弱認(rèn)證方案的安全性?這個(gè)問(wèn)題是要分析的。簽名的對(duì)象由完整消息變成消息摘要,這就有可能出現(xiàn)偽造。(a)偽造方式一:Oscar以一個(gè)有效簽名(x,y)開(kāi)始,此處y=sigk(h(x))。首先他計(jì)算Z=h(x),并企圖找到一個(gè)x'=x滿(mǎn)足h(x')=h(x)。若他做到這一點(diǎn),則(x',y)也將為有效簽名。為防止這一點(diǎn),要求函數(shù)h具有無(wú)碰撞特性。

定義1(弱無(wú)碰撞),散列函數(shù)h稱(chēng)為是弱無(wú)碰撞的,是指對(duì)給定消息x∈X,在計(jì)算上幾乎找不到異與x的x'∈X使h(x)=h(x')。904.3、散列函數(shù)安全威脅(2)(b)偽造方式二:Oscar首先找到兩個(gè)消息x=x',滿(mǎn)足h(x)=h(x'),然后Oscar把x給Bob且使他對(duì)x的摘要h(x)簽名,從而得到y(tǒng),那么(x',y)是一個(gè)有效的偽造。

定義2(強(qiáng)無(wú)碰撞)散列函數(shù)h被稱(chēng)為是強(qiáng)無(wú)碰撞的,是指在計(jì)算上幾乎不可能找到相異的x,x'使得h(x)=h(x')。

注:強(qiáng)無(wú)碰撞自然含弱無(wú)碰撞!914.3、散列函數(shù)安全威脅(3)(c)偽造方式三:在散列函數(shù)的用法(e)中,秘密值S本身并不發(fā)送,如果散列函數(shù)不是單向的,攻擊者截獲到M和H(M||S).然后通過(guò)某種逆變換獲得M||S,因而攻擊者就可以得到S.

定義3(單向的)稱(chēng)散列函數(shù)h為單向的,是指計(jì)算h的逆函數(shù)h-1在計(jì)算上不可行。92h=H(M) “fingerprint”ofamessage滿(mǎn)足:1、H可以作用于一個(gè)任意長(zhǎng)度的數(shù)據(jù)塊;2、H產(chǎn)生一個(gè)固定長(zhǎng)度的輸出;3、H(x)對(duì)任意給定的x計(jì)算相對(duì)容易,無(wú)論是軟件還是硬件實(shí)現(xiàn)。4、對(duì)任意給定碼h,找到x滿(mǎn)足H(x)=h具有計(jì)算不可行性;(單向性)5、對(duì)任意給定的數(shù)據(jù)塊x,找到滿(mǎn)足H(y)=H(x)的yx具有計(jì)算不可行性。6、找到任意數(shù)據(jù)對(duì)(x,y),滿(mǎn)足H(x)=H(y)是計(jì)算不可行的。前三條要求具有實(shí)用性,第4條是單向性質(zhì),即給定消息可以產(chǎn)生一個(gè)散列碼,而給定散列碼不可能產(chǎn)生對(duì)應(yīng)的消息。第5條性質(zhì)是保證一個(gè)給定的消息的散列碼不能找到與之相同的另外的消息。即防止偽造。第6條是對(duì)已知的生日攻擊方法的防御能力。4、

HASHFUNCTIONS93如果房間里有183個(gè)人,那么其中某個(gè)人和你的生日相同的概率是50%。然而,如果希望找到其中任意兩個(gè)人生日相同的概率為50%,則房間里需要多少人呢?答案是23

這個(gè)就是生日悖論,結(jié)果要比我主觀猜想的要小得多。也就是說(shuō)你走進(jìn)一個(gè)22人的教室,要其中一個(gè)人和你的生日相同的概率很小,但要其中任意兩個(gè)生日相同的概率則很高。轉(zhuǎn)到代碼安全中的哈希加密,情況轉(zhuǎn)換成兩段不同的字符(人),用哈希加密可能得到相同的密碼(生日),而生日悖論的結(jié)果說(shuō)明只要不關(guān)心是哪兩個(gè)字符,找到兩個(gè)匹配的難度會(huì)降低很多。4.4、

HASHFUNCTIONS94由Merkle于1989年提出RonRivest于1990年提出MD4幾乎被所有hash函數(shù)使用具體做法:把原始消息M分成一些固定長(zhǎng)度的塊Yi最后一塊padding并使其包含消息M長(zhǎng)度設(shè)定初始值CV0壓縮函數(shù)f,CVi=f(CVi-1,Yi-1)最后一個(gè)CVi為hash值4.4、

hash函數(shù)通用結(jié)構(gòu)954.4、

hash函數(shù)通用結(jié)構(gòu)bY0nIV=CV0fbY1nfbYL-1nCVL-1fCV1nnCVLCV0=IV=initialn-bitvalueCVi=f(CVi-1,Yi-1)(1iL)H(M)=CVLGeneralStructureofSecureHashCodeIV=initialvalue初始值CV=chainingvalue鏈接值Yi=ithinputblock(第i個(gè)輸入數(shù)據(jù)塊)f=compressionalgorithm(壓縮算法)n=lengthofhashcode(散列碼的長(zhǎng)度)b=lengthofinputblock(輸入塊的長(zhǎng)度)96MessageDigestAlgorithm4.4、幾種Hash算法簡(jiǎn)介-MD5消息散列函數(shù)MD5算法邏輯:輸入:任意長(zhǎng)度的消息輸出:128位消息摘要處理:以512位輸入數(shù)據(jù)塊為單位MD5(RFC1321)developedbyRonRivestatMIT974.4、幾種Hash算法簡(jiǎn)介-MD5

MessageKbitsL512bits=N32bitsPadding(1to512bits)100…0Y0512bitsY1512bitsYq512bitsYL-1Messagelength(Kmod264)512bitsHMD5IV128HMD5CV1128HMD5CVq128HMD5CVL-1128512512512512MessageDigestGenerationUsingMD598step1:添加填充位(一個(gè)1和若干個(gè)0)。在消息的最后添加適當(dāng)?shù)奶畛湮皇沟脭?shù)據(jù)位的長(zhǎng)度滿(mǎn)足length448mod512step2:添加長(zhǎng)度。原始消息長(zhǎng)度(二進(jìn)制位的個(gè)數(shù)),用64位表示。如果長(zhǎng)度超過(guò)264位,則僅取最低64位,即mod264。到此為止,我們已經(jīng)得到一個(gè)512位的整倍數(shù)長(zhǎng)度的新的消息??梢员硎緸長(zhǎng)個(gè)512位的數(shù)據(jù)塊:Y0,Y1,…,YL-1。其長(zhǎng)度為L(zhǎng)512bits。4.4、幾種Hash算法簡(jiǎn)介-MD599Step3:InitializeMDbuffer(little-endian) A=01234567(0x67452301) B=89ABCDEF(0xEFCDAB89) C=FEDCBA98(0x98BADCFE) D=76543210(0x10325476)Step4:Compression CV0=IV

CVi=HMD5(CVi-1,Yi)Step5:Output MD=CVL4.4、幾種Hash算法簡(jiǎn)介-MD5100Merkle于1989年提出hashfunction模型RonRivest于1990年提出MD41992年,MD5(RFC1321)developedbyRonRivestatMITMD5把數(shù)據(jù)分成512-bit塊MD5的hash值是128-bit在現(xiàn)在,MD5是仍最主要的hash算法安全威脅:Dobbertin在1996年找到了兩個(gè)不同的512-bit塊,它們?cè)贛D5計(jì)算下產(chǎn)生相同的hash至今還沒(méi)有真正找到兩個(gè)不同的消息,它們的MD5的hash相等MD5不是足夠安全的4.4、幾種Hash算法簡(jiǎn)介-MD5101SecureHashAlgorithm1992年NIST制定了SHA(128位)1993年SHA成為標(biāo)準(zhǔn)(FIPSPUB180)1994年修改產(chǎn)生SHA-1(160位)1995年SHA-1成為新的標(biāo)準(zhǔn),作為SHA-1(FIPSPUB180-1)SHA-1要求輸入消息長(zhǎng)度<264輸入按512位的分組進(jìn)行處理的SHA-1的摘要長(zhǎng)度為160位基礎(chǔ)是MD4安全威脅:沒(méi)有發(fā)現(xiàn)兩個(gè)不同的512-bit塊,它們?cè)赟HA-1計(jì)算下產(chǎn)生相同的“hash”速度慢于MD5安全性?xún)?yōu)于MD54.4、幾種Hash算法簡(jiǎn)介-SHA-1102step1:添加填充位(一個(gè)1和若干個(gè)0)。在消息的最后添加適當(dāng)?shù)奶畛湮皇沟脭?shù)據(jù)位的長(zhǎng)度滿(mǎn)足length448mod512step2:添加長(zhǎng)度。原始消息長(zhǎng)度,用64位表示。Step3:InitializeMDbuffer(big-endian) A=67452301(0x67452301) B=EFCDAB89(0xEFCDAB89) C=98BADCFE(0x98BADCFE) D=10325476(0x10325476) E=C3D2E1F0(0xC3D2E1F0)Step4:Compression CV0=IV

CVi=HSHA-1(CVi-1,Yi)Step5:Output MD=CVL4.4、幾種Hash算法簡(jiǎn)介-SHA-1103歐洲RACEIntegrityPrimitivesEvaluation項(xiàng)目的結(jié)果RIPEMD為128位更新后成為RIPEMD-160基礎(chǔ)是MD5安全威脅:沒(méi)有發(fā)現(xiàn)兩個(gè)不同的512-bit塊,它們?cè)赗IPEMD-160計(jì)算下產(chǎn)生相同的“hash”速度略慢于SHA-1安全性?xún)?yōu)于MD5對(duì)密碼分析的抵抗力好于SHA-14.4、幾種Hash算法簡(jiǎn)介-RIPEMD-160104比較:

MD5 SHA-1 RIPEMD-160摘要長(zhǎng)度 128位 160位 160位基本處理單位512位 512位 512位步數(shù) 64(4of16) 80(4of20) 160(10of16)最大消息長(zhǎng)度無(wú)限 264-1位 264-1基本邏輯函數(shù)4 4 5加法常數(shù) 64 4 9Endianness Little-endian Big-endian Little-endian4.4、幾種Hash算法簡(jiǎn)介-比較105hash函數(shù)把變長(zhǎng)信息映射到定長(zhǎng)信息hash函數(shù)不具備可逆性hash函數(shù)速度較快hash函數(shù)與對(duì)稱(chēng)密鑰加密算法有某種相似性對(duì)hash函數(shù)的密碼分析比對(duì)稱(chēng)密鑰密碼更困難hash函數(shù)可用于消息摘要hash函數(shù)可用于數(shù)字簽名4.4、

hash函數(shù)小結(jié)106Messageauthentication用以保護(hù)雙方之間的數(shù)據(jù)交換不被第三方侵犯;但它并不保證雙方自身的相互欺騙。假定A發(fā)送一個(gè)認(rèn)證的信息給B,雙方之間的爭(zhēng)議可能有多種形式:B偽造一個(gè)不同的消息,但聲稱(chēng)是從A收到的。A可以否認(rèn)發(fā)過(guò)該消息,B無(wú)法證明A確實(shí)發(fā)了該消息。4.5、

數(shù)字簽名107數(shù)字簽名的特點(diǎn)傳統(tǒng)簽名的基本特點(diǎn):能與被簽的文件在物理上不可分割簽名者不能否認(rèn)自己的簽名簽名不能被偽造容易被驗(yàn)證數(shù)字簽名是傳統(tǒng)簽名的數(shù)字化,基本要求:能與所簽文件“綁定”簽名者不能否認(rèn)自己的簽名簽名不能被偽造容易被自動(dòng)驗(yàn)證4.5.1、數(shù)字簽名108必須能夠驗(yàn)證作者及其簽名的日期時(shí)間;必須能夠認(rèn)證簽名時(shí)刻的內(nèi)容;簽名必須能夠由第三方驗(yàn)證,以解決爭(zhēng)議;4.5.2、數(shù)字簽名的性質(zhì)因此,數(shù)字簽名功能包含了認(rèn)證的功能。109簽名必須是依賴(lài)于被簽名信息的一個(gè)位串模式;簽名必須使用某些對(duì)發(fā)送者是唯一的信息,以防止雙方的偽造與否認(rèn);必須相對(duì)容易生成該數(shù)字簽名;必須相對(duì)容易識(shí)別和驗(yàn)證該數(shù)字簽名;偽造該數(shù)字簽名在計(jì)算復(fù)雜性意義上具有不可行性,既包括對(duì)一個(gè)已有的數(shù)字簽名構(gòu)造新的消息,也包括對(duì)一個(gè)給定消息偽造一個(gè)數(shù)字簽名;在存儲(chǔ)器中保存一個(gè)數(shù)字簽名副本是現(xiàn)實(shí)可行的。4.5.3、數(shù)字簽名的設(shè)計(jì)要求110直接數(shù)字簽名directdigitalsignature仲裁數(shù)字簽名arbitrateddigitalsignature(1)AB:EKRa[M]

提供了認(rèn)證與簽名:只有A具有KRa進(jìn)行加密;傳輸中無(wú)法被篡改;需要某些格式信息/冗余度;任何第三方可以用KUa

驗(yàn)證簽名(1’)AB:EKUb[EKRa(M)]

提供了保密(KUb)、認(rèn)證與簽名(KRa):4.5.4、直接數(shù)字簽名1114.5.4、直接數(shù)字簽名(2)AB:M||EKRa[H(M)]提供認(rèn)證及數(shù)字簽名

--H(M)受到密碼算法的保護(hù);

--只有

A能夠生成

EKRa[H(M)](2’)AB:EK[M||EKRa[H(M)]]提供保密性、認(rèn)證和數(shù)字簽名。1124.5.4、直接數(shù)字簽名的缺點(diǎn)驗(yàn)證模式依賴(lài)于發(fā)送方的保密密鑰;發(fā)送方要抵賴(lài)發(fā)送某一消息時(shí),可能會(huì)聲稱(chēng)其私有密鑰丟失或被竊,從而他人偽造了他的簽名。通常需要采用與私有密鑰安全性相關(guān)的行政管理控制手段來(lái)制止或至少是削弱這種情況,但威脅在某種程度上依然存在。改進(jìn)的方式例如可以要求被簽名的信息包含一個(gè)時(shí)間戳(日期與時(shí)間),并要求將已暴露的密鑰報(bào)告給一個(gè)授權(quán)中心。X的某些私有密鑰確實(shí)在時(shí)間T被竊取,敵方可以偽造X的簽名及早于或等于時(shí)間T的時(shí)間戳。1134.5.5、仲裁數(shù)字簽名引入仲裁者。通常的做法是所有從發(fā)送方X到接收方Y(jié)的簽名消息首先送到仲裁者A,A將消息及其簽名進(jìn)行一系列測(cè)試,以檢查其來(lái)源和內(nèi)容,然后將消息加上日期并與已被仲裁者驗(yàn)證通過(guò)的指示一起發(fā)給Y。仲裁者在這一類(lèi)簽名模式中扮演敏感和關(guān)鍵的角色。所有的參與者必須極大地相信這一仲裁機(jī)制工作正常。(trustedsystem)1144.5.5、仲裁數(shù)字簽名仲裁數(shù)字簽名技術(shù)(a)單密鑰加密方式,仲裁者可以看見(jiàn)消息

(1)XA:M||EKxa[IDx||H(M)] (2)AY:EKay[IDx||M||EKxa[IDx||H(M)]||T]X與A之間共享密鑰Kxa,Y與A之間共享密鑰Kay;X:準(zhǔn)備消息M,計(jì)算其散列碼H(M),用X的標(biāo)識(shí)符IDx

和散列值構(gòu)成簽名,并將消息及簽名經(jīng)Kxa加密后發(fā)送給A;A:解密簽名,用H(M)驗(yàn)證消息M,然后將IDx,M,簽名,和時(shí)間戳一起經(jīng)Kay加密后發(fā)送給Y;Y:解密A發(fā)來(lái)的信息,并可將M和簽名保存起來(lái)。解決糾紛:Y:向A發(fā)送EKay[IDx||M||EKxa[IDx||H(M)]]

A:用Kay恢復(fù)IDx,M,和簽名(

EKxa[IDx||H(M)]),然后用Kxa解密簽名并驗(yàn)證散列碼1154.5.5、仲裁數(shù)字簽名注意:在這種模式下Y不能直接驗(yàn)證X的簽名,Y認(rèn)為A的消息已認(rèn)證,只因?yàn)樗鼇?lái)自A。因此,雙方都需要高度相信A:X必須信任A沒(méi)有暴露Kxa,并且沒(méi)有生成錯(cuò)誤的簽名

EKxa[IDx||H(M)]Y必須信任A僅當(dāng)散列值正確并且簽名確實(shí)是X產(chǎn)生的情況下才發(fā)送的EKay[IDx||M||EKxa[IDx||H(M)]||T]

雙方都必須信任A處理爭(zhēng)議是公正的。只要A遵循上述要求,則X相信沒(méi)有人可以偽造其簽名;Y相信X不能否認(rèn)其簽名。上述情況還隱含著A可以看到X給Y的所有信息,因而所有的竊聽(tīng)者也能看到。1164.5.5、仲裁數(shù)字簽名(b)單密鑰加密方式,仲裁者不可以看見(jiàn)消息

(1)XA:

IDx||EKxy[M]||EKxa[IDx||H(EKxy[M])] (2)AY:EKay[IDx||EKxy[M]||EKxa[IDx||H(EKxy[M])]||T]在這種情況下,X與Y之間共享密鑰Kxy,X:將標(biāo)識(shí)符IDx,密文

EKxy[M],以及對(duì)IDx和密文消息的散列碼用Kxa加密后形成簽名發(fā)送給A。A:解密簽名,用散列碼驗(yàn)證消息,這時(shí)A只能驗(yàn)證消息的密文而不能讀取其內(nèi)容。然后A將來(lái)自X的所有信息加上時(shí)間戳并用Kay加密后發(fā)送給Y。(a)和(b)共同存在一個(gè)共性問(wèn)題:

A和發(fā)送方聯(lián)手可以否認(rèn)簽名的信息;

A和接收方聯(lián)手可以偽造發(fā)送方的簽名;1174.5.5、仲裁數(shù)字簽名(c)雙密鑰加密方式,仲裁者不可以看見(jiàn)消息

(1)XA:

IDx||EKRx[IDx||EKUy(EKRx[M])] (2)AY:EKRa[IDx||EKUy[EKRx[M]]||T]X:對(duì)消息M雙重加密:首先用X的私有密鑰KRx,然后用Y的公開(kāi)密鑰KUy。形成一個(gè)簽名的、保密的消息。然后將該信息以及X的標(biāo)識(shí)符一起用KRx簽名后與IDx

一起發(fā)送給A。這種內(nèi)部、雙重加密的消息對(duì)A以及對(duì)除Y以外的其它人都是安全的。A:檢查X的公開(kāi)/私有密鑰對(duì)是否仍然有效,是,則認(rèn)證消息。并將包含IDx、雙重加密的消息和時(shí)間戳構(gòu)成的消息用KRa簽名后發(fā)送給Y。本模式比上述兩個(gè)模式具有以下好處:1、在通信之前各方之間無(wú)須共享任何信息,從而避免了聯(lián)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論