#!/usr/bin/perl $ ..=$ _ for qw|$ @=/b..u\;/_@ =vqv \?qvcl+FOTO ,_@:_$;kbv($_@ =$ @;jd/_;++\(d qR_"/2. ._;\(vz xH$ _@,xHjdy$ _@)) )$ @;$. =kbv[$ _@] ,_0= ~{}w {g|;$ _=$ . ,y ,/FO\\{vzlu}\$dqR_Hjk\@yq(xybRc),(DA)/punz\\\@for\$him_to{stare},,s.. $ _.gee; print map { map { $ %= 0 ;s '([A-Z])(?{$ %=1})'lc$ 1'e ;$ ;=$ .[ $ *] [ - 97 + ord ]; $ *+= $ *== @ .-1? -$ *:1 ;ord> 96?$ %? uc$ ; :$ ; :$ _ }split//} __DATA__ The Vigenere cipher, known by some as 'le chiffre indechiffrable' (French for 'the indecipherable cipher') is a method of encryption that uses a series of different Caesar ciphers based on the letters of a keyword, though there is some argument among cryptographic circles as to which incarnation of this particular polyalphabetic substitution can accurately be attributed to Blaise de Vigenere. This implementation is a simple form of a polyalphabetic substitution. To encipher, a table of alphabets can be used, termed a tabula recta, or Vigenere table. It consists of the alphabet written out 26 times in different rows, each alphabet shifted cyclicly to the left compared to the previous alphabet. Incidentally, there's a good chance that this plaintext is long enough to display the cryptographical weakness of this particular algorithm. Can you spot it?