物聯(lián)網(wǎng)信息安全2021(第2章)_第1頁
物聯(lián)網(wǎng)信息安全2021(第2章)_第2頁
物聯(lián)網(wǎng)信息安全2021(第2章)_第3頁
物聯(lián)網(wǎng)信息安全2021(第2章)_第4頁
物聯(lián)網(wǎng)信息安全2021(第2章)_第5頁
已閱讀5頁,還剩85頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

桂小林11物聯(lián)網(wǎng)信息安全(第2章物聯(lián)網(wǎng)信息安全基礎(chǔ))配合機(jī)械工業(yè)出版社教材西安交通大學(xué)桂小林2本章內(nèi)容2.1物聯(lián)網(wǎng)信息安全基礎(chǔ)2.2密碼學(xué)模型2.3置換與替換2.4現(xiàn)代密碼學(xué)2.5可計(jì)算加密算法西安交通大學(xué)桂小林3本章要求隨著物聯(lián)網(wǎng)的興起和飛速發(fā)展,數(shù)據(jù)正以前所未有的速度不斷地增長和累積,實(shí)現(xiàn)物聯(lián)網(wǎng)的數(shù)據(jù)安全與隱私保護(hù)顯得日益重要,并已經(jīng)成為“物理-信息融合系統(tǒng)”得以持續(xù)發(fā)展的重要挑戰(zhàn)。本章主要討論物聯(lián)網(wǎng)在數(shù)據(jù)傳輸、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)處理過程中的數(shù)據(jù)安全技術(shù),包括數(shù)據(jù)安全的基本概念、理論模型、關(guān)鍵技術(shù)和案例實(shí)現(xiàn)等。2.1物聯(lián)網(wǎng)信息安全基礎(chǔ)2.1.1CIA原則物聯(lián)網(wǎng)通過各種傳感器產(chǎn)生各類數(shù)據(jù),數(shù)據(jù)種類復(fù)雜,數(shù)據(jù)特征差異大。數(shù)據(jù)安全需求隨著應(yīng)用對(duì)象不同而是不同,需要有一個(gè)統(tǒng)一的數(shù)據(jù)安全標(biāo)準(zhǔn)。參考信息系統(tǒng)中的數(shù)據(jù)安全保護(hù)模型,物聯(lián)網(wǎng)數(shù)據(jù)安全也需要遵循:數(shù)據(jù)機(jī)密性(Confidentiality)、完整性(Integrity)和可用性(Availability)三原則(即CIA原則),以提升物聯(lián)網(wǎng)的數(shù)據(jù)安全保護(hù)。42.1物聯(lián)網(wǎng)數(shù)據(jù)安全基礎(chǔ)(1)數(shù)據(jù)機(jī)密性數(shù)據(jù)機(jī)密性(dataconfidentiality)是指通過加密,保護(hù)數(shù)據(jù)免遭泄漏,防止信息被未授權(quán)用戶獲取,包括防分析。例如,加密一份工資單可以防止沒有掌握密鑰的人無法讀取其內(nèi)容。如果用戶需要查看其內(nèi)容,必須通過解密。只有密鑰的擁有者才能夠?qū)⒚荑€輸入解密程序。然而,如果密鑰輸入解密程序時(shí),被其他人讀取到該密鑰,則這份工資單的機(jī)密性就被破壞。52.1物聯(lián)網(wǎng)數(shù)據(jù)安全基礎(chǔ)(2)數(shù)據(jù)完整性數(shù)據(jù)完整性(DataIntegrity)是指數(shù)據(jù)的精確性(Accuracy)和可靠性(Reliability)。通常使用“防止非法的或未經(jīng)授權(quán)的數(shù)據(jù)改變”來表達(dá)完整性。即,完整性是指數(shù)據(jù)不因人為的因素而改變其原有的內(nèi)容、形式和流向。完整性包括數(shù)據(jù)完整性(即信息內(nèi)容)和來源完整性(即數(shù)據(jù)來源,常通過認(rèn)證來確保)。數(shù)據(jù)來源可能會(huì)涉及來源的準(zhǔn)確性和可信性,也涉及人們對(duì)此數(shù)據(jù)所賦予的信任度。62.1物聯(lián)網(wǎng)數(shù)據(jù)安全基礎(chǔ)(3)數(shù)據(jù)可用性數(shù)據(jù)可用性(dataavailability)是指期望的數(shù)據(jù)或資源的使用能力,即保證數(shù)據(jù)資源能夠提供既定的功能,無論何時(shí)何地,只要需要即可使用,而不因系統(tǒng)故障或誤操作等使用資源丟失或妨礙對(duì)資源的使用??捎眯允窍到y(tǒng)可靠性與系統(tǒng)設(shè)計(jì)中的一個(gè)重要方面,因?yàn)橐粋€(gè)不可用的系統(tǒng)所發(fā)揮的作用還不如沒有這個(gè)系統(tǒng)??捎眯灾耘c安全相關(guān),是因?yàn)橛袗阂庥脩艨赡軙?huì)蓄意使數(shù)據(jù)或服務(wù)失效,以此來拒絕用戶對(duì)數(shù)據(jù)或服務(wù)的訪問。7西安交通大學(xué)桂小林82.1.2密碼學(xué)的概念與發(fā)展密碼是一種用來進(jìn)行信息混淆的技術(shù),它希望將正常的、可識(shí)別的信息轉(zhuǎn)變?yōu)闊o法識(shí)別的信息。密碼學(xué)(Cryptology)是一門古老的科學(xué),大概自人類社會(huì)出現(xiàn)戰(zhàn)爭(zhēng)便產(chǎn)生了密碼,以后逐漸形成一門獨(dú)立的學(xué)科。密碼學(xué)的發(fā)展歷史大致可以分為三個(gè)階段:1949年之前,密碼學(xué)是一門藝術(shù);1949~1976年,密碼學(xué)成為科學(xué);1976年以后,密碼學(xué)的新方向——公鑰密碼學(xué)。加密方法保密加密方法公開加密密鑰公開西安交通大學(xué)桂小林9密碼學(xué)的發(fā)展1、密碼學(xué)的產(chǎn)生與發(fā)展1)在1949年之前,是密碼發(fā)展的第一階段:古典密碼體制。古典密碼體制是通過某種方式的文字置換進(jìn)行,這種置換一般是通過某種手工或機(jī)械變換方式進(jìn)行轉(zhuǎn)換,同時(shí)簡單地使用了數(shù)學(xué)運(yùn)算。雖然在古代加密方法中已體現(xiàn)了密碼學(xué)的若干要素,但它只是一門藝術(shù),而不是一門科學(xué)。古典密碼特點(diǎn)10

