1. 章节整体框架:这门课到底在考什么
先说说我对第5章的整体判断。作为一门偏应用又带点理论深度的专业课,密码与加密技术这一章在期末考试里占的比重通常不低,一般在15%到25%之间,有些学校甚至是简答和计算的必考章节。很多同学复习的时候容易陷入一个误区,就是拿着教材从头背到尾,概念背了一堆,结果看到计算题还是不会做,看到分析题不知道从哪里下手。
出现这个问题的原因其实很简单——没有把这章的知识点按照“考法”来分类整理。教材里讲的是知识体系,但考试考的是知识点的具体呈现方式。就拿“对称密码”来说,教材里花了很多篇幅介绍DES的轮函数结构、S盒置换、Feistel网络这些底层机制,但期末考试的客观题往往只考“DES的有效密钥长度是多少位”“AES的分组长度是多少位”这样的结论性内容。所以复习的时候要做到心里有数:哪些知识点只需要记结论,哪些知识点需要理解原理,哪些知识点必须会动手计算。
这一章的内容主线其实非常清晰,就三条:
- 围绕“明文—加密—密文—解密”这个基本流程延展开,核心解决的是数据保密性问题
- 从古典密码到对称密码,再到非对称密码,这条发展线展示的是一次又一次的安全权衡与升级
- 在加密基础上进一步延伸出完整性验证、身份认证等需求,于是有了哈希函数、数字签名、数字证书和PKI体系
我在复习的时候喜欢画一张流程草图,把这条主线用箭头串起来。当你看到“保密→完整性→认证→抗抵赖”这条需求链条的时候,就会明白教材为什么要把这些内容堆在同一章里,而不是各讲各的。搞清楚了这条逻辑链,复习的时候就能顺着往下推,而不是东一榔头西一棒子。
1.1 教材知识点的考试权重划分
根据我翻教材和往年试题的经验,这一章的考点分布大致可以分成四档。
第一档是必考且分值较高的内容,主要集中在对称密码体制(DES、AES)、非对称密码体制(RSA)以及数字签名与哈希函数这几个部分。这几块内容既能出选择题,也能出简答题,RSA还可能直接出计算题。
第二档是高频选择题和填空题,主要是古典密码(凯撒密码、维吉尼亚密码)、密码攻击的基本类型、密钥管理的概念性内容。这些知识点难度不大,但考得频繁,属于“送分题”范畴,复习时不能丢分。
第三档是理解分析类题目,常见考法包括给出一个加密场景,要求判断使用了哪种加密体制,或者给出一个安全需求,要求选择合适的技术手段。这类题目考察的是知识的运用能力,需要建立“需求—技术”的对应关系。
第四档是比较容易忽略的内容,比如国产密码算法(SM2、SM3、SM4)、密码技术的发展趋势、量子密码的简单概念。这些内容在教材占比不大,但近几年的考试中出现的概率在上升,建议花少量时间把基本特点记住。
1.2 为什么说密码学是网络安全的基石
我上课的时候听老师说了一句话,印象特别深:“网络安全的所有技术手段,本质上都是在解决一个问题——信息在不可信的环境中如何安全地传递。”这句话放到密码学上特别合适。
试想一下,如果没有加密技术,我们在网络上传输的账号密码、支付信息、聊天记录,全都等同于明文摆在那里,任何人只要拿到数据包就能直接读取。所谓的安全体系就无从谈起。从这个角度去理解,就能明白教材为什么把“密码与加密技术”放在一个非常靠前且核心的章节——它不只是一个孤立的技术点,而是身份认证、访问控制、数据完整性校验、安全通信协议等几乎所有其他安全机制的基础设施。
理解这层关系,对做简答题很有帮助。比如说考试问“加密技术主要解决网络安全中的哪些问题”,如果你只回答“保密性”,那只能拿一半分。正确的思路是:加密技术是保密性的核心手段,但密码学的整体技术体系(加密、哈希、数字签名、密钥管理)实际上还支撑着真实性、完整性和不可否认性。把这些关联答上去,答案的层次就上来了。
2. 核心知识点精讲:把原理吃透再刷题
2.1 密码学基本概念与安全目标
这一章开篇的基本概念属于必背内容,但更要理解它们之间的区别。六个核心术语是:明文、密文、加密、解密、密钥、密码体制。
明文是原始的可读信息,密文是经过变换后不可直接阅读的信息。加密就是把明文变成密文的过程,解密是逆过程。密钥是控制加密和解密变换的参数,这一点特别重要,因为现代密码学的核心原则之一就是“算法公开,密钥保密”——密码体制的安全性不依赖于算法保密,而依赖于密钥的保密程度。这也是柯克霍夫原则的核心思想,判断一个密码系统是否安全,默认的前提是攻击者知道算法的全部细节,但不知道密钥。教材里常出的选择题就会考这个原则,题目往往这样出:“现代密码学中,密码体制的安全性主要取决于什么?”答案是密钥的保密性,不是算法的隐蔽性。
安全目标也是高频考点,有五个基本目标需要记住:保密性、完整性、可用性、真实性(认证性)和不可否认性。这里需要注意区分完整性和真实性:完整性保证数据没有被篡改,通常用哈希或消息认证码实现;真实性验证数据确实来自声称的发送方,通常通过数字签名实现。考试时如果混淆这两个概念,简答题很容易丢分。
2.2 古典密码:凯撒密码与维吉尼亚密码
古典密码虽然在实际系统中已经不再使用,但在教材和习题中占据固定位置,因为它们是理解密码学基本思维的最简单载体。考法有两种:一是直接给出明文和密钥要求计算密文,二是反过来给密文要求推断明文。
凯撒密码是最简单的移位密码。它的加密方式非常直白:将字母表中的每个字母按统一位移量进行替换。比如密钥为3,明文中的A就会变成D、B变成E。数学表达为 E(x) = (x + 3) mod 26,解密则是 D(x) = (x - 3) mod 26。
举一个教科书上常见的例子。假设密钥k=3,明文是“HELLO”。H对应字母表位置7(从0开始编号),加上3得到10,对应字母K;E是4加3得到7,对应H;L是11加3得到14,对应O。所以HELLO在凯撒密钥3下加密的结果是KHOOR。解密就是用相同位移反向操作,把KHOOR每个字母减3,变回HELLO。
凯撒密码的缺点极其明显——只有25种有效密钥(位移量1到25),攻击者只要逐一尝试所有可能位移,最多25次就能破解。这就是典型的穷举攻击。注意一个细节:教材里有时会问“凯撒密码的密钥空间是多少”,很多人回答25、26或者26的阶乘,其实正确答案是25种有效偏移方式(偏移0等于没加密,不计入有效密钥)。
维吉尼亚密码比凯撒前进了一步,它使用一个密钥字来动态确定每个字母的位移量。加密时把密钥字循环重复,与明文逐字母相加。举例来说,密钥为“KEY”,明文为“HELLO”。密钥字母对应的位移量分别是K=10、E=4、Y=24。加密第一段:H(7)+K(10)=17,对应R;第二段:E(4)+E(4)=8,对应I;第三段:L(11)+Y(24)=35,模26后为9,对应J;第四段:L(11)+K(10)=21,对应V;第五段:O(14)+E(4)=18,对应S。最终密文是“RIJVS”。
维吉尼亚密码的进步之处在于同一个明文字母在不同位置可能被加密成不同的密文字母,因此比凯撒密码更能抵抗简单的频率分析攻击。但考试计算时要注意两点:一是字母位置从0开始计还是从1开始计,教材一般用0到25的编号,做题前看清题目有没有特殊说明;二是加法和乘法之后要记得模26,结果始终保持在0到25的范围内。
2.3 对称密码体制:DES、3DES与AES
对称密码是整个章节的重头戏。对称的意思是加密和解密使用同一个密钥,或者加密密钥能很容易地推算出解密密钥。
DES是数据加密标准,诞生于20世纪70年代。它的分组长度是64位,即每次加密处理64位数据块,密钥长度看起来是64位,但其中有8位是奇偶校验位,实际有效密钥长度只有56位。DES的核心结构是16轮的Feistel网络,每一轮通过轮函数F、异或运算和左右交换来实现混淆和扩散。复习时至少要知道以下几个数字:分组长度64位、有效密钥56位、轮数16轮。
3DES是为了增强DES强度而设计的过渡方案。它有几种模式,教材常讲的是使用两个或三个不同密钥的三重加密。以三密钥模式为例,首先用密钥K1加密,然后用密钥K2解密,再用密钥K3加密。为什么中间用解密而不是加密?原因在于这样做可以与单DES系统兼容——如果三个密钥相同,3DES就退化成DES。3DES的有效密钥长度是112位或168位,安全强度比DES高了很多,但由于轮次多,处理速度相对较慢。
AES是目前的对称加密主流标准。它的分组长度固定为128位,密钥长度支持128位、192位和256位三个档位,对应的加密轮数分别是10轮、12轮和14轮。AES采用的是Substitution-Permutation Network(SPN)结构,而不是DES的Feistel结构。这一区别经常考,请务必记住:DES和3DES是Feistel结构,AES是SPN结构。
复习对称密码时,建议自己做一个参数对照表,把算法名称、分组长度、密钥长度、轮数、结构类型都列进去。考试时看到具体参数,能快速判断属于哪个算法,选择题基本就稳了。
2.4 非对称密码体制:RSA与ECC
非对称密码是期末复习的另一大核心,也是最容易出计算题的部分。
非对称密码体制的特点在于加密和解密使用不同的密钥,这两个密钥组成一个密钥对:一个是公开的公钥,可以随意分发;另一个是私钥,必须严格保密。用公钥加密的数据只能用对应的私钥解密,私钥加密的数据只能用公钥验证。这个特性不仅解决了对称密码的密钥分发难题,还为数字签名提供了基础。
RSA是应用最广泛的非对称加密算法,它的安全性建立在“大整数分解困难”这个数学难题之上。RSA的密钥生成过程分成五步:
- 选择两个不同的大素数p和q
- 计算n = p × q,n称为模数
- 计算欧拉函数φ(n) = (p - 1)(q - 1)
- 选择一个整数e,要求1 < e < φ(n),且e与φ(n)互质
- 计算e的模逆元d,使得(e × d) mod φ(n) = 1
公钥是(e, n),私钥是(d, n)。加密时计算 c = m^e mod n,其中m是明文数值且必须小于n;解密时计算 m = c^d mod n。
举一个具体的教材风格计算例子:取p=3、q=11。可得n = 33,φ(n) = (3-1)(11-1) = 20。选择e = 7,因为7与20互质。现在求d,需要满足7d mod 20 = 1。通过扩展欧几里得算法可以得到d = 3,因为7×3 = 21,21除以20余1。
设明文m = 5(数值要小于n=33)。加密:c = 5^7 mod 33。5^1=5,5^2=25,5^3=125 mod 33 = 26,5^4=26×5=130 mod 33=31,5^5=31×5=155 mod 33=23,5^6=23×5=115 mod 33=16,5^7=16×5=80 mod 33=14。所以密文c=14。
解密:m = 14^3 mod 33。14^2=196 mod 33=31,31×14=434 mod 33=5。成功还原明文m=5。
计算过程中要注意科学计算模运算时,中间结果可以先取模再继续算,不需要硬算大数,这样既不容易出错,速度也快。考试时如果数字选得比较大,可以用平方-乘法来简化。
ECC(椭圆曲线密码)在教材中的篇幅不算大,但近年来的选择题出现频率在上升。记住几个关键结论:ECC的安全性基于椭圆曲线离散对数难题;相同安全强度下,ECC的密钥长度比RSA短得多,例如160位的ECC大致相当于1024位RSA;这带来看两个优势——存储开销小、计算效率高。如果选择题问“哪种密码算法在相同安全强度下密钥长度最短”,答案应该选ECC。
2.5 哈希函数与数字签名:不只是加密
哈希函数在考试中经常和加密算法放在一起比较,但它们的性质完全不同。哈希函数是一种单向映射,把任意长度的输入变成固定长度的输出,这个输出称为哈希值或摘要。常见的哈希算法中,MD5输出128位、SHA-1输出160位、SHA-256输出256位。
哈希函数有三个核心性质:一是单向性,从哈希值反向推出原始数据在计算上不可行;二是抗碰撞性,找到两个不同输入产生相同哈希值在计算上不可行,这种碰撞概率非常非常低;三是雪崩效应,输入哪怕只改变一个比特,输出的哈希值也会有大约一半的比特发生变化。选择题经常考“哈希函数能解决什么问题”,答案是完整性与数据校验,不是保密性。哈希不提供保密性,因为原始数据本身并没有被隐藏,只是被压缩成摘要。
注意一个容易踩的坑:MD5和SHA-1由于已经被找到有效的碰撞攻击方法,在现代安全系统中已经不再推荐用于安全要求高的场景,教材基础概念部分虽然会提到它们,但应用类题目中建议回答“SHA-256作为更安全的替代方案”。国产的SM3输出的哈希长度是256位,这一点需要知道。
数字签名建立在非对称密码之上,但容易和“加密”混在一起。数字签名的流程是:发送方使用自己的私钥对消息的哈希值进行签名运算,接收方使用发送方的公钥验证签名。它的核心作用是提供真实性和不可否认性,而不负责保密——私钥签名、公钥验证这个方向不能用来加密消息内容,任何持有公钥的人都能解开它。考试常出判断题:“数字签名就是私钥加密,公钥解密”,从运算形式上这个说法没错,但从功能定位上容易误导人,正确答案要强调数字签名解决认证和抗抵赖问题。
数字证书和PKI体系在教材里属于了解层次,但需要理清逻辑关系。数字证书由证书颁发机构(CA)签发,将身份信息与公钥绑定在一起,解决了非对称密码中“公钥到底属于谁”的问题。PKI(公钥基础设施)则是一整套包括证书颁发、撤销、管理在内的完整体系。复习时记住这条链路:用户向CA申请证书,CA核验身份后签发证书,验证方通过信任CA来信任证书,从而信任公钥。
3. 高频题型拆解与实战思路
3.1 选择题的命题套路
这一章的选择题数量多、覆盖广,但命题套路相对固定。我把常见考法整理为四类。
第一类考“参数记忆”。比如DES的有效密钥长度是多少位,答案是56;AES分组长度是多少位,答案是128;SM3输出多长,答案是256;MD5输出多长,答案是128。这类题目没有技巧,只能背下来。建议自己整理一个算法参数速查表,考前反复看几遍。
第二类考“特性区分”。比如Feistel结构与SPN结构的区别;对称与非对称加密的主要区别;哈希与加密的区别;数字签名与消息认证码(MAC)的区别。这类题目重在理解,能做对比表是最好的复习方式。
第三类考“安全性质”。比如密码系统安全性取决于什么(密钥而非算法);DES为什么不再安全(密钥过短);MD5为什么不安全(碰撞已被攻破)。这类题需要联系实际发展来判断,理解比单纯记忆更重要。
第四类考“场景应用”。题干给出一个需求,要求选合适的技术:数据完整性验证选哈希;身份认证加抗抵赖选数字签名;大文件大量数据加密选对称加密;密钥分发密钥交换选非对称加密;需要高安全性且密钥长度短选ECC。
3.2 计算题完整解法演练
计算题是很多同学怕的部分。其实期末能考的计算题类型非常有限,我把最核心的题型按步骤写清楚。
凯撒密码和维吉尼亚密码是计算题的入门级别,出现概率很高。做维吉尼亚密码题时,先画出密钥字母对应的数字序列,再按明文字母逐一加密,每步模26。我上面已经给了完整的“HELLO”加“KEY”算“RIJVS”的例子。需要注意:如果题目给的是大写字母,字母编号从A=0到Z=25;如果题目另行指定从A=1开始,则结果会有偏差,做题前先确认编号规则。
RSA计算题通常有三个变体:
变体一是已知p、q、e,求d。做法是:先算n和φ(n),再用扩展欧几里得求逆元。以p=11、q=13、e=7为例,n=143,φ(n)=120。求d满足7d mod 120 = 1。用扩展欧几里得:120 = 17×7 + 1,所以1 = 120 - 17×7,即(-17)×7 ≡ 1 (mod 120),取正数则d=103。验证:7×103=721,721 mod 120 = 1。
变体二是对给定明文加密。直接用c = m^e mod n计算。我上面的5^7 mod 33例子就是完整过程。这类题建议用递推乘法手算,边乘边取模,避免中间数爆炸。
变体三是解密,即给密文求明文。做法与加密相同,只是底数换成密文、指数换成私钥d。关键是明确公钥(e, n)用于加密,私钥(d, n)用于解密。实际考试卷面注意把步骤写清楚,即使最后算错,步骤分也能拿不少。
还有一类概率较高的简答题让描述“利用扩展欧几里得算法求逆元”,这需要掌握标准流程:先用辗转相除法求最大公约数,再回代整理成模线性方程。如果一时算不出来,考试中也可以采用逐个试数的方法——对于小数字,直接从1开始试,满足乘积余数为1即可,因为数小,试得很快。
3.3 分析题与简答题答题模板
分析题一般给一个场景,让你说明应该使用什么密码技术。答题时不是只写一个技术名称,而是按“需求分析→技术选择→理由说明”三步走。
举例说明:题目问“银行网银系统在用户登录、交易签名、数据存储三个场景下,分别应采用什么密码技术,为什么?”参考答案思路:用户登录场景下需要保护口令传输的保密性和完整性,使用SSL协议中的非对称加密来协商会话密钥、使用对称加密加密数据传输,口令本身存储时用哈希加盐处理而不是明文存储;交易签名场景下需要不可否认性,使用数字签名技术,具体算法可以选RSA或SM2;数据存储场景下需要保证数据库内容即使被拖库也不泄露,使用对称加密算法,如AES或SM4。
简答题还有一种固定问法,就是对比对称加密与非对称加密的优缺点。答题要点:对称加密加密解密速度块、效率高,适合大量数据的加密,但密钥分发和管理困难,无法解决身份认证问题;非对称加密密钥分发简单、能提供数字签名能力,但计算速度慢,不适合直接处理大数据量。实际应用中通常采用混合加密方案,非对称加密用来保护对称加密所需的会话密钥,对称加密负责主体数据的加解密,兼顾了速度与密钥分发安全性。这种“混合加密”的方案在简答题中值得写明。
4. 易错点和疑难辨析
4.1 对称、非对称、哈希三种技术的混淆问题
这三者是最容易搞混的三组概念。我用一个表格来区分,复习时对着这个表反复看几遍:
| 对比维度 | 对称加密 | 非对称加密 | 哈希函数 |
|---|---|---|---|
| 密钥数量 | 一个,加密解密共用 | 两个,公钥与私钥 | 无密钥运算 |
| 主要用途 | 数据保密性 | 密钥交换、数字签名、保密 | 完整性验证 |
| 运算方向 | 可逆(加密/解密) | 可逆但方向区分 | 不可逆(单向) |
| 典型算法 | DES、3DES、AES、SM4 | RSA、ECC、SM2 | MD5、SHA-1、SHA-256、SM3 |
| 输出 | 与输入等长的密文 | 与输入等长的密文 | 固定长度摘要 |
| 典型优势 | 速度快、效率高 | 密钥管理方便、支持认证 | 轻量、校验快速 |
很多题目会考“下列算法中属于对称加密的是哪一个”,如果你已经把这张表记住了,这类题就是送分题。
4.2 数字签名与身份认证的方向性陷阱
考卷上最高频的一个陷阱是把“数字签名”和“用私钥加密”画上等号,然后让你判断功能。要清楚这个等号只在运算形式层面成立,从功能层面说,数字签名的主要功能是认证和抗抵赖,不是保密。
还有一个容易混淆的对比是数字签名与消息认证码(MAC)。MAC使用对称密钥,能够提供完整性验证和一定程度上的身份验证,但它不具备不可否认性——因为发送方和接收方共享同一个密钥,接收方也能伪造出一样的MAC。而数字签名使用私钥签名,只有签名者本人持有私钥,因此无法否认。考试问“哪项技术可以提供不可否认性”,优先答数字签名;问“哪项技术需要共享密钥来验证完整性”,优先答MAC。
4.3 密钥管理中的常见误区
密钥管理是教材相对靠后的内容,虽然硬核计算题不多,但选择题和简答题经常出现基本概念。最容易错的知识点有以下几个:
第一,密钥长度与安全强度的关系不是线性的。密钥长度增加一位,暴力破解的尝试次数翻倍,所以安全强度是成指数级增长的。这也是为什么现代系统广泛采用128位或更高密钥长度的AES。
第二,公钥和私钥的关系:公钥是从私钥推导出来的,但反过来从公钥推出私钥在计算上不可行。RSA的安全性正是依赖这道单向关口。如果考试问“能否从公钥直接计算私钥”,答案是否定的,只能通过解决大整数分解问题才能推导,而普通实例下这个计算是无法完成的。
第三,密钥的分发与更新是安全体系中最薄弱的环节之一。对称密钥的分发本质上叫“先有鸡还是先有蛋”的问题——安全地发送密钥,需要先有一条安全通道。非对称加密解决了分发主体的问题,但公钥的真实性还需要CA通过数字证书来保证。回答密钥管理类简答题时,把这个逻辑链条理顺,得分率会明显提升。
4.4 经典密码技术的局限性总结
期末简答和论述题中有一道高频题:为什么古典密码已经被现代密码取代?答题思路从多个维度展开。古典密码主要基于替换和置换,没有结合现代数学难题,本质上属于代换密码体系;密钥空间很小,无法抵御穷举攻击;明文中的语言统计特征会通过密文泄露,比如字母频率分布,容易被频率分析法破解;无法区分现代密码体制提出的密码算法公开原则。而现代密码设计目标中加入了混淆与扩散的标准,密钥空间大到穷举完全不可行,算法安全性建立在可量化的数学难题上。这样对比作答,内容既全面又能体现理解深度。
5. 期末突击策略与复习节奏安排
5.1 三天复习清单
如果你的复习时间很紧,下面这组精简清单是我的实际经验,按天拆解。
第一天主攻知识框架梳理:通读教材第5章的小结部分和课后概念题,画出本章知识树,把五种安全目标、对称与非对称基本概念、哈希与数字签名关系一次性搞清楚。再对着教材目录回忆每个小节讲了什么,想不起来的再翻书。这一天不需要做计算题,只求建立全局图景。
第二天专攻计算题与算法参数背诵:把凯撒密码、维吉尼亚密码、RSA加密解密各做至少3道题,做完对照答案检查步骤。再看算法参数表中DES、3DES、AES、MD5、SHA-256、SM2、SM3、SM4各自的参数,反复记忆。计算题训练的核心就是手感,步骤不出错,数字算对就是满分。
第三天围绕简答题与真题练习:把课后思考题和往年题里出现的简答题过一遍,尤其是对称与非对称加密对比、数字签名流程、密码攻击类型分类、混合加密方案这四道高频题。按我上面给的三步模板(需求分析→技术选择→理由说明)写完整答案框架。如果还有时间,把易错点表格重新浏览一遍。
5.2 做题顺序和时间分配策略
实际考卷上碰到计算题时,建议先把步骤框架写在草稿纸上,再回头填具体数字。以RSA题为例,先画好表格列写p、q、n、φ(n)、e、d六个值,然后按公钥、私钥、加密、解密四个环节推进。遇到卡壳先跳过,不要因为一个RSA卡十分钟影响到后面的简答题。
时间分配上,选择填空控制在20分钟内完成,计算题每道控制在10分钟左右,简答分析题控制在15分钟左右,留出最后的10分钟检查计算题的模运算步。密码学计算题的最主要失分点是算错模运算,尤其是在递推乘法时中间结果没有及时取模,导致大数运算出错。
5.3 复习过程中最容易被忽略的三个盲区
第一个盲区是教材中“明文空间”“密文空间”“密钥空间”等术语的准确含义。选择题可能会直接考这些定义,比如问“密钥空间的大小决定了算法的什么能力”,答案是抵御穷举攻击的能力。这些词平时看书容易略过,但考选择题很直接。
第二个盲区是“混合加密方案”的细节。很多同学知道AES和RSA各自是什么,但问“为什么实际通信中两者要结合使用”就答不清楚了。正确的理解是:RSA保护AES的密钥,AES加密实际数据。先说一下为什么只用一种不行——只用RSA加密大量数据,计算开销太大,效率低得无法接受;只用AES,密钥分发又无法安全完成。所以混合方案结合了两者优点,既保证了密钥分发的安全也保证了数据加解密的高效。
第三个盲区是课后习题里关于“密码破解难度”的判断。碰到这类题目,先判断攻击类型,再判断工作量大小。简单记法:现代加密算法的安全强度目标是密钥空间大到即使动用全球计算资源穷举也不可行;如果题目要求判断加密强度不足,通常的原因是密钥太短或算法存在已被公开的漏洞。
6. 复盘我的复习方法与实战心得
这一章复习到最后,想跟正在备考的同学说几句实在话。
我第一遍复习的时候犯了错,把教材从头一个字一个字看到尾,看到DES轮函数那一节,大量时间花在记住Feistel网络的每一个细节上,做题却发现考的根本不是这个。后来我才想明白,教材的深度和考试的深度之间有一个落差,复习的重点不是把教材每一个字背下来,而是搞清楚考试会用什么方式去考这些知识。这是教材习题复习和课外能力拓展的本质区别。
我建议备考的同学们这样做:先用自己的话把整章的知识树写一遍,写不出来就翻书,写完再对照题目验证。这个过程看起来慢,实际上很高效——因为写出来的是你自己的逻辑,不是教材的原文。尤其是RSA的加解密流程和数字签名的运作流程,能用自己的话一句一句讲清楚,考试的时候不用临场组织语言,答题自然流畅。
最后再分享一个小技巧,计算题做多了以后你会发现,不管题目给的数字有多大,RSA的核心步骤翻来覆去就是六个表格值和两次模幂运算。把这个固定套路印在脑子里,考试时等于带了一张自动答题卡。预祝期末顺利。