信息加密與認(rèn)證技術(shù)演示文稿_第1頁
信息加密與認(rèn)證技術(shù)演示文稿_第2頁
信息加密與認(rèn)證技術(shù)演示文稿_第3頁
信息加密與認(rèn)證技術(shù)演示文稿_第4頁
信息加密與認(rèn)證技術(shù)演示文稿_第5頁
已閱讀5頁,還剩138頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

信息加密與認(rèn)證技術(shù)演示文稿當(dāng)前第1頁\共有143頁\編于星期二\2點(diǎn)2信息加密與認(rèn)證技術(shù)當(dāng)前第2頁\共有143頁\編于星期二\2點(diǎn)本章內(nèi)容古典密碼技術(shù)的分類和基本原理對稱密碼技術(shù)與DES、AES算法公鑰密碼技術(shù)與RSA、ElGamal、ECC信息認(rèn)證的概念與作用及其基本原理單向Hash函數(shù)與消息認(rèn)證碼的基本概念和原理數(shù)字簽名的原理和技術(shù)身份認(rèn)證的典型技術(shù)當(dāng)前第3頁\共有143頁\編于星期二\2點(diǎn)學(xué)習(xí)目標(biāo)了解古典密碼技術(shù)的分類和基本原理學(xué)習(xí)對稱密碼技術(shù)與DES、AES算法掌握公鑰密碼技術(shù)與RSA、ElGamal、ECC學(xué)習(xí)信息認(rèn)證的概念與作用及其基本原理了解單向Hash函數(shù)與消息認(rèn)證碼的基本概念和原理掌握數(shù)字簽名的原理和技術(shù)學(xué)習(xí)身份認(rèn)證的典型技術(shù)當(dāng)前第4頁\共有143頁\編于星期二\2點(diǎn)53.1密碼學(xué)技術(shù)概述

密碼系統(tǒng)的組成

密碼系統(tǒng)是用于對消息進(jìn)行加密、解密的系統(tǒng)??梢杂靡粋€(gè)五元組來表示:

1)明文:未加密的原始信息。

2)密文:明文被加密后的結(jié)果。

3)密鑰:參與密碼變換的參數(shù)。

4)加密算法:明文加密時(shí)所采用的一組規(guī)則。

5)解密算法:密文解密時(shí)所采用的一組規(guī)則。當(dāng)前第5頁\共有143頁\編于星期二\2點(diǎn)63.1密碼學(xué)技術(shù)概述

密碼系統(tǒng)的組成

傳統(tǒng)密碼體制模型如圖所示:當(dāng)前第6頁\共有143頁\編于星期二\2點(diǎn)73.1密碼學(xué)技術(shù)概述密碼學(xué)的分類

1.古典密碼學(xué)和現(xiàn)代密碼學(xué)

1)古典密碼學(xué)古典密碼學(xué)又稱為傳統(tǒng)密碼學(xué),主要依靠人工和機(jī)械進(jìn)行信息的加密、傳輸和破譯。加密算法主要有替代加密、置換加密等。當(dāng)前第7頁\共有143頁\編于星期二\2點(diǎn)83.1密碼學(xué)技術(shù)概述密碼學(xué)的分類

2)現(xiàn)代密碼學(xué)

亦稱為計(jì)算機(jī)密碼學(xué)階段

,利用計(jì)算機(jī)進(jìn)行自動(dòng)或半自動(dòng)的加密、解密和傳輸,以二進(jìn)制的數(shù)字化信息為研究對象,并使用現(xiàn)代思想進(jìn)行信息的保密。根據(jù)密鑰的使用方式又可分為對稱密鑰密碼和非對稱密鑰密碼。

當(dāng)前第8頁\共有143頁\編于星期二\2點(diǎn)93.1密碼學(xué)技術(shù)概述密碼學(xué)的分類

2.對稱密鑰密碼和非對稱密鑰密碼

1)對稱密鑰密碼又稱為私密鑰密碼,加密和解密數(shù)據(jù)的密鑰相同或者兩者之間存在著某種明確的數(shù)學(xué)關(guān)系。主要算法有DES、IDEA、TDEA、MD5、RC4、AES等。當(dāng)前第9頁\共有143頁\編于星期二\2點(diǎn)103.1密碼學(xué)技術(shù)概述密碼學(xué)的分類

2)非對稱密鑰密碼用于加密數(shù)據(jù)的密鑰與用于解密數(shù)據(jù)的密鑰不相同,而且從加密的密鑰無法推導(dǎo)出解密的密鑰。其中一個(gè)密鑰是公開的,另一個(gè)是保密的,又可稱為公開密鑰密碼體制。主要算法有RSA、E1gamnl、Rabin、DH、橢圓曲線等。

當(dāng)前第10頁\共有143頁\編于星期二\2點(diǎn)113.1密碼學(xué)技術(shù)概述密碼學(xué)的分類

3.分組密碼和序列密碼1)分組密碼密文僅與給定的密碼算法和密鑰有關(guān),與被處理的明文數(shù)據(jù)段在整個(gè)明文(或密文)中所處的位置無關(guān)。分組密碼以塊為單位,在密鑰的控制下進(jìn)行一系列線性和非線性變換而得到密文。

當(dāng)前第11頁\共有143頁\編于星期二\2點(diǎn)123.1密碼學(xué)技術(shù)概述密碼學(xué)的分類

3.分組密碼和序列密碼2)序列密碼密文與給定的密碼算法、密鑰、明文數(shù)據(jù)段在整個(gè)明文(或密文)所處的位置都有關(guān)。密鑰通常采用比特流發(fā)生器隨機(jī)產(chǎn)生二進(jìn)制比特流得到,與明文結(jié)合產(chǎn)生密文,與密文相結(jié)合可以產(chǎn)生明文。當(dāng)前第12頁\共有143頁\編于星期二\2點(diǎn)133.2古典密碼技術(shù)

代替密碼

1.單表代替密碼對明文中的所有字母都使用同一個(gè)映射。1)移位代替密碼如凱撒密碼,其基本思想是通過把字母移動(dòng)一定的位數(shù)來實(shí)現(xiàn)加密和解密。當(dāng)前第13頁\共有143頁\編于星期二\2點(diǎn)143.2古典密碼技術(shù)

代替密碼

2)乘法代替密碼已知:p=c=k=z26,k是滿足0<k<n的正整數(shù),要求k與n互素。加密算法:c=E(k,p)=(pk)(modn)解密算法:p=D(k,c)=k-1c(modn)當(dāng)前第14頁\共有143頁\編于星期二\2點(diǎn)153.2古典密碼技術(shù)

代替密碼

3)仿射密碼乘法密碼和加法密碼相結(jié)合便構(gòu)成仿射密碼。仿射密碼是一個(gè)線性變換。對于p=c=k=z26,且K={(a,b)∈z26Xz26,gcd(a,26)=1},對于任意的k=(k1,k2)∈K,加密算法:c=E(k,p)=k1p+k2(mod26)解密算法:p=D(k,c)=k1-1(c-k2)(mod26)當(dāng)前第15頁\共有143頁\編于星期二\2點(diǎn)163.2古典密碼技術(shù)

代替密碼

2、多表代替密碼采用多個(gè)密文字母表,使得密文中的每一個(gè)字母有多種可能的字母來代替。Vigenère密碼、Playfair密碼、滾動(dòng)密鑰密碼、弗納姆密碼以及Hill密碼都是這一類密碼。當(dāng)前第16頁\共有143頁\編于星期二\2點(diǎn)173.2古典密碼技術(shù)

代替密碼

1)Vigenère密碼最著名的多表代換密碼,用一個(gè)詞組作為密鑰,每一個(gè)密鑰字母都對應(yīng)一個(gè)代替表。密鑰循環(huán)使用。已知明文p=p1p2...pn,m是一個(gè)固定的正整數(shù),對于一個(gè)密鑰k=k1k2...km,則加密算法如下:C=E(p,k)=(p1+k1(mod26),p2+k2(mod26),...,,pn+kn(mod26)...)

當(dāng)前第17頁\共有143頁\編于星期二\2點(diǎn)183.2古典密碼技術(shù)

