Skip to content

kmein/ciphers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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