密码学是一门非常有趣的学科,它与计算机科学、数学以及电子工程都存在交叉。随着密码学日新月异地取得发展,人们现在已经很难跟上它的发展步伐。密码学领域的理论基础在过去的25年里已经得到加强和巩固;现在,人们对安全的定义和证明结构安全的方法有了更深入的认识。同时,我们也见证了应用密码学的快速发展:旧算法不断地被破解和抛弃,同时,新算法和协议也在不断涌现。
《安全技术经典译丛·深入浅出密码学:常用加密技术原理与应用》的最大价值在于重点讨论了密码学研究人员所关心的主题。而且,《安全技术经典译丛·深入浅出密码学:常用加密技术原理与应用》对数学背景知识和公式的使用加以严格限制——只有在必要的情况下才会在适当的地方介绍这些数学知识和公式。对密码学领域的新手而言,这种“少即是多”的方法足以满足他们的需求,因为《安全技术经典译丛·深入浅出密码学:常用加密技术原理与应用》将带领他们一步一步地学习基本概念和各种精心选择的算法与协议。对于想要深入学习和拓展知识的读者而言,《安全技术经典译丛·深入浅出密码学:常用加密技术原理与应用》每个章节都提供了非常有用的扩展阅读素材。
密码学的应用范围日益扩大,它不仅用于政府通信和银行系统等传统领域,还用于Web浏览器、电子邮件程序、手机、制造系统、嵌入式软件、智能建筑、汽车甚至人体器官移植等领域。今天的设计人员必须全面系统地了解应用密码学。 《安全技术经典译丛·深入浅出密码学:常用加密技术原理与应用》将理论与实践完美融合在一起,在大量实例的引导下,深入讨论了密码学精髓内容。 《安全技术经典译丛·深入浅出密码学:常用加密技术原理与应用》介绍密码学和数据安全性分析序列密码、DES、3DES、AES、分组密码和RSA密码体制,讨论ECC、数字签名、哈希函数、MAC和密钥建立方法(如证书和PKI),讲述针对RFID和移动设备的轻量级密码、当前推荐的密钥长度等最新主题。 《安全技术经典译丛·深入浅出密码学:常用加密技术原理与应用》作者长期执教于计算机科学与工程系,拥有十分丰富的应用密码学教学经验。《安全技术经典译丛·深入浅出密码学:常用加密技术原理与应用》可作为研究生和高年级本科生的教科书,也可供工程师自学之用。海报:
密码学已经渗透到我们生活的方方面面,从Web 浏览器和电子邮件程序,到手机、银行卡、汽车,甚至包括器官移植。在不久的将来,我们将看到密码学更多令人激动不已的新应用,比如防伪的射频识别(RFID)标签,或车对车的通信(已经有人在为保证这两种应用的安全而努力)。过去,密码学总是被传统地限制在十分特殊的应用领域,尤其是政务信息和银行系统。时至今日,这种情况已经发生了很大的改变。由于加密算法的普遍性,越来越多的人必须理解加密算法的工作原理,以及怎样将它们应用到实践中;本书全面介绍当前应用的密码学,为读者释疑解惑,堪称读者的良师益友。本书面向学生和密码行业的从业者。
本书可以帮助读者深入地理解现代加密方案的工作原理。本书在对大学级别微积分背景要求最少的情况下,以最通俗易懂的方式介绍了必要的数学概念。所以,对本科生或即将开始学习研究生课程的学生而言,本书是一本非常合适的教科书;而对期望更深入理解现代密码学的职业工程师或计算机科学家而言,本书则是极具价值的参考书。
本书拥有的诸多特征使得它成为密码学从业者和学生独一无二的资源—本书介绍了绝大多数实际应用中使用的加密算法,并重点突出了它们的实用性。对于每种加密模式,我们都给出了最新的安全评估和推荐使用的密钥长度。同时,本书也探讨了每种算法在软件实现和硬件实现中的一些重要问题。除加密算法外,本书还介绍了很多其他重要主题,比如加密协议、运作模式、安全服务和密钥建立技术等。此外,本书还包含了许多非常新的主题,比如针对受限的应用而优化的轻量级加密(例如RFID 标签或智能卡),或新的操作模式。
每章末尾的讨论单元都给出了许多注明出处的参考文献,为读者提供了大量扩展阅读的材料。对于课堂使用的读者而言,这些讨论单元提供了很好的课程项目资源。对于将本书当作教科书的读者,强烈推荐阅读本书的配套学习资源网站:
www.crypto-textbook.com
Christof Paar,任波鸿大学嵌入式安全系教授,并兼任马萨诸塞大学教授。Christof讲授密码学课程的时间已有15年之久,并曾为摩托罗拉、飞利浦和NASA等多家机构的从业人员授课。Christof是应用密码学领域的CHES(Cryptographic Hardware and Embedded Systems)学术会议的创始人之一,迄今已发表100多篇学术论文。
Jan Pelzl,是安全咨询公司ESCRYPT-Embedded Security的管理总监Jan拥有应用密码学博士学位,他对基于椭圆曲线的密码学的研究可谓苦心孤诣,对该领域具有非常独到和深邃的理解,已在重要刊物上发表了多篇论文。
第1章 密码学和数据安全导论
1.1 密码学及本书内容概述
1.2 对称密码学
1.2.1 基础知识
1.2.2 简单对称加密:替换密码
1.3 密码分析
1.3.1 破译密码体制的一般思路
1.3.2 合适的密钥长度
1.4 模运算与多种古典密码
1.4.1 模运算
1.4.2 整数环
1.4.3 移位密码(凯撒密码)
1.4.4 仿射密码
1.5 讨论及扩展阅读
1.6 要点回顾
1.7 习题
第2章 序列密码
2.1 引言
2.1.1 序列密码与分组密码
2.1.2 序列密码的加密与解密
2.2 随机数与牢不可破的分组密码
2.2.1 随机数生成器
2.2.2 一次一密
2.2.3 关于实际序列密码
2.3 基于移位寄存器的序列密码
2.3.1 线性反馈移位寄存器(LFSR)
2.3.2 针对单个LFSR的已知明文攻击
2.3.3 Trivium
2.4 讨论及扩展阅读
2.5 要点回顾
2.6 习题
第3章 数据加密标准与替换算法
3.1 DES简介
3.2 DES算法概述
3.3 DES的内部结构
3.3.1 初始置换与逆初始置换
3.3.2 f函数
3.3.3 密钥编排
3.4 解密
3.5 DES的安全性
3.5.1 穷尽密钥搜索
3.5.2 分析攻击
3.6 软件实现与硬件实现
3.6.1 软件
3.6.2 硬件
3.7 DES替换算法
3.7.1 AES和AES入围密码
3.7.2 3DES与DESX
3.7.3 轻量级密码PRESENT
3.8 讨论及扩展阅读
3.9 要点回顾
3.10 习题
第4章 高级加密标准
4.1 引言
4.2 AES算法概述
4.3 一些数学知识:伽罗瓦域简介
4.3.1 有限域的存在性
4.3.2 素域
4.3.3 扩展域GF(2m)
4.3.4 GF(2m)内的加法与减法
4.3.5 GF(2m)内的乘法
4.3.6 GF(2m)内的逆操作
4.4 AES的内部结构
4.4.1 字节代换层
4.4.2 扩散层
4.4.3 密钥加法层
4.4.4 密钥编排
4.5 解密
4.6 软件实现与硬件实现
4.6.1 软件
4.6.2 硬件
4.7 讨论及扩展阅读
4.8 要点回顾
4.9 习题
第5章 分组密码的更多内容
5.1 分组密码加密:操作模式
5.1.1 电子密码本模式(ECB)
5.1.2 密码分组链接模式(CBC)
5.1.3 输出反馈模式(OFB)
5.1.4 密码反馈模式(CFB)
5.1.5 计数器模式(CTR)
5.1.6 伽罗瓦计数器模式(GCM)
5.2 回顾穷尽密钥搜索
5.3 增强分组密码的安全性
5.3.1 双重加密与中间人攻击
5.3.2 三重加密
5.3.3 密钥漂白
5.4 讨论及扩展阅读
5.5 要点回顾
5.6 习题
第6章 公钥密码学简介
6.1 对称密码学与非对称密码学
6.2 公钥密码学的实用性
6.2.1 安全机制
6.2.2 遗留问题:公钥的可靠性
6.2.3 重要的公钥算法
6.2.4 密钥长度与安全等级
6.3 公钥算法的基本数论知识
6.3.1 欧几里得算法
6.3.2 扩展的欧几里得算法
6.3.3 欧拉函数
6.3.4 费马小定理与欧拉定理
6.4 讨论及扩展阅读
6.5 要点回顾
6.6 习题
第7章 RSA密码体制
7.1 引言
7.2 加密与解密
7.3 密钥生成与正确性验证
7.4 加密与解密:快速指数运算
……
第8章 基于离散对数问题的公钥密码体制
第9章 椭圆曲线密码体制
第10章 数字签名
第11章 哈希函数
第12章 消息验证码
第13章 密钥建立
参考文献