1) CrypTool2 是什么(一句话)
- 中文:CrypTool2 是"密码学实验乐高":用组件拼出一条流水线(输入→算法→输出/分析)。
- English: CrypTool2 is "crypto Lego": build pipelines (Input → Cipher/Analysis → Output).
✅记忆句:
- CN:模板会跑,乐高会搭,结果会说
- EN: Run templates, build workflows, explain results
2) 你必须会的 3 种操作(本周核心)
- 跑 Template(模板):直接打开现成流程,改明文/key,点 Run。
- 做 Frequency Test(频率分析):看柱状图对比 Caesar vs Vigenère。
- 搭 Workspace(Kasiski workflow):Text Input → Kasiski Test → Text Output,解释 Factor:Frequency。
3) 操作 1:跑 Vigenère / Caesar 模板(最基础,作业必用)
3.1 Vigenère 模板(示例:UNBREAKABLE + BIG)
中文步骤(傻瓜版)
-
打开 CrypTool2
-
左上/菜单找 Templates(模板)
-
路径一般是:Cryptography → Classical → Vigenere Cipher
-
你会看到 4 块:
- Text Input(明文输入)
- Key(key 输入)
- Vigenere(算法组件)
- Text Output(密文输出)
-
把明文改成:
UNBREAKABLE -
key 改成:
BIG -
点 Run/Play
-
复制输出密文(用于后面 frequency/Kasiski)
English steps
- Open CrypTool2
- Go to Templates
- Cryptography → Classical → Vigenere Cipher
- Identify Input / Key / Cipher component / Output
- Set plaintext =
UNBREAKABLE - Set key =
BIG - Run, then copy the ciphertext
你写在作业里的"结论句"(可直接抄)
- EN : "I used the Vigenère template (Input → Vigenère → Output), encrypted
UNBREAKABLEwith keyBIG, and obtained the ciphertext for further analysis."
3.2 Caesar 模板(示例:HELLO + shift 3)
中文步骤
Templates → Classical → Caesar Cipher
明文:HELLO,key/shift:3,Run → 密文:KHOOR
English steps
Templates → Classical → Caesar Cipher
plaintext HELLO, shift 3, Run → ciphertext KHOOR
4) 操作 2:Frequency Test(频率分析)--- 你要会"对比并解释"
4.1 你要做的实验(最像作业要求)
你要做 3 份密文的频率图:
- Caesar 密文(比如 key=4)
- Vigenère 密文(key=BIG,长度 3)
- Vigenère 密文(key=LARGE,长度 5)
中文步骤(最清晰)
- 打开 Caesar 模板,加密一段较长英文(越长越好)→ 复制密文 A
- 打开 Frequency Test / Frequency analysis 模板(或组件)
- 粘贴密文 A → Run → 截图/记录柱状图
- 打开 Vigenère 模板,用 key=BIG 加密同一段明文 → 复制密文 B
- 把密文 B 放入 Frequency Test → Run → 截图/记录
- 把 key 改成 LARGE 再做一次 → 密文 C → Frequency Test → 截图/记录
- 写结论:key 越长,密文频率越平(why:同一明文字母会被分散到多种密文字母)
English steps
- Encrypt a long plaintext with Caesar → ciphertext A
- Run Frequency Test on A
- Encrypt the same plaintext with Vigenère (BIG) → ciphertext B
- Run Frequency Test on B
- Repeat with Vigenère (LARGE) → ciphertext C
- Compare histograms and conclude
作业/考试必写结论
"Compared to Caesar (d=1), Vigenère (d=3 and d=5) produces a more even ciphertext histogram because frequent plaintext letters are distributed across up to d different ciphertext letters depending on key position. Increasing key length generally flattens the histogram further."
✅记忆修辞:
- CN:高频字母穿多件马甲
- EN: Frequent letters wear multiple masks
5) 操作 3:Kasiski Workspace(最重要:会搭"乐高流水线")
这是你最需要掌握的"工程能力",也是考试/作业最容易问"你做了什么"的点。
5.1 目标
用 Kasiski Test 去猜 Vigenère 的 key length d。
5.2 中文"婴儿级"步骤(照做必成功)
-
New / 新建 workspace(空白画布)
-
左侧组件库里找到:
- Text Input(输入文本)
- Kasiski Test(密码分析组件)
- Text Output(输出结果)
-
拖到画布上,从左到右排好:
Text Input → Kasiski Test → Text Output -
用鼠标把 Input 的输出端口拖线连到 Kasiski 的输入端口
-
再把 Kasiski 的输出端口连到 Text Output
-
双击 Text Input,把 Vigenère 密文粘进去
-
点击 Run
-
看 Text Output:会出现 Factor : Frequency
-
你要找:频率最高(出现最多)的 factor
- 如果你用 BIG(长度3)加密,常看到 3 或 6、9 等相关因子
- 如果用 LARGE(长度5),常看到 5 或 10 等相关因子
-
写一句解释:Kasiski 用重复片段距离的因子推周期 d
5.3 English steps
- Create a new workspace
- Drag Text Input , Kasiski Test , Text Output
- Connect Input → Kasiski → Output
- Paste ciphertext into Text Input
- Run
- Read Factor:Frequency and pick the most frequent factor as key length candidate d
你写在作业里的"解释句"(英文可直接抄)
"Kasiski's test finds repeated ciphertext patterns, measures the distances between repeats, factorises those distances, and reports Factor:Frequency. The most frequent factor is a strong candidate for the keyword length d (or its divisor/multiple)."
✅记忆修辞:
- CN:重复 → 距离 → 因子 → 周期 d
- EN: Repeats → distances → factors → period d
6) 面试/企业怎么用(不会显得你只会做题)
面试一句话(你能背)
- 中文:我能用工具复现实验并解释结果:用频率直方图展示统计泄露,用 Kasiski 工作流估计周期,再把 Vigenère 分解成多条 Caesar 线程进行分析。这体现了我做安全分析"先建模---再验证---再解释"的能力。
- English: "I can reproduce crypto experiments and explain outputs: use histograms to show statistical leakage, use a Kasiski workflow to estimate the period, then reduce Vigenère to Caesar streams. This demonstrates an analysis workflow: model → test → explain."
企业对应能力
- 工具链思维:像搭 pipeline 一样搭分析流程(这就是安全工程常见工作方式)
- 可解释性:能把图表/输出翻译成"人话结论"写进报告
7) 最后:题库(10 选择 + 5 简答 + 2 计算)含解释
A) 选择题(10题,含理由)
Q1 CrypTool2 的 workspace 最像什么?
A Word 文档 B 乐高流水线 C 数据库 D 浏览器
✅B
- 因为你是拖组件、连线、跑流程。
Q2 Vigenère 模板里最关键的 4 个部分通常是:
A 图片/视频/音频/表格
B 输入/密钥/加密组件/输出
C DNS/TCP/IP/HTTP
D SQL/NoSQL/Cache/Queue
✅B
- 模板就是 Input→Cipher→Output 的流水线。
Q3 Frequency Test 用来做什么?
A 算矩阵逆 B 看密文字母分布柱状图 C 解密 Enigma D 生成 key
✅B
- 它给的是统计直方图。
Q4 Caesar 的频率图相比明文通常:
A 完全随机 B 形状相似(平移) C 更均匀 D 看不出来
✅B
- Caesar 只是整体移位,不改变统计结构。
Q5 Vigenère key 更长(d 更大)时,密文频率通常会:
A 更尖锐 B 更平 C 不变 D 必然全相等
✅B
- 高频字母被分散到多种密文字母上。
Q6 Kasiski Test 的输出 Factor:Frequency 最主要用来:
A 直接给出 key 内容 B 猜 key length d C 显示明文 D 计算哈希
✅B
- 它推周期长度,不直接给 key。
Q7 Kasiski 的核心证据来自:
A CPU 时间 B 密文重复片段的距离 C 密文长度 D 密钥字典
✅B
- 重复 → 距离 → 因子。
Q8 Vigenère 的破解标准路线(unknown d)是:
A 先解密再找 d
B 先找 d,再分成 d 条 Caesar 分别分析
C 直接爆破 26^d
D 只靠猜单词
✅B
- 这是教材/课堂标准流程。
Q9 Playfair 更适合看哪种统计?
A 单字母频率 n=1 B digram 频率 n=2 C 词频 D 哈希碰撞
✅B
- Playfair 是两字母一组。
Q10 Hill cipher 解密为什么经常失败/报错?
A 因为字母表不是 26
B 因为矩阵 K 在 mod26 下不可逆(gcd(det,26)≠1)
C 因为明文太长
D 因为 key 太短
✅B
- 不可逆就没有唯一解密。
B) 简答题(5题,2--3行即可,含要点)
SA1 用一句话解释 CrypTool2 template 和 workspace 的区别。
- Template:现成流程。Workspace:自己搭流程(拖组件连线)。
SA2 用一句话解释为什么 Vigenère 的频率图比 Caesar 更"平"。
- 因为同一明文字母在不同 key 位置会加不同 shift,分散到多个密文字母。
SA3 Kasiski Test 的 Factor:Frequency 表示什么?
- 对重复片段距离做因子分解后,统计每个因子出现次数;高频因子是 key length 候选。
SA4 你在作业中如何证明 "key 越长频率越平"?
- 固定同一明文,分别用 BIG/LARGE 加密并做 Frequency Test,对比直方图起伏。
SA5 Hill cipher 为什么需要 gcd(det,26)=1?
- 因为解密需要 det 的模逆;如果 det 与 26 不互质就没有模逆,矩阵不可逆。
C) 计算题(2题,含答案+理由)
Calc1(Vigenère 加密)
明文 ATTACK,key DOG(D=3,O=14,G=6),求密文。
✅答案:DHZDQQ
为什么:逐位做 明文数字 + key数字(循环) mod26。
Calc2(Hill 2×2 加密)
给
K=\\begin{bmatrix}3\&3\\2\&5\\end{bmatrix}
明文 HI(H=7,I=8),求密文。
计算:
- (c_1=3×7+3×8=45\Rightarrow 45\mod26=19=T)
- (c_2=2×7+5×8=54\Rightarrow 54\mod26=2=C)
✅答案:TC
为什么:矩阵乘向量后 mod26,再转回字母。