新一輪科技革命和產(chǎn)業(yè)變革帶動(dòng)了傳統(tǒng)產(chǎn)業(yè)的升級(jí)改造。黨的二十大報(bào)告強(qiáng)調(diào)必須堅(jiān)持科技是第一生產(chǎn)力、人才是第一資源、創(chuàng)新是第一動(dòng)力,深入實(shí)施科教興國(guó)戰(zhàn)略、人才強(qiáng)國(guó)戰(zhàn)略、創(chuàng)新驅(qū)動(dòng)發(fā)展戰(zhàn)略,開(kāi)辟發(fā)展新領(lǐng)域新賽道,不斷塑造發(fā)展新動(dòng)能新優(yōu)勢(shì)。 教育、科技、人才是全面建設(shè)社會(huì)主義現(xiàn)代化國(guó)家的基礎(chǔ)性、戰(zhàn)略性支撐。建設(shè)高質(zhì)量高等教育體系是擺在高等教育面前的重大歷史使命和政治責(zé)任。高等教育要堅(jiān)持國(guó)家戰(zhàn)略引領(lǐng),聚焦重大需求布局,推進(jìn)新工科、新醫(yī)科、新農(nóng)科、新文科建設(shè),加快培養(yǎng)緊缺型人才。
現(xiàn)代密碼技術(shù)已被廣泛地應(yīng)用于信息技術(shù)的許多領(lǐng)域,是實(shí)現(xiàn)信息系統(tǒng)安全的關(guān)鍵技術(shù)之一,在保障信息安全的應(yīng)用中具有重要地位,F(xiàn)代密碼技術(shù)的研究?jī)?nèi)容除傳統(tǒng)的信息機(jī)密性保護(hù)技術(shù)外,還包括數(shù)字簽名、報(bào)文與身份鑒別、密鑰管理、安全協(xié)議等與信息安全密切相關(guān)的重要內(nèi)容。應(yīng)用密碼學(xué)已成為許多高等院校網(wǎng)絡(luò)空間安全、信息安全、通信工程、計(jì)算機(jī)科學(xué)、信息管理、電子商務(wù)等本科專(zhuān)業(yè)一門(mén)重要的專(zhuān)業(yè)基礎(chǔ)課及重要教學(xué)內(nèi)容。
針對(duì)高等院校信息技術(shù)類(lèi)專(zhuān)業(yè)本科生所開(kāi)設(shè)的課程特點(diǎn),編者結(jié)合近幾年在應(yīng)用密碼學(xué)方面的教學(xué)實(shí)踐情況,廣泛汲取了各類(lèi)教材的有益經(jīng)驗(yàn),博采眾家所長(zhǎng)而精心編著了本書(shū)。在本書(shū)的體系架構(gòu)和內(nèi)容編排上,以培養(yǎng)學(xué)生的密碼技術(shù)應(yīng)用能力為目標(biāo),突出教材的體系性和密碼技術(shù)的實(shí)用性,盡量避免傳統(tǒng)密碼教材或?qū)V⒅孛艽a學(xué)的數(shù)學(xué)原理和理論分析,而應(yīng)用性偏弱的局限,并對(duì)一些需要的數(shù)學(xué)知識(shí)可能較深?yuàn)W的知識(shí)點(diǎn),如密碼學(xué)的信息論基礎(chǔ)、序列密碼及密碼分析等內(nèi)容進(jìn)行了簡(jiǎn)化或忽略,重點(diǎn)選擇一些具有典型意義且常用的密碼體制和算法進(jìn)行介紹,并在每章最后配有思考題與習(xí)題,以幫助學(xué)生掌握和鞏固本章的重要知識(shí)點(diǎn),使其更加易于課堂教學(xué)的實(shí)施和學(xué)生閱讀,激發(fā)學(xué)生潛在的學(xué)習(xí)積極性。
本書(shū)在第2版的基礎(chǔ)上在以下方面做了修訂: 在分組密碼部分,增加了Feistel結(jié)構(gòu)變種、LaiMassey結(jié)構(gòu)和基本設(shè)計(jì)結(jié)構(gòu)的細(xì)化的說(shuō)明,介紹了國(guó)密分組密碼算法SM4、輕量級(jí)分組密碼標(biāo)準(zhǔn)PRESENT和CLEFIA,另外還簡(jiǎn)述了三種針對(duì)分組密碼的基本分析方法,包括差分分析、線性分析和中間相遇攻擊; 在公鑰密碼部分,新增了國(guó)密公鑰密碼算法SM2,包括SM21橢圓曲線數(shù)字簽名算法、SM22橢圓曲線密鑰交換協(xié)議、SM23橢圓曲線公鑰加密算法,補(bǔ)充了針對(duì)整數(shù)分解和離散對(duì)數(shù)計(jì)算的方法,以及如何利用RSA算法進(jìn)行數(shù)據(jù)加密的若干實(shí)現(xiàn)方案; 在散列函數(shù)與數(shù)字簽名部分,增加了基于置換的散列函數(shù)構(gòu)造方法、SHA3算法族、SM2數(shù)字簽名算法、SM3散列算法、基于分組密碼的消息鑒別碼(CMAC)及環(huán)簽名等內(nèi)容; 在流密碼部分,增加了Trivium流密碼算法和國(guó)密流密碼算法ZUC的介紹,以及針對(duì)流密碼的密碼分析基本方法; 在身份鑒別部分,新增了比特承諾、聯(lián)合身份管理技術(shù)、個(gè)人身份管理技術(shù)等內(nèi)容; 在密碼技術(shù)應(yīng)用部分,更新和完善了基于PGP的電子郵件通信安全應(yīng)用與實(shí)踐,新增了電子商務(wù)中的密碼協(xié)議等內(nèi)容。另外,對(duì)第2版?zhèn)別章節(jié)進(jìn)行了部分結(jié)構(gòu)調(diào)整,對(duì)個(gè)別內(nèi)容進(jìn)行了勘誤,對(duì)思考題與習(xí)題進(jìn)行了補(bǔ)充,增加了實(shí)踐性習(xí)題。
本書(shū)的主要特色是: 可讀性強(qiáng),結(jié)構(gòu)合理,強(qiáng)調(diào)基礎(chǔ),注重應(yīng)用,不求面面俱到,力求使學(xué)生能夠較快掌握密碼技術(shù)的核心內(nèi)容。在內(nèi)容取舍、結(jié)構(gòu)編排、密碼算法選擇及習(xí)題設(shè)計(jì)上盡量體現(xiàn)廣泛的代表性和典型性,做到內(nèi)容主次分明、結(jié)構(gòu)清晰、重點(diǎn)突出、邏輯性強(qiáng),對(duì)知識(shí)點(diǎn)的闡述強(qiáng)調(diào)由淺入深、循序漸進(jìn),使本書(shū)具有顯著的可讀性和實(shí)用性,使讀者能夠在充分掌握密碼學(xué)基礎(chǔ)知識(shí)的同時(shí),掌握應(yīng)用密碼技術(shù),并將其盡快運(yùn)用到實(shí)際工作中,是一本較為系統(tǒng)、全面地介紹密碼學(xué)基本原理和典型應(yīng)用的教材。全書(shū)共10章,具體章節(jié)內(nèi)容安排如下。
應(yīng)用密碼學(xué)(第3版)
前言
第1章介紹信息安全與密碼學(xué)、密碼技術(shù)發(fā)展概況及密碼學(xué)的基本概念,包括密碼學(xué)的主要任務(wù)、保密通信模型、密碼系統(tǒng)的安全性及基本原則,以及密碼體制的分類(lèi)等內(nèi)容。
第2章介紹古典密碼體制中的基本加密運(yùn)算、幾種典型的古典密碼體制及基本破譯方法。
第3章介紹分組密碼體制的設(shè)計(jì)原則、基本結(jié)構(gòu)。通過(guò)典型的分組密碼算法,如數(shù)據(jù)加密標(biāo)準(zhǔn)DES、高級(jí)加密標(biāo)準(zhǔn)AES、國(guó)密分組密碼算法SM4及輕量級(jí)分組密碼等,介紹常見(jiàn)分組密碼算法的原理和特性,以及分組密碼算法的工作模式和基本密碼分析方法。
第4章介紹公鑰密碼體制基本思想和應(yīng)用,以及RSA與ElGamal算法原理、安全性問(wèn)題與實(shí)現(xiàn)方案,對(duì)橢圓曲線密碼體制基本原理、國(guó)密公鑰加密算法SM2,以及針對(duì)整數(shù)分解和離散對(duì)數(shù)計(jì)算的常見(jiàn)算法等進(jìn)行介紹。
第5章介紹密鑰的種類(lèi)與層次結(jié)構(gòu)、密鑰管理的生命周期、密鑰的生成與安全存儲(chǔ)、密鑰的協(xié)商與分發(fā)問(wèn)題、典型密鑰分配與協(xié)商協(xié)議及算法、公鑰基礎(chǔ)設(shè)施PKI技術(shù)基礎(chǔ),以及典型秘密分割門(mén)限方案等。
第6章介紹散列函數(shù)的基本特性、構(gòu)造與設(shè)計(jì),以及相關(guān)安全性等問(wèn)題。通過(guò)SHA算法簇、SM3密碼雜湊算法等密碼算法,介紹散列算法和消息鑒別的原理,以及實(shí)現(xiàn)報(bào)文完整性保護(hù)和鑒別的應(yīng)用方法。
第7章介紹數(shù)字簽名的基本概念和典型數(shù)字簽名方案,如RSA、ElGamal、數(shù)字簽名標(biāo)準(zhǔn)DSS等,對(duì)基于橢圓曲線密碼的數(shù)字簽名算法ECDSA和國(guó)密算法數(shù)字簽名方案SM2的原理與特性,以及不可否認(rèn)、盲簽名等典型特殊數(shù)字簽名方案的基本原理與應(yīng)用進(jìn)行介紹。
第8章對(duì)身份鑒別的基本原理、基于口令的典型身份鑒別技術(shù)和特點(diǎn)進(jìn)行介紹,闡述零知識(shí)證明的概念與有關(guān)身份鑒別協(xié)議,對(duì)比特承諾、聯(lián)合身份管理及個(gè)人身份驗(yàn)證等問(wèn)題和相關(guān)技術(shù)進(jìn)行介紹。
第9章介紹流密碼的基本原理及模型、線性反饋移位寄存器LFSR、基于LFSR的序列密碼,以及Trivium、RC4、國(guó)密流密碼算法ZUC等典型序列密碼算法,簡(jiǎn)要介紹針對(duì)流密碼的常見(jiàn)攻擊方法與密碼分析。
第10章介紹密碼技術(shù)在數(shù)字通信安全、電子商務(wù)中的典型應(yīng)用技術(shù)和協(xié)議,包括PGP技術(shù)及應(yīng)用、Kerberos身份鑒別系統(tǒng)、安全電子交易SET及電子商務(wù)中的密碼協(xié)議等。
考慮密碼學(xué)要用到的數(shù)學(xué)知識(shí)較多,特別是概率論、近世代數(shù)和數(shù)論方面的基礎(chǔ)知識(shí),為方便讀者學(xué)習(xí),在本書(shū)的附錄對(duì)書(shū)中用到的有關(guān)初等數(shù)論和近世代數(shù)的基礎(chǔ)知識(shí)進(jìn)行了介紹。了解這方面的數(shù)學(xué)知識(shí)對(duì)研究和學(xué)習(xí)應(yīng)用密碼學(xué)大有幫助,但即使沒(méi)有學(xué)過(guò)這些數(shù)學(xué)知識(shí)也不會(huì)影響對(duì)本書(shū)的閱讀和學(xué)習(xí)。
本書(shū)語(yǔ)言通俗易懂,內(nèi)容豐富翔實(shí),可作為高等院校網(wǎng)絡(luò)空間安全、信息安全、計(jì)算機(jī)科學(xué)與技術(shù)、信息與計(jì)算科學(xué)、通信工程、網(wǎng)絡(luò)工程、電子商務(wù)等信息類(lèi)專(zhuān)業(yè)密碼學(xué)課程的教材,也適合初學(xué)密碼學(xué)的研究生及信息安全、計(jì)算機(jī)、通信、電子工程等領(lǐng)域的科研人員閱讀參考。
本書(shū)由四川大學(xué)網(wǎng)絡(luò)空間安全學(xué)院組織編寫(xiě),全書(shū)由劉嘉勇教授負(fù)責(zé)組織與統(tǒng)稿。第1、2、6、7章和附錄由劉嘉勇、李莉編寫(xiě),第3、4、9章由趙亮編寫(xiě),第5、8、10章由楊進(jìn)編寫(xiě)。四川大學(xué)信息安全研究所全體人員對(duì)本書(shū)的編寫(xiě)給予了大力支持和幫助。本書(shū)的編寫(xiě)還從其他老師和同行的有關(guān)著作(包括網(wǎng)站)中得到了幫助,編者在此一并表示由衷的感謝。
盡管編者已盡了最大努力,但囿于學(xué)識(shí)和水平,書(shū)中難免有需要商榷之處,誠(chéng)望讀者不吝賜教、斧正。聯(lián)系郵箱: 404905510@qq.com。
編者2023年10月于四川大學(xué)
第1章密碼學(xué)概述
1.1信息安全與密碼技術(shù)
1.2密碼技術(shù)發(fā)展簡(jiǎn)介
1.2.1古典密碼時(shí)期
1.2.2近代密碼時(shí)期
1.2.3現(xiàn)代密碼時(shí)期
1.3密碼學(xué)的基本概念
1.3.1密碼學(xué)的主要任務(wù)
1.3.2保密通信模型
1.3.3密碼系統(tǒng)的安全性
1.3.4密碼系統(tǒng)設(shè)計(jì)的基本原則
1.3.5密碼體制的分類(lèi)及特點(diǎn)
思考題與習(xí)題
第2章古典密碼技術(shù)
2.1替代密碼
2.1.1單表替代密碼
2.1.2多表替代密碼
2.2置換密碼
2.2.1周期置換密碼
2.2.2列置換密碼
2.3轉(zhuǎn)輪機(jī)密碼
2.4古典密碼的統(tǒng)計(jì)分析
2.4.1單表替代密碼分析
2.4.2多表替代密碼分析
2.4.3對(duì)Hill密碼的已知明文分析
思考題與習(xí)題
第3章分組密碼體制
3.1概述
3.2分組密碼的設(shè)計(jì)原則與評(píng)估
3.2.1分組密碼的設(shè)計(jì)原則
3.2.2分組密碼的評(píng)估
3.3分組密碼的基本設(shè)計(jì)結(jié)構(gòu)
3.3.1Feistel結(jié)構(gòu)
3.3.2SPN結(jié)構(gòu)
3.3.3Feistel結(jié)構(gòu)的變種
3.3.4LaiMassey結(jié)構(gòu)
3.3.5基本設(shè)計(jì)結(jié)構(gòu)的細(xì)化
3.4數(shù)據(jù)加密標(biāo)準(zhǔn)DES
3.4.1算法描述
3.4.2密鑰擴(kuò)展算法
3.4.3三重DES算法
應(yīng)用密碼學(xué)(第3版)
目錄
3.5高級(jí)加密標(biāo)準(zhǔn)AES
3.5.1AES算法的數(shù)學(xué)基礎(chǔ)
3.5.2算法的總體描述
3.5.3算法的基本變換
3.5.4密鑰擴(kuò)展算法
3.6國(guó)密分組密碼算法SM4
3.6.1算法的總體描述
3.6.2密鑰擴(kuò)展算法
3.7輕量級(jí)分組密碼
3.7.1PRESENT密碼算法
3.7.2CLEFIA密碼算法
3.8分組密碼的工作模式
3.8.1電子密碼本模式(ECB)
3.8.2密碼分組鏈接模式(CBC)
3.8.3密碼反饋模式(CFB)
3.8.4輸出反饋模式(OFB)
3.8.5計(jì)數(shù)器模式(CTR)
3.9分組密碼的基本密碼分析方法
3.9.1差分密碼分析
3.9.2線性密碼分析
3.9.3中間相遇攻擊
思考題與習(xí)題
第4章公鑰密碼體制
4.1概述
4.1.1公鑰密碼體制提出的背景
4.1.2公鑰密碼的基本思想
4.1.3公鑰密碼的應(yīng)用
4.2RSA公鑰算法
4.2.1RSA算法的描述
4.2.2RSA算法實(shí)現(xiàn)上的問(wèn)題
4.2.3RSA算法的安全性問(wèn)題
4.2.4RSA數(shù)據(jù)加密的幾種實(shí)現(xiàn)方案
4.3ElGamal公鑰算法
4.4橢圓曲線密碼體制
4.4.1概述
4.4.2橢圓曲線的基本概念與相應(yīng)的運(yùn)算
4.4.3橢圓曲線上的加密算法
4.4.4國(guó)密公鑰加密算法SM23
4.5針對(duì)整數(shù)分解和離散對(duì)數(shù)計(jì)算的算法
4.5.1針對(duì)整數(shù)分解問(wèn)題的算法
4.5.2針對(duì)離散對(duì)數(shù)求解問(wèn)題的算法
思考題與習(xí)題
第5章密鑰管理技術(shù)
5.1密鑰管理的原則
5.2密鑰的層次結(jié)構(gòu)
5.3密鑰的生命周期
5.3.1密鑰的產(chǎn)生
5.3.2密鑰的存儲(chǔ)和備份
5.3.3密鑰的終止和銷(xiāo)毀
5.4密鑰分發(fā)和密鑰協(xié)商
5.4.1密鑰分發(fā)
5.4.2密鑰協(xié)商
5.5公開(kāi)密鑰的分發(fā)
5.5.1公開(kāi)密鑰的分發(fā)方式
5.5.2X.509公鑰證書(shū)
5.6公鑰基礎(chǔ)設(shè)施
5.6.1PKI的定義
5.6.2PKI提供的服務(wù)和應(yīng)用
5.6.3PKI的構(gòu)成
5.6.4PKI標(biāo)準(zhǔn)
5.6.5PKI的信任模型
5.7秘密分割
5.7.1Shamir秘密分割門(mén)限方案
5.7.2AsmuthBloom門(mén)限方案
5.8群密鑰
思考題與習(xí)題
第6章散列函數(shù)與消息鑒別
6.1散列函數(shù)的基本概念
6.1.1散列函數(shù)的基本性質(zhì)
6.1.2散列函數(shù)的應(yīng)用
6.2散列函數(shù)的構(gòu)造與設(shè)計(jì)
6.2.1基于壓縮的散列函數(shù)構(gòu)造
6.2.2基于置換的散列函數(shù)構(gòu)造
6.2.3散列函數(shù)的設(shè)計(jì)方法
6.3安全散列算法
6.3.1SHA1
6.3.2SHA2算法族
6.3.3SHA3算法族
6.4SM3散列算法
6.4.1SM3散列算法流程描述
6.4.2術(shù)語(yǔ)和定義
6.4.3符號(hào)
6.4.4常量與函數(shù)
6.4.5算法描述
6.5對(duì)散列函數(shù)的安全性分析
6.5.1生日悖論
6.5.2生日攻擊
6.6消息鑒別
6.6.1基于加密技術(shù)的消息鑒別
6.6.2基于散列函數(shù)的消息鑒別
6.6.3基于分組密碼的消息鑒別碼
思考題與習(xí)題
第7章數(shù)字簽名技術(shù)
7.1數(shù)字簽名概述
7.1.1數(shù)字簽名的特性
7.1.2數(shù)字簽名的執(zhí)行方式
7.2基于公鑰密碼體制的典型數(shù)字簽名方案
7.2.1RSA數(shù)字簽名方案
7.2.2ElGamal數(shù)字簽名方案
7.2.3數(shù)字簽名標(biāo)準(zhǔn)
7.2.4基于橢圓曲線密碼的數(shù)字簽名算法
7.2.5國(guó)密數(shù)字簽名算法SM21
7.3特殊數(shù)字簽名方案
7.3.1不可否認(rèn)簽名
7.3.2盲數(shù)字簽名
7.3.3群簽名
7.3.4環(huán)簽名
思考題與習(xí)題
第8章身份鑒別技術(shù)
8.1身份鑒別的基本原理
8.2基于口令的身份鑒別技術(shù)
8.2.1基本口令鑒別協(xié)議
8.2.2口令鑒別協(xié)議的改進(jìn)
8.2.3基于質(zhì)詢(xún)響應(yīng)的身份鑒別技術(shù)
8.2.4S/Key一次性口令身份鑒別協(xié)議
8.3基于生物特征的身份鑒別技術(shù)
8.4零知識(shí)證明與身份鑒別
8.4.1FiegeFiatShamir身份鑒別方案
8.4.2FFS增強(qiáng)方案
8.4.3GuillonQuisquater身份鑒別方案
8.4.4Schnorr身份鑒別方案
8.5比特承諾
8.5.1基于對(duì)稱(chēng)加密算法的比特承諾方案
8.5.2基于散列函數(shù)的比特承諾方案
8.5.3Pedersen比特承諾協(xié)議
8.6聯(lián)合身份管理
8.6.1身份管理
8.6.2身份聯(lián)合
8.7個(gè)人身份驗(yàn)證
8.7.1PIV系統(tǒng)模型
8.7.2PIV文檔
8.7.3PIV證書(shū)和密鑰
8.7.4認(rèn)證
思考題與習(xí)題
第9章流密碼
9.1概述
9.2流密碼的工作模式
9.3密鑰流發(fā)生器設(shè)計(jì)準(zhǔn)則
9.4密鑰流的偽隨機(jī)性
9.5線性反饋移位寄存器
9.6非線性反饋移位寄存器
9.6.1Geffe發(fā)生器
9.6.2鐘控發(fā)生器
9.7典型流密碼算法
9.7.1Trivium算法
9.7.2RC4算法
9.8國(guó)密流密碼算法ZUC
9.9針對(duì)流密碼的密碼分析
9.9.1折中攻擊
9.9.2相關(guān)攻擊
9.9.3代數(shù)攻擊和邊信道攻擊
9.9.4針對(duì)Trivium和RC4的密碼分析
思考題與習(xí)題
第10章密碼技術(shù)的應(yīng)用
10.1網(wǎng)絡(luò)通信的數(shù)據(jù)加密方式
10.1.1鏈路加密
10.1.2端端加密
10.2PGP技術(shù)及應(yīng)用
10.2.1概述
10.2.2運(yùn)行方式和服務(wù)
10.2.3密鑰和密鑰環(huán)
10.2.4公鑰管理和信任關(guān)系
10.2.5基于PGP的電子郵件通信安全
10.3Kerberos身份鑒別系統(tǒng)
10.3.1Kerberos系統(tǒng)概述
10.3.2Kerberos鑒別模型
10.3.3Kerberos協(xié)議鑒別過(guò)程
10.3.4Kerberos的局限性
10.4SET
10.4.1概述
10.4.2SET系統(tǒng)的商務(wù)模型
10.4.3基于SET的交易過(guò)程
10.4.4SET的雙重?cái)?shù)字簽名機(jī)制
10.4.5SET的支付流程
10.4.6SET協(xié)議的安全性
10.5電子商務(wù)中的密碼協(xié)議
10.5.1電子貨幣
10.5.2電子投票
10.5.3電子拍賣(mài)
思考題與習(xí)題
附錄A密碼學(xué)數(shù)學(xué)基礎(chǔ)
A.1數(shù)論
A.1.1素?cái)?shù)與互素
A.1.2模運(yùn)算與同余式
A.1.3費(fèi)馬定理與歐拉定理
A.1.4中國(guó)剩余定理
A.1.5離散對(duì)數(shù)
A.1.6平方剩余
A.2群論
A.2.1群的概念
A.2.2群的性質(zhì)
A.3有限域
A.3.1域和有限域的概念
A.3.2域上的多項(xiàng)式
A.3.3有限域元素的多項(xiàng)式表示
思考題與習(xí)題
附錄B計(jì)算復(fù)雜性
B.1算法的復(fù)雜性
B.2問(wèn)題的復(fù)雜性
思考題與習(xí)題
參考文獻(xiàn)