版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第2章數(shù)據(jù)安全主要內(nèi)容密碼技術(shù)身份認(rèn)證訪問控制數(shù)據(jù)隱藏容錯(cuò)容災(zāi)反垃圾郵件2.1概述概述數(shù)據(jù)安全包括數(shù)據(jù)的產(chǎn)生、處理、加工、存儲(chǔ)、使用、傳輸、銷毀等環(huán)節(jié)的安全數(shù)據(jù)的分類圖形、聲音、文字等數(shù)據(jù)安全的概念定義數(shù)據(jù)安全是指數(shù)據(jù)在其生命周期受到保護(hù),不因偶然的或者惡意的原因而遭到破壞、更改、泄露。分類數(shù)據(jù)物理安全主要是指存儲(chǔ)于機(jī)器、磁盤等物理設(shè)備中數(shù)據(jù)的安全,也可稱為數(shù)據(jù)存儲(chǔ)安全。數(shù)據(jù)邏輯安全在數(shù)據(jù)處理,加工,使用、傳輸?shù)拳h(huán)節(jié)的安全。根據(jù)其保護(hù)的形態(tài)又可分為靜態(tài)安全和動(dòng)態(tài)安全。靜態(tài)安全是指防止存儲(chǔ)設(shè)備內(nèi)的數(shù)據(jù)被盜竊、修改、刪除和破壞;保護(hù)數(shù)據(jù)的靜態(tài)安全主要有:從載體到環(huán)境及至邊界的入侵防護(hù)、數(shù)據(jù)備份、快速恢復(fù)、異地存放、遠(yuǎn)程控制、災(zāi)難恢復(fù)等技術(shù);動(dòng)態(tài)安全則指在數(shù)據(jù)處理、加工、使用、傳輸過程中,防止被截獲、被篡改、被非授權(quán)使用、被非法傳播等。保護(hù)數(shù)據(jù)的動(dòng)態(tài)安全主要有:從載體到環(huán)境及至邊界的入侵防護(hù)技術(shù)、防漏洞技術(shù)、現(xiàn)代密碼技術(shù)等。范疇數(shù)據(jù)安全保護(hù)的實(shí)體對(duì)象是數(shù)據(jù)數(shù)據(jù)的可用性數(shù)據(jù)的完整性數(shù)據(jù)的真實(shí)性數(shù)據(jù)的機(jī)密性數(shù)據(jù)的不可否認(rèn)性常見的安全問題
數(shù)據(jù)無法獲取、使用和傳輸數(shù)據(jù)被刪除數(shù)據(jù)被篡改數(shù)據(jù)被泄漏數(shù)據(jù)被竊取數(shù)據(jù)被非法獲取安全問題的原因數(shù)據(jù)自身的脆弱性外界對(duì)數(shù)據(jù)的威脅載體、環(huán)境和邊界的安全問題2.2密碼技術(shù)對(duì)稱密碼體制非對(duì)稱密碼體制壓縮密鑰管理10一、密碼學(xué)概述密碼學(xué)(Cryptology)發(fā)展歷程——古代:埃及、斯巴達(dá)、希臘、兩次世界大戰(zhàn)——現(xiàn)代:1949年,信息論之父C.E.Shannon發(fā)表了《保密系統(tǒng)的通信理論》。1976年W.Diffie和M.E.Hellman發(fā)表的《密碼學(xué)的新方向》。標(biāo)準(zhǔn)DES和AES現(xiàn)代密碼學(xué)涉及數(shù)學(xué)(如數(shù)論、有限域、復(fù)雜性理論、組合算法、概率算法等)、物理學(xué)(如量子力學(xué)、現(xiàn)代光學(xué)、混沌動(dòng)力學(xué)等)、信息論、計(jì)算機(jī)科學(xué)等學(xué)科。密碼學(xué)發(fā)展史密碼學(xué)的發(fā)展階段古代加密方法(手工加密)隱寫術(shù)信息隱藏古典密碼(機(jī)械階段)轉(zhuǎn)輪機(jī)近代密碼(計(jì)算階段)基本術(shù)語明文(Plaintext):可直接獲取其涵義,需要秘密傳輸?shù)南ⅲ@些消息是沒有任何變換的,是所要傳輸消息的本身密文(Ciphertext):明文經(jīng)過密碼變換后的消息。經(jīng)過變換,使得非授權(quán)的實(shí)體無法直接獲取信息由明文到密文的變換過程稱為加密(Encryption)而把密文轉(zhuǎn)變?yōu)槊魑牡倪^程稱為解密(Decryption)破譯(Decipher):非法接收者試圖從密文分析出明文的過程。密碼算法(CryptographyAlgorithm):是用于加密和解密的數(shù)學(xué)函數(shù)基本術(shù)語加密和解密時(shí)使用的一組秘密信息,是加解密運(yùn)算的一組參數(shù)稱為密鑰(Key)對(duì)明文進(jìn)行加密操作時(shí)所采用的一組規(guī)則稱作加密算法(EncryptionAlgorithm)對(duì)密文解密所采用的一組規(guī)則稱為解密算法(DecryptionAlgorithm)14傳統(tǒng)密碼學(xué)
1、置換密碼(移位法):將明文字母互相換位,明文的字母不變,但順序被打亂了。例如:線路加密法
明文以固定的寬度水平寫出,密文按垂直方向讀出。明文:COMPUTERSYSTEMSECURITYCOMPUTERSYSTEMSECURITY密文:CTSETOETCYMREUPSMRUYSI羊皮卷17傳統(tǒng)密碼學(xué)
2、代換密碼[代替法]:就是明文中每一個(gè)字符被替換成密文中的另外一個(gè)字符,代替后的各字母保持原來位置。對(duì)密文進(jìn)行逆替換就可恢復(fù)出明文。有四種類型的代替密碼:(1)單表(簡單)代替密碼:就是明文的一個(gè)字符用相應(yīng)的一個(gè)密文字符代替。加密過程中是從明文字母表到密文字母表的一一映射。例:愷撒(Caesar)密碼。(2)同音代替密碼:它與簡單代替密碼系統(tǒng)相似,唯一的不同是單個(gè)字符明文可以映射成密文的幾個(gè)字符之一同音代替的密文并不唯一。(3)多字母組代替密碼:字符塊被成組加密,例如“ABA”可能對(duì)應(yīng)“RTQ”,ABB可能對(duì)應(yīng)“SLL”等。例:Playfair密碼。(4)多表代替密碼:由多個(gè)單字母密碼構(gòu)成,每個(gè)密鑰加密對(duì)應(yīng)位置的明文。例:維吉尼亞密碼。中國信息安全認(rèn)證中心培訓(xùn)合作方徽標(biāo)與名稱凱撒密碼19同余密碼(1)加同余碼:一種移位密碼,如凱撤(Cacsar)密碼:以查碼表方式進(jìn)行一對(duì)一替換。收發(fā)雙方采用同一碼表。凱撤密碼加密變換:C=P+3(mod26)
凱撤密碼解密變換:P=C-3(mod26)密鑰:320
若明文m=Casearcipherisashiftsubstitution則密文C=E(m)=FDVHDUFLSHULVDVKLIWVXEVWLWXWLRQ明文abcdefghijklm密文DEFGHIJKLMNOP明文nopqrstuvwxyz密文QRSTUVWXYZABC21傳統(tǒng)密碼學(xué)英語26個(gè)字母中,各字母出現(xiàn)的頻率不同而穩(wěn)定,經(jīng)過大量統(tǒng)計(jì),可以給出了各字母出現(xiàn)的頻率值。英文明文字母按出現(xiàn)概率大小分組表:1e>0.12taoinshr0.05-0.13dl0.03-0.054cumwfgypb0.01-0.035vkjxqz<0.0122凱撤密碼擴(kuò)展:C=P+n(mod26)P=C-n(mod26)
密鑰:n密碼分析(1)加解密算法已知(2)可能嘗試的密鑰只有26個(gè)通過強(qiáng)力攻擊得到明文密碼學(xué)發(fā)展史中國信息安全認(rèn)證中心培訓(xùn)合作方徽標(biāo)與名稱24ComputersandCryptography現(xiàn)代電子系統(tǒng)與計(jì)算機(jī)能夠?qū)崿F(xiàn)更復(fù)雜的密碼系統(tǒng)70年代中期,首次出現(xiàn)了現(xiàn)代分組密碼—DES70年代末,公鑰密碼學(xué)問世直到今天,我們使用的密碼學(xué)系統(tǒng)密碼學(xué)及編碼學(xué)密碼學(xué)以研究秘密通信為目的,研究對(duì)傳輸信息采取何種秘密的變換,以防止第三者對(duì)信息的截取。密碼編碼學(xué)——研究把信息(明文)變換成沒有密鑰不能解密或很難解密的密文的方法密碼分析學(xué)——研究分析破譯密碼的方法加密與編碼編碼一方面表示的是經(jīng)過編制、安排的數(shù)碼本身另一方面主要是指信息格式轉(zhuǎn)換的過程編碼廣泛應(yīng)用于計(jì)算機(jī)、通訊、電視等各個(gè)領(lǐng)域,如二進(jìn)制編碼、字符集編碼、哈夫曼編碼、曼徹斯特編碼等加密中的編碼特指以碼字(codeword)取代特定的明文的過程,是加解密處理的預(yù)處理過程密碼算法分類-1按照保密的內(nèi)容分:受限制的(restricted)算法:算法的機(jī)密性基于保持算法的秘密?;诿荑€(key-based)的算法:算法的機(jī)密性基于對(duì)密鑰的保密。密碼算法分類-2基于密鑰的算法,按照密鑰的特點(diǎn)分類:對(duì)稱密碼算法(symmetriccipher):又稱傳統(tǒng)密碼算法(conventionalcipher),就是加密密鑰和解密密鑰相同,或?qū)嵸|(zhì)上等同,即從一個(gè)易于推出另一個(gè)。又稱秘密密鑰算法或單密鑰算法。非對(duì)稱密鑰算法(asymmetriccipher):加密密鑰和解密密鑰不相同,從一個(gè)很難推出另一個(gè)。又稱公開密鑰算法(public-keycipher)。密碼算法分類-3按照明文的處理方法:分組密碼(blockcipher):將明文分成固定長度的組,用同一密鑰和算法對(duì)每一塊加密,輸出也是固定長度的密文。流密碼(streamcipher):又稱序列密碼.序列密碼每次加密一位或一字節(jié)的明文,也可以稱為流密碼。典型技術(shù)現(xiàn)代密碼:對(duì)稱密碼體制和非對(duì)稱密碼體制。對(duì)稱密碼體制非對(duì)稱密碼體制保密通信系統(tǒng)模型信源M加密器C=EK1(M)信道解密器M=Dk2(C)接收者m密鑰源k1密鑰源k2密鑰信道非法接入者密碼分析員(竊聽者)搭線信道(主動(dòng)攻擊)搭線信道(被動(dòng)攻擊)ccmk1k2m`密碼分析假設(shè)破譯者Oscar是在已知密碼體制的前提下來破譯Bob使用的密鑰。這個(gè)假設(shè)稱為Kerckhoff原則。最常見的破解類型如下:1.唯密文攻擊:Oscar具有密文串y.2.已知明文攻擊:Oscar具有明文串x和相應(yīng)的密文y.3.選擇明文攻擊:Oscar可獲得對(duì)加密機(jī)的暫時(shí)訪問,因此他能選擇明文串x并構(gòu)造出相應(yīng)的密文串y。4.選擇密文攻擊:Oscar可暫時(shí)接近解密機(jī),可選擇密文串y,并構(gòu)造出相應(yīng)的明文x.
這一切的目的在于破譯出密鑰或密文對(duì)稱密碼體制加密和解密采用相同的密鑰對(duì)稱密碼體制中典型的算法DES(DataEncryptionStandard)算法、3DES(三重DES)、GDES(廣義DES)、AES、歐洲的IDEA、日本的FEAL、RC5等。分組密碼流密碼RC4A5分組密碼分組塊操作基本技術(shù)擴(kuò)散混亂常見算法AES、SMS4、IDEABlowfish、RC5、……序列密碼也稱為:流密碼特點(diǎn):實(shí)現(xiàn)簡單便于硬件實(shí)施加解密處理速度快沒有或只有有限的錯(cuò)誤傳播常見算法RC4A5DES的產(chǎn)生DES(DataEncryptionStandard)算法采用分組乘積密碼體制,就是使用多次移位和代替的混合運(yùn)算編制的密碼。于1977年得到美國政府的正式許可,是一種用56位密鑰來加密64位數(shù)據(jù)的方法。DES的發(fā)展歷史:1971年,LUCIFER算法:64bit,128bitLUCIFER改進(jìn)版:64bit,56bit1973年,LUCIFER改進(jìn)版被提交NBS1977年,被選定為DES(DataEncryptionStandard)37(一)
DES算法概述現(xiàn)代與古典密碼學(xué)采用的基本思想相同:替換與變位。古典:算法簡單,長密鑰?,F(xiàn)代:算法復(fù)雜。P盒和S盒數(shù)據(jù)加密標(biāo)準(zhǔn)
P盒用
P盒構(gòu)成的
S盒P盒實(shí)質(zhì)上是用硬件實(shí)現(xiàn)變位,改變輸入序列S盒實(shí)質(zhì)上是用硬件實(shí)現(xiàn)若干比特的替換譯碼器編碼器DES
(DigitalEncryptionStandard)在通信網(wǎng)絡(luò)的兩端,雙方約定一致的Key,在通信的源點(diǎn)用Key對(duì)核心數(shù)據(jù)進(jìn)行DES加密,然后以密碼形式在公共通信網(wǎng)(如電話網(wǎng))中傳輸?shù)酵ㄐ啪W(wǎng)絡(luò)的終點(diǎn),數(shù)據(jù)到達(dá)目的地后,用同樣的Key對(duì)密碼數(shù)據(jù)進(jìn)行解密,便再現(xiàn)了明碼形式的核心數(shù)據(jù)這樣,便保證了核心數(shù)據(jù)(如PIN、MAC等)在公共通信網(wǎng)中傳輸?shù)陌踩院涂煽啃?。通過定期在通信網(wǎng)絡(luò)的源端和目的端同時(shí)改用新的Key,便能更進(jìn)一步提高數(shù)據(jù)的保密性,這正是現(xiàn)在金融交易網(wǎng)絡(luò)的流行做法DES的應(yīng)用隨著三金工程尤其是金卡工程的啟動(dòng),DES算法在ATM、磁卡及智能卡(IC卡)、加油站、高速公路收費(fèi)站等領(lǐng)域被廣泛應(yīng)用,以此來實(shí)現(xiàn)關(guān)鍵數(shù)據(jù)的保密,如信用卡持卡人的PIN的加密傳輸、金融交易數(shù)據(jù)包的MAC校驗(yàn)等,均用到DES算法DES的應(yīng)用DES算法具有極高安全性,到目前為止,除了用窮舉搜索法對(duì)DES算法進(jìn)行攻擊外,還沒有發(fā)現(xiàn)更有效的辦法而56位長的密鑰的窮舉空間為256,這意味著如果一臺(tái)計(jì)算機(jī)的速度是每一秒種檢測一百萬個(gè)密鑰,則它搜索完全部密鑰就需要將近2285年的時(shí)間,可見,這是難以實(shí)現(xiàn)的,當(dāng)然,隨著科學(xué)技術(shù)的發(fā)展,當(dāng)出現(xiàn)超高速計(jì)算機(jī)后,我們可考慮把DES密鑰的長度再增長一些,以此來達(dá)到更高的保密程度DES算法的安全性41數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)數(shù)據(jù)加密標(biāo)準(zhǔn)利用傳統(tǒng)的換位和置換加密。假定信息空間由{0,1}組成的字符串,信息被分成64比特的塊,密鑰是56比特。經(jīng)過DES加密的密文也是64比特的塊。明文:m=m1m2…m64mi=0,1i=1,2,…64
密鑰:k=k1k2…k64ki=0,1i=1,2,…64其中k8,k16,…,k64是奇偶校驗(yàn)位,起作用的僅為56位。
加密算法:
Ek(m)=IP-1·T16·T15……T1·IP(m)
其中IP為初始置換,IP-1是IP的逆,Ti,i=1,2,…16是一系列的變換。
解密算法:
Ek-1(c)=IP-1·T1·T2……T16·IP(c)DES算法總體框架43數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)數(shù)據(jù)加密標(biāo)準(zhǔn)輸入(64位)58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157輸出(64位)初始變換IPL0(32位)R0(32位)初始變換IP44IP(InitialPermutation):8162432404856816243240485645(二)數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)數(shù)據(jù)加密標(biāo)準(zhǔn)IP中各列元素位置號(hào)數(shù)相差為8,相當(dāng)于將原明文各字節(jié)按列寫出,各列比特經(jīng)過偶采樣和奇采樣置換后再對(duì)各行進(jìn)行逆序,將陣中元素按行讀得的結(jié)果。19172533414957210182634425058311192735435159412202836445260513212937455361614223038465462715233139475563816243240485664輸入64個(gè)二進(jìn)制位明碼文數(shù)據(jù)區(qū)組m=m1m2…m64按初始換位表IP進(jìn)行換位,得到區(qū)組B(0):B(0)=b1(0)b2(0)…b64(0)=m58m50…m7記成L0、R0左右兩部分46(二)數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)數(shù)據(jù)加密標(biāo)準(zhǔn)置換碼組輸入(64位)40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725輸出(64位)逆初始變換IP-1逆初始變換47IP-1(FinalPermutation):8162432404856816243240485648數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)
數(shù)據(jù)加密標(biāo)準(zhǔn)逆初始變換。用IP-1
表示,它和IP互逆。例如,第58位經(jīng)過初始置換后,處于第1位,而通過逆置換,又將第1位換回到第58位??梢娸斎虢Mm和IP(IP-1(m))
是一樣的。49(二)數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)數(shù)據(jù)加密標(biāo)準(zhǔn)64位碼64位碼初始變換逆初始變換L0明文密文輸入輸出IPIP-1R0DES算法總體框架51L0R0L1R148bitsubkeyGeneratorK48=g(i,K56)(Thekeyforeachroundisdeterministicallyfoundfromtheinput56bitkey).ExpansionPermutationS-BoxSubstitutionP-BoxPermutation32484848323232323252145891213161720212425282932148ExpansionPermutation32485348ExpansionPermutation3248r1(i)r2(i)r3(i)r4(i)
r5(i)r6(i)r7(i)r8(i)…r29(i)r30(i)r31(i)r32(i)r32(i)r1(i)r2(i)r3(i)r4(i)r5(i)r4(i)r5(i)r6(i)r7(i)r8(i)r9(i)…r28(i)r29(i)r30(i)r31(i)r32(i)r1(i)54數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)數(shù)據(jù)加密標(biāo)準(zhǔn)A32位3212345456789891011121312131415161716171819202120212223242524252627282928293031321選擇運(yùn)算E選擇運(yùn)算E的結(jié)果48位擴(kuò)展置換E55S-box1S-box2S-box3S-box4S-box5S-box6S-box7S-box8145891213161720212425282932148S-BoxSubstitution4832S1:14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7,
0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8,
4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0,
15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13,S2:15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10,
3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5,
0,14,7,11,10,4,13,1,5,8,12,6,9,3,2,15,
13,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9,部分S盒57S[8]1328461511110931450127115138103741256110149271141912142061013153582114741081315129035611例:以S8為例說明在S8中,共有4行數(shù)據(jù),0、1、2、3每行有16列,0、1、…14、15列現(xiàn)輸入D=101100,則列=0110,行=10,坐標(biāo)為(2,6)查表S8為3,以4位二進(jìn)制表示為:001158L0R0L1R148bitsubkeyGeneratorK48=g(i,K56)(Thekeyforeachroundisdeterministicallyfoundfromtheinput56bitkey).ExpansionPermutationS-BoxSubstitutionP-BoxPermutation32484848323232323259145891213161720212425282932P-BoxPermutation323214589121316172021242528293260P-BoxPermutation3232Theoutputsof8
S-Box(32bits)1672021291228171152326518311028241432273919133062211425P-BoxOutputoffunctionf(32bits)DES算法總體框架6264位密鑰置換選擇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位)16個(gè)子密鑰的生成算法循環(huán)左移:11912110232112421225213262142721528216163置換選擇1密鑰計(jì)算的目的在于產(chǎn)生加密和解密時(shí)所需要的16個(gè)子密鑰,記作K(i)。初始密鑰Key值為64位,但DES算法規(guī)定,其中第8、16、......64位是奇偶校驗(yàn)位,不參與DES運(yùn)算。故Key實(shí)際可用位數(shù)便只有56位。即:經(jīng)過子密鑰換位表PC-1的變換后,Key的位數(shù)由64位變成了56位,此56位分為C0、D0兩部分,各28位。6457494133251791585042342618102595143352719113605244366355473931331576254463830221466153453729211352820124不考慮各字節(jié)第8位密鑰(64位)C0(28位)D0(28位)密鑰置換選擇165InitialKeyPermutation816243240485681624324048566466循環(huán)移位規(guī)則:輪數(shù):12345678910111213141516位數(shù):1122222212222221密鑰置換選擇256位分為C0、D0兩部分,然后分別進(jìn)行第1次循環(huán)左移,得到C1、D1,將C1(28位)、D1(28位)合并得到56位,再經(jīng)過子密鑰換位表PC-2,便得到了密鑰K1(48位)。
子密鑰換位表PC-2給出了選擇及選擇后的次序,可以看出去掉了第9、18、22、25、35、38、43、54位。67Ci(28位)Di(28位)1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932Ki(48位)密鑰置換2去掉第9,18,22,25,35,38,43,54位,56位變成48位68KeySplit&Shift&Compress8162432404856ShiftleftbyNiShiftleftbyNi8162432404856Ni={1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1}81624324048ShiftaccumulateseveryroundK48K56子密鑰換位表PC-2DES算法的基本運(yùn)算異或加密過程置換初始置換、逆初始置換代換S盒移位子密鑰生成多重DES雙重DES3DESEEE模式三次加密需要3個(gè)KeyEDE模式加密—解密—加密可采用2個(gè)KeyK1!=K2!=K3;K1=K3明文密文K加密密鑰移位(IV)ECB(電碼本)CFB(密碼反饋)CBC(密碼分組鏈接)OFB(輸出反饋)分組密碼工作模式對(duì)稱密碼體制特點(diǎn)效率高,算法簡單,系統(tǒng)開銷小,適合加密大量數(shù)據(jù)計(jì)算;通信雙方需確保密鑰安全交換;不能用于數(shù)字簽名;對(duì)于具有n個(gè)用戶系統(tǒng),如果每2個(gè)用戶采用1個(gè)密鑰,則需要n(n-1)/2個(gè)密鑰。在用戶數(shù)量相對(duì)較小的情況下,對(duì)稱加密系統(tǒng)是有效的。但是當(dāng)用戶數(shù)量超過一定規(guī)模時(shí),密鑰的分配和保存就成了問題。非對(duì)稱密碼體制公鑰密碼學(xué)是密碼學(xué)一次偉大的革命1976年,Diffie和Hellman在“密碼學(xué)新方向”一文中提出使用兩個(gè)密鑰:公開(公有)密鑰、秘密(私有)密鑰加解密的非對(duì)稱性利用數(shù)論的方法是對(duì)對(duì)稱密碼的重要補(bǔ)充非對(duì)稱密碼體制加密和解密是相對(duì)獨(dú)立的,加密和解密使用兩個(gè)不同的密鑰,公開密鑰向公眾公開,任何實(shí)體都可以使用;秘密密鑰由所有者獨(dú)自擁有,并秘密保存。非法使用者根據(jù)公開的加密密鑰無法推算出解密密鑰。常見的非對(duì)稱密碼體制有RSA、橢圓曲線算法、Diffe-Hellman、背包算法、McEliece、Rabin、零知識(shí)證明、EIGamal,以及我國的組合公鑰CPK算法。公鑰密碼算法應(yīng)用領(lǐng)域兩個(gè)方面的關(guān)鍵應(yīng)用:密鑰分發(fā)機(jī)密性和消息認(rèn)證公鑰加密原理傳輸機(jī)密信息,實(shí)現(xiàn)消息機(jī)密性傳輸密文Bob的公鑰環(huán)
加密
解密JoyMikeAliceTedAlice的公鑰明文Alice的私鑰明文BobAlice公鑰加密原理實(shí)現(xiàn)身份認(rèn)證BobAlice傳輸密文Alice的公鑰環(huán)
加密
解密JoyMikeTedBob的公鑰明文Bob的私鑰明文公鑰加密算法兩種最常用的公鑰算法:RSA和Diffie-HellmanRSA-RonRives,AdiShamirandLenAdlemanatMIT,in1977.RSA屬于分組加密算法明文和密文在0~n-1之間,n是一個(gè)正整數(shù)Diffie-Hellman保密密鑰交換算法依賴于離散對(duì)數(shù)
79數(shù)論知識(shí)簡介素?cái)?shù):比1大,其因子只有1和它本身,沒有其它數(shù)可以整除它的數(shù)。素?cái)?shù)是無限的。
互素:若gcd(a,b)=1,則整數(shù)a和b互素。逆元:若a?xmodn=1,則稱a與x對(duì)于模n互為逆元。用Euclid算法求乘法逆元若a和n互素,則a在模n下有逆元。Euler函數(shù)φ(n):是與n互素的、小于n的正整數(shù)的個(gè)數(shù),n>1。φ(3)=φ(4)=φ(6)=2,φ(5)=4,φ(7)=680數(shù)論知識(shí)簡介模運(yùn)算性質(zhì):同余,有自反性、對(duì)稱性、傳遞性;a=amodn;若a=bmodn,則b=amodn;若a=bmodn,b=cmodn,則a=cmodn若amodn=bmodn,則(a-b)modn=0;[(amodn)+(bmodn)]modn=(a+b)modn;--;**;例:152mod12=(3*3)mod12=981若n是素?cái)?shù),則φ(n)=n-1若n=p*q,p、q是素?cái)?shù),則φ(n)=(p-1)*(q-1)
例:φ(21)=φ(3*7)=2*6=12Fermat小定理:若m是素?cái)?shù),且a不是m的倍數(shù),則am-1modm=1。或者:若m是素?cái)?shù),則ammodm=a例:46
mod7=4096mod7=147
mod7=16384mod7=482Euler定理:aφ(n)modn=1推論:若a與n互素,則a與aφ(n)-1
互為逆元。
例:a=4,n=7,φ(7)=6,aφ(7)-1=45=1024
所以,4和1024在模7下互為逆元。驗(yàn)證:4x1024mod7=183高次冪剩余的運(yùn)算
要計(jì)算gnmodp,因g、n、p都是大數(shù)而不能采用先高次冪再求剩余的方法來處理,而要采用平方取模的算法,即每一次平方或相乘后,立即取模運(yùn)算。歐幾里德算法歐幾里德算法可以迅速地找出給定的兩個(gè)整數(shù)a和b的最大公因數(shù)gcd(a,b),并可判斷a與b是否互素,因此該算法可用來尋找加密密鑰和解密密鑰。
84(一)RSA算法概述公開密鑰算法每個(gè)合數(shù)都可以唯一地分解出素?cái)?shù)因子 6=2·3 999999=3·3·3·7·11·13·37 27641=131·121 從2開始試驗(yàn)每一個(gè)小于等于√27641的素?cái)?shù)。素?cái)?shù):只能被1和它本身整除的自然數(shù);否則為合數(shù)。整數(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年RSA密碼算法RSA加密算法的過程1.取兩個(gè)隨機(jī)大素?cái)?shù)p和q(保密)2.計(jì)算公開的模數(shù)n=p*q(公開)3.計(jì)算秘密的歐拉函數(shù)(n)=(p-1)*(q-1)(保密)4.隨機(jī)選取整數(shù)e,滿足gcd(e,(n))=1(公開e加密密鑰)5.計(jì)算d滿足de≡1(mod(n))(保密d解密密鑰)6.將明文m按模為n自乘e次冪以完成加密操作,從而產(chǎn)生密文C
(M、C值在0到n-1范圍內(nèi))。C=M
emodn7.解密:將密文C按模為n自乘d次冪。M=CdmodnRSA算法分組加密算法,明文和密文都是0到n-1之間的整數(shù)明文M、密文C,加密/解密的形式如下:公鑰PK={e,n}、私鑰SK={d,p,q}(雙方都知道n和e的值)C=MemodnM=Cdmodn=(Me)dmodn=Medmodn87(二)RSA算法的實(shí)現(xiàn)公開密鑰算法例設(shè)p=43,q=59,n=p?q=43*59=2537,(n)=(p-1)(q-1)=2436,
取e=13,求e的逆元d解方程d?e=1
mod24362436=13*187+5,13=2*5+3,5=3+2,3=2+1所以1=3-2,2=5-3,3=13-2*55=2436-13*187所以,1=3-2=3-(5-3)=2*3-5=2*(13-2*5)-5=2*13-5*5=2*13-5*(2436-13*187)=937*13-5*2346即937*13≡1mod2436取e=13時(shí)d=937RSA安全性結(jié)論已知的方法至少跟因子分解一樣難度尚未發(fā)現(xiàn)多項(xiàng)式時(shí)間的因子分解算法因子分解的算法已經(jīng)取得了長足進(jìn)步措施:選擇足夠大的n(1024位以上),并且使得e,d之間相差不太大,也不太小RSA優(yōu)缺點(diǎn)優(yōu)點(diǎn)RSA算法是第一個(gè)能同時(shí)用于加密和數(shù)字簽名的算法,也易于理解和操作RSA是被研究得最廣泛的公鑰算法,從提出到現(xiàn)在已近二十年,經(jīng)歷了各種攻擊的考驗(yàn),逐漸為人們接受,普遍認(rèn)為是目前最優(yōu)秀的公鑰方案之一該算法的加密密鑰和加密算法分開,使得密鑰分配更為方便RSA優(yōu)缺點(diǎn)它特別符合計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境對(duì)于網(wǎng)上的大量用戶,可以將加密密鑰(公鑰)用電話簿的方式印出如果某用戶想與另一用戶進(jìn)行保密通信,只需從公鑰簿上查出對(duì)方的加密密鑰,用它對(duì)所傳送的信息加密發(fā)出即可對(duì)方收到信息后,用僅為自己所知的解密密鑰(私鑰)將信息脫密,了解報(bào)文的內(nèi)容由此可看出,RSA算法解決了大量網(wǎng)絡(luò)用戶密鑰管理的難題,這是公鑰密碼系統(tǒng)相對(duì)于對(duì)稱密碼系統(tǒng)最突出的優(yōu)點(diǎn)RSA優(yōu)缺點(diǎn)缺點(diǎn)產(chǎn)生密鑰很麻煩,受到素?cái)?shù)產(chǎn)生技術(shù)的限制,因而難以做到一次一密安全性,RSA的安全性依賴于大數(shù)的因子分解,但并沒有從理論上證明破譯RSA的難度與大數(shù)分解難度等價(jià)。目前,人們已能分解140多個(gè)十進(jìn)制位的大素?cái)?shù),這就要求使用更長的密鑰,速度更慢;另外,目前人們正在積極尋找攻擊RSA的方法,如選擇密文攻擊速度太慢,RSA的分組長度太大。為了速度問題,目前人們廣泛使用單,公鑰密碼結(jié)合使用的方法,優(yōu)缺點(diǎn)互補(bǔ):單鑰密碼加密速度快,人們用它來加密較長的文件,然后用RSA來給文件密鑰加密,極好的解決了單鑰密碼的密鑰分發(fā)問題92
RSA算法的脆弱性公開密鑰算法P、q選擇不當(dāng),則變換周期性、封閉性而泄密例:p=17,q=11,e=7,則n=187。設(shè)m=123,則
C1=1237mod187=183C2=1837mod187=72C3=727mod187=30C4=307mod187=123明文m經(jīng)過4次加密,恢復(fù)成明文??傊?,RSA對(duì)用戶要求太苛刻,密鑰不能常更換。其他算法ECC橢圓曲線算法CPK組合公鑰算法參考講義ElgamalRabin背包公鑰算法……HASH函數(shù)雜湊函數(shù)或散列函數(shù)方法從消息空間到像(Image)空間的不可逆映射。消息通過散列算法,變換成固定長度的輸出,該輸出就是散列值或稱為數(shù)字指紋、消息摘要、雜湊值。利用HASH函數(shù)對(duì)明文進(jìn)行壓縮,產(chǎn)生固定輸出目的保證完整性HASH函數(shù)Hash函數(shù)是在一個(gè)方向上工作的Hash函數(shù),從預(yù)映射的值很容易計(jì)算其Hash值,但要產(chǎn)生一個(gè)預(yù)映射的值使其Hash值等于一個(gè)特殊值卻是很難的。x->h(x)易h(x)->x難特點(diǎn)可用于任意長度的消息輸出長度固定從消息計(jì)算散列值很容易對(duì)任意的散列值,反過來計(jì)算消息是不可行的很難找到兩個(gè)不同的輸入得到相同的散列值基本原理HASH函數(shù)基本框架HASH函數(shù)簡介常用的算法主要有MD5、SHA-1、SHA-256、SHA-512HMAC壓縮HASH函數(shù)應(yīng)用數(shù)據(jù)完整性數(shù)字簽名消息鑒別身份認(rèn)證數(shù)字簽名技術(shù)一般方案:加密數(shù)字簽名改進(jìn)方案數(shù)字簽名技術(shù)簽名算法RSADSAECDSA雙重簽名其他簽名群簽名盲簽名可仲裁簽名密鑰管理密鑰生成密鑰注入密鑰分配密鑰驗(yàn)證密鑰更新密鑰存儲(chǔ)密鑰備份密鑰銷毀密碼體制優(yōu)缺點(diǎn)對(duì)稱密碼體制優(yōu)缺點(diǎn)非對(duì)稱密碼體制優(yōu)缺點(diǎn)密碼技術(shù)應(yīng)用維持機(jī)密性保證真實(shí)性保證完整性用于不可否認(rèn)性典型應(yīng)用在電子商務(wù)上的應(yīng)用在VPN上的應(yīng)用2.5信息隱藏隱寫術(shù)數(shù)字水印107信息隱藏隱寫術(shù)不讓計(jì)劃的接收者之外的任何人知道信息的傳遞事件(而不只是信息的內(nèi)容)的一門技巧與科學(xué)。數(shù)字水印在數(shù)字化的數(shù)據(jù)中嵌入不明顯的記號(hào)。通常被嵌入的記號(hào)是不可見或不可覺察的,但通過計(jì)算操作可以被檢查
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 銀行保險(xiǎn)產(chǎn)品培訓(xùn)
- 幼兒園自然災(zāi)害疏散應(yīng)急預(yù)案
- 青少年體育競賽管理制度
- 2022下半年四川公務(wù)員考試行測試題
- 工地輪式起重機(jī)長期出租協(xié)議書(3篇)
- 手機(jī)銷售溝通技巧秘訣(3篇)
- 掛職鍛煉個(gè)人總結(jié)八篇
- 髖膝關(guān)節(jié)康復(fù)護(hù)理
- 腦干病變患者的護(hù)理
- 養(yǎng)老院核酸樣本管理制度
- 北京市道德與法治初一上學(xué)期期中試卷及答案指導(dǎo)(2024年)
- 高校實(shí)驗(yàn)室安全基礎(chǔ)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 四川省綿陽市高中2025屆高三一診考試物理試卷含解析
- 各種注射法(課堂PPT)
- 譯林牛津英語7A-unit3-Welcome-to-our-school教案(6課時(shí))
- 飛利浦16排螺旋CT機(jī)操作規(guī)程(1)
- 油菜品種田間記載項(xiàng)目與標(biāo)準(zhǔn)
- 渣土車輛駕駛員管理制度
- 德力西系列變頻器說明書
- 后疫情時(shí)代探索家校共育新模式維護(hù)學(xué)生心理健康
- 小學(xué)美術(shù)11-身邊的伙伴ppt課件
評(píng)論
0/150
提交評(píng)論