關(guān)于我們
書(shū)單推薦
新書(shū)推薦
|
應(yīng)用密碼學(xué):協(xié)議、算法與C源程序(原書(shū)第2版)
《計(jì)算機(jī)科學(xué)叢書(shū)·應(yīng)用密碼學(xué):協(xié)議、算法與C源程序(原書(shū)第2版)》共分四個(gè)部分,定義了密碼學(xué)的多個(gè)術(shù)語(yǔ),介紹了密碼學(xué)的發(fā)展及背景,描述了密碼學(xué)從簡(jiǎn)單到復(fù)雜的各種協(xié)議,詳細(xì)討論了密碼技術(shù)。并在此基礎(chǔ)上列舉了如DES、IDEA、RSA、DSA等十多個(gè)算法以及多個(gè)應(yīng)用實(shí)例,并提供了算法的源代碼清單。
《計(jì)算機(jī)科學(xué)叢書(shū)·應(yīng)用密碼學(xué):協(xié)議、算法與C源程序(原書(shū)第2版)》內(nèi)容廣博權(quán)威,具有極大的實(shí)用價(jià)值,是致力于密碼學(xué)研究的專業(yè)及非專業(yè)人員一本難得的好書(shū)。
世界上有兩種密碼:一種是防止小孩偷看你的文件;另一種是防止當(dāng)局閱讀你的文件。本書(shū)寫(xiě)的是后一種情況。
如果把一封信鎖在保險(xiǎn)柜中,把保險(xiǎn)柜藏在紐約的某個(gè)地方,然后告訴你去看這封信,這并不是安全,而是隱藏。相反,如果把一封信鎖在保險(xiǎn)柜中,然后把保險(xiǎn)柜及其設(shè)計(jì)規(guī)范和許多同樣的保險(xiǎn)柜給你,以便你和世界上最好的開(kāi)保險(xiǎn)柜的專家能夠研究鎖的裝置,而你還是無(wú)法打開(kāi)保險(xiǎn)柜去讀這封信,這才是安全的概念。 許多年來(lái),密碼學(xué)是軍隊(duì)專有的領(lǐng)域。NSA和蘇聯(lián)、英國(guó)、法國(guó)、以色列以及其他國(guó)家的安全機(jī)構(gòu)已將大量的財(cái)力投入到加密自己的通信,同時(shí)又千方百計(jì)地破譯別人的通信的殘酷游戲中。面對(duì)這些政府,個(gè)人既無(wú)專業(yè)知識(shí)又無(wú)足夠財(cái)力保護(hù)自己的秘密。 在過(guò)去的20年里,公開(kāi)的密碼學(xué)研究爆炸性地增長(zhǎng)。從第二次世界大戰(zhàn)以來(lái),當(dāng)普通公民還在長(zhǎng)期使用經(jīng)典密碼時(shí),計(jì)算機(jī)密碼學(xué)已成為世界軍事專有的領(lǐng)域。今天,最新的計(jì)算機(jī)密碼學(xué)已應(yīng)用到軍事機(jī)構(gòu)外,現(xiàn)在就連非專業(yè)人員都可以利用密碼技術(shù)去阻止最強(qiáng)大的敵人,包括軍方的安全機(jī)構(gòu)。 普通百姓真的需要這種保密性嗎?是的,他們可能正在策劃一次政治運(yùn)動(dòng),討論稅收或正干一件非法的事情;也可能正設(shè)計(jì)一件新產(chǎn)品,討論一種市場(chǎng)策略,或計(jì)劃接管競(jìng)爭(zhēng)對(duì)手的生意;或者可能生活在一個(gè)不尊重個(gè)人隱私權(quán)的國(guó)家,也可能做一些他們自己認(rèn)為并非違法實(shí)際卻是非法的事情。不管理由是什么,他的數(shù)據(jù)和通信都是私人的、秘密的,與他人無(wú)關(guān)。 本書(shū)正好在混亂的年代出版。1994年,克林頓當(dāng)局核準(zhǔn)了托管加密標(biāo)準(zhǔn)(包括Clipper芯片和Fortezza卡),并將數(shù)字電話法案簽署成為法律。這兩個(gè)行政令企圖確保政府實(shí)施電子監(jiān)控的能力。 一些危險(xiǎn)的Orwellian假設(shè)在作祟:政府有權(quán)偵聽(tīng)私人通信,個(gè)人對(duì)政府保守秘密是錯(cuò)誤的。如果可能,法律總有能力強(qiáng)制實(shí)施法院授權(quán)的監(jiān)控,但是,這是公民第一次被迫采取“積極措施”,以使他們自己能被監(jiān)控。這兩個(gè)行政令并不是政府在某個(gè)模糊范圍內(nèi)的簡(jiǎn)單倡議,而是一種先發(fā)制人的單方面嘗試,旨在侵占以前屬于公民的權(quán)力。 Clipper和數(shù)字電話不保護(hù)隱私,它強(qiáng)迫個(gè)人無(wú)條件地相信政府將尊重他們的隱私。非法竊聽(tīng)小馬丁·路德·金電話的執(zhí)法機(jī)構(gòu),同樣也能容易地竊聽(tīng)用Clipper保護(hù)的電話。最近,地方警察機(jī)關(guān)在不少管區(qū)都有因非法竊聽(tīng)而被控有罪或被提出民事訴訟的事件,這些地方包括馬里蘭、康涅狄格、佛蒙特、佐治亞、密蘇里和內(nèi)華達(dá)。為了隨時(shí)方便警察局的工作而配置這種技術(shù)是很糟糕的想法。 這給我們的教訓(xùn)是采用法律手段并不能充分保護(hù)我們自己,還需要用數(shù)學(xué)來(lái)保護(hù)自己。加密太重要了,不能讓給政府獨(dú)享。 本書(shū)為你提供了一些可用來(lái)保護(hù)自己隱私的工具。提供密碼產(chǎn)品可能被宣布為非法,但提供有關(guān)的信息絕不會(huì)犯法。 怎樣閱讀本書(shū) 我寫(xiě)本書(shū)的目的是為了在真實(shí)地介紹密碼學(xué)的同時(shí)給出全面的參考文獻(xiàn)。我盡量在不損失正確性的情況下保持本書(shū)的可讀性,我不想使本書(shū)成為一本數(shù)學(xué)書(shū)。雖然我無(wú)意給出任何錯(cuò)誤信息,但匆忙中理論難免有失嚴(yán)謹(jǐn)。對(duì)形式方法感興趣的人,可以參考大量的學(xué)術(shù)文獻(xiàn)。 第1章介紹密碼學(xué),定義許多術(shù)語(yǔ),簡(jiǎn)要討論計(jì)算機(jī)出現(xiàn)前密碼學(xué)的情況。 第一部分(第2~6章)描述密碼學(xué)的各種協(xié)議:人們能用密碼學(xué)做什么。協(xié)議范圍從簡(jiǎn)單(一人向另一人發(fā)送加密消息)到復(fù)雜(在電話上拋擲硬幣)再到深?yuàn)W(秘密的和匿名的數(shù)字貨幣交易)。這些協(xié)議中有些一目了然,有些卻十分奇異。密碼學(xué)能夠解決大多數(shù)人絕沒(méi)有認(rèn)識(shí)到的許多問(wèn)題。 第二部分(第7~10章)討論密碼技術(shù)。對(duì)密碼學(xué)的大多數(shù)基本應(yīng)用來(lái)說(shuō),這一部分的4章都很重要。第7章和第8章討論密鑰:密鑰應(yīng)選多長(zhǎng)才能保密,怎樣產(chǎn)生、存儲(chǔ)密鑰,怎樣處理密鑰等。密鑰管理是密碼學(xué)最困難的部分,經(jīng)常是保密系統(tǒng)的一個(gè)致命弱點(diǎn)。第9章討論使用密碼算法的不同方法。第10章給出與算法有關(guān)的細(xì)節(jié):怎樣選擇、實(shí)現(xiàn)和使用算法。 第三部分(第11~23章)列出多個(gè)算法。第11章提供數(shù)學(xué)背景,如果你對(duì)公開(kāi)密鑰算法感興趣,那么這一章你一定要了解。如果你只想實(shí)現(xiàn)DES(或類似的東西),則可以跳過(guò)這一章。第12章討論DES:DES算法、它的歷史、安全性和一些變型。第13~15章討論其他的分組算法:如果你需要比DES更保密的算法,請(qǐng)閱讀IDEA和三重DES算法這節(jié);如果你想知道一系列比DES算法更安全的算法,就請(qǐng)讀完整章。第16章和第17章討論序列密碼算法。第18章集中討論單向散列函數(shù),雖然討論了多種單向散列函數(shù),但MD5和SHA是最通用的。第19章討論公開(kāi)密鑰加密算法。第20章討論公開(kāi)密鑰數(shù)字簽名算法。第21章討論公開(kāi)密鑰鑒別算法。第22章討論公開(kāi)密鑰交換算法。幾種重要的公開(kāi)密鑰算法分別是 RSA、DSA、Fiat-Shamir和Diffie-Hellman。第23章討論更深?yuàn)W的公開(kāi)密鑰算法和協(xié)議,這一章的數(shù)學(xué)知識(shí)非常復(fù)雜,請(qǐng)你做好思想準(zhǔn)備。 第四部分(第24~25章)轉(zhuǎn)向密碼學(xué)的真實(shí)世界。第24章討論這些算法和協(xié)議的一些實(shí)際實(shí)現(xiàn);第25章涉及圍繞密碼學(xué)的一些政治問(wèn)題。這些章節(jié)并不全面。 此外,本書(shū)還包括在第三部分討論的10個(gè)算法的源代碼清單,由于篇幅的限制,不可能給出所有的源代碼,況且密碼的源代碼不能出口(非常奇怪的是,國(guó)務(wù)院允許本書(shū)的第1版和源代碼出口,但不允許含有同樣源代碼的計(jì)算機(jī)磁盤(pán)出口)。配套的源代碼盤(pán)中包括的源代碼比本書(shū)中列出的要多得多,這也許是除軍事機(jī)構(gòu)以外最大的密碼源代碼集。我只能給住在美國(guó)和加拿大的公民發(fā)送源代碼盤(pán),但我希望有一天這種情況會(huì)改變。 對(duì)本書(shū)的一種批評(píng)是,它的廣博性代替了可讀性。這是對(duì)的,但我想給可能偶然在學(xué)術(shù)文獻(xiàn)或產(chǎn)品中需要算法的人提供參考。密碼學(xué)領(lǐng)域正日趨熱門(mén),這是第一次把這么多資料收集在一本書(shū)中。即使這樣,還是有許多東西限于篇幅舍棄了,但盡量保留了那些我認(rèn)為是重要的、有實(shí)用價(jià)值的或者有趣的專題。如果我對(duì)某一專題討論不深,我會(huì)給出深入討論這些專題的參考文獻(xiàn)。 我在寫(xiě)作過(guò)程中已盡力查出和根除書(shū)中的錯(cuò)誤,但我相信不可能消除所有的錯(cuò)誤。第2版肯定比第1版的錯(cuò)誤少得多?闭`表可以從我這里得到,并且它定期發(fā)往Usenet的新聞組 sci.crypt。如果讀者發(fā)現(xiàn)錯(cuò)誤,請(qǐng)通知我,我將不勝感謝。
BruceSchneier是國(guó)際知名的安全技術(shù)專家,被《經(jīng)濟(jì)學(xué)家》(TheEconomist)雜志稱為“安全大師”(Securityguru)。他是12本安全方面技術(shù)圖書(shū)的作者,還是數(shù)百篇文章、雜文和學(xué)術(shù)論文的作者。他的有影響力的通訊“Crypto—Gram”和博客“SchneieronSecurity”有超過(guò)257J的讀者和瀏覽者。他曾在國(guó)會(huì)作證,還經(jīng)常做客電視臺(tái)和廣播電臺(tái),并在幾個(gè)政府委員會(huì)供職。他是哈佛大學(xué)法學(xué)院伯克曼互聯(lián)網(wǎng)和社會(huì)中心的fellow,新美國(guó)基金會(huì)開(kāi)放科技中心的programfellow,電子前哨基金會(huì)的董事會(huì)成員,電子隱私信息中心的咨詢委員會(huì)成員,以及BT(原英國(guó)電信)的安全未來(lái)學(xué)家。
Applied Cryptography:Protocols,Algorithms,and Source Code in C,Second Edition
出版者的話 譯者序 Whitfield Diffie序 前言 第1章 基礎(chǔ)知識(shí) 1.1 專業(yè)術(shù)語(yǔ) 1.1.1 發(fā)送者和接收者 1.1.2 消息和加密 1.1.3 鑒別、完整性和抗抵賴 1.1.4 算法和密鑰 1.1.5 對(duì)稱算法 1.1.6 公開(kāi)密鑰算法 1.1.7 密碼分析 1.1.8 算法的安全性 1.1.9 過(guò)去的術(shù)語(yǔ) 1.2 隱寫(xiě)術(shù) 1.3 代替密碼和換位密碼 1.3.1 代替密碼 1.3.2 換位密碼 1.3.3 轉(zhuǎn)輪機(jī) 1.3.4 進(jìn)一步的讀物 1.4 簡(jiǎn)單異或 1.5 一次一密亂碼本 1.6 計(jì)算機(jī)算法 1.7 大數(shù) 第一部分 密碼協(xié)議 第2章 協(xié)議結(jié)構(gòu)模塊 2.1 協(xié)議概述 2.1.1 協(xié)議的目的 2.1.2 協(xié)議中的角色 2.1.3 仲裁協(xié)議 2.1.4 裁決協(xié)議 2.1.5 自動(dòng)執(zhí)行協(xié)議 2.1.6 對(duì)協(xié)議的攻擊 2.2 使用對(duì)稱密碼系統(tǒng)通信 2.3 單向函數(shù) 2.4 單向散列函數(shù) 2.5 使用公開(kāi)密鑰密碼系統(tǒng)通信 2.5.1 混合密碼系統(tǒng) 2.5.2 Merkle的難題 2.6 數(shù)字簽名 2.6.1 使用對(duì)稱密碼系統(tǒng)和仲裁者對(duì)文件簽名 2.6.2 數(shù)字簽名樹(shù) 2.6.3 使用公開(kāi)密鑰密碼系統(tǒng)對(duì)文件簽名 2.6.4 文件簽名和時(shí)間標(biāo)記 2.6.5 使用公開(kāi)密鑰密碼系統(tǒng)和單向散列函數(shù)對(duì)文件簽名 2.6.6 算法和術(shù)語(yǔ) 2.6.7 多重簽名 2.6.8 抗抵賴和數(shù)字簽名 2.6.9 數(shù)字簽名的應(yīng)用 2.7 帶加密的數(shù)字簽名 2.7.1 重新發(fā)送消息作為收據(jù) 2.7.2 阻止重新發(fā)送攻擊 2.7.3 對(duì)公開(kāi)密鑰密碼系統(tǒng)的攻擊 2.8 隨機(jī)和偽隨機(jī)序列的產(chǎn)生 2.8.1 偽隨機(jī)序列 2.8.2 密碼學(xué)意義上安全的偽隨機(jī)序列 2.8.3 真正的隨機(jī)序列 第3章 基本協(xié)議 3.1 密鑰交換 3.1.1 對(duì)稱密碼系統(tǒng)的密鑰交換 3.1.2 公開(kāi)密鑰密碼系統(tǒng)的密鑰交換 3.1.3 中間人攻擊 3.1.4 連鎖協(xié)議 3.1.5 使用數(shù)字簽名的密鑰交換 3.1.6 密鑰和消息傳輸 3.1.7 密鑰和消息廣播 3.2 鑒別 3.2.1 使用單向函數(shù)鑒別 3.2.2 字典式攻擊和salt 3.2.3 SKEY 3.2.4 使用公開(kāi)密鑰密碼系統(tǒng)鑒別 3.2.5 使用聯(lián)鎖協(xié)議互相鑒別 3.2.6 SKID 3.2.7 消息鑒別 3.3 鑒別和密鑰交換 3.3.1 Wide-Mouth Frog協(xié)議 3.3.2 Yahalom協(xié)議 3.3.3 Needham-Schroeder協(xié)議 3.3.4 Otway-Rees協(xié)議 3.3.5 Kerberos協(xié)議 3.3.6 Neuman-Stubblebine協(xié)議 3.3.7 DASS協(xié)議 3.3.8 Denning-Sacco協(xié)議 3.3.9 Woo-Lam協(xié)議 3.3.10 其他協(xié)議 3.3.11 學(xué)術(shù)上的教訓(xùn) 3.4 鑒別和密鑰交換協(xié)議的形式化分析 3.5 多密鑰公開(kāi)密鑰密碼系統(tǒng) 3.6 秘密分割 3.7 秘密共享 3.7.1 有騙子的秘密共享 3.7.2 沒(méi)有Trent的秘密共享 3.7.3 不暴露共享的秘密共享 3.7.4 可驗(yàn)證的秘密共享 3.7.5 帶預(yù)防的秘密共享 3.7.6 帶除名的秘密共享 3.8 數(shù)據(jù)庫(kù)的密碼保護(hù) 第4章 中級(jí)協(xié)議 4.1 時(shí)間標(biāo)記服務(wù) 4.1.1 仲裁解決方法 4.1.2 改進(jìn)的仲裁解決方法 4.1.3 鏈接協(xié)議 4.1.4 分布式協(xié)議 4.1.5 進(jìn)一步的工作 4.2 閾下信道 4.2.1 閾下信道的應(yīng)用 4.2.2 杜絕閾下的簽名 4.3 不可抵賴的數(shù)字簽名 4.4 指定的確認(rèn)者簽名 4.5 代理簽名 4.6 團(tuán)體簽名 4.7 失敗終止數(shù)字簽名 4.8 加密數(shù)據(jù)計(jì)算 4.9 位承諾 4.9.1 使用對(duì)稱密碼系統(tǒng)的位承諾 4.9.2 使用單向函數(shù)的位承諾 4.9.3 使用偽隨機(jī)序列發(fā)生器的位承諾 4.9.4 模糊點(diǎn) 4.10 公平的硬幣拋擲 4.10.1 使用單向函數(shù)的拋幣協(xié)議 4.10.2 使用公開(kāi)密鑰密碼系統(tǒng)的拋幣協(xié)議 4.10.3 拋幣入井協(xié)議 4.10.4 使用拋幣產(chǎn)生密鑰 4.11 智力撲克 4.11.1 三方智力撲克 4.11.2 對(duì)撲克協(xié)議的攻擊 4.11.3 匿名密鑰分配 4.12 單向累加器 4.13 秘密的全或無(wú)泄露 4.14 密鑰托管 第5章 高級(jí)協(xié)議 5.1 零知識(shí)證明 5.1.1 基本的零知識(shí)協(xié)議 5.1.2 圖同構(gòu) 5.1.3 漢密爾頓圈 5.1.4 并行零知識(shí)證明 5.1.5 非交互式零知識(shí)證明 5.1.6 一般性 5.2 身份的零知識(shí)證明 5.2.1 國(guó)際象棋特級(jí)大師問(wèn)題 5.2.2 黑手黨騙局 5.2.3 恐怖分子騙局 5.2.4 建議的解決方法 5.2.5 多重身份騙局 5.2.6 出租護(hù)照 5.2.7 成員資格證明 5.3 盲簽名 5.3.1 完全盲簽名 5.3.2 盲簽名協(xié)議 5.3.3 專利 5.4 基于身份的公開(kāi)密鑰密碼系統(tǒng) 5.5 不經(jīng)意傳輸 5.6 不經(jīng)意簽名 5.7 同時(shí)簽約 5.7.1 帶有仲裁者的簽約 5.7.2 無(wú)需仲裁者的同時(shí)簽約:面對(duì)面 5.7.3 無(wú)需仲裁者的同時(shí)簽約:非面對(duì)面 5.7.4 無(wú)需仲裁者的同時(shí)簽約:使用密碼系統(tǒng) 5.8 數(shù)字證明郵件 5.9 秘密的同時(shí)交換 第6章 深?yuàn)W的協(xié)議 6.1 保密選舉 6.1.1 簡(jiǎn)單投票協(xié)議 6.1.2 簡(jiǎn)單投票協(xié)議 6.1.3 使用盲簽名投票 6.1.4 帶有兩個(gè)中央機(jī)構(gòu)的投票 6.1.5 帶有單個(gè)中央機(jī)構(gòu)的投票 6.1.6 改進(jìn)的帶有單個(gè)中央機(jī)構(gòu)的投票 6.1.7 無(wú)需中央制表機(jī)構(gòu)的投票 6.1.8 其他投票方案 6.2 保密的多方計(jì)算 6.2.1 協(xié)議 6.2.2 協(xié)議 6.2.3 協(xié)議 6.2.4 協(xié)議 6.2.5 無(wú)條件多方安全協(xié)議 6.2.6 保密電路計(jì)算 6.3 匿名消息廣播 6.4 數(shù)字現(xiàn)金 6.4.1 協(xié)議 6.4.2 協(xié)議 6.4.3 協(xié)議 6.4.4 協(xié)議 6.4.5 數(shù)字現(xiàn)金和高明的犯罪 6.4.6 實(shí)用化的數(shù)字現(xiàn)金 6.4.7 其他數(shù)字現(xiàn)金協(xié)議 6.4.8 匿名信用卡 第二部分 密碼技術(shù) 第7章 密鑰長(zhǎng)度 7.1 對(duì)稱密鑰長(zhǎng)度 7.1.1 窮舉攻擊所需時(shí)間和金錢估計(jì) 7.1.2 軟件破譯機(jī) 7.1.3 神經(jīng)網(wǎng)絡(luò) 7.1.4 病毒 7.1.5 中國(guó)式抽彩法 7.1.6 生物工程技術(shù) 7.1.7 熱力學(xué)的局限性 7.2 公開(kāi)密鑰長(zhǎng)度 7.2.1 DNA計(jì)算法 7.2.2 量子計(jì)算法 7.3 對(duì)稱密鑰和公開(kāi)密鑰長(zhǎng)度的比較 7.4 對(duì)單向散列函數(shù)的生日攻擊 7.5 密鑰應(yīng)該多長(zhǎng) 7.6 小結(jié) 第8章 密鑰管理 8.1 產(chǎn)生密鑰 8.1.1 減少的密鑰空間 8.1.2 弱密鑰選擇 8.1.3 隨機(jī)密鑰 8.1.4 通行短語(yǔ) 8.1.5 X9.17密鑰產(chǎn)生 8.1.6 DoD密鑰產(chǎn)生 8.2 非線性密鑰空間 8.3 傳輸密鑰 8.4 驗(yàn)證密鑰 8.4.1 密鑰傳輸中的錯(cuò)誤檢測(cè) 8.4.2 解密過(guò)程中的錯(cuò)誤檢測(cè) 8.5 使用密鑰 8.6 更新密鑰 8.7 存儲(chǔ)密鑰 8.8 備份密鑰 8.9 泄露密鑰 8.10 密鑰有效期 8.11 銷毀密鑰 8.12 公開(kāi)密鑰的密鑰管理 8.12.1 公開(kāi)密鑰證書(shū) 8.12.2 分布式密鑰管理 第9章 算法類型和模式 9.1 電子密碼本模式 9.2 分組重放 9.3 密碼分組鏈接模式 9.3.1 初始化向量 9.3.2 填充 9.3.3 錯(cuò)誤擴(kuò)散 9.3.4 安全問(wèn)題 9.4 序列密碼算法 9.5 自同步序列密碼 9.6 密碼反饋模式 9.6.1 初始化向量 9.6.2 錯(cuò)誤擴(kuò)散 9.7 同步序列密碼 9.8 輸出反饋模式 9.8.1 初始化向量 9.8.2 錯(cuò)誤擴(kuò)散 9.8.3 安全問(wèn)題 9.8.4 OFB模式中的序列密碼 9.9 計(jì)數(shù)器模式 9.10 其他分組密碼模式 9.10.1 分組鏈接模式 9.10.2 擴(kuò)散密碼分組鏈接模式 9.10.3 帶校驗(yàn)和的密碼分組鏈接 9.10.4 帶非線性函數(shù)的輸出反饋 9.10.5 其他模式 9.11 選擇密碼模式 9.12 交錯(cuò) 9.13 分組密碼與序列密碼 第10章 使用算法 10.1 選擇算法 10.2 公開(kāi)密鑰密碼系統(tǒng)與對(duì)稱密碼系統(tǒng) 10.3 通信信道加密 10.3.1 鏈鏈加密 10.3.2 端端加密 10.3.3 兩者的結(jié)合 10.4 用于存儲(chǔ)的加密數(shù)據(jù) 10.4.1 非關(guān)聯(lián)密鑰 10.4.2 驅(qū)動(dòng)器級(jí)與文件級(jí)加密 10.4.3 提供加密驅(qū)動(dòng)器的隨機(jī)存取 10.5 硬件加密與軟件加密 10.5.1 硬件 10.5.2 軟件 10.6 壓縮、編碼及加密 10.7 檢測(cè)加密 10.8 密文中隱藏密文 10.9 銷毀信息 第三部分 密碼算法 第11章 數(shù)學(xué)背景 11.1 信息論 11.1.1 熵和不確定性 11.1.2 語(yǔ)言信息率 11.1.3 密碼系統(tǒng)的安全性 11.1.4 唯一解距離 11.1.5 信息論的運(yùn)用 11.1.6 混亂和擴(kuò)散 11.2 復(fù)雜性理論 11.2.1 算法的復(fù)雜性 11.2.2 問(wèn)題的復(fù)雜性 11.2.3 NP完全問(wèn)題 11.3 數(shù)論 11.3.1 模運(yùn)算 11.3.2 素?cái)?shù) 11.3.3 最大公因子 11.3.4 求模逆元 11.3.5 求系數(shù) 11.3.6 費(fèi)爾馬小定理 11.3.7 歐拉φ函數(shù) 11.3.8 中國(guó)剩余定理 11.3.9 二次剩余 11.3.10 勒讓德符號(hào) 11.3.11 雅可比符號(hào) 11.3.12 Blum整數(shù) 11.3.13 生成元 11.3.14 伽羅瓦域中的計(jì)算 11.4 因子分解 11.5 素?cái)?shù)的產(chǎn)生 11.5.1 Solovag-Strassen 11.5.2 Lehmann 11.5.3 Rabin-Miller 11.5.4 實(shí)際考慮 11.5.5 強(qiáng)素?cái)?shù) 11.6 有限域上的離散對(duì)數(shù) 第12章 數(shù)據(jù)加密標(biāo)準(zhǔn) 12.1 背景 12.1.1 標(biāo)準(zhǔn)的開(kāi)發(fā) 12.1.2 標(biāo)準(zhǔn)的采用 12.1.3 DES設(shè)備的鑒定和認(rèn)證 12.1.4 1987年的標(biāo)準(zhǔn) 12.1.5 1993年的標(biāo)準(zhǔn) 12.2 DES的描述 12.2.1 算法概要 12.2.2 初始置換 12.2.3 密鑰置換 12.2.4 擴(kuò)展置換 12.2.5 S盒代替 12.2.6 P盒置換 12.2.7 末置換 12.2.8 DES解密 12.2.9 DES的工作模式 12.2.10 DES的硬件和軟件實(shí)現(xiàn) 12.3 DES的安全性 12.3.1 弱密鑰 12.3.2 補(bǔ)密鑰 12.3.3 代數(shù)結(jié)構(gòu) 12.3.4 密鑰的長(zhǎng)度 12.3.5 迭代的次數(shù) 12.3.6 S盒的設(shè)計(jì) 12.3.7 其他結(jié)論 12.4 差分及線性分析 12.4.1 差分密碼分析 12.4.2 相關(guān)密鑰密碼分析 12.4.3 線性密碼分析 12.4.4 未來(lái)的方向 12.5 實(shí)際設(shè)計(jì)準(zhǔn)則 12.6 DES的各種變型 12.6.1 多重DES 12.6.2 使用獨(dú)立子密鑰的DES 12.6.3 DESX 12.6.4 CRYPT(3) 12.6.5 GDES 12.6.6 更換S盒的DES 12.6.7 RDES 12.6.8 snDES 12.6.9 使用相關(guān)密鑰S盒的DES 12.7 DES現(xiàn)今的安全性 第13章 其他分組密碼算法 13.1 Lucifer算法 13.2 Madryga算法 13.2.1 Madryga的描述 13.2.2 Madryga的密碼分析 13.3 NewDES算法 13.4 FEAL算法 13.4.1 FEAL的描述 13.4.2 FEAL的密碼分析 13.4.3 專利 13.5 REDOC算法 13.5.1 REDOC Ⅲ 13.5.2 專利和許可證 13.6 LOKI算法 13.6.1 LOKI 13.6.2 LOKI91的描述 13.6.3 LOKI91的密碼分析 13.6.4 專利和許可證 13.7 Khufu和Khafre算法 13.7.1 Khufu 13.7.2 Khafre 13.7.3 專利 13.8 RC2算法 13.9 IDEA算法 13.9.1 IDEA 13.9.2 IDEA的描述 13.9.3 IDEA的速度 13.9.4 IDEA的密碼分析 13.9.5 IDEA的操作方式和變型 13.9.6 敬告使用者 13.9.7 專利和許可證 13.10 MMB算法 13.11 CA-1.1算法 13.12 Skipjack算法 第14章 其他分組密碼算法(續(xù)) 14.1 GOST算法 14.1.1 GOST的描述 14.1.2 GOST的密碼分析 14.2 CAST算法 14.3 Blowfish算法 14.3.1 Blowfish的描述 14.3.2 Blowfish的安全性 14.4 SAFER算法 14.4.1 SAFER K-64的描述 14.4.2 SAFER K- 14.4.3 SAFER K-64的安全性 14.5 3-Way算法 14.6 Crab算法 14.7 SXAL8/MBAL算法 14.8 RC5算法 14.9 其他分組密碼算法 14.10 分組密碼設(shè)計(jì)理論 14.10.1 Feistel網(wǎng)絡(luò) 14.10.2 簡(jiǎn)單關(guān)系 14.10.3 群結(jié)構(gòu) 14.10.4 弱密鑰 14.10.5 強(qiáng)的抗差分攻擊和線性攻擊 14.10.6 S盒的設(shè)計(jì) 14.10.7 設(shè)計(jì)分組密碼 14.11 使用單向散列函數(shù) 14.11.1 Karn 14.11.2 Luby-Rackoff 14.11.3 消息摘要密碼 14.11.4 基于單向散列函數(shù)的密碼安全性 14.12 分組密碼算法的選擇 第15章 組合分組密碼 15.1 雙重加密 15.2 三重加密 15.2.1 用兩個(gè)密鑰進(jìn)行三重加密 15.2.2 用三個(gè)密鑰進(jìn)行三重加密 15.2.3 用最小密鑰進(jìn)行三重加密 15.2.4 三重加密模式 15.2.5 三重加密的變型 15.3 加倍分組長(zhǎng)度 15.4 其他多重加密方案 15.4.1 雙重OFB/計(jì)數(shù)器 15.4.2 ECB+OFB 15.4.3 xDESi 15.4.4 五重加密 15.5 縮短CDMF密鑰 15.6 白化 15.7 級(jí)聯(lián)多重加密算法 15.8 組合多重分組算法 第16章 偽隨機(jī)序列發(fā)生器和序列密碼 16.1 線性同余發(fā)生器 16.2 線性反饋移位寄存器 16.3 序列密碼的設(shè)計(jì)與分析 16.3.1 線性復(fù)雜性 16.3.2 相關(guān)免疫性 16.3.3 其他攻擊 16.4 使用LFSR的序列密碼 16.4.1 Geffe發(fā)生器 16.4.2 推廣的Geffe發(fā)生器 16.4.3 Jennings發(fā)生器 16.4.4 Beth-Piper停走式發(fā)生器 16.4.5 交錯(cuò)停走式發(fā)生器 16.4.6 雙側(cè)停走式發(fā)生器 16.4.7 門(mén)限發(fā)生器 16.4.8 自采樣發(fā)生器 16.4.9 多倍速率內(nèi)積式發(fā)生器 16.4.10 求和式發(fā)生器 16.4.11 DNRSG 16.4.12 Gollmann級(jí)聯(lián) 16.4.13 收縮式發(fā)生器 16.4.14 自收縮式發(fā)生器 16.5 A5算法 16.6 Hughes XPD/KPD算法 16.7 Nanoteq算法 16.8 Rambutan算法 16.9 附加式發(fā)生器 16.9.1 Fish發(fā)生器 16.9.2 Pike發(fā)生器 16.9.3 Mush發(fā)生器 16.10 Gifford算法 16.11 M算法 16.12 PKZIP算法 第17章 其他序列密碼和真隨機(jī)序列發(fā)生器 17.1 RC4算法 17.2 SEAL算法 17.2.1 偽隨機(jī)函數(shù)族 17.2.2 SEAL的描述 17.2.3 SEAL的安全性 17.2.4 專利和許可證 17.3 WAKE算法 17.4 帶進(jìn)位的反饋移位寄存器 17.5 使用FCSR的序列密碼 17.5.1 級(jí)聯(lián)發(fā)生器 17.5.2 FCSR組合發(fā)生器 17.5.3 LFSR/FCSR加法/奇偶級(jí)聯(lián) 17.5.4 交錯(cuò)停走式發(fā)生器 17.5.5 收縮式發(fā)生器 17.6 非線性反饋移位寄存器 17.7 其他序列密碼 17.7.1 Pless發(fā)生器 17.7.2 蜂窩式自動(dòng)發(fā)生器 17.7.3 1/p發(fā)生器 17.7.4 crypt(1) 17.7.5 其他方案 17.8 序列密碼設(shè)計(jì)的系統(tǒng)理論方法 17.9 序列密碼設(shè)計(jì)的復(fù)雜性理論方法 17.9.1 Shamir偽隨機(jī)數(shù)發(fā)生器 17.9.2 Blum-Micali發(fā)生器 17.9.3 RSA 17.9.4 Blum、Blum和Shub 17.10 序列密碼設(shè)計(jì)的其他方法 17.10.1 Rip van Winkle密碼 17.10.2 Diffie隨機(jī)序列密碼 17.10.3 Maurer隨機(jī)序列密碼 17.11 級(jí)聯(lián)多個(gè)序列密碼 17.12 選擇序列密碼 17.13 從單個(gè)偽隨機(jī)序列發(fā)生器產(chǎn)生多個(gè)序列 17.14 真隨機(jī)序列發(fā)生器 17.14.1 RAND表 17.14.2 使用隨機(jī)噪聲 17.14.3 使用計(jì)算機(jī)時(shí)鐘 17.14.4 測(cè)量鍵盤(pán)反應(yīng)時(shí)間 17.14.5 偏差和相關(guān)性 17.14.6 提取隨機(jī)性 第18章 單向散列函數(shù) 18.1 背景 18.1.1 單向散列函數(shù)的長(zhǎng)度 18.1.2 單向散列函數(shù)綜述 18.2 Snefru算法 18.3 N-Hash算法 18.4 MD4算法 18.5 MD5算法 18.5.1 MD5的描述 18.5.2 MD5的安全性 18.6 MD2算法 18.7 安全散列算法 18.7.1 SHA的描述 18.7.2 SHA的安全性 18.8 RIPE-MD算法 18.9 HAVAL算法 18.10 其他單向散列函數(shù) 18.11 使用對(duì)稱分組算法的單向散列函數(shù) 18.11.1 散列長(zhǎng)度等于分組長(zhǎng)度的方案 18.11.2 改進(jìn)的Davies-Meyer 18.11.3 Preneel-Bosselaers-Govaerts-Vandewalle 18.11.4 Quisquater-Girault 18.11.5 LOKI雙分組 18.11.6 并行Davies-Meyer 18.11.7 串聯(lián)和并聯(lián)Davies-Meyer 18.11.8 MDC-2和MDC- 18.11.9 AR散列函數(shù) 18.11.10 GOST散列函數(shù) 18.11.11 其他方案 18.12 使用公開(kāi)密鑰算法 18.13 選擇單向散列函數(shù) 18.14 消息鑒別碼 18.14.1 CBC-MAC 18.14.2 消息鑒別算法 18.14.3 雙向MAC 18.14.4 Jueneman方法 18.14.5 RIPE-MAC 18.14.6 IBC-Hash 18.14.7 單向散列函數(shù)MAC 18.14.8 序列密碼MAC 第19章 公開(kāi)密鑰算法 19.1 背景 19.2 背包算法 19.2.1 超遞增背包 19.2.2 由私人密鑰產(chǎn)生公開(kāi)密鑰 19.2.3 加密 19.2.4 解密 19.2.5 實(shí)際的實(shí)現(xiàn)方案 19.2.6 背包的安全性 19.2.7 背包變型 19.2.8 專利 19.3 RSA算法 19.3.1 RSA的硬件實(shí)現(xiàn) 19.3.2 RSA的速度 19.3.3 軟件加速 19.3.4 RSA的安全性 19.3.5 對(duì)RSA的選擇密文攻擊 19.3.6 對(duì)RSA的公共模數(shù)攻擊 19.3.7 對(duì)RSA的低加密指數(shù)攻擊 19.3.8 對(duì)RSA的低解密指數(shù)攻擊 19.3.9 經(jīng)驗(yàn) 19.3.10 對(duì)RSA的加密和簽名攻擊 19.3.11 標(biāo)準(zhǔn) 19.3.12 專利 19.4 Pohlig-Hellman算法 19.5 Rabin算法 19.6 ElGamal算法 19.6.1 ElGamal簽名 19.6.2 ElGamal加密 19.6.3 速度 19.6.4 專利 19.7 McEliece算法 19.8 橢圓曲線密碼系統(tǒng) 19.9 LUC算法 19.10 有限自動(dòng)機(jī)公開(kāi)密鑰密碼系統(tǒng) 第20章 公開(kāi)密鑰數(shù)字簽名算法 20.1 數(shù)字簽名算法 20.1.1 對(duì)通告的反應(yīng) 20.1.2 DSA的描述 20.1.3 快速預(yù)計(jì)算 20.1.4 DSA的素?cái)?shù)產(chǎn)生 20.1.5 使用DSA的ElGamal加密 20.1.6 使用DSA的RSA加密 20.1.7 DSA的安全性 20.1.8 攻擊k 20.1.9 公共模數(shù)的危險(xiǎn) 20.1.10 DSA中的閾下信道 20.1.11 專利 20.2 DSA的變型 20.3 GOST數(shù)字簽名算法 20.4 離散對(duì)數(shù)簽名方案 20.5 Ong-Schnorr-Shamir簽名方案 20.6 ESIGN簽名方案 20.6.1 ESIGN的安全性 20.6.2 專利 20.7 細(xì)胞自動(dòng)機(jī) 20.8 其他公開(kāi)密鑰算法 第21章 鑒別方案 21.1 Feige-Fiat-Shamir算法 21.1.1 簡(jiǎn)化的Feige-Fiat-Shamir身份鑒別方案 21.1.2 Feige-Fiat-Shamir身份鑒別方案 21.1.3 例子 21.1.4 加強(qiáng)方案 21.1.5 Fiat-Shamir簽名方案 21.1.6 改進(jìn)的Fiat-Shamir簽名方案 21.1.7 其他加強(qiáng)方案 21.1.8 Ohta-Okamoto身份鑒別方案 21.1.9 專利 21.2 Guillou-Quisquater算法 21.2.1 Guillou-Quisquater身份鑒別方案 21.2.2 Guillou-Quisquater數(shù)字簽名方案 21.2.3 多重簽名 21.3 Schnorr算法 21.3.1 鑒別協(xié)議 21.3.2 數(shù)字簽名協(xié)議 21.3.3 專利 21.4 將身份鑒別方案轉(zhuǎn)為數(shù)字簽名方案 第22章 密鑰交換算法 22.1 Diffie-Hellman算法 22.1.1 三方或多方Diffie-Hellman 22.1.2 擴(kuò)展Diffie-Hellman 22.1.3 Hughes 22.1.4 不用交換密鑰的密鑰交換 22.1.5 專利 22.2 站間協(xié)議 22.3 Shamir的三次傳遞協(xié)議 22.4 COMSET協(xié)議 22.5 加密密鑰交換 22.5.1 基本EKE協(xié)議 22.5.2 用RSA實(shí)現(xiàn)EKE 22.5.3 用ElGamal實(shí)現(xiàn)EKE 22.5.4 用Diffie-Hellman實(shí)現(xiàn)EKE 22.5.5 加強(qiáng)的EKE 22.5.6 擴(kuò)充的EKE 22.5.7 EKE的應(yīng)用 22.6 加強(qiáng)的密鑰協(xié)商 22.7 會(huì)議密鑰分發(fā)和秘密廣播 22.7.1 會(huì)議密鑰分發(fā) 22.7.2 Tatebayashi-Matsuzaki-Newman 第23章 協(xié)議的專用算法 23.1 多重密鑰的公開(kāi)密鑰密碼系統(tǒng) 23.2 秘密共享算法 23.2.1 LaGrange插值多項(xiàng)式方案 23.2.2 矢量方案 23.2.3 Asmuth-Bloom 23.2.4 Kamin-Greene-Hellman 23.2.5 高級(jí)門(mén)限方案 23.2.6 有騙子情況下的秘密共享 23.3 閾下信道 23.3.1 Ong-Schnorr-Shamir 23.3.2 ElGamal 23.3.3 ESIGN 23.3.4 DSA 23.3.5 挫敗DSA閾下信道 23.3.6 其他方案 23.4 不可抵賴的數(shù)字簽名 23.5 指定的確認(rèn)者簽名 23.6 用加密數(shù)據(jù)計(jì)算 23.7 公平的硬幣拋擲 23.7.1 利用平方根的硬幣拋擲 23.7.2 利用模p指數(shù)運(yùn)算的硬幣拋擲 23.7.3 利用Blum整數(shù)的硬幣拋擲 23.8 單向累加器 23.9 秘密的全或無(wú)泄露 23.10 公正和故障保險(xiǎn)密碼系統(tǒng) 23.10.1 公正的Diffie-Hellman 23.10.2 故障保險(xiǎn)的Diffie-Hellman 23.11 知識(shí)的零知識(shí)證明 23.11.1 離散對(duì)數(shù)的零知識(shí)證明 23.11.2 破譯RSA能力的零知識(shí)證明 23.11.3 n是一個(gè)Blum整數(shù)的零知識(shí)證明 23.12 盲簽名 23.13 不經(jīng)意傳輸 23.14 保密的多方計(jì)算 23.15 概率加密 23.16 量子密碼學(xué) 第四部分 真實(shí)世界 第24章 實(shí)現(xiàn)方案實(shí)例 24.1 IBM秘密密鑰管理協(xié)議 24.2 MITRENET 24.3 ISDN 24.3.1 密鑰 24.3.2 呼叫 24.4 STU-Ⅲ 24.5 Kerberos 24.5.1 Kerberos模型 24.5.2 Kerberos工作原理 24.5.3 憑證 24.5.4 Kerberos第5版消息 24.5.5 最初票據(jù)的獲取 24.5.6 服務(wù)器票據(jù)的獲取 24.5.7 服務(wù)請(qǐng)求 24.5.8 Kerberos第4版 24.5.9 Kerberos的安全性 24.5.10 許可證 24.6 KryptoKnight 24.7 SESAME 24.8 IBM通用密碼體系 24.9 ISO鑒別框架 24.9.1 證書(shū) 24.9.2 鑒別協(xié)議 24.10 保密性增強(qiáng)郵件 24.10.1 PEM的有關(guān)文件 24.10.2 證書(shū) 24.10.3 PEM的消息 24.10.4 PEM的安全性 24.10.5 TIS/PEM 24.10.6 RIPEM 24.11 消息安全協(xié)議 24.12 Pretty Good Privacy 24.13 智能卡 24.14 公開(kāi)密鑰密碼學(xué)標(biāo)準(zhǔn) 24.15 通用電子支付系統(tǒng) 24.16 Clipper 24.17 Capstone 24.18 AT&T 3600型電話保密設(shè)備 第25章 政治 25.1 國(guó)家安全局 25.2 國(guó)家計(jì)算機(jī)安全中心 25.3 國(guó)家標(biāo)準(zhǔn)技術(shù)所 25.4 RSA數(shù)據(jù)安全有限公司 25.5 公開(kāi)密鑰合作商 25.6 國(guó)際密碼研究協(xié)會(huì) 25.7 RACE完整性基本評(píng)估 25.8 對(duì)歐洲的有條件訪問(wèn) 25.9 ISO/IEC 25.10 專業(yè)人員、公民自由和工業(yè)組織 25.10.1 電子秘密信息中心 25.10.2 電子戰(zhàn)線基金會(huì) 25.10.3 計(jì)算機(jī)協(xié)會(huì) 25.10.4 電氣和電子工程師學(xué)會(huì) 25.10.5 軟件出版商協(xié)會(huì) 25.11 sci.crypt 25.12 Cypherpunks 25.13 專利 25.14 美國(guó)出口法規(guī) 25.15 其他國(guó)家的密碼進(jìn)出口 25.16 合法性問(wèn)題 附錄A 源代碼 參考文獻(xiàn) Matt Blaze跋
你還可能感興趣
我要評(píng)論
|