I'd like to take some time to mention CrypTool. For those of you who don't know about it and use it already CryptTool is a program for Windows (there is also a Linux port in on going development which is available)
which offers a practical introduction to cryptography as well as many tools to assist with the development and use of advanced cryptographic methods. It is free, open source and in my opinion, a must have for anybody who is interested in learning the fundamentals.
Cryptool
This is a cipher based on the old cryptographic standard Vigenere cipher and also utilizes elements of One-time pad encryption. To encrypt a message in this way we need to use a tabula recta or "Vigenere table" like this:
a b c d e f g h i j k l m n o p q r s t u v w x y z a a b c d e f g h i j k l m n o p q r s t u v w x y z b b c d e f g h i j k l m n o p q r s t u v w x y z a c c d e f g h i j k l m n o p q r s t u v w x y z a b d d e f g h i j k l m n o p q r s t u v w x y z a b c e e f g h i j k l m n o p q r s t u v w x y z a b c d f f g h i j k l m n o p q r s t u v w x y z a b c d e g g h i j k l m n o p q r s t u v w x y z a b c d e f h h i j k l m n o p q r s t u v w x y z a b c d e f g i i j k l m n o p q r s t u v w x y z a b c d e f g h j j k l m n o p q r s t u v w x y z a b c d e f g h i k k l m n o p q r s t u v w x y z a b c d e f g h i j l l m n o p q r s t u v w x y z a b c d e f g h i j k m m n o p q r s t u v w x y z a b c d e f g h i j k l n n o p q r s t u v w x y z a b c d e f g h i j k l m o o p q r s t u v w x y z a b c d e f g h i j k l m n p p q r s t u v w x y z a b c d e f g h i j k l m n o q q r s t u v w x y z a b c d e f g h i j k l m n o p r r s t u v w x y z a b c d e f g h i j k l m n o p q s s t u v w x y z a b c d e f g h i j k l m n o p q r t t u v w x y z a b c d e f g h i j k l m n o p q r s u u v w x y z a b c d e f g h i j k l m n o p q r s t v v w x y z a b c d e f g h i j k l m n o p q r s t u w w x y z a b c d e f g h i j k l m n o p q r s t u v x x y z a b c d e f g h i j k l m n o p q r s t u v w y y z a b c d e f g h i j k l m n o p q r s t u v w x z z a b c d e f g h i j k l m n o p q r s t u v w x y
We also need a key which usually when utilizing the Vigenere cipher will be a single word or short phrase, but in order to make the cipher "unbreakable" we will be using a key that is the same length as the plaintext. Obviously you need to prearrange this key with the recipient and it needs to be as random as possible. There is software you can download to create a random string of characters but if that isn't possible you'll just have to wing it and make a seemingly random, one use key. For this example I'm using a simple plaintext and key just to demonstrate how this cipher works.
Example:
Plaintext: I LIKE TO PWN NUBS
Key: JTYCNWQKZVARXO
Ciphertext: REGMRPEZVINLYG
So basically to encrypt you take the first character of you plaintext, that is the column, and the first character of the key, that is the row and the common character is the first letter of your ciphertext and so on. To decrypt, take the first character of your key and find the first character of the ciphertext on that row, the column it's in is the plaintext letter.
This method if followed is as close to unbreakable as you're going to get when it comes to non-mechanical cryptography. The only thing that lets it down is key management, which is all up to you.
This method if followed is as close to unbreakable as you're going to get when it comes to non-mechanical cryptography. The only thing that lets it down is key management, which is all up to you.