物聯(lián)網(wǎng)信息安全 課件 第2章 1數(shù)據(jù)加密技術(shù)_第1頁(yè)
物聯(lián)網(wǎng)信息安全 課件 第2章 1數(shù)據(jù)加密技術(shù)_第2頁(yè)
物聯(lián)網(wǎng)信息安全 課件 第2章 1數(shù)據(jù)加密技術(shù)_第3頁(yè)
物聯(lián)網(wǎng)信息安全 課件 第2章 1數(shù)據(jù)加密技術(shù)_第4頁(yè)
物聯(lián)網(wǎng)信息安全 課件 第2章 1數(shù)據(jù)加密技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩163頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

信息安全技術(shù)信息安全技術(shù)信息安全技術(shù)第二章信息保密技術(shù)2024/7/3密碼學(xué)作為信息安全理論與技術(shù)的基石,在信息安全領(lǐng)域發(fā)揮著中流砥柱的作用。密碼學(xué)理論的應(yīng)用,成為現(xiàn)代信息網(wǎng)絡(luò)得以生存和不斷發(fā)展的基本前提。Cryptography=crypto+graphy

密碼

隱藏或秘密寫(xiě)

一般來(lái)講,人們通常認(rèn)為密碼學(xué)是一種將信息表述為不可讀內(nèi)容的方式(加密),并且可以采用一種秘密方法將信息恢復(fù)出來(lái)(解密)。密碼學(xué)的起源和發(fā)展2.1信息安全與密碼技術(shù)2024/7/3自人類(lèi)社會(huì)出現(xiàn)戰(zhàn)爭(zhēng)便產(chǎn)生了密碼JuliusCaesar發(fā)明了凱撒密碼二戰(zhàn)時(shí)德國(guó)使用Enigma機(jī)器加密美國(guó)軍事部門(mén)使用納瓦霍語(yǔ)(Navaho)通信員密碼由軍事走向生活電子郵件自動(dòng)提款機(jī)電話卡密碼學(xué)的起源和發(fā)展2024/7/3Copyright5密碼學(xué)的起源和發(fā)展密碼學(xué)發(fā)展階段1949年之前

密碼學(xué)是一門(mén)藝術(shù)——古典密碼學(xué)1949~1975年

密碼學(xué)成為科學(xué)——現(xiàn)代密碼學(xué)1976年以后密碼學(xué)的新方向——公鑰密碼學(xué)密碼學(xué)起源密碼是通信雙方按約定的法則進(jìn)行信息特殊變換的一種重要保密手段。依照這些法則,變明文為密文,稱(chēng)為加密變換;變密文為明文,稱(chēng)為解密變換。17世紀(jì),英國(guó)著名的哲學(xué)家弗朗西斯·培根在他所著的《學(xué)問(wèn)的發(fā)展》一書(shū)中最早給密碼下了定義,他說(shuō),“所謂密碼應(yīng)具備三個(gè)必要的條件,即易于翻譯、第三者無(wú)法理解、在一定場(chǎng)合下不易引人生疑。”

加密解密明文密文原始明文密碼學(xué)起源謀成于密,敗于泄

——明揭暄《兵經(jīng)百言》古典密碼學(xué)包含兩個(gè)互相對(duì)立的分支,即密碼編碼學(xué)(Cryptography)和密碼分析學(xué)(Cryptanalytics)。前者編制密碼以保護(hù)秘密信息,而后者則研究加密消息的破譯以獲取信息。二者相反相成,共處于密碼學(xué)的統(tǒng)一體中?,F(xiàn)代密碼學(xué)除了包括密碼編碼學(xué)和密碼分析學(xué)外,還包括安全管理、安全協(xié)議設(shè)計(jì)、散列函數(shù)等內(nèi)容。大約在4000年以前,在古埃及的尼羅河畔,一位擅長(zhǎng)書(shū)寫(xiě)者在貴族的基碑上書(shū)寫(xiě)銘文時(shí)有意用加以變形的象形文字而不是普通的象形文字來(lái)寫(xiě)銘文,從而揭開(kāi)了有文字記載的密碼史。這篇頗具神秘感的碑文,已具備了密碼的基本特征:把一種符號(hào)(明文)用另一種符號(hào)(密文)代替。Phaistos圓盤(pán),一種直徑約為160mm的Cretan-Mnoan粘土圓盤(pán),始于公元前17世紀(jì)。表面有明顯字間空格的字母,至今還沒(méi)有破解。密碼學(xué)起源1000BC:姜子牙陰陽(yáng)符500-600BC:天書(shū)100-44BC:Caesarciphertheromansarecomingtoday密碼學(xué)起源公元前5世紀(jì),古斯巴達(dá)人使用了一種叫做“天書(shū)”的器械,這是人類(lèi)歷史上最早使用的密碼器械?!疤鞎?shū)”是一根用草紙條、皮條或羊皮紙條緊緊纏繞的木棍。密信自上而下寫(xiě)在羊皮紙條上。然后把羊皮紙條解開(kāi)送出。把羊皮紙條重新纏在一根直徑和原木棍相同的木棍上,這樣字就一圈圈跳出來(lái)。公元前1世紀(jì)古羅馬凱撒大帝時(shí)代曾使用過(guò)一種“代替式密碼”,在這種密碼中,每個(gè)字母都由其后的第三個(gè)字母(按字母順序)所代替,即凱撒密碼。這種代替式密碼直到第二次大戰(zhàn)時(shí)還被日本海軍使用。公元前4世紀(jì)前后,希臘著名作家艾奈阿斯在其著作《城市防衛(wèi)論》中就曾提到一種被稱(chēng)為“艾奈阿斯繩結(jié)”的密碼。它的作法是從繩子的一端開(kāi)始,每隔一段距離打一個(gè)繩結(jié),而繩結(jié)之間距離不等,不同的距離表達(dá)不同的字母。密碼學(xué)起源在古代還出現(xiàn)過(guò)一種被稱(chēng)為“疊痕法”的密碼,使用時(shí)先把信紙折疊幾下(上下及左右),然后鋪平信紙,將傳遞的信息按順序一個(gè)個(gè)分開(kāi),寫(xiě)在折痕的交叉點(diǎn)上,每一個(gè)交叉點(diǎn)寫(xiě)一個(gè)字。然后再在空白位置上填上公開(kāi)的普通信文,普通信文與秘密信文的文字通順地連貫在一起。為了防止被敵人察覺(jué),使用這種密碼需要在編公開(kāi)信文上下些功夫。如果在秘密信文上再用些暗語(yǔ)式密碼,那么敵人就更難看出破綻了。宋曾公亮、丁度等編撰《武經(jīng)總要》“字驗(yàn)”記載,北宋前期,在作戰(zhàn)中曾用一首五言律詩(shī)的40個(gè)漢字,分別代表40種情況或要求,這種方式已具有了密碼本體制的特點(diǎn)。暗號(hào)。簡(jiǎn)單地說(shuō),暗號(hào)就是通過(guò)用物件的狀態(tài)或人的行為來(lái)傳達(dá)事先約定的信息.如窗臺(tái)上的花瓶、手中拿著的報(bào)紙、口中昨著的曲子,可分別代表“現(xiàn)在安全”、“我是你要找的人”、“我在找自己人”等明確的信息.隱語(yǔ)。暗號(hào)是把信息變換為物件或動(dòng)作,隱語(yǔ)則是把信息變換成與此信息完全無(wú)關(guān)的(但有意義的)語(yǔ)言.據(jù)說(shuō),1941年,日本偷襲珍珠港前兩星期,美國(guó)情報(bào)人員曾截獲一次重要的電話對(duì)話.那是兩名分別在東京和華盛頓的日本高級(jí)官員之間的通話.這段對(duì)話里“小孩出生”的真正意思是“發(fā)動(dòng)戰(zhàn)爭(zhēng)”.在華盛頓的日本人:是不是真的有個(gè)小孩要出生了?在東京的日本人:是的.而且看來(lái)馬上就要出生了.在華盛頓的日本人:這個(gè)小孩真的要生了嗎?是在哪個(gè)方向呢?密碼學(xué)起源隱語(yǔ)。暗號(hào)是把信息變換為物件或動(dòng)作,隱語(yǔ)則是把信息變換成與此信息完全無(wú)關(guān)的(但有意義的)語(yǔ)言.據(jù)說(shuō),1941年,日本偷襲珍珠港前兩星期,美國(guó)情報(bào)人員曾截獲一次重要的電話對(duì)話.那是兩名分別在東京和華盛頓的日本高級(jí)官員之間的通話.這段對(duì)話里“小孩出生”的真正意思是“發(fā)動(dòng)戰(zhàn)爭(zhēng)”.在華盛頓的日本人:是不是真的有個(gè)小孩要出生了?在東京的日本人:是的.而且看來(lái)馬上就要出生了.在華盛頓的日本人:這個(gè)小孩真的要生了嗎?是在哪個(gè)方向呢?【暗語(yǔ)笑話】有個(gè)女的翻看老公手機(jī),發(fā)現(xiàn)有條老公發(fā)給她閨蜜的短信,很平淡也很正常:“近來(lái)股市向好,建議持倉(cāng),002291,

