华信教育资源网
密码学实验教程(第2版)
丛   书   名: 工业和信息化部“十四五”规划教材  “双一流"建设高校立项教材  网络空间安全系列教材
作   译   者:郭华 等 出 版 日 期:2024-01-01
出   版   社:电子工业出版社 维   护   人:戴晨辰 
书   代   号:G0467500 I S B N:9787121467509

图书简介:

本书共18章,第1章和第2章为密码学数学基础的相关实验;第3章为古典密码算法相关实验;第4章和第5章为对称密码算法相关实验;第6章为伪随机数算法相关实验,其内容服务于第7章和第8章的公钥密码算法实验;第9章为Diffie-Hellman密钥交换协议相关实验;第10章为ECC算法相关实验;第11章为SHA-1算法相关实验;第12章为数字签名算法相关实验;第13~16章为国产密码算法相关实验;第17章为SM4算法的快速软件实现方法;第18章为分组密码算法的工作模式。本书不但可以作为网络空间安全、密码学科学与技术、信息安全、信息对抗技术、计算机科学与技术等专业的本科生、硕士生和博士生专业课程的配套实验教材,而且可以作为信息安全工程师、密码工程师的培训教材,为密码学算法的实际部署提供一定指导。
定价 49.9
您的专属联系人更多
关注 评论(4) 分享
配套资源 图书内容 样章/电子教材 图书评价
  • 配 套 资 源

    本书资源

    会员上传本书资源

  • 图 书 内 容

    内容简介

    本书共18章,第1章和第2章为密码学数学基础的相关实验;第3章为古典密码算法相关实验;第4章和第5章为对称密码算法相关实验;第6章为伪随机数算法相关实验,其内容服务于第7章和第8章的公钥密码算法实验;第9章为Diffie-Hellman密钥交换协议相关实验;第10章为ECC算法相关实验;第11章为SHA-1算法相关实验;第12章为数字签名算法相关实验;第13~16章为国产密码算法相关实验;第17章为SM4算法的快速软件实现方法;第18章为分组密码算法的工作模式。本书不但可以作为网络空间安全、密码学科学与技术、信息安全、信息对抗技术、计算机科学与技术等专业的本科生、硕士生和博士生专业课程的配套实验教材,而且可以作为信息安全工程师、密码工程师的培训教材,为密码学算法的实际部署提供一定指导。

    图书详情

    ISBN:9787121467509
    开 本:16(185*260)
    页 数:204
    字 数:311

    本书目录

    第1章  数论基础	1
    1.1  算法原理	1
    1.1.1  厄拉多塞筛算法	1
    1.1.2  欧几里得算法	2
    1.1.3  快速幂取模算法	3
    1.1.4  中国剩余定理算法	4
    1.1.5  Miller-Rabin素性检测算法	5
    1.2  算法伪代码	6
    1.2.1  厄拉多塞筛算法伪代码	7
    1.2.2  欧几里得算法伪代码	7
    1.2.3  快速幂取模算法伪代码	8
    1.2.4  中国剩余定理算法伪代码	8
    1.2.5  Miller-Rabin素性检测算法伪代码	9
    1.3  算法实现与测试	9
    1.3.1  厄拉多塞筛算法实现与测试	10
    1.3.2  欧几里得算法实现与测试	10
    1.3.3  快速幂取模算法实现与测试	11
    1.3.4  中国剩余定理算法实现与测试	12
    1.3.5  Miller-Rabin素性检测算法实现与测试	13
    1.4  思考题	13
    第2章  有限域算术	14
    2.1  算法原理	14
    2.1.1  有限域四则运算算法	14
    2.1.2  有限域欧几里得算法	17
    2.1.3  有限域求乘法逆元算法	18
    2.2  算法伪代码	19
    2.2.1  有限域四则运算算法伪代码	19
    2.2.2  有限域欧几里得算法伪代码	20
    2.2.3  有限域求乘法逆元算法伪代码	21
    2.3  算法实现与测试	22
    2.3.1  有限域四则运算算法实现与测试	22
    2.3.2  有限域欧几里得算法实现与测试	22
    2.3.3  有限域求乘法逆元算法实现与测试	23
    2.4  思考题	23
    第3章  古典密码算法	24
    3.1  算法原理	24
    3.1.1  置换密码	24
    3.1.2  代替密码	26
    3.2  算法伪代码	31
    3.2.1  栅栏密码算法伪代码	31
    3.2.2  矩阵密码算法伪代码	32
    3.2.3  单表代替密码算法伪代码	34
    3.2.4  仿射密码算法伪代码	34
    3.2.5  维吉尼亚密码算法伪代码	35
    3.2.6  弗纳姆密码算法伪代码	36
    3.2.7  希尔密码算法伪代码	37
    3.2.8  对m维希尔密码的已知明文攻击算法伪代码	38
    3.3  算法实现与测试	38
    3.3.1  栅栏密码算法实现与测试	39
    3.3.2  矩阵密码算法实现与测试	39
    3.3.3  单表代替密码算法实现与测试	39
    3.3.4  仿射密码算法实现与测试	40
    3.3.5  维吉尼亚密码算法实现与测试	40
    3.3.6  弗纳姆密码算法实现与测试	40
    3.3.7  希尔密码算法实现与测试	40
    3.3.8  对m维希尔密码的已知明文攻击算法实现与测试	41
    3.4  思考题	41
    第4章  DES算法	42
    4.1  算法原理	42
    4.1.1  DES算法整体结构	42
    4.1.2  DES算法详细结构	43
    4.1.3  密钥选择	46
    4.2  算法伪代码	47
    4.2.1  密钥扩展算法伪代码	48
    4.2.2  加密算法伪代码	48
    4.2.3  解密算法伪代码	50
    4.2.4  基本变换算法伪代码	50
    4.3  算法实现与测试	51
    4.3.1  输入和输出	51
    4.3.2  中间数据	53
    4.4  思考题	53
    第5章  AES算法	54
    5.1  算法原理	54
    5.1.1  AES算法整体结构	54
    5.1.2  AES算法详细结构	55
    5.1.3  AES-192算法与AES-256算法	59
    5.2  算法伪代码	60
    5.2.1  密钥扩展算法伪代码	60
    5.2.2  加密算法伪代码	61
    5.2.3  解密算法伪代码	61
    5.2.4  基本变换算法伪代码	62
    5.3  算法实现与测试	64
    5.3.1  输入和输出	65
    5.3.2  中间数据	65
    5.4  思考题	68
    第6章  伪随机数算法	69
    6.1  算法原理	69
    6.1.1  BBS算法	69
    6.1.2  梅森旋转算法	70
    6.2  算法伪代码	72
    6.2.1  BBS算法伪代码	72
    6.2.2  梅森旋转算法伪代码	73
    6.3  算法实现与测试	74
    6.3.1  BBS算法实现与测试	74
    6.3.2  梅森旋转算法实现与测试	75
    6.4  思考题	76
    第7章  RC4算法	77
    7.1  算法原理	77
    7.1.1  流密码	77
    7.1.2  RC4算法详细结构	77
    7.2  算法伪代码	79
    7.3  算法实现与测试	80
    7.3.1  输入和输出	80
    7.3.2  中间数据	81
    7.3.3  无效置换和弱密钥问题	82
    7.4  思考题	82
    第8章  RSA算法	83
    8.1  算法原理	83
    8.1.1  RSA算法整体结构	83
    8.1.2  RSA-OAEP算法	84
    8.2  算法伪代码	85
    8.2.1  RSA算法伪代码	86
    8.2.2  RSA-OAEP算法伪代码	87
    8.3  算法实现与测试	90
    8.3.1  RSA算法实现与测试	90
    8.3.2  RSA-OAEP算法实现与测试	91
    8.4  思考题	92
    第9章  Diffie-Hellman密钥交换协议	93
    9.1  算法原理	93
    9.1.1  Diffie-Hellman密钥交换协议的原理	93
    9.1.2  基于ECC的Diffie-Hellman密钥交换协议	93
    9.2  算法伪代码	94
    9.2.1  Diffie-Hellman密钥交换协议伪代码	95
    9.2.2  基于ECC的Diffie-Hellman密钥交换协议伪代码	95
    9.3  算法实现与测试	95
    9.3.1  Diffie-Hellman密钥交换协议实现与测试	96
    9.3.2  基于ECC的Diffie-Hellman密钥交换协议实现与测试	96
    9.4  思考题	98
    第10章  ECC算法	99
    10.1  算法原理	99
    10.1.1  基于ECC的加解密算法	100
    10.1.2  基于ECC的数字签名算法	100
    10.2  算法伪代码	101
    10.2.1  椭圆曲线基础运算算法伪代码	101
    10.2.2  密钥生成算法伪代码	103
    10.2.3  基于ECC的加解密算法伪代码	103
    10.2.4  基于ECC的数字签名算法伪代码	104
    10.3  算法实现与测试	105
    10.3.1  基于ECC的加解密算法实现与测试	105
    10.3.2  基于ECC的数字签名算法实现与测试	106
    10.4  思考题	107
    第11章  SHA-1算法	108
    11.1  算法原理	108
    11.1.1  SHA-1算法整体结构	108
    11.1.2  SHA-1算法详细结构	109
    11.2  算法伪代码	111
    11.2.1  杂凑算法伪代码	111
    11.2.2  消息填充算法伪代码	112
    11.2.3  字扩展算法伪代码	112
    11.2.4  轮函数伪代码	113
    11.2.5  逻辑函数伪代码	113
    11.3  算法实现与测试	114
    11.4  思考题	120
    第12章  数字签名算法	121
    12.1  算法原理	121
    12.1.1  不带消息恢复功能的RSA数字签名算法	121
    12.1.2  RSA-PSS数字签名算法	122
    12.1.3  ElGamal数字签名算法	124
    12.2  算法伪代码	125
    12.2.1  不带消息恢复功能的RSA数字签名算法伪代码	125
    12.2.2  RSA-PSS数字签名算法伪代码	126
    12.2.3  ElGamal数字签名算法伪代码	128
    12.3  算法实现与测试	130
    12.3.1  不带消息恢复功能的RSA数字签名算法实现与测试	130
    12.3.2  RSA-PSS数字签名算法实现与测试	131
    12.3.3  ElGamal数字签名算法实现与测试	132
    12.4  思考题	133
    第13章  SM2算法	134
    13.1  算法原理	134
    13.2  算法伪代码	137
    13.2.1  密钥生成算法伪代码	137
    13.2.2  加密算法伪代码	137
    13.2.3  解密算法伪代码	138
    13.3  算法实现与测试	139
    13.3.1  方程参数	139
    13.3.2  输入和输出	140
    13.3.3  中间数据	141
    13.4  思考题	142
    第14章  SM4算法	143
    14.1  算法原理	143
    14.1.1  SM4算法整体结构	143
    14.1.2  SM4算法详细结构	144
    14.2  算法伪代码	146
    14.2.1  密钥扩展算法伪代码	146
    14.2.2  加密算法伪代码	147
    14.2.3  解密算法伪代码	148
    14.3  算法实现与测试	148
    14.4  思考题	152
    第15章  SM3算法	153
    15.1  算法原理	153
    15.1.1  SM3算法整体结构	153
    15.1.2  SM3算法详细结构	153
    15.2  算法伪代码	156
    15.2.1  杂凑算法伪代码	156
    15.2.2  消息填充算法伪代码	157
    15.2.3  消息扩展算法伪代码	157
    15.2.4  压缩算法伪代码	157
    15.3  算法实现与测试	158
    15.4  思考题	161
    第16章  ZUC算法	162
    16.1  算法原理	162
    16.2  算法伪代码	164
    16.2.1  LFSR算法伪代码	164
    16.2.2  比特重组算法伪代码	165
    16.2.3  非线性函数算法伪代码	165
    16.2.4  密钥装入算法伪代码	166
    16.2.5  生成密钥字算法伪代码	166
    16.3  算法实现与测试	167
    16.4  思考题	168
    第17章  SM4算法快速软件实现	169
    17.1  SM4算法的S盒复合域优化	169
    17.2  算法伪代码	170
    17.2.1  SM4算法的S盒函数伪代码	171
    17.2.2  GF((2)4)2复合域求逆算法伪代码	171
    17.3  算法实现与测试	172
    17.4  思考题	173
    第18章  分组密码算法的工作模式	174
    18.1  算法原理	174
    18.1.1  ECB工作模式	174
    18.1.2  CBC工作模式	174
    18.1.3  CFB工作模式	175
    18.1.4  OFB工作模式	176
    18.1.5  CTR工作模式	177
    18.2  算法伪代码	178
    18.2.1  ECB工作模式算法伪代码	179
    18.2.2  CBC工作模式算法伪代码	180
    18.2.3  CFB工作模式算法伪代码	181
    18.2.4  OFB工作模式算法伪代码	183
    18.2.5  CTR工作模式算法伪代码	184
    18.3  算法实现与测试	185
    18.3.1  ECB工作模式算法实现与测试	185
    18.3.2  CBC工作模式算法实现与测试	186
    18.3.3  CFB工作模式算法实现与测试	187
    18.3.4  OFB工作模式算法实现与测试	188
    18.3.5  CTR工作模式算法实现与测试	188
    18.4  思考题	189
    
    展开

    前     言

    2020年1月1日起《中华人民共和国密码法》正式实施,密码工作直接关系国家安全。2021年教育部新增密码科学与技术本科专业,目前国内有百余所高校设有密码科学与技术、信息安全、信息对抗技术、网络空间安全等专业,许多高校已建有密码学实验室,并系统地开设了密码学实验课程。虽然现有的密码学实验图书很多,但大多数图书的内容缺乏教学实践性,尤其从本科教学的角度看,它们都不太适合作为密码学实验教材。
    本书从网络空间安全专业课程教学体系出发,在实验内容的编排上,力求符合教育部高等学校网络空间安全专业教学指导委员会编制的《高等学校信息安全专业指导性专业规范(第2版)》,满足该规范对本科生实践能力体系的要求。本书是一本内容丰富、特色鲜明、实用性强的密码学实验教材。本书包含数论算法、有限域上的基本运算、古典密码等基本型实验,DES、AES、RSA等国际标准算法相关实验,以及SM2、SM3、SM4等国家密码管理局公布的国家标准算法相关实验。此外,每个实验都提供了算法实现的伪代码、算法测试的输入输出数据和中间数据,每章后面均附有思考题,便于读者对实验过程和结果进行分析和总结,并对所提出的问题进行深入思考。
    本书共18章,第1章介绍了数论基础算法的实现,包括厄拉多塞筛算法、欧几里得算法、快速幂取模算法、中国剩余定理算法和Miller-Rabin素性检测算法;第2章介绍了有限域算术算法的实现;第3章介绍了古典密码算法的实现,包括栅栏密码算法、矩阵密码算法、仿射密码算法等;第4、5章介绍了DES、AES等对称密码算法的实现;第6章介绍了伪随机数算法的实现,包括BBS算法、梅森旋转算法;第7、8章介绍了RC4算法、RSA算法的实现;第9章介绍了Diffie-Hellman密钥交换协议的实现;第10章介绍了ECC算法的实现,包括基于ECC的加解密算法和数字签名算法;第11章介绍了SHA-1算法的实现,SHA-1算法是美国国家标准与技术研究院(NIST)设计的安全杂凑算法;第12章介绍了数字签名算法的实现,主要介绍了不带消息恢复功能的RSA数字签名算法、RSA-PSS数字签名算法和ElGamal数字签名算法;第13~16章介绍了4种国家标准算法的实现,包括SM2算法、SM4算法、SM3算法和ZUC算法;第17章介绍了SM4算法快速软件实现;第18章介绍了分组密码算法加解密工作模式的实现。
    本书是编者在多年密码学理论课程及密码学实验实践教学的基础上编写而成的,从基础数学知识引入,对单钥密码体制、流密码体制、公钥密码体制等常见的经典密码算法实现进行了阐述。编写本书的想法来源于解决学生面临的密码学实验课程调试问题的经历。密码学实验的一大特点是需要处理大量的大数运算,导致学生实现代码后不知如何判断自己编写的代码是否正确,进而在调试代码以获得正确输出上花费了大量时间,即“实现容易调试难”的问题。目前的密码学实验教材缺少密码学算法实现的模块拆解说明、缺少中间测试数据,无法对学生的代码调试过程起到指导作用,因此需要一本包含详细模块拆解及测试数据的图书,帮助学生在学习密码学算法时实时调试代码。本书侧重于算法模块化实现的介绍,并给出了详细的测试数据,特别是给出了一些重要的中间数据。编者希望本书的这些特色能够强化学生对算法模块化实现的意识,并减少学生调试代码的时间,进而培养学生的程序思维能力。本书内容严谨、语言精练,既可作为配套理论课的实验教材,又可作为工程实践的参考书单独使用。
    本书包含配套教学资源,读者可登录华信教育资源网(www.hxedu.com.cn)下载。
    在本书的编写过程中,北京航空航天大学的蒋燕玲教授、伍前红教授、白琳教授均给予了编者深切的关怀与鼓励。感谢本教学团队的姚燕青副教授、李冰雨副教授的支持与配合。特别感谢北京航空航天大学网络空间安全学院吕继强教授、尚涛教授、高莹副教授、张宗洋副教授、边松副教授、张小明副教授,他们在密码学课程的建设中给予了编者大力的支持和帮助。感谢恒安嘉新(北京)科技股份公司张振涛博士等人对本书的工程化实现和优化给予的专业技术指导。本书得到了工业和信息化部“十四五”规划教材建设项目、北京航空航天大学一流本科课程建设项目、北京航空航天大学研究生核心课程建设项目,以及教育部产学合作协同育人项目的支持。
    北京航空航天大学的刘伟欣、龚子睿、唐泽林、霍嘉荣、丁元朝、张宇轩、吴亚鹏、宋青林等研究生为提高本书的质量做了实验验证、文字校对等工作。尤其是刘伟欣、龚子睿、唐泽林和霍嘉荣同学,为本书提供了大量的源代码和测试数据,并校对了所有算法的代码实现部分。编者在此一并向他们表示真诚的感谢。
    尽管本书积累了编者多年的实践经验和教学成果,但其涉及的知识面宽广,采用的实验设备和工具种类繁多,加之时间紧张、编者水平有限,一定存在许多不足之处,恳请广大读者给予批评和指正。
    
    编  者    
    2023年11月
    
    展开

    作者简介

    郭华,博士,北京航空航天大学安全工程系主任。中国密码学会会员、中国计算机学会会员。曾获北京航空航天大学"蓝天新秀奖”、教学成果三等奖、优秀论文指导教师奖等。科研方面,紧紧围绕国家网络安全的战略需求,围绕区块链、数字货币、密钥管理、认证协议等当前热点问题展开研究,主持国家自然科学基金、教育部博士点基金、"十二五国家密码发展基金”、科学研究与研究生培养共建项目等课题10余项。从事信息安全领域密码协议的设计和分析等研究,在包括SCI期刊Information Sciences、Sensors、Computers & Security等国际知名期刊和国际会议发表高水平学术论文近40篇,其中以第一作者发表SCI检索论文11篇;单篇文章被ISI数据库他引59次,Google数据库被引103次。已授权国家发明专利1项。
  • 样 章 试 读
  • 图 书 评 价 我要评论
华信教育资源网