Skip to main content

Enigma – 使用 Python 挑战 Enigma 密码机 Mission X

·151 words·1 min

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

您需要安装 pandasmatplotlib 以便进行 Excel 操作和绘制图表。

Enigma 密码机 #

通过 Jupyter Notebook: Chapter_B_Enigma 循序渐进的教程,使用 Python 开发一台 Enigma 密码机。

最终,使用该 Enigma 密码机模拟器来完成 Mission X 挑战。

intro-inside-enigma

这里是为完成 Mission X 而编写的代码的最终输出结果。

日期密文德文明文英文翻译
1940-04-07SYTUN TJBFC BRSSY XNPKQ QZMDWKeine besonderen ereignisseNoting to report
1940-04-11SDPNV OLDCQ HIBMK QTONC VNZXU SKSPZ IWWir werden nachsten montag angreifenWe will next Monday to attack
1940-04-12OJSBI BUPKA ECMEE ZHZiel hafen von DOVERTarget port of DOVER
1940-04-12REVNU XWYCV HZFSH NFMSPWarten auf AnweisungenWaiting for instructions

致谢 #

参考资料 #