信息系统基础知识(十):信息加解密技术详解

📝 前言

在前两篇文章中,我们学习了信息安全的基础知识和信息系统安全的作用与意义。信息安全的目标------机密性、完整性、可用性、可控性、可审查性------已经清晰,但一个更关键的问题随之而来:这些安全目标如何在实际系统中落地?

答案的核心就是信息加解密技术。加密是保障机密性的最主要手段,哈希是保障完整性的基础工具,而数字签名则同时提供了完整性和不可否认性。可以说,没有密码技术,信息安全就是空中楼阁。

在系统架构设计师考试中,信息加解密技术是信息安全章节的核心考点 。本章在上午选择题中约占3-5分,在案例分析和论文中有时也会涉及。考查内容涵盖对称加密与非对称加密的概念与算法对比、报文摘要与数字签名、国密算法(SM2/SM3/SM4)的识别与应用、混合加密(数字信封)等。本章很少涉及超纲题,核心是准确记忆算法分类和典型应用场景。

本文将依据《系统架构设计师教程(第二版)》第4.4节"信息加解密技术"的知识框架,结合历年真题考点,系统梳理加解密技术的核心知识。

一、数据加密基础

1.1 加密的核心目的

数据加密的核心目的是防止未经授权的用户访问敏感信息 。在信息系统架构设计中,加密是保障机密性这一安全要素的主要技术手段。

1.2 密码学的两大分支

密码学(Cryptography)是研究数据加密的科学,分为两大分支:

分支 定义 典型活动
密码编码学 设计加密算法 设计DES、AES、RSA等算法
密码分析学 破解加密算法 尝试在不知道密钥的情况下还原明文

保密通信模型是理解加密的基础:

  • 加密过程:明文P → 加密算法E + 密钥K → 密文C(C = E(K, P))

  • 解密过程:密文C → 解密算法D + 密钥K → 明文P(P = D(K, C))

一个密码系统至少由明文、密文、加密算法、解密算法和密钥五个部分组成。

1.3 安全性原则

柯克霍夫原则 是密码学的核心假设:算法可以公开,密钥必须保密。这意味着加密算法的安全性不依赖于算法的保密,而完全依赖于密钥的保密。这一原则也是现代密码学的基石。

二、对称加密算法

2.1 对称加密的基本概念

对称加密 (又称私人密钥加密/共享密钥加密)是指加密密钥和解密密钥相同的加密方式。通信双方必须预先共享同一密钥。

核心特点

  • 优点:加密效率高,适合加密大量数据

  • 缺点:加密强度相对不高,密钥分发困难

2.2 常见对称加密算法

算法 密钥长度 分组长度 特点 状态
DES 56位 64位 替换+移位,速度快,密钥易产生 已不安全
3DES(三重DES) 112位(两把56位密钥) 64位 加密流程:K1加密→K2解密→K1加密 性能较差
IDEA 128位 64位 8轮迭代,比DES快 仍在部分场景使用
AES 128/192/256位 128位 抗攻击性强,2002年取代DES成为新标准 当前主流
RC-5 可变 32/64/128位可变 RSA数据安全公司产品常用 较少使用

DES的加密过程:明文被分成64位的块,对每个块进行19次变换,其中16次变换由56位密钥的不同排列形式控制,最后产生64位的密文块。

3DES的加密流程:用密钥K1进行DES加密 → 用K2对结果进行DES解密 → 用K1对结果进行DES加密。3DES克服了DES密钥长度较短的缺点,密钥长度为112位。

AES(高级加密标准) 又称Rijndael加密法,是美国联邦政府采用的区块加密标准,用于替代原先的DES。金融系统普遍采用AES算法。

考试提示:对称加密算法的典型考题是"以下哪个不属于对称加密算法"------需要准确识别RSA等非对称算法。2025年考试需特别注意混合加密体系的考察趋势。

三、非对称加密算法

3.1 非对称加密的基本概念

非对称加密 (又称公开密钥加密)是指加密密钥和解密密钥不同 的加密方式。密钥必须成对使用------公钥(Public Key) 公开,私钥(Private Key) 自己保密。

核心特点

  • 优点:加密强度高,密钥分发容易(公钥可公开)

  • 缺点:加密速度慢,不适合加密大量数据

两大应用场景

  • 保密通信:用公钥加密,私钥解密

  • 数字签名:用私钥加密(签名),公钥解密(验证)

3.2 常见非对称加密算法

算法 安全性基础 特点
RSA 大素数分解的困难性 最经典的非对称算法,2048位密钥,计算量极大
ECC(椭圆曲线算法) 椭圆曲线离散对数问题 同安全强度下密钥更短
Elgamal 有限域离散对数问题 较少使用