密碼學(xué)還不是科學(xué),而是藝術(shù)出現(xiàn)一些密碼算法和加密設(shè)備密碼算法的基本手段出現(xiàn),針對(duì)的是字符簡單的密碼分析手段出現(xiàn)主要特點(diǎn):數(shù)據(jù)的安全基于算法的保密密碼學(xué)的發(fā)展2)從1949年到1976年,是密碼學(xué)發(fā)展的第二階段。111949年,信息論之父C.E.Shannon(香濃)發(fā)表了《保密系統(tǒng)的通信理論》,密碼學(xué)走上科學(xué)和理性之路。1976年W.Diffie和M.E.Hellman發(fā)表的《密碼學(xué)的新方向》,以及1977年美國公布實(shí)施的數(shù)據(jù)加密標(biāo)準(zhǔn)DES,標(biāo)志著密碼學(xué)發(fā)展的革命。2001年11月美國國家標(biāo)準(zhǔn)技術(shù)研究所發(fā)布高級(jí)數(shù)據(jù)加密標(biāo)準(zhǔn)AES代表著密碼學(xué)的最新發(fā)展。12第2階段特點(diǎn)密碼算法公開1883年Kerchoffs第一次明確提出了編碼的原則:加密算法應(yīng)建立在算法的公開基礎(chǔ)上,且不影響明文和密鑰的安全。這一原則已得到普遍承認(rèn),成為判定密碼強(qiáng)度的衡量標(biāo)準(zhǔn),實(shí)際上也成為傳統(tǒng)密碼和現(xiàn)代密碼的分界線。密碼學(xué)的發(fā)展3)1976年至今,公開密鑰的思想W.Diffie和M.Hellman在《密碼編碼學(xué)新方向》一文中提出了公開密鑰的思想,這是密碼學(xué)的第二次飛躍。1994年美國聯(lián)邦政府頒布的密鑰托管加密標(biāo)準(zhǔn)(EES)和數(shù)字簽名標(biāo)準(zhǔn)(DSS)以及2001年頒布的高級(jí)數(shù)據(jù)加密標(biāo)準(zhǔn)(AES),都是密碼學(xué)發(fā)展史上一個(gè)個(gè)重要的里程碑。13141976年:Diffie&Hellman的

“NewDirectionsinCryptography”

提出了不對(duì)稱密鑰;公開加密密鑰,解密密鑰保密1977年Rivest,Shamir&Adleman三人提出了RSA公鑰算法。90年代逐步出現(xiàn)橢圓曲線等其他公鑰算法。主要特點(diǎn):公鑰密碼使得發(fā)送端和接收端無密鑰傳輸?shù)谋C芡ㄐ懦蔀榭赡艿?階段特點(diǎn):公開密鑰152.2密碼學(xué)模型密碼是通信雙方按約定的法則進(jìn)行信息特殊變換的一種重要保密手段。依照這些法則,變明文為密文,稱為加密變換;變密文為明文,稱為解密變換。17世紀(jì),英國著名的哲學(xué)家弗朗西斯·培根在他所著的《學(xué)問的發(fā)展》一書中最早給密碼下了定義,他說,“所謂密碼應(yīng)具備三個(gè)必要的條件,即易于翻譯、第三者無法理解、在一定場(chǎng)合下不易引人生疑?!?/p>