代替密碼

1)Vigenère密碼

解密算法:P=D(c,k)=(c1-k1(mod26),c2-k2(mod26),...,,cn-kn(mod26)...)

當(dāng)前第18頁\共有143頁\編于星期二\2點(diǎn)193.2古典密碼技術(shù)

代替密碼

2)Playfair加密算法將明文中的雙字母組合作為一個(gè)單元進(jìn)行處理,并將每一個(gè)單元轉(zhuǎn)換成雙字母的密文組合。Playfair密碼基于一個(gè)5×5矩陣,該矩陣采用一個(gè)關(guān)鍵詞作為密鑰來構(gòu)造。構(gòu)造的方法為:按從左至右,從上至下的順序依次首先填入關(guān)鍵詞中非重復(fù)的字母,然而再將字母表中剩余的字母按順序填入矩陣。當(dāng)前第19頁\共有143頁\編于星期二\2點(diǎn)203.2古典密碼技術(shù)代替密碼

3)滾動(dòng)密鑰密碼

對于周期多表代替密碼,保密性將隨周期d的加大而增加,當(dāng)d的長度和明文一樣長時(shí)就變成了滾動(dòng)密鑰密碼。如果其中所采用的密鑰不重復(fù)就是一次一密體制。一般密鑰可取一本書或一篇報(bào)告作為密鑰源,可由書名,章節(jié)號及標(biāo)題來限定密鑰的起始位置。

當(dāng)前第20頁\共有143頁\編于星期二\2點(diǎn)213.2古典密碼技術(shù)代替密碼

4)弗納姆密碼將隨機(jī)二元數(shù)字序列作為密鑰,以k=k1k2...ki...(ki∈F2)表示,明文字母編成二元向量后也可以表示為二元序m=m1m2...mi...(mi∈F2),加密過程就是將k和m逐位異或,即:ci=miXORki,i=1,2,...譯碼時(shí),用同樣的密鑰對密文逐位異或,變可恢復(fù)明文的二元數(shù)字序列,即:mi=ciXORki,i=1,2,...

當(dāng)前第21頁\共有143頁\編于星期二\2點(diǎn)223.2古典密碼技術(shù)代替密碼

5)Hill密碼Hill加密算法的基本思想是將m個(gè)明文字母通過線性變換將它們轉(zhuǎn)換為m個(gè)密文字母。解密只要做一次逆變換就可以了。密鑰就是變換矩陣本身。加密過程為:C=KPmod26其中,C和P代表密文和明文向量,K是密鑰矩陣。解密則為:P=K-1C

當(dāng)前第22頁\共有143頁\編于星期二\2點(diǎn)233.2古典密碼技術(shù)代替密碼

6)一次一密一次一密亂碼本是一個(gè)大的不重復(fù)的真隨機(jī)密鑰字母集。發(fā)方用亂碼本中的每一密鑰字母準(zhǔn)確地加密一個(gè)明文字符。加密是明文字符和一次一密亂碼本密鑰字符的模26加法。收方有一個(gè)同樣的亂碼本,并依次使用亂碼本上的每個(gè)密鑰去解密密文的每個(gè)字符。在進(jìn)行過一次加解密后,亂碼本用過的部分將被銷毀。新的消息用亂碼本新的密鑰加密。

當(dāng)前第23頁\共有143頁\編于星期二\2點(diǎn)243.2古典密碼技術(shù)置換密碼

古典密碼技術(shù)除了代替密碼,還有一種稱為置換密碼。把明文中的字母重新排列,字母本身不變,但其位置變了。單純的置換密碼因?yàn)橛兄c原文相同的字母頻率而被識(shí)破。多步置換密碼相對來說安全的多。當(dāng)前第24頁\共有143頁\編于星期二\2點(diǎn)253.3對稱密鑰密碼技術(shù)基本概念

對稱密鑰加密又稱專用密碼加密,即發(fā)送和接收方必須使用相同的密鑰對明文進(jìn)行加解密運(yùn)算。算法主要包括DES、3DES、IDEA、FEAL、BLOWFISH等。對稱加密的基本要求:1、強(qiáng)大的加密算法。2、發(fā)送方和接收方必須保證密鑰的安全。實(shí)現(xiàn)方式:流密碼技術(shù),分組密碼技術(shù)當(dāng)前第25頁\共有143頁\編于星期二\2點(diǎn)263.3對稱密鑰密碼技術(shù)流密碼技術(shù)

基本思想是利用密鑰k產(chǎn)生一個(gè)密鑰流k0k1k2...,并使用如下規(guī)則對明文串p=p0p1p2...加密:c=c0c1c2...=Ek0(p0)Ek1(p1)Ek2(p2)...。密鑰流由密鑰流發(fā)生器f產(chǎn)生:zi=f(k,σi),σi是加密器中記憶元件在時(shí)刻i的狀態(tài)。根據(jù)σi是否依賴于輸入的明文字符,流密碼可進(jìn)一步分為同步和自同步兩種。在同步流密碼中,可將加密器分成密鑰流產(chǎn)生器和加密變換器兩個(gè)部分。當(dāng)前第26頁\共有143頁\編于星期二\2點(diǎn)273.3對稱密鑰密碼技術(shù)流密碼技術(shù)

加密模型如圖所示:當(dāng)前第27頁\共有143頁\編于星期二\2點(diǎn)283.3對稱密鑰密碼技術(shù)流密碼技術(shù)

1.A5/1A5/1算法主要應(yīng)用在GSM移動(dòng)通信中用于保護(hù)數(shù)據(jù)。使用X、Y、Z三個(gè)線性移位寄存器LFSR。寄存器X包括19比特,編號為(x0,x1,...,x18)。寄存器Y包括22比特,編號為(y0,y1,...,y21)。寄存器Z包括23比特,編號為(z0,z1,...,z22)。三個(gè)LFSR總共包括64比特。

密鑰K同樣是64比特,用于初始化三個(gè)寄存器。用密鑰填充三個(gè)寄存器后,就完成了密碼流生成前的準(zhǔn)備。當(dāng)前第28頁\共有143頁\編于星期二\2點(diǎn)293.3對稱密鑰密碼技術(shù)流密碼技術(shù)

1.A5/1密鑰流生成算法如圖所示:當(dāng)前第29頁\共有143頁\編于星期二\2點(diǎn)303.3對稱密鑰密碼技術(shù)流密碼技術(shù)

2.RC4A5/1根據(jù)硬件實(shí)現(xiàn)設(shè)計(jì),每步僅產(chǎn)生一個(gè)密鑰流比特;RC4算法為軟件實(shí)現(xiàn)優(yōu)化,每步產(chǎn)生一個(gè)密鑰字節(jié)。本質(zhì)上來講就是一個(gè)包含256字節(jié)的置換查表,在產(chǎn)生密鑰流的每一個(gè)字節(jié)時(shí),所查的表就進(jìn)行一次修改,表始終都包含{0,1,2,…255}的置換。

當(dāng)前第30頁\共有143頁\編于星期二\2點(diǎn)313.3對稱密鑰密碼技術(shù)流密碼技術(shù)

2.RC4RC4算法都是基于字節(jié)的。算法的第一階段是對于查表使用的密鑰進(jìn)行初始化,再產(chǎn)生每個(gè)密鑰流字節(jié),在加密時(shí)與明文做XOR運(yùn)算,解密時(shí)與密文做XOR運(yùn)算。

當(dāng)前第31頁\共有143頁\編于星期二\2點(diǎn)323.3對稱密鑰密碼技術(shù)分組密碼技術(shù)

分組密碼是對稱密碼的典型代表。即數(shù)據(jù)在密鑰的作用下,一組一組地被處理,明文和密文的長度通常是相等的,一次對一個(gè)明文分組(如DES為64位)進(jìn)行加密,而且每次的加密密鑰都相同。當(dāng)前第32頁\共有143頁\編于星期二\2點(diǎn)333.3對稱密鑰密碼技術(shù)分組密碼技術(shù)

分組加密的一般結(jié)構(gòu)如圖所示:

當(dāng)前第33頁\共有143頁\編于星期二\2點(diǎn)343.3對稱密鑰密碼技術(shù)分組密碼技術(shù)按特定長度(如64bits)分組時(shí),最后一組消息長度可能不足64bits??梢蕴畛湟恍?shù)字,通常用最后1字節(jié)作為填充指示符(PI)。

當(dāng)前第34頁\共有143頁\編于星期二\2點(diǎn)353.3對稱密鑰密碼技術(shù)分組密碼技術(shù)

1.DESDES是一種分組乘積密碼,包括16輪迭代。明密文分組長度為64位,密鑰總長為64位,有效長度56位,其中第8、16、……、64位共8位是奇偶校驗(yàn)位。DES是一種對稱運(yùn)算,除子密鑰使用順序逆序外,加密和解密算法相同。DES是一種面向二進(jìn)制的密碼算法,能夠加解密任何形式的計(jì)算機(jī)數(shù)據(jù)。

當(dāng)前第35頁\共有143頁\編于星期二\2點(diǎn)363.3對稱密鑰密碼技術(shù)分組密碼技術(shù)

DES的加密算法流程:

1.初始置換IP:將輸入的64位數(shù)據(jù)打亂IP(b1b2...b64)=b58b50...b7。再平均分成兩部分L0,R0。2.16輪的輪變換:將64位輸入密鑰擴(kuò)展為16個(gè)48位輪子密鑰K。每輪變換公式為:

3.逆初始置換IP-1:將L16,R16合并的64位數(shù)據(jù)置換IP-1

(b1b2...b64)=b40b8...b25。當(dāng)前第36頁\共有143頁\編于星期二\2點(diǎn)373.3對稱密鑰密碼技術(shù)分組密碼技術(shù)

DES的加密算法流程圖:當(dāng)前第37頁\共有143頁\編于星期二\2點(diǎn)383.3對稱密鑰密碼技術(shù)分組密碼技術(shù)

2.TDEA和IDEA

1)TDEA算法TDEA算法又叫做三重DES算法,執(zhí)行三次DES的加密,加密步驟如下:①發(fā)送端用密鑰Keyl進(jìn)行DES加密。②發(fā)送端用密鑰Key2對上一結(jié)果進(jìn)行DES解密。③發(fā)送端用密鑰Key3對上一結(jié)果進(jìn)行DES加密。當(dāng)前第38頁\共有143頁\編于星期二\2點(diǎn)393.3對稱密鑰密碼技術(shù)分組密碼技術(shù)TDEA算法加/解密流程圖:

當(dāng)前第39頁\共有143頁\編于星期二\2點(diǎn)403.3對稱密鑰密碼技術(shù)分組密碼技術(shù)

2)IDEA算法IDEA加密算法是在DES算法的基礎(chǔ)上發(fā)展而來的,類似于三重DES算法,其分組長度也是64位,但密鑰長度是128位,增加了破譯難度。

IDEA使用的運(yùn)算有異或、模216加法和模(216+1)乘法。

當(dāng)前第40頁\共有143頁\編于星期二\2點(diǎn)413.3對稱密鑰密碼技術(shù)分組密碼技術(shù)

IDEA算法加密過程:①8輪的重復(fù)運(yùn)算。②64位的明文分組在每一輪都是被分成4個(gè)子分組,每個(gè)16位子分組作為一個(gè)單元來處理。③每一輪中有6個(gè)不同的子密鑰參與運(yùn)算。④最后的輸出變換有4個(gè)子密鑰參與運(yùn)算。

IDEA的解密算法使用與加密算法同樣的結(jié)構(gòu),子密鑰的生成方法不同。

當(dāng)前第41頁\共有143頁\編于星期二\2點(diǎn)423.3對稱密鑰密碼技術(shù)分組密碼技術(shù)

IDEA算法解密子密鑰的生成方法:①解密循環(huán)i的前4個(gè)子密鑰從加密循環(huán)(10–i)的前4個(gè)子密鑰中導(dǎo)出;解密密鑰第1、4個(gè)子密鑰對應(yīng)于1、4加密子密鑰的乘法逆元;解密密鑰第2、3個(gè)子密鑰對應(yīng)于2、3加密子密鑰的加法逆元。②對前8個(gè)循環(huán)來說,循環(huán)i的最后兩個(gè)子密鑰等于加密循環(huán)(9–i)的最后兩個(gè)子密鑰。當(dāng)前第42頁\共有143頁\編于星期二\2點(diǎn)433.3對稱密鑰密碼技術(shù)分組密碼技術(shù)

3.AES

DES的設(shè)計(jì)主要針對硬件實(shí)現(xiàn),而當(dāng)今許多領(lǐng)域的問題需要用軟件方法來實(shí)現(xiàn)。AES加密方法在這種需求下應(yīng)運(yùn)而生。

AES算法是128位塊密碼,支持三種不同大小的密鑰:128,192和256位。當(dāng)前第43頁\共有143頁\編于星期二\2點(diǎn)443.3對稱密鑰密碼技術(shù)分組密碼技術(shù)

3.AES

AES密碼算法采用的是代替-置換網(wǎng)絡(luò)結(jié)構(gòu),每一輪操作由4層組成:第1層(字節(jié)替換)為非線性層,用S盒對每一輪中的單個(gè)字節(jié)分別進(jìn)行替換;第2層(行移位)和第3層(列混合)是線性混合層,對當(dāng)前的狀態(tài)按行移位,按列混合;第4層(密鑰加層)用子密鑰與當(dāng)前狀態(tài)進(jìn)行字節(jié)上的異或。當(dāng)前第44頁\共有143頁\編于星期二\2點(diǎn)453.3對稱密鑰密碼技術(shù)分組密碼技術(shù)

AES算法結(jié)構(gòu)圖:

當(dāng)前第45頁\共有143頁\編于星期二\2點(diǎn)463.3對稱密鑰密碼技術(shù)分組密碼技術(shù)

AES算法每一層操作過程:

1)字節(jié)替換(SubBytes)AES定義了一個(gè)S盒,將State中每個(gè)字節(jié)的高4位作為行值,低4位作為列值,取出S盒中對應(yīng)行和列的元素作為輸出。例如,十六進(jìn)制數(shù){84}。對應(yīng)S盒的行是8列是4,S盒中該位置對應(yīng)的值是{5F}。

當(dāng)前第46頁\共有143頁\編于星期二\2點(diǎn)473.3對稱密鑰密碼技術(shù)分組密碼技術(shù)

2)行位移變換(ShiftRows)State的第1行字節(jié)保持不變,第2行字節(jié)循環(huán)左移一個(gè)字節(jié),第3行字節(jié)循環(huán)左移兩個(gè)字節(jié),第4行循環(huán)左移三個(gè)字節(jié)。

當(dāng)前第47頁\共有143頁\編于星期二\2點(diǎn)483.3對稱密鑰密碼技術(shù)分組密碼技術(shù)

3)列混合變換(MixColumns)列混合變換是一個(gè)替代操作,它只在AES的第0,1,…,(R-1)輪中使用,在第R輪中不使用該變換。在該變換中,乘法和加法都是定義在GF(28)上的。State的每一列被理解為GF(28)上的多項(xiàng)式,該多項(xiàng)式與一個(gè)常數(shù)多項(xiàng)式相乘并模M(x)=x4+1約化。

當(dāng)前第48頁\共有143頁\編于星期二\2點(diǎn)493.3對稱密鑰密碼技術(shù)分組密碼技術(shù)

4)密鑰加變換(AddRoundKey)128位的State按位與128位的密鑰XOR。當(dāng)前第49頁\共有143頁\編于星期二\2點(diǎn)503.3對稱密鑰密碼技術(shù)分組密碼技術(shù)

