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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

信息加密與認證技術演示文稿當前1頁,總共143頁。2信息加密與認證技術當前2頁,總共143頁。本章內容古典密碼技術的分類和基本原理對稱密碼技術與DES、AES算法公鑰密碼技術與RSA、ElGamal、ECC信息認證的概念與作用及其基本原理單向Hash函數(shù)與消息認證碼的基本概念和原理數(shù)字簽名的原理和技術身份認證的典型技術當前3頁,總共143頁。學習目標了解古典密碼技術的分類和基本原理學習對稱密碼技術與DES、AES算法掌握公鑰密碼技術與RSA、ElGamal、ECC學習信息認證的概念與作用及其基本原理了解單向Hash函數(shù)與消息認證碼的基本概念和原理掌握數(shù)字簽名的原理和技術學習身份認證的典型技術當前4頁,總共143頁。53.1密碼學技術概述

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

密碼系統(tǒng)是用于對消息進行加密、解密的系統(tǒng)。可以用一個五元組來表示:

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

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

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

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

5)解密算法:密文解密時所采用的一組規(guī)則。當前5頁,總共143頁。63.1密碼學技術概述

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

傳統(tǒng)密碼體制模型如圖所示:當前6頁,總共143頁。73.1密碼學技術概述密碼學的分類

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

1)古典密碼學古典密碼學又稱為傳統(tǒng)密碼學,主要依靠人工和機械進行信息的加密、傳輸和破譯。加密算法主要有替代加密、置換加密等。當前7頁,總共143頁。83.1密碼學技術概述密碼學的分類

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

亦稱為計算機密碼學階段

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

當前8頁,總共143頁。93.1密碼學技術概述密碼學的分類

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

1)對稱密鑰密碼又稱為私密鑰密碼,加密和解密數(shù)據(jù)的密鑰相同或者兩者之間存在著某種明確的數(shù)學關系。主要算法有DES、IDEA、TDEA、MD5、RC4、AES等。當前9頁,總共143頁。103.1密碼學技術概述密碼學的分類

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

當前10頁,總共143頁。113.1密碼學技術概述密碼學的分類

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

當前11頁,總共143頁。123.1密碼學技術概述密碼學的分類

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

代替密碼

1.單表代替密碼對明文中的所有字母都使用同一個映射。1)移位代替密碼如凱撒密碼,其基本思想是通過把字母移動一定的位數(shù)來實現(xiàn)加密和解密。當前13頁,總共143頁。143.2古典密碼技術

代替密碼

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)當前14頁,總共143頁。153.2古典密碼技術

代替密碼

3)仿射密碼乘法密碼和加法密碼相結合便構成仿射密碼。仿射密碼是一個線性變換。對于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)當前15頁,總共143頁。163.2古典密碼技術

代替密碼

2、多表代替密碼采用多個密文字母表,使得密文中的每一個字母有多種可能的字母來代替。Vigenère密碼、Playfair密碼、滾動密鑰密碼、弗納姆密碼以及Hill密碼都是這一類密碼。當前16頁,總共143頁。173.2古典密碼技術

代替密碼

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

當前17頁,總共143頁。183.2古典密碼技術

代替密碼

1)Vigenère密碼

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

當前18頁,總共143頁。193.2古典密碼技術

代替密碼

2)Playfair加密算法將明文中的雙字母組合作為一個單元進行處理,并將每一個單元轉換成雙字母的密文組合。Playfair密碼基于一個5×5矩陣,該矩陣采用一個關鍵詞作為密鑰來構造。構造的方法為:按從左至右,從上至下的順序依次首先填入關鍵詞中非重復的字母,然而再將字母表中剩余的字母按順序填入矩陣。當前19頁,總共143頁。203.2古典密碼技術代替密碼

3)滾動密鑰密碼

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

當前20頁,總共143頁。213.2古典密碼技術代替密碼

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

當前21頁,總共143頁。223.2古典密碼技術代替密碼

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

當前22頁,總共143頁。233.2古典密碼技術代替密碼

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

當前23頁,總共143頁。243.2古典密碼技術置換密碼

古典密碼技術除了代替密碼,還有一種稱為置換密碼。把明文中的字母重新排列,字母本身不變,但其位置變了。單純的置換密碼因為有著與原文相同的字母頻率而被識破。多步置換密碼相對來說安全的多。當前24頁,總共143頁。253.3對稱密鑰密碼技術基本概念