000524

,002467,

002582”。平時(shí)也炒股的老婆,好奇便查了一下股票的名稱(chēng)。居然是:“星期六”,“東方賓館”,“二六三”,“好想你”!尼瑪,這日子沒(méi)法過(guò)了!防火防盜!還得懂股票!密碼學(xué)起源16世紀(jì)意大利數(shù)學(xué)家卡爾達(dá)諾發(fā)明的一種保密通信方法,史稱(chēng)“卡爾達(dá)諾漏格板”.漏格板是一張用硬質(zhì)材料(如硬紙、羊皮、金屬等)做成的板,上面挖了一些長(zhǎng)方形的孔,即漏格.密碼學(xué)起源密碼學(xué)起源傳說(shuō),古時(shí)候有一對(duì)夫妻,男的名叫李石匠,女的叫張小花。李石匠靠手藝賺錢(qián),張小花在家紡紗織布。一年,李石匠參加修建石橋,因工程緊張,十一個(gè)月也沒(méi)回家一次。張小花獨(dú)自在家只有紡車(chē)做伴。一天石匠工地回來(lái)一個(gè)工友路過(guò)她家,她托這個(gè)工友給丈夫帶去一封書(shū)信。第六十回

吳用智賺玉麒麟梁山泊義軍頭領(lǐng)宋江久慕盧俊義的威名,一心想招取盧俊義上山坐第一把交椅,共圖大業(yè),替天行道。智多星吳用扮成一個(gè)算命先生,利用盧俊義正為躲避“血光之災(zāi)”的惶恐心里,口占四句卦歌,并讓他端書(shū)在家宅的墻壁上。這四句詩(shī)寫(xiě)出后,被官府拿到了證據(jù),大興問(wèn)罪之師,到處捉拿盧俊義,終于把他逼上梁山。盧花灘上有扁舟,俊杰黃昏獨(dú)自游。義到盡頭原是命,反躬逃難必?zé)o憂(yōu)。密碼學(xué)起源不識(shí)字老婆給老公寫(xiě)的信,老公竟立馬回家了!你看懂了嗎?你能破解李石匠和張小花的密文嗎?近代密碼時(shí)期

近代密碼時(shí)期是指二十世紀(jì)初到二十世紀(jì)50年代左右。

從1919年以后的幾十年中,密碼研究人員設(shè)計(jì)出了各種各樣采用機(jī)電技術(shù)的轉(zhuǎn)輪密碼機(jī)(簡(jiǎn)稱(chēng)轉(zhuǎn)輪機(jī),Rotor)來(lái)取代手工編碼加密方法,實(shí)現(xiàn)保密通信的自動(dòng)編解碼。隨著轉(zhuǎn)輪機(jī)的出現(xiàn),使得幾千年以來(lái)主要通過(guò)手工作業(yè)實(shí)現(xiàn)加密/解密的密碼技術(shù)有了很大進(jìn)展。圖1.4(a)ENIGMA密碼機(jī)圖1.4(b)TYPEX密碼機(jī)

近代密碼時(shí)期可以看作是科學(xué)密碼學(xué)的前夜,這階段的密碼技術(shù)可以說(shuō)是一種藝術(shù),是一種技巧和經(jīng)驗(yàn)的綜合體,但還不是一種科學(xué),密碼專(zhuān)家常常是憑直覺(jué)和信念來(lái)進(jìn)行密碼設(shè)計(jì)和分析,而不是推理和證明?,F(xiàn)代密碼時(shí)期

1949年香農(nóng)(ClaudeShannon)的奠基性論文“保密系統(tǒng)的通信理論”(CommunicationTheoryofSecrecySystem)在《貝爾系統(tǒng)技術(shù)雜志》上發(fā)表,首次將信息論引入密碼技術(shù)的研究,用統(tǒng)計(jì)的觀點(diǎn)對(duì)信源、密碼源、密文進(jìn)行數(shù)學(xué)描述和定量分析,引入了不確定性、多余度、唯一解距離等安全性測(cè)度概念和計(jì)算方法,為現(xiàn)代密碼學(xué)研究與發(fā)展奠定了堅(jiān)實(shí)的理論基礎(chǔ),把已有數(shù)千年歷史的密碼技術(shù)推向了科學(xué)的軌道,使密碼學(xué)(Cryptology)成為一門(mén)真正的科學(xué)。從1949年到1967年,密碼學(xué)文獻(xiàn)近乎空白。1967年,戴維·卡恩(DavidKahn)出版了一本專(zhuān)著《破譯者》(TheCodeBreaker)1977年,美國(guó)國(guó)家標(biāo)準(zhǔn)局NBS(現(xiàn)NIST)正式公布實(shí)施美國(guó)的數(shù)據(jù)加密標(biāo)準(zhǔn)DES1976年11月,美國(guó)斯坦福大學(xué)的著名密碼學(xué)家迪菲(W.Diffie)和赫爾曼(M.Hellman)發(fā)表了“密碼學(xué)新方向”(NewDirectioninCryptography)一文,首次提出了公鑰密碼體制的概念和設(shè)計(jì)思想,開(kāi)辟了公開(kāi)密鑰密碼學(xué)的新領(lǐng)域,掀起了公鑰密碼研究的序幕。現(xiàn)代密碼時(shí)期(續(xù))1997年4月美國(guó)國(guó)家標(biāo)準(zhǔn)和技術(shù)研究所(NIST)發(fā)起征集高級(jí)數(shù)據(jù)加密標(biāo)準(zhǔn)(AES,AdvancedEncryptionStandard)算法的活動(dòng)。2000年10月,比利時(shí)密碼學(xué)家JoanDaemen和VincentRijmen提出的“Rijndael數(shù)據(jù)加密算法”被確定為AES算法,作為新一代數(shù)據(jù)加密標(biāo)準(zhǔn)。二十世紀(jì)末的AES算法征集活動(dòng)使密碼學(xué)界又掀起了一次分組密碼研究的高潮。同時(shí),在公鑰密碼領(lǐng)域,橢圓曲線密碼體制由于其安全性高、計(jì)算速度快等優(yōu)點(diǎn)引起了人們的普遍關(guān)注和研究,并在公鑰密碼技術(shù)中取得重大進(jìn)展。在密碼應(yīng)用方面,各種有實(shí)用價(jià)值的密碼體制的快速實(shí)現(xiàn)受到高度重視,許多密碼標(biāo)準(zhǔn)、應(yīng)用軟件和產(chǎn)品被開(kāi)發(fā)和應(yīng)用,美國(guó)、德國(guó)、日本和我國(guó)等許多國(guó)家已經(jīng)頒布了數(shù)字簽名法,使數(shù)字簽名在電子商務(wù)和電子政務(wù)等領(lǐng)域得到了法律的認(rèn)可,推動(dòng)了密碼學(xué)研究和應(yīng)用的發(fā)展。

新的密碼技術(shù)不斷涌現(xiàn)。例如,混沌密碼、量子密碼、DNA密碼等等。這些新的密碼技術(shù)正在逐步地走向?qū)嵱没?/p>

人們甚至預(yù)測(cè),當(dāng)量子計(jì)算機(jī)成為現(xiàn)實(shí)時(shí),經(jīng)典密碼體制將無(wú)安全可言,而量子密碼可能是未來(lái)光通信時(shí)代保障網(wǎng)絡(luò)通信安全的可靠技術(shù)。

密碼學(xué)的發(fā)展第一個(gè)階段:1949年以前古典加密計(jì)算機(jī)技術(shù)出現(xiàn)以前密碼學(xué)作為一種技藝,而不是一門(mén)科學(xué)第二個(gè)階段:1949年到1976年標(biāo)志:Shannon發(fā)表”CommunicationTheoryofSecrecySystem”密碼學(xué)進(jìn)入了科學(xué)的軌道主要技術(shù):單密鑰的對(duì)稱(chēng)密鑰加密算法第三個(gè)階段:1976年以后標(biāo)志:Diffie,Hellman發(fā)表”NewDircetionsinCryptography”一種新的密碼體制:公開(kāi)密鑰體制2024/7/3Copyright20

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

