一, Hash 算法与数字摘要
1. Hash 定义
Hash 算法, 能将任意长度的二进制明文串映射为较短的 (通常是固定长度的) 二进制串(Hash 值)
特点: 正向快速, 逆向困难, 输入敏感, 冲突避免
2. 常见算法
MD5 和 SHA 系列算法. SHA(Secure Hash Algorithm)并非一个算法, 而是一个 Hash 函数族.
MD5 和 SHA-1 已经被破解, 推荐至少使用 SHA-256 或更安全的算法
3. 性能
Hash 一般都是计算敏感型, 主频 CPU 越高, 算法的速度越快.
Scrypt 算法不是计算敏感型的, 需要大量的内存资源, 不能通过增加 CPU 来提升 Hash 性能.
4. 数字摘要
数字摘要是对数字内容进行 Hash 运算, 获取唯一的摘要值来指代原始完整的数字内容. 数字摘要是 Hash 算法最重要的一个用途. 利用 Hash 函数的抗碰撞性特点, 数字摘要可以解决确保内容未被篡改过的问题.
5. Hash 攻击与防护
Hash 算法并不是一种加密算法, 不能用于对信息的保护. 但常用于对口令的保存上.
二, 加解密算法
1. 加解密系统基本组成
一般包括: 加解密算法, 加密密钥, 解密密钥.
2. 对称加密算法
加密和解密过程的密钥是相同的.
从实现原理上分为两种: 分组密码和序列密码
3. 非对称加密算法
加密密钥和解密密钥是不同的, 分别称为公钥和私钥.
4. 选择明文攻击
由于公钥是公开可以获取的, 因此任何人都可以给定明文, 获取对应的密文, 这就带来选择明文攻击的风险.
5. 混合加密机制
结合了加密和非对称加密的优点.
6. 离散对数与 Diffie-Hellman 密钥交换协议
三, 消息认证码与数字签名
1. 消息认证码
2. 数字签名
3. 安全性
四, 数字证书
五, PKI 体系
六, Merkle 树结构
七, 布隆过滤器
八, 同态加密
九, 其他问题
话说这章完全一脸蒙逼的看完了, 基本上都不懂~~~
来源: http://www.bubuko.com/infodetail-2589087.html