對稱密鑰加密又稱專用密碼加密,即發(fā)送和接收方必須使用相同的密鑰對明文進行加解密運算。算法主要包括DES、3DES、IDEA、FEAL、BLOWFISH等。對稱加密的基本要求:1、強大的加密算法。2、發(fā)送方和接收方必須保證密鑰的安全。實現(xiàn)方式:流密碼技術,分組密碼技術當前25頁,總共143頁。263.3對稱密鑰密碼技術流密碼技術

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

加密模型如圖所示:當前27頁,總共143頁。283.3對稱密鑰密碼技術流密碼技術

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

密鑰K同樣是64比特,用于初始化三個寄存器。用密鑰填充三個寄存器后,就完成了密碼流生成前的準備。當前28頁,總共143頁。293.3對稱密鑰密碼技術流密碼技術

1.A5/1密鑰流生成算法如圖所示:當前29頁,總共143頁。303.3對稱密鑰密碼技術流密碼技術

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

當前30頁,總共143頁。313.3對稱密鑰密碼技術流密碼技術

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

當前31頁,總共143頁。323.3對稱密鑰密碼技術分組密碼技術

分組密碼是對稱密碼的典型代表。即數(shù)據(jù)在密鑰的作用下,一組一組地被處理,明文和密文的長度通常是相等的,一次對一個明文分組(如DES為64位)進行加密,而且每次的加密密鑰都相同。當前32頁,總共143頁。333.3對稱密鑰密碼技術分組密碼技術

分組加密的一般結構如圖所示:

當前33頁,總共143頁。343.3對稱密鑰密碼技術分組密碼技術

按特定長度(如64bits)分組時,最后一組消息長度可能不足64bits??梢蕴畛湟恍?shù)字,通常用最后1字節(jié)作為填充指示符(PI)。

當前34頁,總共143頁。353.3對稱密鑰密碼技術分組密碼技術

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

當前35頁,總共143頁。363.3對稱密鑰密碼技術分組密碼技術

DES的加密算法流程:

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

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

(b1b2...b64)=b40b8...b25。當前36頁,總共143頁。373.3對稱密鑰密碼技術分組密碼技術

DES的加密算法流程圖:當前37頁,總共143頁。383.3對稱密鑰密碼技術分組密碼技術

2.TDEA和IDEA

1)TDEA算法TDEA算法又叫做三重DES算法,執(zhí)行三次DES的加密,加密步驟如下:①發(fā)送端用密鑰Keyl進行DES加密。②發(fā)送端用密鑰Key2對上一結果進行DES解密。③發(fā)送端用密鑰Key3對上一結果進行DES加密。當前38頁,總共143頁。393.3對稱密鑰密碼技術分組密碼技術TDEA算法加/解密流程圖:

當前39頁,總共143頁。403.3對稱密鑰密碼技術分組密碼技術

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

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

當前40頁,總共143頁。413.3對稱密鑰密碼技術分組密碼技術

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

IDEA的解密算法使用與加密算法同樣的結構,子密鑰的生成方法不同。

當前41頁,總共143頁。423.3對稱密鑰密碼技術分組密碼技術

IDEA算法解密子密鑰的生成方法:①解密循環(huán)i的前4個子密鑰從加密循環(huán)(10–i)的前4個子密鑰中導出;解密密鑰第1、4個子密鑰對應于1、4加密子密鑰的乘法逆元;解密密鑰第2、3個子密鑰對應于2、3加密子密鑰的加法逆元。②對前8個循環(huán)來說,循環(huán)i的最后兩個子密鑰等于加密循環(huán)(9–i)的最后兩個子密鑰。當前42頁,總共143頁。433.3對稱密鑰密碼技術分組密碼技術

3.AES

DES的設計主要針對硬件實現(xiàn),而當今許多領域的問題需要用軟件方法來實現(xiàn)。AES加密方法在這種需求下應運而生。

AES算法是128位塊密碼,支持三種不同大小的密鑰:128,192和256位。當前43頁,總共143頁。443.3對稱密鑰密碼技術分組密碼技術

3.AES

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

AES算法結構圖:

當前45頁,總共143頁。463.3對稱密鑰密碼技術分組密碼技術

AES算法每一層操作過程:

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

當前46頁,總共143頁。473.3對稱密鑰密碼技術分組密碼技術

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

當前47頁,總共143頁。483.3對稱密鑰密碼技術分組密碼技術

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

當前48頁,總共143頁。493.3對稱密鑰密碼技術分組密碼技術

4)密鑰加變換(AddRoundKey)128位的State按位與128位的密鑰XOR。當前49頁,總共143頁。503.3對稱密鑰密碼技術分組密碼技術

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