計(jì)算機(jī)使得基于復(fù)雜計(jì)算的密碼成為可能,技術(shù)發(fā)展:

1949年Shannon的“TheCommunicationTheoryofSecretSystems”

1967年DavidKahn的《TheCodebreakers》1971-1973年IBMWatson實(shí)驗(yàn)室的HorstFeistel等

幾篇技術(shù)報(bào)告

主要特點(diǎn):數(shù)據(jù)的安全基于密鑰而不是算法的保密。加密運(yùn)算是基于二進(jìn)制bit的計(jì)算機(jī)運(yùn)算。

數(shù)據(jù)加密算法:DES,AES

,IDEA,RC5等1976年:Diffie&Hellman的

“NewDirections

inCryptography”

提出了不對(duì)稱(chēng)密鑰;1977年Rivest,Shamir&Adleman提出了RSA公鑰算法90年代逐步出現(xiàn)橢圓曲線等其他公鑰算法主要特點(diǎn):公鑰密碼使得發(fā)送端和接收端無(wú)密鑰傳輸?shù)谋C芡ㄐ懦蔀榭赡苊艽a學(xué)基礎(chǔ)security密碼學(xué)是一門(mén)與數(shù)學(xué)密切相關(guān)的科學(xué)(統(tǒng)計(jì)學(xué)、數(shù)論、概率論和代數(shù))密碼技術(shù)涉及密碼設(shè)計(jì)、密碼分析等內(nèi)容。密碼設(shè)計(jì)的目的是保證信息的機(jī)密性,基本手段是將信息加以偽裝,使其在存儲(chǔ)和傳輸過(guò)程中不會(huì)泄密。加密技術(shù)分為常規(guī)加密技術(shù)和公鑰加密技術(shù)。本章在給出常規(guī)加密模型的基礎(chǔ)上,對(duì)常規(guī)加密的經(jīng)典技術(shù)和現(xiàn)代技術(shù)進(jìn)行討論。密碼系統(tǒng)的概念密碼系統(tǒng)經(jīng)歷了手工階段、機(jī)械階段、電子階段并進(jìn)入了計(jì)算機(jī)階段。密碼學(xué)是研究如何通過(guò)編碼來(lái)保證信息的機(jī)密性和如何對(duì)密碼進(jìn)行破譯的科學(xué)。密碼學(xué)由密碼編碼學(xué)和密碼分析學(xué)兩部分所構(gòu)成。一個(gè)密碼系統(tǒng)通??梢酝瓿尚畔⒌募用茏儞Q和解密變換。加密變換是采用一種算法將原信息變?yōu)橐环N不可理解的形式,從而起到保密的作用。解密變換是加密變換相反的過(guò)程,利用與加密變換算法相關(guān)的算法將不可理解的信息還原為原信息。明文(plaintext);密文(ciphertext);加密算法;解密算法。加密算法和解密算法是相關(guān)的,而且解密算法是加密算法的逆過(guò)程。加密解密算法:特點(diǎn)是相對(duì)穩(wěn)定,公開(kāi)。密鑰(key):必須在加密和解密時(shí)引入兩個(gè)相同或兩個(gè)不同但相關(guān)的參數(shù)。該參數(shù)被稱(chēng)為密鑰(加密時(shí)使用的密鑰為加密密鑰;解密時(shí)使用的密鑰為解密密鑰)。密鑰經(jīng)常改變。密鑰直接關(guān)系到被加密信息的安全性。明文、密文、加密算法、解密算法、加密密鑰和解密密鑰構(gòu)成了一個(gè)密碼系統(tǒng)的基本元素。因此,一個(gè)密碼系統(tǒng)CS可以用一個(gè)六元組來(lái)描述:CS=(P,C,E,D,Ke,Kd)對(duì)于一個(gè)給定的明文p和密鑰ke,若有c=E(p,ke),則p=D(c,kd)。若用E-1表示E的逆函數(shù),用D-1表示D的逆函數(shù),則有D=E-1且E=D-1威脅密碼系統(tǒng)安全的是攻擊者。攻擊者首先通過(guò)監(jiān)聽(tīng)等手段截獲密文。然后試圖通過(guò)對(duì)密文的分析來(lái)得到明文。由于通常加密解密算法是對(duì)外公開(kāi)的,攻擊者往往對(duì)密鑰更感興趣。一旦攻擊者獲得密鑰,他就可以在系統(tǒng)更新密鑰之前,利用該密鑰解密一系列的密文。Return密碼體制密碼體制通常指加密/解密過(guò)程中采用的方法的種類(lèi)。1.按照加密解密過(guò)程中使用的加密密鑰和解密密鑰是否相同將密碼體制分為對(duì)稱(chēng)密碼體制和非對(duì)稱(chēng)密碼體制。對(duì)稱(chēng)密碼體制又稱(chēng)為常規(guī)密鑰密碼體制、單密鑰密碼體制、秘密密鑰密碼體制。對(duì)稱(chēng)密碼體制的加密算法和解密算法使用相同的密鑰,該密鑰必須對(duì)外保密。

特點(diǎn):加密效率較高,但密鑰的分配難以滿(mǎn)足開(kāi)放式系統(tǒng)的需求。非對(duì)稱(chēng)密碼體制又稱(chēng)為公開(kāi)密鑰密碼體制、雙密鑰密碼體制。非對(duì)稱(chēng)密碼體制的加密算法和解密算法使用不同但相關(guān)的一對(duì)密鑰,加密密鑰對(duì)外公開(kāi),解密密鑰對(duì)外保密,而且由加密密鑰推導(dǎo)出解密密鑰在計(jì)算上是不可行的。

特點(diǎn):密鑰分配較方便,能夠用于鑒別和數(shù)字簽名,能較好地滿(mǎn)足開(kāi)放式系統(tǒng)的需求,但由于非對(duì)稱(chēng)密碼體制一般采用較復(fù)雜的數(shù)學(xué)方法進(jìn)行加密解密,因此,算法的開(kāi)銷(xiāo)比較大,不適合進(jìn)行大量數(shù)據(jù)的加密處理。2.根據(jù)密文數(shù)據(jù)段是否與明文數(shù)據(jù)段在整個(gè)明文中的位置有關(guān),可以將密碼體制分為分組密碼體制和序列密碼體制。分組密碼體制的密文僅與加密算法和密鑰有關(guān),而與被加密的明文分組在整個(gè)明文中的位置無(wú)關(guān)。分組密碼將固定長(zhǎng)度的明文分組加密為相同長(zhǎng)度的密文分組。分組密碼的分組大小一般為64比特,但有增加到128比特的趨勢(shì)。相同的明文分組在相同的密鑰作用下將產(chǎn)生相同的密文分組。序列密碼體制的密文不僅與給定的加密算法和密鑰有關(guān),而且與當(dāng)前正被加密的明文部分在整個(gè)明文中的位置有關(guān)。序列密碼體制每次對(duì)較小的明文單位進(jìn)行處理,通常以比特(或字節(jié))為加密單位。加密時(shí)以流的形式進(jìn)行處理,將明文流與密鑰流結(jié)合,形成密文流。密鑰流是與明文流等長(zhǎng)的偽隨機(jī)序列,加密后的密文流也是偽隨機(jī)序列。序列密碼最吸引人的地方是它的一次一密特性。分組密碼的某些操作模式可以被轉(zhuǎn)換為密鑰流產(chǎn)生器,從而將分組密碼用于序列密碼。序列密碼3.根據(jù)加密變換是否可逆,可以將密碼體制分為單向函數(shù)密碼體制和雙向變換密碼體制。單向函數(shù)可以將明文加密成密文,但卻不能將密文轉(zhuǎn)換為明文(或在計(jì)算上不可行)。單向函數(shù)用于不需要解密的場(chǎng)合。單向函數(shù)的目的不在于加密,單向函數(shù)主要用于密鑰管理和鑒別。通常的加密解密都屬于雙向變換密碼體制。4.根據(jù)在加密過(guò)程中是否引入客觀隨機(jī)因素,可以將加密體制分為確定型密碼體制和概率密碼體制。確定型密碼體制是指:一旦明文和密鑰確定后,也就確定了惟一的密文。若對(duì)于給定的明文和密鑰,總存在著一個(gè)較大的密文集合與之對(duì)應(yīng),最終的密文根據(jù)客觀隨機(jī)因素在密文集中隨機(jī)選取,則稱(chēng)這種密碼體制為概率密碼體制。Return常規(guī)加密模型

