Enigma – 使用 Python 挑战 Enigma 密码机 Mission X
·151 words·1 min

Table of Contents
GitHub 项目仓库:https://github.com/cuicaihao/Enigma-Mission-X
背景 #
受到 Enigma - Mission X Challenge 的启发,本仓库用于保存对不同密码方法的研究和实践成果。主要目标是使用 Python 编程语言来实现以下目标:
依赖环境 #
- Python 3.11(建议使用 Conda 或 pyenv)
- pandas
- matplotlib
开发环境采用的是 Python 3.11,我相信 Python 3.8、3.9、3.10 版本也同样适用。供您参考:Python 3.11 的运行速度比 3.10 快大约 25%,详情可以参阅 python-speedy。
您需要安装 pandas 和 matplotlib 以便进行 Excel 操作和绘制图表。
Enigma 密码机 #
通过 Jupyter Notebook: Chapter_B_Enigma 循序渐进的教程,使用 Python 开发一台 Enigma 密码机。
最终,使用该 Enigma 密码机模拟器来完成 Mission X 挑战。

这里是为完成 Mission X 而编写的代码的最终输出结果。
| 日期 | 密文 | 德文明文 | 英文翻译 |
|---|---|---|---|
| 1940-04-07 | SYTUN TJBFC BRSSY XNPKQ QZMDW | Keine besonderen ereignisse | Noting to report |
| 1940-04-11 | SDPNV OLDCQ HIBMK QTONC VNZXU SKSPZ IW | Wir werden nachsten montag angreifen | We will next Monday to attack |
| 1940-04-12 | OJSBI BUPKA ECMEE ZH | Ziel hafen von DOVER | Target port of DOVER |
| 1940-04-12 | REVNU XWYCV HZFSH NFMSP | Warten auf Anweisungen | Waiting for instructions |
致谢 #
- 代码原作者为 Raymas: enigma-cipher-machine。
- 为完成 Mission X 挑战,在此基础上进行了微调。