當前51頁,總共143頁。523.3對稱密鑰密碼技術對稱密鑰密碼的分析方法具體的分析方法主要包括:1.強力攻擊法強力攻擊可用于任何分組密碼,且攻擊的復雜度僅依賴于分組長度和密鑰長度。工作效率包括加/解密速度、密鑰擴展速度、存儲空間等。

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

當前53頁,總共143頁。542.3對稱密鑰密碼技術對稱密鑰密碼的分析方法3.線性密碼分析本質上是一種已知明文攻擊法,是對DES加密方法進行破譯的主要方法?;舅枷胧峭ㄟ^尋找一個給定密碼算法的有效的線性近似表達式來破譯密碼系統(tǒng)。當前54頁,總共143頁。553.3對稱密鑰密碼技術對稱密鑰密碼的分析方法4、差分-線性密碼分析對差分密碼分析和線性密碼分析進行改進,是降低它們復雜度的眾多改進之一。它利用的是差分密碼分析和線性密碼分析相結合的技術。

當前55頁,總共143頁。562.3對稱密鑰密碼技術對稱密鑰密碼的分析方法5、插值攻擊利用了拉格朗日插值公式的思想。如果一個密碼算法是固定的密鑰的低次多項式函數(shù),或項數(shù)較少的多項式,其項數(shù)可以估算出來,則通過插值法可以得到其代數(shù)表達式,從而可能恢復出密鑰。當前56頁,總共143頁。573.4非對稱密鑰密碼技術

基本概念

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

基本概念

單向和陷門單向函數(shù)的概念是公鑰密碼學的核心,可以說非對稱密鑰密碼體制的設計就是陷門單向函數(shù)的設計。當前58頁,總共143頁。593.4非對稱密鑰密碼技術RSA算法

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

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

當前59頁,總共143頁。603.4非對稱密鑰密碼技術RSA算法

算法描述:

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

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

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

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

1.密鑰生成1)任選一個大質數(shù)p,使得p-1有大質因數(shù)。2)任選一個modp之原根g。3)公布p與g。使用者任選一私鑰,并計算密鑰。當前63頁,總共143頁。643.4非對稱密鑰密碼技術ElGamal算法

2.加密過程1)任選一個數(shù)滿足,并計算,。2)密文為。3.解密過程1)計算。2)計算明文。當前64頁,總共143頁。653.4非對稱密鑰密碼技術ElGamal算法

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

當前65頁,總共143頁。663.4非對稱密鑰密碼技術

橢圓曲線算法

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

當前66頁,總共143頁。673.4非對稱密鑰密碼技術

橢圓曲線算法

1.橢圓曲線定義令p>3為質數(shù),在GF(p)中的橢圓曲線E:y2=x3+ax+bmodp,其中,4a3+27b2≠0(modp)。曲線上另定義一個無窮遠點O,對任一點A∈E,A+O=O+A=A。當前67頁,總共143頁。683.4非對稱密鑰密碼技術

橢圓曲線算法

2.加法運算令A=(x1,y1)與B=(x2,y2)為E上的點。若x2=x1,且y2=-y1,則A+B=O;否則A+B=(x3,y3),其中:x3=λ2-x1-x2,y3=λ(x1-x3)-y1。當前68頁,總共143頁。693.4非對稱密鑰密碼技術

橢圓曲線算法

3.反元素運算

點A=(x,y)的反元素為-A=-(x,y)=(x,-y)。A+(-A)=(-A)+A=O,此時O稱為乘法單位元素。當前69頁,總共143頁。703.4非對稱密鑰密碼技術

橢圓曲線算法

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

的所有解(x,y)與無窮遠點O構成的非空集合。當前70頁,總共143頁。713.4非對稱密鑰密碼技術

橢圓曲線算法

基于橢圓曲線的各種密碼體制的安全性最終可歸結為解ECDLP問題,當數(shù)據(jù)量足夠大以致ECDLP問題無法解決時,就認為該密碼體制是安全的,具有160bit數(shù)據(jù)長度的ECDLP問題在目前被認為是安全的。當前71頁,總共143頁。723.4非對稱密鑰密碼技術

橢圓曲線算法

一般的橢圓曲線密碼體制都基于以下運算:

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

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

P(m)。當前72頁,總共143頁。733.4非對稱密鑰密碼技術

橢圓曲線算法

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

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

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

③密文c=(y0,y1,y2),將其發(fā)送給接收方。當前73頁,總共143頁。743.4非對稱密鑰密碼技術

橢圓曲線算法

解密過程:

