百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
E

enigma

> 编程语言
开源

Enigma 的 Java 实现以及用于解密它的现代攻击方法。

691 stars0 点赞0 次浏览
访问官网GitHub

工具介绍

Enigma 的 Java 实现以及用于解密它的现代攻击方法。

Java Enigma 这是一个 Java 实现的 Enigma 机器,以及尝试破解加密的代码。此代码与 Computerphile 视频 破解 Enigma 相关。Enigma 机器是一种机械加密设备,在二战前后得到了广泛应用。此代码模拟了一个带 3 个转动器的 Enigma 机器,包括战时常见的 8 个转动器。

安装和使用

如果您已安装 Java,您可以自行编译和运行此代码。为了方便,我建议使用 IntelliJ 或类似的 IDE。社区版是免费的,它会使编辑、编译和运行代码变得更加容易。如果您想自己运行它,首先请安装 Java,然后按照以下说明操作。假设您已安装了 Java 和 git。

bash
git clone https://github.com/mikepound/enigma.git
cd enigma
``` 将 src 目录中的所有 java 文件编译到 bin 目录中 ```
javac -d bin -sourcepath src src/com/mikepound/Main.java
``` 也将 n-gram 统计信息复制到 bin 目录中 ```
cp -r resources/data bin/data
``` 在 main 中运行 Enigma 代码 ```
java -cp bin com.mikepound.Main
``` ## Enigma 机器 Enigma 机器的代码位于 `enigma` 包中。`analysis` 包中包含用于对密文进行攻击的代码。该攻击使用位于 `analysis.fitness` 包中的各种适应度函数,这些函数尝试衡量测试解密的有效性。最后,`Main.java` 文件中包含了我在视频中执行的实际攻击,因此其中还包含了许多您可以用来运行自己的攻击的示例。

### 创建 Java Enigma 代码本身相当简单

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Java

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言