RSA算法原理

  1. 选择两个大素数p、q(>100位)

  2. 计算n = p × q,z = (p-1)(q-1)

  3. 选择整数d满足 gcd(d, z) = 1

  4. 选择e满足 e × d ≡ 1 mod z

  5. 加密:C = P^e mod n(公钥=(e, n))

  6. 解密:P = C^d mod n(私钥=(d, n))

RSA的安全性依赖于大素数分解的困难性------将两个大质数相乘很容易,但将其乘积因式分解极其困难。据猜测,从一个密钥和密文中推断出明文的难度等同于分解两个大素数的积。

考试提示:RSA属于非对称加密算法,其加密强度更高但加解密速度慢、运算时间更长。对称加密算法(AES)加密效率是RSA的100倍以上,适合加密大量数据;非对称加密算法适合加密少量核心数据(如对称密钥、摘要值)。

四、国密算法(高频考点)

国密算法是国家密码管理局认定的国产商用密码算法,是我国信息安全自主可控的核心技术。随着信创战略的推进和《密码法》的实施,国密算法在系统架构设计师考试中的重要性持续上升。

4.1 核心国密算法速览

算法 类型 安全强度 对应国际算法 功能
SM2 非对称(基于椭圆曲线ECC) 256位 RSA 密钥交换、数字签名、公钥加密
SM3 哈希算法 256位摘要 SHA-256 完整性校验、数字签名配合
SM4 对称加密(分组) 128位密钥/分组 AES 数据加密
SM1 对称加密(分组) 128位 --- 数据加密(硬件实现为主)
SM9 标识密码(非对称) --- --- 基于标识的密码算法

4.2 SM2详解

SM2是国密算法体系的核心与基石,基于椭圆曲线密码(ECC),相当于国际算法中的RSA。256位的SM2密码强度比2048位的RSA密码强度更高。

功能:SM2包括三个子规范------SM2-1用于数字签名、SM2-2用于密钥交换、SM2-3用于公钥加密。

考试要点

  • SM2是非对称密码算法 ,是国密算法中唯一使用椭圆曲线的算法

  • 国密SSL证书采用SM2公钥算法体系

  • 公钥用于加密或验证签名,私钥用于解密或生成签名

4.3 SM3详解

SM3是密码杂凑算法(哈希算法),输出256位哈希值,对应国际SHA-256。

功能:主要用于数字签名和消息认证码。在SSL握手和数字签名中,SM3与SM2结合使用。

考试要点 :SM3用于完整性校验

4.4 SM4详解

SM4是分组对称加密算法,分组长度和密钥长度均为128位,是AES算法的强力对手。

考试要点 :SM4用于数据加密。SM4软件实现性能优于AES,硬件加速可进一步提升效率。

4.5 国密算法的考试应用

在信创场景下,系统架构设计应优先考虑国密算法(SM系列)。一个完整的国密安全方案通常采用"SM2+SM3+SM4"的组合

  • SM2:完成身份认证和密钥协商

  • SM3:保证数据完整性

  • SM4:完成大量业务数据的加密

典型真题 :国密SSL证书采用( )公钥算法体系,支持SM2、SM3、SM4等国密算法安全协议。正确答案:SM2

五、报文摘要与数字签名

5.1 报文摘要(哈希算法)

报文摘要 (又称消息摘要、散列函数)是一种单向散列函数。它将任意长度的数据"压缩"成固定长度的摘要值(散列值),具有以下核心特征:

  • 单向性:不可逆,无法从摘要还原原始数据

  • 固定长度:输出长度固定

  • 抗碰撞性:不同数据产生相同摘要的可能性极低

常见摘要算法

算法 输出长度 安全性 状态
MD5 128位 较低,已发现碰撞漏洞 高安全场景已淘汰
SHA-1 160位 较低 已逐步淘汰
SHA-256 256位 当前主流
SM3 256位 高(国密标准) 信创场景优先

用途 :报文摘要主要用于确保信息完整性,防篡改。MD5可通过生成固定长度的散列值确保消息的完整性,而非用于加密或访问控制。

典型应用场景

  • 软件分发:生成安装包的摘要值,用户下载后通过对比摘要确认文件完整性

  • 密码存储:生成用户密码的散列值(需结合盐值),避免明文存储风险

  • 数据同步:在分布式系统中,通过MD5生成数据块的摘要值验证数据完整性

5.2 数字签名

数字签名 是公钥密码技术的重要应用,它同时提供了完整性、认证和不可否认性

签名过程

  1. 发送方对消息计算摘要(使用MD5/SHA/SM3)

  2. 发送方用自己的私钥对摘要进行加密(签名)

  3. 将消息和签名一同发送