加密解密明文密文原始明文密碼學(xué):是一個(gè)即古老又新興的學(xué)科。密碼學(xué)(Cryptology)一字源自希臘文"krypto's"及"logos"兩字,直譯即為"隱藏"及"訊息"之意。密碼學(xué)的基本概念密碼:是一種用來混淆的技術(shù),它希望將正常的、可識(shí)別的信息轉(zhuǎn)變?yōu)闊o法識(shí)別的信息。密碼技術(shù):密碼技術(shù)包含加密和解密這兩方面密切相關(guān)的內(nèi)容。加密是研究、編寫密碼系統(tǒng),把數(shù)據(jù)和信息轉(zhuǎn)換為不可識(shí)別的密文的過程。解密就是研究密碼系統(tǒng)的加密途徑,恢復(fù)數(shù)據(jù)和信息本來面目的過程。16在加密系統(tǒng)中,原有的信息稱為明文(Plaintext,簡稱P)。明文經(jīng)過加密變換后的形式稱為密文(Ciphertext,簡稱C)。由明文變?yōu)槊芪牡倪^程稱為加密(Enciphering,簡稱E),通常由加密算法來實(shí)現(xiàn)。由密文還原成明文的過程稱為解密(Deciphering,簡稱D),通常由解密算法來實(shí)現(xiàn)。密碼學(xué)的基本概念加密系統(tǒng):加密和解密過程共同組成了加密系統(tǒng)。17一般加密系統(tǒng)模型1819密碼分析密碼學(xué)包含兩個(gè)互相對(duì)立的分支,即密碼編碼學(xué)(Cryptography)和密碼分析學(xué)(Cryptanalytics)。前者編制密碼以保護(hù)秘密信息,而后者則研究加密消息的破譯以獲取信息。二者相反相成,共處于密碼學(xué)的統(tǒng)一體中?,F(xiàn)代密碼學(xué)除了包括密碼編碼學(xué)和密碼分析學(xué)外,還包括安全管理、安全協(xié)議設(shè)計(jì)、散列函數(shù)等內(nèi)容。密碼分析密碼分析是截收者在不知道解密密鑰及加密體制細(xì)節(jié)的情況下,對(duì)密文進(jìn)行分析、試圖獲取可用信息的行為,密碼分析除了依靠數(shù)學(xué)、工程背景、語言學(xué)等知識(shí)外,還要靠經(jīng)驗(yàn)、統(tǒng)計(jì)、測(cè)試、眼力、直覺甚至是運(yùn)氣來完成。破譯密碼就是通過分析密文來推斷改密文對(duì)應(yīng)的明文或者所用密碼的密鑰的過程,也稱為密碼攻擊。破譯密碼的方法有窮舉法和分析法。窮舉法又稱強(qiáng)力法或暴力法,即用所有可能的密鑰進(jìn)行測(cè)試破譯。只要足夠的時(shí)間和計(jì)算資源,原則上窮舉法總是可以成功的。但在實(shí)際中,任何一種安全的密碼都會(huì)設(shè)計(jì)的使窮舉法不可行。20密碼分析分析法則有確定性和統(tǒng)計(jì)性兩類。(1)確定性分析法是利用一個(gè)或幾個(gè)已知量(已知密文或者明文-密文對(duì)),用數(shù)據(jù)關(guān)系表示出所求未知量。(2)統(tǒng)計(jì)分析法是利用明文的已知統(tǒng)計(jì)規(guī)律進(jìn)行破譯的方法。在密碼分析技術(shù)的發(fā)展過程中,產(chǎn)生了各種各樣的攻擊方法,其名稱也是紛繁復(fù)雜。根據(jù)密碼分析者占有的明文和密文條件,密碼分析可分為以下四類。21密碼分析(1)已知密文攻擊。密碼分析者有一些消息的密文,這些消息都是使用同一加密算法進(jìn)行加密的。密碼分析者的任務(wù)是根據(jù)已知密文恢復(fù)盡可能多的明文,或者通過上述分析,進(jìn)一步推算出加密消息的加密密鑰和解密密鑰,以便采用相同的密鑰解出其它被加密的消息。(2)已知明文攻擊。密碼分析者不僅可以得到一些消息的密文,而且也知道這些消息的明文。分析者的任務(wù)是用加密的消息推出加密消息的加密密鑰和解密密鑰,或者導(dǎo)出一個(gè)算法,此算法可以對(duì)用同一密鑰加密的任何新的消息進(jìn)行解密。22密碼分析(3)選擇明文攻擊。密碼分析者不僅可以得到一些消息的密文和相應(yīng)的明文,而且他們還可以選擇被加密的明文。這比已知明文攻擊更有效。因?yàn)槊艽a分析者能選擇特定的明文塊加密,那些塊可能產(chǎn)生更多關(guān)于密鑰的信息,分析者的任務(wù)是推導(dǎo)出用來加密消息的加密密鑰和解密密鑰,或者推導(dǎo)出一個(gè)算法,此算法可以對(duì)同一密鑰加密的任何新的消息進(jìn)行解密。(4)選擇密文攻擊。密碼分析者能夠選擇不同的密文,并可以得到對(duì)應(yīng)的密文的明文,例如密碼分析者存取一個(gè)防篡改的自動(dòng)解密盒,密碼分析者的任務(wù)是推出加密密鑰和解密密鑰。23西安交通大學(xué)桂小林24置換密碼有一種是用凱撒大帝的名字JuliasCaesar命名的,即凱撒密碼。它的原理是每一個(gè)字母都用其前面的第三個(gè)字母代替,如果到了最后那個(gè)字母,則又從頭開始算。字母可以被在它前面的第n個(gè)字母所代替,在凱撒的密碼中n就是3。例如:明文:meetmeafterthetogaparty密文:PHHWPHDIWHUWKHWRJDSDUWB如果已知某給定密文是Caesar密碼,窮舉攻擊是很容易實(shí)現(xiàn)的,因?yàn)橹灰唵蔚販y(cè)試所有25種可能的密鑰即可。字母頻率(字母置換破解)25破譯實(shí)例設(shè)計(jì)一個(gè)程序,對(duì)凱撒密碼進(jìn)行破解26密碼分析已知整數(shù)A,使用隨機(jī)數(shù)將其分解成10個(gè)自然數(shù)之和。請(qǐng)分析推測(cè)出這10個(gè)數(shù)字的難度?提示:在64位計(jì)算機(jī)系統(tǒng)中,每個(gè)密鑰可以用一個(gè)64位的二進(jìn)制數(shù)表示,可以有2^64個(gè)選擇。272.3置換與替換:經(jīng)典密碼體制28廣義上說,經(jīng)典加密法可定義為不要求用計(jì)算機(jī)來實(shí)現(xiàn)的所有加密算法。這并不是說它不能在計(jì)算機(jī)上實(shí)現(xiàn),而是因?yàn)樗梢允止ぜ用芎徒饷芪淖?。大多?shù)經(jīng)典加密法在計(jì)算機(jī)普及之前就已經(jīng)設(shè)計(jì)出來了,一些加密法現(xiàn)在還被密碼愛好者所使用。西安交通大學(xué)桂小林292.3.1置換密碼體制置換密碼(transpositionciphers)又稱換位密碼,是根據(jù)一定的規(guī)則重新排列明文,以便打破明文的結(jié)構(gòu)特性。置換密碼的特點(diǎn)是保持明文的所有字符不變,只是利用置換打亂了明文字符的位置和次序。也就是說,改變了明文的結(jié)構(gòu),不改變明文的內(nèi)容。置換密碼分類置換只不過是一個(gè)簡單的換位,每個(gè)置換都可以用一個(gè)置換矩陣Ek來表示。每個(gè)置換都有一個(gè)與之對(duì)應(yīng)的逆置換Dk。301)置換加密中文名稱:置換密碼,又稱換位密碼英文名稱:permutationcipher(transpositioncipher):特點(diǎn):明文的字母保持相同,但順序被打亂了。31西安交通大學(xué)桂小林321)基于置換的加密方法置換密碼就是明文中每一個(gè)字符被替換成密文中的另外一個(gè)字符,代替后的各字母保持原來位置。對(duì)密文進(jìn)行逆替換就可恢復(fù)出明文。置換只不過是一個(gè)簡單的換位,每個(gè)置換都可以用一個(gè)置換矩陣Ek來表示。每個(gè)置換都有一個(gè)與之對(duì)應(yīng)的逆置換Dk。2)基于置換的加密方法令明文m=m1,m2,...mL。令置換矩陣所決定的置換為pi,則加密置換c=Ek(m)=(c1,c2,...cL)=mpi(1),mpi(2),...,mpi(L)解密置換d=Dk(c)=(cn^-1(1),cn^-1(2),...cn^-1(L))例,置換密碼。給定明文為thesimplestpossibletranspositionciphers,將明文分成長為L=5的段,m1=thesi,m2=mplesm3=tpossm4=iblet,m5=ransp,m6=ositim7=oncipm8=hersx最后一段長不足5,加添一個(gè)字母x。將隔斷的字母序號(hào)按下述置換矩陣換位:Ek= 12

