Skip to content

lusingander/enigma

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Reference GitHub

Enigma

Terminal Enigma machine simulator

Installation

$ go install github.com/lusingander/enigma/cmd/enigma-simulator@latest

(require Go 1.18+)

Usage

Keybindings

Key Description
A - Z input
Ctrl+c quit
Esc reset

Using as a library

import "github.com/lusingander/enigma/enigma" func main() { e := enigma.NewM3( [3]enigma.Rotor{ enigma.NewRotor1('A', 'A'), // (initial position, ring setting) enigma.NewRotor2('A', 'A'), enigma.NewRotor3('A', 'A'), }, enigma.NewReflectorB(), enigma.NewPlugboard(), ) e.EncodeString("HELLO") // returns "MFNCZ" e.EncodeString("HELLO") // returns "RHOZF" }

License

MIT

About

Terminal Enigma machine simulator ⚙️

Topics

Resources

License

Stars

Watchers

Forks

Languages