常規(guī)加密是出現(xiàn)最早而且當(dāng)前仍在廣泛使用的加密體制。在使用常規(guī)加密的通信系統(tǒng)中,安全通信的雙方共享同一個(gè)密鑰K。加密和解密算法公開(kāi),密鑰保密。常規(guī)加密的密鑰通常稱(chēng)為秘密密鑰(secretkey)。由于加密密鑰和解密密鑰相同,此時(shí)的密碼系統(tǒng)CS可以表示為:CS=(P,C,E,D,K)

對(duì)于一個(gè)給定的明文p和密鑰k,若有c=E(p,k),則p=D(c,k),可簡(jiǎn)記為c=Ek(p)和p=Dk(c)。常規(guī)加密模型常規(guī)加密模型1、密碼編碼系統(tǒng)常規(guī)密碼體制的安全性取決于加密算法和密鑰。算法的強(qiáng)度必須足夠高密鑰的長(zhǎng)度必須足夠長(zhǎng);密鑰更新的頻度必須足夠高算法的強(qiáng)度通常采用兩種方法保證:擴(kuò)散(diffusion)和擾亂(confusion)。ClaudeShannon早在1949年發(fā)表的“秘密系統(tǒng)的通信理論”一文中就提出了擴(kuò)散和擾亂的概念。后來(lái)擴(kuò)散和擾亂被用來(lái)作為常規(guī)密碼系統(tǒng)的兩個(gè)基本組成模塊。擴(kuò)散和擾亂已成為現(xiàn)代分組密碼設(shè)計(jì)的基礎(chǔ)。擴(kuò)散和擾亂主要用于對(duì)付基于統(tǒng)計(jì)分析的密碼破譯。擴(kuò)散的基本方法是讓明文和密鑰的每個(gè)字母影響盡可能多的密文字母的取值(等價(jià)于每個(gè)密文字母被盡可能多的明文和密鑰字母影響),從而使得明文和密鑰的統(tǒng)計(jì)特征被擴(kuò)散,明文和密鑰中原有的統(tǒng)計(jì)特征不再反映在密文中。擾亂機(jī)制是使密文的統(tǒng)計(jì)特征與明文和加密密鑰的關(guān)系盡可能復(fù)雜化,使得攻擊者即使掌握了密文的某些統(tǒng)計(jì)特征,也很難從中推測(cè)出密鑰和明文。擴(kuò)散是使每個(gè)密文字母與盡可能多的明文和密鑰字母相關(guān),擾亂是使這種相關(guān)的等價(jià)數(shù)學(xué)函數(shù)足夠復(fù)雜。

2、密碼分析密碼分析:試圖由密文獲得明文、密鑰或這兩者的過(guò)程。常見(jiàn)的密碼分析方法:強(qiáng)行攻擊、基于統(tǒng)計(jì)的分析、差分密碼分析。強(qiáng)行攻擊是利用每個(gè)可能的密鑰進(jìn)行測(cè)試,直到找到可以解密的密鑰。強(qiáng)行攻擊只適合于密鑰空間不太大的場(chǎng)合?;诮y(tǒng)計(jì)的分析是利用明文、密鑰和密文的統(tǒng)計(jì)特征破譯出明文或密鑰。差分密碼分析使用循環(huán)過(guò)程來(lái)分析密碼。從具有給定差異的兩個(gè)報(bào)文開(kāi)始,跟蹤每次循環(huán)后的差值模式,以便產(chǎn)生可能的密文差值模式。通常密碼攻擊者可能獲得的信息有:

加密/解密算法(A)

待破譯的密文(B)

由密鑰形成的一個(gè)或多個(gè)明文-密文對(duì)(C)

由密碼破譯者選擇的明文消息,連同它對(duì)應(yīng)的由其密鑰生成的密文(D)

由密碼破譯者選擇的猜測(cè)性的密文,連同它對(duì)應(yīng)的由密鑰生成的已破譯的明文(E)根據(jù)攻擊者所獲得的信息量,密碼分析攻擊的類(lèi)型如下:密碼攻擊類(lèi)型密碼攻擊者所知道的信息僅有密文攻擊A+B已知明文攻擊A+B+C選擇明文攻擊A+B+D選擇密文攻擊A+B+E選擇文本攻擊A+B+D+E▲算法安全性問(wèn)題:如果一個(gè)算法無(wú)法抵御僅有密文攻擊,則該算法就不是一個(gè)好的算法。加密算法應(yīng)能夠抵御已知明文的攻擊。如果攻擊者無(wú)論擁有多少由某一算法所產(chǎn)生的密文,都無(wú)法由這些密文中所包含的信息惟一地決定對(duì)應(yīng)的明文,則稱(chēng)此算法是無(wú)條件安全的。無(wú)條件安全的加密算法通常是不存在的。人們要求算法應(yīng)保證在計(jì)算上是安全的。如果一個(gè)加密算法能夠滿(mǎn)足下列條件中的一個(gè)或兩個(gè),則稱(chēng)此算法在計(jì)算上是安全的:

1)破譯該密碼的成本超過(guò)被加密信息的價(jià)值。

2)破譯該密碼的所需的時(shí)間超過(guò)該信息的有效生命周期。

Return經(jīng)典加密技術(shù)本章提示2.1古典密碼2.2分組加密技術(shù)2.3公鑰加密技術(shù)2.4流密碼技術(shù)2.5信息隱藏技術(shù)2.1古典密碼代換密碼單表代換密碼移位密碼替換密碼仿射密碼多表代換密碼Vigenère(維吉尼亞)密碼置換密碼代換密碼令Θ表示明文字母表,內(nèi)有q個(gè)“字母”或“字符”,可以將Θ抽象地表示為一個(gè)整數(shù)集在加密時(shí)通常將明文消息劃分成長(zhǎng)為L(zhǎng)的消息單元,稱(chēng)為明文組,以m表示,如m也稱(chēng)作L-報(bào)文,它可以看作是定義在上的隨機(jī)變量L=1為單字母報(bào)(1-gram),L=2為雙字母報(bào)(digrams),L=3為三字母報(bào)(trigrams)。這時(shí)明文空間為。代換密碼(續(xù))令ξ表示q個(gè)“字母”或“字符”的密文字母表,抽象地可用整數(shù)集表示密文單元或組為c是定義在上的隨機(jī)變量。密文空間一般地,明文和密文由同一字母表構(gòu)成,即Θ=ξ單表代換密碼單表代換密碼是對(duì)明文的所有字母都用一個(gè)固定的明文字母表到密文字母表的映射,即。令明文,則相應(yīng)地密文為幾類(lèi)常見(jiàn)的單表代換密碼移位密碼替換密碼仿射密碼單表代換密碼不能非常有效地抵抗密碼攻擊,因?yàn)檎Z(yǔ)言的特征仍能從密文中提取出來(lái)移位密碼由于英文字符有26個(gè)字母,可以建立英文字母和模26的剩余之間的對(duì)應(yīng)關(guān)系:ABCDEFGHIJKLMN012345678910111213OPQRSTUVWXYZ141516171819202122232425移位密碼(續(xù))對(duì)于英文文本,則明文、密文空間都可定義為(很容易推廣到n個(gè)字母的情況)。容易看出移位滿(mǎn)足我們密碼系統(tǒng)的定義,即。設(shè)定義

,且。

凱撒密碼歷史上最著名的移位密碼就是凱撒密碼。凱撒密碼(Caesarcipher)(1)原理(明密對(duì)照表)

明文:abcdefghIjklmnopqrstuvwxyz

密文:DEFGHIJKLMNOPQRSTUVWXYZABC(2)算法描述(數(shù)學(xué)描述)

假設(shè)明文字母用P表示,密文字母用C表示,密鑰用K表示,加密變換用E表示,解密變換用D表示,并設(shè)a=0,b=1,c=2,d=3,…x=23,y=24,z=25,則有:

C=Ek(p)=(p+3)mod(26) p=Dk(C)=(C-3)mod(26)----C不夠減時(shí)可向前借位

凱撒密碼是最早使用的替代密碼。凱撒密碼將字母表視為一個(gè)循環(huán)的表,把明文中的字母用表中該字母后面第3個(gè)字母進(jìn)行替代。凱撒密碼的明文字母和密文字母的對(duì)應(yīng)關(guān)系如下:

明文:MEETMEAFTERTHETOGAPARTY

密文:PHHWPHDIWHUWKHWRJDSDUWB

若讓每個(gè)字母對(duì)應(yīng)一個(gè)數(shù)值(a=0,b=1,…,z=25),則該算法表示的明文字母p和密文字母c可以表示為:c=E(p)=(p+3)mod(26)將上述算法一般化,密文字母與明文字母的偏移可以是任意值k,則算法可以表示為:c=E(p)=(p+k)mod(26)

