软考学习(一)

尝试使用AI分析pdf和真题集,总结出一份学习指南。

第3章 密码学基本理论 · 核心总结

依据《信息安全工程师教程(第2版)》第3章(教材第 60–79 页)整理;第八、九节基于真题集 965 题中筛选出的 193 道密码学相关真题逐题研读补充。


一、密码学概况(3.1)

密码学 = 密码编码学 + 密码分析学,目标是保障信息的机密性、完整性、可用性、抗抵赖性

发展脉络(选择题高频)

  • 1949 年:香农发表《保密系统的通信理论》,提出混乱(Confusion)与扩散(Diffusion),交替使用换位和置换以抵御统计分析
  • 20 世纪 70 年代:Diffie-Hellman、RSA 算法开辟公钥密码学新纪元;美国发布 DES 标准——两者标志现代密码学诞生
  • 1984 年:Shamir 提出基于身份的公钥密码思想(公钥直接用身份信息如身份证号、邮箱,简化证书管理)
  • 当前热点:量子计算威胁 RSA 安全性 → 后量子密码(PQC)成为研究热点

基本概念

明文 →(加密算法 + 加密密钥)→ 密文 →(解密算法 + 解密密钥)→ 明文。

五种密码分析攻击类型(按攻击者掌握信息递增,常考排序)

攻击类型 攻击者掌握的信息
唯密文攻击 仅密文
已知明文攻击 一些”明文-密文”对
选择明文攻击 可选定明文并获取对应密文
密文验证攻击 可获知选定密文”是否合法”的判断
选择密文攻击 可获取任意选定密文对应的明文(除挑战密文外)

二、密码体制分类(3.2)

对比项 私钥(对称)体制 公钥(非对称)体制
密钥 加解密同一密钥 加密密钥公开,解密密钥保密
形象比喻 保险柜(密钥=号码) 邮局邮筒(投信公开、开箱很难)
缺陷 ①密钥分配难 ②密钥量大(n 个用户需 n(n-1)/2 个密钥)③无法认证源 计算速度慢
优点 速度快,适合数据加密 ①密钥分发方便 ②密钥保管量少 ③支持数字签名
典型算法 DES、IDEA、AES RSA、ElGamal、椭圆曲线(ECC)(教材明确”三种被证明安全有效”)

混合密码体制(数字信封,流程题常考)

  1. Alice 用对称密钥加密消息
  2. Alice 用 Bob 的公钥加密该对称密钥,形成数字信封,连同密文一起发送
  3. Bob 用自己的私钥解开数字信封,得到对称密钥
  4. Bob 用该对称密钥解密消息

三、常见密码算法(3.3)——参数必背

国际算法

算法 类型 分组长度 密钥长度 要点
DES 对称分组 64 位 56 位 IBM 研制;1997 年互联网挑战 96 天破解,1998 年 EFF 机器不到 3 天攻破 → 不安全;3DES/TDEA(加密-解密-加密)作过渡(NIST 1999 年采用),现被 AES 取代
IDEA 对称分组 64 位 128 位 来学嘉(X.J.Lai)与 Massey 提出;应用于 PGP;思想是”混合使用不同代数群中的运算”
AES 对称分组 ≥128 位 128/192/256 位 NIST 1997 年征集,Rijndael 当选;公开、全球免费使用
RSA 非对称 n≥1024 位(长期建议 2048 位) 1977 年 Rivest、Shamir、Adleman 提出;基于大整数因子分解困难性;SSH、OpenPGP、S/MIME、SSL/TLS 都依赖它

RSA 算法步骤(计算题必会)

  1. 生成两个大素数 p 和 q
  2. 计算 n = pq
  3. 计算欧拉函数 φ(n) = (p-1)(q-1)
  4. 选取随机数 e,满足 1 < e < φ(n) 且 gcd(e, φ(n)) = 1
  5. 计算 d = e⁻¹ mod φ(n)
  6. 保密 d、p、q(私钥);公开 n 和 e(公钥)

加密:C = Mᵉ mod n  解密:M = Cᵈ mod n

教材例题:p=3,q=17,e=13 → n=51,φ(n)=32,d=5;加密明文 2:C = 2¹³ mod 51 = 32;解密:32⁵ mod 51 = 2。

国产密码算法(每年必考)

算法 类型 关键参数
SM1 对称分组 分组/密钥均 128 位(算法不公开)
SM2 椭圆曲线公钥 256 位素数域椭圆曲线;用于数字签名、密钥交换、公钥加密;同等安全强度下密钥规模比其他公钥密码小得多
SM3 杂凑(Hash) 消息分组 512 位,输出杂凑值 256 位(GM/T 0004—2012)
SM4 对称分组 分组/密钥均 128 位;32 轮非线性迭代;加解密结构相同,解密轮密钥是加密轮密钥的逆序(GM/T 0002—2012)
SM9 标识密码 公钥=用户标识唯一确定,私钥由密钥生成中心 KGC 根据主密钥和用户标识计算,无需第三方证明公钥真实性(GM/T 0044—2016)

四、Hash 函数与数字签名(3.4)

Hash 函数

四个条件:① 输入任意长度的消息 M;② 输出长度固定;③ 给定 h 和 M,计算 h(M) 容易;④ 找两个不同消息 M1≠M2 使 h(M1)=h(M2) 计算上不可行(抗碰撞)。

安全性:在现有计算资源下找到一个碰撞是不可能的。

用途:① 保护消息/文件完整性(如网页防篡改:定时重算 Hash 与备份值比对);② 口令的安全存储

常见 Hash 算法

算法 分组 输出 要点
MD5 512 位 128 位 Rivest 设计(1992,RFC 1321);王小云团队提出快速寻找碰撞的方法 → 安全性已不足
SHA 系列 512 位 SHA-1 为 160 位 NIST 开发;输出长度有 SHA-224/256/384/512;已发布 SHA-2、SHA-3
SM3 512 位 256 位 国家密码管理局 2010 年公布;Merkle-Damgård 结构

数字签名

定义:签名者使用私钥对待签名数据的杂凑值做密码运算得到的结果,只能用签名者的公钥验证。用于确认完整性、签名者身份真实性、签名行为抗抵赖性

特点:可信、不可伪造、不可重用、不可抵赖、不可修改。

三个条件:① 非否认(签名者事后不能否认)② 真实性(接收者能验证、他人不能伪造)③ 可鉴别性(争执时可由第三方仲裁)。

典型方案:RSA 签名、Rabin 签名、ElGamal 签名、DSS(数字签名标准)。

流程(排序题常考)

  • 签名方:文件 → Hash 得消息摘要用发送者私钥加密摘要形成签名 → 文件 + 签名一同发送
  • 验证方:对收到的文件重新 Hash → 用发送者公钥解密签名中摘要 → 比对两个摘要:相同则确认来源与完整性,不同则已被篡改

签名与加密的区别:加密的目的是防止信息被非授权访问;签名的目的是让接收者确信发送者是谁、信息是否被篡改


五、密码管理与数字证书(3.5)

密码管理三方面

① 密钥管理(围绕生命周期,十大环节):生成、存储、分发、使用、更新、撤销、备份、恢复、销毁、审计

  • 存储:不应以明文方式存储
  • 分发:通过安全通道,方式有人工、自动化、半自动化(自动化主要靠密钥交换协议)
  • 销毁:过程应不可逆

② 密码管理政策

  • 《商用密码管理条例》(1999 年国务院发布)
  • 《中华人民共和国密码法》:密码分为核心密码、普通密码、商用密码,实行分类管理
    • 核心密码、普通密码:保护国家秘密信息,属国家秘密,由密码管理部门严格统一管理
    • 商用密码:保护不属于国家秘密的信息,公民、法人和其他组织均可依法使用

③ 密码测评:国家设立商用密码检测中心(产品检测、等级保护商用密码测评、国家电子认证根 CA 建设运维等)。

数字证书

定义:由证书认证机构(CA)签名的、包含公开密钥拥有者信息、公开密钥、签发者信息、有效期、扩展信息的数据结构,也称公钥证书。

基本信息域字段(按序):version(版本号)、serialNumber(序列号)、signature(签名算法)、issuer(颁发者)、validity(有效日期)、subject(主体)、subjectPublicKeyInfo(主体公钥信息)、issuerUniqueID、subjectUniqueID、extensions(扩展项)。

分类

  • 按类别:个人证书、机构证书、设备证书
  • 按用途:签名证书(证明签名公钥)、加密证书(证明加密公钥)

CA 系统:基于 PKI 技术建立,提供证书申请、审核、签发、查询、发布、吊销等全生命周期管理;系统组成主要有目录服务器、OCSP 服务器、注册服务器、签发服务器


六、安全协议(3.6)

Diffie-Hellman 密钥交换协议(1976)

  • 基于离散对数问题的困难性(已知 C、P 由 d 求 M 容易,由 M 反求 d 需指数级计算)
  • 步骤:
    1. Alice 和 Bob 公开商定大素数 p 和整数 a(a 是 p 的原根)
    2. Alice 秘密选随机数 aA,计算 Y_A = a^aA mod p 发给 Bob
    3. Bob 秘密选随机数 aB,计算 Y_B = a^aB mod p 发给 Alice
    4. 双方分别计算得到相同的共享密钥 K
  • 弱点:不提供身份认证,不能抵抗中间人攻击

SSH(安全外壳,端口 22)

基于公钥的安全应用协议,由三个子协议组成:

  1. SSH 传输层协议:算法协商、密钥交换、服务器认证,建立加密安全连接(提供完整性、保密性、压缩)
  2. SSH 用户认证协议:口令认证、公钥认证、主机认证等多种机制
  3. SSH 连接协议:分解为多个并发逻辑通道,支持会话隧道和 TCP 转发,提供流控
  • SSH1 因漏洞停用,现使用 SSH2
  • 验证服务器公钥真实性的三种方法:① 随身携带公钥拷贝读入本机;② 从公开信道下载公钥及指纹,电话验证指纹后用 Hash 软件比对;③ 通过 PKI 验证
  • 支持 Telnet、rsh、rlogin、scp 等安全服务(端口转发技术)
  • 仍可能受到中间人攻击和拒绝服务攻击

七、密码学网络安全应用(3.7)

六大应用场景类型

  1. 网络用户安全:数字证书标识用户身份、身份鉴别;加密保护个人敏感信息
  2. 物理和环境安全:门禁访问者身份鉴别;门禁进出记录、视频监控记录的存储完整性和机密性
  3. 网络和通信安全:通信实体双向身份鉴别;数字签名保完整性;敏感字段/报文加密;设备接入认证
  4. 设备和计算安全:登录用户身份鉴别;Hash 及密码算法建立可信计算环境;数字签名验证可执行程序来源;加密保护口令文件;SSH/SSL 建立远程管理安全通道
  5. 应用和数据安全:安全协议及数字证书鉴别登录用户;加密访问控制信息;SSL/SSH 传输重要数据;加密存储;Hash/签名保护应用系统完整性
  6. 业务应用创新:数字证书+签名构建网络发票;Hash 函数构建区块链;密码技术建立电子证照

典型应用参考(案例题素材)

  • 路由器:① 管理员口令用 MD5 Hash 后保存;② 远程管理用 SSH 替代 Telnet(防口令泄露);③ 路由更新包用 MD5-HMAC 做完整性认证,防路由欺诈(Hash 比对不一致则拒绝该更新包)
  • Web 网站数字证书 + SSL 共同保护,防止浏览器与服务器间通信信息泄露、篡改、伪造
  • 电子邮件PGP 加密软件——密钥管理用 RSA、数据加密用 IDEA、完整性检测与数字签名用 MD5(+随机数生成器),兼取对称与非对称算法优点

八、真题补充考点(教材未细讲,但真题反复考)