验证过程

  1. 接收方对消息计算摘要

  2. 接收方用发送方的公钥解密签名,得到原始摘要

  3. 对比两个摘要------一致则签名有效

关键辨析

  • 数字签名之前要先对消息或报文做摘要

  • 数字签名系统不一定具有数据加密功能(签名不等于加密)

六、混合加密(数字信封)

6.1 为什么需要混合加密?

对称加密效率高但密钥分发困难,非对称加密密钥分发容易但速度慢。在实际系统中,需要结合两者优势

技术难点:数据太大(如2GB),非对称加密太慢,必须用对称加密。

6.2 数字信封的工作原理

数字信封是一种结合对称加密和非对称加密的混合加密技术:

加密过程

  1. 发送方生成一个临时的对称密钥K(会话密钥)

  2. 用对称密钥K加密数据(高效)

  3. 用接收方的公钥加密对称密钥K(安全传递密钥)

  4. 将加密后的数据和加密后的密钥一起发送

解密过程

  1. 接收方用自己的私钥解密"信封",得到对称密钥K

  2. 用对称密钥K解密数据

数字信封确保只有规定的接收人才能阅读信息的内容------即使数据被截获,没有接收方的私钥也无法解开信封。

6.3 考试要点

历年真题常见设问

  • 对文件数据进行加密时,应采用对称加密的块加密方式还是流加密方式?

  • 描述数字信封机制中的数据加密与解密过程

七、密钥管理技术

7.1 密钥管理的核心问题

密钥管理的核心问题是减少密钥数量 + 自动化分配

如果网络中N个用户都需要支持加密服务,每一对用户都需要一个共享密钥,密钥总数将达到 N(N-1)/2。密钥管理就是解决这一问题的关键。

7.2 对称密钥的分配方式

方式 原理 适用场景
人工分发 物理传递密钥 小规模网络
KDC(密钥分配中心) 用户与KDC共享主密钥,KDC生成临时会话密钥 大规模网络
分层KDC 本地KDC管理小范围,全局KDC互联 超大规模网络

KDC的工作流程

  1. KDC与每个用户共享一个主密钥

  2. 通过主密钥为每对用户分配会话密钥

  3. 通信结束后会话密钥立即销毁

7.3 公钥的分配方式

方式 优点 缺点
公开发布 简单 易被伪造
公用目录表 可信机构维护 管理员密钥泄露则系统崩溃
公钥管理机构 集中管理 易成系统瓶颈
公钥证书(CA) 最安全 需建设PKI体系

7.4 密钥标签与控制矢量

密钥标签:利用DES的8个校验位作为控制标签,前3位分别标识密钥类型(主密钥/会话密钥、加密/解密)。

控制矢量:用若干字段说明密钥在特定环境下是否允许被使用,由密钥中心产生并加入密钥中,长度可变。

八、历年真题解析

8.1 真题1(对称加密算法识别,2025年11月)

题干:常用对称加密算法不包括( )。

A. DES B. RC-5 C. IDEA D. RSA

正确答案:D

解析:对称加密的核心特征是加密与解密使用同一密钥,而非对称加密采用公钥/私钥配对机制。DES、RC-5、IDEA均为经典对称算法,而RSA是典型的非对称算法。考生常见错误是将RSA归入对称算法。

8.2 真题2(更换加密算法的变化类型,2025年11月)

题干:更换系统加密算法属于哪种系统变化类型?

A. 行为变化 B. 风格变化 C. 属性改名 D. 架构变化

正确答案:A

解析 :更换系统加密算法(如从AES改为SM4、从SHA-1改为SHA-256)改变了算法的处理行为。但系统模块的组织方式、架构风格、接口和整体结构均未改变。因此属于行为变化。风格变化指架构风格改变(如单体→微服务),属性改名指修改命名或配置。

8.3 真题3(MD5算法类型识别,2018年11月模拟)

题干:MD5是一种( )算法。

A. 共享密钥 B. 公开密钥 C. 报文摘要 D. 访问控制

正确答案:C

解析:MD5是报文摘要算法(散列函数),通过生成固定长度的散列值确保消息的完整性,而非用于加密或访问控制。

8.4 真题4(加密对质量属性的影响)

题干:改变加密算法可能会对开发周期和交付成功率产生非常重要的影响,因此在软件架构评估中,该设计决策是一个( )。

解析 :更换加密算法是典型的风险点------它可能影响系统性能(加密耗时增加)、开发周期(算法集成和测试)、以及系统安全性(新算法的安全强度)。在架构评估中,这类决策需要权衡安全性与性能。

