Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Vigenère Cipher En-/Decryption Program

General reading from stdin, capable of:

  • Encrypt with a given key
  • Decrypt with a given key
  • Decrypt by guessing the key via frequency analysis (user --plot to generate lots of graphs on the way)

Several tweaking parameters can be given. See --help for details.

Example

Taken from here:

RIKVBIYBITHUSEVAZMMLTKASRNHPNPZICSWDSVMBIYFQEZUBZPBRGYNTBURMBECZQKBMBPAWIXSOFNUZECNRAZFPHIYBQEOCTTIOXKUNOHMRGCNDDXZWIRDVDRZYAYYICPUYDHCKXQIECIEWUICJNNACSAZZZGACZHMRGXFTILFNNTSDAFGYWLNICFISEAMRMORPGMJLUSTAAKBFLTIBYXGAVDVXPCTSVVRLJENOWWFINZOWEHOSRMQDGYSDOPVXXGPJNRVILZNAREDUYBTVLIDLMSXKYEYVAKAYBPVTDHMTMGITDZRTIOVWQIECEYBNEDPZWKUNDOZRBAHEGQBXURFGMUECNPAIIYURLRIPTFOYBISEOEDZINAISPBTZMNECRIJUFUCMMUUSANMMVICNRHQJMNHPNCEPUSQDMIVYTSZTRGXSPZUVWNORGQJMYNLILUKCPHDBYLNELPHVKYAYYBYXLERMMPBMHHCQKBMHDKMTDMSSJEVWOPNGCJMYRPYQELCDPOPVPBIEZALKZWTOPRYFARATPBHGLWWMXNHPHXVKBAANAVMNLPHMEMMSZHMTXHTFMQVLILOVVULNIWGVFUCGRZZKAUNADVYXUDDJVKAYUYOWLVBEOZFGTHHSPJNKAYICWITDARZPVU

cat above | python vigenere.py --decrypt --plot
Possible passwords:
VIRTUAL

alt text

Pitfalls

  1. Just takes CAPITAL LETTERS (since used for Krypton). Use e.g. tr [a-z] [A-Z] for translation
  2. Decryption out of the box just works for english material. Adjust monogram frequencies hardcoded in the head of the file for other languages.

About

Vigener En-/Decryption

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages