应用密码学协议.算法与C源程序-原书第2版

内容简介

[

  《应用密码学:协议、算法与c源程序(原书第2版)》内容简介:全书共分四个部分,定义了密码学的多个术语,介绍了密码学的发展及背景,描述了密码学从简单到复杂的各种协议,详细讨论了密码技术。并在此基础上列举了如des、idea、rsa、dsa等十多个算法以及多个应用实例,并提供了算法的源代码清单。

  全书内容广博权威,具有极大的实用价值,是致力于密码学研究的专业及非专业人员一本难得的好书。

]

作者简介

[

  bruce schneier是国际知名的安全技术专家,被《经济学家》(the
economist)杂志称为“安全大师”(security
guru)。他是12本安全方面技术图书的作者,还是数百篇文章、杂文和学术论文的作者。他的有影响力的通讯“crypto-gram”和博客“schneier
on
security”有超过25万的读者和浏览者。他曾在国会作证,还经常做客电视台和广播电台,并在几个政府委员会供职。他是哈佛大学法学院伯克曼互联网和社会中心的fellow,新美国基金会开放科技中心的program
fellow,电子前哨基金会的董事会成员,电子隐私信息中心的咨询委员会成员,以及bt(原英国电信)的安全未来学家。

]

目录

出版者的话译者序whitfield diffie序前言第1章 基础知识1.1 专业术语1.1.1 发送者和接收者1.1.2 消息和加密1.1.3 鉴别、完整性和抗抵赖1.1.4 算法和密钥1.1.5 对称算法1.1.6 公开密钥算法1.1.7 密码分析1.1.8 算法的安全性1.1.9 过去的术语1.2 隐写术1.3 代替密码和换位密码1.3.1 代替密码1.3.2 换位密码1.3.3 转轮机1.3.4 进一步的读物1.4 简单异或1.5 一次一密乱码本1.6 计算机算法1.7 大数**部分 密码协议第2章 协议结构模块2.1 协议概述2.1.1 协议的目的2.1.2 协议中的角色2.1.3 仲裁协议2.1.4 裁决协议2.1.5 自动执行协议2.1.6 对协议的攻击2.2 使用对称密码系统通信2.3 单向函数2.4 单向散列函数2.5 使用公开密钥密码系统通信2.5.1 混合密码系统2.5.2 merkle的难题2.6 数字签名2.6.1 使用对称密码系统和仲裁者对文件签名2.6.2 数字签名树2.6.3 使用公开密钥密码系统对文件签名2.6.4 文件签名和时间标记2.6.5 使用公开密钥密码系统和单向散列函数对文件签名2.6.6 算法和术语2.6.7 多重签名2.6.8 抗抵赖和数字签名2.6.9 数字签名的应用2.7 带加密的数字签名2.7.1 重新发送消息作为收据2.7.2 阻止重新发送攻击2.7.3 对公开密钥密码系统的攻击2.8 随机和伪随机序列的产生2.8.1 伪随机序列2.8.2 密码学意义上安全的伪随机序列2.8.3 真正的随机序列第3章 基本协议3.1 密钥交换3.1.1 对称密码系统的密钥交换3.1.2 公开密钥密码系统的密钥交换3.1.3 中间人攻击3.1.4 连锁协议3.1.5 使用数字签名的密钥交换3.1.6 密钥和消息传输3.1.7 密钥和消息广播3.2 鉴别3.2.1 使用单向函数鉴别3.2.2 字典式攻击和salt3.2.3 skey3.2.4 使用公开密钥密码系统鉴别3.2.5 使用联锁协议互相鉴别3.2.6 skid3.2.7 消息鉴别3.3 鉴别和密钥交换3.3.1 wide-mouth frog协议3.3.2 yahalom协议3.3.3 needham-schroeder协议3.3.4 otway-rees协议3.3.5 kerberos协议3.3.6 neuman-stubblebine协议3.3.7 dass协议3.3.8 denning-sacco协议3.3.9 woo-lam协议3.3.10 其他协议3.3.11 学术上的教训3.4 鉴别和密钥交换协议的形式化分析3.5 多密钥公开密钥密码系统3.6 秘密分割3.7 秘密共享3.7.1 有骗子的秘密共享3.7.2 没有trent的秘密共享3.7.3 不暴露共享的秘密共享3.7.4 可验证的秘密共享3.7.5 带预防的秘密共享3.7.6 带除名的秘密共享3.8 数据库的密码保护第4章 中级协议4.1 时间标记服务4.1.1 仲裁解决方法4.1.2 改进的仲裁解决方法4.1.3 链接协议4.1.4 分布式协议4.1.5 进一步的工作4.2 阈下信道4.2.1 阈下信道的应用4.2.2 杜绝阈下的签名4.3 不可抵赖的数字签名4.4 指定的确认者签名4.5 代理签名4.6 团体签名4.7 失败终止数字签名4.8 加密数据计算4.9 位承诺4.9.1 使用对称密码系统的位承诺4.9.2 使用单向函数的位承诺4.9.3 使用伪随机序列发生器的位承诺4.9.4 模糊点4.10 公平的硬币抛掷4.10.1 使用单向函数的抛币协议4.10.2 使用公开密钥密码系统的抛币协议4.10.3 抛币入井协议4.10.4 使用抛币产生密钥4.11 智力扑克4.11.1 三方智力扑克4.11.2 对扑克协议的攻击4.11.3 匿名密钥分配4.12 单向累加器4.13 秘密的全或无泄露4.14 密钥托管第5章 高级协议5.1 零知识证明5.1.1 基本的零知识协议5.1.2 图同构5.1.3 汉密尔顿圈5.1.4 并行零知识证明5.1.5 非交互式零知识证明5.1.6 一般性5.2 身份的零知识证明5.2.1 国际象棋特级大师问题5.2.2 黑手党骗局5.2.3 恐怖分子骗局5.2.4 建议的解决方法5.2.5 多重身份骗局5.2.6 出租护照5.2.7 成员资格证明5.3 盲签名5.3.1 完全盲签名5.3.2 盲签名协议5.3.3 专利5.4 基于身份的公开密钥密码系统5.5 不经意传输5.6 不经意签名5.7 同时签约5.7.1 带有仲裁者的签约5.7.2 无需仲裁者的同时签约:面对面5.7.3 无需仲裁者的同时签约:非面对面5.7.4 无需仲裁者的同时签约:使用密码系统5.8 数字证明邮件5.9 秘密的同时交换第6章 深奥的协议6.1 保密选举6.1.1 简单投票协议6.1.2 简单投票协议6.1.3 使用盲签名投票6.1.4 带有两个中央机构的投票6.1.5 带有单个中央机构的投票6.1.6 改进的带有单个中央机构的投票6.1.7 无需中央制表机构的投票6.1.8 其他投票方案6.2 保密的多方计算6.2.1 协议6.2.2 协议6.2.3 协议6.2.4 协议6.2.5 无条件多方安全协议6.2.6 保密电路计算6.3 匿名消息广播6.4 数字现金6.4.1 协议6.4.2 协议6.4.3 协议6.4.4 协议6.4.5 数字现金和高明的犯罪6.4.6 实用化的数字现金6.4.7 其他数字现金协议6.4.8 匿名信用卡第二部分 密码技术第7章 密钥长度7.1 对称密钥长度7.1.1 穷举攻击所需时间和金钱估计7.1.2 软件破译机7.1.3 神经网络7.1.4 病毒7.1.5 中国式抽彩法7.1.6 生物工程技术7.1.7 热力学的局限性7.2 公开密钥长度7.2.1 dna计算法7.2.2 量子计算法7.3 对称密钥和公开密钥长度的比较7.4 对单向散列函数的生日攻击7.5 密钥应该多长7.6 小结第8章 密钥管理8.1 产生密钥8.1.1 减少的密钥空间8.1.2 弱密钥选择8.1.3 随机密钥8.1.4 通行短语8.1.5 x9.17密钥产生8.1.6 dod密钥产生8.2 非线性密钥空间8.3 传输密钥8.4 验证密钥8.4.1 密钥传输中的错误检测8.4.2 解密过程中的错误检测8.5 使用密钥8.6 更新密钥8.7 存储密钥8.8 备份密钥8.9 泄露密钥8.10 密钥有效期8.11 销毁密钥8.12 公开密钥的密钥管理8.12.1 公开密钥证书8.12.2 分布式密钥管理第9章 算法类型和模式9.1 电子密码本模式9.2 分组重放9.3 密码分组链接模式9.3.1 初始化向量9.3.2 填充9.3.3 错误扩散9.3.4 安全问题9.4 序列密码算法9.5 自同步序列密码9.6 密码反馈模式9.6.1 初始化向量9.6.2 错误扩散9.7 同步序列密码9.8 输出反馈模式9.8.1 初始化向量9.8.2 错误扩散9.8.3 安全问题9.8.4 ofb模式中的序列密码9.9 计数器模式9.10 其他分组密码模式9.10.1 分组链接模式9.10.2 扩散密码分组链接模式9.10.3 带校验和的密码分组链接9.10.4 带非线性函数的输出反馈9.10.5 其他模式9.11 选择密码模式9.12 交错9.13 分组密码与序列密码第10章 使用算法10.1 选择算法10.2 公开密钥密码系统与对称密码系统10.3 通信信道加密10.3.1 链链加密10.3.2 端端加密10.3.3 两者的结合10.4 用于存储的加密数据10.4.1 非关联密钥10.4.2 驱动器级与文件级加密10.4.3 提供加密驱动器的随机存取10.5 硬件加密与软件加密10.5.1 硬件10.5.2 软件10.6 压缩、编码及加密10.7 检测加密10.8 密文中隐藏密文10.9 销毁信息第三部分 密码算法第11章 数学背景11.1 信息论11.1.1 熵和不确定性11.1.2 语言信息率11.1.3 密码系统的安全性11.1.4 唯一解距离11.1.5 信息论的运用11.1.6 混乱和扩散11.2 复杂性理论11.2.1 算法的复杂性11.2.2 问题的复杂性11.2.3 np完全问题11.3 数论11.3.1 模运算11.3.2 素数11.3.3 *大公因子11.3.4 求模逆元11.3.5 求系数11.3.6 费尔马小定理11.3.7 欧拉φ函数11.3.8 中国剩余定理11.3.9 二次剩余11.3.10 勒让德符号11.3.11 雅可比符号11.3.12 blum整数11.3.13 生成元11.3.14 伽罗瓦域中的计算11.4 因子分解11.5 素数的产生11.5.1 solovag-strassen11.5.2 lehmann11.5.3 rabin-miller11.5.4 实际考虑11.5.5 强素数11.6 有限域上的离散对数第12章 数据加密标准12.1 背景12.1.1 标准的开发12.1.2 标准的采用12.1.3 des设备的鉴定和认证12.1.4 1987年的标准12.1.5 1993年的标准12.2 des的描述12.2.1 算法概要12.2.2 初始置换12.2.3 密钥置换12.2.4 扩展置换12.2.5 s盒代替12.2.6 p盒置换12.2.7 末置换12.2.8 des解密12.2.9 des的工作模式12.2.10 des的硬件和软件实现12.3 des的安全性12.3.1 弱密钥12.3.2 补密钥12.3.3 代数结构12.3.4 密钥的长度12.3.5 迭代的次数12.3.6 s盒的设计12.3.7 其他结论12.4 差分及线性分析12.4.1 差分密码分析12.4.2 相关密钥密码分析12.4.3 线性密码分析12.4.4 未来的方向12.5 实际设计准则12.6 des的各种变型12.6.1 多重des12.6.2 使用独立子密钥的des12.6.3 desx12.6.4 crypt(3)12.6.5 gdes12.6.6 更换s盒的des12.6.7 rdes12.6.8 sndes12.6.9 使用相关密钥s盒的des12.7 des现今的安全性第13章 其他分组密码算法13.1 lucifer算法13.2 madryga算法13.2.1 madryga的描述13.2.2 madryga的密码分析13.3 newdes算法13.4 feal算法13.4.1 feal的描述13.4.2 feal的密码分析13.4.3 专利13.5 redoc算法13.5.1 redoc ⅲ13.5.2 专利和许可证13.6 loki算法13.6.1 loki13.6.2 loki91的描述13.6.3 loki91的密码分析13.6.4 专利和许可证13.7 khufu和khafre算法13.7.1 khufu13.7.2 khafre13.7.3 专利13.8 rc2算法13.9 idea算法13.9.1 idea13.9.2 idea的描述13.9.3 idea的速度13.9.4 idea的密码分析13.9.5 idea的操作方式和变型13.9.6 敬告使用者13.9.7 专利和许可证13.10 mmb算法13.11 ca-1.1算法13.12 skipjack算法第14章 其他分组密码算法(续)14.1 gost算法14.1.1 gost的描述14.1.2 gost的密码分析14.2 cast算法14.3 blowfish算法14.3.1 blowfish的描述14.3.2 blowfish的安全性14.4 safer算法14.4.1 safer k-64的描述14.4.2 safer k-14.4.3 safer k-64的安全性14.5 3-way算法14.6 crab算法14.7 sxal8/mbal算法14.8 rc5算法14.9 其他分组密码算法14.10 分组密码设计理论14.10.1 feistel网络14.10.2 简单关系14.10.3 群结构14.10.4 弱密钥14.10.5 强的抗差分攻击和线性攻击14.10.6 s盒的设计14.10.7 设计分组密码14.11 使用单向散列函数14.11.1 karn14.11.2 luby-rackoff14.11.3 消息摘要密码14.11.4 基于单向散列函数的密码安全性14.12 分组密码算法的选择第15章 组合分组密码15.1 双重加密15.2 三重加密15.2.1 用两个密钥进行三重加密15.2.2 用三个密钥进行三重加密15.2.3 用*小密钥进行三重加密15.2.4 三重加密模式15.2.5 三重加密的变型15.3 加倍分组长度15.4 其他多重加密方案15.4.1 双重ofb/计数器15.4.2 ecb+ofb15.4.3 xdesi15.4.4 五重加密15.5 缩短cdmf密钥15.6 白化15.7 级联多重加密算法15.8 组合多重分组算法第16章 伪随机序列发生器和序列密码16.1 线性同余发生器16.2 线性反馈移位寄存器16.3 序列密码的设计与分析16.3.1 线性复杂性16.3.2 相关免疫性16.3.3 其他攻击16.4 使用lfsr的序列密码16.4.1 geffe发生器16.4.2 推广的geffe发生器16.4.3 jennings发生器16.4.4 beth-piper停走式发生器16.4.5 交错停走式发生器16.4.6 双侧停走式发生器16.4.7 门限发生器16.4.8 自采样发生器16.4.9 多倍速率内积式发生器16.4.10 求和式发生器16.4.11 dnrsg16.4.12 gollmann级联16.4.13 收缩式发生器16.4.14 自收缩式发生器16.5 a5算法16.6 hughes xpd/kpd算法16.7 nanoteq算法16.8 rambutan算法16.9 附加式发生器16.9.1 fish发生器16.9.2 pike发生器16.9.3 mush发生器16.10 gifford算法16.11 m算法16.12 pkzip算法第17章 其他序列密码和真随机序列发生器17.1 rc4算法17.2 seal算法17.2.1 伪随机函数族17.2.2 seal的描述17.2.3 seal的安全性17.2.4 专利和许可证17.3 wake算法17.4 带进位的反馈移位寄存器17.5 使用fcsr的序列密码17.5.1 级联发生器17.5.2 fcsr组合发生器17.5.3 lfsr/fcsr加法/奇偶级联17.5.4 交错停走式发生器17.5.5 收缩式发生器17.6 非线性反馈移位寄存器17.7 其他序列密码17.7.1 pless发生器17.7.2 蜂窝式自动发生器17.7.3 1/p发生器17.7.4 crypt(1)17.7.5 其他方案17.8 序列密码设计的系统理论方法17.9 序列密码设计的复杂性理论方法17.9.1 shamir伪随机数发生器17.9.2 blum-micali发生器17.9.3 rsa17.9.4 blum、blum和shub17.10 序列密码设计的其他方法17.10.1 rip van winkle密码17.10.2 diffie随机序列密码17.10.3 maurer随机序列密码17.11 级联多个序列密码17.12 选择序列密码17.13 从单个伪随机序列发生器产生多个序列17.14 真随机序列发生器17.14.1 rand表17.14.2 使用随机噪声17.14.3 使用计算机时钟17.14.4 测量键盘反应时间17.14.5 偏差和相关性17.14.6 提取随机性第18章 单向散列函数18.1 背景18.1.1 单向散列函数的长度18.1.2 单向散列函数综述18.2 snefru算法18.3 n-hash算法18.4 md4算法18.5 md5算法18.5.1 md5的描述18.5.2 md5的安全性18.6 md2算法18.7 安全散列算法18.7.1 sha的描述18.7.2 sha的安全性18.8 ripe-md算法18.9 haval算法18.10 其他单向散列函数18.11 使用对称分组算法的单向散列函数18.11.1 散列长度等于分组长度的方案18.11.2 改进的davies-meyer18.11.3 preneel-bosselaers-govaerts-vandewalle18.11.4 quisquater-girault18.11.5 loki双分组18.11.6 并行davies-meyer18.11.7 串联和并联davies-meyer18.11.8 mdc-2和mdc-18.11.9 ar散列函数18.11.10 gost散列函数18.11.11 其他方案18.12 使用公开密钥算法18.13 选择单向散列函数18.14 消息鉴别码18.14.1 cbc-mac18.14.2 消息鉴别算法18.14.3 双向mac18.14.4 jueneman方法18.14.5 ripe-mac18.14.6 ibc-hash18.14.7 单向散列函数mac18.14.8 序列密码mac第19章 公开密钥算法19.1 背景19.2 背包算法19.2.1 超递增背包19.2.2 由私人密钥产生公开密钥19.2.3 加密19.2.4 解密19.2.5 实际的实现方案19.2.6 背包的安全性19.2.7 背包变型19.2.8 专利19.3 rsa算法19.3.1 rsa的硬件实现19.3.2 rsa的速度19.3.3 软件加速19.3.4 rsa的安全性19.3.5 对rsa的选择密文攻击19.3.6 对rsa的公共模数攻击19.3.7 对rsa的低加密指数攻击19.3.8 对rsa的低解密指数攻击19.3.9 经验19.3.10 对rsa的加密和签名攻击19.3.11 标准19.3.12 专利19.4 pohlig-hellman算法19.5 rabin算法19.6 elgamal算法19.6.1 elgamal签名19.6.2 elgamal加密19.6.3 速度19.6.4 专利19.7 mceliece算法19.8 椭圆曲线密码系统19.9 luc算法19.10 有限自动机公开密钥密码系统第20章 公开密钥数字签名算法20.1 数字签名算法20.1.1 对通告的反应20.1.2 dsa的描述20.1.3 快速预计算20.1.4 dsa的素数产生20.1.5 使用dsa的elgamal加密20.1.6 使用dsa的rsa加密20.1.7 dsa的安全性20.1.8 攻击k20.1.9 公共模数的危险20.1.10 dsa中的阈下信道20.1.11 专利20.2 dsa的变型20.3 gost数字签名算法20.4 离散对数签名方案20.5 ong-schnorr-shamir签名方案20.6 esign签名方案20.6.1 esign的安全性20.6.2 专利20.7 细胞自动机20.8 其他公开密钥算法第21章 鉴别方案21.1 feige-fiat-shamir算法21.1.1 简化的feige-fiat-shamir身份鉴别方案21.1.2 feige-fiat-shamir身份鉴别方案21.1.3 例子21.1.4 加强方案21.1.5 fiat-shamir签名方案21.1.6 改进的fiat-shamir签名方案21.1.7 其他加强方案21.1.8 ohta-okamoto身份鉴别方案21.1.9 专利21.2 guillou-quisquater算法21.2.1 guillou-quisquater身份鉴别方案21.2.2 guillou-quisquater数字签名方案21.2.3 多重签名21.3 schnorr算法21.3.1 鉴别协议21.3.2 数字签名协议21.3.3 专利21.4 将身份鉴别方案转为数字签名方案第22章 密钥交换算法22.1 diffie-hellman算法22.1.1 三方或多方diffie-hellman22.1.2 扩展diffie-hellman22.1.3 hughes22.1.4 不用交换密钥的密钥交换22.1.5 专利22.2 站间协议22.3 shamir的三次传递协议22.4 comset协议22.5 加密密钥交换22.5.1 基本eke协议22.5.2 用rsa实现eke22.5.3 用elgamal实现eke22.5.4 用diffie-hellman实现eke22.5.5 加强的eke22.5.6 扩充的eke22.5.7 eke的应用22.6 加强的密钥协商22.7 会议密钥分发和秘密广播22.7.1 会议密钥分发22.7.2 tatebayashi-matsuzaki-newman第23章 协议的专用算法23.1 多重密钥的公开密钥密码系统23.2 秘密共享算法23.2.1 lagrange插值多项式方案23.2.2 矢量方案23.2.3 asmuth-bloom23.2.4 kamin-greene-hellman23.2.5 高级门限方案23.2.6 有骗子情况下的秘密共享23.3 阈下信道23.3.1 ong-schnorr-shamir23.3.2 elgamal23.3.3 esign23.3.4 dsa23.3.5 挫败dsa阈下信道23.3.6 其他方案23.4 不可抵赖的数字签名23.5 指定的确认者签名23.6 用加密数据计算23.7 公平的硬币抛掷23.7.1 利用平方根的硬币抛掷23.7.2 利用模p指数运算的硬币抛掷23.7.3 利用blum整数的硬币抛掷23.8 单向累加器23.9 秘密的全或无泄露23.10 公正和故障保险密码系统23.10.1 公正的diffie-hellman23.10.2 故障保险的diffie-hellman23.11 知识的零知识证明23.11.1 离散对数的零知识证明23.11.2 破译rsa能力的零知识证明23.11.3 n是一个blum整数的零知识证明23.12 盲签名23.13 不经意传输23.14 保密的多方计算23.15 概率加密23.16 量子密码学第四部分 真实世界第24章 实现方案实例24.1 ibm秘密密钥管理协议24.2 mitrenet24.3 isdn24.3.1 密钥24.3.2 呼叫24.4 stu-ⅲ24.5 kerberos24.5.1 kerberos模型24.5.2 kerberos工作原理24.5.3 凭证24.5.4 kerberos第5版消息24.5.5 *初票据的获取24.5.6 服务器票据的获取24.5.7 服务请求24.5.8 kerberos第4版24.5.9 kerberos的安全性24.5.10 许可证24.6 kryptoknight24.7 sesame24.8 ibm通用密码体系24.9 iso鉴别框架24.9.1 证书24.9.2 鉴别协议24.10 保密性增强邮件24.10.1 pem的有关文件24.10.2 证书24.10.3 pem的消息24.10.4 pem的安全性24.10.5 tis/pem24.10.6 ripem24.11 消息安全协议24.12 pretty good privacy24.13 智能卡24.14 公开密钥密码学标准24.15 通用电子支付系统24.16 clipper24.17 capstone24.18 at&t 3600型电话保密设备第25章 政治25.1 国家安全局25.2 国家计算机安全中心25.3 国家标准技术所25.4 rsa数据安全有限公司25.5 公开密钥合作商25.6 国际密码研究协会25.7 race完整性基本评估25.8 对欧洲的有条件访问25.9 iso/iec 925.10 专业人员、公民自由和工业组织25.10.1 电子秘密信息中心25.10.2 电子战线基金会25.10.3 计算机协会25.10.4 电气和电子工程师学会25.10.5 软件出版商协会25.11 sci.crypt25.12 cypherpunks25.13 专利25.14 美国出口法规25.15 其他国家的密码进出口25.16 合法性问题附录a 源代码参考文献matt blaze跋

封面

应用密码学协议.算法与C源程序-原书第2版

书名:应用密码学协议.算法与C源程序-原书第2版

作者:施奈尔

页数:545

定价:¥79.0

出版社:机械工业出版社

出版日期:2014-01-01

ISBN:9787111445333

PDF电子书大小:107MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注