1.0.4 • Published 5 years ago

deguise v1.0.4

Weekly downloads
-
License
MIT
Repository
-
Last release
5 years ago

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!"