5)密鑰擴(kuò)展(KeyExpansion)在加密和解密算法使用了一個(gè)由種子密鑰字節(jié)數(shù)組生成的密鑰調(diào)度表。密鑰擴(kuò)展過程從一個(gè)原始密鑰中生成多重密鑰以代替使用單個(gè)密鑰。在AES密鑰擴(kuò)展算法的輸入值是4字密鑰,輸出是一個(gè)44字的一維線性數(shù)組。這足以為初始輪密鑰擴(kuò)展過程階段和算法中的其他10輪中的每一輪提供16字節(jié)的輪密鑰。當(dāng)前第50頁\共有143頁\編于星期二\2點(diǎn)513.3對稱密鑰密碼技術(shù)對稱密鑰密碼的分析方法密碼編碼學(xué)與密碼分析學(xué)的對立性促進(jìn)了密碼學(xué)的發(fā)展。根據(jù)密碼分析者對明文、密文等信息掌握的多少,可以將密碼分析分為以下五種情形:唯一密文攻擊、已知明文攻擊、選擇明文攻擊、選擇密文攻擊和選擇文本攻擊。

當(dāng)前第51頁\共有143頁\編于星期二\2點(diǎn)523.3對稱密鑰密碼技術(shù)對稱密鑰密碼的分析方法具體的分析方法主要包括:1.強(qiáng)力攻擊法強(qiáng)力攻擊可用于任何分組密碼,且攻擊的復(fù)雜度僅依賴于分組長度和密鑰長度。工作效率包括加/解密速度、密鑰擴(kuò)展速度、存儲(chǔ)空間等。

當(dāng)前第52頁\共有143頁\編于星期二\2點(diǎn)533.3對稱密鑰密碼技術(shù)對稱密鑰密碼的分析方法2.差分密碼分析已知最有效的攻擊迭代密碼的方法之一?;舅枷胧峭ㄟ^分析明文對的差值對密文對的差值的影響來恢復(fù)某些密鑰比特。差分密碼分析最初是針對DES加密提出的一種攻擊方法,能成功破解輪數(shù)較低的DES。

當(dāng)前第53頁\共有143頁\編于星期二\2點(diǎn)542.3對稱密鑰密碼技術(shù)對稱密鑰密碼的分析方法3.線性密碼分析本質(zhì)上是一種已知明文攻擊法,是對DES加密方法進(jìn)行破譯的主要方法。基本思想是通過尋找一個(gè)給定密碼算法的有效的線性近似表達(dá)式來破譯密碼系統(tǒng)。當(dāng)前第54頁\共有143頁\編于星期二\2點(diǎn)553.3對稱密鑰密碼技術(shù)對稱密鑰密碼的分析方法4、差分-線性密碼分析對差分密碼分析和線性密碼分析進(jìn)行改進(jìn),是降低它們復(fù)雜度的眾多改進(jìn)之一。它利用的是差分密碼分析和線性密碼分析相結(jié)合的技術(shù)。

當(dāng)前第55頁\共有143頁\編于星期二\2點(diǎn)562.3對稱密鑰密碼技術(shù)對稱密鑰密碼的分析方法5、插值攻擊利用了拉格朗日插值公式的思想。如果一個(gè)密碼算法是固定的密鑰的低次多項(xiàng)式函數(shù),或項(xiàng)數(shù)較少的多項(xiàng)式,其項(xiàng)數(shù)可以估算出來,則通過插值法可以得到其代數(shù)表達(dá)式,從而可能恢復(fù)出密鑰。當(dāng)前第56頁\共有143頁\編于星期二\2點(diǎn)573.4非對稱密鑰密碼技術(shù)

基本概念

1976年提出的公開密鑰密碼體制思想不同于傳統(tǒng)的對稱密鑰密碼體制,它要求密鑰成對出現(xiàn),一個(gè)為加密密鑰e,另一個(gè)為解密密鑰d,且不可能從其中一個(gè)推導(dǎo)出另一個(gè)。非對稱密碼算法解決了對稱密碼體制中密鑰管理的難題,并提供了對信息發(fā)送人的身份進(jìn)行驗(yàn)證的手段,是現(xiàn)代密碼學(xué)的最重要的發(fā)明和進(jìn)展。當(dāng)前第57頁\共有143頁\編于星期二\2點(diǎn)583.4非對稱密鑰密碼技術(shù)

基本概念

單向和陷門單向函數(shù)的概念是公鑰密碼學(xué)的核心,可以說非對稱密鑰密碼體制的設(shè)計(jì)就是陷門單向函數(shù)的設(shè)計(jì)。當(dāng)前第58頁\共有143頁\編于星期二\2點(diǎn)593.4非對稱密鑰密碼技術(shù)RSA算法

RSA密碼體制是目前為止最為成功的非對稱密碼算法,它的安全性是建立在“大數(shù)分解和素性檢測”這個(gè)數(shù)論難題的基礎(chǔ)上。

RSA算法研制的最初理念與目標(biāo)是努力使互聯(lián)網(wǎng)安全可靠,旨在解決DES算法秘密密鑰的利用公開信道傳輸分發(fā)的難題。同時(shí),可利用RSA來完成對電文的數(shù)字簽名以對抗電文的否認(rèn)與抵賴;還可以利用數(shù)字簽名較容易地發(fā)現(xiàn)攻擊者對電文的非法篡改,以保護(hù)數(shù)據(jù)信息的完整性。

當(dāng)前第59頁\共有143頁\編于星期二\2點(diǎn)603.4非對稱密鑰密碼技術(shù)RSA算法

算法描述:

1.密鑰生成選擇兩個(gè)互異的大素?cái)?shù)p和q,n是二者的乘積,即n=pq,使Φ(n)=(p-1)(q-1),Φ(n)為歐拉函數(shù),隨機(jī)選取與Φ(n)互素的正整數(shù)e,將(n,e)作為公鑰。計(jì)算滿足e*d=1modΦ(n)的正數(shù)d,將(n,d)作為私鑰。當(dāng)前第60頁\共有143頁\編于星期二\2點(diǎn)613.4非對稱密鑰密碼技術(shù)RSA算法2.加密算法對于明文M,由C=Memodn,得到密文C。3.解密算法對于密文C,由M=Cdmodn,得到明文M。當(dāng)前第61頁\共有143頁\編于星期二\2點(diǎn)623.4非對稱密鑰密碼技術(shù)RSA算法

RSA算法提出以后,密碼分析學(xué)家提出了一些針對RSA的攻擊方法。使用RSA應(yīng)注意:1)知道對于一個(gè)給定模數(shù)的一個(gè)加/解密密鑰指數(shù)對,攻擊者就能夠分解這個(gè)模數(shù),無需分解n就可以計(jì)算出別的加/解密對。2)在通信網(wǎng)絡(luò)中,利用RSA的協(xié)議不應(yīng)該使用公共模數(shù)。3)消息中應(yīng)該使用隨機(jī)數(shù)填充以避免對加密指數(shù)的攻擊。4)解密指數(shù)應(yīng)該大。當(dāng)前第62頁\共有143頁\編于星期二\2點(diǎn)633.4非對稱密鑰密碼技術(shù)ElGamal算法

ElGamal為目前著名的公開密鑰密碼系統(tǒng)之一,可用作加/解密、數(shù)字簽名等,其安全性依賴于離散對數(shù)問題。

ElGamal包括密鑰生成、加密過程、解密過程。

1.密鑰生成1)任選一個(gè)大質(zhì)數(shù)p,使得p-1有大質(zhì)因數(shù)。2)任選一個(gè)modp之原根g。3)公布p與g。使用者任選一私鑰,并計(jì)算密鑰。當(dāng)前第63頁\共有143頁\編于星期二\2點(diǎn)643.4非對稱密鑰密碼技術(shù)ElGamal算法

2.加密過程1)任選一個(gè)數(shù)滿足,并計(jì)算,。2)密文為。3.解密過程1)計(jì)算。2)計(jì)算明文。當(dāng)前第64頁\共有143頁\編于星期二\2點(diǎn)653.4非對稱密鑰密碼技術(shù)ElGamal算法

ElGamal方法具有以下優(yōu)點(diǎn):①系統(tǒng)不需要保存秘密參數(shù),所有的系統(tǒng)參數(shù)均可公開;②同一個(gè)明文在不同的時(shí)間由相同加密者加密會(huì)產(chǎn)生不同的密文(機(jī)率式密碼系統(tǒng)),但ElGamal方法的計(jì)算復(fù)雜度比RSA方法要大。