k就是加密算法的密鑰,可以在1到25之間取值。解密算法可以表示為:p=D(c)=(c-k)mod(26)由于k的取值范圍的限制,凱撒密碼的密鑰空間很小,難以抵御強(qiáng)行攻擊密碼分析。攻擊者最多嘗試25次,就一定能夠破譯密碼。

網(wǎng)絡(luò)安全51移位密碼破解

【例1】移位密碼加密的密文C=ytgjtwstyytgj,ymfynxymjvzjxynts,求明文P。鑰未知,k=?解:∵密鑰未知?!嗍褂帽┝ζ平夥椒ǎǜF舉法)破解密文。依次查找

k=1、2、……、25、26時(shí)對(duì)應(yīng)字符替代表得出對(duì)應(yīng)明文。

key=1,

p=xsfisvrsxxsfi,xlexmwxliuyiwxmsr;

key=2,

p=wrehruqrwwreh,wkdwlvwkhtxhvwlrq;key=3,

p=vqdgqtpqvvqdg,vjcvkpubvjgswguvkqp;

key=4,

p=upcfpsopuupcf,uibujtuifrvftujpor;

key=5,

p=tobeornottobe,thatisthequestion;

key=6,

p=snadnqmnssnad,sgzshrsgdptdrshnm;key=7,

p=rmzcmplmrrmzc,rfyrgqrfcoscqrgml;

key=8,

p=qlybloklqqlyb,qexqfpqebnrbpqflk;

key=9,

p=pkxaknjkppkxa,pdwpeopdamqaopekj;

key=10,

p=ojwzjmijoojwz,ocvodnoczlpznodji;

key=11,

p=nivyilhinnivy,nbuncmnbykoymncih;

key=12,

p=mhuxhkghmmhux,matm

blmax

jnxlmbhg;

key=13,

p=lgtwgjfgllgtw,lzslaklzwimwklagf;

key=14,

p=kfsvfiefkkfsv,kyrkzjkyvhlvjkzfe;

key=15,

p=jeruehdejjeru,jxqjyijxugkuijyed;

key=16,

p=idqtdgcdiidqt,iwpixhiwtfjthixdc;

key=17,

p=hcpscfbchhcps,hvohwghvseisghwcb;

key=18,

p=gborbeabggbor,gungvfgurdhrfgvba;移位密碼破解

key=19,p3=fanqadzaffanq,ftmfueftqcgqefuaz;key=20,p3=ezmpzcyzeezmp,esletdespbfpdetzy;

key=21,p3=dyloybxyddylo,drkdscdroaeocdsyx;key=22,p3=cxknxawxccxkn,cqjcrbcqnzdnbcrxw;key=23,p3=bwjmwzvwbbwjm,bpibqabpmycmabqwv;

key=24,p3=avilvyuvaavil,aohapzaolxblzapvu;

key=25,p3=zuhkuxtuzzuhk,zngzoyznkwakyzout;

key=26,p3=ytgjtwstyytgj,ymfynxymjvzjxynts;移位密碼破解網(wǎng)絡(luò)安全54

比較以上答案發(fā)現(xiàn):(1)Q:如何確定正確答案?A:key=5時(shí),p=tobeornottobe,thatisthequestion,每個(gè)字符串都有確切含義(都是單詞),p具有確定的含義,所以為正確答案。(2)Q:如何結(jié)束循環(huán)?A:key=25時(shí),p=c,完成了一輪循環(huán),結(jié)果開(kāi)始重復(fù),暴力破解結(jié)束。(3)Q:最壞情況下,循環(huán)需要進(jìn)行多少次?A:26種p中任一位置的字符(如第一個(gè)字符)會(huì)規(guī)律性遍歷26個(gè)字母。25次。移位密碼破解2)單字母替代密碼

為了加大凱撒密碼的密鑰空間,可以采用單字母替代密碼。單字母替代密碼是將密文字母的順序打亂后與明文字母對(duì)應(yīng)。

此時(shí)的密鑰空間大小為26!,約為4×1026。即使每微秒試一個(gè)密鑰,也需要花費(fèi)約1013年才能窮舉所有的密鑰。因此,強(qiáng)行攻擊法不太適合。這時(shí)可以利用自然語(yǔ)言的統(tǒng)計(jì)特性進(jìn)行攻擊。英語(yǔ)中e是使用頻率最高的字母,接下去是t,r,n,i,…。只要密文足夠長(zhǎng),這種統(tǒng)計(jì)規(guī)律就會(huì)反映出來(lái)。另外,還可以利用雙字母的頻率(th,in,er,re,…)和三字母的頻率(the,and,ion,…)。猜測(cè)可能的單詞或短語(yǔ)也有助于破譯的進(jìn)行。

在計(jì)算機(jī)中,a=97,b=98,c=99,d=100,…x=120,y=121,z=122,則:

明密對(duì)照表如下:

明文:97,98,99,100,…,120,121,122

密文:100,101,102,103,…,97,98,99

加/解密算法描述如下:

C=Ek(p)=[(p-97)+3]mod(26)+97

p=Dk(C)=[(C-97)-3]mod(26)+97----若[(C-97-3)]<0時(shí),C可借位(1)求明文字母a的密文字母的過(guò)程如下:

C=[(a-97)+3]mod(26)+97=3+97=100(d)

(2)求明文字母z的密文字母的過(guò)程如下:

C=[(z-97)+3]mod(26)+97=28mod(26)+97=2+97=99(c)

(3)求密文字母C的明文字母的過(guò)程如下:

p=[(99-97)-3]mod(26)+97=[(2-3)+26]mod(26)+97=25+97=122(z)

(4)求密文字母A的明文字母的過(guò)程如下:

p=[(97-97)-3]mod(26)+97=[(0-3)+26]mod(26)+97=23+97=120(x)替換密碼定義設(shè),密鑰空間K由所有可能的26個(gè)符號(hào)0,1,…….,25的置換組成。對(duì)每一個(gè)置換,定義

則,其中的逆置換。置換的表示為:替換密碼的密鑰是由26個(gè)字母的置換組成。這些置換的數(shù)目是26!,超過(guò),是一個(gè)非常大的數(shù)。這樣即使對(duì)現(xiàn)代計(jì)算機(jī)來(lái)說(shuō),窮舉密鑰搜索也是不可行的。顯然,替換密碼的密鑰(26個(gè)元素的隨機(jī)置換)太復(fù)雜而不容易記憶,因此實(shí)際中密鑰句子常被使用。密鑰句子中的字母被依次填入密文字母表(重復(fù)的字母只用一次),未用的字母按自然順序排列。仿射密碼加密函數(shù)為:當(dāng)a=1時(shí),為移位密碼仿射函數(shù)是雙射當(dāng)且僅當(dāng)gcd(a,26)=1時(shí)同余方程對(duì)每個(gè)y有唯一的解仿射密碼系統(tǒng)

設(shè),且對(duì)定義且因?yàn)闈M(mǎn)足,gcd(a,26)=1的只有12種候選,對(duì)參數(shù)沒(méi)有要求。所以仿射密碼有種可能的密鑰。多表代換密碼以一系列(兩個(gè)以上)代換表依次對(duì)明文消息的字母進(jìn)行代換的加密方法。令明文字母表為,為代換序列,明文字母序列,則相應(yīng)的密文字母序列為。若f是非周期的無(wú)限序列,則相應(yīng)的密碼稱(chēng)為非周期多表代換密碼。這類(lèi)密碼,對(duì)每個(gè)明文字母都采用不同的代換表(或密鑰)進(jìn)行加密,稱(chēng)作一次一密密碼(One-timepadcipher),這是一種理論上唯一不可破的密碼。多表代換密碼(續(xù))實(shí)際應(yīng)用中都采用周期多表代換密碼。經(jīng)典的多表代換密碼有VigenèreBeaufortRunning-KeyVernam輪轉(zhuǎn)機(jī)(Rotormachine)等Vigenère密碼Vigenère密碼是由法國(guó)密碼學(xué)家BlaisedeVigenère于1858年提出的,它是一種以移位代換(當(dāng)然也可以用一般的字母代換表)為基礎(chǔ)的周期代換密碼。設(shè)m是某固定的正整數(shù),定義,對(duì)一個(gè)密鑰,定義:且所有的運(yùn)算都在中。3)Vigenere密碼Vigenere密碼利用一個(gè)愷撒方陣來(lái)修勻密文中字母的頻率。在明文中不同地方出現(xiàn)的同一字母在密文中一般用不同的字母替代。愷撒方陣的形式為:ABCDEFG……YZBCDEFGH……ZACDEFGHI……ABDEFGHIJ……BC……ZABCDEF……XY

