Skip to content

MTaggart97/Enigma

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

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

Watchers

Forks

Releases

No releases published

Packages

No packages published