1. DES 内部细节(选择题挖得很深)

  • DES 共 16 轮迭代,每一轮子密钥长度为 48 位(56 位密钥经置换选择产生),加密分组 64 位——“子密钥长度和加密分组长度”一题真题考过 3 次
  • S 盒是 DES 中唯一的非线性部件,是一种压缩替换:8 个 S 盒,每个将 6 位输入压缩为 4 位输出(48 位 → 32 位)
  • S 盒查表方法(真题出过计算题):输入 b1b2b3b4b5b6,用首尾两位 b1b6 作行号、中间四位 b2~b5 作列号,查 S 盒表得到 4 位输出
  • 3DES/TDEA:加密流程 E(K1) → D(K2) → E(K3);采用双密钥时 K1=K3,有效密钥长度 = 2×56 = 112 位(真题考过)

2. 分组密码工作模式(真题至少 4 题,教材只列了名字)

模式 名称 要点
ECB 电码本模式 相同明文分组 → 相同密文分组,易暴露明文数据模式;数据长度非分组整数倍需做短块处理;是分组密码的基本工作模式
CBC 密码分组链接模式 明文分组先与前一密文分组异或再加密;存在误码传播
CFB 密码反馈模式 将分组密码当作流密码使用,反馈的是密文
OFB 输出反馈模式 反馈的是加密器的输出,密钥流可预先运算

真题考法:① 给结构框图识别是哪种模式;② 判断 ECB 的特点(注意”ECB 间接利用分组密码对明文各分组加密”是错误说法,应为”直接”)。

3. AES/Rijndael 结构

  • AES 由四个模块组成:字节代换(SubBytes)、行移位、列混淆、轮密钥加,其中字节代换是唯一的非线性模块(真题原题)
  • 支持的密钥长度为 128/192/256 位,没有 512 位(真题考”不包括”)

