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