①接收方接收到密文c。

②計算(c1,c2)=ay0。

③通過下列運算恢復明文:m=(y1c1-1(modq),y2c2-1(modq))。橢圓曲線密碼體制在相同的安全強度下所要求的密鑰強度僅是RSA的1/6,因此在運算速度和存儲空間方面具有很大的優(yōu)勢,在實際應用中具有很大的使用價值。當前74頁,總共143頁。753.4非對稱密鑰密碼技術混合加密算法

對稱與非對稱密碼加密對比如表所示:當前75頁,總共143頁。763.4非對稱密鑰密碼技術混合加密算法

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

RSA算法的缺點是加密速度慢、算法復雜,加密/解密速度慢。如果RSA和DES結合使用,則正好彌補RSA的缺點。即DES用于明文加密,RSA用于DES密鑰的加密。

當前77頁,總共143頁。783.4非對稱密鑰密碼技術混合加密算法

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

當前78頁,總共143頁。793.4非對稱密鑰密碼技術混合加密算法

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

當前79頁,總共143頁。803.5信息認證技術概述

信息認證技術

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

認證的目的包括:消息完整性認證和身份認證。

當前80頁,總共143頁。813.5信息認證技術概述

信息認證技術

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

當前81頁,總共143頁。823.5信息認證技術概述

信息認證技術

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

當前82頁,總共143頁。833.5信息認證技術概述

信息認證技術

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

當前83頁,總共143頁。843.6Hash函數(shù)與消息認證

基本概念

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

基本概念

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

當前85頁,總共143頁。863.6Hash函數(shù)與消息認證

基本概念

安全單向Hash函數(shù)的一般結構如圖:

當前86頁,總共143頁。873.6Hash函數(shù)與消息認證

基本概念

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

消息認證碼的安全性取決于兩點:①采用的加密算法;②待加密數(shù)據(jù)塊的生成方法。當前87頁,總共143頁。883.6Hash函數(shù)與消息認證

基本概念

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

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

2)對于用單向Hash函數(shù)構造認證碼的方式來說,摘要的長度是一個關鍵的因素。當前88頁,總共143頁。893.6Hash函數(shù)與消息認證

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

1.MD5

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

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

當前89頁,總共143頁。903.6Hash函數(shù)與消息認證

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

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

當前90頁,總共143頁。913.6Hash函數(shù)與消息認證

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

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

當前91頁,總共143頁。923.6Hash函數(shù)與消息認證

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

MD5中有四個32位鏈接變量:A=0x01234567、B=0x89abcdef、C=0xfedcba98、D=0x76543210。設置好鏈接變量后,進入算法的四輪循環(huán)運算。當前92頁,總共143頁。933.6Hash函數(shù)與消息認證常見的單向Hash函數(shù)

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

當前93頁,總共143頁。943.6Hash函數(shù)與消息認證常見的單向Hash函數(shù)使用的四個非線性函數(shù)為:

當前94頁,總共143頁。953.6Hash函數(shù)與消息認證常見的單向Hash函數(shù)在MD5算法中,核心是壓縮函數(shù)HMD5。MD5的壓縮函數(shù)中有4次循環(huán),每一次循環(huán)包含對緩沖區(qū)ABCD的16步操作,每一循環(huán)的形式為:

當前95頁,總共143頁。963.6單向Hash函數(shù)常見的單向Hash函數(shù)

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

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

4、以512位數(shù)據(jù)塊作為單位來對消息進行處理。算法的核心是一個包含四個循環(huán)的模塊,每個循環(huán)由20個處理步驟組成。當前98頁,總共143頁。993.6單向Hash函數(shù)常見的單向Hash函數(shù)處理過程如圖所示:當前99頁,總共143頁。1003.6單向Hash函數(shù)常見的單向Hash函數(shù)

SHA-1的壓縮函數(shù)可表示為:如圖所示:當前100頁,總共143頁。1013.6單向Hash函數(shù)常見的單向Hash函數(shù)

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

當前101頁,總共143頁。1023.6單向Hash函數(shù)常見的單向Hash函數(shù)

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

當前102頁,總共143頁。1033.6單向Hash函數(shù)常見的單向Hash函數(shù)

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

當前103頁,總共143頁。1043.6單向Hash函數(shù)常見的單向Hash函數(shù)

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

當前104頁,總共143頁。1053.6單向Hash函數(shù)常見的單向Hash函數(shù)生成CRC碼的基本原理:任意一個由二進制位串組成的代碼都可以和一個系數(shù)僅為0和1取值的多項式一一對應。CRC校驗碼軟件生成方法:借助多項式除法,余數(shù)為校驗字段。當前105頁,總共143頁。1063.6單向Hash函數(shù)常見的消息認證碼算法

