Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Enigma

This is my attempt at creating the Enigma Machine used by the Germans in WW2 to encrypt messages.

Rotor configurations can be found here.

A nice simulator can be found here.

Goals

  • To become more familiar with the C++ Programming Language
  • Stick to a TDD lifecycle
  • Learn how to use CMake
  • Create an Enigma Machine

The following are nice to haves but are not the main goals of this project

  • See how this can be turned into a unix command line tool to encrypt files (like openssl)
  • Try to break the Enigma Code

Features

  • Interact through a command line interface
  • Can input either files or type message
  • Output to a file or terminal
  • Machine should be configurable using JSON (or some other structured file format)
    • Configure using command line
  • Inputting encrypted text into a machine with the same configuration should result in the plain text being returned

Usage

./build/Enigma -f test.txt -d encrypted.txt
./build/Enigma -f test.txt
./build/Enigma hello
./build/Enigma "hello there"    # Use quotes for more than one word
./build/Enigma -r1 2 -r2 4 -relf A "hello there"

About

C++ Implementation of the Enigma Machine

Topics

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages