6.1.2 对称与非对称加密技术
本课核心知识点整理
加密解决的是“防泄漏”
发送者把明文通过加密算法和加密密钥变成密文。攻击者即使截获密文,也看不懂;接收者再用解密算法和解密密钥还原明文。
text
明文 --加密算法 + 加密密钥--> 密文 --解密算法 + 解密密钥--> 明文加密算法本质上是数学计算,密钥就是计算中的关键参数。对称和非对称的区别,就在于加密密钥和解密密钥是否相同。
对称加密:同一把钥匙
对称加密中,加密和解密使用同一个密钥,也叫共享密钥。课堂用“密码本”类比:双方都有同一本密码本,就能加密和解密;但如果密码本被敌方拿到,密文就失去保护。
| 特点 | 说明 |
|---|---|
| 密钥 | 加密密钥 = 解密密钥 |
| 优点 | 速度快,适合大量明文 |
| 缺点 | 密钥分发困难,必须先安全共享密钥 |
| 典型算法 | DES、3DES、AES、RC5、IDEA |
对称加密并不是“不安全”,而是密钥分发麻烦。只要密钥安全,它很适合加密大量数据,比如文件、视频流、会话数据。
非对称加密:公钥和私钥成对
非对称加密中,每个实体都有一对密钥:公钥和私钥。公钥可以公开,私钥只能自己保存。
| 用哪个密钥处理 | 谁能反向处理 | 典型意义 |
|---|---|---|
| A 的公钥加密 | A 的私钥解密 | 发给 A 的保密消息 |
| A 的私钥签名 | A 的公钥验证 | 证明消息来自 A |
| B 的公钥加密 | B 的私钥解密 | 发给 B 的保密消息 |
| B 的私钥签名 | B 的公钥验证 | 证明消息来自 B |
如果 A 要给 B 发保密消息,应使用 B 的公钥 加密,因为只有 B 的私钥能解开。不能用 A 的公钥加密给 B,因为那需要 A 的私钥才能解;也不能用 A 的私钥来做保密加密,因为所有人都有 A 的公钥可以打开。
公钥加密和私钥签名别混
| 目的 | 操作 | 解释 |
|---|---|---|
| 保密 | 用接收者公钥加密,接收者私钥解密 | 只有接收者能打开 |
| 签名 | 用发送者私钥签名,发送者公钥验证 | 只有发送者能生成,所有人可验证 |
非对称加密强度高,但速度慢,不适合直接加密大量明文。常见非对称算法包括 RSA、ECC。ECC 也叫椭圆曲线密码算法。
数字信封:两种技术混合使用
对称加密快,但共享密钥不好安全传;非对称加密能安全传小数据,但直接加密大量正文太慢。数字信封把两者结合:
- 生成一个对称密钥 K。
- 用 K 加密大量正文。
- 用接收者公钥加密 K,形成“数字信封”。
- 接收者用自己的私钥打开信封,取出 K。
- 接收者用 K 解密正文。
技术取舍
| 技术 | 优势 | 劣势 | 为什么不会被另一方完全替代 |
|---|---|---|---|
| 对称加密 | 快,适合大量数据 | 密钥分发困难 | 大规模数据传输仍需要效率 |
| 非对称加密 | 公钥可公开,适合密钥分发和认证 | 慢,不适合大量明文 | 能解决共享密钥安全传输问题 |
| 数字信封 | 兼顾效率和密钥分发安全 | 流程更复杂 | 实际安全通信常用这种混合模式 |
例题
下列属于对称加密算法的是:
非对称加密的典型特点是:
数字信封中,通常用于保护对称密钥 K 的做法是:
自查要点
- 对称加密为什么快,又为什么有密钥分发困难?
- 给 B 发保密消息时,为什么要用 B 的公钥加密?
- 私钥签名为什么不等于保密加密?
- 数字信封怎样同时利用对称和非对称加密的优点?