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