Thursday, 6 January 2011

An apology and an explanation.

I'm just posting to apologise to my followers and viewers for lack of content recently, the nature of my job dictates that a lot of training and staff meetings take place at the start of the year and between that and studying for the A+ this blog has fallen slightly by the wayside.

Hopefully things will calm down soon and I can get back on track with providing content. Thanks to those of you who keep popping in to check for new posts and rest assured, I am taking the time to read your blogs too :)

Tuesday, 28 December 2010

CrypTool

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

Monday, 27 December 2010

Rail Fence Cipher

By no means uncrackable or foolproof, but a nice encryption method to mess around with in your spare time.

For this example I will use three "rails" but in reality you could use as many as you wanted to. To encrypt the plaintext using a Rail Fence Cipher it is written downwards and diagonally, so say for example the plaintext was "CRYPTOGRAPHY" we would construct something like this:

C....P....G....P
..R....T....R....H
....Y....O....A....Y

The ciphertext is then formed from the letters on each "rail" or row, resulting in:

CPGP RTRH YOAY

As you can see this results in a challenging, yet fun cipher to crack as the job of the cracker is to determine the number of rails and correctly construct the plaintext.

Sunday, 26 December 2010

What would you like me to write about?

I have a few more "how to" guides lined up but I was wondering  if there was anything specific anyone would like me to write about regarding cryptography and information security? I'm buried in algorithms and source code at the moment and it would be great if you guys could keep me on my toes :D

Saturday, 25 December 2010

Unbreakable cipher

Inspired by some of the old textfiles by Mental Ego and Ich, I've decided to write a file about a cipher I know of that has been proved unbreakable in theory.


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.