當(dāng)前第65頁\共有143頁\編于星期二\2點(diǎn)663.4非對稱密鑰密碼技術(shù)

橢圓曲線算法

橢圓曲線系統(tǒng)第一次應(yīng)用于密碼學(xué)上是于1985年由Koblitz與Miller分別提出,隨后有兩個(gè)較著名的橢圓曲線密碼系統(tǒng)被提出:一種是利用ElGamal的加密法,另一種為Menezes-Vanstone的加密法。

當(dāng)前第66頁\共有143頁\編于星期二\2點(diǎn)673.4非對稱密鑰密碼技術(shù)

橢圓曲線算法

1.橢圓曲線定義令p>3為質(zhì)數(shù),在GF(p)中的橢圓曲線E:y2=x3+ax+bmodp,其中,4a3+27b2≠0(modp)。曲線上另定義一個(gè)無窮遠(yuǎn)點(diǎn)O,對任一點(diǎn)A∈E,A+O=O+A=A。當(dāng)前第67頁\共有143頁\編于星期二\2點(diǎn)683.4非對稱密鑰密碼技術(shù)

橢圓曲線算法

2.加法運(yùn)算令A(yù)=(x1,y1)與B=(x2,y2)為E上的點(diǎn)。若x2=x1,且y2=-y1,則A+B=O;否則A+B=(x3,y3),其中:x3=λ2-x1-x2,y3=λ(x1-x3)-y1。當(dāng)前第68頁\共有143頁\編于星期二\2點(diǎn)693.4非對稱密鑰密碼技術(shù)

橢圓曲線算法

3.反元素運(yùn)算

點(diǎn)A=(x,y)的反元素為-A=-(x,y)=(x,-y)。A+(-A)=(-A)+A=O,此時(shí)O稱為乘法單位元素。當(dāng)前第69頁\共有143頁\編于星期二\2點(diǎn)703.4非對稱密鑰密碼技術(shù)

橢圓曲線算法

4.橢圓曲線密碼體制設(shè)GF(p)是一個(gè)有限域,GF(p)上的橢圓曲線是指滿足Weirstrass方程:y2+a1xy+a3y=x3+a2x2+a4x+a5

的所有解(x,y)與無窮遠(yuǎn)點(diǎn)O構(gòu)成的非空集合。當(dāng)前第70頁\共有143頁\編于星期二\2點(diǎn)713.4非對稱密鑰密碼技術(shù)

橢圓曲線算法

基于橢圓曲線的各種密碼體制的安全性最終可歸結(jié)為解ECDLP問題,當(dāng)數(shù)據(jù)量足夠大以致ECDLP問題無法解決時(shí),就認(rèn)為該密碼體制是安全的,具有160bit數(shù)據(jù)長度的ECDLP問題在目前被認(rèn)為是安全的。當(dāng)前第71頁\共有143頁\編于星期二\2點(diǎn)723.4非對稱密鑰密碼技術(shù)

橢圓曲線算法

一般的橢圓曲線密碼體制都基于以下運(yùn)算:

①存在一個(gè)容易計(jì)算的函數(shù)f:;②選取整數(shù)e,1<e<N,選取整數(shù)d,使得de=1

(modN),由deP(m)=P(m),可恢復(fù)P(m);③選取整數(shù)a,1<a<N,由P(m)=P(m)+aP-aP,可恢復(fù)出

P(m)。當(dāng)前第72頁\共有143頁\編于星期二\2點(diǎn)733.4非對稱密鑰密碼技術(shù)

橢圓曲線算法

一個(gè)典型的橢圓曲線公鑰密碼可以描述如下:加密過程:設(shè)明文m=(m1,m2)∈Zp*×Zp*。

①選取正數(shù)k,0<k<#A-1,k保密。

②計(jì)算:y0=kα、(c1,c2)=kβ、y1=c1m1(modq)、y2=c2m2(modq)。

③密文c=(y0,y1,y2),將其發(fā)送給接收方。當(dāng)前第73頁\共有143頁\編于星期二\2點(diǎn)743.4非對稱密鑰密碼技術(shù)

橢圓曲線算法

解密過程:

①接收方接收到密文c。

②計(jì)算(c1,c2)=ay0。

③通過下列運(yùn)算恢復(fù)明文:m=(y1c1-1(modq),y2c2-1(modq))。橢圓曲線密碼體制在相同的安全強(qiáng)度下所要求的密鑰強(qiáng)度僅是RSA的1/6,因此在運(yùn)算速度和存儲(chǔ)空間方面具有很大的優(yōu)勢,在實(shí)際應(yīng)用中具有很大的使用價(jià)值。當(dāng)前第74頁\共有143頁\編于星期二\2點(diǎn)753.4非對稱密鑰密碼技術(shù)混合加密算法

對稱與非對稱密碼加密對比如表所示:當(dāng)前第75頁\共有143頁\編于星期二\2點(diǎn)763.4非對稱密鑰密碼技術(shù)混合加密算法

對稱密鑰密碼體制中的DES算法具有可靠性較高、加密/解密速度快、算法容易實(shí)現(xiàn)以及通用性強(qiáng)等優(yōu)點(diǎn),但也存在密鑰位數(shù)少、弱密鑰和半弱密鑰、易于遭受窮盡攻擊以及密鑰管理復(fù)雜等缺點(diǎn)。與DES算法相比,RSA算法具有以下優(yōu)點(diǎn):密鑰空間大、密鑰管理簡單、便于數(shù)字簽名、可靠性較很高。當(dāng)前第76頁\共有143頁\編于星期二\2點(diǎn)773.4非對稱密鑰密碼技術(shù)混合加密算法

RSA算法的缺點(diǎn)是加密速度慢、算法復(fù)雜,加密/解密速度慢。如果RSA和DES結(jié)合使用,則正好彌補(bǔ)RSA的缺點(diǎn)。即DES用于明文加密,RSA用于DES密鑰的加密。

當(dāng)前第77頁\共有143頁\編于星期二\2點(diǎn)783.4非對稱密鑰密碼技術(shù)混合加密算法

一種混合了非對稱和對稱加密算法的加密方式如圖:

當(dāng)前第78頁\共有143頁\編于星期二\2點(diǎn)793.4非對稱密鑰密碼技術(shù)混合加密算法

這種混合加密方式的原理是:發(fā)送方S先使用DES或IDEA對稱算法對數(shù)據(jù)進(jìn)行加密,然后使用公鑰算法RSA加密前者的對稱密鑰。接收方R先使用RSA算法解密出對稱密鑰,再用對稱密鑰解密被加密的數(shù)據(jù)。

當(dāng)前第79頁\共有143頁\編于星期二\2點(diǎn)803.5信息認(rèn)證技術(shù)概述

信息認(rèn)證技術(shù)

認(rèn)證又稱為鑒別,是防止主動(dòng)攻擊(如篡改、偽造信息等)的一項(xiàng)重要技術(shù),解決網(wǎng)絡(luò)數(shù)據(jù)傳輸過程中可能出的非法訪問與篡改、假冒偽造、拒絕服務(wù)、抵賴等安全問題,確保網(wǎng)絡(luò)中傳送數(shù)據(jù)的機(jī)密性、訪問可控制性、數(shù)據(jù)完整性、抗抵賴性等方面的安全需求。

認(rèn)證的目的包括:消息完整性認(rèn)證和身份認(rèn)證。

當(dāng)前第80頁\共有143頁\編于星期二\2點(diǎn)813.5信息認(rèn)證技術(shù)概述

信息認(rèn)證技術(shù)

一個(gè)安全的認(rèn)證體制至少應(yīng)該滿足以下要求:1)接收者能夠檢驗(yàn)和證實(shí)消息的合法性、真實(shí)性和完整性。2)消息的發(fā)送者對所發(fā)的消息不能抵賴,某些場合也要求消息的接收者不能否認(rèn)收到的消息。3)除了合法的消息發(fā)送者外,其他人不能偽造發(fā)送消息。

當(dāng)前第81頁\共有143頁\編于星期二\2點(diǎn)823.5信息認(rèn)證技術(shù)概述