加密時(shí),使用一個(gè)通信雙方所共享的密鑰字母串(如:HAPPYTIME),將密鑰字母串重復(fù)書(shū)寫(xiě)在明文字母的上方。對(duì)要加密的明文字母找到上方的密鑰字母,然后由該字母確定愷撒方陣的某一行(以該密鑰字母開(kāi)頭的行)。最后利用該行的字母表,使用愷撒密碼的加密方法進(jìn)行替代。例如:密鑰:HAPPYTIMEHAPPYTIM明文:pleasesendthedata

明文中的第一個(gè)e用愷撒方陣中的P行(PQRSTU…O)進(jìn)行加密,因此被T替代;第二個(gè)e用愷撒方陣中的T行(TUVWX…S)進(jìn)行加密,因此被X替代。

攻擊者在破解這種密碼時(shí)可以猜測(cè)密鑰的長(zhǎng)度l

,然后按每行l(wèi)個(gè)字母排列密文。如果猜測(cè)的長(zhǎng)度正確,則排列后每列的所有密文字母都是用愷撒方陣中同一行進(jìn)行愷撒加密的結(jié)果。密鑰:HAPPYTIME

明文:pleasesendthedata

……ReturnVigenere密碼實(shí)例[例]利用Vigenère密碼,使用密鑰word加密信息computer。 明文:computer

密鑰:wordword

密文:ycdsqhvu{計(jì)算過(guò)程:y=c+w,c=o+o(a,b,c,d,…,x,y,z)

(0,1,2,3,…,23,24,25)

即:24=2+22,2=(14+14)mod26}多字母代換密碼——Hill密碼特點(diǎn)每次對(duì)個(gè)字母進(jìn)行代換,這樣做的優(yōu)點(diǎn)是容易將字母的自然頻度隱蔽或均勻化而有利于抗統(tǒng)計(jì)分析。算法

設(shè)m是某個(gè)固定的正整數(shù),,又設(shè)

;對(duì)任意,定義,則其中,所有的運(yùn)算都是在中進(jìn)行。注1:m=1時(shí),系統(tǒng)退化為單字母仿射代換密碼,可見(jiàn)Hill密碼是仿射密碼體制的推廣。注2:如果m=2,可以將明文寫(xiě)為密文寫(xiě)為.是的線性組合.若取簡(jiǎn)記為其中為密鑰.置換密碼置換密碼的想法是保持明文字符未改變,但通過(guò)重排而更改他們位置,所以有時(shí)也稱(chēng)為換位密碼(TranspositionCipher)。算法設(shè)m是某個(gè)固定的正整數(shù),定義,且K由所有的置換組成.對(duì)一個(gè)密鑰(即一個(gè)置換),定義其中,.置換密碼舉例[例一]柵欄式密碼 美國(guó)南北戰(zhàn)爭(zhēng)時(shí)期(1861-1865年),軍隊(duì)中曾經(jīng)使用過(guò)的“柵欄”式密碼(railfencecipher)。(1)原理 明文:sendhelp

加密過(guò)程:snhl;間隔一個(gè)字符(柵欄)

edep

密文:snhledep(2)算法描述

將明文寫(xiě)成雙軌的形式,然后按行的順序書(shū)寫(xiě)得到密文。置換密碼舉例[例二]置換密碼

置換密碼舉例[例三]置換密碼

用置換矩陣

對(duì)明文“我是計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)學(xué)生”加密,若明文分組長(zhǎng)度不足置換長(zhǎng)度時(shí)加X(jué)補(bǔ)足,試寫(xiě)出加密的密文。解:根據(jù)置換矩陣

,明文長(zhǎng)度L=5,最后一段不足5則加字母X,按照下列置換,得到密文為012340123401234明文:我是計(jì)算機(jī)

科學(xué)與技術(shù)

專(zhuān)業(yè)學(xué)生X143021430214302密文:是機(jī)算我計(jì)

學(xué)術(shù)技科與

業(yè)X生專(zhuān)學(xué)

置換密碼舉例[例二]矩陣置換以矩陣形式排列明文將明文逐行寫(xiě)入矩陣,然后逐列讀出密鑰指出各列讀出的順序如:明文abcdefghijklmnopqrstuvwxyzab密鑰為:4312567密文:dkrycjqxahovbipwelszfmtagnubabcdefghijklmnopqrstuvwxyzab置換密碼舉例[例二]矩陣置換以矩陣形式排列明文將明文逐行寫(xiě)入矩陣,然后逐列讀出密鑰指出各列讀出的順序如:明文abcdefghijklmnopqrstuvwxyzab方法二:秘鑰寫(xiě)上面,讀出按照1234567順序讀密鑰為:4312567密文:cjqxdkrybipwahovelszfmtagnubabcdefghijklmnopqrstuvwxyzab置換密碼舉例

置換是在不丟失信息的前提下對(duì)明文中的元素進(jìn)行重新排列。矩形轉(zhuǎn)置密碼將明文寫(xiě)成矩形結(jié)構(gòu),然后通過(guò)控制其輸出方向和輸出順序來(lái)獲得密文。例如:明文pleasesendthedada在不同輸出順序下的密文如圖所示。[例三]

圖形轉(zhuǎn)置密碼圖形轉(zhuǎn)置密碼是矩形轉(zhuǎn)置密碼的一般形式。預(yù)先選定一種圖形,將明文按一定方向輸入到該圖形中,然后再按另一種方向輸出字母便得到了密文。一個(gè)三角形轉(zhuǎn)置密碼的例子如圖所示。

明文:howmanybooksdoesharryhave

密文:OSYVEBERAYORHNDAASHMKWOOH

ehavharryoksdoeshowmanybo輸入方向

輸出方向

Return解密與密碼分析Kerckhoff假設(shè):攻擊者已知加密算法解密是加密的逆過(guò)程,是指掌握密鑰和密碼算法的合法人員從密文恢復(fù)出明文的過(guò)程。密碼分析則是指非法人員對(duì)密碼的破譯,而且破譯以后不會(huì)告訴對(duì)方。共同點(diǎn):“解密(脫密)”和“密碼分析(密碼破譯)”都是設(shè)法將密文還原成明文。不同點(diǎn):二者的前提是不同的,“解密(脫密)”掌握了密鑰和密碼體制,而密碼分析(破譯)則沒(méi)有掌握密鑰和密碼體制。密碼分析2.2分組加密技術(shù)本節(jié)友情提示2.2.1基本概念2.2.2標(biāo)準(zhǔn)算法的介紹DES算法國(guó)際數(shù)據(jù)加密算法(IDEA)AES算法2.2.3分組密碼的分析方法2.2.4分組密碼的工作模式2.2.1基本概念密碼學(xué)中常見(jiàn)的有兩種體制:對(duì)稱(chēng)密碼體制(單鑰密碼體制)

如果一個(gè)加密系統(tǒng)的加密密鑰和解密密鑰相同,或者雖然不相同,但是由其中的任意一個(gè)可以很容易地推導(dǎo)出另一個(gè),即密鑰是雙方共享的,則該系統(tǒng)所采用的就是對(duì)稱(chēng)密碼體制。非對(duì)稱(chēng)密碼體制(公鑰密碼體制)分組密碼是指將處理的明文按照固定長(zhǎng)度進(jìn)行分組,加解密的處理在固定長(zhǎng)度密鑰的控制下,以一個(gè)分組為單位獨(dú)立進(jìn)行,得出一個(gè)固定長(zhǎng)度的對(duì)應(yīng)于明文分組的結(jié)果。屬于對(duì)稱(chēng)密碼體制的范疇?;靖拍睿ɡm(xù))在分組密碼的設(shè)計(jì)中用代替、置換手段實(shí)現(xiàn)擴(kuò)散和混淆功能?;煜讣用芩惴ǖ拿芪呐c明文及密鑰關(guān)系十分復(fù)雜,無(wú)法從數(shù)學(xué)上描述,或從統(tǒng)計(jì)上去分析。擴(kuò)散指明文中的任一位以及密鑰中的任一位,對(duì)全體密文位有影響。經(jīng)由此種擴(kuò)散作用,可以隱藏許多明文在統(tǒng)計(jì)上的特性,增加密碼的安全現(xiàn)代常規(guī)加密技術(shù)現(xiàn)代對(duì)稱(chēng)加密技術(shù)和經(jīng)典加密技術(shù)的比較:相同點(diǎn):以替代和置換模塊作為其基本構(gòu)件。不同點(diǎn):現(xiàn)代常規(guī)加密技術(shù)用計(jì)算機(jī)對(duì)信息進(jìn)行加密解密處理;算法的強(qiáng)度大大提高;密鑰長(zhǎng)度也大大增加;加密和解密都是對(duì)二進(jìn)制位進(jìn)行處理;對(duì)信息進(jìn)行反復(fù)地替代和置換操作。

