【软考信息安全】第三章 密码学基础与对称加密算法
·
本文基于软考信息安全工程师课程笔记整理,系统梳理密码学基本理论、密码体制分类与常见对称加密算法,涵盖核心概念、数学基础与考试高频考点。
3.1 密码学基础
3.1.1 密码学概念与相关法律
密码学的组成
密码学主要由两部分组成:
| 分支 | 研究内容 |
|---|---|
| 密码编码学(Cryptography) | 研究信息的变换处理以实现信息的安全保护 |
| 密码分析学(Cryptanalysis) | 研究通过密文获取对应明文信息的技术 |
核心概念
| 概念 | 定义 |
|---|---|
| 明文(Plaintext) | 需要采用密码技术进行保护的原始消息 |
| 密文(Ciphertext) | 用密码技术处理过明文的结果,即加密后的消息 |
| 加密(Encryption) | 将明文变换成密文的过程 |
| 解密(Decryption) | 由密文恢复出原明文的过程 |
| 加密算法 | 加密过程所使用的一组操作运算规则 |
| 解密算法 | 解密过程所使用的一组操作运算规则 |
| 密钥(Key) | 加密和解密算法的操作通常在密钥控制下进行,分为加密密钥和解密密钥 |
相关法律
- 《中华人民共和国密码法》:2020年1月1日起实施(重点记忆)
- 《中华人民共和国电子签名法》:2005年4月1日起实施(了解)
3.1.2 密码安全分析(五种攻击类型)
密码分析者根据掌握的信息不同,攻击方式分为五种,难度依次降低:
| 攻击类型 | 定义 | 特点 |
|---|---|---|
| 唯密文攻击 | 密码分析者只拥有一个或多个用同一密钥加密的密文,无其他信息 | 难度最高,任何密码系统至少应抵抗此类攻击 |
| 已知明文攻击 | 根据已知道的某些明文-密文对来破译密码 | 密码系统需能抵抗此类攻击才具备实用性 |
| 选择明文攻击 | 密码分析者能够选择明文并获得相应的密文 | 对攻击者十分有利,适于攻击文件系统和数据库系统 |
| 密文验证攻击 | 对于任何选定的密文,能够得到该密文"是否合法"的判断 | 仅能判断Yes/No,无法获取具体内容 |
| 选择密文攻击 | 密码分析者能够选择密文并获得相应的明文 | 主要攻击公钥密码体制,特别是数字签名 |
经典案例:中途岛海战中,美军截获日军密文中出现"AF"代号,主动发送"中途岛淡水设备故障"的假消息,截获日军回复确认"AF"即中途岛——这是典型的选择明文攻击。
考试重点:选择明文攻击适于攻击文件系统和数据库系统;选择密文攻击主要攻击公钥密码体制(特别是数字签名)。
3.1.3 密码体制分类
私钥密码体制(对称密码体制)
核心特征:加密和解密使用相同的密钥。
- 消息收发双方必须事先通过安全渠道交换密钥
- 优点:加解密速度快、密文紧凑、使用长密钥时难破解
- 缺点:密钥分配问题(n个用户需n(n-1)/2个密钥)、密钥管理困难、无法进行身份认证
- 典型算法:DES(56位)、3DES(112位)、AES、RC4/RC5、IDEA
公钥密码体制(非对称密码体制)
核心特征:加密和解密使用不同的密钥,每个实体有一对密钥(公钥公开,私钥自己保存)。
- 公钥加密,私钥解密 → 实现保密通信
- 私钥加密,公钥解密 → 实现数字签名
- 优点:密钥分发方便、密钥保管量少(每人仅需一对)、支持数字签名
- 缺点:加密速度慢(计算量大,不适合加密大数据)、数据膨胀率高
- 典型算法:RSA(512/1024位)、Elgamal、ECC(椭圆曲线算法)、背包算法、Rabin、DH
混合密码体制
设计原理:结合对称与非对称密码的优势。
工作流程:
- 发送方用对称密钥加密消息
- 用接收方公钥加密对称密钥(生成数字信封)
- 将加密消息和数字信封一起发送
- 接收方先用私钥解密获得对称密钥
- 再用对称密钥解密消息
- 优势互补:对称密码保证加密效率,非对称密码解决密钥分发问题
- 典型应用:HTTPS、PGP等安全通信协议
- 核心概念:数字信封本质是"用公钥加密的对称密钥"
3.2 对称加密算法
3.2.1 对称加密算法分类
对称加密算法分为两类:
| 类型 | 特点 | 代表算法 |
|---|---|---|
| 分组加密 | 将数据固定分块处理(如64位/128位一组) | DES、3DES、IDEA、AES |
| 流加密(序列密码) | 数据像流水线实时处理,分组和密钥长度可变 | RC4、RC5 |
3.2.2 常见对称加密算法详解
DES算法
- 全称:Data Encryption Standard(数据加密标准)
- 类型:分组加密算法,采用移位+替换
- 分组长度:64位
- 密钥长度:总长度64位,有效密钥长度56位(8位为奇偶校验位)
- 迭代轮数:16轮Feistel结构迭代
- 特点:速度快,密钥易产生
考试重点:必须掌握有效密钥长度56位与总长度64位的区别。DES的S盒代换中,输入6位(首尾两位确定行号,中间四位确定列号),输出4位。
3DES算法(三重DES)
- 原理:使用DES对明文进行"加密-解密-加密"操作
- 公式:C = E_K1[D_K2[E_K1[P]]]
- 加密流程:K1加密 → K2解密 → K1加密(一般K1=K3)
- 解密流程:K1解密 → K2加密 → K1解密
- 密钥长度:
- 默认情况(K1=K3≠K2):112位(考试高频考点)
- 三密钥均不同:168位
- 三密钥相同:56位(等同于单DES)
易错点:题目未特殊说明时,3DES有效密钥长度为112位,而非168位。
IDEA算法
- 全称:International Data Encryption Algorithm(国际数据加密算法)
- 类型:分组加密算法
- 设计思想:混合使用来自不同代数群中的运算
- 分组长度:64位(明文和密文分组都是64位)
- 密钥长度:128位
- 应用:主要用于PGP电子邮件加密系统
AES算法
- 全称:Advanced Encryption Standard(高级加密标准)
- 分组长度:128位
- 密钥长度:支持128位、192位、256位三种
- 特点:可通过硬件实现,速度快,安全性与3DES相当但效率更高
- 设计者:J.Daemen和V.Rijmen(算法原名Rijndael)
RC4/RC5算法
- 类型:流加密算法(序列密码)
- 特点:分组和密钥长度都可变,加密速度可达DES的10倍
- 应用:主要用于WiFi加密(WEP/WPA)
3.2.3 国产加密算法(SM系列)
| 算法 | 类型 | 关键参数 | 说明 |
|---|---|---|---|
| SM1 | 对称加密 | 分组128位,密钥128位 | 国产DES/AES替代方案,算法不公开 |
| SM2 | 非对称加密(基于椭圆曲线) | 密钥长度可变 | 支持公钥加密、密钥交换、数字签名 |
| SM3 | 杂凑算法(哈希算法) | 分组512位,输出256位 | 相当于国产的MD5/SHA算法 |
| SM4 | 对称加密 | 分组128位,密钥128位 | 与SM1参数相同但算法不同,算法公开 |
| SM9 | 标识密码算法 | — | 无需数字证书,直接使用用户标识(如邮箱/手机号)作为公钥,支持公钥加密、密钥交换、数字签名 |
记忆要点:
- SM1/SM4为对称加密(128位分组/密钥)
- SM2为非对称加密(椭圆曲线)
- SM3为哈希算法(512位分组,256位输出)
- SM9为标识密码算法(无需证书)
本章小结
本章3.1-3.2节系统梳理了密码学基础理论与对称加密算法:
- 基础层面:明确密码学由编码学与分析学组成,掌握明文/密文/密钥等核心概念,理解五种密码攻击类型的难度递进关系,区分对称、非对称与混合三种密码体制的优缺点与适用场景
- 算法层面:重点掌握DES(有效密钥56位)、3DES(默认112位)、IDEA(64位分组/128位密钥)、AES(128位分组/三种密钥长度)、RC4/RC5(流加密)的参数特征,以及国产SM系列算法的类型与用途
上述内容中,密码体制分类对比、DES与3DES密钥长度、SM系列算法类型对应关系为选择题高频考点,混合密码体制的工作流程可能出现在案例分析题中。
更多推荐
所有评论(0)