Skip to content
难度基础(★)
建议时长45分钟

6.1.2 对称与非对称加密技术

本课核心知识点整理
本课核心知识点手绘流程图(SVG)

加密解决的是“防泄漏”

发送者把明文通过加密算法和加密密钥变成密文。攻击者即使截获密文,也看不懂;接收者再用解密算法和解密密钥还原明文。

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 也叫椭圆曲线密码算法。

数字信封:两种技术混合使用

对称加密快,但共享密钥不好安全传;非对称加密能安全传小数据,但直接加密大量正文太慢。数字信封把两者结合:

  1. 生成一个对称密钥 K。
  2. 用 K 加密大量正文。
  3. 用接收者公钥加密 K,形成“数字信封”。
  4. 接收者用自己的私钥打开信封,取出 K。
  5. 接收者用 K 解密正文。
正文用 K 对称加密密文正文传输效率高对称密钥 K用接收者公钥加密数字信封只有接收者能打开接收者私钥打开信封取 K再用 K 解密正文

技术取舍

技术优势劣势为什么不会被另一方完全替代
对称加密快,适合大量数据密钥分发困难大规模数据传输仍需要效率
非对称加密公钥可公开,适合密钥分发和认证慢,不适合大量明文能解决共享密钥安全传输问题
数字信封兼顾效率和密钥分发安全流程更复杂实际安全通信常用这种混合模式

例题

单选
下列属于对称加密算法的是:
单选
非对称加密的典型特点是:
单选
数字信封中,通常用于保护对称密钥 K 的做法是:

自查要点

  1. 对称加密为什么快,又为什么有密钥分发困难?
  2. 给 B 发保密消息时,为什么要用 B 的公钥加密?
  3. 私钥签名为什么不等于保密加密?
  4. 数字信封怎样同时利用对称和非对称加密的优点?