1

Feistel分組密碼

2分組密碼的操作模式

3數(shù)據(jù)加密標(biāo)準(zhǔn)DES4三重DES(TripleDES)

Return1Feistel分組密碼Feistel分組密碼是當(dāng)前使用的幾乎所有對(duì)稱(chēng)加密算法的基礎(chǔ)。Feistel密碼是一種分組密碼,F(xiàn)eistel的安全性與下面幾個(gè)方面密切相關(guān):分組大?。悍纸M越大,安全性越高,加密/解密處理速度也越慢。密鑰大小:密鑰長(zhǎng)度越長(zhǎng),安全性越高,加密/解密速度也越慢。循環(huán)次數(shù):循環(huán)次數(shù)越多,安全性越高,加密/解密速度也越慢。子密鑰產(chǎn)生算法:在Feistel算法的多輪循環(huán)中,需要使用不同的子密鑰。輪函數(shù):輪函數(shù)的擴(kuò)散和擾亂功能越強(qiáng),則抵御密碼分析的能力就越強(qiáng)。加密:LEi=REi-1;REi=LEi-1⊕F(REi-1,Ki);解密:LDi=RDi-1;RDi=LDi-1⊕F(RDi-1,Kn-i+1);加密算法可以描述為:上述描述中,(P)LW表示明文分組長(zhǎng)度為w的左半部分,(P)RW為右半部分,||表示拼接。

LE0=(P)LW;RE0=(P)RW;fori=1step1tondoLEi=REi-1;REi=LEi-1⊕F(REi-1,Ki);endforLEn+1=REn;REn+1=LEn;C=LEn+1||REn+1;解密算法可以描述為:Feistel密碼的特點(diǎn)是模塊化程度高:加密/解密都采用基本模塊經(jīng)過(guò)多輪循環(huán)而實(shí)現(xiàn);加密過(guò)程和解密過(guò)程相同,差異僅僅在子密鑰的使用順序上。LD0=(C)LW;RD0=(C)RW;fori=1step1tondoLDi=RDi-1;RDi=LDi-1⊕F(RDi-1,Kn-i+1);endforLDn+1=RDn;RDn+1=LDn;P=LDn+1||RDn+1;Return2.分組密碼的操作模式為了適應(yīng)不同的應(yīng)用需求,分組密碼定義了四種操作模式。這四種操作模式是:電子密碼本ECB(ElectronicCodeBook)、密碼分組鏈接CBC(CipherBlockChaining)、密碼反饋CFB(CipherFeedback)和輸出反饋OFB(OutputFeedback)。

(1)電子密碼本ECB

電子密碼本是分組密碼應(yīng)用的最基本形式。將明文P劃分為長(zhǎng)度為w比特的明文分組(P1,P2,…,Pn),最后一個(gè)分組一般需要填充。每個(gè)明文分組使用同樣的密鑰K進(jìn)行加密處理,加密時(shí),明文分組獨(dú)立于前面的密文分組。w比特的明文分組與w比特的密文分組一一對(duì)應(yīng)。電子密碼本模式的特點(diǎn):相同的明文分組必然產(chǎn)生相同的密文分組。對(duì)于傳輸大量信息(尤其是結(jié)構(gòu)化程度較高的信息),電子密碼本模式的安全性并不是太好。由于電子密碼本模式下明文的加密過(guò)程與密文無(wú)關(guān),所以,可以對(duì)明文分組進(jìn)行并行加密處理,以獲得很高的加密速度。(2)密碼分組鏈接CBC

密碼分組鏈接模式同電子密碼本模式一樣將明文進(jìn)行分組和填充。每個(gè)明文分組使用同樣的密鑰K進(jìn)行加密處理。加密處理時(shí),明文分組與上一次輸出的密文分組進(jìn)行按位二進(jìn)制異或操作后,再利用基本分組加密算法進(jìn)行加密。注意:在對(duì)第一個(gè)明文分組進(jìn)行處理時(shí),還沒(méi)有密文分組可以利用,此時(shí),引入一個(gè)初始向量IV與第一個(gè)明文分組進(jìn)行異或。IV必須為發(fā)送方和接受方共享,并且應(yīng)該和密鑰一樣受到保護(hù)。解密處理時(shí),每個(gè)密文分組經(jīng)過(guò)基本解密算法解密,然后將此結(jié)果與前一個(gè)密文分組按位異或以產(chǎn)生明文分組。

CBC模式實(shí)現(xiàn)示意圖:解密的簡(jiǎn)單證明如下:Ci=EK[Pi⊕Ci-1]解密結(jié)果=DK(Ci)⊕Ci-1=DK[EK[Pi⊕Ci-1]]⊕Ci-1

=[Pi⊕Ci-1]⊕Ci-1根據(jù)異或的特性:[A⊕B]⊕C=A⊕[B⊕C]A⊕A=0A⊕0=A可得:解密結(jié)果=Pi⊕[Ci-1⊕Ci-1]=Pi⊕0=Pi

密碼分組鏈接模式通過(guò)將明文分組與前一個(gè)密文分組異或,實(shí)現(xiàn)了明文模式的隱藏,使得當(dāng)同一個(gè)明文分組重復(fù)出現(xiàn)時(shí)能夠產(chǎn)生不同的密文分組。密碼分組鏈接模式可以用于大量信息和高結(jié)構(gòu)化信息的加密傳輸。無(wú)法對(duì)明文進(jìn)行并行加密,但可以進(jìn)行并行解密。

(3)密碼反饋CFB上述兩種模式要求在對(duì)明文分組時(shí)進(jìn)行填充,這樣勢(shì)必增加加密和傳輸?shù)拈_(kāi)銷(xiāo),這種開(kāi)銷(xiāo)在對(duì)大量短小信息進(jìn)行加密的情況下,尤為明顯。密碼反饋模式將分組密碼轉(zhuǎn)化為序列密碼。序列密碼不要求信息被填充成整數(shù)個(gè)分組。密碼反饋模式實(shí)際上是利用基本分組加密模塊來(lái)產(chǎn)生密鑰流。加密操作:每次處理h位,h位明文與h位偽隨機(jī)密鑰異或后,生成h位密文。將密文移入移位寄存器的低h位。偽隨機(jī)密鑰由基本分組密碼模塊對(duì)移位寄存器的內(nèi)容加密后選取高端的h位而形成。注意:解密的一方在使用基本分組密碼模塊時(shí),采用的也是加密操作。解密的簡(jiǎn)單證明如下:加密:Ci=Pi⊕Sh(EK[MS])解密結(jié)果=Ci⊕Sh(EK[MR])=Pi⊕Sh(EK[MS])⊕Sh(EK[MR])

上式中,MS為發(fā)送方移位寄存器中的值,MR為接收方移位寄存器中的值。只要保證收發(fā)雙方移位寄存器中的初始向量IV相等,就能保證MS和MR相等。由于雙方采用了相同的加密操作EK和選擇函數(shù)Sh,從而使得下式成立:Sh(EK[MS])=Sh(EK[MR])根據(jù)異或操作的性質(zhì)可得:解密結(jié)果=Pi。密碼反饋模式的不足之處:若傳輸中密文出錯(cuò),則會(huì)造成解密錯(cuò)誤。由于錯(cuò)誤碼在被移出移位寄存器之前被多次使用,因而,一個(gè)密文出錯(cuò),會(huì)造成連續(xù)w/h個(gè)解密明文的錯(cuò)誤。

CFB(CipherFeedBack)(4)輸出反饋OFB

輸出反饋模式與密碼反饋模式在結(jié)構(gòu)上很接近,不同的是反饋到移位寄存器的不是密文,而是選擇函數(shù)的輸出。輸出反饋模式優(yōu)于密碼反饋模式的是傳輸中的位出錯(cuò)只會(huì)影響一次解密,而不會(huì)傳播。

ReturnOFB(OutputFeedBack)2.2.2標(biāo)準(zhǔn)算法的介紹DES算法國(guó)際數(shù)據(jù)加密算法(IDEA)AES算法DES加密算法的背景發(fā)明人美國(guó)IBM公司W(wǎng).Tuchman和C.Meyer1971-1972年研制成功?;A(chǔ)