信息認(rèn)證技術(shù)

認(rèn)證和保密通常是相對獨(dú)立的,一個(gè)純認(rèn)證系統(tǒng)的模型如下:

當(dāng)前第82頁\共有143頁\編于星期二\2點(diǎn)833.5信息認(rèn)證技術(shù)概述

信息認(rèn)證技術(shù)

信息認(rèn)證是指通過對消息或者消息有關(guān)的信息進(jìn)行加密或簽名變換進(jìn)行的認(rèn)證,目的是為了防止傳輸和存儲(chǔ)的消息被有意/無意的篡改,包括消息內(nèi)容認(rèn)證(即消息完整性認(rèn)證)、消息的源和宿認(rèn)證(即身份認(rèn)證)、以及消息的序號和操作時(shí)間認(rèn)證等。它在票據(jù)防偽中具有重要應(yīng)用。信息認(rèn)證主要用于防止信息被篡改。

當(dāng)前第83頁\共有143頁\編于星期二\2點(diǎn)843.6Hash函數(shù)與消息認(rèn)證

基本概念

1.Hash函數(shù)Hash函數(shù)是把可變長度的輸入串轉(zhuǎn)換成固定長度的輸出串的一種函數(shù)。Hash函數(shù)具備以下性質(zhì):1)Hash函數(shù)H可適用于任意長度的輸入數(shù)據(jù)塊,產(chǎn)生固定長度的Hash值。2)對于每一個(gè)給定輸入數(shù)據(jù)M,都能很容易計(jì)算出它的Hash值H(M)。當(dāng)前第84頁\共有143頁\編于星期二\2點(diǎn)853.6Hash函數(shù)與消息認(rèn)證

基本概念

3)如果給定Hash值h,要逆向推出輸入數(shù)據(jù)M在計(jì)算上不可行,即Hash函數(shù)具備單向性。4)對于給定的消息M1和其Hash值H(M1),找到滿足M2≠M(fèi)1,且H(M2)=H(M1)的M2在計(jì)算上是不可行的,即抗弱碰撞性。5)要找到任何滿足H(M1)=H(M2)且M1≠M(fèi)2的消息對(M1,M2)在計(jì)算上是不可行的,即抗強(qiáng)碰撞性。

當(dāng)前第85頁\共有143頁\編于星期二\2點(diǎn)863.6Hash函數(shù)與消息認(rèn)證

基本概念

安全單向Hash函數(shù)的一般結(jié)構(gòu)如圖:

當(dāng)前第86頁\共有143頁\編于星期二\2點(diǎn)873.6Hash函數(shù)與消息認(rèn)證

基本概念

2.消息認(rèn)證消息鑒別碼也叫密碼校驗(yàn)和,是鑒別函數(shù)的一種。其原理是:用公開函數(shù)和密鑰產(chǎn)生一個(gè)固定長度的值作為認(rèn)證標(biāo)識(shí),用這個(gè)標(biāo)識(shí)鑒別消息的完整性。

消息認(rèn)證碼的安全性取決于兩點(diǎn):①采用的加密算法;②待加密數(shù)據(jù)塊的生成方法。當(dāng)前第87頁\共有143頁\編于星期二\2點(diǎn)883.6Hash函數(shù)與消息認(rèn)證

基本概念

消息認(rèn)證不支持可逆性,是多對一的函數(shù),其定義域由任意長的消息組成,而值域則是由遠(yuǎn)小于消息長度的比特構(gòu)成。必須要找到一種足夠單向和強(qiáng)碰撞自由性的方法對消息認(rèn)證才是安全的。

1)利用校驗(yàn)碼加密的方式構(gòu)造認(rèn)證碼,實(shí)現(xiàn)數(shù)據(jù)完整性。

2)對于用單向Hash函數(shù)構(gòu)造認(rèn)證碼的方式來說,摘要的長度是一個(gè)關(guān)鍵的因素。當(dāng)前第88頁\共有143頁\編于星期二\2點(diǎn)893.6Hash函數(shù)與消息認(rèn)證

常見的單向Hash函數(shù)

1.MD5

MD5是RSA數(shù)據(jù)安全公司開發(fā)的一種單向Hash算法,MD5被廣泛使用,可以用來把不同長度的數(shù)據(jù)塊進(jìn)行運(yùn)算處理生成一個(gè)128bit的數(shù)據(jù)塊。

MD5以512bit分組來處理輸入的信息,且每一分組又被劃分為16個(gè)32bit的子分組,經(jīng)過了一系列的處理后,算法的輸出由4個(gè)32bits分組組成,最終將這4個(gè)32位分組級聯(lián)后將生成一個(gè)128位Hash值。

當(dāng)前第89頁\共有143頁\編于星期二\2點(diǎn)903.6Hash函數(shù)與消息認(rèn)證

常見的單向Hash函數(shù)

MD5算法的總體框架如圖所示:

當(dāng)前第90頁\共有143頁\編于星期二\2點(diǎn)913.6Hash函數(shù)與消息認(rèn)證

常見的單向Hash函數(shù)

MD5算法中,首先需要對信息進(jìn)行填充,使其位長度滿足模512等于448。信息的位長度被擴(kuò)展至N×512+488。填充的方法為在信息的后面填充一個(gè)1和無數(shù)個(gè)0,直到滿足上面的條件時(shí)才停止用0對信息的填充。再在這個(gè)結(jié)果后面附加一個(gè)以64位二進(jìn)制表示的填充前信息長度。經(jīng)過這兩步的處理,信息位長度為N×512+448+64=(N+1)×512。

當(dāng)前第91頁\共有143頁\編于星期二\2點(diǎn)923.6Hash函數(shù)與消息認(rèn)證

常見的單向Hash函數(shù)

MD5中有四個(gè)32位鏈接變量:A=0x01234567、B=0x89abcdef、C=0xfedcba98、D=0x76543210。設(shè)置好鏈接變量后,進(jìn)入算法的四輪循環(huán)運(yùn)算。當(dāng)前第92頁\共有143頁\編于星期二\2點(diǎn)933.6Hash函數(shù)與消息認(rèn)證常見的單向Hash函數(shù)

第一輪進(jìn)行16次操作。每次操作對A、B、C和D中的其中3個(gè)作一次非線性函數(shù)運(yùn)算,然后將所得結(jié)果加上第4個(gè)變量,文本的一個(gè)子分組和一個(gè)常數(shù)。再將所得結(jié)果向右環(huán)移一個(gè)不定的數(shù),并加上A、B、C或D中之一。最后用該結(jié)果取代A、B、C或D中之一。

當(dāng)前第93頁\共有143頁\編于星期二\2點(diǎn)943.6Hash函數(shù)與消息認(rèn)證常見的單向Hash函數(shù)使用的四個(gè)非線性函數(shù)為:

當(dāng)前第94頁\共有143頁\編于星期二\2點(diǎn)953.6Hash函數(shù)與消息認(rèn)證常見的單向Hash函數(shù)在MD5算法中,核心是壓縮函數(shù)HMD5。MD5的壓縮函數(shù)中有4次循環(huán),每一次循環(huán)包含對緩沖區(qū)ABCD的16步操作,每一循環(huán)的形式為:

當(dāng)前第95頁\共有143頁\編于星期二\2點(diǎn)963.6單向Hash函數(shù)常見的單向Hash函數(shù)

2.SHA-1SHA-1主要適用于數(shù)字簽名標(biāo)準(zhǔn)里面定義的數(shù)字簽名算法。對于長度小于264位的消息,SHA-1會(huì)產(chǎn)生一個(gè)160位的消息摘要。當(dāng)接收到消息的時(shí)候,這個(gè)消息摘要可以用來驗(yàn)證數(shù)據(jù)的完整性。

當(dāng)前第96頁\共有143頁\編于星期二\2點(diǎn)973.6單向Hash函數(shù)常見的單向Hash函數(shù)SHA-1算法處理步驟如下:1.添加填充位。和MD5采用的辦法完全一樣。2.添加長度。一個(gè)64位的數(shù)據(jù)塊,表示原始消息的長度。3.初始化消息摘要的緩沖區(qū)。當(dāng)前第97頁\共有143頁\編于星期二\2點(diǎn)983.6單向Hash函數(shù)常見的單向Hash函數(shù)

4、以512位數(shù)據(jù)塊作為單位來對消息進(jìn)行處理。算法的核心是一個(gè)包含四個(gè)循環(huán)的模塊,每個(gè)循環(huán)由20個(gè)處理步驟組成。當(dāng)前第98頁\共有143頁\編于星期二\2點(diǎn)993.6單向Hash函數(shù)常見的單向Hash函數(shù)處理過程如圖所示:當(dāng)前第99頁\共有143頁\編于星期二\2點(diǎn)1003.6單向Hash函數(shù)常見的單向Hash函數(shù)

SHA-1的壓縮函數(shù)可表示為:如圖所示:當(dāng)前第100頁\共有143頁\編于星期二\2點(diǎn)1013.6單向Hash函數(shù)常見的單向Hash函數(shù)

3.TigerHashTigerHash結(jié)構(gòu)比MD5和SHA-1更復(fù)雜,接近于分組密碼。為了適應(yīng)64位處理器,Tiger選擇輸出位數(shù)是192位。使用了4個(gè)S盒,每個(gè)S盒將8位映射成64位。還應(yīng)用了密鑰擴(kuò)展算法,對輸入分組進(jìn)行擴(kuò)展。

當(dāng)前第101頁\共有143頁\編于星期二\2點(diǎn)1023.6單向Hash函數(shù)常見的單向Hash函數(shù)

將輸入信息X填充成512位的整數(shù)倍,X=(X0,X1,...,Xn-1),每一個(gè)Xi都是512位。Tiger算法對每個(gè)Xi都使用一個(gè)外循環(huán),每輪的結(jié)構(gòu)如圖所示。

當(dāng)前第102頁\共有143頁\編于星期二\2點(diǎn)1033.6單向Hash函數(shù)常見的單向Hash函數(shù)

a、b、c都是64位,初始為定值,最后一輪的結(jié)果就是192位Hash值。每個(gè)函數(shù)Fm由8個(gè)內(nèi)循環(huán)構(gòu)成。fm,i的定義為:

當(dāng)前第103頁\共有143頁\編于星期二\2點(diǎn)1043.6單向Hash函數(shù)常見的單向Hash函數(shù)

4.CRC(循環(huán)冗余校驗(yàn)碼)CRC由于實(shí)現(xiàn)簡單,檢錯(cuò)能力強(qiáng),被廣泛使用在各種數(shù)據(jù)校驗(yàn)應(yīng)用中。占用系統(tǒng)資源少,用軟硬件均能實(shí)現(xiàn),是進(jìn)行數(shù)據(jù)傳輸差錯(cuò)檢測的一種很好的手段。

當(dāng)前第104頁\共有143頁\編于星期二\2點(diǎn)1053.6單向Hash函數(shù)常見的單向Hash函數(shù)生成CRC碼的基本原理:任意一個(gè)由二進(jìn)制位串組成的代碼都可以和一個(gè)系數(shù)僅為0和1取值的多項(xiàng)式一一對應(yīng)。CRC校驗(yàn)碼軟件生成方法:借助多項(xiàng)式除法,余數(shù)為校驗(yàn)字段。當(dāng)前第105頁\共有143頁\編于星期二\2點(diǎn)1063.6單向Hash函數(shù)常見的消息認(rèn)證碼算法

MAC實(shí)質(zhì)上是一個(gè)將雙方共享的密鑰k和消息m作為輸入的函數(shù),如果將函數(shù)值記為,這個(gè)函數(shù)值就是一個(gè)認(rèn)證標(biāo)記,用δ表示。如果攻擊者可以找到一個(gè)消息m,m不在m1,…mq之中,并且能夠得到正確的認(rèn)證標(biāo)記就說明攻擊成功了。攻擊者成功的概率就是其攻破MAC的概率。當(dāng)前第106頁\共有143頁\編于星期二\2點(diǎn)1073.6單向Hash函數(shù)常見的消息認(rèn)證碼算法

MAC的構(gòu)造方法有很多,主要類型是基于帶密鑰的Hash函數(shù)和基于流密碼的構(gòu)造方法?;趲荑€的Hash函數(shù)的構(gòu)造方法最早是由M.Bellare等人提出的。它要求所使用的Hash函數(shù)具有迭代結(jié)構(gòu)(如MD5,SHA-1等),即反復(fù)地使用壓縮函數(shù)f將長消息映射為短消息。

當(dāng)前第107頁\共有143頁\編于星期二\2點(diǎn)1083.6單向Hash函數(shù)常見的消息認(rèn)證碼算法

具有迭代結(jié)構(gòu)的單向Hash函數(shù)結(jié)構(gòu)圖:當(dāng)前第108頁\共有143頁\編于星期二\2點(diǎn)1093.6單向Hash函數(shù)常見的消息認(rèn)證碼算法

和同類型的MAC算法相比,HMAC將MAC的安全性歸結(jié)到所使用Hash函數(shù)上。同時(shí)具有免費(fèi)和黑盒的優(yōu)點(diǎn)。當(dāng)前第109頁\共有143頁\編于星期二\2點(diǎn)1103.6單向Hash函數(shù)分組加密與消息認(rèn)證碼

基于分組密碼設(shè)計(jì)的這一類MAC主要有:CBC-MAC、XOR-MAC。EMAC(加密的CBC-MAC)、PMAC、XECB-MAC等。

1.CBC-MACCBC-MAC其實(shí)就是對消息使用CBC模式進(jìn)行加密,取密文的最后一塊作為認(rèn)證標(biāo)記。

當(dāng)前第110頁\共有143頁\編于星期二\2點(diǎn)1113.6單向Hash函數(shù)分組加密與消息認(rèn)證碼

CBC-MAC出現(xiàn)得較早,是一種經(jīng)典的構(gòu)造方法,其構(gòu)造方法簡單,底層加密算法具備黑盒的性質(zhì),可以方便地進(jìn)行替換。后來的很多MAC算法都是對它的改進(jìn)。但是CBC-MAC僅適用于對相同長度的消息進(jìn)行認(rèn)證,在消息長度變化的情況下是不安全的。

當(dāng)前第111頁\共有143頁\編于星期二\2點(diǎn)1123.6單向Hash函數(shù)分組加密與消息認(rèn)證碼

對CBC-MAC的改進(jìn)為了克服CBC-MAC的上述弱點(diǎn),改進(jìn)方法有:EMAC、ECBC、FCBC和XCBC。

當(dāng)前第112頁\共有143頁\編于星期二\2點(diǎn)1133.6單向Hash函數(shù)分組加密與消息認(rèn)證碼

2.XOR-MACXOR-MAC有兩種方式:無狀態(tài)(XMACR)和有狀態(tài)(XMACC)。在計(jì)算過程中引入索引值使得分組密碼每次加密的明文各不相同,最后再將所有的密文異或。

當(dāng)前第113頁\共有143頁\編于星期二\2點(diǎn)1143.6單向Hash函數(shù)分組加密與消息認(rèn)證碼

由于XOR-MAC使用異或來生成標(biāo)記,這就為其帶來了并行性、增量式、亂序驗(yàn)證等優(yōu)點(diǎn)。攻擊XOR-MAC成功的概率要比攻擊CBC-MAC成功的概率低,并且這個(gè)概率跟消息長度沒有關(guān)系。缺點(diǎn)是在算法中引入了索引信息,引起了消息的擴(kuò)展,導(dǎo)致了加密次數(shù)的成倍增加,降低了運(yùn)算速度。

當(dāng)前第114頁\共有143頁\編于星期二\2點(diǎn)1153.6單向Hash函數(shù)分組加密與消息認(rèn)證碼

3.PMACPMAC可以看成是對XOR-MAC的改進(jìn),具有可并行、支持消息的添加、截短和替換等優(yōu)點(diǎn)。PMAC在計(jì)算MAC的時(shí)候不需要事先知道消息的長度,且不需要一個(gè)隨機(jī)數(shù)或維持一個(gè)計(jì)數(shù)。但是,它的速度比CBC-MAC要慢,且該算法受專利保護(hù),不能免費(fèi)使用。

