function decryptHill( cipher, inverse_keyword, plain ) { var i = 0; for (i = 0; i < cipher.length; i += 2 ) { plain.push( mod((inverse_keyword[0] * cipher[i]) + (inverse_keyword[1] * cipher[i+1])), 26 ); plain.push( mod((inverse_keyword[2] * cipher[i]) + (inverse_keyword[3] * cipher[i+1])), 26 ); } //if return; }
freqs = new Array( 8.167, 1.492, 2.782, 4.253, 12.702, 2.228, 2.015, 6.094, 6.966, 0.153, 0.772, 4.025, 2.406, 6.749, 7.507, 1.929, 0.095, 5.987, 6.327, 9.056, 2.758, 0.978, 2.360, 0.150, 1.974, 0.074 );
ioc += freq * (freq - 1);
0x8E 0xDA 0xDB 0x94 0x20 0x09 0xAE 0xC9 0xE6 0x6E 0x9F 0x38 0xCB 0xBD 0x61 0xC4 0x26 0x86 0xBA 0xFE 0x08 0x62 0x2E 0x40 0x02 0x91 0x98 0xA5 0x88 0x88 0x5C 0xCA 0x71 0x03 0x11 0x51 0x5E 0xAC 0xBE 0x2A 0xB6 0x49 0x72 0x96 0x42 0x50 0xF5 0x8A 0x98 0xB2 0x74 0xB7 0x98 0xF5 0x1E 0x72 0xE1 0x02 0xF2 0x30 0x0C 0x62 0xC2 0x52 0xA4 0xF6 0x4D 0x81 0xB2 0x6A 0xFD 0x44 0xBB 0xBF 0x7C 0x39 0xF0 0xA5 0x20 0x45 0xF9 0xA4 0xD3 0xE3 0x5F 0x06 0xA9 0xA8 0x81 0x0B 0x9E 0x06 0x1F 0x8B 0x24 0xE4 0xBA 0x92 0xB3
15%| | |     |     |     10%|     |         |                 |                         |                                     5%|                                     |                                             |                                                     |                                                                             |                                                                                                         0%+--------------------------------------------------------------------------------------------------------- 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
w w w . c h r i s t o p h e r c a t l i n . c o . u k

Welcome to my cryptography page.  Cryptography is the science of "hidden writing" where various techniques are used to scramble a piece of information so that it can be viewed in the presence of a third party without revealing the information.

Cryptography has been around since the time of the Ancient Egyptians (1900 BC), where modified hieroglyphs were used to hide messages.   The Ancient Greeks and Romans used cryptography to send military commands and return status information using horseback messengers.   In the 20th century, the Nazi Germans famously used a mechanical device - the Enigma Rotor Machine - to encode messages sent to and from their fleet of U-Boat submarines.

The techniques used to encode information are known as ciphers.  A cipher is basically a rule that describes how the information is encoded.  Early ciphers were quite simple and involved paper and pen and possibly a lookup table or simple arithmetic.  Later ciphers required mechanical assistance to carry out repetitive processes with the very latest requiring modern computers that can perform millions of calculations per second.

My interest in cryptography began when I started secondary school.  My school's maths department runs a cryptography club that takes part in Southampton University's National Cipher Challenge.

Ciphers Worth Learning

Miscellaneous Tools

Cryptographic Analysis Tools

Cipher Tools

Other Stuff