书籍详情

应用密码学:协议、算法与C源程序

应用密码学:协议、算法与C源程序

作者:(美)Bruce Schneier著;吴世忠 等译

出版社:机械工业出版社

出版时间:2003-03-01

ISBN:9787111075882

定价:¥49.00

购买这本书可以去
内容简介
  本书真实系统地介绍了密码学及该领域全面的参考文献。全书共分四个部分,首先定义了密码学的多个术语,介绍了密码学的发展及背景,描述了密码学从简单到复杂的各种协议,详细讨论了密码技术,并在此基础上列举了如DES、IDEA、RSA、DSA等10多个算法以及多个应用实例,并提供了算法的源代码清单。全书内容广博权威,具有极大的实用价值。自出版以来,得到业内专家的高度赞誉,是致力于密码学研究的专业及非专业人员一本难得的好书。作者简介:BruceSchneier是CounterpaneSystems公司的总裁,该公司是一个密码学和计算机安全方而后专业咨询公司。Bruce还是《E-MailSecurity》(JohnWiley&Sons,1995)和《ProtectYourMacintosh》(PeachpitPress,1994)两书的作者,并在主要的密码学杂志上发表了数十篇论文。他是《Dr.Dobb'sJournal》责任编辑之一,同时担任《ComputerandCommunicationsSecurityReviews》的编辑。Bruce是国际密研究协会的理事会成员、电子隐私的信息中心的顾问成员和新安全范例工作组程序委员会成员。此外,他还经常举办密码学、计算机安全和隐私保护方面的学术讲座。
作者简介
  BruceSchneierBruceSchneier是CounterpaneSystems公司的总裁,该公司是一个密码学和计算机安全方面的专业咨询公司。并在主要的密码学杂志上发表了数十篇论文,他是《DrDobb'sJournal》责任编辑之一,同时担任《ComputerandcommunicationsSecurityReviews》的编辑,是国际密码研究协会的理事会员、电子隐私信息中心的顾问团成员和新安全范例工作组程序委员会成员。此外他还经常举办密码学、计算机安全和隐私保护方面的学术讲座。>>更多作品
