資源描述:
《密碼與隱藏技術(shù)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第2章密碼與隱藏技術(shù)2.1密碼技術(shù)概述2.2古典加密方法2.3數(shù)據(jù)加密標(biāo)準(zhǔn)DES2.4高級加密標(biāo)準(zhǔn)AES2.5公開密鑰體制2.6RSA算法2.7NTRU公開密鑰體制2.8對稱加密體制與公開密鑰體制比較2.9信息隱藏技術(shù)2.10數(shù)字水印12.1密碼技術(shù)概述密碼技術(shù)是防止信息泄露的技術(shù),是信息安全技術(shù)中最重要和最基本的安全技術(shù)。密碼技術(shù)中常用的一些術(shù)語:1.明文P(Plaintext):可以理解的信息原文。2.加密E(Encryption):用某種方法偽裝明文以隱藏它的內(nèi)容的過程。3.密文C(Ciphertext):經(jīng)過加密后將明文變換成不容易理解的信息。4.解密
2、D(Decryption):將密文恢復(fù)成明文的過程。25.算法(algorithm):就是用于加密或解密的方法,在現(xiàn)代密碼學(xué)中算法就是一個用于加密和解密的數(shù)學(xué)函數(shù)。6.密鑰K(key):是用來控制加密和解密算法的實現(xiàn)。典型的加密和解密過程可以用圖2.1來描述。如果將加密過程看成是一個數(shù)學(xué)函數(shù)F的話,則密文C可以表示為:C=F(P,K)3這個函數(shù)具有兩個自變量P和K,在函數(shù)F的作用下得到密文。在已知密鑰K1、K2、加密算法E和解密算法D時,則加密和解密過程可以表示如下:EK1(P)=CDK2(C)=P顯然為使明文加密后能被解密必須有:P=DK2(EK1(P))=
3、P在實際加密和解密時,根據(jù)加密算法的特點,K1與K2的值可以不同,也可以相同。4例:設(shè)明文是一串二進(jìn)制序列,加密和解密算法都采用模2運算,即異或運算⊕,加密密鑰和解密密鑰也相同。若明文P=11001100加密和解密密鑰K=11000111則加密后的密文C=P⊕K=00001011解密后的密文P=C⊕K=11001100如字符串“HYIT”的ASCII碼為48594954H,密鑰用05H,密文為4D5C4C51H,對應(yīng)的ASCII碼為“MLQ”5現(xiàn)代密碼學(xué)已發(fā)展成兩個重要的研究分支:(1)對稱加密方法,其典型代表是數(shù)據(jù)加密標(biāo)準(zhǔn)DES(數(shù)據(jù)加密標(biāo)準(zhǔn))、IDEA(
4、國際數(shù)據(jù)加密算法)、AES(高級加密標(biāo)準(zhǔn))等算法。(2)公開密鑰算法(也稱非對稱算法),其典型代表是RSA、橢圓曲線加密、NTRU算法等。62.2古典加密方法2.2.1代替密碼代替密碼又稱替換密碼,就是按照一定要求,將明文中的每個字符替換成另一個字符,明文中字符的位置保持不變,但其本身改變了。分為單表代換和多表代換。(1)單表代換:同一個字符具有一個密文字符。(2)多表代換:同一個字符具有不同的密文字符。如:移位密碼:C=P+K(mod26),M=C-K(mod26)仿射變換:C=aP+b(mod26),M=a-1(C-b)(mod26),a與26互素7多表代
5、換:密鑰由多個字母組成,依次用來對明文進(jìn)行加密。2.2.2換位密碼換位密碼也可稱為置換密碼,它是改變明文中字母的位置,明文中的字母不變。也就是明文中的字母保持不變,但順序被打亂了。例如可以將明文the變換成het。82.3對稱加密體制對稱加密算法,有時又叫傳統(tǒng)密碼算法,它的典型特點是:1.采用的解密算法就是加密算法的逆運算,或者解密算法與加密算法完全相同;2.加密密鑰和解密密鑰相同,或者加密密鑰能夠從解密密鑰中推算出來,反過來也成立。對稱算法要求發(fā)送者和接收者在安全通信之前,商定一個密鑰。它的安全性依賴于密鑰的保密性。9對稱算法可分為兩類:分組密碼和序列密碼或
6、流密碼。1.分組密碼是將明文分成固定長度的組或塊(如64比特為一組),然后用同一密鑰和算法對每一塊進(jìn)行加密,輸出密文的長度也是固定的,如圖2.3所示。教材P192.序列密碼(streamcipher)的主要原理是通過偽隨機序列發(fā)生器產(chǎn)生性能優(yōu)良的隨機序列,使用該序列與明文序列疊加來輸出密文序列。解密時,再用同一個隨機序列與密文序列進(jìn)行疊加來恢復(fù)明文,如圖2.4所示。教材P19102.3.1DES算法DES(數(shù)據(jù)加密標(biāo)準(zhǔn),DataEncryptionAlgorithm)算法:IBM提出,美國標(biāo)準(zhǔn),世界首例標(biāo)準(zhǔn)。DES是分組加密算法,它以64位(二進(jìn)制)為一組,對
7、稱數(shù)據(jù)加密,64位明文輸入,64位密文輸出。密鑰長度為56位,但密鑰通常表示為64位,并分為8組,每組第8位作為奇偶校驗位,以確保密鑰的正確性,這樣對用戶來說每組密鑰仍是56位。利用密鑰,通過傳統(tǒng)的換位、替換和異或等變換,實現(xiàn)二進(jìn)制明文的加密與解密。11DES算法概要:1.對輸入的明文從右向左按順序每64位分為一組(不足64位時,在高位補0),并按組進(jìn)行加密或解密。2.進(jìn)行初始換位。3.將換位后的明文分成左、右兩個部分,每部分為32位長。4.進(jìn)行16輪相同的變換,包括密鑰變換。5.將變換后左右兩部分合并在一起。6.逆初始變換,輸出64位密文。12p=p1p2…
8、p64p’=p58p50…p7c’=c