當(dāng)前第115頁\共有143頁\編于星期二\2點(diǎn)1163.6單向Hash函數(shù)分組加密與消息認(rèn)證碼

4.XECB-MACXECB-MAC也可看成是XOR-MAC的一種改進(jìn),支持并行計(jì)算、增量式操作、亂序驗(yàn)證等特性。

XECB-MAC沒有使用消息的有效位來記錄消息的位置,減少了加密的次數(shù),因此它的速度要高于XOR-MAC,但低于CBC-MAC。該方法的不足之處在于使用了兩個(gè)密鑰,這給密鑰的存儲(chǔ)和分發(fā)帶來了困難。

當(dāng)前第116頁\共有143頁\編于星期二\2點(diǎn)1173.6單向Hash函數(shù)分組加密與消息認(rèn)證碼

5.OCB

OCB是在綜合了PMAC和XCBC-MAC的構(gòu)造方法的基礎(chǔ)上提出來的,同時(shí)提供了加密和認(rèn)證。

OCB的優(yōu)點(diǎn)有:能處理任意長度的消息、運(yùn)算速度快、支持并行處理。缺點(diǎn)在于算法復(fù)雜并且受專利保護(hù),不可免費(fèi)使用。

當(dāng)前第117頁\共有143頁\編于星期二\2點(diǎn)1183.7數(shù)字簽名技術(shù)

基本概念

數(shù)字簽名(DigitalSignature,又稱公鑰數(shù)字簽名、電子簽章)是一種使用了公鑰加密技術(shù),用于鑒別數(shù)字信息的方法。

一套數(shù)字簽名通常定義為兩種互補(bǔ)的運(yùn)算,一個(gè)用于簽名,另一個(gè)用于驗(yàn)證。當(dāng)前第118頁\共有143頁\編于星期二\2點(diǎn)1193.7數(shù)字簽名技術(shù)

基本概念

通常的方法是數(shù)據(jù)單元上附加一些數(shù)據(jù),或是對數(shù)據(jù)單元進(jìn)行密碼變換,使得接收者能夠確認(rèn)數(shù)據(jù)單元的來源和數(shù)據(jù)單元的完整性并保護(hù)數(shù)據(jù),防止被人進(jìn)行偽造。

基于公鑰密碼體制和私鑰密碼體制都可以獲得數(shù)字簽名,目前主要是基于公鑰密碼體制的數(shù)字簽名,包括普通數(shù)字簽名和特殊數(shù)字簽名。當(dāng)前第119頁\共有143頁\編于星期二\2點(diǎn)1203.7數(shù)字簽名技術(shù)基本概念

普通數(shù)字簽名算法有RSA、ElGamal、Fiat-Shamir、Guillou-Quisquarter、Schnorr、Ong-Schnorr-Shamir數(shù)字簽名算法、DES/DSA,橢圓曲線數(shù)字簽名算法和有限自動(dòng)機(jī)數(shù)字簽名算法等。特殊數(shù)字簽名有盲簽名、代理簽名、群簽名、不可否認(rèn)簽名、公平盲簽名、門限簽名、具有消息恢復(fù)功能的簽名等,它與具體應(yīng)用環(huán)境密切相關(guān)。

當(dāng)前第120頁\共有143頁\編于星期二\2點(diǎn)1213.7數(shù)字簽名技術(shù)基本概念數(shù)字簽名技術(shù)是不對稱加密算法的典型應(yīng)用,是在網(wǎng)絡(luò)系統(tǒng)虛擬環(huán)境中確認(rèn)身份的重要技術(shù)。數(shù)字簽名應(yīng)用中,發(fā)送者的公鑰可以很方便地得到,私鑰則需要嚴(yán)格保密。當(dāng)前第121頁\共有143頁\編于星期二\2點(diǎn)1223.7數(shù)字簽名技術(shù)常用的數(shù)字簽名體制

下面詳細(xì)介紹DDS和DSA算法。

1.DDS算法DSS使用的是只提供數(shù)字簽名的算法,與RSA不同,DSS是一種公鑰方法,但不能用于加密或密鑰分配。

當(dāng)前第122頁\共有143頁\編于星期二\2點(diǎn)1233.7數(shù)字簽名技術(shù)常用的數(shù)字簽名體制

DSS方法也是用Hash函數(shù),它產(chǎn)生的Hash值和為此次簽名而產(chǎn)生的隨機(jī)數(shù)k作為簽名函數(shù)的輸入,簽名函數(shù)依賴于發(fā)送方的私鑰和一組通信多方所共有的參數(shù)(可以看作全局公鑰)。簽名由兩部分組成,分別記為s和r。

接收方對接收到的消息產(chǎn)生Hash碼,這個(gè)Hash碼和簽名一起作為驗(yàn)證函數(shù)的輸入,驗(yàn)證函數(shù)依賴于全局公鑰和發(fā)送方公鑰,若驗(yàn)證函數(shù)的輸出等于簽名中的r成分,則簽名是有效的。當(dāng)前第123頁\共有143頁\編于星期二\2點(diǎn)1243.7數(shù)字簽名技術(shù)常用的數(shù)字簽名體制

RSA與DSS的比較如圖所示:當(dāng)前第124頁\共有143頁\編于星期二\2點(diǎn)1253.7數(shù)字簽名技術(shù)常用的數(shù)字簽名體制

2.DSA算法DSA建立在求離散對數(shù)的困難性以及ElGamal和Schnorr最初提出的方法之上。圖3-23歸納總結(jié)了DSA算法。

當(dāng)前第125頁\共有143頁\編于星期二\2點(diǎn)1263.7數(shù)字簽名技術(shù)盲簽名和群簽名

1.盲簽名盲簽名是接收者在不讓簽名者獲取所簽署消息具體內(nèi)容的情況下所采取的一種特殊的數(shù)字簽名技術(shù)。在電子商務(wù)和電子選舉等領(lǐng)域有著廣泛的應(yīng)用。它必須滿足以下兩條性質(zhì):1)簽名者對其所簽署的消息是不可見的。2)簽名消息不可追蹤。當(dāng)前第126頁\共有143頁\編于星期二\2點(diǎn)1273.7數(shù)字簽名技術(shù)盲簽名和群簽名

所謂盲簽名,就是先將隱蔽的文件放進(jìn)信封里,而除去盲因子的過程就是打開這個(gè)信封。

當(dāng)前第127頁\共有143頁\編于星期二\2點(diǎn)1283.7數(shù)字簽名技術(shù)盲簽名和群簽名

一個(gè)好的盲簽名應(yīng)該具有以下的性質(zhì):1)不可偽造性2)不可抵賴性3)盲性4)不可跟蹤性當(dāng)前第128頁\共有143頁\編于星期二\2點(diǎn)1293.7數(shù)字簽名技術(shù)盲簽名和群簽名

2.群簽名在一個(gè)群簽名方案中,一個(gè)群體中的任意一個(gè)成員可以以匿名的方式代表整個(gè)群體對消息進(jìn)行簽名。與其他數(shù)字簽名一樣,群簽名是可以公開驗(yàn)證的,而且可以只用單個(gè)群公鑰來驗(yàn)證。也可以作為群標(biāo)志來展示群的主要用途、種類等。群簽名在軍事、政治及經(jīng)濟(jì)等多個(gè)方面有著廣泛的應(yīng)用。

當(dāng)前第129頁\共有143頁\編于星期二\2點(diǎn)1303.7數(shù)字簽名技術(shù)盲簽名和群簽名

群簽名具有以下幾個(gè)特點(diǎn):

①只有群體中的成員能代表群體簽名。②接收到簽名的人可以用公鑰驗(yàn)證群簽名,但是不可知道由群體中哪個(gè)成員所簽。③發(fā)生爭議時(shí)可由群體中的成員或者可信賴機(jī)構(gòu)識(shí)別群中的簽名者。當(dāng)前第130頁\共有143

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論