目录
     目 录
    译者序
    W.迪菲序
    前言
   第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.2Merkle的难题
    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字典式攻击和salt
    3.2.3SKEY
    3.2.4使用公开密钥密码术鉴别
    3.2.5使用联锁协议互相鉴别
    3.2.6SKID
    3.2.7消息鉴别
    3.3鉴别和密钥交换
    3.3.1Wide-MouthFrog 协议
    3.3.2Yahalom协议
    3.3.3Needham-Schroeder协议
    3.3.4Otway-Rees 协议
    3.3.5Kerberos协议
    3.3.6Neuman-Stubblebine协议
    3.3.7DASS协议
    3.3.8DEnning-Sacco协议
    3.3.9Woo- 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简单投票协议1
    6.1.2简单投票协议2
    6.1.3使用盲签名投票
    6.1.4带有两个中央机构的投票
    6.1.5带有单个中央机构的投票
    6.1.6改进的带有单个中央机构的投
    票
    6.1.7无需中央制表机构的投票
    6.1.8其他投票方案
    6.2 保密的多方计算
    6.2.1协议1
    6.2.2协议2
    6.2.3协议3
    6.2.4协议4
    6.2.5无条件多方安全协议
    6.2.6保密电路计算
    6.3匿名消息广播
    6.4 数字现金
    6.4.1协议1
    6.4.2协议2
    6.4.3协议3
    6.4.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.1DNA计算法
    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.5X9.17密钥产生
    8.1.6DoD密钥产生
    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.4OFB模式中的序列密码
    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用于存储的加密数据
    1 0.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.3NP完全问题
    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.12Blum整数
    11.3.13生成元
    11.3.14伽罗瓦域中的计算
    11.4 因子分解
    11.5 素数的产生
    11.5.1Solovag- Strassen
    11.5.2Lehmann
    11.5.3Rabin-Miller
    11.5.4实际考虑
    11.5.5强素数
    11.6有限域上的离散对数
   第12章 数据加密标准
    12.1背景
    12.1.1标准的开发
    12.1.2标准的采用
    12.1.3DES设备的鉴定和认证
    12.1.41987年的标准
    12.1.51993 年的标准
    12.2DES的描述
    12.2.1算法概要
    12.2.2初始置换
    12.2.3密钥置换
    12.2.4扩展置换
    12.2.5S-盒代替
    12.2.6P-盒置换
    12.2.7末置换
    12.2.8DES解密
    12.2.9DES的工作模式
    12.2.10 DES的硬件和软件实现
    12.3DES的安全性
    12.3.1弱密钥
    12.3.2补密钥
    12.3.3代数结构
    12.3.4密钥的长度
    12.3.5迭代的次数
    12.3.6S-盒的设计
    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多重DES
    12.6.2 使用独立子密钥的DES
    12.6.3DESX
    12.6.4 CRYPT(3)
    12.6.5GDES
    12.6.6更换S-盒的DES
    12.6.7RDES
    12.6.8snDES
    12.6.9使用相关密钥S-盒的DES
    12.7DES现今的安全性如何
   第13章 其他分组密码算法
    13.1Lucifer算法
    13.2Mad ryga 算法
    13.2.1Mad ryga 的描述
    13.2.2Madryga 的密码分析
    13.3NewDES算法
    13.4FEAL算法
    13.4.1FEAL的描述
    13.4.2FEAL的密码分析
    13.4.3专利
    13.5REDOC算法
    13.5.1ReDOCⅢ
    13.5.2 专利和许可证
    13.6LOKI算 法
    13.6.1LOKI91
    13.6.2LOK191的描述
    13.6.3LOKI91的密码分析
    13.6.4专利和许可证
    13.7Khufu和Khafre算法
    13.7.1Khufu
    13.7.2Khafre
    13.7.3专利
    13.8 RC2算法
    13.9IDEA算法
    13.9.1IDEA
    13.9.2IDEA的描述
    13.9.3IDEA的速度
    13.9.4IDEA的密码分析
    13.9.5IDEA的操作方式和变型
    13.9.6敬告使用者
    13.9.7专利和许可证
    13.10 MMB 算法
    13.11CA-1.1算法
    13.12Skipjack算法
   第14章 其他分组密码算法
   (续)
    14.1GOST算法
    14.1.1GOST的描述
    14.1.2GOST的密码分析
    14.2 CAST算法
    14.3Blowfish算法
    14.3.1Blowfish的描述
    14.3.2Blowfish的安全性
    14.4SAFER算法
    14.4.1SAFERK-64的描述
    14.4.2SAFERK-128
    14.4.3SAFERK-64的安全性
    14.53-WAY算法
    14.6Crab算法
    14.7SXAL8/MBAL算法
    14.8RC5算法
    14.9其他分组密码算法
    14.10分组密码设计理论
    14.10.1Feistel网络
    14.10.2简单关系
    14.10.3群结构
    14.10.4弱密钥
    14.10.5强的抗差分攻击和线性
    攻击
    14.10.6S-盒的设计
    14.10.7设计分组密码
    14.11使用单向散列函数
    14.11.1Kam
    14.11.2Luby-Rac koff
    14.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.2ECB+OFB
    15.4.3xDES
    15.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.1Geffe发生器
    16.4.2推广的Geffe发生器
    16.4.3Jennings发生器
    16.4.4Beth-Piper停走式发生器
    16.4.5交替停走式发生器
    16.4.6双侧停走式发生器
    16.4.7门限发生器
    16.4.8自采样发生器
    16.4.9多倍速率内积式发生器
    16.4.10求和式发生器
    16.4.11DNRSG
    16.4.12Gollmann级联
    16.4.13收缩式发生器
    16.4.14自收缩式发生器
    16.5A5算法
    16.6HughesXPD/KPD算法
    16.7Nanoteq算法
    16.8Rambutan算法
    16.9附加式发生器
    16.9.1Fish发生器
    16.9.2Pike发生器
    16.9.3Mush发生器
    16.10Gifford算法
    16.11M算法
    16.12PKZIP算法
   第17章 其他序列密码和真随机序
    列发生器
    17.1RC4算法
    17.2SEAL算法
    17.2.1伪随机函数族
    17.2.2SEAL的描述
    17.2.3SEAL的安全性
    17.2.4专利和许可证
    17.3WAKE算法
    17.4带进位的反馈移位寄存器
    17.5使用FCSR的序列密码
    17.5.1级联发生器
    17.5.2FCSR组合发生器
    17.5.3CFSR/FCSR加法/奇偶级联
    17.5.4交替停走式发生器
    17.5.5收缩式发生器
    17.6非线性反馈移位寄存器
    17.7其他序列密码
    17.7.1Pless发生器
    17.7.2蜂窝式自动发生器
    17.7.31/p发生器
    17.7.4crypt(1)
    17.7.5其他方案
    17.8序列密码设计的系统理论方法
    17.9序列密码设计的复杂性理论
    方法
    17.9.1Shamir伪随机数发生器
    17.9.2Blum-Micali发生器
    17.9.3RSA
    17.9.4Blum ,Blum和Shub
    17.10序列密码设计的其他方法
    17.10.1RipvanWinkle密码
    17.10.2Diffie随机序列密码
    17.10.3Maurer随机序列密码
    17.11级联多个序列密码
    17.12选择序列密码
    17.13从单个伪随机序列发生器产生多
    个序列
    17.14真随机序列发生器
    17.14.1RAND表
    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.2Snefru算法
    18.3N-Hash算法
    18.4MD4算法
    18.5MD5算法
    18.5.1MD5的描述
    18.5.2MD5的安全性
    18.6MD2算法
    18.7安全散列算法
    18.7.1SHA的描述
    18.7.2SHA的安全性
    18.8RIPE-MD算法
    18.9HAVAL算法
    18.10其他单向散列函数
    18.11使用对称分组算法的单向散列函
    数
    18.11.1散列长度等于分组长度的方
    案
    18.11.2改进的Davies-Meyer
    18.11.3Preneel-Bosselaers-Govaerts-
    Vandewalle
    18.11.4Quisqater-Girault
    18.11.5LOKI双分组
    18.11.6并行Davies-Meyer
    18.11.7串联和并联Davies-Meyer
    18.11.8MDC-2和MDC-4
    18.11.9AR散列函数
    18.11.10COST散列函数
    18.11.11其他方案
    18.12使用公开密钥算法
    18.13选择单向散列函数
    18.14消息鉴别码
    18.14.1CBC-MAC
    18.14.2 信息鉴别算法
    18.14.3双向MAC
    18.14.4Juenenan方法
    18.14.5RIPE- MAC
    18.14.6IBC-Hash
    18.14.7单向散列函数MAC
    18.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.3RSA算法
    19.3.1RSA的硬件实现
    19.3.2RSA的速度
    19.3.3软件加速
    19.3.4RSA的安全性
    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.4Pohl ig-Hellman 算法
    19.5Rabin算法
    19.6ElGamal算法
    19.6.1ElGamal签名
    19.6.2ElGamal加密
    19.6.3速度
    19.6.4专利
    19.7McEliece 算法
    19.8椭圆曲线密码系统
    19.9LUC算法
    19.10有限自动机公开密钥密码系统
   第20章 公开密钥数字签名算法
    20.1数字签名算法
    20.1.1对通告的反应
    20.1.2DSA的描述
    20.1.3快速预计算
    20.1.4DSA的素数产生
    20.1.5使用DSA的ElGama1加密
    20.1.6使用DSA的RSA加密
    20.1.7DSA的安全性
    20.1.8攻击k
    20.1.9公共模数的危险
    20.1.10颤切中的顺下信道
    20.1.11专利
    20.2 DSA的变型
    20.3 GOST签名算法
    20.4 离散对数签名方案
    20.5 One-Schnorr-Shamir签名方案
    20.6 ESIGN签名方案
    20.6.1 ESIGN的安全性
    20.6.2 专利
    20.7 细胞自动机
   
   第21章 鉴别方案
   第22章 密钥交换算法
   第23章 协议的专用算法
    第四部分 真实世界
   第24章 实现方案实例
    24.1IBM秘密密钥管理协议
    24.2MITRENET
    24.3ISDN
    24.3.1密钥
    24.3.2呼叫
    24.4STU-Ⅲ
    24.5Kerberos
    24.5.1Kerbeeros模型
    24.5.2Kerberos工作原理
    24.5.3凭证
    24.5.4Kerberos第5版消息
    25.5.5最初票据的获取
    24.5.6服务器票据的获取
    24.5.7服务请求
    24.5.8Kerberos第4版
    24.5.9Kerberos的安全性
    24.5.10 许可证
    24.6KryptoKnight
    24.7SESAME
    24.8IBM通用密码体系
    24.9ISO鉴别框架
    24.9.1证书
    24.9.2鉴别协议
    24.10保密性增强邮件
    24.10.1PEM的有关文件
    24.10.2证书
    24.10.3PEM的消息
    24.10.4PEM的安全性
    24.10.5TIS/PEM
    24.10.6RIPEM
    24.11消息安全协议
    24.12Pret tyGood Privacy
    24.13智能卡
    24.14公开密钥密码学标准
    24.15通用电子支付系统
    26.16Clipper
    24.17Capstone
    24.18AT&T3600型电话保密设备
   第25章 政治
    25.1国家安全局
    25.2国家计算机安全中心
    25.3国家标准技术所
    25.4RSA数据安全有限公司
    25.5公开密钥合作商
    25.6国际密码研究协会
    25.7RACE完整性基本评估
    25.8对欧洲的有条件访问
    25.9ISO/IEC9979
    25.10专业人员、公民自由和工业组织
    25.10.1电子秘密信息中心
    25.10.2电子战线基金会
    25.10.3计算机协会
    25.10.4电气和电子工程师学会
    25.10.5软件出版商协会
    25.11Scicrypt
    25.12Cypherpunks
    25.13专利
    25.14美国出口法规
    25.15其他国家的密码进出口
    25.16合法性问题
    附录A 源代码
    A.1DES
    A.2LOL191
    A.31IDEA
    A.4GOST
    A.5BLOWFISH
    A.63-Way
    A.7RC5
    A.8A5
    A.9SEAL
    参考文献
    MattBlaze跋
   
猜您喜欢

读书导航