3 releases (stable)

1.0.1 Oct 30, 2022
1.0.0 Oct 23, 2022
0.1.0 Oct 14, 2022

#2381 in Cryptography

MIT license

43KB
1K SLoC

enigma

An implementation of the Enigma Machine written in rust

The Enigma machine is a cipher device developed and used in the early- to mid-20th century to protect commercial, diplomatic, and military communication. It was employed extensively by Nazi Germany during World War II, in all branches of the German military. The Enigma machine was considered so secure that it was used to encipher the most top-secret messages.

Installation

  • Install Rust
  • run cargo install libenigma
  • run libenigma -h for usage instructions

Tests

run cargo test

Benchmarks

run cargo bench

Usage

  • -i Input file: Path to input text file
  • -c Config file: Path to config file. If a config file does not exist at this path, a config file will be generated a written to this path
  • -o Output file: Path to output ciphertext
  • -h Help: Help information- Output information on usage of CLI
  • -v Version: Output version information

Dependencies

~8–20MB
~219K SLoC