3

4541

5

32得到密文如下(第1個(gè)用第4個(gè)代替,第2個(gè)用第1個(gè)代替,。第5個(gè)用第2個(gè)代)STIEHEMSLPSTSOPEITLBSRPNATOIISIOPCNSHXRE利用下述置換矩陣:Dk=1234525413可將密文恢復(fù)為明文。(單表置換)(換位置)33置換加密法:是指重新排列文本中的字母。這種加密法有點(diǎn)像拼圖游戲。在拼圖游戲中,所有的圖塊都在這里,但排列的位置不正確。置換加密法設(shè)計(jì)者的目標(biāo)是,設(shè)計(jì)一種方法,使你在知道密鑰的情況下,能將圖塊很容易地正確排序。而如果沒有這個(gè)密鑰,就不可能解決。而密碼分析者的目標(biāo)是在沒有密鑰的情況下重組拼圖,或從拼圖的特征中發(fā)現(xiàn)密鑰。然而這兩種目標(biāo)都很難實(shí)現(xiàn)。34天書(Skytale)置換加密法使用的密鑰通常是一些幾何圖形,它決定了重新排列字母的方式。

最先有意識(shí)的使用一些技術(shù)的方法來加密信息的可能是公元前500年的古希臘人。他們使用的是一根叫Skytale的棍子。送信人先繞棍子卷一張紙條,然后把要寫的信息打縱寫在上面,接著打開紙送給收信人。如果不知道棍子的粗細(xì)是不可能解密里面的內(nèi)容的。35柵欄密碼(Rail-fence)Rail-fence加密法:使用了對(duì)角線方式。在這種加密法中,明文是按Z字形的方式填寫在矩形的對(duì)角線上,而按行讀取生成密文。例如,如果矩形的高為3,長為11,那么明文“thisisatest”在該矩形中的填寫如圖4所示。而按行讀取所生成的密文就是“tiehsstsiat”。36三角加密法同樣的過程可以應(yīng)用于其他幾何圖形。例如,在一個(gè)固定大小的矩形中,可以將明文填寫成一個(gè)三角形,然后按列讀取生成密文。圖5所示的是將明文“Youmustdothatnow”填寫在一個(gè)7x4的矩形中。按行讀取生成的密文是“tuhoauttrndnvow”。37平移置換加密法平移置換加密法:將密文分成了固定長度的塊,如d(通常塊越大越不容易破譯),置換函數(shù)f用于從1到d中選取一個(gè)整數(shù)。然后,每個(gè)塊中的字母根據(jù)f重新排列。這種加密法的密鑰就是(d,f)對(duì)應(yīng)的具體數(shù)值。