MAC實質上是一個將雙方共享的密鑰k和消息m作為輸入的函數(shù),如果將函數(shù)值記為,這個函數(shù)值就是一個認證標記,用δ表示。如果攻擊者可以找到一個消息m,m不在m1,…mq之中,并且能夠得到正確的認證標記就說明攻擊成功了。攻擊者成功的概率就是其攻破MAC的概率。當前106頁,總共143頁。1073.6單向Hash函數(shù)常見的消息認證碼算法

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

當前107頁,總共143頁。1083.6單向Hash函數(shù)常見的消息認證碼算法

具有迭代結構的單向Hash函數(shù)結構圖:當前108頁,總共143頁。1093.6單向Hash函數(shù)常見的消息認證碼算法

和同類型的MAC算法相比,HMAC將MAC的安全性歸結到所使用Hash函數(shù)上。同時具有免費和黑盒的優(yōu)點。當前109頁,總共143頁。1103.6單向Hash函數(shù)分組加密與消息認證碼

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

1.CBC-MACCBC-MAC其實就是對消息使用CBC模式進行加密,取密文的最后一塊作為認證標記。

當前110頁,總共143頁。1113.6單向Hash函數(shù)分組加密與消息認證碼

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

當前111頁,總共143頁。1123.6單向Hash函數(shù)分組加密與消息認證碼

對CBC-MAC的改進為了克服CBC-MAC的上述弱點,改進方法有:EMAC、ECBC、FCBC和XCBC。

當前112頁,總共143頁。1133.6單向Hash函數(shù)分組加密與消息認證碼

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

當前113頁,總共143頁。1143.6單向Hash函數(shù)分組加密與消息認證碼

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

當前114頁,總共143頁。1153.6單向Hash函數(shù)分組加密與消息認證碼

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

當前115頁,總共143頁。1163.6單向Hash函數(shù)分組加密與消息認證碼

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

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

當前116頁,總共143頁。1173.6單向Hash函數(shù)分組加密與消息認證碼

5.OCB

OCB是在綜合了PMAC和XCBC-MAC的構造方法的基礎上提出來的,同時提供了加密和認證。

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

當前117頁,總共143頁。1183.7數(shù)字簽名技術

基本概念

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

一套數(shù)字簽名通常定義為兩種互補的運算,一個用于簽名,另一個用于驗證。當前118頁,總共143頁。1193.7數(shù)字簽名技術

基本概念

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

基于公鑰密碼體制和私鑰密碼體制都可以獲得數(shù)字簽名,目前主要是基于公鑰密碼體制的數(shù)字簽名,包括普通數(shù)字簽名和特殊數(shù)字簽名。當前119頁,總共143頁。1203.7數(shù)字簽名技術基本概念

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

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

下面詳細介紹DDS和DSA算法。

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

當前122頁,總共143頁。1233.7數(shù)字簽名技術常用的數(shù)字簽名體制

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

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

RSA與DSS的比較如圖所示:當前124頁,總共143頁。1253.7數(shù)字簽名技術常用的數(shù)字簽名體制

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

當前125頁,總共143頁。1263.7數(shù)字簽名技術盲簽名和群簽名

1.盲簽名盲簽名是接收者在不讓簽名者獲取所簽署消息具體內容的情況下所采取的一種特殊的數(shù)字簽名技術。在電子商務和電子選舉等領域有著廣泛的應用。它必須滿足以下兩條性質:1)簽名者對其所簽署的消息是不可見的。2)簽名消息不可追蹤。當前126頁,總共143頁。1273.7數(shù)字簽名技術盲簽名和群簽名

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

當前127頁,總共143頁。1283.7數(shù)字簽名技術盲簽名和群簽名

一個好的盲簽名應該具有以下的性質:1)不可偽造性2)不可抵賴性3)盲性4)不可跟蹤性當前128頁,總共143頁。1293.7數(shù)字簽名技術盲簽名和群簽名

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

當前129頁,總共143頁。1303.7數(shù)字簽名技術盲簽名和群簽名

群簽名具有以下幾個特點:

①只有群體中的成員能代表群體簽名。②接收到簽名的人可以用公鑰驗證群簽名,但是不可知道由群體中哪個成員所簽。③發(fā)生爭議時可由群體中的成員或者可信賴機構識別群中的簽名者。當前130頁,總共143頁。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論