1967年美國(guó)HorstFeistel提出的理論產(chǎn)生美國(guó)國(guó)家標(biāo)準(zhǔn)局(NBS)1973年5月到1974年8月兩次發(fā)布通告,公開(kāi)征求用于電子計(jì)算機(jī)的加密算法。經(jīng)評(píng)選從一大批算法中采納了IBM的LUCIFER方案。標(biāo)準(zhǔn)化

DES算法1975年3月公開(kāi)發(fā)表,1977年1月15日由美國(guó)國(guó)家標(biāo)準(zhǔn)局頒布為數(shù)據(jù)加密標(biāo)準(zhǔn)(DataEncryptionStandard),于1977年7月15日生效。DES加密算法的背景美國(guó)國(guó)家安全局(NSA,NationalSecurityAgency)參與了美國(guó)國(guó)家標(biāo)準(zhǔn)局制定數(shù)據(jù)加密標(biāo)準(zhǔn)的過(guò)程。NBS接受了NSA的某些建議,對(duì)算法做了修改,并將密鑰長(zhǎng)度從LUCIFER方案中的128位壓縮到56位。1979年,美國(guó)銀行協(xié)會(huì)批準(zhǔn)使用DES。1980年,DES成為美國(guó)標(biāo)準(zhǔn)化協(xié)會(huì)(ANSI)標(biāo)準(zhǔn)。1984年2月,ISO成立的數(shù)據(jù)加密技術(shù)委員會(huì)(SC20)在DES基礎(chǔ)上制定數(shù)據(jù)加密的國(guó)際標(biāo)準(zhǔn)工作。3.數(shù)據(jù)加密標(biāo)準(zhǔn)DES

DES(DataEncryptionStandard)是數(shù)據(jù)加密標(biāo)準(zhǔn)的簡(jiǎn)稱(chēng)。DES起源于20世紀(jì)70年代初IBM研制出的LUCIFER算法,LUCIFER是一種Feistel分組密碼,分組長(zhǎng)度為64比特,密鑰長(zhǎng)度為128比特。1973年5月和1974年8月美國(guó)國(guó)家標(biāo)準(zhǔn)局NBS(NationalBureauofStandards)兩次發(fā)布通告,向社會(huì)征集密碼算法。結(jié)果IBM的LUCIFER算法被選中,1977年被正式公布為數(shù)據(jù)加密標(biāo)準(zhǔn)DES。作為數(shù)據(jù)加密標(biāo)準(zhǔn)的DES算法是一種對(duì)稱(chēng)加密算法。DES采用56位密鑰。在DES中數(shù)據(jù)以64比特分組進(jìn)行加密。加密算法經(jīng)過(guò)一系列的加密變換將64比特的明文輸入變換成64比特的密文輸出,解密過(guò)程使用同樣的步驟和同樣的密鑰。1、DES加密DES算法具有嚴(yán)格的Feistel結(jié)構(gòu)。DES由兩種基本的加密技術(shù)——替代和置換經(jīng)過(guò)細(xì)致而復(fù)雜的結(jié)合而成。DES共使用了16輪替代和置換。DES加密過(guò)程分為兩條主線:明文分組加密處理和產(chǎn)生子密鑰。明文分組加密處理由三個(gè)階段構(gòu)成。第一個(gè)階段為初始置換(IP)。初始置換按照IP表將輸入明文分組的64位二進(jìn)制數(shù)重新排列,產(chǎn)生新的64位輸出。初始置換后的輸出被分為左右各32位的兩部分。第二個(gè)階段為標(biāo)準(zhǔn)的Feistel密碼結(jié)構(gòu),循環(huán)次數(shù)為16輪,每輪循環(huán)使用一個(gè)48位的子密鑰。經(jīng)過(guò)16輪循環(huán)后,再將輸出的左右兩部分進(jìn)行對(duì)換,并合并為64位的輸出。第三個(gè)階段完成逆初始置換(IP-1)。逆初始置換按照IP-1表將64位二進(jìn)制數(shù)進(jìn)行重新排列,產(chǎn)生的64位輸出即為密文。(P39)ReturnDES算法描述為二進(jìn)制編碼數(shù)據(jù)設(shè)計(jì)的,可以對(duì)計(jì)算機(jī)數(shù)據(jù)進(jìn)行密碼保護(hù)的數(shù)學(xué)運(yùn)算。DES使用56位密鑰對(duì)64位的數(shù)據(jù)塊進(jìn)行加密,并對(duì)64位的數(shù)據(jù)塊進(jìn)行16輪編碼。在每輪編碼時(shí),一個(gè)48位的“每輪”密鑰值由56位的“種子”密鑰得出來(lái)。DES算法的入口參數(shù)有三個(gè):Key、Data和Mode。Key為8個(gè)字節(jié)共64位,是DES算法的工作密鑰;Data也為8個(gè)字節(jié)64位,是要被加密或被解密的數(shù)據(jù);Mode為DES的工作方式,有兩種:加密或解密64位明文變換到64位密文,密鑰64位,實(shí)際可用密鑰長(zhǎng)度為56位。DES算法框圖DES算法描述(續(xù))初始換位的功能是把輸入的64位數(shù)據(jù)塊按位重新組合,并把輸出分為L(zhǎng)0、R0兩部分,每部分各長(zhǎng)32位,其置換規(guī)則見(jiàn)下表:

58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157例:設(shè)置換前的輸入值為D1D2D3......D64,則經(jīng)過(guò)初始置換后的結(jié)果為:L0=D58D50...D8;R0=D57D49...D7。

DES算法描述(續(xù))逆置換正好是初始置的逆運(yùn)算。【例】第1位經(jīng)過(guò)初始置換后,處于第40位,而通過(guò)逆置換,又將第40位換回到第1位,其逆置換規(guī)則如下表所示:

40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725

初始置換按照IP表將輸入明文分組的64位二進(jìn)制數(shù)進(jìn)行重新排列,產(chǎn)生新的64位輸出。逆初始置換IP-1是第一個(gè)階段初始置換的逆操作,M=IP-1(IP(M))ReturnDES算法的一次迭代過(guò)程圖DES算法的一次迭代過(guò)程圖DES算法描述(續(xù))擴(kuò)展置換為:

3212345456789891011121312131415161716171819202120212223242524252627282928293031321

P-盒置換為:

1672021291228171152326518311028241432273919133062211425

ReturnDES結(jié)構(gòu)DES的加密輪函數(shù)

F

函數(shù)為:F(R,K)=P(S(K⊕E(R))),如下圖所示:替代選擇通過(guò)8個(gè)S盒(Substitution-box)完成,替代選擇的結(jié)果為32位。8個(gè)S盒將48位的輸入變?yōu)?2位輸出,在完成代替的同時(shí)實(shí)現(xiàn)了壓縮。每個(gè)S盒通過(guò)一個(gè)表將6位輸入變?yōu)?位的輸出。替代選擇操作如圖所示:

48位輸入分為8個(gè)6位的組,記為B1,B2,B3,…,B8。S盒S1對(duì)B1進(jìn)行變換。S盒的表是一個(gè)4行16列的替代表(P41)。S盒的使用方法如下:設(shè)B1的6位組是blb2b3b4b5b6,取出b1和b6位組成一個(gè)2位的二進(jìn)制數(shù)blb6,其取值范圍在0—3之間,根據(jù)此值選取S1盒中對(duì)應(yīng)的行,再由b2b3b4b5譯碼(0—15之間)確定S1盒中的列,將行列交匯處的值(0—15之間)以二進(jìn)制碼輸出,便得到4比特的替代選擇結(jié)果。在變換中用到的S1,S2...S8為選擇函數(shù),俗稱(chēng)為S-盒,是DES算法的核心。其功能是把6bit數(shù)據(jù)變?yōu)?bit數(shù)據(jù)。

S1:

1441312151183106125907

0157414213110612119538

4114813621115129731050

1512824917511314100613

在S1中,共有4行數(shù)據(jù),命名為0,1、2、3行;每行有16列,命名為0、1、2、3,......,14、15列。

現(xiàn)設(shè)輸入為:D=D1D2D3D4D5D6

令:列=D2D3D4D5

行=D1D6

然后在S1表中查得對(duì)應(yīng)的數(shù),以4位二進(jìn)制表示,此即為選擇函數(shù)S1的輸出。101100102

0123456789101112131415014413121511831061259071015741421311061211953824114813621115129731050315128249175113141006130010輸出4位使用選擇函數(shù)S1的例子輸入6位S1例如,B1=101011時(shí),blb6=11,b2b3b4b5=0101,分別選中S1盒的行3和列5,得到值9,因此輸出為1001。

0123456789101112131415S1

01231441312

溫馨提示

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

評(píng)論

0/150

提交評(píng)論