例如假設(shè)d為4,f給定為(2,4,1,3)。這意味著第1個(gè)字符移到位置2,第2個(gè)字符移到位置4,第3個(gè)字符移到位置1,第4個(gè)字符移到位置3。38平移置換加密法利用這種置換加密法將明文“Theonlylimittoourrealizationoftomorrowwillbeourdoubtsoftoday”加密。首先設(shè)置密鑰(d,f)的數(shù)組,比如d設(shè)為7,明文將分成塊,每塊包含7個(gè)字母,不足用空字符填滿。然后根據(jù)給定的函數(shù)f將每個(gè)塊重新排列,生成對(duì)應(yīng)的密文。39可以用密文攻擊法和已知明文攻擊法來破移位解置換加密法。平移置換加密法40密文攻擊法是查看密文塊,查找出可能生成可讀單詞的排列方式。一旦發(fā)現(xiàn)了某個(gè)塊的置換方式,就可以應(yīng)用到密文的所有塊中。如果密碼分析員熟悉從顛倒字母順序來構(gòu)成單詞,破解置換加密法就是一個(gè)簡單的工作了。已知明文攻擊法就更簡單。知道了明文中可能包含的一個(gè)單詞,該攻擊法可分三個(gè)步驟:

(1)找出包含有與已知單詞相同字母的塊;

(2)通過比較已知單詞與密文塊,確定置換方式;

