备考软考信息安全工程师的小伙伴们,是不是一翻开密码学那章就开始头大?
DES、AES、IDEA、RSA、SM2/SM3/SM4、Hash函数、数字签名、数字证书……各种算法和概念搅在一起,感觉比调火锅蘸料还复杂?
别慌!今天我把密码学的核心考点整理成了 5张思维导图,而且全部用"吃火锅"的画风来呈现——从锅底到串串,从麻婆豆腐到饺子,带你把密码学这锅硬骨头"涮"得明明白白。
📌 温馨提示:本文思维导图为 AI辅助生成,仅供学习交流使用。如果觉得有用想借鉴/拿走,麻烦在评论区说一声,尊重博主的劳动成果~ 码字画图不易,你的一句评论就是最大的支持!
一、先把锅底调好:密码学概况与密码体制
吃火锅第一步是什么?当然是先选锅底!密码学的"锅底"就是它的基本概念和体制框架,锅底没选对,后面涮啥都不对味。

1.1 密码学的两大门派
密码学其实分两大分支,就像火锅分鸳鸯锅:
- 密码编码学(Cryptography):研究怎么把明文加密成密文,相当于"做菜"的——研究怎么把生肉涮熟、怎么调味。
- 密码分析学(Cryptanalysis):研究怎么在不知道密钥的情况下破译密文,相当于"吃白食"的——不掏钱就想知道锅里煮了啥。
软考里这两个概念经常考选择题,记住英文对应关系就好。
1.2 密码体制五要素:M、C、K、E、D
一个完整的密码体制,缺不了这五样东西,就像吃火锅缺不了锅、底料、食材、火和筷子:
| 要素 | 含义 | 火锅类比 |
|---|---|---|
| M | 明文空间(Plaintext) | 你准备下锅的生食材 |
| C | 密文空间(Ciphertext) | 涮熟后捞出来的菜 |
| K | 密钥空间(Key) | 你的独家蘸料配方 |
| E | 加密算法(Encryption) | 涮煮的过程 |
| D | 解密算法(Decryption) | 蘸料入口还原味道的过程 |
考试常考:明文M、密文C、密钥K、加密E、解密D 这五个符号分别代表什么,以及加密和解密的数学关系 D(E(m)) = m。
1.3 公钥密码体制:一把锁两把钥匙
公钥密码体制(非对称密码)的核心思想很简单:公钥公开,私钥保密。
就像你家的信箱——地址(公钥)可以告诉所有人,谁都能往里面塞信;但信箱钥匙(私钥)只有你有,只有你能打开取信。
- 加密过程:
c = EpkB(m)—— 用接收者B的公钥加密明文m - 解密过程:
m = DskB(c)—— 用接收者B的私钥解密密文c
核心特点:只有接收者才能用自己的私钥解密密文,保证了机密性。这个点在软考案例分析题里经常出现,一定要理解透。
二、串串香上桌:常见对称密码算法
锅底调好,该下硬菜了!对称密码算法就像串串香——每一串都用同一把签子(同一个密钥)串起来,加密解密用的是同一个密钥。

