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 = ; const cipher = "passphrase"; var encrypted = cipher;var decrypted = cipher; console; // "WEDDD DFRDH!"console; // "HELLO WORLD!"