学习指南

加密

CIE A-Level 计算机科学· 第6单元:安全性、隐私性与数据完整性· 20 分钟阅读

1. 核心概念与简单密码★★☆☆☆⏱ 5 min

📘 定义

加密

将可读的明文转换为不可读的密文,防止未授权访问的过程,解密使用密钥将该过程逆转。

例:

在存储到公司数据库之前加密客户支付数据

简单替换密码常用于CIE考题中考察基础加密原理,最常见的例子是凯撒密码。

📘 定义

凯撒密码

Shift =

一种替换密码,每个明文字母沿字母表移动个位置,解密需要向相反方向移动相同的

📐 例题

使用凯撒密码加密明文CODE,偏移量,其中

  1. 1

    将每个明文字母转换为对应数值:

  2. 2
    C=2,O=14,D=3,E=4C = 2, O = 14, D = 3, E = 4
  3. 3

    给每个数值加上偏移量,对26取模:

  4. 4
    2+3=5,14+3=17,3+3=6,4+3=72+3=5, 14+3=17, 3+3=6, 4+3=7
  5. 5

    将新数值转换回字母:

  6. 6
    5=F,17=R,6=G,7=H5=F, 17=R, 6=G, 7=H
  7. 7

    最终密文是FRGH

Exam tip:

一定要检查题目中将A定义为0还是1,这会改变最终的密文输出。

2. 对称加密★★★☆☆⏱ 5 min

📘 定义

对称加密

加密和解密使用同一个秘密密钥的加密系统,该密钥只能在授权方之间共享。

考试常考的对称算法包括AES(高级加密标准)、DES和3DES。对称加密速度非常快,非常适合加密大量数据。

📐 例题

Alice和Bob想要通过不安全的公共信道使用AES-256对称加密通信,为什么这种方式不安全?

  1. 1

    通过不安全公共信道发送的任何密钥都可能被攻击者拦截

  2. 2

    如果攻击者获得了秘密密钥,他们就能解密Alice和Bob之后所有的加密消息

  3. 3

    交换过程中没有预先存在的共享密钥来加密密钥本身,因此无法保证其安全性

3. 非对称加密★★★★☆⏱ 6 min

📘 定义

非对称加密

使用一对数学上关联的密钥的加密系统:一个公钥(公开共享)和一个私钥(由所有者秘密保管)。

  • 使用用户公钥加密的数据只能用对应的私钥解密

  • 使用用户私钥签名的数据可以被任何拥有该用户公钥的人验证(用于数字签名)

考试最常考的非对称算法是RSA,它依赖质数的性质。下面是一个供考试练习的简单RSA示例:

📐 例题

已知RSA参数,公钥指数,加密明文

  1. 1

    RSA加密公式为:

  2. 2
    C=MemodnC = M^e \mod n
  3. 3

    代入数值:

  4. 4
    C=127mod55C = 12^7 \mod 55
  5. 5

    分解指数简化计算:

  6. 6
    122=1441442(55)=34mod5512^2 = 144 \equiv 144 - 2(55) = 34 \mod 55
  7. 7
    124=(122)2=342=1156115621(55)=1mod5512^4 = (12^2)^2 = 34^2 = 1156 \equiv 1156 - 21(55) = 1 \mod 55
  8. 8

    相乘后对55取模:

  9. 9
    C=1×34×12=4084087(55)=23mod55C = 1 \times 34 \times 12 = 408 \equiv 408 - 7(55) = 23 \mod 55
  10. 10

    最终密文

方法对比

CIE经常要求比较对称加密和非对称加密,核心性质如下:

对称加密

加密和解密使用相同密钥,密钥必须保密

+ 优点: 速度极快,适合处理大型数据集; 相同安全强度下密钥尺寸更小

− 缺点: 安全分发密钥需要预先共享秘密; 对数字签名的支持不佳

非对称加密

公钥和私钥分离,公钥可以公开共享

+ 优点: 可以在公共信道上安全交换密钥; 原生支持数字签名

− 缺点: 速度慢,计算量大; 不适合处理大量数据

Exam tip:

将RSA的指数分解为2的幂次,避免计算大数字,这样可以节省时间并减少计算错误。

4. 加密的应用★★☆☆☆⏱ 4 min

加密用于保护两种主要状态的数据:

  • 静态数据:加密存储的数据,例如整个硬盘、密码数据库和客户支付信息

  • 传输中数据:加密通过公共网络发送的数据,例如HTTPS网络流量、电子邮件和VPN连接

  • 数字签名:通过使用发送者的私钥对内容的散列值签名,验证软件更新、法律文件和网站的真实性

✓ 快速检测

测试你的理解

  1. HTTPS传输的批量数据使用哪种加密方式加密?

    • 对称加密

    • 非对称加密

    • RSA加密

    • 不加密

5. 常见陷阱

错误做法:

混淆加密和散列(哈希)

原因:

考官经常考察这个区分,混淆两者会丢失轻松可得的分数

正确做法:

记住:加密=可逆向的保密性,散列=单向完整性检查

错误做法:

认为非对称加密一定比对称加密好

原因:

非对称加密慢得多,因此不用于处理大量数据

正确做法:

说明两种方法结合使用:非对称加密用于密钥交换,对称加密用于批量数据

错误做法:

混淆非对称加密中加密/解密分别使用哪个密钥

原因:

这是对公钥/私钥角色的常见误解

正确做法:

给某人发送消息时:用对方的公钥加密,只有对方的私钥可以解密

错误做法:

在RSA题目中计算完整的大指数

原因:

这会导致计算错误,浪费宝贵的考试时间

正确做法:

将指数分解为2的幂次,每一步都对取模以保持数值较小

错误做法:

认为非对称加密使用一个共享密钥

原因:

混淆了对称和非对称的核心性质,是常见的考试陷阱

正确做法:

记住:对称加密=1个共享密钥,非对称加密=每个用户2个密钥(公钥+私钥)

6. 速查表

性质

对称加密

非对称加密

密钥数量

1个共享秘密密钥

每个用户2个密钥:公钥 + 私钥

密钥分发

需要安全的预先共享信道

公钥可以公开共享

速度

速度极快,计算量低

速度慢,计算量高

最适合

批量数据、静态数据

密钥交换、数字签名

7. 常见问题

加密和散列(哈希)的区别是什么?

加密可以通过密钥逆向还原,设计目的是保证保密性。散列是单向函数,生成固定长度的摘要,设计目的是检查数据完整性,而非保密性。

为什么RSA被认为是安全的?

RSA的安全性依赖于一个事实:当密钥长度足够时,分解两个大质数的乘积对于当前技术来说在计算上是不可行的。

真题中的出现

AI 根据考纲规律估算的考点位置,请对照官方真题核实准确性。仅作复习重点参考。

  • 2022 · 2

    比较对称加密和非对称加密

  • 2023 · 2

    简单RSA加密计算

  • 2024 · 2

    加密应用场景题目

深入阅读

下一步

加密是CIE 9618试卷2所有安全主题的基础概念,在扩展回答题中经常会结合其他安全概念考察。理解对称加密和非对称加密之间的权衡对于回答HTTPS、数字证书和安全网络通信相关的问题至关重要。加密通常与散列结合保证数据完整性,是所有现代安全系统的基础。接下来,你可以学习相关安全主题,建立对本单元的完整理解。