Skip to content

jnbreid/enigma_cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Enigma Simulator

A C++ implementation of the Enigma cipher machine, integrated with Python via Pybind11. Unlike the original, this version supports fully customizable rotors, reflectors, and plugboards, allowing for alphabets larger than the traditional 26 letters — including extended symbol sets such as all printable ASCII characters (as demonstrated in the demo notebook).

Features

  • Fully customizable rotors, reflectors, and plugboards
    Supports arbitrary character sets, including all printable ASCII characters.

  • Python integration via Pybind11
    Enables interactive use from Python scripts or Jupyter notebooks.

  • Interactive demo notebook
    Demonstrates encryption, configuration, and extended alphabet usage.

Installation

Make sure you have CMake and Pybind11 installed. Then, build the module by running:

mkdir build && cd build
cmake ..
make

Demo

Check out demo.ipynb for an interactive walkthrough and showcase of functionalities.

License

This project is licensed under a GPL-3.0 license.

About

A C++ simulation of the Enigma cipher machine, integrated with Python via Pybind11.

Topics

Resources

License

Stars

Watchers

Forks