2.1 DES:老牌经典,虽老但必考
DES(Data Encryption Standard)是密码学里的"老炮儿",虽然现在已经被AES取代,但软考里它依然是高频考点!
DES的加密流程,记住这五步:
- 初始置换IP:把64位明文打乱重排
- 生成16个48位子密钥:从56位密钥中每轮生成一个子密钥
- 扩展置换E:把32位右半部分扩展成48位
- 16轮Feistel结构迭代:每轮做S盒代换 + 置换P
- 逆初始置换IP⁻¹:最后再打乱一次输出密文
关键数据:
- 密钥长度:56位(实际输入64位,其中8位是奇偶校验位)
- 分组长度:64位
- 密钥量:2⁵⁶ ≈ 10¹⁷
💡 考试提示:DES的56位密钥长度、16轮迭代、Feistel结构、S盒代换,这四个点几乎年年考!
2.2 弱密钥与半弱密钥:DES的"坑"
DES有个有意思的考点——弱密钥和半弱密钥:
- 弱密钥:K1=K2=…=K16,16个子密钥全一样,不受任何循环移位影响。用这种密钥加密,安全性大打折扣。
- 半弱密钥:成对出现,两个密钥互为逆密钥。DES至少存在12个半弱密钥。
这个知识点考选择题居多,记住"弱密钥子密钥全相同,半弱密钥成对互为逆"就行。
2.3 IDEA:来自欧洲的"加密新星"
IDEA(International Data Encryption Algorithm)国际数据加密算法,考点比较集中:
- 明文和密文分组都是 64比特
- 密钥长度为 128比特
- 是分组加密算法
IDEA在PGP中得到了广泛应用,这个点偶尔会考。
2.4 AES:当今的"加密一哥"
AES(Advanced Encryption Standard)是目前应用最广的对称加密算法,软考里也是重点:
- 由两位密码学家 J.Daemen 和 V.Rijmen 提出(算法原名Rijndael)
- 分组长度固定 128比特
- 密钥长度可变:128 / 192 / 256比特
- 不存在弱密钥(对比DES的弱点)
- 抗攻击能力强,适应性强
💡 对比记忆:DES是56位密钥、64位分组、16轮Feistel;AES是128位分组、密钥128/192/256可变、SP网络结构。两者经常放在一起考对比题!
三、硬菜来了:非对称密码与国密算法
如果说对称密码是串串香(一把签子串所有),那非对称密码就是麻婆豆腐——看着简单,里面门道深着呢!非对称密码用公钥加密、私钥解密,两把钥匙不一样,所以叫"非对称"。

3.1 RSA:非对称密码的"门面担当"
RSA是目前最著名、应用最广的非对称加密算法,软考里几乎是必考内容!
密钥生成三步走
- 选两个大素数p和q(保密),计算
n = p × q(公开),计算欧拉函数φ(n) = (p-1)(q-1)(保密) - 选整数e,满足
1 < e < φ(n),且gcd(φ(n), e) = 1(即e和φ(n)互素),e公开 - 计算d,满足
d × e ≡ 1 mod φ(n),即d是e在模φ(n)下的乘法逆元,d保密
加解密过程
- 加密:
c ≡ m^e mod n(用公钥e加密) - 解密:
m ≡ c^d mod n(用私钥d解密)
RSA的特点(高频考点)
- ✅ 加解密算法可逆、可交换,既能保证机密性,也能保证真实性(数字签名)
- ⚠️ 实现效率较低,核心运算是模幂运算(所以通常用来加密对称密钥,而不是直接加密大文件)
- 🔐 安全性基于大合数的因子分解难题
- 📏 n一般至少取 1024位,最好取 2048位(现在安全推荐2048位以上)
💡 考试提示:RSA的密钥生成步骤、加解密公式、安全性基础(大整数因子分解)、密钥长度建议,这四个点是案例分析题的常客!
3.2 国密SM系列:咱们自己的密码标准
国密算法是国家密码管理局发布的商用密码标准,近几年软考里越来越重视,必须掌握!
| 算法 | 类型 | 关键参数 | 用途 |
|---|---|---|---|
| SM1 | 对称加密 | 分组128位,密钥128位 | 对称加密(算法不公开,需硬件实现) |
| SM2 | 非对称加密 | 基于ECC椭圆曲线 | 公钥加密、密钥交换、数字签名 |
| SM3 | 杂凑(Hash)算法 | 输出256位摘要 | 消息摘要、完整性校验 |
| SM4 | 对称加密 | 分组128位,密钥128位 | 对称加密(算法公开) |
| SM9 | 标识密码算法 | 基于标识的密码 | 身份认证、加密、签名 |
记忆口诀:
- SM1/SM4是对称(1和4,一前一后守对称)
- SM2是非对称(2,成双成对,公钥私钥一对)
- SM3是Hash(3,散=三?记住就行)
- SM9是标识密码(9,久=身份标识?)
💡 考试提示:SM2用于数字签名和密钥交换、SM3输出256位、SM4分组和密钥都是128位,这三个点考得最多!
四、饺子出锅:Hash函数与数字签名
吃火锅怎么能少了饺子?Hash函数就像包饺子——不管你放多少馅(任意长输入),包出来的饺子大小都一样(定长输出)。而数字签名,就是在饺子上盖个"独家印章",证明这饺子是你包的。

