版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
網(wǎng)絡(luò)信息安全
消息認(rèn)證計(jì)算機(jī)學(xué)院信息安全教研室張偉網(wǎng)絡(luò)信息安全
消息認(rèn)證計(jì)算機(jī)學(xué)院信息安全教研室消息認(rèn)證在網(wǎng)絡(luò)通信中,攻擊方法泄密:透露消息給沒有密鑰的實(shí)體傳輸分析:分析通信模式,連接頻率、時(shí)間,消息的數(shù)量和大小偽裝:欺詐消息,偽裝發(fā)送或應(yīng)答內(nèi)容修改:順序修改:計(jì)時(shí)修改:消息重放或者延遲發(fā)送方否認(rèn):接收方否認(rèn):消息認(rèn)證在網(wǎng)絡(luò)通信中,攻擊方法消息認(rèn)證消息認(rèn)證(報(bào)文鑒別)對收到的消息進(jìn)行驗(yàn)證,證明確實(shí)是來自聲稱的發(fā)送方,并且沒有被修改過。如果在消息中加入時(shí)間及順序信息,則可以完成對時(shí)間和順序的認(rèn)證數(shù)字簽名是一種認(rèn)證手段,其中的一些方法可以用來抗發(fā)送方的否認(rèn)攻擊。消息認(rèn)證消息認(rèn)證(報(bào)文鑒別)消息認(rèn)證的三種方式Messageencryption:用整個(gè)消息的密文作為認(rèn)證標(biāo)識接收方必須能夠識別錯誤MAC:一個(gè)公開函數(shù),加上一個(gè)密鑰產(chǎn)生一個(gè)固定長度的值作為認(rèn)證標(biāo)識Hashfunction:一個(gè)公開函數(shù)將任意長度的消息映射到一個(gè)固定長度的散列值,作為認(rèn)證標(biāo)識消息認(rèn)證的三種方式Messageencryption:用整MessageAuthenticationCode使用一個(gè)雙方共享的秘密密鑰生成一個(gè)固定大小的小數(shù)據(jù)塊,并加入到消息中,稱MAC,或密碼校驗(yàn)和(cryptographicchecksum)用戶A和用戶B,共享密鑰K,對于消息M,MAC=CK(M)如果接收方計(jì)算的MAC與收到的MAC匹配,則接收者可以確信消息M未被改變接收者可以確信消息來自所聲稱的發(fā)送者如果消息中含有序列號,則可以保證正確的消息順序MAC函數(shù)類似于加密函數(shù),但不需要可逆性。因此在數(shù)學(xué)上比加密算法被攻擊的弱點(diǎn)要少M(fèi)essageAuthenticationCode使用一MAC應(yīng)用方式(1)
消息認(rèn)證MC||CKKCompareMCk(M)缺點(diǎn)MAC應(yīng)用方式(1)
消息認(rèn)證MC||CKKCompareMMAC應(yīng)用方式(2)
消息認(rèn)證和保密性:明文相關(guān)MC||K1CK1CompareEEk2【M||Ck1(M)】K2DK2MCk1(M)MAC應(yīng)用方式(2)
消息認(rèn)證和保密性:明文相關(guān)MC||K1MAC應(yīng)用方式(3)
消息認(rèn)證和保密性:密文相關(guān)MC||K1CK1CompareECk1(Ek2(M))K2DK2MCk1(M)Ek2(M)MAC應(yīng)用方式(3)
消息認(rèn)證和保密性:密文相關(guān)MC||K1關(guān)于MAC算法MAC不等于數(shù)字簽名因?yàn)橥ㄓ嶋p方共享同一個(gè)密鑰MAC有固定的長度MAC結(jié)構(gòu)的重要性,例如,密鑰足夠長+加密算法足夠好安全M=(X1,X2,…,Xt)對M產(chǎn)生校驗(yàn)和M=X1X2…XtMAC=EK(M)攻擊者選擇M=(Y1,Y2,…,Yt-1,Yt),使得Yt滿足: Yt
=Y1Y2…Yt-1M于是M=MEK(M)=EK(M)
CK(M)=CK(M)所以,盡管攻擊者不知道K,仍然可以偽造消息M關(guān)于MAC算法MAC不等于數(shù)字簽名MAC算法的要求條件:攻擊者知道MAC函數(shù)但不知道密鑰K要求:已知M和CK(M),要想構(gòu)造M使得CK(M)=CK(M)在計(jì)算上不可行
(計(jì)算上無碰撞)CK(M)均勻分布:隨機(jī)選擇M和M,
Pr[CK(M)=CK(M)]=2-|MAC|f是M的一個(gè)變換(例如對某些位取反),那么,Pr[CK(M)=CK(f(M))]=2-|MAC|MAC算法的要求條件:MACbasedonDESANSI標(biāo)準(zhǔn)(X9.17)即為CBC模式結(jié)構(gòu),初始向量為0該方法適用于其他加密算法算法:M=(X1,X2,…,Xt)M1=EK(X1)Mj+1=EK(Xj+1Mj),1j<tMAC=MtMACbasedonDESANSI標(biāo)準(zhǔn)(X9.17)算HashFunctionMAC需要對全部數(shù)據(jù)進(jìn)行加密MAC速度慢Hash是一種直接產(chǎn)生認(rèn)證碼的方法沒有密鑰消息中任何一位的改變會導(dǎo)致Hash碼的改變Hash函數(shù):h=H(x),要求:散列算法是公開的不同的報(bào)文不能產(chǎn)生相同的散列碼H(x)能夠快速計(jì)算對于任意報(bào)文無法預(yù)知它的散列碼無法根據(jù)散列碼倒推報(bào)文可作用于任何尺寸數(shù)據(jù)且均產(chǎn)生定長輸出HashFunctionMAC需要對全部數(shù)據(jù)進(jìn)行加密HashFunctionHash函數(shù):h=H(x),單向性:給定h,找到x使h=H(x)在計(jì)算上不可行抗弱碰撞性:WeakCollisionResistence(WCR):
給定x,找到y(tǒng)x使H(x)=H(y)在計(jì)算上不可行抗強(qiáng)碰撞性:StrongCollisionResistence(SCR):找到任意的yx使H(x)=H(y)在計(jì)算上不可行HashFunctionHash函數(shù):h=H(x),Hash函數(shù)的基本用途(a)MH||HCompareEEk2[M||H(M)]KDKMH(M)Hash函數(shù)的基本用途(a)MH||HCompareEEk2Hash函數(shù)的基本用途(b)MH||HCompareMEEk(H(M))KDK不要求保密,處理代價(jià)小Hash函數(shù)的基本用途(b)MH||HCompareMEEkHash函數(shù)的基本用途(c)MH||HCompareMEEkRa(H(M))KRa私鑰DKUa數(shù)字簽名機(jī)制Hash函數(shù)的基本用途(c)MH||HCompareMEEkHash函數(shù)的基本用途(d)MH||HCompareEEk[M||EkRa(H(M))]KDKMEkRa(H(M))EKRa私鑰DKRa常用,保密并且數(shù)字簽名Hash函數(shù)的基本用途(d)MH||HCompareEEk[Hash函數(shù)的基本用途(e)MH||HCompareH(M||S)||SM||S不使用加密函數(shù),但是s為雙方共享秘密值,不傳送Hash函數(shù)的基本用途(e)MH||HCompareH(MHash函數(shù)的基本用途(f)MH||||SHCompareH(M||S)M||SEEk[M||H(M||S)]KDK**Hash函數(shù)的基本用途(f)MH||||SHCompareHHash問題Hash值沖突會有什么問題?Hash的用途會這樣的沖突嗎?能定制這樣的沖突嗎?Hash問題Hash值沖突會有什么問題?生日攻擊理論基礎(chǔ)理論基礎(chǔ)若k1.182m/22m/2,則k個(gè)在[1,2m]的隨機(jī)數(shù)中有兩個(gè)數(shù)相等的概率不低于0.5若k0.83n1/2,兩個(gè)在[1,n]的k個(gè)隨機(jī)數(shù)集合有交集的概率不小于0.5因此,當(dāng)Hash算法選用N位的Hash值時(shí),兩組消息(選擇k=2N/2)中有一對消息產(chǎn)生相同Hash值的概率超過0.5264--263--232生日攻擊理論基礎(chǔ)理論基礎(chǔ)生日攻擊例子ThisLetterisIamwritingtointroduceyoutotoyouMr.--AlfredP.--Barton,......Letter2與Letter1中的信含義不同。各自組合出2k封信件,
然后在兩個(gè)組中找到兩封hash值相同的信!Letter1:Letter2:......對策:Hash值足夠長,64-〉128-〉160-〉256生日攻擊例子ThisLetteristointroduhash函數(shù)通用模型由Merkle于1989年提出幾乎被所有hash算法采用具體做法:把原始消息M分成一些固定長度的塊Yi最后一塊padding并使其包含消息M的長度設(shè)定初始值CV0壓縮函數(shù)f,CVi=f(CVi-1,Yi-1)最后一個(gè)CVi為hash值hash函數(shù)通用模型由Merkle于1989年提出hash函數(shù)模型圖bY0nIV=CV0fbY1nfbYL-1nCVL-1fCV1nnIV=initialvalue初始值CV=chainingvalue鏈接值Yi=ithinputblock(第i個(gè)輸入數(shù)據(jù)塊)f=compressionalgorithm(壓縮算法)n=lengthofhashcode(散列碼的長度)b=lengthofinputblock(輸入塊的長度)CVLhash函數(shù)模型圖bY0nIV=fbY1nfbYL-1nCVMD5算法作者:RonRivest算法輸入:任意長度的消息輸出:128位消息摘要處理:以512位輸入數(shù)據(jù)塊為單位采納位標(biāo)準(zhǔn):RFC1321MD5算法作者:RonRivestMD5:示意圖MD5:示意圖MD5步驟第一步:padding補(bǔ)長到512的倍數(shù)最后64位為消息長度的低64位一定要補(bǔ)長(64+1~64+512),內(nèi)容為100…0第二步把結(jié)果分割為512位的塊:Y0,Y1,…YL-1第三步初始化MDbuffer,128位常量(4個(gè)字),進(jìn)入循環(huán)迭代,共L次每次:一個(gè)輸入128位,另一個(gè)輸入512位,結(jié)果輸出128位,用于下一輪輸入第四步最后一步的輸出即為散列結(jié)果128位MD5步驟第一步:paddingMD5的每一步運(yùn)算示意圖MD5的每一步運(yùn)算示意圖每一輪中16步的每一步運(yùn)算結(jié)構(gòu)ABCDABCD+++CLSs+gX[k]T[i]Functiongg(b,c,d)1F(b,c,d)(bc)(bd)2G(b,c,d)(bd)(cd)3H(b,c,d)bcd4I(b,c,d)c(bd)每一輪中16步的每一步運(yùn)算結(jié)構(gòu)ABCDABCD+++CLSs關(guān)于MD5MD5使用little-endian生日攻擊模式+64位可計(jì)算
128位hash值太短MD5不是足夠安全的Dobbertin在1996年找到了兩個(gè)不同的512-bit塊,它們在MD5計(jì)算下產(chǎn)生相同的hash至今還沒有真正找到兩個(gè)不同的消息,它們的MD5的hash相等關(guān)于MD5MD5使用little-endianSecureHashAlgorithm簡介1992年NIST制定了SHA(128位)1993年SHA成為標(biāo)準(zhǔn)1994年修改產(chǎn)生SHA-1(160位)1995年SHA-1成為新的標(biāo)準(zhǔn)SHA-1要求輸入消息長度<264SHA-1的摘要長度為160位基礎(chǔ)是MD4SecureHashAlgorithm簡介1992年NISHA-1算法結(jié)構(gòu)與MD5類似第一步:pading與MD5相同,補(bǔ)齊到512的倍數(shù)第二步分塊第三步初始化MDbuffer,160位常量(5個(gè)字)進(jìn)入循環(huán),160輸入+512輸入-〉160輸出第四步最后的輸出為SHA-1的結(jié)果SHA-1算法結(jié)構(gòu)與MD5類似壓縮函數(shù)壓縮函數(shù)每一輪中20步的每一步運(yùn)算結(jié)構(gòu)常量從消息
塊導(dǎo)出每一輪中20步的每一步運(yùn)算結(jié)構(gòu)常量從消息
塊導(dǎo)出SHA-1算法結(jié)論SHA-1使用big-endian抵抗生日攻擊:160位hash值沒有發(fā)現(xiàn)兩個(gè)不同的512-bit塊,它們在SHA-1計(jì)算下產(chǎn)生相同的“hash”速度慢于MD5安全性優(yōu)于MD5SHA-1算法結(jié)論SHA-1使用big-endianRIPEMD-160簡介歐洲RIPE項(xiàng)目的結(jié)果RIPEMD為128位更新后成為RIPEMD-160基礎(chǔ)是MD5算法輸入:任意長度的消息輸出:長度為160位的消息摘要處理:以512位數(shù)據(jù)塊為單位RIPEMD-160簡介歐洲RIPE項(xiàng)目的結(jié)果RIPEMD-160的壓縮函數(shù)RIPEMD-160的壓縮函數(shù)HMAC簡介MAC可用塊加密算法產(chǎn)生MAC算法速度慢加密算法出口受限制hash函數(shù)可用來構(gòu)造MACHMAC為其中之一HMAC簡介MAC可用塊加密算法產(chǎn)生HMAC示意圖HMAC示意圖HMAC的定義與特征對密鑰K左邊補(bǔ)0以產(chǎn)生一個(gè)hash塊K+K+每個(gè)字節(jié)與ipad(00110110)作XOR以產(chǎn)生Si對(Si||M)進(jìn)行hashK+每個(gè)字節(jié)與opad(01011010)作XOR以產(chǎn)生S0HMAC=f[IV,S0||f(IV,Si||M)]HMAC特征:可直接使用各種hash算法可使用將來的更加安全和更加快速的hash算法保持原始hash算法的性能密鑰的使用簡單與hash函數(shù)有同等的安全性HMAC的定義與特征對密鑰K左邊補(bǔ)0以產(chǎn)生一個(gè)hash塊K+1、不是井里沒有水,而是你挖的不夠深。不是成功來得慢,而是你努力的不夠多。
2、孤單一人的時(shí)間使自己變得優(yōu)秀,給來的人一個(gè)驚喜,也給自己一個(gè)好的交代。
3、命運(yùn)給你一個(gè)比別人低的起點(diǎn)是想告訴你,讓你用你的一生去奮斗出一個(gè)絕地反擊的故事,所以有什么理由不努力!
4、心中沒有過分的貪求,自然苦就少。口里不說多余的話,自然禍就少。腹內(nèi)的食物能減少,自然病就少。思緒中沒有過分欲,自然憂就少。大悲是無淚的,同樣大悟無言。緣來盡量要惜,緣盡就放。人生本來就空,對人家笑笑,對自己笑笑,笑著看天下,看日出日落,花謝花開,豈不自在,哪里來的塵埃!
5、心情就像衣服,臟了就拿去洗洗,曬曬,陽光自然就會蔓延開來。陽光那么好,何必自尋煩惱,過好每一個(gè)當(dāng)下,一萬個(gè)美麗的未來抵不過一個(gè)溫暖的現(xiàn)在。
6、無論你正遭遇著什么,你都要從落魄中站起來重振旗鼓,要繼續(xù)保持熱忱,要繼續(xù)保持微笑,就像從未受傷過一樣。
7、生命的美麗,永遠(yuǎn)展現(xiàn)在她的進(jìn)取之中;就像大樹的美麗,是展現(xiàn)在它負(fù)勢向上高聳入云的蓬勃生機(jī)中;像雄鷹的美麗,是展現(xiàn)在它搏風(fēng)擊雨如蒼天之魂的翱翔中;像江河的美麗,是展現(xiàn)在它波濤洶涌一瀉千里的奔流中。
8、有些事,不可避免地發(fā)生,陰晴圓缺皆有規(guī)律,我們只能坦然地接受;有些事,只要你愿意努力,矢志不渝地付出,就能慢慢改變它的軌跡。
9、與其埋怨世界,不如改變自己。管好自己的心,做好自己的事,比什么都強(qiáng)。人生無完美,曲折亦風(fēng)景。別把失去看得過重,放棄是另一種擁有;不要經(jīng)常艷羨他人,人做到了,心悟到了,相信屬于你的風(fēng)景就在下一個(gè)拐彎處。
10、有些事想開了,你就會明白,在世上,你就是你,你痛痛你自己,你累累你自己,就算有人同情你,那又怎樣,最后收拾殘局的還是要靠你自己。
11、人生的某些障礙,你是逃不掉的。與其費(fèi)盡周折繞過去,不如勇敢地攀登,或許這會鑄就你人生的高點(diǎn)。
12、有些壓力總是得自己扛過去,說出來就成了充滿負(fù)能量的抱怨。尋求安慰也無濟(jì)于事,還徒增了別人的煩惱。
13、認(rèn)識到我們的所見所聞都是假象,認(rèn)識到此生都是虛幻,我們才能真正認(rèn)識到佛法的真相。錢多了會壓死你,你承受得了嗎?帶,帶不走,放,放不下。時(shí)時(shí)刻刻發(fā)悲心,饒益眾生為他人。
14、夢想總是跑在我的前面。努力追尋它們,為了那一瞬間的同步,這就是動人的生命奇跡。
15、懶惰不會讓你一下子跌倒,但會在不知不覺中減少你的收獲;勤奮也不會讓你一夜成功,但會在不知不覺中積累你的成果。人生需要挑戰(zhàn),更需要堅(jiān)持和勤奮!
16、人生在世:可以缺錢,但不能缺德;可以失言,但不能失信;可以倒下,但不能跪下;可以求名,但不能盜名;可以低落,但不能墮落;可以放松,但不能放縱;可以虛榮,但不能虛偽;可以平凡,但不能平庸;可以浪漫,但不能浪蕩;可以生氣,但不能生事。
17、人生沒有筆直路,當(dāng)你感到迷茫、失落時(shí),找?guī)撞窟@種充滿正能量的電影,坐下來靜靜欣賞,去發(fā)現(xiàn)生命中真正重要的東西。
18、在人生的舞臺上,當(dāng)有人愿意在臺下陪你度過無數(shù)個(gè)沒有未來的夜時(shí),你就更想展現(xiàn)精彩絕倫的自己。但愿每個(gè)被努力支撐的靈魂能吸引更多的人同行。1、不是井里沒有水,而是你挖的不夠深。不是成功來得慢,而是你網(wǎng)絡(luò)信息安全
消息認(rèn)證計(jì)算機(jī)學(xué)院信息安全教研室張偉網(wǎng)絡(luò)信息安全
消息認(rèn)證計(jì)算機(jī)學(xué)院信息安全教研室消息認(rèn)證在網(wǎng)絡(luò)通信中,攻擊方法泄密:透露消息給沒有密鑰的實(shí)體傳輸分析:分析通信模式,連接頻率、時(shí)間,消息的數(shù)量和大小偽裝:欺詐消息,偽裝發(fā)送或應(yīng)答內(nèi)容修改:順序修改:計(jì)時(shí)修改:消息重放或者延遲發(fā)送方否認(rèn):接收方否認(rèn):消息認(rèn)證在網(wǎng)絡(luò)通信中,攻擊方法消息認(rèn)證消息認(rèn)證(報(bào)文鑒別)對收到的消息進(jìn)行驗(yàn)證,證明確實(shí)是來自聲稱的發(fā)送方,并且沒有被修改過。如果在消息中加入時(shí)間及順序信息,則可以完成對時(shí)間和順序的認(rèn)證數(shù)字簽名是一種認(rèn)證手段,其中的一些方法可以用來抗發(fā)送方的否認(rèn)攻擊。消息認(rèn)證消息認(rèn)證(報(bào)文鑒別)消息認(rèn)證的三種方式Messageencryption:用整個(gè)消息的密文作為認(rèn)證標(biāo)識接收方必須能夠識別錯誤MAC:一個(gè)公開函數(shù),加上一個(gè)密鑰產(chǎn)生一個(gè)固定長度的值作為認(rèn)證標(biāo)識Hashfunction:一個(gè)公開函數(shù)將任意長度的消息映射到一個(gè)固定長度的散列值,作為認(rèn)證標(biāo)識消息認(rèn)證的三種方式Messageencryption:用整MessageAuthenticationCode使用一個(gè)雙方共享的秘密密鑰生成一個(gè)固定大小的小數(shù)據(jù)塊,并加入到消息中,稱MAC,或密碼校驗(yàn)和(cryptographicchecksum)用戶A和用戶B,共享密鑰K,對于消息M,MAC=CK(M)如果接收方計(jì)算的MAC與收到的MAC匹配,則接收者可以確信消息M未被改變接收者可以確信消息來自所聲稱的發(fā)送者如果消息中含有序列號,則可以保證正確的消息順序MAC函數(shù)類似于加密函數(shù),但不需要可逆性。因此在數(shù)學(xué)上比加密算法被攻擊的弱點(diǎn)要少M(fèi)essageAuthenticationCode使用一MAC應(yīng)用方式(1)
消息認(rèn)證MC||CKKCompareMCk(M)缺點(diǎn)MAC應(yīng)用方式(1)
消息認(rèn)證MC||CKKCompareMMAC應(yīng)用方式(2)
消息認(rèn)證和保密性:明文相關(guān)MC||K1CK1CompareEEk2【M||Ck1(M)】K2DK2MCk1(M)MAC應(yīng)用方式(2)
消息認(rèn)證和保密性:明文相關(guān)MC||K1MAC應(yīng)用方式(3)
消息認(rèn)證和保密性:密文相關(guān)MC||K1CK1CompareECk1(Ek2(M))K2DK2MCk1(M)Ek2(M)MAC應(yīng)用方式(3)
消息認(rèn)證和保密性:密文相關(guān)MC||K1關(guān)于MAC算法MAC不等于數(shù)字簽名因?yàn)橥ㄓ嶋p方共享同一個(gè)密鑰MAC有固定的長度MAC結(jié)構(gòu)的重要性,例如,密鑰足夠長+加密算法足夠好安全M=(X1,X2,…,Xt)對M產(chǎn)生校驗(yàn)和M=X1X2…XtMAC=EK(M)攻擊者選擇M=(Y1,Y2,…,Yt-1,Yt),使得Yt滿足: Yt
=Y1Y2…Yt-1M于是M=MEK(M)=EK(M)
CK(M)=CK(M)所以,盡管攻擊者不知道K,仍然可以偽造消息M關(guān)于MAC算法MAC不等于數(shù)字簽名MAC算法的要求條件:攻擊者知道MAC函數(shù)但不知道密鑰K要求:已知M和CK(M),要想構(gòu)造M使得CK(M)=CK(M)在計(jì)算上不可行
(計(jì)算上無碰撞)CK(M)均勻分布:隨機(jī)選擇M和M,
Pr[CK(M)=CK(M)]=2-|MAC|f是M的一個(gè)變換(例如對某些位取反),那么,Pr[CK(M)=CK(f(M))]=2-|MAC|MAC算法的要求條件:MACbasedonDESANSI標(biāo)準(zhǔn)(X9.17)即為CBC模式結(jié)構(gòu),初始向量為0該方法適用于其他加密算法算法:M=(X1,X2,…,Xt)M1=EK(X1)Mj+1=EK(Xj+1Mj),1j<tMAC=MtMACbasedonDESANSI標(biāo)準(zhǔn)(X9.17)算HashFunctionMAC需要對全部數(shù)據(jù)進(jìn)行加密MAC速度慢Hash是一種直接產(chǎn)生認(rèn)證碼的方法沒有密鑰消息中任何一位的改變會導(dǎo)致Hash碼的改變Hash函數(shù):h=H(x),要求:散列算法是公開的不同的報(bào)文不能產(chǎn)生相同的散列碼H(x)能夠快速計(jì)算對于任意報(bào)文無法預(yù)知它的散列碼無法根據(jù)散列碼倒推報(bào)文可作用于任何尺寸數(shù)據(jù)且均產(chǎn)生定長輸出HashFunctionMAC需要對全部數(shù)據(jù)進(jìn)行加密HashFunctionHash函數(shù):h=H(x),單向性:給定h,找到x使h=H(x)在計(jì)算上不可行抗弱碰撞性:WeakCollisionResistence(WCR):
給定x,找到y(tǒng)x使H(x)=H(y)在計(jì)算上不可行抗強(qiáng)碰撞性:StrongCollisionResistence(SCR):找到任意的yx使H(x)=H(y)在計(jì)算上不可行HashFunctionHash函數(shù):h=H(x),Hash函數(shù)的基本用途(a)MH||HCompareEEk2[M||H(M)]KDKMH(M)Hash函數(shù)的基本用途(a)MH||HCompareEEk2Hash函數(shù)的基本用途(b)MH||HCompareMEEk(H(M))KDK不要求保密,處理代價(jià)小Hash函數(shù)的基本用途(b)MH||HCompareMEEkHash函數(shù)的基本用途(c)MH||HCompareMEEkRa(H(M))KRa私鑰DKUa數(shù)字簽名機(jī)制Hash函數(shù)的基本用途(c)MH||HCompareMEEkHash函數(shù)的基本用途(d)MH||HCompareEEk[M||EkRa(H(M))]KDKMEkRa(H(M))EKRa私鑰DKRa常用,保密并且數(shù)字簽名Hash函數(shù)的基本用途(d)MH||HCompareEEk[Hash函數(shù)的基本用途(e)MH||HCompareH(M||S)||SM||S不使用加密函數(shù),但是s為雙方共享秘密值,不傳送Hash函數(shù)的基本用途(e)MH||HCompareH(MHash函數(shù)的基本用途(f)MH||||SHCompareH(M||S)M||SEEk[M||H(M||S)]KDK**Hash函數(shù)的基本用途(f)MH||||SHCompareHHash問題Hash值沖突會有什么問題?Hash的用途會這樣的沖突嗎?能定制這樣的沖突嗎?Hash問題Hash值沖突會有什么問題?生日攻擊理論基礎(chǔ)理論基礎(chǔ)若k1.182m/22m/2,則k個(gè)在[1,2m]的隨機(jī)數(shù)中有兩個(gè)數(shù)相等的概率不低于0.5若k0.83n1/2,兩個(gè)在[1,n]的k個(gè)隨機(jī)數(shù)集合有交集的概率不小于0.5因此,當(dāng)Hash算法選用N位的Hash值時(shí),兩組消息(選擇k=2N/2)中有一對消息產(chǎn)生相同Hash值的概率超過0.5264--263--232生日攻擊理論基礎(chǔ)理論基礎(chǔ)生日攻擊例子ThisLetterisIamwritingtointroduceyoutotoyouMr.--AlfredP.--Barton,......Letter2與Letter1中的信含義不同。各自組合出2k封信件,
然后在兩個(gè)組中找到兩封hash值相同的信!Letter1:Letter2:......對策:Hash值足夠長,64-〉128-〉160-〉256生日攻擊例子ThisLetteristointroduhash函數(shù)通用模型由Merkle于1989年提出幾乎被所有hash算法采用具體做法:把原始消息M分成一些固定長度的塊Yi最后一塊padding并使其包含消息M的長度設(shè)定初始值CV0壓縮函數(shù)f,CVi=f(CVi-1,Yi-1)最后一個(gè)CVi為hash值hash函數(shù)通用模型由Merkle于1989年提出hash函數(shù)模型圖bY0nIV=CV0fbY1nfbYL-1nCVL-1fCV1nnIV=initialvalue初始值CV=chainingvalue鏈接值Yi=ithinputblock(第i個(gè)輸入數(shù)據(jù)塊)f=compressionalgorithm(壓縮算法)n=lengthofhashcode(散列碼的長度)b=lengthofinputblock(輸入塊的長度)CVLhash函數(shù)模型圖bY0nIV=fbY1nfbYL-1nCVMD5算法作者:RonRivest算法輸入:任意長度的消息輸出:128位消息摘要處理:以512位輸入數(shù)據(jù)塊為單位采納位標(biāo)準(zhǔn):RFC1321MD5算法作者:RonRivestMD5:示意圖MD5:示意圖MD5步驟第一步:padding補(bǔ)長到512的倍數(shù)最后64位為消息長度的低64位一定要補(bǔ)長(64+1~64+512),內(nèi)容為100…0第二步把結(jié)果分割為512位的塊:Y0,Y1,…YL-1第三步初始化MDbuffer,128位常量(4個(gè)字),進(jìn)入循環(huán)迭代,共L次每次:一個(gè)輸入128位,另一個(gè)輸入512位,結(jié)果輸出128位,用于下一輪輸入第四步最后一步的輸出即為散列結(jié)果128位MD5步驟第一步:paddingMD5的每一步運(yùn)算示意圖MD5的每一步運(yùn)算示意圖每一輪中16步的每一步運(yùn)算結(jié)構(gòu)ABCDABCD+++CLSs+gX[k]T[i]Functiongg(b,c,d)1F(b,c,d)(bc)(bd)2G(b,c,d)(bd)(cd)3H(b,c,d)bcd4I(b,c,d)c(bd)每一輪中16步的每一步運(yùn)算結(jié)構(gòu)ABCDABCD+++CLSs關(guān)于MD5MD5使用little-endian生日攻擊模式+64位可計(jì)算
128位hash值太短MD5不是足夠安全的Dobbertin在1996年找到了兩個(gè)不同的512-bit塊,它們在MD5計(jì)算下產(chǎn)生相同的hash至今還沒有真正找到兩個(gè)不同的消息,它們的MD5的hash相等關(guān)于MD5MD5使用little-endianSecureHashAlgorithm簡介1992年NIST制定了SHA(128位)1993年SHA成為標(biāo)準(zhǔn)1994年修改產(chǎn)生SHA-1(160位)1995年SHA-1成為新的標(biāo)準(zhǔn)SHA-1要求輸入消息長度<264SHA-1的摘要長度為160位基礎(chǔ)是MD4SecureHashAlgorithm簡介1992年NISHA-1算法結(jié)構(gòu)與MD5類似第一步:pading與MD5相同,補(bǔ)齊到512的倍數(shù)第二步分塊第三步初始化MDbuffer,160位常量(5個(gè)字)進(jìn)入循環(huán),160輸入+512輸入-〉160輸出第四步最后的輸出為SHA-1的結(jié)果SHA-1算法結(jié)構(gòu)與MD5類似壓縮函數(shù)壓縮函數(shù)每一輪中20步的每一步運(yùn)算結(jié)構(gòu)常量從消息
塊導(dǎo)出每一輪中20步的每一步運(yùn)算結(jié)構(gòu)常量從消息
塊導(dǎo)出SHA-1算法結(jié)論SHA-1使用big-endian抵抗生日攻擊:160位hash值沒有發(fā)現(xiàn)兩個(gè)不同的512-bit塊,它們在SHA-1計(jì)算下產(chǎn)生相同的“hash”速度慢于MD5安全性優(yōu)于MD5SHA-1算法結(jié)論SHA-1使用big-endianRIPEMD-160簡介歐洲RIPE項(xiàng)目的結(jié)果RIPEMD為128位更新后成為RIPEMD-160基礎(chǔ)是MD5算法輸入:任意長度的消息輸出:長度為160位的消息摘要處理:以512位數(shù)據(jù)塊為單位RIPEMD-160簡介歐洲RIPE項(xiàng)目的結(jié)果RIPEMD-160的壓縮函數(shù)RIPEMD-160的壓縮函數(shù)HMAC簡介MAC可用塊加密算法產(chǎn)生MAC算法速度慢加密算法出口受限制hash函數(shù)可用來構(gòu)造MACHMAC為其中之一HMAC簡介MAC可用塊加密算法產(chǎn)生HMAC示意圖HMAC示意圖HMAC的定義與特征對密鑰K左邊補(bǔ)0以產(chǎn)生一個(gè)hash塊K+K+每個(gè)字節(jié)與ipad(00110110)作XOR以產(chǎn)生Si對(Si||M)進(jìn)行hashK+每個(gè)字節(jié)與opad(01011010)作XOR以產(chǎn)生S0HMAC=f[IV,S0||f(IV,Si||M)]HMAC特征:可直接使用各種hash算法可使用將來的更加
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024貨物賒欠買賣合同樣本范文
- 物業(yè)保潔承包合同
- 個(gè)人借款合同參考
- 2024不可撤銷居間合同
- 2024年商業(yè)用途日照房屋租賃合同
- 建筑安裝分包合同
- 2024的廠房轉(zhuǎn)讓合同范文
- 2024承包施工合同范文
- 2024車輛承包經(jīng)營合同書雇用車輛合同書
- 2024標(biāo)準(zhǔn)版商務(wù)咨詢服務(wù)合同模板
- 24秋國家開放大學(xué)《當(dāng)代中國政治制度》形考任務(wù)1-4參考答案
- “以德育心,以心育德”
- 封條模板A4直接打印版
- 吉林省義務(wù)教育階段新課程計(jì)劃表(新)
- 35kV配電系統(tǒng)調(diào)試試驗(yàn)方案
- 臨床用藥管理制度
- 多層工業(yè)廠房施工組織設(shè)計(jì)#現(xiàn)澆框架結(jié)構(gòu)
- 消防控制室值班記錄(制式表格).doc
- 艱辛與快樂并存-壓力與收獲同在——我的課題研究故事
- 混凝土攔擋壩的施工方案
- 四帶混合球罐分瓣尺寸、表面積、重量及旋梯計(jì)算
評論
0/150
提交評論