kmein / ciphers

Swiss Army Knife of classical cryptography

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ciphers Build Status

Meet ciphers—the Swiss Army Knife of classical cryptography!

Features

ciphers can encrypt and decrypt the following ciphers for you: (Note: It does not actually crack them, you have to supply the key or passphrase yourself.)

Building

  • To build, run stack build. This will put an executable called ciphers into .stack-work/dist/$ARCH_$OS/Cabal-$CABAL_VERSION/build/ciphers/.
  • A user-wide installation can be issued with stack install.

Usage

ciphers - a text filter for various cryptographic ciphers

Usage: ciphers COMMAND [-d|--decrypt] [-g|--grouped BLOCK-SIZE]
  Encrypt/decrypt various cipher algorithms.

Available options:
  -h,--help                Show this help text
  -d,--decrypt             Decrypt stdin
  -g,--grouped BLOCK-SIZE  Group output in evenly sized blocks

Available commands:
  atbash                   Atbash cipher
  autokey                  Autokey cipher
  caesar                   Caesar cipher
  onetimepad               One-time pad with random key. (Key is output on
                           stderr)
  playfair                 Playfair cipher
  polybius                 Polybius square
  scytale                  Scytale
  substitution             Alphabetical substitution
  vigenere                 Vigenère cipher

Examples

% ciphers caesar -k3 <<< "Veni, vidi, vici."
Yhql, ylgl, ylfl.

% ciphers -d caesar -k3 <<< "Yhql, ylgl, ylfl."
Veni, vidi, vici.

% ciphers vigenere --key=snake <<< "meet me at elephant lake"
fsfe fs ly smpuaooe eolp

% ciphers -d vigenere --key=snake <<< "fsfe fs ly smpuaooe eolp"
meet me at elephant lake

% ciphers onetimepad <<< "hello world" 2> msg.key
wxjmc iaolo

% cat msg.key
osxanbllwnkx

% ciphers -g4 playfair -k example <<< "hide the gold in the treestump"
IKLM QNLO UGCK TZGX OSXA MOOZ PE

About

Swiss Army Knife of classical cryptography

License:MIT License


Languages

Language:Haskell 100.0%