4. 攻击类型的重要结论(真题考过 2 次的原话)

  • **”近代密码学认为,一个密码仅当它能经得起已知明文攻击时才是可取的”**(答案:已知明文攻击,注意不是选择明文)
  • 对攻击者最不利:唯密文攻击;最有利:选择密文攻击(该方式下特别用于攻击数字签名

5. 安全性分类概念

  • 无条件安全:无论多少密文都得不到足够信息(一次一密)
  • 计算上安全:破译代价超过信息价值或所需时间超过信息有效期
  • 可证明安全:破译依赖某个经过深入研究的数学难题的解决(真题原题答案)

6. 密码体制的其他分类(真题陷阱)

  • 按对明文的处理方法分:分组密码 / 序列(流)密码——不是”对称/非对称”(对称与否按密钥特点分,真题设过此陷阱)
  • 传统密码两大技术:置换(换位)代替(替代)——“bananaorange → boarnaanngae”属于置换密码;”字母加 5(a→f)”属于代替密码中的对称加密
  • 流密码概念(案例判断题):明文划分成字符或基本编码单元,分别与密钥流作用加密,解密时以同步产生的同样密钥流实现

7. ECC 与 RSA 的换算与区别

  • 160 位 ECC 的安全性 ≈ 1024 位 RSA(真题填过数值)
  • ECC 签名与 RSA 签名的区别(真题答案):ECC 签名后的内容中包含原文,RSA 签名后的内容中没有原文(RSA 直接对摘要运算,需随附原文)

8. ZUC 祖冲之算法与 WAPI

  • ZUC(祖冲之算法):我国序列密码(流密码)算法,常作为国密选择题的干扰项出现(教材表 3-1 未列出)
  • 无线局域网 WAPI 系列密码算法中,密钥协商算法使用 ECDH(真题 2016 下半年原题)

9. 国密算法国际化(教材未提,真题各考 1 次)

  • SM3 收入国际标准 ISO/IEC 10118-3:2018《信息安全技术 杂凑函数 第 3 部分:专用杂凑函数》(第 4 版)
  • SM2 数字签名算法以正文形式收入 ISO/IEC 14888-3:2018《信息安全技术 带附录的数字签名 第 3 部分:基于离散对数的机制》

九、真题高频考法与案例分析题型

综合知识选择题高频问法

考点 真题问法与答案要点
五类攻击 排序/辨析题:最不利=唯密文,最有利=选择密文;选择密文攻击特别用于攻击数字签名
密码系统符号 E/D/M/C 描述中必然成立的是 D(E(M)) = M(出现过 5 次)
RSA 计算 两种题型:① 给 p、q、e 求 d 并加解密(教材例题原样出现过);② 给 (e,n) 直接求 d,如 (13,35):φ(35)=(5-1)(7-1)=24,13×13=169≡1 (mod 24),d=13
数字证书 “验证网站真伪/证书有效性”→ 验证 CA 的签名;”证书防篡改”→ CA 用私钥对证书签名
SSH “无法抵御____攻击”→ 拒绝服务(教材说中间人+DoS,真题选项无中间人时选 DoS);三子协议名称选择
PGP 数据加密采用 IDEA(真题专门用”DES”设错误选项);密钥管理 RSA、完整性检测 MD5
Diffie-Hellman 功能是密钥交换(不是加密);安全性基于求解离散对数的困难性
Hash 参数 SHA-1 输出 160 位、分组 512 位;MD5 输出 128 位;SM3 输出 256 位
密码法 2020 年 1 月 1 日施行;分类管理:核心密码、普通密码、商用密码(考过 3 次)
数字签名细节 ① 先 Hash 的原因:缩小签名密文长度、加快签名与验证速度;② 验证签名用签名者的公钥;③ 签名三条件不含”签名必须是文件的物理部分”

案例分析题型(画风与选择题完全不同)

真题集中约 19 道密码学相关案例题,主要三类:

  1. 认证协议消息序列分析(占比最大):给出 Needham-Schroeder 风格的消息流程(如 A→B: E(Kab: Na)1. A→S: A,B,Na …),要求分析挑战-应答过程、会话密钥如何分发、重放攻击如何防范、各密钥 Kab/Kas/Kbs 的用途。复习时要能手推协议每一步谁知道了什么。
  2. 流密码/密码体制概念判断:判断题形式考流密码、本原多项式等概念正误。
  3. 古典密码手工破译:如”密文 FMXVEDKAP 由仿射密码加密,已知 R 对应 e、K 对应 t,求明文”——需列方程组解出仿射参数 (a, b) 再解密。只背参数不练手算,案例分析会吃亏

备考提示

真题研读后的优先级排序(按出题频次与分值):

  1. 五类密码分析攻击——概念+排序+结论,出现 10 次以上
  2. 国密算法 SM2/SM3/SM4/SM9——类型与参数每年必考,并延伸到 ZUC、ECDH、ISO 国际标准
  3. DES 深层细节——子密钥 48 位、S 盒计算、3DES 112 位(超出教材,务必补)
  4. RSA 计算——两种题型都要动手练
  5. 数字证书/CA——“验证 CA 签名”是标准答案句式
  6. 分组密码工作模式——ECB/CBC/CFB/OFB 框图识别
  7. 数字签名流程与 Hash——选择题+案例题双料考点
  8. SSH、PGP、DH——固定考法,答案句式稳定

RSA 小计算题建议动手练教材例题(p=3、q=17、e=13:求出 n=51、φ(n)=32、d=5,加密明文 2 得密文 32,解密还原为 2),再做变式 (e,n)=(13,35) 求私钥。

易混速记

对比 内容
对称 vs 非对称 同一密钥 vs 公钥/私钥成对;快 vs 慢;不支持 vs 支持数字签名
加密 vs 签名 防未授权访问 vs 确认发送者身份与防篡改
MD5 / SHA-1 / SM3 输出 128 位 / 160 位 / 256 位
SM2 / SM3 / SM4 / SM9 椭圆曲线公钥 / 杂凑 / 对称分组 / 标识密码
DES / IDEA / AES 密钥 56 位 / 128 位 / 128、192、256 位
Author

Hcamael

Posted on

2026-08-22

Updated on

2026-08-22

Licensed under