https://github.com/lancern/enigma
Enigma machine emulator and its crack procedure on modern computers
https://github.com/lancern/enigma
cryptography enigma enigma-machine rust
Last synced: about 1 year ago
JSON representation
Enigma machine emulator and its crack procedure on modern computers
- Host: GitHub
- URL: https://github.com/lancern/enigma
- Owner: Lancern
- License: mit
- Created: 2021-03-02T05:51:29.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-03-30T07:18:56.000Z (about 5 years ago)
- Last Synced: 2025-03-20T16:48:21.994Z (over 1 year ago)
- Topics: cryptography, enigma, enigma-machine, rust
- Language: Rust
- Homepage:
- Size: 43.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# enigma

This repository contains:
- An Enigma machine emulator;
- A crack procedure that cracks Enigma machine on modern computers.
## Build
To build this project, you need an available Rust toolchain version 1.47+. To
install Rust toolchain, please refer to [rustup](https://rustup.rs/).
Clone the repository to `$ENIGMA_DIR`:
```bash
git clone git@github.com:Lancern/enigma.git $ENIGMA_DIR
cd $ENIGMA_DIR
```
Then build using `cargo`:
```bash
cargo build --release --features binary --bin enigma-cli
```
After successful build, the enigma emulator program `enigma-cli` will be
available under `target/release`.
## Usage
### Enigma Machine Configuration
The Enigma machine's initial configuration is given in a JSON formatted text
file. An example configuration is given in
[config.example.json](./config.example.json). The full specification is listed
in [docs/Configuration.md](docs/Configuration.md).
### Run Enigma Emulator
CLI usage:
```bash
enigma-cli -c /path/to/config.json \
-i /path/to/input/text/file.txt \
-o /path/to/output/text/file.txt
```
There are several constraints on the input file:
- The content of the file should be a valid UTF-8 encoded text string;
- The file should only contain ASCII English letter characters and whitespace
characters.
### Run Enigma Machine Crack Procedure
> Under construction
## License
This repository is open-sourced under [MIT License](./LICENSE).