Six tiles each displaced by a different amount and then restored, representing the varying letter shifts of a Vigenère cipher

Vigenère Cipher in C++: How It Works, and How to Break It

Three centuries as the indecipherable cipher, and 1.6 milliseconds to break. Working C++ for both directions, plus the attack that recovers the key.