一:首先在此介绍一些密码的常识:
1>不要使用保密的密码算法
2>使用低强度的密码比不进行任何加密更加危险
3>任何密码总有一天都会被破译
4>密码只是信息安全的一部分
二:逐章总结:
第一章:环游密码世界
1.密码保证了消息的机密性:在传递消息时,我们将邮件进行加密,收件人进行解密,以防止窃听者读取邮件内容,保证了邮件即消息的机密性。
2.对称密码和公钥密码
对称密码:在加密和解密时使用同一密钥的方式。
公钥密码:在加密和解密时使用不同密钥的方式,又称非对称密码。
3.密码学家的工具箱(会在后面章节详细总结)
对称密码
公钥密码
单向散列函数
消息认证码
数字签名
伪随机数生成器
第二章:历史上的密码
1.部分古典密码即两种破译方法
历史上的著名密码:
凯撒密码
简单替换密码
Enigma
两种破译方法:
暴力攻击
词频分析
在本章中我们知道:密码算法和密钥要分开。
即:每个人都可以拥有相同品牌的锁,但每个人都有不同品牌的钥匙。锁的设计是公开的——锁匠都带有详细图的书,而且绝大多数好的设计方案都在公开专利中进行了描述——但是钥匙是秘密的。
——布鲁斯.施奈尔《网络信息安全的真相》
第三章:对称密码
1.比特运算:XOR(异或),运算规则如下:
0 XOR 0=0
0 XOR 1=1
1 XOR 1=0
1 XOR 1=0
2.一次性密码本:绝对不会被破译的密码
原理:将明文与一串随机的比特序列进行XOR运算。
难以破解原因:
密钥空间大
即使暴力破解,遍历所有密钥,也无法判断是否是正确明文
3.DES:1977年所采用的一种对称密码,随着计算机的进步现在已经能够暴力破解。
DES的结构(Feistel网络):在Feistel网络中,加密的各个步骤称为轮,整个加密过程就是进行若干次的循环。
4.三重DES:加密——解密——加密过程
5.AES:一种对称密码算法。
6.Rijndael:一种分组密码算法,使用SPN结构。
第四章:分组密码的模式
分组密码的5种主要模式:
ECB模式:电子密码本模式
CBC模式:密码分组链接模式
CFB模式:密文反馈模式
OFB模式:输出反馈模式
CTR模式:计数器模式
第五章:公钥密码
1. 公钥密码解决对称密码的密钥配送问题。
公钥密码存在的问题:
处理速度远低于对称密码
难以抵御中间人攻击
2.RSA加密
第六章:混合密码系统——用对称密码提高速度,用公钥密码保护会话密钥。
利用伪随机数生成器产生会话密钥。
第七章:单向散列函数——获取消息的指纹。
1.单向散列函数有一个输入和一个输出,其中输入称为消息,输出称为散列值。单向散列函数可以根据消息的内容计算出散列值,而散列值就可以被用来检查消息的完整性。
单向散列函数都需要具有强碰撞性。
单向散列函数确保了消息的完整性。
第八章:消息认证码——消息被正确传送了吗。
1.消息认证码是一种确认完整性并进行认证的技术,简称MAC。
消息认证码是一种与密钥相关的单向散列函数。
2.对消息认证码的攻击
重放攻击:可用序号,时间戳,nonce等方法解决
密钥推测攻击
3.消息认证码无法解决的问题:
第三方证明
防止否认
第九章:数字签名——消息到底是谁写的
1. 私钥生成签名,公钥验证签名。
2. 对数字签名的攻击:
中间人攻击
对单向散列函数的攻击
利用数字签名攻击公钥密码
第十章:证书——为公钥加上数字签名
1.什么是证书
公钥证书类似驾照,里面由本人的照片,姓名,等个人信息,以及有效期,以及属于此人的公钥,并由认证机构施加数字签名。只要看到公钥证书,我们就可以知道认证机构认定该公钥的确属于此人。公钥证书简称证书。
2.使用场景:
3.PKI:公钥基础设施
为了能够更有效的运用公钥而制定的一系列规范和规格的总称。
4.对证书的攻击:
在公钥注册之前进行攻击
注册相似人名进行攻击
窃取认证机构的私钥进行攻击
攻击者伪装成认证机构进行攻击
钻CRL的空子进行攻击:利用CRL发布的时间差进行攻击
第十一章:密钥——密码的精华
密钥就是一个巨大的数字。
密钥和明文是等价的。
第十二章:随机数——不可预测性的源泉
1.随机数的性质:
随机性——弱随机数
不可预测性——强随机数
不可重现性——真随机数
第十三章:PGP——密码技术的完美组合
第十四章:SSL/TLS——为了更安全的通信
1.一般用SSL或TLS作为对通信协议加密的协议,然后在此之上承载HTTP,从而防止窃听。通过SSL/TLS通信时,URL不是以http://开头,而是以https://开头。
2.对SSL/TLS的攻击:
对各个密码技术的攻击
对伪随机数生成器的攻击
利用证书的时间差进行攻击
3.SSL/TLS用户的注意事项:
不要误解证书的含义
密码通信之前和之后的数据不受保护
第十五章:密码技术与现实社会——我们生活在不完美的安全中