版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、第第2章章 信息加密技信息加密技術與應用術與應用 本章主要內(nèi)容v2.1 加密技術v2.2 哈希函數(shù)v2.3 密鑰管理技術v2.4 安全技術的組合應用 第一部分 教學組織 v一、目的要求一、目的要求v1. 掌握密碼學基礎知識;v2. 掌握傳統(tǒng)加密算法;v3. 掌握DES加密算法;v4. 掌握RSA公鑰密碼算法;v5. 掌握密鑰管理技術;v6. 理解密碼技術的基本原理、單向散列函數(shù)、消息認證碼的原理、理解PGP應用。v二、工具器材二、工具器材v1. 安裝Windows操作系統(tǒng); v2. 通信良好的局域網(wǎng)或互聯(lián)網(wǎng);v3. DES加解密工具;v4. RSA tool。v三、學習方式建議三、學習方式建議
2、v1. 建議學生在學習密碼技術的基本知識、基本原理的基礎上,通過實例理會密碼技術的真正內(nèi)涵;v2. 利用密碼工具對文件、數(shù)據(jù)進行加密和解密,以保護電子商務信息的安全。第二部分 教學內(nèi)容 v2.1 加密技術 v2.1.1 數(shù)據(jù)加密概述 v2.1.2 傳統(tǒng)加密技術v1. 單表代換密碼 v單表代換密碼又叫愷撒密碼,是通過將字母按順序推后3位起到加密作用。v愷撒密碼的加密算法是:vc=E(p)=(p+3) mod 26 v有了這種明密對照關系,明文消息“THIS IS A KEY”就被加密成“wklvlvdnhb”了。 v如果將位移量設置為任何整數(shù),則愷撒密碼的改進算法可以寫為:v加密算法:C=E(p
3、)=(p+k)mod(26)v解密算法:p=D(C)=(C-k)mod(26)v改進的愷撒加密算法有25個可能的密鑰k v愷撒密碼是單字母密碼,僅僅采用了簡單替換技術,其優(yōu)點是算法簡單,便于記憶。缺點是結(jié)構(gòu)過于簡單,密碼分析員只使用很少的信息就可預言加密的整個結(jié)構(gòu)。因此這種密碼的密度是很低的,只需簡單地統(tǒng)計字頻就可以破譯。v2. 多表代換密碼v明文: a b c d e f g h i i k l m n o p q r s t u v w x y zv 密表l:X Y Z T H E O W R F L N D A B C G I J K M P Q S U Vv 密表2:G H I J K
4、 L M N O P Q R S T U V W X Y Z A B C D E Fv 密表3:V W X Z I N F O R M A T S E C G Y B D G tt J K L P Q v3. 多字母代換密碼 vPlayfair將明文中的雙字母組合作為一個單元對待,并將這些單元轉(zhuǎn)換為密文的雙字母組合。I與J視為同一字符,55變換矩陣為vC I PHEvR A BDFvG K LM NvO Q STUvV W XYZv例:奇數(shù)位的加密算法E1(a)=(3*a) mod 26,偶數(shù)位加密算法 E2(a)=(5*a)+13) mod 26) 。如明文southeast univers
5、ity,對應的密文為cfievhazfjnblhzzyeu v4. 置換加密v一個單列置換密碼算法包括:v(1)柵欄技術v明文以Z形柵欄排列,其高度是置換密碼的密鑰。 v令明文為“Meet me at my department”,密鑰為2,則Z形柵欄為表2.4所示。v表2.4柵欄技術密碼v逐行掃描這個Z形柵欄可以生成密文“memamdprmnetetyeatet”。 v(2)矩陣技術 v選擇密鑰k=k1k2kn,將明文逐行寫入一個n行的長方形中。在第i行上,從位置ki處開始寫入明文。隨后,有左至右逐列讀取這些字母就可以生成密文。 v明文“we will meet in my departme
6、nt”,密鑰23614(即從矩陣的第一行第二列開始,下一行從矩陣的第二行第三列開始,再下一行從矩陣的第三行第六列開始,直到最后從第五行第四列開始,依次循環(huán)操作,如表2.5所示)v其加密密文為“ywdemewepmieaeltnrnlimtt” v另一種矩陣技術是定義密鑰k=k1k2kn,將明文逐行寫入這個n列的長方形中。隨后,按照k1k2kn從小到大順序逐列讀取密文,如表2.6。v明文” get it in the computer department”,密鑰“4312567”v表2.6矩陣技術密碼實例v其加密密文為“teet icrm ehtr gtua tode imen nppt”v2
7、.1.3 現(xiàn)代加密技術 v1. 對稱密碼體制(Symmetric Encryption)v對稱密碼體制也稱為秘密密鑰密碼體制、單密鑰密碼體制或常規(guī)密碼體制,對稱密碼體制的基本特征是加密密鑰與解密密鑰相同。對稱密碼體制的基本元素包括原始的明文、加密算法、密鑰、密文及攻擊者。v發(fā)送方通過加密算法根據(jù)輸入的消息P和密鑰K生成密文C C1,C2,CN,即:vC = EK(P) (2-1)v接收方通過解密算法根據(jù)輸入的密文C和密鑰K恢復明文P P1,P2,PM,即:vP = EK(C) (2-2)v(1)對稱密碼算法的優(yōu)缺點v優(yōu)點:加密、解密處理速度快、保密度高等。v缺點: 密鑰是保密通信安全的關鍵,發(fā)
8、信方必須安全、妥善地把密鑰護送到收信方,不能泄露其內(nèi)容,如何才能把密鑰安全地送到收信方,是對稱密碼算法的突出問題。對稱密碼算法的密鑰分發(fā)過程十分復雜,所花代價高;v 多人通信時密鑰組合的數(shù)量會出現(xiàn)爆炸性膨脹,使密鑰分發(fā)更加復雜化,N個人進行兩兩通信,總共需要的密鑰數(shù)為N(N-1)/2個;v 通信雙方必須統(tǒng)一密鑰,才能發(fā)送保密的信息。如果發(fā)信者與收信人素不相識,這就無法向?qū)Ψ桨l(fā)送秘密信息了;v 除了密鑰管理與分發(fā)問題,對稱密碼算法還存在數(shù)字簽名困難問題(通信雙方擁有同樣的消息,接收方可以偽造簽名,發(fā)送方也可以否認發(fā)送過某消息)。v(2)DES算法原理 v目前有代表性的對稱加密算法是DES算法。v
9、DES算法的入口參數(shù)有3個:Key,Data和Mode。其中Key為8個字節(jié)共64位,是DES算法的工作密鑰。Data也為8個字節(jié)64位,是要被加密或被解密的數(shù)據(jù)。Mode為DES的工作方式有兩種:加密或解密。vDES算法的原理是:如Mode為加密,則用Key把數(shù)據(jù)Data進行加密,生成Data的密碼形式(64位)作為DES的輸出結(jié)果;如Mode為解密,則用Key把密碼形式的數(shù)據(jù)Data解密,還原為Data的明碼形式(64位)作為DES的輸出結(jié)果。v(3)DES算法的實現(xiàn)步驟 vDES算法實現(xiàn)加密需要3個步驟。v第1步:變換明文。對給定的64位的明文x,首先通過一個置換IP表來重新排列x,從而
10、構(gòu)造出64位的x0,x0=IP(x)=L0R0,其中L0表示x0的前32位,R0表示x0的后32位。v第2步:按照規(guī)則迭代。規(guī)則為:vLi = Ri-1vRi = Li f(Ri-1,Ki) (i=1,2,3, ,16)v經(jīng)過第1步變換已經(jīng)得到L0和R0的值,其中符號 表示數(shù)學運算“異或”,f表示一種置換,由S盒置換構(gòu)成,Ki是一些由密鑰編排函數(shù)產(chǎn)生的比特塊。f和Ki將在后面介紹。v第3步:對L16R16利用IP-1作逆置換,就得到了密文y0加密過程如圖2.1所示。DES加密需要4個關鍵點:IP置換表和IP-1逆置換表,函數(shù)f,子密鑰Ki和S盒的工作原理。 v 初始置換函數(shù)IPvDES對64位
11、明文分組進行操作。首先,64位明文分組x經(jīng)過一個初始置換函數(shù)IP,產(chǎn)生64位的輸出x0,再將分組x0分成左半部分L0和右半部分R0,即:v x0=IP(x)=L0R0v置換表如表2.7所示。此表順序為從上到下,從左至右。如初始置換把明文的第58位換至第1位,把第50位換至第二位,以此類推。v該比特串被分為32位的L0和32位的R0兩部分。R0子密鑰K1(子密鑰的生成將在后面講)經(jīng)過變換f(R0,K1)(f變換將在下面講)輸出32位的比特串f1,f1與L0做不進位的二進制加法運算。運算規(guī)則為:vf1與L0做不進位的二進制加法運算后的結(jié)果賦給R1,R0則原封不動的賦給L1。L1與R0又做與以上完全
12、相同的運算,生成L2,R2 一共經(jīng)過16次運算。最后生成R16和L16。其中R16為L15與f(R15,K16)做不進位二進制加法運算的結(jié)果,L16是R15的直接賦值。v 獲取子密鑰KivDES加密算法的密鑰長度為56位,但一般表示為64位,其中,每個第8位用于奇偶校驗。在DES加密算法中,將用戶提供的64位初始密鑰經(jīng)過一系列的處理得到K1,K2,K16,分別作為116輪運算的16個子密鑰?,F(xiàn)在來看如何獲得這16個子密鑰。首先,將64位密鑰去掉8個校驗位,用密鑰置換PC1置換剩下的56位密鑰;再將56位分成前28位C0和后28位D0兩部分,即PC1(K56)=C0D0。密鑰置換PC-1如表2.
13、8所示。56位密鑰PC-1C0D0左移左移C1D1PC-2K1左移左移CiDiPC-2Ki左移左移C16D16PC-2K16圖2.2子密鑰產(chǎn)生 v 密碼函數(shù)f(f(Ri-1,Ki)的計算)。v它的功能是將32比特的輸入再轉(zhuǎn)化為32比特的輸出,其過程如圖2.3所示。輸入Ri-1(32比特)經(jīng)過變換E(表2.11)后,擴展為48比特。 Ri1(32比特)E48比特S1S2S3S4S5S6S7S8Ki(48比特)P32比特輸出表2.11 擴展置換(E) 圖2.3 f(Ri, Ki)的計算 v函數(shù)f的操作步驟v密碼函數(shù)f的輸入是32比特數(shù)據(jù)和48比特的子密鑰,其操作步驟如圖2.1所示。v(a) 擴展置
14、換(E)。將數(shù)據(jù)的右半部分Ri從32位擴展為48位。位選擇函數(shù)(也稱E盒)如表2.11所示。v(b) 異或。擴展后的48位輸出E(Ri)與壓縮后的48位密鑰Ki作異或運算。v(c) S盒替代。將異或得到的48位結(jié)果分成八個6位的塊,每一塊通過對應的一個S盒產(chǎn)生一個4位的輸出。八個S盒如表2.12所示。vS盒的具體置換過程為:某個Si盒的6位輸入的第1位和第6位形成一個2位的二進制數(shù)(從03),對應表中的某一行;同時,輸入的中間4位構(gòu)成4位二進制數(shù)(從015)對應表中的某一列(注意:行和列均從0開始計數(shù))。vS盒的變換過程。任取一S盒。見圖2.4。在其輸入b1,b2,b3,b4,b5,b6中,計
15、算出x=b1*2+b6, y=b5+b4*2+b3*4+b2*8,再從Si表中查出x 行,y 列的值Sxy。將Sxy化為二進制,即得Si盒的輸出。例如,第8個S盒的輸入為001011,前后2位形成的二進制數(shù)為01,對應第8個S盒的第1行;中間4位為0101,對應同一S盒的第5列。從表2.12中可得S8盒的第1行第5列的數(shù)為3,于是就用0011代替原輸入001011。v(d) P盒置換。v將八個S盒的輸出連在一起生成一個32位的輸出,輸出結(jié)果再通過置換P產(chǎn)生一個32位的輸出即:F(Ri, Ki)。表2.13為P盒置換。至此,密碼函數(shù)F的操作就完成了。L=R15, R=L15 f(R15,K16)
16、 f(R15,K16)=L15同理R15=L14 f(R14,K15), L15=R14。同理類推:得 L=R0, R=L0。v(5)DES算法應用示例v例如:已知明文m=learning, 密鑰 k=computer。v明文m的ASCII二進制表示:vm= 01101100 01100101 01100001 01110010 01101110 01101001 01101110 01100111v密鑰k的ASCII二進制表示:vk=01100011 01101111 01101101 01110000 01110101 01110100 01100101 01110010v明文m經(jīng)過IP置
17、換后,得:v11111111 00001000 11010011 10100110 00000000 11111111 01110001 11011000v等分為左右兩段:vL0=11111111 00001000 11010011 10100110 R0=00000000 11111111 01110001 11011000v經(jīng)過16次迭代后,所得結(jié)果為:vL1=00000000 11111111 01110001 11011000 R1=00110101 00110001 00111011 10100101vL2=00110101 00110001 00111011 10100101 R2
18、=00010111 11100010 10111010 10000111vL3=00010111 11100010 10111010 10000111 R3=00111110 10110001 00001011 10000100vL4=00111110101100010000101110000100 R4=11110111110101111111101000111110vL5=11110111110101111111101000111110 R5=10010110011001110100111111100101vL6=10010110011001110100111111100101 R6=11
19、001011001010000101110110100111vL7=11001011001010000101110110100111 R7=01100011110011101000111011011001vL8=01100011110011101000111011011001 R8=01001011110100001111001000000100vL9=01001011110100001111001000000100 R9=00011101001101111010111011100001vL10=00011101001101111010111011100001 R10=111011101111
20、10111111010100000101vL11=11101110111110111111010100000101 R11=01101101111011011110010111111000vL12=01101101111011011110010111111000 R12=11111101110011100111000110110111vL13=11111101110011100111000110110111 R13=11100111111001011010101000000100vL14=11100111111001011010101000000100 R14=0001111001001001
21、1011100001100001vL15=00011110010010011011100001100001 R15=01010000111001001101110110100011vL16=01010000111001001101110110100011 R16=01111101101010000100110001100001v其中,f函數(shù)的結(jié)果為:f1=11001010001110011110100000000011 f2=00010111000111011100101101011111vf3=00001011100000000011000000100001 f4=1110000000110
22、1010100000010111001vf5=10101000110101100100010001100001 f6=00111100111111111010011110011001vf7=11110101101010011100000100111100 f8=10000000111110001010111110100011vf9=01111110111110010010000000111000 f10=10100101001010110000011100000001vf11=01110000110110100100101100011001 f12=0001001100110101100001
23、0010110010vf13=10001010000010000100111111111100 f14=11100011100001111100100111010110vf15=10110111000000010111011110100111 f16=01100011111000011111010000000000v16個子密鑰為:K1=11110000101111101110111011010000 K2=11100000101111101111011010010101vK3=11110100111111100111011000101000 K4=1110011011110111011100
24、1000011010vK5=11101110110101110111011100100110 K6=11101111110100110101101110001011vK7=00101111110100111111101111100110 K8=10111111010110011101101101010000vK9=00011111010110111101101101000100 K10=00111111011110011101110100001001vK11=00011111011011011100110101101000 K12=0101101101101101101111010000101
25、0vK13=11011101101011011010110110001111 K14=11010011101011101010111110000000vK15=11111001101111101010011011010011 K16=11110001101111100010111000000001 vS盒中,16次運算時,每次的8 個結(jié)果為:v第一次:5,11,4,1,0,3,13,9;v第二次:7,13,15,8,12,12,13,1;v第三次:8,0,0,4,8,1,9,12;v第四次:0,7,4,1,7,6,12,4;v第五次:8,1,0,11,5,0,14,14;v第六次:14,12,
26、13,2,7,15,14,10;v第七次:12,15,15,1,9,14,0,4;v第八次:15,8,8,3,2,3,14,5;v第九次:8,14,5,2,1,15,5,12;v第十次:2,8,13,1,9,2,10,2;v第十一次:10,15,8,2,1,12,12,3;v第十二次:5,4,4,0,14,10,7,4;v第十三次:2,13,10,9,2,4,3,13;v第十四次:13,7,14,9,15,0,1,3;v第十五次:3,1,15,5,11,9,11,4;v第十六次:12,3,4,6,9,3,3,0;v子密鑰生成過程中,生成的數(shù)值為:vC0=00000000111111111111
27、11111011 D0=1000001101110110000001101000vC1=0000000111111111111111110110 D1=0000011011101100000011010001vC2=0000001111111111111111101100 D2=0000110111011000000110100010vC3=0000111111111111111110110000 D3=0011011101100000011010001000vC4=0011111111111111111011000000 D4=1101110110000001101000100000vC5=
28、1111111111111111101100000000 D5=0111011000000110100010000011vC6=1111111111111110110000000011 D6=1101100000011010001000001101vC7=1111111111111011000000001111 D7=0110000001101000100000110111vC8=1111111111101100000000111111 D8=1000000110100010000011011101vC9=1111111111011000000001111111 D9=000000110100
29、0100000110111011vC10=1111111101100000000111111111 D10=0000110100010000011011101100vC11=1111110110000000011111111111 D11=0011010001000001101110110000vC12=1111011000000001111111111111 D12=1101000100000110111011000000vC13=1101100000000111111111111111 D13=0100010000011011101100000011vC14=011000000001111
30、1111111111111 D14=0001000001101110110000001101vC15=1000000001111111111111111101 D15=0100000110111011000000110100vC16=0000000011111111111111111011 D16=1000001101110110000001101000v2. 非對稱密碼體制(Asymmetric Encryption)v非對稱密碼體制也叫公開密鑰密碼體制、雙密鑰密碼體制。其原理是加密密鑰與解密密鑰不同,形成一個密鑰對,用其中一個密鑰加密的結(jié)果,可以用另一個密鑰來解密。 v公鑰密碼體制特點僅根
31、據(jù)僅根據(jù)密碼算法密碼算法和和加密密鑰加密密鑰來確定來確定解密密鑰解密密鑰在在計算上是不可行的。計算上是不可行的。兩個密鑰中的任何一個可以用來加密,另一個兩個密鑰中的任何一個可以用來加密,另一個用來解密。用來解密。有有6個組成部分:明文、加密算法、公鑰、個組成部分:明文、加密算法、公鑰、私鑰、密文、解密算法私鑰、密文、解密算法1 Bob要發(fā)送消息給要發(fā)送消息給Alice2 Alice產(chǎn)生一對密鑰,用于加密和解密產(chǎn)生一對密鑰,用于加密和解密3 Alice將一個密鑰公開,另一個密鑰私有將一個密鑰公開,另一個密鑰私有BobAlice4 Bob用用Alice的公鑰對消息加密,發(fā)送給的公鑰對消息加密,發(fā)送
32、給Alice。只有。只有Alice能解密能解密用公鑰進行加密用公鑰進行加密用公鑰進行認證用公鑰進行認證BobAliceRSA算法的原理 vRSA體制可以簡單描述如下:v 生成兩個大素數(shù)p和q;v 計算這兩個素數(shù)的乘積n =pq ;v 計算小于n并且與n互質(zhì)的整數(shù)的個數(shù),即歐拉函數(shù)(n)=( P-1 ) ( q-1 );v 選擇一個隨機數(shù)b滿足1b(n),并且b和(n)互質(zhì),即gcd(b,(n))=1。v 計算ab=1 mod ;v 保密a,p和q,公開n和b。RSA算法實例v為了掌握RSA的加密過程,現(xiàn)舉個例子,說明RSA的加/解密過程。設 p=7, q=17, n=717=119; 參數(shù)T=
33、n=119;v(n)=(7-1)(17-1)=96;v選擇be=5,使b,與(n)互素,即:gcd(5,96)=1; 公鑰pk=5;v計算a, ( de) mod 96=1; a=77;私鑰sk=77;v設:明文m=19,根據(jù)加密公式:c=xb mod n ;解密公式:m=ca mod nv加密: 195 mod 119 = 66,得明文19加密后的密文為66;v解密: 6677 mod 119 = 19,得密文66解密后的明文為19。2.2哈希函數(shù) v所謂哈希函數(shù) (Hash Function,又稱單向散列函數(shù)、Hash函數(shù)),是將任意長度的消息M映射成一個固定長度散列值h(設長度為m)的函
34、數(shù)H:vh=H(M)v散列函數(shù)要具有單向性,則必須滿足如下特性:v 給定M,很容易計算h;v 給定h,根據(jù)H(M)=h反推M很難;v 給定M,要找到另一消息M并滿足H(M)=H(M)很難。2.2.1 MD5算法算法v1.MD5算法概述vMD表示消息摘要(Message Digest)。MD5是MD4的改進版,該算法對輸入的任意長度消息產(chǎn)生128位散列值(或消息摘要) 。vMD5算法包括以下五個步驟。v(1)附加填充位v首先填充消息,使其長度為一個比512的倍數(shù)小64位的數(shù)。填充方法:在消息后面填充一位1,然后填充所需數(shù)量的0。填充位的位數(shù)從1512。v 填充消息長度=512-(k+64) mod 512v(2)附加長度v將原消息長度的64位表示附加在填充后的消息后面。當原消息長度大于264時,用消息長度mod
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家具購銷合同案例
- 圖書出版合作協(xié)議書格式
- 汽車抵押借款合同協(xié)議書示例
- 個人合伙協(xié)議書格式
- 2024智能化工程維修合同
- 房地產(chǎn)抵押合同常見條款
- 教師臨時雇傭合同
- 2023年高考地理重點難點考點通練-環(huán)境安全與國家安全(原卷版)
- 工廠合作伙伴意向書
- 各類協(xié)議書的法律效力
- 二類醫(yī)療器械質(zhì)量管理制度目錄和工作程序
- 《跨境電子商務客服與溝通》 課件 第3章 售前客服與溝通
- 護理質(zhì)量指標數(shù)據(jù)收集與分析
- 《中國古代禮制》課件
- 舞臺美術設計基礎
- 2024年華潤燃氣集團招聘筆試參考題庫含答案解析
- 2024年江蘇省港口集團招聘筆試參考題庫含答案解析
- 安全管理的組織架構(gòu)與責任劃分
- 復發(fā)性流產(chǎn)查房
- 愛情片《百萬英鎊》臺詞 中英文對照
- 優(yōu)先還款協(xié)議書
評論
0/150
提交評論