(3)在密文的其他塊上測(cè)試上面得出的置換方式。41平移置換加密法列置換加密法列置換加密法:明文按行填寫在一個(gè)矩形中,而密文則是以預(yù)定的順序按列讀取生成的。例如,如果矩形是4列5行,那么短語“encryptionalgorithms”可以如下寫人該矩形中:按一定的順序讀取列以生成密文。對(duì)于這個(gè)示例,如果讀取順序是4、1、2、3,那么密文就是:“riliseyogenpnohctarm”。這種加密法要求填滿矩形,因此,如果明文的字母不夠,可以添加“x”或“q”或空字符。42這種加密法的密鑰是列數(shù)和讀取列的順序。如果列數(shù)很多,記起來可能會(huì)比較閑難,因此可以將它表示成一個(gè)關(guān)鍵詞,方便記憶。該關(guān)鍵詞的長度等于列數(shù),而其字母順序決定讀取列的順序。例如,關(guān)鍵詞"general”有7個(gè)字母,意味著矩形有7列。按字母順序進(jìn)行排序,因此由關(guān)鍵詞general給定的讀取列順序?yàn)?4、2、6、3、7、1、5。43列置換加密法列置換加密法對(duì)于列置換矩加密的破譯,強(qiáng)力攻擊法就是嘗試所有可能的列和行,代價(jià)較高且收獲甚微。正確的方法是需要將這個(gè)問題分解。以三步來處理列換位加密法(三步法)。首先,嘗試找出換位矩形的可能大?。ǘ嗌傩泻投嗌倭校浚?。第二,嘗試找出這些可能的矩形中哪個(gè)是正確的。第三,知道了正確的矩形后,嘗試重新排列矩形列,以便還原消息。44列置換加密法—破解分析1.列的可能大小這是攻擊法的第一步,也是最簡單的工作。因?yàn)樵摀Q位加密法完全是列換行,因此密文字符的數(shù)目必須是行數(shù)乘以列數(shù)的積(如果明文跨了多個(gè)矩形,那么就是該數(shù)的因數(shù))。例如,假設(shè)截獲的消息有153個(gè)字符。153可以分解為3*51,51*3,17*9或9*17。假設(shè)這個(gè)消息是在一個(gè)矩形中換位的,這4個(gè)積肯定定義了其大小,也就是說,這個(gè)矩形有3行51列、51行3列、17行9列或9行17列。沒有其他矩形可以完全填滿這153個(gè)字符了。由于3*51或57*1的列和行相差較大,不太可能是加密用的矩形。最有可能的是17*9或9*17。因此,下一步就是找出這兩者之間哪個(gè)是正確的。45列置換加密法-破解分析2.確定正確的矩形這個(gè)過程是基于這樣一個(gè)事實(shí),即矩形的每行表示的是標(biāo)準(zhǔn)英語的一行。明文的所有字母仍出現(xiàn)在密文中,它們只是錯(cuò)位了而己。因此可以依靠英語的常見屬性來檢測(cè)密文的最可能排列。例如,英語中的每句話包含大約40%的元音字母。如果某個(gè)矩形的元音字母分布滿足每行40%的標(biāo)準(zhǔn),那么它就很可能是。

對(duì)于9*17的矩形,有9行,因此每行應(yīng)有大約2.6個(gè)元音字母。將密文填人這個(gè)矩形中,并計(jì)算每行的元音字母數(shù)目。計(jì)算出實(shí)際的元音字母數(shù)與期望的元音字母數(shù)之差的絕對(duì)值,并將這些差值相加,生成該矩形的得分。最好的得分是差值總和最小。46列置換加密法-破解分析

2.還原列的順序

