SkillAgentSearch skills...

Enigma

C++ Implementation of the Enigma Machine

Install / Use

/learn @MTaggart97/Enigma
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

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

  • [x] Interact through a command line interface
  • [x] Can input either files or type message
  • [x] Output to a file or terminal
  • [ ] ~~Machine should be configurable using JSON (or some other structured file format)~~
    • [x] Configure using command line
  • [x] 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"

Related Skills

View on GitHub
GitHub Stars6
CategoryDevelopment
Updated3mo ago
Forks1

Languages

C++

Security Score

72/100

Audited on Dec 19, 2025

No findings