4.1 Hash函数的五大性质
Hash函数(哈希函数/杂凑函数/报文摘要),基本形式是 h = H(M):把任意长的报文M映射为定长的hash码。
它必须满足这几个性质:
- 基本形式:任意长输入 → 定长输出,具有错误检测能力
- 单向性:由Hash码不能反推出原始报文(就像饺子咬开了也没法还原成原来的馅)
- 抗弱碰撞性:不能找到与给定报文具有相同Hash值的另一个报文
- 抗强碰撞性:抵抗"生日攻击",Hash函数值应该足够长
💡 概念区分:抗弱碰撞是"给定一个A,找不到另一个B和A碰撞";抗强碰撞是"找不到任意两个不同的A和B发生碰撞"。强碰撞比弱碰撞更难满足,这个区别经常考!
4.2 常见Hash算法三件套
| 算法 | 设计者 | 输入分组 | 输出摘要 | 安全性 |
|---|---|---|---|---|
| MD5 | Rivest | 512位 | 128位 | 已被攻破,不安全 |
| SHA-1 | NIST | 512位 | 160位 | 比MD5安全,但也已被碰撞攻击 |
| SM3 | 国家密码管理局(2010年) | 512位 | 256位 | 国产标准,安全性高 |
记忆要点:
- MD5输出 128位,SHA-1输出 160位,SM3输出 256位
- 三者输入分组都是 512位
- SM3是2010年公布的商用密码杂凑算法标准
💡 考试提示:MD5的128位、SHA的160位、SM3的256位,这三个输出长度是选择题高频考点!另外要知道MD5和SHA-1都已经不再安全,实际应用推荐SHA-256或SM3。
4.3 数字签名的三个必要条件
数字签名是密码学里的重要应用,它要满足三个条件,缺一不可:
| 条件 | 含义 | 生活类比 |
|---|---|---|
| 不可否认性 | 签名者事后不能否认自己的签名 | 你签了合同就不能说不是你签的 |
| 真实性 | 接收者能验证签名,任何其他人都不能伪造签名 | 只有你能写出你的独特笔迹 |
| 可仲裁性 | 双方发生争执时,第三方能解决纠纷 | 合同有争议时找法院仲裁 |
💡 考试提示:数字签名的三个条件(不可否认、真实性、可仲裁性)经常考多选题或简答题,一定要背下来!另外要理解:数字签名用的是发送者的私钥签名,公钥验证,和加密(接收者公钥加密、私钥解密)正好相反。
五、蘸料管理:密码管理与数字证书
火锅吃到最后,考验的是蘸料管理——什么时候加什么料、剩了怎么存、坏了怎么扔。密码学也一样,密钥和证书的全生命周期管理,是信息安全的重要环节。

5.1 密钥管理生命周期:从生到死的九个环节
密钥不是生成了就完事了,它有完整的生命周期,一共九个环节:
- 密钥生成 —— 生下一把密钥
- 密钥存储 —— 安全地存起来
- 密钥分发 —— 安全地送到使用者手里
- 密钥使用 —— 正常使用加密解密
- 密钥撤销 —— 提前作废(比如密钥泄露了)
- 密钥备份 —— 以防万一存个副本
- 密钥恢复 —— 丢了能找回来
- 密钥销毁 —— 彻底删除,不能恢复
- 密钥审计 —— 记录谁在什么时候用了密钥
💡 考试提示:密钥管理的九个环节考选择题居多,重点关注"密钥分发"的安全方式(如Diffie-Hellman密钥交换)、"密钥撤销"的场景(密钥泄露/人员离职)、"密钥销毁"要彻底(不能只删文件,要多次覆写)。
5.2 数字证书:公钥的"身份证"
数字证书(也称公钥证书)是什么?它是由证书认证机构CA签名的,包含公开密钥拥有者信息、有效期以及扩展信息的一种数据结构。
简单说:数字证书就是公钥的"身份证"——CA是公安局,证书就是身份证,上面写着"这把公钥属于某某某,有效期到某年某月"。
数字证书的基本信息格式
一个标准的X.509数字证书包含这些字段:
| 字段 | 含义 |
|---|---|
| version | 版本号(X.509 v3最常用) |
| serialNumber | 序列号(CA给每个证书的唯一编号) |
| signature | 签名算法(如SM2withSM3、SHA256withRSA) |
| issuer | 颁发者(谁签的这个证书,即CA信息) |
| validity | 有效期(notBefore ~ notAfter) |
| subject | 主体(证书属于谁) |
| SubjectPublicKeyInfo | 主体公钥信息(公钥值+算法) |
| issuerUniqueID | 颁发者唯一标识符(可选) |
| SubjectUniqueID | 主体唯一标识符(可选) |
| extensions | 扩展项(v3版本新增,如密钥用法、CRL分发点等) |
💡 考试提示:数字证书的核心字段(version、serialNumber、issuer、validity、subject、SubjectPublicKeyInfo)是高频考点。记住:证书里包含的是公钥,不是私钥!私钥永远由用户自己保管。
5.3 数字证书的分类
数字证书可以从不同角度分类:
按主体分:
- 个人证书:给个人用户用的,比如个人邮件加密、个人身份认证
- 机构证书:给企业/组织用的,比如网站的SSL证书
- 设备证书:给硬件设备用的,比如路由器、服务器的证书
按用途分:
- 签名证书:用于证明签名公钥,做数字签名用
- 加密证书:用于证明加密公钥,做数据加密用
💡 为什么签名和加密要分开? 因为签名密钥泄露后要能追溯(不可否认),而加密密钥泄露后需要能恢复数据(密钥托管)。两者安全需求不同,所以分开管理。这个点偶尔会考简答题。
六、吃饱了总结一下:密码学备考要点
五张思维导图、五大模块,到这里密码学的核心考点就全部"涮"完了!最后给大家划一下软考的重点:
🔥 高频考点TOP榜
- DES vs AES对比:密钥长度、分组长度、结构、轮数——年年考
- RSA密钥生成与加解密:公式、安全性基础、密钥长度——案例分析常客
- Hash算法输出长度:MD5=128位、SHA-1=160位、SM3=256位——送分题
- 数字签名三条件:不可否认、真实性、可仲裁性——多选题必背
- 国密SM系列:SM2非对称、SM3哈希、SM4对称——近年重点
- 数字证书字段:issuer、subject、validity、公钥信息——选择题高频
- 公钥密码体制原理:公钥加密私钥解密 vs 私钥签名公钥验证——理解透
📚 备考建议
- 理解大于死记:密码学的概念很多,但核心逻辑就那几条(对称/非对称、加密/签名、公钥/私钥),理解了原理,公式自然就记住了。
- 多做真题:软考密码学的考点重复率很高,把近5年真题的密码学部分刷一遍,你会发现考来考去就是那些点。
- 动手算一算:RSA的小例子(比如p=3, q=11)自己手算一遍密钥生成和加解密,比背十遍公式都管用。
以上就是软考信息安全工程师密码学部分的全部核心考点整理,5张思维导图+详细讲解,希望能帮大家把这锅"密码学火锅"吃得明明白白。
如果这篇文章对你有帮助,欢迎点赞👍、收藏⭐、评论💬 三连支持!博主后续会更新相关内容以及更专业性的文章!
📌 再次提醒:本文思维导图为 AI辅助生成,内容经过人工核对,仅供学习交流。如果需要借鉴/转载/拿走图片,麻烦在评论区说一声,尊重博主的劳动成果,谢谢大家!
祝大家软考一次过,我们岸上见!🎓

1861

被折叠的 条评论
为什么被折叠?



