Editor's Note: This file was selected as MATLAB Central Pick of the Week
Enigma M3 Emulator
This is a MATLAB App for simulating the Enigma encryption machine. It specifically emulates the M3 variant of the machine used during World War II by the German army.
To run the app, type the following at the MATLAB command prompt:
launchEnigma
Perform encryption/decryption by clicking on the round keys at the bottom of the machine. Your input and the machines output will be recorded on the tablet on the right of the App. Keyboard input can also be used.
You can configure the machine in a variety of ways. Click the rotor icon on the top-right of the machine to modify the :
•rotor types
•ring offsets of the rotors
•reflector type
•plugboard connections
You can also modify the position of the rotors by hovering over the rotor images and using the scroll-wheel of the mouse or dragging up or down with the left mouse button pressed.
You can also run the simulation completely from the MATLAB command line. See the startHere.m file for a demonstration.
Related links:
Alan Turing and His Connections to MATLAB
http://www.mathworks.com/company/newsletters/articles/alan-turing-and-his-connections-to-matlab.html
The Enigma Machine and MATLAB
http://www.mathworks.com/videos/the-enigma-machine-and-matlab-107967.html
Contributors to this App were Corey Lagunowich, Cesar Rivadeneyra, Adam Sifounakis and Sean de Wolski
Cite As
Matt Brauer (2024). Enigma (https://github.com/mathworks/Enigma), GitHub. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
@enigma
@enigmaApp
@enigmaReflectors
@enigmaRotorUI
@enigmaRotors
@plugBoard
@plugBoardTable
Versions that use the GitHub default branch cannot be downloaded
Version | Published | Release Notes | |
---|---|---|---|
1.1.0.0 | Added links in the Description
|
|