备考提醒 :考生容易混淆"安全性"与"性能"之间的主次关系。真题中常见陷阱是选择"可用性"或"可靠性",但题目通常指向的是性能维度。

九、复习建议与备考策略

9.1 知识体系梳理

text

复制代码
信息加解密技术复习主线:

第一层:加密基础
├── 密码编码学 vs 密码分析学
├── 保密通信模型(加密/解密过程)
└── 柯克霍夫原则(算法公开、密钥保密)

第二层:对称加密
├── 核心特征:加密密钥=解密密钥
├── 典型算法:DES→3DES→AES(演进路径)
├── 优缺点:效率高 vs 密钥分发困难
└── 适用场景:大量数据加密

第三层:非对称加密
├── 核心特征:公钥/私钥配对
├── 典型算法:RSA(大素数分解)、ECC
├── 优缺点:强度高 vs 速度慢
└── 适用场景:密钥分发、数字签名

第四层:国密算法(高频考点)
├── SM2:非对称(ECC),用于签名/密钥交换
├── SM3:哈希(256位),用于完整性校验
├── SM4:对称加密(128位),用于数据加密
└── 组合应用:SM2+SM3+SM4

第五层:报文摘要与数字签名
├── 摘要算法:MD5→SHA-1→SHA-256/SM3
├── 摘要用途:完整性校验
├── 数字签名:私钥签名、公钥验证
└── 签名≠加密

第六层:混合加密(数字信封)
├── 对称加密数据 + 非对称加密密钥
└── 兼顾效率与安全性

第七层:密钥管理
├── 对称密钥分配:人工/KDC/分层KDC
├── 公钥分配:公开发布/目录/CA证书
└── 密钥标签与控制矢量

9.2 记忆口诀

对称与非对称对比口诀

text

复制代码
对称加密同一钥,效率高来分发难
非对称加密用两钥,强度高来速度慢
DES已老AES新,RSA靠大数分解难

国密算法口诀

text

复制代码
SM2非对称(像RSA),SM3哈希(像SHA)
SM4对称(像AES),三者组合保安全
SM2签名和交换,SM3校验防篡改
SM4加密大数据,国密方案全覆盖

数字签名口诀

text

复制代码
先摘要后签名,私钥签名公钥验
签名不是加密用,完整性认证不可否认全

9.3 高频考点总结

考点 考查形式 难度 频率
对称/非对称加密算法识别 选择题 ⭐⭐⭐⭐⭐
国密算法(SM2/SM3/SM4)分类与功能 选择题 ⭐⭐⭐⭐
报文摘要与数字签名的区别 选择题 ⭐⭐⭐⭐
数字信封(混合加密)原理 选择题/案例分析 ⭐⭐⭐
RSA安全性基础(大数分解) 选择题 ⭐⭐⭐
加密对质量属性的影响 选择题/案例分析 ⭐⭐⭐

9.4 易错点总结

易错点 正确理解
将RSA归入对称加密算法 RSA是非对称加密算法
混淆MD5与加密算法 MD5是报文摘要算法,不是加密算法
混淆SM2与SM4 SM2是非对称(签名/交换),SM4是对称(数据加密)
认为数字签名=数据加密 数字签名不一定具有数据加密功能
混淆更换算法与架构变化 更换加密算法属于行为变化,不是架构变化
认为加密不影响性能 加密算法会影响系统性能,是架构评估中的敏感点

9.5 备考要点

  1. 准确记忆算法分类:能够快速判断一个算法属于对称加密、非对称加密还是哈希算法

  2. 掌握国密算法三件套:SM2(非对称)、SM3(哈希)、SM4(对称)的功能和对应关系

  3. 理解数字信封原理:混合加密的典型应用,考试中常以案例分析形式出现

  4. 区分签名与加密:签名用私钥(证明身份),加密用公钥(保护数据)

  5. 关注信创趋势:国密算法在信创项目中的优先地位,以及《密码法》的相关要求

结语

信息加解密技术是信息系统安全的基石。从对称加密的高效到非对称加密的安全,从国际算法的广泛应用到国密算法的自主可控,从单纯的加密到数字信封的混合方案,每一项技术都有其适用的场景和边界。

作为系统架构设计师,掌握加解密技术的核心概念和算法分类,不仅是为了应对考试中的选择题,更是为了在实际架构设计中做出正确的安全决策------选择什么算法、如何管理密钥、如何平衡安全性与性能、如何满足信创合规要求。在信创战略和《密码法》深入实施的背景下,国密算法(SM2/SM3/SM4)的应用正在成为架构设计的"必选项"而非"可选项"。

在下一节中,我们将进入密钥管理技术和访问控制技术的学习。希望本文的梳理能帮助你在备考中建立完整的加解密技术知识体系!