版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1第2講密碼學(xué)基礎(chǔ)2密碼學(xué)的起源和發(fā)展三個(gè)階段:1949年之前密碼學(xué)是一門藝術(shù)1949~1975年密碼學(xué)成為科學(xué)1976年以后密碼學(xué)的新方向——公鑰密碼學(xué)3第1階段-古典密碼
密碼學(xué)還不是科學(xué),而是藝術(shù)出現(xiàn)一些密碼算法和加密設(shè)備密碼算法的基本手段出現(xiàn),針對(duì)的是字符簡單的密碼分析手段出現(xiàn)主要特點(diǎn):數(shù)據(jù)的安全基于算法的保密4第1階段-古典密碼Phaistos圓盤,一種直徑約為160mm的Cretan-Mnoan粘土圓盤,始于公元前17世紀(jì)。表面有明顯字間空格的字母,至今還沒有破解。520世紀(jì)早期密碼機(jī)6第1階段-古典密碼1883年Kerchoffs第一次明確提出了編碼的原則:加密算法應(yīng)建立在算法的公開不影響明文和密鑰的安全。這一原則已得到普遍承認(rèn),成為判定密碼強(qiáng)度的衡量標(biāo)準(zhǔn),實(shí)際上也成為傳統(tǒng)密碼和現(xiàn)代密碼的分界線。7
計(jì)算機(jī)使得基于復(fù)雜計(jì)算的密碼成為可能相關(guān)技術(shù)的發(fā)展1949年Shannon的“TheCommunicationTheoryofSecretSystems”
1967年DavidKahn的《TheCodebreakers》1971-1973年IBMWatson實(shí)驗(yàn)室的HorstFeistel等幾篇技術(shù)報(bào)告主要特點(diǎn):數(shù)據(jù)的安全基于密鑰而不是算法的保密
第2階段1949~197581976年:Diffie&Hellman的
“NewDirectionsinCryptography”
提出了不對(duì)稱密鑰;1977年Rivest,Shamir&Adleman提出了RSA公鑰算法90年代逐步出現(xiàn)橢圓曲線等其他公鑰算法主要特點(diǎn):公鑰密碼使得發(fā)送端和接收端無密鑰傳輸?shù)谋C芡ㄐ懦蔀榭赡艿?階段1976~91977年DES正式成為標(biāo)準(zhǔn)80年代出現(xiàn)“過渡性”的“PostDES”算法,如IDEA,RCx,CAST等90年代對(duì)稱密鑰密碼進(jìn)一步成熟Rijndael,RC6,MARS,Twofish,Serpent等出現(xiàn)2001年Rijndael成為DES的替代者第3階段1976~10保密通信11保密通信的功罪100年前,1894年的中日甲午海戰(zhàn),中國慘敗,其本質(zhì)是由于清政府的腐敗,但其中一個(gè)重要的具體原因,是日方在甲午戰(zhàn)爭前就破譯了清政府使用的密電碼。日方破譯的電報(bào)多達(dá)一百余則,對(duì)清政府的決策、海軍的行蹤等了如指掌,因而日方不僅在海戰(zhàn)中取得了勝利,還迫使清政府簽訂“馬關(guān)條約”,割讓遼東半島、臺(tái)灣及澎湖列島,賠償軍費(fèi)白銀2億兩。12保密通信的功罪1917年1月,正當(dāng)?shù)谝淮问澜绱髴?zhàn)進(jìn)入第三個(gè)年頭時(shí),英國海軍破譯機(jī)關(guān)截收到了德國外長齊默爾曼簽發(fā)的一份密報(bào),經(jīng)過一個(gè)多月的辛勤勞作,終于在2月下旬完全破開了那份密報(bào)。密報(bào)稱,德國將在歐洲進(jìn)行無限制的潛艇戰(zhàn),意思是說,中立國家的船隊(duì)也在其打擊目標(biāo)之列,同時(shí)指出,若美國不再保持中立,就要求墨西哥與德國結(jié)盟,對(duì)美宣戰(zhàn)。英國外交部在權(quán)衡了種種利弊后,到2月22日將此密報(bào)交給了美國政府,德國政府的陰謀激怒了開戰(zhàn)以來一直保持中立并且在三個(gè)月前還聲明繼續(xù)保持中立的美國人,五個(gè)星期后美國對(duì)德宣戰(zhàn),出兵西線,既避免了在美國本土燃起戰(zhàn)火,又加速了協(xié)約國的勝利。13保密通信的功罪1941年12月,日本取得了突襲珍珠港、摧毀美國太平洋艦隊(duì)主力的重大勝利,為了完全控制太平洋,并設(shè)法誘出在珍珠港的美國艦隊(duì)殘部予以徹底消滅,日本制定了于1942年6月突然攻擊夏威夷前哨中途島的計(jì)劃。14保密通信的功罪當(dāng)時(shí)日本海軍使用的是日本最高級(jí)的密碼體制——紫密,它的第二版本JN25b自1940年12月1日啟用后應(yīng)在1942年4月1日內(nèi)第三版本JN25c替換。但由于艦船分散在廣闊的海域不停地轉(zhuǎn)移,給分發(fā)新的版本增添許多困難,因此替換工作延期到5月1日,后因同樣的原因再延期—個(gè)月,到6月1日啟用新版本。這就使盟國破譯人員有充分的時(shí)間更透徹地破解JY25b。5月27日,山本的作戰(zhàn)命令已基本上被破譯,美國太平洋艦隊(duì)司令尼米茲海軍上將發(fā)布作戰(zhàn)計(jì)劃,將3艘航空母艦部署在敵艦不可能偵察到的海域,戰(zhàn)斗打響時(shí)也以突然攻擊的方式打擊日軍的突擊艦隊(duì)。6月4日,日軍4艘巨型航空母艦在一日之內(nèi)相繼被炸沉.從此日本海軍由進(jìn)攻轉(zhuǎn)為防御,最終走向失敗。15保密通信的功罪1943年春天,山本五十六為了控制不斷惡化的殘局,親自前住所羅門群島基地巡視,以鼓舞士氣。在視察前五天,1943年4月13日,日軍第八艦隊(duì)司令將山本行將視察的行程、時(shí)間表,用JN25體制加密后播發(fā)給有關(guān)基地,以作好迎接的準(zhǔn)備,盡管該體制的所用版本在4月1日剛換過,但美國破譯人員根據(jù)過去的經(jīng)驗(yàn),迅速地破譯了這份密報(bào),美軍決定在空中打掉山本的座機(jī),使日軍失去一位戰(zhàn)略家,沉重地打擊日軍士氣。經(jīng)過精心組織,周密安排,終于使山本五十六在飛往視察地途中,被美軍飛機(jī)擊落,葬身于叢林深處。16密碼學(xué)起源密碼是通信雙方按約定的法則進(jìn)行信息特殊變換的一種重要保密手段。依照這些法則,變明文為密文,稱為加密變換;變密文為明文,稱為解密變換。17世紀(jì),英國著名的哲學(xué)家弗朗西斯·培根在他所著的《學(xué)問的發(fā)展》一書中最早給密碼下了定義,他說,“所謂密碼應(yīng)具備三個(gè)必要的條件,即易于翻譯、第三者無法理解、在一定場合下不易引人生疑?!?/p>
加密解密明文密文原始明文17密碼學(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)容。18密碼學(xué)起源大約在4000年以前,在古埃及的尼羅河畔,一位擅長書寫者在貴族的基碑上書寫銘文時(shí)有意用加以變形的象形文字而不是普通的象形文字來寫銘文,從而揭開了有文字記載的密碼史。這篇頗具神秘感的碑文,已具備了密碼的基本特征:把一種符號(hào)(明文)用另一種符號(hào)(密文)代替19密碼學(xué)起源公元前5世紀(jì),古斯巴達(dá)人使用了一種叫做“天書”的器械,這是人類歷史上最早使用的密碼器械。“天書”是一根用草紙條、皮條或羊皮紙條緊緊纏繞的木棍。密信自上而下寫在羊皮紙條上。然后把羊皮紙條解開送出。把羊皮紙條重新纏在一根直徑和原木棍相同的木棍上,這樣字就一圈圈跳出來。20密碼學(xué)起源公元前1世紀(jì)古羅馬凱撒大帝時(shí)代曾使用過一種“代替式密碼”,在這種密碼中,每個(gè)字母都由其后的第三個(gè)字母(按字母順序)所代替。這種代替式密碼直到第二次大戰(zhàn)時(shí)還被日本海軍使用。公元前4世紀(jì)前后,希臘著名作家艾奈阿斯在其著作《城市防衛(wèi)論》中就曾提到一種被稱為“艾奈阿斯繩結(jié)”的密碼。它的作法是從繩子的一端開始,每隔一段距離打一個(gè)繩結(jié),而繩結(jié)之間距離不等,不同的距離表達(dá)不同的字母。21密碼學(xué)起源〈六韜.龍韜.陰符〉武王問太公曰:‘引兵深入諸侯之地,三軍猝有緩急,或利或害。吾將以近通遠(yuǎn),從中應(yīng)外,以給三軍之用。為之奈何?’太公曰:‘主與將,有陰符。凡八等:有大勝克敵之符,長一尺;破軍殺將之符,長九寸;降城得邑之符,長八寸;卻敵報(bào)遠(yuǎn)之符,長七寸;誓眾堅(jiān)守之符,長六寸;請(qǐng)糧益兵之符,長五寸;敗軍亡將之符,長四寸;失利亡士之符,長三寸。諸奉使行符,稽留者,若符事泄,聞?wù)吒嬲?,皆誅之。八符者,主將秘聞,所以陰通言語,不泄中外相知之術(shù)。敵雖圣智,莫之通識(shí)。’武王曰:‘善哉?!?2密碼學(xué)起源〈六韜.龍韜.陰書〉武王問太公曰:‘引兵深入諸侯之地,主將欲合兵,行無窮之變,圖不測之利。其事繁多,符不能明;相去遼遠(yuǎn),言語不通。為之奈何?’太公曰:‘諸有陰事大慮,當(dāng)用書,不用符。主以書遺將,將以書問主。書皆一合而再離,三發(fā)而一知。再離者,分書為三部;三發(fā)而一知者,言三人,人操一分,相參而不知情也。此謂陰書。敵雖圣智,莫之能識(shí)。’武王曰:‘善哉?!?3密碼學(xué)起源在古代還出現(xiàn)過一種被稱為“疊痕法”的密碼,使用時(shí)先把信紙折疊幾下(上下及左右),然后鋪平信紙,將傳遞的信息按順序一個(gè)個(gè)分開,寫在折痕的交叉點(diǎn)上,每一個(gè)交叉點(diǎn)寫一個(gè)字。然后再在空白位置上填上公開的普通信文,普通信文與秘密信文的文字通順地連貫在一起。為了防止被敵人察覺,使用這種密碼需要在編公開信文上下些功夫。如果在秘密信文上再用些暗語式密碼,那么敵人就更難看出破綻了。宋曾公亮、丁度等編撰《武經(jīng)總要》“字驗(yàn)”記載,北宋前期,在作戰(zhàn)中曾用一首五言律詩的40個(gè)漢字,分別代表40種情況或要求,這種方式已具有了密碼本體制的特點(diǎn)。24密碼學(xué)起源暗號(hào)。簡單地說,暗號(hào)就是通過用物件的狀態(tài)或人的行為來傳達(dá)事先約定的信息.如窗臺(tái)上的花瓶、手中拿著的報(bào)紙、口中昨著的曲子,可分別代表“現(xiàn)在安全”、“我是你要找的人”、“我在找自己人”等明確的信息.隱語。暗號(hào)是把信息變換為物件或動(dòng)作,隱語則是把信息變換成與此信息完全無關(guān)的(但有意義的)語言.據(jù)說,1941年,日本偷襲珍珠港前兩星期,美國情報(bào)人員曾截獲一次重要的電話對(duì)話.那是兩名分別在東京和華盛頓的日本高級(jí)官員之間的通話.這段對(duì)話里“小孩出生”的真正意思是“發(fā)動(dòng)戰(zhàn)爭”.在華盛頓的日本人:是不是真的有個(gè)小孩要出生了?在東京的日本人:是的.而且看來馬上就要出生了.在華盛頓的日本人:這個(gè)小孩真的要生了嗎?是在哪個(gè)方向呢?25密碼學(xué)起源16世紀(jì)意大利數(shù)學(xué)家卡爾達(dá)諾發(fā)明的一種保密通信方法,史稱“卡爾達(dá)諾漏格板”.漏格板是一張用硬質(zhì)材料(如硬紙、羊皮、金屬等)做成的板,上面挖了一些長方形的孔,即漏格.26密碼學(xué)起源〈兵經(jīng)百言.衍部.傳〉軍行無通法,則分者不能合,遠(yuǎn)者不能應(yīng)。彼此莫相喻,敗道也。然通而不密,反為敵算。故自金、旌、炮、馬、令箭、起火、烽煙,報(bào)警急外;兩軍相遇,當(dāng)詰暗號(hào);千里而遙,宜用素書,為不成字、無形文、非紙簡。傳者不知,獲者無跡,神乎神乎!或其隔敵絕行,遠(yuǎn)而莫及,則又相機(jī)以為之也。”27密碼學(xué)起源大約在1793年,當(dāng)時(shí)的美國總統(tǒng)托馬斯杰斐遜發(fā)明了一種輪子密碼機(jī)。轉(zhuǎn)動(dòng)輪子使明文中的所有字母全排在一條直線上為止.這時(shí)圓柱體的其他25行字母也因這一行的固定而被固定了.任選這25行中的一行發(fā)出去即為密文.28密碼學(xué)起源“謎”(ENIGMA)密碼最初是由一個(gè)叫胡戈·科赫的荷蘭人發(fā)明的。起初主要提供給想保護(hù)自己生意秘密的公司使用,但其商界的銷路一直不理想。后來德國人將其改裝為軍用型,使之更為復(fù)雜可靠。德國海軍于1926年開始使用“ENIGMA”,陸軍則于1928年開始使用。1933年,納粹最高統(tǒng)帥部通信部決定將“ENIGMA”作為德國國防軍新式閃擊部隊(duì)的通信裝置。德國人在戰(zhàn)爭期間共生產(chǎn)了大約10多萬部“謎”密碼機(jī)。1940年,經(jīng)過盟軍密碼分析學(xué)家的不懈努力,“恩尼格瑪”密碼機(jī)被動(dòng)攻破,盟軍掌握了德軍的許多機(jī)密,而德國軍方卻對(duì)此一無所知。29密碼學(xué)起源傳說,古時(shí)候有一對(duì)夫妻,男的名叫李石匠,女的叫張小花。李石匠靠手藝賺錢,張小花在家紡紗織布。一年,李石匠參加修建石橋,因工程緊張,十一個(gè)月也沒回家一次。張小花獨(dú)自在家只有紡車做伴。一天石匠工地回來一個(gè)工友路過她家,她托這個(gè)工友給丈夫帶去一封書信。30密碼學(xué)起源第六十回吳用智賺玉麒麟梁山泊義軍頭領(lǐng)宋江久慕盧俊義的威名,一心想招取盧俊義上山坐第一把交椅,共圖大業(yè),替天行道。智多星吳用扮成一個(gè)算命先生,利用盧俊義正為躲避“血光之災(zāi)”的惶恐心里,口占四句卦歌,并讓他端書在家宅的墻壁上。盧花灘上有扁舟,俊杰黃昏獨(dú)自游。義到盡頭原是命,反躬逃難必?zé)o憂。這四句詩寫出后,被官府拿到了證據(jù),大興問罪之師,到處捉拿盧俊義,終于把他逼上梁山。3132加密與解密現(xiàn)代密碼學(xué)涉及數(shù)學(xué)(如數(shù)論、有限域、復(fù)雜性理論、組合算法、概率算法等)、物理學(xué)(如量子力學(xué)、現(xiàn)代光學(xué)、混沌動(dòng)力學(xué)等)、信息論、計(jì)算機(jī)科學(xué)等學(xué)科。1949年,信息論之父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ā)展。33加密與解密基于密鑰的算法通常有兩類:對(duì)稱算法和公開密鑰算法。使用一個(gè)密鑰的加/解密。加密時(shí)可以使用一個(gè)參數(shù)K,稱此參數(shù)K為加密密鑰。K可以是很多數(shù)值里的任意值。密鑰K的可能值的范圍叫做密鑰空間。34加密與解密使用兩個(gè)密鑰的加/解密。EK1(P)=CDK2(C)=PDK2
(EK1(P))=P解密密鑰加密密鑰原始明文密文加密解密明文35加密與解密加密通信的模型信源Mm加密器解密器接收者m非法接入者搭線信道(主動(dòng)攻擊)C’搭線信道(被動(dòng)攻擊)密碼分析員m‘密鑰源K1k1密鑰源K2k2密鑰信道36加密與解密對(duì)稱算法就是加密密鑰能夠從解密密鑰中推算出來,反過來也成立。在大多數(shù)對(duì)稱算法中,加/解密密鑰是相同的。這些算法也叫秘密密鑰算法或單密鑰算法。對(duì)稱算法可分為兩類。序列密碼(流密碼)與分組密碼。37序列密碼(流密碼)序列密碼主要應(yīng)用于軍事和外交場合。序列密碼的優(yōu)點(diǎn)是錯(cuò)誤擴(kuò)展小、速度快、利于同步、安全程度高。密鑰流產(chǎn)生器密鑰k明文m密文c異或運(yùn)算38序列密碼偽隨機(jī)序列發(fā)生器是指輸入真隨機(jī)的較短的密鑰(種子)通過某種復(fù)雜的運(yùn)算產(chǎn)生大量的偽隨機(jī)位流。真隨機(jī)序列從真實(shí)世界的自然隨機(jī)性源產(chǎn)生。如自然界中的拋幣。偽隨機(jī)序列用確定的算法產(chǎn)生,不是真正的隨機(jī)序列。偽隨機(jī)序列發(fā)生器指使用短的真隨機(jī)序列(稱為種子)x擴(kuò)展成較長的偽隨機(jī)序列y。隨機(jī)數(shù)是較短的隨機(jī)位序列。seed(short)PRBS(long)011011010010110....39分組密碼分組密碼是將明文按一定的位長分組,明文組和密鑰組的全部經(jīng)過加密運(yùn)算得到密文組。數(shù)據(jù)加密標(biāo)準(zhǔn)DES出自IBM被美國政府正式采納的數(shù)據(jù)加密算法(DataEncryptionAlgorithm,DEA)由中國學(xué)者來學(xué)嘉XuejiaLai和JamesL.Massey在蘇黎世的ETH開發(fā)的國際數(shù)據(jù)加密算法IDEA(InternationalDataEncryptionAlgorithm)比利時(shí)JoanDaemen和VincentRijmen提交,被美國國家標(biāo)準(zhǔn)和技術(shù)研究所(USNationalInstituteofStandardsandTechnology,NIST)選為美國高級(jí)加密標(biāo)準(zhǔn)(AES)的Rijndael。40分組密碼的操作模式電子密碼本ECB(electroniccodebookmode)密碼分組鏈接CBC(cipherblockchaining)密碼反饋CFB(cipherfeedback)輸出反饋OFB(outputfeedback)計(jì)數(shù)器模式CTR)美國NSB在[FIPSPUB74和81]中規(guī)定ANSI在[ANSIX3.106]中規(guī)定
ISO和ISO/IEC在[ISO9732ISO/IEC10116]中規(guī)定分組密碼的操作模式模式描述典型應(yīng)用電子密碼本ECB用相同的密鑰分別對(duì)明文分組加密單個(gè)數(shù)據(jù)的安全傳輸密碼分組鏈接CBC加密算法的輸入是上一個(gè)密文分組和下一個(gè)明文分組的異或普通目的的面向分組的傳輸密碼反饋CFB一次處理J位,上一個(gè)分組密文作為產(chǎn)生一個(gè)偽隨機(jī)數(shù)輸出的加密算法的輸入,該輸出與明文分組異或,作為下一個(gè)分組的輸入普通目的的面向分組的傳輸認(rèn)證輸出反饋OFB與CFB相同,只是加密算法的輸入是上一次DES的輸出噪聲信道上數(shù)據(jù)流的傳輸(如衛(wèi)星傳輸)計(jì)數(shù)器模式CTR)每個(gè)明文分組是加密的計(jì)數(shù)器的異或,對(duì)每個(gè)后續(xù)的分組,計(jì)數(shù)器是累加的。普通目的的面向分組的傳輸用于高速需求42分組密碼的分析方法根據(jù)攻擊者所掌握的信息,可將分組密碼的攻擊分為以下幾類:唯密文攻擊已知明文攻擊選擇明文攻擊攻擊的復(fù)雜度數(shù)據(jù)復(fù)雜度:實(shí)施該攻擊所需輸入的數(shù)據(jù)量處理復(fù)雜度:處理這些數(shù)據(jù)所需要的計(jì)算量43分組密碼的典型攻擊方法最可靠的攻擊辦法:強(qiáng)力攻擊最有效的攻擊:差分密碼分析,通過分析明文對(duì)的差值對(duì)密文對(duì)的差值的影響來恢復(fù)某些密鑰比特.線性密碼分析:本質(zhì)上是一種已知明文攻擊方法,通過尋找一個(gè)給定密碼算法的有效的線性近似表達(dá)式來破譯密碼系統(tǒng)插值攻擊方法密鑰相關(guān)攻擊44強(qiáng)力攻擊窮盡密鑰搜索攻擊:唯密文,2k已知(選擇)明文,2k,k-密鑰長度字典攻擊:明密文對(duì)編成字典,2n,n-分組長度查表攻擊:選擇明文攻擊,給定明文,用所有的2k個(gè)密鑰,預(yù)計(jì)算密文,k-密鑰長度時(shí)間存儲(chǔ)權(quán)衡攻擊:選擇明文攻擊,由窮盡密鑰搜索和查表攻擊混合而成,它在選擇明文攻擊中以時(shí)間換取空間45現(xiàn)代常規(guī)分組加密算法
一種是對(duì)DES進(jìn)行復(fù)合,強(qiáng)化它的抗攻擊能力;另一種是開辟新的方法,即象DES那樣加解密速度快,又具有抗差分攻擊和其他方式攻擊的能力。46現(xiàn)代常規(guī)分組加密算法1.TripleDES2.IDEA3.RC54.RC65.AES其他一些較實(shí)用的算法,如Blowfish,CAST,以及RC2。47雙重DES(DoubleDES)C=EK2(EK1(P))P=DK1(DK2(C))
48Triple-DES的四種模型DES-EEE3:三個(gè)不同密鑰,順序使用三次加密算法DES-EDE3:三個(gè)不同密鑰,依次使用加密-解密-加密算法DES-EEE2:K1=K3,同上DES-EDE2:K1=K3,同上491.TRIPLEDES由于已經(jīng)證明DES不能成為群,見
K.W.CampbellandM.J.WienerProofthatDESisnotagroupInAdvancesinCryptology——Crpto’92.Springer-Verlag,NewYork,1993.于是多重DES,尤其是三重DES還在普遍使用。50雙密鑰的三重DES
(TripleDESwithTwoKeys)C=EK1(DK2(EK1(P)))P=DK1(EK2(DK1(C)))51三密鑰的三重DES
(TripleDESwithThreeKeys)C=EK3(DK2(EK1(P)))=DK3(EK2(DK1(C)))521973年,美國國家標(biāo)準(zhǔn)局(NBS)開始征集聯(lián)邦數(shù)據(jù)加密標(biāo)準(zhǔn)的方案。Feistel等人研究了一種128位的對(duì)稱密鑰系統(tǒng),后IBM改進(jìn)為56位的密鑰系統(tǒng),并提交NBS。1975年3月17日,NBS公布了IBM公司提供的密碼算法,以標(biāo)準(zhǔn)建議的形式在全國范圍內(nèi)征求意見。1977年7月15日,NBS接受這個(gè)建議,數(shù)據(jù)加密標(biāo)準(zhǔn)DES正式頒布,供商業(yè)界和非國防性政府部門使用。DES的歷史53爭論:56位夠長嗎?內(nèi)部結(jié)構(gòu)公開,設(shè)計(jì)原理沒公開?DES的歷史54DES的應(yīng)用1979年,美國銀行協(xié)會(huì)批準(zhǔn)使用1980年,美國國家標(biāo)準(zhǔn)局(ANSI)贊同DES作為私人使用的標(biāo)準(zhǔn),稱之為DEA(ANSIX.392)
1983年,國際化標(biāo)準(zhǔn)組織ISO贊同DES作為國際標(biāo)準(zhǔn),稱之為DEA-1該標(biāo)準(zhǔn)規(guī)定每五年審查一次,計(jì)劃十年后采用新標(biāo)準(zhǔn)最近的一次評(píng)估是在1994年1月,已決定1998年12月以后,DES將不再作為聯(lián)邦加密標(biāo)準(zhǔn)。55DES的描述DES利用56比特串長度的密鑰K來加密長度為64位的明文,得到長度為64位的密文輸入64比特明文數(shù)據(jù)初始置換IP在密鑰控制下16輪迭代初始逆置換IP-1輸出64比特密文數(shù)據(jù)DES算法框圖交換左右32比特
56初始置換IP和初始逆置換IP—1
Li-1(32比特)Ri-1(32比特)Li(32比特)48比特寄存器擴(kuò)充/置換運(yùn)算48比特寄存器子密鑰Ki(48比特)32比特寄存器代換/選擇運(yùn)算置換運(yùn)算PRi(32比特)Li=Ri-1DES的一輪迭代F函數(shù)DES:FunctionFExpansion:3248(擴(kuò)充)S-box:64(壓縮)Permutation:置換
擴(kuò)充/置換運(yùn)算32|01020304|0504|05060708|0908|09101112|1312|13141516|1716|17181920|2120|21222324|2524|25262728|2928|29303132|0160代換/選擇運(yùn)算61S-Box-i62S-Box-ii
63S-Box對(duì)每個(gè)盒,6比特輸入中的第1和第6比特組成的二進(jìn)制數(shù)確定的行,中間4位二進(jìn)制數(shù)用來確定的列。相應(yīng)行、列位置的十進(jìn)制數(shù)的4位二進(jìn)制數(shù)表示作為輸出。例如的輸入為101001,則行數(shù)和列數(shù)的二進(jìn)制表示分別是11和0100,即第3行和第4列,的第3行和第4列的十進(jìn)制數(shù)為3,用4位二進(jìn)制數(shù)表示為0011,所以的輸出為0011。
64
Permutation1607202129122817011523260518311002082414322703091913300622110425子密鑰的產(chǎn)生
k1
(56位)(48位)
ki
(56位)
(48位)64位密鑰置換選擇1
C0(28位)
D0(28位)
循環(huán)左移循環(huán)左移
C1(28位)
D1(28位)
循環(huán)左移循環(huán)左移
Ci(28位)
Di(28位)置換選擇2置換選擇2密鑰表的計(jì)算邏輯循環(huán)左移:11912110232112421225213262142721528
216166置換選擇1(PC-1)和置換選擇2(PC-2)
總結(jié)-DES示意圖68DES的安全性分析DES的安全性完全依賴于密鑰,與算法本身沒有關(guān)系。主要研究內(nèi)容:密鑰的互補(bǔ)性;弱密鑰與半弱密鑰;密文-明文相關(guān)性;密文-密鑰相關(guān)性;S-盒的設(shè)計(jì);密鑰搜索。69弱密鑰弱密鑰:由密鑰k確定的加密函數(shù)與解密函數(shù)相同,即。DES的弱密鑰:如果各輪產(chǎn)生的子密鑰一樣,則加密函數(shù)與解密函數(shù)相同。DES至少有4個(gè)弱密鑰:01010101010101011f1f1f1f0e0e0e0ee0e0e0e0f1f1f1f1fefefefefefefefe70半弱密鑰半弱密鑰:對(duì)于密鑰k,存在一個(gè)不同的密鑰,滿足。DES的半弱密鑰:子密鑰生成過程中只能產(chǎn)生兩個(gè)不同的子密鑰或四個(gè)不同的子密鑰,互為對(duì)合。DES至少有12個(gè)半弱密鑰。71S-盒的設(shè)計(jì)原則S-盒的設(shè)計(jì)原理沒有公開,一些原則如下:所有S-盒的每一行是0,1,…,15的一個(gè)置換;所有S-盒的輸出都不是輸入的線性函數(shù)或仿射函數(shù);S-盒的輸入改變?nèi)我庖晃欢紩?huì)引起輸出中至少兩位發(fā)生變化;對(duì)于任何輸入x(6位),S(x)與S(x⊕001100)至少有兩位不同;對(duì)于任何輸入x(6位),S(x)與S(x⊕00ef00)不相等,e,f取0或1;對(duì)于任意一個(gè)輸入位保持不變而其他五位變化時(shí),輸出中0和1的數(shù)目幾乎相等。72針對(duì)DES的攻擊方法攻擊DES的方法主要有:密鑰窮搜索攻擊,DES算法總的密鑰量為,1998年使用高級(jí)計(jì)算機(jī)的情況下,破譯DES只需56小時(shí);差分攻擊;線性攻擊,較有效的方法;相關(guān)密鑰攻擊等。73DES的破譯1990年,以色列密碼學(xué)家EliBiham和AdiShamir提出了差分密碼分析法,可對(duì)DES進(jìn)行選擇明文攻擊。線性密碼分析比差分密碼分析更有效
74公鑰密碼公開密鑰算法中用作加密的密鑰不同于用作解密的密鑰,而且解密密鑰不能根據(jù)加密密鑰計(jì)算出來(至少在合理假定的長時(shí)間內(nèi)),所以加密密鑰能夠公開,每個(gè)人都能用加密密鑰加密信息,但只有解密密鑰的擁有者才能解密信息。在公開密鑰算法系統(tǒng)中,加密密鑰叫做公開密鑰(簡稱公鑰),解密密鑰叫做秘密密鑰(私有密鑰,簡稱私鑰)。公開密鑰算法主要用于加密/解密、數(shù)字簽名、密鑰交換。75討論議題為什么要設(shè)計(jì)公鑰密碼算法密鑰分配公鑰密碼體制概述及其應(yīng)用公鑰密碼算法的實(shí)現(xiàn)Diffie-Hellman密鑰交換算法背包算法RSA算法EIGamal算法橢圓曲線密碼算法ECC761.為什么要設(shè)計(jì)公鑰密碼體制77密鑰分配(KeyDistribution)保密通信雙方需共享密鑰共享密鑰要經(jīng)常更換A選擇密鑰并手工傳遞給B第三方C選擇密鑰分別手工傳遞給A,B用A,B原有共享密鑰傳送新密鑰與A,B分別有共享密鑰的第三方C傳送新密鑰給A和/或BN個(gè)用戶集需要N(N-1)/2個(gè)共享密鑰密鑰分發(fā)中心(KeyDistributionCenter)78密鑰分發(fā)中心(KDC)每個(gè)用戶與KDC有共享密鑰(MasterKey)N個(gè)用戶,KDC只需分發(fā)N個(gè)MasterKey兩個(gè)用戶間通信用會(huì)話密鑰(SessionKey)用戶必須信任KDCKDC能解密用戶間通信的內(nèi)容79
(1)密鑰管理量的困難傳統(tǒng)密鑰管理:兩兩分別用一對(duì)密鑰時(shí),則n個(gè)用戶需要C(n,2)=n(n-1)/2個(gè)密鑰,當(dāng)用戶量增大時(shí),密鑰空間急劇增大。如:n=100時(shí),C(100,2)=4,995n=5000時(shí),C(5000,2)=12,497,500
(2)數(shù)字簽名的問題傳統(tǒng)加密算法無法實(shí)現(xiàn)抗抵賴的需求。問題的提出80起源公鑰密碼又稱為雙鑰密碼和非對(duì)稱密碼,是1976年由Diffie和Hellman在其“密碼學(xué)新方向”一文中提出的,見劃時(shí)代的文獻(xiàn):
W.DiffieandM.E.Hellman,NewDirectrionsinCryptography,IEEETransactiononInformationTheory,V.IT-22.No.6,Nov1976,PP.644-654RSA公鑰算法是由Rivest,Shamir和Adleman在1978年提出來的,見
CommunitionsoftheACM.Vol.21.No.2.Feb.1978,PP.120-12681公開密鑰密碼的重要特性加密與解密由不同的密鑰完成 加密:mc:c=EK(m)
解密:cm:m=DB(c)=DB(EK(m))知道加密算法,從加密密鑰得到解密密鑰在計(jì)算上是不可行的兩個(gè)密鑰中任何一個(gè)都可以用作加密而另一個(gè)用作解密(不是必須的) m=DB(EK(m))=EK(DB(m))822.公鑰密碼體制的應(yīng)用概述83公鑰加密算法傳統(tǒng)加密過程加密和解密使用相同密鑰明文明文密文84公鑰加密算法公鑰密碼算法加密和解密使用不同密鑰明文明文密文85
用公鑰密碼實(shí)現(xiàn)保密86基于公開密鑰的加密過程87
用公鑰密碼實(shí)現(xiàn)認(rèn)證88基于公開密鑰的認(rèn)證過程89
用公鑰密碼實(shí)現(xiàn)保密與認(rèn)證90
公鑰密鑰的應(yīng)用范圍加密/解密數(shù)字簽名(身份鑒別)密鑰交換算法加/解密數(shù)字簽名密鑰交換RSA是是是Dieffie-Hellman否否是DSS否是否913.公鑰密碼算法92基本思想和要求涉及到各方:發(fā)送方、接收方、攻擊者涉及到數(shù)據(jù):公鑰、私鑰、明文、密文公鑰算法的條件:產(chǎn)生一對(duì)密鑰是計(jì)算可行的已知公鑰和明文,產(chǎn)生密文是計(jì)算可行的接收方利用私鑰來解密密文是計(jì)算可行的對(duì)于攻擊者,利用公鑰來推斷私鑰是計(jì)算不可行的已知公鑰和密文,恢復(fù)明文是計(jì)算不可行的(可選)加密和解密的順序可交換93陷門單向函數(shù)單向陷門函數(shù)是滿足下列條件的函數(shù)f:(1)給定x,計(jì)算y=fk(x)是容易的;(2)給定y,計(jì)算x使x=fk-1(y)是不可行的。(3)存在k,已知k時(shí),對(duì)給定的任何y,若相應(yīng)的x存在,則計(jì)算x使fk-1(y)是容易的。94
公鑰密碼基于的數(shù)學(xué)難題背包問題大整數(shù)分解問題(TheIntegerFactorizationProblem,RSA體制)有限域的乘法群上的離散對(duì)數(shù)問題
(TheDiscreteLogarithmProblem,ElGamal體制)橢圓曲線上的離散對(duì)數(shù)問題(TheEllipticCurveDiscreteLogarithmProblem,
類比的ElGamal體制)95背包問題背包問題:已知一長度為B的背包,及長度分別為a1,a2,...,an的n個(gè)物品。假定這些物品的半徑和背包相同,若從這n個(gè)物品中選出若干個(gè)正好裝滿這個(gè)背包?,F(xiàn)在反過來問:究竟是哪些物品?96背包問題數(shù)學(xué)描述97背包問題求解98超遞增序列背包問題求解方法思路:xi取值只可能為0或者1;如果為0,表示不能裝入對(duì)應(yīng)的物體,否則可以裝入。99超遞增序列背包問題求解方法100Merkle-Hellman背包公鑰算法101Merkle-Hellman背包公鑰算法102Merkle-Hellman背包公鑰算法問題:如何解密?103Merkle-Hellman背包公鑰算法
MH背包公鑰算法是由超遞增序列進(jìn)行變換得到得:104Merkle-Hellman背包公鑰算法
MH背包公鑰算法的公鑰和私鑰105Merkle-Hellman背包公鑰算法
106Merkle-Hellman背包公鑰算法
107Merkle-Hellman背包公鑰算法
108Merkle-Hellman背包公鑰算法
109Merkle-Hellman背包公鑰算法
110Merkle-Hellman背包公鑰算法
111RSA算法概要:Bob選擇保密的素?cái)?shù)p和q,并計(jì)算n=pq;Bob通過gcd(e,(p-1)(q-1))=1來選擇e;Bob通過de≡1(mod(p-1)(q-1))來計(jì)算d;Bob將n和e設(shè)為公開的,p、q、d設(shè)為秘密的;Alice將m加密為c≡me(modn),并將c發(fā)送給Bob;Bob通過計(jì)算m≡cd(modn)解密。112密碼學(xué)RSA:例1選擇兩個(gè)素?cái)?shù):p=17&q=11計(jì)算
n=pq=17×11=187計(jì)算?(n)=(p–1)(q-1)=16×10=160選擇e:gcd(e,160)=1;其中e=7計(jì)算d:de=1mod160
且d<160
,則
d=23
(因?yàn)?3×7=161=10×160+1)公布公鑰KU={7,187}保存私鑰KR={23,17,11}113密碼學(xué)RSA:例1如果待加密的消息M=88(注意:88<187)加密:C=887mod187=11
解密:M=1123mod187=88
密碼學(xué)RSA:例2Bob選擇p=885320693,q=238855417,則可以計(jì)算
n=p*q=211463707796206571,設(shè)加密系數(shù)為e=9007,將n和e發(fā)送給Alice。假設(shè)Alice傳遞的信息是cat。令a=01c=03t=20,則cat=030120=30120。
Alice計(jì)算:c≡me≡301209007≡113535859035722866(modn)
她將c傳給Bob。Bob已知p和q的值,他用擴(kuò)展歐幾里德算法計(jì)算d:
de≡1(mod(p-1)(q-1)),得到
d=116402471153538991
然后Bob計(jì)算:
cd≡113535859035722866116402471153538991≡30120(modn)
由此他可以得到最初的信息。115密碼學(xué)ECCECC:EllipticCurveCryptography1985年,N.Koblitz及V.S.Miller分別提出了橢圓曲線密碼體制(ECC)。已經(jīng)開發(fā)出的橢圓曲線標(biāo)準(zhǔn)的文檔有:IEEEP1363P1363a、ANSIX9.62X9.63、ISO/IEC14888等。近年來,ECC已走向工程實(shí)現(xiàn)和實(shí)際應(yīng)用階段。目前,德國、日本、法國、美國、加拿大等許多西方國家的密碼學(xué)研究小組和公司已經(jīng)實(shí)現(xiàn)了橢圓曲線密碼體制。116密碼學(xué)ECC為什么要提出ECC?RSA主要問題之一:為了保證必要的安全強(qiáng)度,其密鑰必須很長ECC的優(yōu)勢:在同等安全強(qiáng)度下,ECC所需密鑰比RSA短117密碼學(xué)ECC橢圓曲線指的是由韋爾斯特拉斯(Weierstrass)方程所確定的平面曲線。其中,系數(shù)(i=1,2,…,6)定義在基域K上(K可以是有理數(shù)域、實(shí)數(shù)域、復(fù)數(shù)域,還可以是有限域,橢圓曲線密碼體制中用到的橢圓曲線都定義在有限域上)。橢圓曲線并非橢圓118密碼學(xué)ECC群:對(duì)于非空集合G,其上的一個(gè)二元運(yùn)算(.)滿足:封閉性、結(jié)合率、單位元和可逆性環(huán):對(duì)于R上的兩個(gè)二元運(yùn)算(+,x)滿足:關(guān)于+是一個(gè)交換群(群的條件+交換率)對(duì)于乘法x滿足:封閉性+結(jié)合率+分配率域:對(duì)于F上的兩個(gè)運(yùn)算(+,x)滿足F是一個(gè)整環(huán):交換環(huán)+乘法逆元+無零因子乘法逆元存在119密碼學(xué)ECC120密碼學(xué)ECC橢圓曲線加法運(yùn)算規(guī)則:O是加法的單位元,O=-O;對(duì)于橢圓曲線上的任一點(diǎn)P,有P+O=P點(diǎn)P的負(fù)元是與P具有現(xiàn)同x坐標(biāo)和相反y坐標(biāo)的點(diǎn),即若P=(x,y),則-P=(x,-y);P+(P)=O若P=(x1,y),Q=(x2,z),則P+Q=-R。其中R是直線PQ與橢圓曲線的第三個(gè)交點(diǎn)。若P和Q的x坐標(biāo)相同,則為無窮遠(yuǎn)點(diǎn)O若Q=(x,y),則Q+Q=2Q=-S,其中S為橢圓曲線在Q點(diǎn)的切線與橢圓曲線的另一交點(diǎn)。121橢圓曲線密碼學(xué)ECC有限域上橢圓曲線 y2x3+ax+bmodpp是奇素?cái)?shù),且4a3+27b20modp(構(gòu)成Abel群的條件,證明過程略) y2+xyx3+ax2+bmod2m(Galois域的橢圓曲線)122橢圓曲線密碼學(xué)ECC有限域上橢圓曲線 y2x3+ax+bmodp
(3)加法公式:P=(xp,yp),Q=(xQ,yQ)若xP=xQ且yP=-yQ則P+Q=O否則P+Q=(xR,yR)xR=2-xP-xQyR=(xP-xR)-yP其中
=(yQ-yP)/(xQ-xP),如果PQ=(3xP2+a)/(2yP),如果P=Q(1)P+O=P(2)P=(x,y)P+(x,-y)=O其中(x,-y)是P的負(fù)元-P(4)重復(fù)相加:nP=P+…+P按照上述定義構(gòu)成了一個(gè)橢圓曲線上的Abel群123橢圓曲線密碼學(xué)ECC示例:有限域上橢圓曲線
y2x3+ax+bmodp條件:a=1,b=1,x=9,y=7,p=23y2
=72mod23=3x3+ax+b=(93+9+1)mod23=3y2x3+ax+bmodp124橢圓曲線密碼學(xué)ECC示例示例:有限域上橢圓曲線
y2x3+ax+bmodp條件:a=1,b=1,x=9,y=7,p=23問題:求滿足上述方程的所有整數(shù)對(duì)(x,y)以及無窮遠(yuǎn)點(diǎn)O組成的集合Ep(a,b)=E23(1,1)?125橢圓曲線密碼學(xué)ECC示例(0,1)(6,4)(12,19)(0,22)(6,19)(13,7)(1,7)(7,11)(13,16)(1,16)(7,12)(17,3)(3,10)(9,7)(17,20)(3,13)(9,16)(18,3)(4,0)(11,3)(18,20)(5,4)(11,20)(19,5)(5,19)(12,4)(19,18)E23(1,1)126橢圓曲線密碼學(xué)ECC示例(0,1)(6,4)(12,19)(0,22)(6,19)(13,7)(1,7)(7,11)(13,16)(1,16)(7,12)(17,3)(3,10)(9,7)(17,20)(3,13)(9,16)(18,3)(4,0)(11,3)(18,20)(5,4)(11,20)(19,5)(5,19)(12,4)(19,18)E23(1,1)1)P=(0,1),P+O=(0,1)2)P=(13,7)
-P=(13,-7)=(13,16)3)P=(3,10),Q=(9,7)
P+Q=(17,20)4)P=(3,10)
2P=(7,12)127橢圓曲線密碼學(xué)ECCP+Q計(jì)算過程:x3=2-x1-x2y3=(x1-x3)-y1其中=(y2-y1)/(x2-x1),如果PQ=(3x12+a)/2y1,如果P=Q128橢圓曲線密碼學(xué)ECC有限域上橢圓曲線y2+xyx3+ax2+bmod2m(Galois域的橢圓曲線)(3)加法公式:P=(xP,yP),Q=(xQ,yQ),且P≠-Q,P≠Q(mào)則P+Q=(xR,yR)xR=2++xP+xQ+ayR=(xP+xR)+xR+yP其中
=(yQ+yP)/(xQ+xP)(1)P+O=P(2)P=(x,y)P+(x,-y)=O其中(x,-y)是P的負(fù)元-P(4)若P=(xP,yP),則R=2P=(xr,yr)其中:xR=2++ayR=xP2+(+1)xR=xp+yp/xP按照上述定義構(gòu)成了一個(gè)橢圓曲線上的Abel群129橢圓曲線密碼學(xué)ECC橢圓曲線上的離散對(duì)數(shù)“難題”對(duì)于方程Q=kP,其中P,Q屬于Ep(a,b)。對(duì)于給定的k和P,計(jì)算Q比較容易,而對(duì)于給定的P和Q,計(jì)算k比較困難例如:方程y2=(x3+9x+17)mod23所定義的群E23(9,17)。求:P=(16,5)和Q=(4,5)的離散對(duì)數(shù)k?窮舉計(jì)算:P=(16,5),2P=(20,20),3P=(14,14),4P=(19,20),5P=13,10);6P=(7,3),7P=(8,7),8P=(12,17),9P=(4,5)因此k=9130橢圓曲線密碼學(xué)ECC加密/解密實(shí)現(xiàn)Alice->BobStep1:Bob選擇Ep(a,b)的元素G,使得G的階n是一個(gè)大素?cái)?shù),秘密選擇整數(shù)k.計(jì)算P=kG,公開(p,a,b,G,P),保密k。其中Kb=kG為Bob公鑰,Kb‘=k為Bob私鑰Step2:將消息m編碼為x-y形式的點(diǎn)PmStep3:Alice隨機(jī)選擇一個(gè)正整數(shù)r,對(duì)Pm產(chǎn)生密文Cm={rG,Pm+rKb}Step4:Bob解密Cm-Kb’(rG)=Pm+rKb-krG=Pm+r(kG)-rkG=Pm131橢圓曲線密碼學(xué)ECC加密/解密實(shí)現(xiàn)Alice->Bob(示例)Step1:Bob選擇E88331(3,45),G=(4,11),Bob私鑰Kb‘=K=3,Bob公布公鑰Kb=(413,1808)Step2:Pm=(5,1734)
Step3:Alice隨機(jī)選擇一個(gè)正整數(shù)r=8,對(duì)Pm產(chǎn)生密文:Cm={rG,Pm+rKb}={(5415,6321),(6626,3576)}Step4:Bob解密Kb’(rG)=3(5415,6321)=(673,146)Cm-Kb’(rG)=(6626,3576)-(673,146)=(5,1734)132密碼學(xué)序列密碼按位處理消息一般具有一個(gè)偽隨機(jī)密鑰流發(fā)生器對(duì)明文按位進(jìn)行異或運(yùn)算(XOR)以隨機(jī)的密鑰流來破壞消息的統(tǒng)計(jì)特征Ci=MiXORStreamKeyi
133密碼學(xué)序列密碼同步流密碼原理密鑰流生成器密鑰流生成器加密變換解密變換安全信道公開信道種子密鑰k種子密鑰k密鑰流Ki密鑰流Ki明文m密文c密文c明文m134密碼學(xué)序列密碼自同步流密碼原理密鑰流生成器密鑰流生成器加密變換解密變換安全信道公開信道種子密鑰k種子密鑰k密鑰流Ki密鑰流Ki明文m密文c密文c明文m135密碼學(xué)序列密碼:RC4RC:“RC”isRon’sCodeorRivestCipher1987年RonRivest為RSA公司所設(shè)計(jì)的流密碼算法可變密鑰長度的、面向字節(jié)操作的流密碼:8~2048位可變1994年算法才公開在SSL/TLS和IEEE802.11無線網(wǎng)絡(luò)中有廣泛應(yīng)用:WEP協(xié)議136密碼學(xué)序列密碼:RC4用從1到256個(gè)字節(jié)的可變長度密鑰初始化矢量S:0..255,S[0],S[1],…,S[255]S形成了算法的內(nèi)部狀態(tài)密鑰流字節(jié)K由S中255個(gè)元素按照一定方式選出一個(gè)元素來生成每生成一個(gè)K,S中的元素就被重新置換一次RC4初始化137密碼學(xué)序列密碼:RC4初始化S初始條件:密鑰種子Key[],密鑰初始化向量S初始化S:S中元素被置為按升序從0到255:S[0]=0,S[1]=1,…,S[255]=255建立一個(gè)臨時(shí)矢量K如果密鑰種子Key的長度為256字節(jié),則將Key賦值給K;否則將K的值賦給K的前N個(gè)元素(N為密鑰長度),循環(huán)重復(fù)用Key的值賦給K剩下的元素,直到K的所有元素都被賦值然后用K產(chǎn)生S的初始置換從S[0]到S[255],對(duì)每個(gè)S[i],根據(jù)由K[i]確定的方案,將S[i]置換為S中的另外一個(gè)字節(jié)由于對(duì)S的操作僅是交換(即置換),因此S仍然包含所有值為0到255的元素密鑰生成Input:Key[],N=len(key)Output:S[]/*密鑰流初始值*//*Array“key”containsNbytesofkey*//*Array“S”alwayshasapermutationof0,1,…,255*/ fori=0to255 S[i]=i K[i]=key[i(modN)] nexti j=0 fori=0to255 j=(j+S[i]+K[i])mod256 swap(S[i],S[j]) nexti138密碼學(xué)序列密碼:RC4密鑰流KeyStramByte的生成是從S[0]到S[255],對(duì)每個(gè)S[i],根據(jù)當(dāng)前S的值,將S[i]與S中另外一個(gè)字節(jié)置換當(dāng)S[255]完成置換后,操作繼續(xù)重復(fù)加密:將KeyStreamByte值與下一個(gè)明文字節(jié)異或解密:將KeyStreamByte值與下一個(gè)密文字節(jié)異或加密與解密Input:M,S[]Output:Ci=j(luò)=0foreachmessagebyteMii=(i+1)mod256j=(j+S[i])mod256swap(S[i],S[j])t=(S[i]+S[j])mod256KeyStreamByte=S[t]Ci=MiXORKeyStreamByteNextC=C1|C2|…|Cn
139密碼學(xué)序列密碼:RC4對(duì)已知的密碼分析很安全有很多攻擊分析,但不是很實(shí)際結(jié)果非線性絕對(duì)不能重復(fù)使用密鑰在無線保密協(xié)議(WEP)中使用,但是有潛在的安全問題RC4安全性對(duì)于WEP協(xié)議,后續(xù)內(nèi)容將進(jìn)一步討論140硬件加密采用電路、器件等對(duì)硬件本身的加密采用硬件對(duì)軟件和數(shù)據(jù)的加密加密包括:隱藏、防護(hù),防破譯、防竊聽等芯片技術(shù)將軟件算法由硬件芯片實(shí)現(xiàn)壓縮解壓芯片將算法固化在存儲(chǔ)芯片中硬件加解密技術(shù)其他密碼學(xué)知識(shí)141采用軟件方法的加解密技術(shù)程序、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)變換、循環(huán)、迭代循環(huán)、嵌套循環(huán)、迷宮程序等。軟件壓縮還原技術(shù)用于數(shù)據(jù)壓縮、文本壓縮、存儲(chǔ)單元壓縮、影象壓縮技術(shù)等應(yīng)用算法,壓縮加密。壓縮文本成為攻擊對(duì)象,還原問題成為安全的關(guān)鍵研究。軟件加解密技術(shù)其他密碼學(xué)知識(shí)142不知道密碼,可能入侵密碼系統(tǒng)不知道密鑰,仍然可能入侵密碼系統(tǒng)被動(dòng)攻擊:截獲密文,分析推斷出明文的攻擊。主動(dòng)攻擊:向系統(tǒng)注入假信息(串?dāng)_、刪除、增添、篡改、偽造等)手段的攻擊。密碼破譯與竊取其他密碼學(xué)知識(shí)143唯密文攻擊已知明文攻擊選擇明文攻擊選擇密文攻擊密碼分析其他密碼學(xué)知識(shí)144密碼學(xué)與安全性總結(jié)第一階段80年代第二階段90年代第三階段90年代后期信息保密信息保護(hù)信息保障密碼學(xué)保密學(xué)加解密技術(shù)數(shù)據(jù)完整性數(shù)據(jù)可用性數(shù)據(jù)可控性可信環(huán)境可信計(jì)算可信存儲(chǔ)抗抵賴性++++密碼學(xué)145密碼學(xué)與安全性總結(jié)(續(xù))密碼學(xué)(數(shù)學(xué)基礎(chǔ))編碼學(xué)分析學(xué)相輔相成對(duì)立統(tǒng)一機(jī)密性、完整性、可鑒別性、抗抵賴性信息源目標(biāo)服務(wù)密碼學(xué)146密碼學(xué)密碼實(shí)現(xiàn)數(shù)學(xué)發(fā)現(xiàn)密碼算法算法論證復(fù)雜性密鑰配置算法實(shí)現(xiàn)密碼協(xié)議加密解密破譯技術(shù)密鑰技術(shù)密碼應(yīng)用領(lǐng)域應(yīng)用密碼系統(tǒng)密碼管理密鑰管理交叉融合基礎(chǔ)過程結(jié)果密碼學(xué)與安全性總結(jié)(續(xù))密碼學(xué)147計(jì)算復(fù)雜性單向函數(shù)代數(shù)結(jié)構(gòu)密碼分析古典密碼公鑰密碼簽名模式私鑰密碼散列函數(shù)密碼學(xué)協(xié)議密鑰管理操作式抗抵賴機(jī)密性密碼系統(tǒng)的整體設(shè)計(jì)與分析數(shù)學(xué)基礎(chǔ)基本工具密碼學(xué)系統(tǒng)完整性鑒別性密碼學(xué)與安全性總結(jié)(續(xù))密碼學(xué)148信息安全理論與技術(shù)Topic1:信息安全基礎(chǔ)InformationSecurityFoundations密碼學(xué)(Cryptography)消息認(rèn)證(MessageAuthentication)數(shù)字簽名(DigitalSignature)身份認(rèn)證(IdentificationAuthentication)訪問控制(AccessControl)密鑰管理(KeyManagement)計(jì)算機(jī)系統(tǒng)與網(wǎng)絡(luò)安全(ComputerSystemandNetworkFoundation)……信息安全法律法規(guī)與標(biāo)準(zhǔn)化信息安全與法律法規(guī)基本原理國內(nèi)外主要信息安全法律法規(guī)標(biāo)準(zhǔn)化與標(biāo)準(zhǔn)化組織149信息安全基礎(chǔ)
MessageAuthenticationMessageAuthentication:報(bào)文鑒別(消息認(rèn)證,消息鑒別)Message:消息、報(bào)文。Authentication:鑒別、認(rèn)證。認(rèn)證:消息的接收者對(duì)消息進(jìn)行的驗(yàn)證真實(shí)性:消息確實(shí)來自于其真正的發(fā)送者,而非假冒;完整性:消息的內(nèi)容沒有被篡改。是一個(gè)證實(shí)收到的消息來自可信的源點(diǎn)且未被篡改的過程。它也可以驗(yàn)證消息的順序和及時(shí)性150消息認(rèn)證概念三元組(K,T,V)密鑰生成算法K標(biāo)簽算法T驗(yàn)證算法V攻擊者信宿信源認(rèn)證編碼器認(rèn)證譯碼器信道安全信道密鑰源TVK151消息認(rèn)證認(rèn)證函數(shù)鑒別編碼器和鑒別譯碼器可抽象為認(rèn)證函數(shù)認(rèn)證函數(shù)產(chǎn)生一個(gè)鑒別標(biāo)識(shí)(AuthenticationIdentification)給出合理的認(rèn)證協(xié)議(AuthenticationProtocol)接收者完成消息的鑒別(Authentication)152消息認(rèn)證認(rèn)證函數(shù)分類認(rèn)證的函數(shù)分為三類:消息加密函數(shù)(Messageencryption)用完整信息的密文作為對(duì)信息的認(rèn)證。消息認(rèn)證碼MAC(MessageAuthenticationCode)是對(duì)信源消息的一個(gè)編碼函數(shù)。散列函數(shù)
(HashFunction)是一個(gè)公開的函數(shù),它將任意長的信息映射成一個(gè)固定長度的信息。153消息認(rèn)證認(rèn)證函數(shù):加密函數(shù)MEKEK(M)DMK提供保密提供認(rèn)證不提供簽名BobAlice對(duì)稱加密:保密性與認(rèn)證154消息認(rèn)證認(rèn)證函數(shù):加密函數(shù)公鑰加密:保密性MEKaEKa(M)DMK’a提供保密不提供認(rèn)證BobAlice155消息認(rèn)證認(rèn)證函數(shù):加密函數(shù)公鑰加密:認(rèn)證與簽名MDK’bEK’b(M)EMKb提供認(rèn)證BobAlice156消息認(rèn)證認(rèn)證函數(shù):加密函數(shù)公鑰加密:保密、認(rèn)證與簽名MDKaEKa(Dk’b(M))DK’a提供認(rèn)證提供保密性EK’bDk’b(M)Dk’b(M)EKbMBobAlice157消息認(rèn)證認(rèn)證函數(shù):加密函數(shù)公鑰加密:保密、認(rèn)證與簽名??MEK’bEK’b(Eka(M))EKb提供認(rèn)證提供保密性DKaEa(M)Eka(M)DK’aMBobAlice158消息認(rèn)證認(rèn)證函數(shù):消息認(rèn)證碼消息認(rèn)證碼:使用一個(gè)密鑰生成一個(gè)固定大小的短數(shù)據(jù)塊,并將該數(shù)據(jù)塊加載到消息后面,稱MAC(或密碼校驗(yàn)和)
MAC=Ck(M)MAC函數(shù)類似于加密函數(shù),但不需要可逆性。因此在數(shù)學(xué)上比加密算法被攻擊的弱點(diǎn)要少159消息認(rèn)證認(rèn)證函數(shù):消息認(rèn)證碼MAC的基本用法:消息認(rèn)證AliceBobM||KCK(M)CKCM比較提供認(rèn)證160消息認(rèn)證認(rèn)證函數(shù):消息認(rèn)證碼MAC的基本用法:與明文有關(guān)的認(rèn)證M||K1CK(M)CK2CM比較EK2MDK1MAliceBob提供認(rèn)證提供保密161消息認(rèn)證認(rèn)證函數(shù):消息認(rèn)證碼MAC的基本用法:與密文有關(guān)的認(rèn)證M||K1CK1(Ek2(M))CCM比較EK2K1提供認(rèn)證提供保密MMDK2BobAliceEk2(M)162消息認(rèn)證認(rèn)證函數(shù):Hash函數(shù)HashFunction哈希函數(shù)、摘要函數(shù)輸入:任意長度的消息報(bào)文M輸出:一個(gè)固定長度的散列碼值H(M)是報(bào)文中所有比特的函數(shù)值單向函數(shù)根據(jù)是否使用密鑰帶秘密密鑰的Hash函數(shù):消息的散列值由只有通信雙方知道的秘密密鑰K來控制。此時(shí),散列值稱作MAC。不帶秘密密鑰的Hash函數(shù):消息的散列值的產(chǎn)生無需使用密鑰。此時(shí),散列值稱作MDC。Hash函數(shù)需滿足以下條件:輸入x可以為任意長度,輸出為固定長度正向計(jì)算容易,反向計(jì)算困難抗沖突性(無沖突性)163消息認(rèn)證認(rèn)證函數(shù):Hash函數(shù)成熟的HashFunctionMD5:輸入:消息長度任意輸出:128位SHA-1:輸入:消息長度<264輸出:160位164比較認(rèn)證函數(shù):Hash函數(shù)比較項(xiàng)MD5SHA-1MD長度128位160位抗窮舉攻擊能力給定消息的摘要:2128產(chǎn)生兩個(gè)具有相同摘要的消息:264給定消息的摘要:2160產(chǎn)生兩個(gè)具有相同摘要的消息:280抗密碼分析能力對(duì)已知的密碼分析能力弱未知速度64步,緩沖區(qū)128位,快80步,緩沖區(qū)160位,較MD5慢很多簡單性簡單,軟件易實(shí)現(xiàn)簡單,軟件易實(shí)現(xiàn)低位結(jié)構(gòu)于高位結(jié)構(gòu)低位結(jié)構(gòu)高位結(jié)構(gòu)165消息認(rèn)證認(rèn)證函數(shù):Hash函數(shù)哈希函數(shù)的基本用法(a)M||H(M)HKHM比較EKMDMBobAlice提供認(rèn)證提供保密EK(M|H(M))166消息認(rèn)證認(rèn)證函數(shù):Hash函數(shù)哈希函數(shù)的基本用法(b)M||KEK(H(M))HHM比較EDBobAlice提供認(rèn)證K167消息認(rèn)證認(rèn)證函數(shù):Hash函數(shù)哈希函數(shù)的基本用法(c)M||K’bDK’b(H(M))HHM比較DEBobAlice提供認(rèn)證Kb168消息認(rèn)證認(rèn)證函數(shù):Hash函數(shù)哈希函數(shù)的基本用法(d)M||KDK’b(H(M))HHM比較EDBobAlice提供認(rèn)證提供保密KMMDK’bEKbEk(M|DK’b(H(M))169消息認(rèn)證認(rèn)證函數(shù):Hash函數(shù)哈希函數(shù)的基本用法(e)M||H(M||S)||HM比較BobAlice提供認(rèn)證SS||H170消息認(rèn)證認(rèn)證函數(shù):Hash函數(shù)哈希函數(shù)的基本用法(f)M||H(M||S)||KHM比較EKMDMBobAlice提供認(rèn)證提供保密EK(M||H(M||S)SS||H171信息安全規(guī)范與標(biāo)準(zhǔn)-概述Topic1:信息安全基礎(chǔ)InformationSecurityFoundations密碼學(xué)(Cryptography)消息認(rèn)證(MessageAuthentication)數(shù)字簽名(DigitalSignature)身份認(rèn)證(IdentificationAuthentication)訪問控制(AccessControl)計(jì)算機(jī)系統(tǒng)與網(wǎng)絡(luò)安全(ComputerSystemandNetworkFoundation)密鑰管理(KeyManagement)計(jì)算機(jī)系統(tǒng)與網(wǎng)絡(luò)安全(ComputerSystemandNetworkFoundation)
……信息安全法律法規(guī)與標(biāo)準(zhǔn)化信息安全與法律法規(guī)基本原理國內(nèi)外主要信息安全法律法規(guī)標(biāo)準(zhǔn)化與標(biāo)準(zhǔn)化組織172信息安全基礎(chǔ)
數(shù)字簽名數(shù)字簽名:DigitalSignature傳統(tǒng)簽名的基本特點(diǎn)簽名是可信的:能與被簽的文件在物理上不可分割簽名是不可抵賴的:簽名者不能否認(rèn)自己的簽名簽名不能被偽造:除了合法者外,其他任何人不能偽造其簽名簽名是不可復(fù)制的:對(duì)一個(gè)消息的簽名不能通過復(fù)制的方式變?yōu)榱硗庖粋€(gè)消息的簽名簽名是不可改變的:經(jīng)簽名的消息不能被篡改容易被驗(yàn)證數(shù)字簽名是傳統(tǒng)簽名的數(shù)字化能與所簽文件“綁定”簽名者不能否認(rèn)自己的簽名容易被自動(dòng)驗(yàn)證簽名不能被偽造173信息安全基礎(chǔ)
數(shù)字簽名五元組(P,A,K,S,V)P是所有消息組成的有限集A是所有可能的簽名組成的有限集K是所有可能的密鑰組成的有限集S簽名算法D驗(yàn)證算法174信息安全基礎(chǔ)
數(shù)字簽名可分為兩類:直接數(shù)字簽名方案(directdigitalsignature);基于仲裁的數(shù)字簽名方案(arbitrateddigitalsignature)。175數(shù)字簽名直接數(shù)字簽名Sa(M)Eb(Sa(M))M,Sa(H(M))Eb(M,Sa(H(M)))MMSH(M)Ek(H)MDk(H)HHH比較Alice(A)Bob(B)直接簽名Alice(A)Bob(B)加密+簽名Alice(A)Bob(B)Hash+簽名Alice(A)Bob(B)加密+簽名+HashHash+簽名176數(shù)字簽名仲裁數(shù)字簽名Alice(A)Bob(B)Trent(T)M,Eat(IDa,H(M))Ebt(IDa,M,Eat(Ida,H(M)),T))對(duì)稱密碼+明文傳送177數(shù)字簽名仲裁數(shù)字簽名Alice(A)Bob(B)Trent(T)Eab(M),Eat(IDa,Eab(H(M)))Ebt(IDa,Eab(M),Ea
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園環(huán)保實(shí)踐指南模板
- 小學(xué)幾何形狀教學(xué)模板
- 現(xiàn)代小說教學(xué)解讀模板
- 山西傳媒學(xué)院《數(shù)學(xué)模型C》2023-2024學(xué)年第一學(xué)期期末試卷
- 醫(yī)學(xué)影像對(duì)骨髓疾病的輔助診斷
- 2023年高純砷及氧化砷項(xiàng)目融資計(jì)劃書
- 山東職業(yè)學(xué)院《鋼結(jié)構(gòu)設(shè)計(jì)原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 集成墻招商合同范例
- 個(gè)人車庫購房合同范例
- 維修維護(hù)工程合同范例
- 野外生存2-1課件
- (貴州地區(qū))錨桿框架植草護(hù)坡施工方案
- 喜茶營銷策略分析
- 別墅小區(qū)防盜報(bào)警系統(tǒng)設(shè)計(jì)方案
- 2021年人教版五年級(jí)語文上冊(cè)期末試卷及答案
- 各科臨床路徑表單- -全集
- 幼兒園教學(xué)課件《如果地球被我們吃掉了》課件
- DB37∕T 5016-2021 民用建筑外窗工程技術(shù)標(biāo)準(zhǔn)
- 操作系統(tǒng)填空題
- 《阿利的紅斗篷》閱讀題及答案
- DB21∕T 1605-2008 雙條杉天牛檢疫技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論