第五章 密码学与安全技术

一、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树结构

七、布隆过滤器

八、同态加密

九、其他问题

你可能感兴趣的:(第五章 密码学与安全技术)