本篇主要提供图解密码技术第3版第三版结城浩电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com
基本信息 |
|||
书 名 |
图解密码技术 |
||
外文书名 |
|
出版社 |
人民邮电出版社 |
作 者 |
[日]结城浩 |
定 价 |
89.00元 |
出版时间 |
2016.06 |
I S B N |
9787115424914 |
套装书 |
否 |
重 量 |
KG |
装 帧 |
平装 |
版 次 |
3 |
字 数 |
590000 |
配套资源 | |
页 数 |
402 |
开 本 |
16开 |
|
内容简介 |
|||
本书以图配文的形式,详细讲解了6种重要的密码技术:对称密码、公钥密码、单向散列函数、消息认证码、数字签名和伪随机数生成器。 第 1部分讲述了密码技术的历史沿革、对称密码、分组密码模式(包括ECB、CBC、CFB、OFB、CTR)、公钥密码、混合密码系统。第 2部分重点介绍了认证方面的内容,涉及单向散列函数、消息认证码、数字签名、证书等。第3部分讲述了密钥、随机数、PGP、SSL/TLS 以及密码技术在现实生活中的应用。 第3版对旧版内容进行了大幅更新,并新增POODLE攻击、心脏出血漏洞、Superfish事件、SHA-3竞赛、Keccak、认证加密、椭圆曲线密码、比特币等内容。 |
目 录 |
|||
第1部分 密码1 第1章 环游密码世界3 1.1本章学习的内容4 1.2密码4 1.2.1Alice与Bob4 1.2.2发送者、接收者和窃听者4 1.2.3加密与解密6 1.2.4密码保证了消息的机密性7 1.2.5破译7 1.3对称密码与公钥密码8 1.3.1密码算法8 1.3.2密钥8 1.3.3对称密码与公钥密码9 1.3.4混合密码系统10 1.4其他密码技术10 1.4.1单向散列函数10 1.4.2消息认证码10 1.4.3数字签名11 1.4.4伪随机数生成器11 1.5密码学家的工具箱12 1.6隐写术与数字水印13 1.7密码与信息安全常识14 1.7.1不要使用保密的密码算法14 1.7.2使用低强度的密码比不进行任何加密更危险15 1.7.3任何密码总有一天都会被破解15 1.7.4密码只是信息安全的一部分16 1.8本章小结16 1.9小测验的答案17 第2章 历史上的密码 ——写一篇别人看不懂的文章19 2.1本章学习的内容20 2.2恺撒密码20 2.2.1什么是恺撒密码21 2.2.2恺撒密码的加密21 2.2.3恺撒密码的解密22 2.2.4用暴力破解来破译密码23 2.3简单替换密码24 2.3.1什么是简单替换密码24 2.3.2简单替换密码的加密25 2.3.3简单替换密码的解密26 2.3.4简单替换密码的密钥空间26 2.3.5用频率分析来破译密码26 2.4Enigma31 2.4.1什么是Enigma31 2.4.2用Enigma进行加密通信31 2.4.3Enigma的构造32 2.4.4Enigma的加密34 2.4.5每日密码与通信密码36 2.4.6避免通信错误36 2.4.7Enigma的解密36 2.4.8Enigma的弱点38 2.4.9Enigma的破译38 2.5思考40 2.6本章小结41 2.7小测验的答案42 第3章 对称密码(共享密钥密码)——用相同的密钥进行加密和解密45 3.1炒鸡蛋与对称密码46 3.2本章学习的内容46 3.3从文字密码到比特序列密码46 3.3.1编码46 3.3.2XOR47 3.4一次性密码本——不会被破译的密码50 3.4.1什么是一次性密码本50 3.4.2一次性密码本的加密50 3.4.3一次性密码本的解密51 3.4.4一次性密码本是无法破译的51 3.4.5一次性密码本为什么没有被使用52 3.5DES53 3.5.1什么是DES53 3.5.2加密和解密54 3.5.3DES的结构(Feistel网络)54 3.5.4差分分析与线性分析60 3.6三重DES61 3.6.1什么是三重DES61 3.6.2三重DES的加密61 3.6.3三重DES的解密63 3.6.4三重DES的现状64 3.7AES的选定过程65 3.7.1什么是AES65 3.7.2AES的选拔过程65 3.7.3AES最终候选算法的确定与AES的最终确定66 3.8Rijndael66 3.8.1什么是Rijndael66 3.8.2Rijndael的加密和解密67 3.8.3Rijndael的破译71 3.8.4应该使用哪种对称密码呢71 3.9本章小结72 3.10小测验的答案73 第4章 分组密码的模式——分组密码是如何迭代的75 4.1本章学习的内容76 4.2分组密码的模式77 4.2.1分组密码与流密码77 4.2.2什么是模式77 4.2.3明文分组与密文分组78 4.2.4主动攻击者Mallory78 4.3ECB模式79 4.3.1什么是ECB模式79 4.3.2ECB模式的特点80 4.3.3对ECB模式的攻击80 4.4CBC模式82 4.4.1什么是CBC模式82 4.4.2初始化向量83 4.4.3CBC模式的特点84 4.4.4对CBC模式的攻击84 4.4.5填充提示攻击86 4.4.6对初始化向量(IV)进行攻击86 4.4.7CBC模式的应用实例86 4.5CFB模式88 4.5.1什么是CFB模式88 4.5.2初始化向量89 4.5.3CFB模式与流密码89 4.5.4CFB模式的解密90 4.5.5对CFB模式的攻击90 4.6OFB模式91 4.6.1什么是OFB模式91 4.6.2初始化向量92 4.6.3CFB模式与OFB模式的对比92 4.7CTR模式93 4.7.1计数器的生成方法95 4.7.2OFB模式与CTR模式的对比95 4.7.3CTR模式的特点95 4.7.4错误与机密性96 4.8应该使用哪种模式呢96 4.9本章小结97 4.10小测验的答案98 第5章 公钥密码——用公钥加密,用私钥解密101 5.1投币寄物柜的使用方法102 5.2本章学习的内容102 5.3密钥配送问题102 5.3.1什么是密钥配送问题102 5.3.2通过事先共享密钥来解决104 5.3.3通过密钥分配中心来解决105 5.3.4通过Diffie-Hellman密钥交换来解决密钥配送问题106 5.3.5通过公钥密码来解决密钥配送问题106 5.4公钥密码107 5.4.1什么是公钥密码107 5.4.2公钥密码的历史108 5.4.3公钥通信的流程108 5.4.4各种术语110 5.4.5公钥密码无法解决的问题110 5.5时钟运算110 5.5.1加法111 5.5.2减法113 5.5.3乘法114 5.5.4除法114 5.5.5乘方118 5.5.6对数118 5.5.7从时钟指针到RSA119 5.6RSA120 5.6.1什么是RSA120 5.6.2RSA加密120 5.6.3RSA解密121 5.6.4生成密钥对122 5.6.5具体实践一下吧125 5.7对RSA的攻击128 5.7.1通过密文来求得明文128 5.7.2通过暴力破解来找出D128 5.7.3通过E和N求出D129 5.7.4中间人攻击130 5.7.5选择密文攻击132 5.8其他公钥密码133 5.8.1ElGamal方式133 5.8.2Rabin方式133 5.8.3椭圆曲线密码133 5.9关于公钥密码的Q&A133 5.9.1公钥密码的机密性134 5.9.2公钥密码与对称密码的密钥长度134 5.9.3对称密码的未来135 5.9.4RSA与质数135 5.9.5RSA与质因数分解136 5.9.6RSA的长度136 5.10本章小结138 5.11小测验的答案139 第6章 混合密码系统——用对称密码提高速度,用公钥密码保护会话密钥141 6.1混合动力汽车142 6.2本章学习的内容142 6.3混合密码系统142 6.3.1对称密码与公钥密码142 6.3.2混合密码系统143 6.3.3加密144 6.3.4解密146 6.3.5混合密码系统的具体例子147 6.4怎样才是高强度的混合密码系统147 6.4.1伪随机数生成器147 6.4.2对称密码148 6.4.3公钥密码148 6.4.4密钥长度的平衡148 6.5密码技术的组合148 6.6本章小结149 6.7小测验的答案150 第2部分 认证151 第7章 单向散列函数——获取消息的“指纹”153 7.1本章学习的内容154 7.2什么是单向散列函数154 7.2.1这个文件是不是真的呢154 7.2.2什么是单向散列函数157 7.2.3单向散列函数的性质159 7.2.4关于术语162 7.3单向散列函数的实际应用163 7.3.1检测软件是否被篡改163 7.3.2基于口令的加密165 7.3.3消息认证码165 7.3.4数字签名165 7.3.5伪随机数生成器165 7.3.6一次性口令165 7.4单向散列函数的具体例子166 7.4.1MD4、MD5166 7.4.2SHA-1、SHA-256、SHA-384、SHA-512166 7.4.3RIPEMD-160167 7.4.4SHA-3167 7.5SHA-3的选拔过程168 7.5.1什么是SHA-3168 7.5.2SHA-3的选拔过程168 7.5.3SHA-3最终候选名单的确定与SHA-3的最终确定168 7.6Keccak169 7.6.1什么是Keccak169 7.6.2海绵结构170 7.6.3双工结构171 7.6.4Keccak的内部状态172 7.6.5函数Keccak-f [b ]174 7.6.6对Keccak的攻击177 7.6.7对缩水版Keccak的攻击竞赛177 7.7应该使用哪种单向散列函数呢178 7.8对单向散列函数的攻击178 7.8.1暴力破解(攻击故事1)178 7.8.2生日攻击(攻击故事2)180 7.9单向散列函数无法解决的问题182 7.10本章小结183 7.11小测验的答案184 第8章 消息认证码——消息被正确传送了吗187 8.1本章学习的内容188 8.2消息认证码188 8.2.1汇款请求是正确的吗188 8.2.2什么是消息认证码189 8.2.3消息认证码的使用步骤190 8.2.4消息认证码的密钥配送问题190 8.3消息认证码的应用实例191 8.3.1SWIFT191 8.3.2IPsec191 8.3.3SSL/TLS192 8.4消息认证码的实现方法192 8.4.1使用单向散列函数实现192 8.4.2使用分组密码实现192 8.4.3其他实现方法192 8.5认证加密192 8.6HMAC的详细介绍193 8.6.1什么是HMAC193 8.6.2HMAC的步骤194 8.7对消息认证码的攻击196 8.7.1重放攻击196 8.7.2密钥推测攻击198 8.8消息认证码无法解决的问题199 8.8.1对第三方证明199 8.8.2防止否认199 8.9本章小结200 8.10小测验的答案200 第9章 数字签名——消息到底是谁写的203 9.1羊妈妈的认证204 9.2本章学习的内容204 9.3数字签名204 9.3.1Alice的借条204 9.3.2从消息认证码到数字签名205 9.3.3签名的生成和验证206 9.3.4公钥密码与数字签名207 9.4数字签名的方法209 9.4.1直接对消息签名的方法209 9.4.2对消息的散列值签名的方法211 9.5对数字签名的疑问214 9.5.1密文为什么能作为签名使用214 9.5.2数字签名不能保证机密性吗214 9.5.3这种签名可以随意复制吗215 9.5.4消息内容会不会被任意修改215 9.5.5签名会不会被重复使用216 9.5.6删除签名也无法“作废合同”吗216 9.5.7如何防止否认217 9.5.8数字签名真的能够代替签名吗217 9.6数字签名的应用实例218 9.6.1安全信息公告218 9.6.2软件下载219 9.6.3公钥证书220 9.6.4SSL/TLS220 9.7通过RSA实现数字签名220 9.7.1用RSA生成签名220 9.7.2用RSA验证签名221 9.7.3具体实践一下吧221 9.8其他的数字签名222 9.8.1ElGamal方式222 9.8.2DSA223 9.8.3ECDSA223 9.8.4Rabin方式223 9.9对数字签名的攻击223 9.9.1中间人攻击223 9.9.2对单向散列函数的攻击224 9.9.3利用数字签名攻击公钥密码224 9.9.4潜在伪造225 9.9.5其他攻击226 9.10各种密码技术的对比226 9.10.1消息认证码与数字签名226 9.10.2混合密码系统与对散列值签名227 9.11数字签名无法解决的问题227 9.12本章小结227 9.13小测验的答案228 第10章 证书——为公钥加上数字签名229 10.1本章学习的内容230 10.2证书230 10.2.1什么是证书230 10.2.2证书的应用场景230 10.3实际生成一张证书233 10.3.1赛门铁克的Digital ID免费试用服务233 10.3.2生成证书233 10.3.3显示证书234 10.3.4证书标准规范236 10.4公钥基础设施(PKI)237 10.4.1什么是公钥基础设施237 10.4.2PKI的组成要素238 10.4.3认证机构的工作240 10.4.4证书的层级结构241 10.4.5各种各样的PKI242 10.5对证书的攻击243 10.5.1在公钥注册之前进行攻击244 10.5.2注册相似人名进行攻击245 10.5.3窃取认证机构的私钥进行攻击245 10.5.4攻击者伪装成认证机构进行攻击246 10.5.5钻CRL的空子进行攻击(1)246 10.5.6钻CRL的空子进行攻击(2)247 10.5.7Superfish248 10.6关于证书的Q&A249 10.6.1为什么需要证书249 10.6.2通过自己的方法进行认证是不是更安全250 10.6.3为什么要相信认证机构251 10.7本章小结252 10.8小测验的答案253 第3部分 密钥、随机数与应用技术255 第11章 密钥——秘密的精华257 11.1本章学习的内容258 11.2什么是密钥258 11.2.1密钥就是一个巨大的数字258 11.2.2密钥与明文是等价的260 11.2.3密码算法与密钥260 11.3各种不同的密钥260 11.3.1对称密码的密钥与公钥密码的密钥260 11.3.2消息认证码的密钥与数字签名的密钥261 11.3.3用于确保机密性的密钥与用于认证的密钥262 11.3.4会话密钥与主密钥263 11.3.5用于加密内容的密钥与用于加密密钥的密钥264 11.4密钥的管理264 11.4.1生成密钥264 11.4.2配送密钥265 11.4.3更新密钥265 11.4.4保存密钥266 11.4.5作废密钥267 11.5Diffie-Hellman密钥交换268 11.5.1什么是Diffie-Hellman密钥交换268 11.5.2Diffie-Hellman密钥交换的步骤268 11.5.3Eve能计算出密钥吗270 11.5.4生成元的意义271 11.5.5具体实践一下272 11.5.6椭圆曲线Diffie-Hellman密钥交换273 11.6基于口令的密码(PBE)274 11.6.1什么是基于口令的密码274 11.6.2PBE加密275 11.6.3PBE解密276 11.6.4盐的作用277 11.6.5口令的作用279 11.6.6通过拉伸来改良PBE279 11.7如何生成安全的口令279 11.7.1使用只有自己才能知道的信息280 11.7.2将多个不同的口令分开使用280 11.7.3有效利用笔记281 11.7.4理解口令的局限性281 11.7.5使用口令生成和管理工具282 11.8本章小结282 11.9小测验的答案283 第12章 随机数——不可预测性的源泉285 12.1骡子的锁匠铺286 12.2本章学习的内容286 12.3使用随机数的密码技术286 12.4随机数的性质287 12.4.1对随机数的性质进行分类287 12.4.2随机性288 12.4.3不可预测性289 12.4.4不可重现性289 12.5伪随机数生成器291 12.6具体的伪随机数生成器292 12.6.1杂乱的方法293 12.6.2线性同余法293 12.6.3单向散列函数法296 12.6.4密码法298 12.6.5ANSI X9.17300 12.6.6其他算法302 12.7对伪随机数生成器的攻击303 12.7.1对种子进行攻击303 12.7.2对随机数池进行攻击303 12.8本章小结304 12.9小测验的答案304 第13章PGP——密码技术的完美组合307 13.1本章学习的内容308 13.2PGP简介308 13.2.1什么是PGP308 13.2.2关于OpenPGP309 13.2.3关于GNU Privacy Guard309 13.2.4PGP的功能310 13.3生成密钥对311 13.4加密与解密314 13.4.1加密314 13.4.2解密316 13.5生成和验证数字签名319 13.5.1生成数字签名319 13.5.2验证数字签名321 13.6生成数字签名并加密以及解密并验证数字签名324 13.6.1生成数字签名并加密324 13.6.2解密并验证数字签名324 13.7信任网328 13.7.1公钥合法性328 13.7.2场景1:通过自己的数字签名进行确认328 13.7.3场景2:通过自己完全信任的人的数字签名进行确认329 13.7.4场景3:通过自己有限信任的多个人的数字签名进行确认330 13.7.5公钥合法性与所有者信任是不同的331 13.7.6所有者信任级别是因人而异的331 13.8本章小结333 13.9小测验的答案333 第14章SSL/TLS——为了更安全的通信335 14.1本章学习的内容336 14.2什么是SSL/TLS336 14.2.1Alice在Bob书店买书336 14.2.2客户端与服务器337 14.2.3用SSL/TLS承载HTTP338 14.2.4SSL/TLS的工作339 14.2.5SSL/TLS也可以保护其他的协议340 14.2.6密码套件340 14.2.7SSL与TLS的区别341 14.3使用SSL/TLS进行通信341 14.3.1层次化的协议341 14.3.21 TLS记录协议343 14.3.32-1握手协议344 14.3.42-2密码规格变更协议350 14.3.52-3警告协议351 14.3.62-4应用数据协议351 14.3.7主密码351 14.3.8TLS中使用的密码技术小结353 14.4对SSL/TLS的攻击353 14.4.1对各个密码技术的攻击353 14.4.2OpenSSL的心脏出血漏洞353 14.4.3SSL 3.0的漏洞与POODLE攻击354 14.4.4FREAK攻击与密码产品出口管制354 14.4.5对伪随机数生成器的攻击355 14.4.6利用证书的时间差进行攻击355 14.5SSL/TLS用户的注意事项356 14.5.1不要误解证书的含义356 14.5.2密码通信之前的数据是不受保护的356 14.5.3密码通信之后的数据是不受保护的356 14.6本章小结357 14.7小测验的答案357 第15章 密码技术与现实社会 ——我们生活在不完美的安全中359 15.1本章学习的内容360 15.2密码技术小结360 15.2.1密码学家的工具箱360 15.2.2密码与认证362 15.2.3密码技术的框架化362 15.2.4密码技术与压缩技术362 15.3虚拟货币——比特币365 15.3.1什么是比特币365 15.3.2P2P网络366 15.3.3地址366 15.3.4钱包367 15.3.5区块链367 15.3.6区块的添加368 15.3.7交易369 15.3.8挖矿369 15.3.9确认370 15.3.10匿名性371 15.3.11信任的意义371 15.3.12比特币小结372 15.4追寻完美的密码技术372 15.4.1量子密码373 15.4.2量子计算机374 15.4.3哪一种技术会率先进入实用领域374 15.5只有完美的密码,没有完美的人375 15.5.1理论是完美的,现实是残酷的375 15.5.2防御必须天衣无缝,攻击只需突破一点375 15.5.3攻击实例1:经过PGP加密的电子邮件376 15.5.4攻击实例2:用SSL/TLS加密的信用卡号377 15.6本章小结379 附录 椭圆曲线密码 密码技术综合测验381 附录A椭圆曲线密码382 附录B密码技术综合测验392 参考文献401 |