SkillAgentSearch skills...

Enigma

(Mechanical) implementation of an enigma machine

Install / Use

/learn @benelsen/Enigma
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

enigma

Implementation of an enigma machine

Build Status

Installation

$ npm install enigma

Example


var enigmajs = require('enigma');

var rotorI        = new enigmajs.Rotor('EKMFLGDQVZNTOWYHXUSPAIBRCJ', 'Q');
var rotorIII      = new enigmajs.Rotor('BDFHJLCPRTXVZNYEIWGAKMUSQO', 'V');
var rotorIV       = new enigmajs.Rotor('ESOVPZJAYQUIRHXLNFTGKDCMWB', 'J');
var reflector     = new enigmajs.Reflector('YRUHQSLDPXNGOKMIEBFZCWVJAT');
var plugboard     = new enigmajs.Plugboard( 'AD CN ET FL GI JV KZ PU QY WX' );
var entryWheel    = new enigmajs.EntryWheel('ABCDEFGHIJKLMNOPQRSTUVWXYZ');

var enigma = new enigmajs.Enigma([rotorI, rotorIV, rotorIII], reflector, plugboard, entryWheel);

console.log( enigma.string( 'EXAMPLEMESSAGE' ) );

Prints out RRHIUUFUVJLJYY

You should also have a look at this test which demonstrates a more realistic procedure to cipher/decipher a message.

License

MIT

View on GitHub
GitHub Stars61
CategoryDevelopment
Updated2y ago
Forks6

Languages

JavaScript

Security Score

80/100

Audited on May 31, 2023

No findings