注册 登录 进入教材巡展
#
  • #

出版时间:2017年12月

出版社:机械工业出版社

以下为《密码工程:原理与应用》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 机械工业出版社
  • 9787111574354
  • 1版
  • 283879
  • 47229809-0
  • 平装
  • 16开
  • 2017年12月
  • 356
  • 254
  • 工学
  • 计算机科学与技术
  • TN918.1
  • 计算机通信类
  • 本科
作者简介
尼尔斯·弗格森(Niels Ferguson)微软公司密码工程师,参与设计和实现BitLocker磁盘加密系统。目前在Windows密码小组工作,负责Windows和其他Microsoft产品中的加密实现。
布鲁斯·施奈尔(Bruce Schneier)信息安全界巨擘,国际知名安全技术专家,现为IBM Resilient CTO、哈佛法学院伯克曼互联网与社会中心研究员、电子前线基金会(EFF)董事。被《经济学人》杂志评为“安全教父”,《个人电脑世界》杂志评为“全球50位最重要互联网人物之一”,《连线》杂志评为“世界最著名的安全专家之一”。他是14本书的作者,其中包括著名的《应用密码学》,他的博客和网络月刊在全球范围内拥有超过25万的读者。
大仓河野(Tadayoshi Kohno)华盛顿大学计算机科学与工程系教授。他的研究兴趣是提高当前和未来技术的安全性和隐私性,开发密码学和计算机安全教育的创新方法。他获得了国家科学基金会CAREER奖和Alfred P.Sloan研究奖学金,并入选《麻省理工学院科技评论》2007年全球青年科技创新人才榜(TR-35)。
查看全部
内容简介
本书深入地探讨特定的、具体的协议,讲述如何设计密码协议,分析做出设计决策的原因,并指出其中可能存在的陷阱,从而帮助读者像密码学家一样思考。本书分为五部分,第 一部分对密码学进行概述,第二到四部分分别讲述消息安全、密钥协商、密钥管理方面的内容,第五部分介绍标准和专利等其他问题。本书可作为高等院校计算机安全和密码学相关专业的教材或教学参考书,也可作为应用密码工程的自学指南。
目录
目  录Cryptography Engineering: Design Principles and Practical Applications出版者的话译者序前言《实用密码学》前言关于作者第一部分 概述第1章 密码学研究范围 21.1 密码学的作用 21.2 木桶原理 31.3 对手设定 41.4 专业偏执狂 51.4.1 更广泛的好处 51.4.2 攻击 51.5 威胁模型 61.6 密码学不是唯一解决方案 71.7 密码学是非常难的 81.8 密码学是简单的部分 81.9 通用攻击 91.10 安全性和其他设计准则 91.10.1 安全性和性能 91.10.2 安全性和特性 101.10.3 安全性和演变的系统 111.11 更多阅读材料 111.12 专业偏执狂练习 121.12.1 时事练习 121.12.2 安全审查练习 121.13 习题 13第2章 密码学简介 142.1 加密 142.2 认证 152.3 公钥加密 162.4 数字签名 172.5 PKI 182.6 攻击 182.6.1 唯密文攻击模型 192.6.2 已知明文攻击模型 192.6.3 选择明文攻击模型 192.6.4 选择密文攻击模型 192.6.5 区分攻击的目的 202.6.6 其他类型的攻击 202.7 深入探讨 202.7.1 生日攻击 202.7.2 中间相遇攻击 212.8 安全等级 222.9 性能 222.10 复杂性 232.11 习题 24第二部分 消息安全第3章 分组密码 263.1 什么是分组密码 263.2 攻击类型 273.3 理想分组密码 273.4 分组密码安全的定义 283.5 实际分组密码 303.5.1 DES 303.5.2 AES 323.5.3 Serpent 343.5.4 Twofish 343.5.5 其他的AES候选算法 363.5.6 如何选择分组密码 363.5.7 如何选择密钥长度 363.6 习题 37第4章 分组密码工作模式 394.1 填充 394.2 ECB 404.3 CBC 404.3.1 固定IV 404.3.2 计数器IV 414.3.3 随机IV 414.3.4 瞬时IV 414.4 OFB 424.5 CTR 434.6 加密与认证 444.7 如何选择工作模式 444.8 信息泄露 444.8.1 碰撞的可能性 454.8.2 如何处理信息泄露 464.8.3 关于数学证明 464.9 习题 47第5章 散列函数 485.1 散列函数的安全性 485.2 实际的散列函数 495.2.1 一种简单但不安全的散列函数 505.2.2 MD5 505.2.3 SHA-1 515.2.4 SHA-224、SHA-256、SHA-384和SHA-512 515.3 散列函数的缺陷 525.3.1 长度扩充 525.3.2 部分消息碰撞 525.4 修复缺陷 535.4.1 一个临时的修复方法 535.4.2 一个更有效的修复方法 535.4.3 其他修复方法 545.5 散列算法的选择 555.6 习题 55第6章 消息认证码 566.1 MAC的作用 566.2 理想MAC与MAC的安全性 566.3 CBC-MAC和CMAC 576.4 HMAC 586.5 GMAC 596.6 如何选择MAC 606.7 MAC的使用 606.8 习题 61第7章 安全信道 637.1 安全信道的性质 637.1.1 角色 637.1.2 密钥 637.1.3 消息或字节流 647.1.4 安全性质 647.2 认证与加密的顺序 657.3 安全信道设计概述 667.3.1 消息编号 667.3.2 认证 677.3.3 加密 677.3.4 组织格式 687.4 详细设计 687.4.1 初始化 687.4.2 发送消息 697.4.3 接收消息 707.4.4 消息的顺序 717.5 备选方案 717.6 习题 72第8章 实现上的问题I 748.1 创建正确的程序 758.1.1 规范 758.1.2 测试和修复 758.1.3 不严谨的态度 768.1.4 如何着手 768.2 制作安全的软件 778.3 保守秘密 778.3.1 清除状态 778.3.2 交换文件 798.3.3 高速缓冲存储器 798.3.4 内存保留数据 808.3.5 其他程序的访问 828.3.6 数据完整性 828.3.7 需要做的工作 838.4 代码质量 838.4.1 简洁性 838.4.2 模块化 838.4.3 断言 848.4.4 缓冲区溢出 848.4.5 测试 858.5 侧信道攻击 858.6 一些其他的话 868.7 习题 86第三部分 密钥协商第9章 生成随机性 889.1 真实随机 889.1.1 使用真实随机数的问题 899.1.2 伪随机数 899.1.3 真实随机数和伪随机数生成器 909.2 伪随机数生成器的攻击模型 909.3 Fortuna 919.4 生成器 919.4.1 初始化 939.4.2 更新种子 939.4.3 生成块 949.4.4 生成随机数 949.4.5 生成器速度 959.5 累加器 959.5.1 熵源 959.5.2 熵池 969.5.3 ?实现注意事项 979.5.4?初始化 989.5.5 获取随机数据 999.5.6 添加事件 1009.6 种子文件管理 1019.6.1 写种子文件 1019.6.2 更新种子文件 1019.6.3 读写种子文件的时间 1029.6.4 备份和虚拟机 1029.6.5 文件系统更新的原子性 1039.6.6 初次启动 1039.7 选择随机元素 1039.8 习题 104第10章 素数 10610.1 整除性与素数 10610.2 产生小素数 10710.3 素数的模运算 10910.3.1 加法和减法 10910.3.2 乘法 11010.3