1.0.4 • Published 5 years ago
deguise v1.0.4
deguise
This is a library of pen-and-paper ciphers (not secure encryptions). They are excellent for quickly and easily obscuring/obfuscating text however, and while they are not technically encryptions, many have still eva
All of the algorithms have a similar set of methods: encrypt
and decrypt
. These methods do differ in what arguments they take, however.
For the rest of the documentation I will use the variables message
to represent the text to be enciphered, key
to represent a numerical key, passphrase
to represent a textual key, and alphabetKey
to represent a possible string to alter the alphabet used.
Initialization
- Atbash:
constructor()
- ROT:
constructor(key)
- Substitution:
constructor()
- Affine:
constructor(a, b)
where a is the multiplicand and b is the addend - OTP:
constructor(passphrase)
- Vigenere:
constructor(passphrase)
- Gronsfeld:
constructor(key)
- Skip:
constructor(key)
Encryption
- Atbash:
encrypt(message)
- ROT:
encrypt(message[, alphabetKey = ""])
- Substitution:
encrypt(message, alphabetKey)
(the message won't change if alphabetKey == "") - Affine:
encrypt(message[, alphabetKey = ""])
- OTP:
encrypt(message)
- Vigenere:
encrypt(message[, alphabetKey = ""])
- Gronsfeld:
encrypt(message[, alphabetKey = ""])
- Skip:
encrypt(message[, alphabetKey = ""])
Decryption
- Atbash:
decrypt(message)
- ROT:
decrypt(message[, alphabetKey = ""])
- Substitution:
decrypt(message, alphabetKey)
- Affine:
decrypt(message[, alphabetKey = ""])
- OTP:
decrypt(message)
- Vigenere:
decrypt(message[, alphabetKey = ""])
- Gronsfeld:
decrypt(message[, alphabetKey = ""])
- Skip:
decrypt(message[, alphabetKey = ""])
Example
const { Vigenere } = require("deguise");
const cipher = new Vigenere("passphrase");
var encrypted = cipher.encrypt("Hello world!");
var decrypted = cipher.decrypt(encrypted);
console.log(encrypted); // "WEDDD DFRDH!"
console.log(decrypted); // "HELLO WORLD!"