破解列換位加密法的最后一步是找出列的正確順序。這是從顛倒字母順序而構(gòu)成詞的過程,需要充分利用字母的一些特征。如引導(dǎo)字符、連字集加權(quán)等。47西安交通大學(xué)桂小林482.4現(xiàn)代密碼學(xué)現(xiàn)代密碼技術(shù)的主要是指用電子技術(shù)、計(jì)算機(jī)技術(shù)等實(shí)現(xiàn)?,F(xiàn)代密碼學(xué)的最重要的原則之一是“一切秘密寓于密鑰之中”,也就是說算法和其他所有參數(shù)都是可以公開的,只有密鑰匙保密的。一個(gè)好的密碼體制只通過保密密鑰就能保證加密消息的安全。加密完成后,只有知道密鑰的人才能正解密。任何人只要能夠獲得密鑰就能解密消息,隱私密鑰對(duì)于密碼系統(tǒng)至關(guān)重要。密鑰的傳遞必須通過安全的信道進(jìn)行。1)流密碼流密碼(StreamCipher)也稱序列密碼,是對(duì)稱密碼算法的一種。流密碼具有實(shí)現(xiàn)簡單、便于硬件實(shí)施、加解密處理速度快、沒有或只有有限的錯(cuò)誤傳播等特點(diǎn),因此在實(shí)際應(yīng)用中,特別是專用或機(jī)密機(jī)構(gòu)中保持著優(yōu)勢(shì),典型的應(yīng)用領(lǐng)域包括無線通信、外交通信。西安交通大學(xué)桂小林50流密碼流密碼1949年Shannon證明了只有一次一密的密碼體制是絕對(duì)安全的,這給流密碼技術(shù)的研究以強(qiáng)大的支持,流密碼方案的發(fā)展是模仿一次一密系統(tǒng)的嘗試,或者說“一次一密”的密碼方案是流密碼的雛形。如果流密碼所使用的是真正隨機(jī)方式的、與消息流長度相同的密鑰流,則此時(shí)的流密碼就是一次一密的密碼體制。若能以一種方式產(chǎn)生一隨機(jī)序列(密鑰流),這一序列由密鑰所確定,則利用這樣的序列就可以進(jìn)行加密,即將密鑰、明文表示成連續(xù)的符號(hào)或二進(jìn)制,對(duì)應(yīng)地進(jìn)行加密,加解密時(shí)一次處理明文中的一個(gè)或幾個(gè)比特。51西安交通大學(xué)桂小林522)分組密碼分組密碼就是數(shù)據(jù)在密鑰的作用下,一組一組等長地被處理,且通常情況是明、密文等長。這樣做的好處是處理速度快,節(jié)約了存儲(chǔ),避免了帶寬的浪費(fèi)。因此,其也成為許多密碼組件的基礎(chǔ)。另外,由于其固有的特點(diǎn)(高強(qiáng)度、高速率、便于軟硬件實(shí)現(xiàn))而成為標(biāo)準(zhǔn)化進(jìn)程的首選體制。分組密碼又可分為三類:置換密碼、替換密碼和乘積密碼。2)分組密碼53西安交通大學(xué)桂小林542.4.1DES算法DES是DataEncryptionStandard的縮寫,即數(shù)據(jù)加密標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)中的算法是第一個(gè)并且是最重要的現(xiàn)代對(duì)稱加密算法,是美國國家安全標(biāo)準(zhǔn)局于1977年公布的由IBM公司研制的加密算法,主要用于與國家安全無關(guān)的信息加密。在公布后的二十多年里面,數(shù)據(jù)加密標(biāo)準(zhǔn)在世界范圍內(nèi)得到了廣泛的應(yīng)用,經(jīng)受了各種密碼分析和攻擊,體現(xiàn)出了令人滿意的安全性。世界范圍內(nèi)的銀行普遍將它用于資金轉(zhuǎn)賬安全,而國內(nèi)的POS、ATM、磁卡及智能卡、加油站、高速公路收費(fèi)站等領(lǐng)域曾主要采用DES來實(shí)現(xiàn)關(guān)鍵數(shù)據(jù)的保密。DES是一個(gè)分組加密算法。同時(shí)DES也是一個(gè)對(duì)稱算法,即加密和解密用的是同一個(gè)算法。DES5556DES的流程描述DES利用56比特串長度的密鑰K來加密長度為64位的明文,得到長度為64位的密文

57DES58DES59DES1、初始置換IP和初始逆置換IP-1

表2-1和表2-2分別定義了初始置換及初始逆置換。置換表中的數(shù)字為從1到64,共64個(gè),意為輸入的64位二進(jìn)制明或密文數(shù)據(jù)中,每一位數(shù)從左至右的位置序號(hào)。置換表中的數(shù)字位置即為置換后,數(shù)字對(duì)應(yīng)的原位置數(shù)據(jù)在輸出的64位序列中的新的位置序號(hào)。比如表中第一個(gè)數(shù)字58,58表示輸入64位明密文二進(jìn)制數(shù)據(jù)的第58位;而58位于第一位,則表示將原二進(jìn)制數(shù)的第58換到輸出的第1位。60DES61DES2、輪函數(shù)fDES的輪函數(shù)如圖所示,可描述為如下四步:62DES2、輪函數(shù)f第一步、擴(kuò)展E變換(expansionbox,E盒),即將輸入的32位數(shù)據(jù)擴(kuò)展為48位。其擴(kuò)展E變換如表所示,表中元素的意義與初始置換基本相同,按行順序,從左至右共48位。比如第一個(gè)元素為32,表示48位輸出結(jié)果的第一位數(shù)據(jù),為原輸入32位數(shù)據(jù)中的第32位上的數(shù)據(jù)。63E盒的真正作用是確保最終的密文與所有的明文都有關(guān)DES第二步、將第一步輸出結(jié)果的48位二進(jìn)制數(shù)據(jù)與48位子密鑰Ki按位作異或運(yùn)算,結(jié)果自然為48位。然后將運(yùn)算結(jié)果的48位二進(jìn)制數(shù)據(jù)自左到右6位分為一組,共分8組。64DES第三步、將8組6位的二進(jìn)制數(shù)據(jù)分別進(jìn)入8個(gè)不同的S盒,每個(gè)S盒輸入6位數(shù)據(jù),輸出4位數(shù)據(jù)(S盒相對(duì)復(fù)雜),然后再將8個(gè)S盒輸出的8組4位數(shù)據(jù),依次連接,重新合并為32位數(shù)據(jù)。65DES第四步、將上一步合并生成的32位數(shù)據(jù),經(jīng)P盒(permutationbox)置換,輸出新的32數(shù)據(jù)。P盒置換如表所示。66P盒置換表中的數(shù)字基本上與前面的相似。按行的順序,從左到右,表中第i個(gè)位置對(duì)應(yīng)數(shù)據(jù)j表示為輸出的第i位為輸入的第j位數(shù)據(jù)。P盒的8行4列與8個(gè)S盒在設(shè)計(jì)準(zhǔn)則上有一定的對(duì)應(yīng)關(guān)系,但從應(yīng)用角度來看,依然是按行的順序。P盒輸出的32位數(shù)據(jù)即為輪函數(shù)的最終輸出結(jié)果DES3、S盒(substitutionbox,替換盒)S盒是DES的核心部分。通過S盒定義的非線性替換,DES實(shí)現(xiàn)了明文消息在密文消息空間上的隨機(jī)非線性分布。S盒的非線性替換特征意味著,給定一組輸入-輸出值,很難預(yù)計(jì)所有S盒的輸出。共有8種不同的S盒,每個(gè)S盒將接收的6位數(shù)據(jù)輸入,通過定義的非線性映射變換為4位的輸出。一個(gè)S盒有一個(gè)16列4行數(shù)表,它的每個(gè)元素是一個(gè)四位二進(jìn)制數(shù),通常為表示為十進(jìn)制數(shù)0-15。8個(gè)S盒如圖所示,S盒與P盒的設(shè)計(jì)準(zhǔn)則,IBM公司已經(jīng)公布,感興趣的同學(xué)可以查閱相關(guān)資料。67S盒的替代運(yùn)算規(guī)則:設(shè)輸入6位二進(jìn)制數(shù)據(jù)為b1b2b3b4b5b6,則以b1b6組成的二進(jìn)制數(shù)為行號(hào),b2b3b4b5組成的二進(jìn)制數(shù)為列號(hào),取出S盒中行列交點(diǎn)處的數(shù),并轉(zhuǎn)換成二進(jìn)制輸出。由于表中十進(jìn)制數(shù)的范圍是0-15,以二進(jìn)制表示正好4位。以6位輸入數(shù)據(jù)011001經(jīng)S1為例,說明如下68取出1行12列處元素9,9=(1001)2,故輸出4位為:1001DES4、DES的子密鑰DES加密過程中需要16個(gè)48位的子密鑰。子密鑰由用戶提供64位密鑰,經(jīng)16輪迭代運(yùn)算依次生成。DES子密鑰生成算法如圖所示,主要可分為三個(gè)階段69DES4、DES的子密鑰第一階段:用戶提供8個(gè)字符密鑰,轉(zhuǎn)換成ASCII碼的64位,經(jīng)置換選擇1,去除了8個(gè)奇偶校驗(yàn)位,并重新排列各位,置換選擇1表中各位置上的元素意義與前面置換相同。由表可知,8、16、24、32、40、48、56、64位舍去了,重新組合后,得56位。由于舍去規(guī)則是固定的,因而實(shí)際使用的初始密鑰只有56位。70DES4、DES的子密鑰第二階段:將上一步置換選擇后生成的56位密鑰,分成左右兩個(gè)部分,前28位記為C0,后28位記為D0。然后分別將28位的C0、D0循環(huán)左移位一次,移位后分別得到的C1、D1作為下一輪子密鑰生成的位輸入。每輪迭代循環(huán)左移位的次數(shù)遵循固定的規(guī)則,每輪左移次數(shù)如表所示71DES4、DES的子密鑰第三階段:將C1、D1合并成得到56位數(shù)據(jù)(C1,D1),經(jīng)置換選擇2(如表所示),也就是經(jīng)固定的規(guī)則,置換選出重新排列48位二進(jìn)制數(shù)據(jù),即為子密鑰k1。72將C1、D1作下一輪的輸入,迭代二三兩個(gè)階段,即可得到k2。這樣經(jīng)16輪迭代即可生成16個(gè)48位的子密鑰。DES5、DES的解密算法DES的解密算法與加密相同,只是子密鑰的使用次序相反。即第一輪用第16個(gè)子密鑰,第二輪用第15個(gè)子密鑰,以此類推,最后一輪用第1個(gè)子密鑰。73DESDES的安全性自從DES被采納為美聯(lián)邦標(biāo)準(zhǔn)以來,其安全性一直充滿著思考和爭(zhēng)論。DES的安全性完全依賴于密鑰,與算法本身沒有關(guān)系。主要涉及密鑰的互補(bǔ)性、弱密鑰與半弱密鑰、密文-明文相關(guān)性、密文-密鑰相關(guān)性、S-盒的設(shè)計(jì)和密鑰搜索技術(shù)等。744、DES的攻擊與破譯早期,DES算法實(shí)際用使用56位密鑰,共有256≈7.2×10

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論