Cryptography
Cryptography is the writing of secrets. The word 'cryptography' comes from the Greek 'cryptos', secret, and 'graphos', writing.
Contents
Codes
In its simplest term, a code is the replacement of a message with an alternative message whose meaning is known to the recipient. For example:
Take the phrase: "The bombers require a fighter escort at Newcastle, 2300 hours"
There are many ways to encode this. For example, both the sender and the recipient could agree on appropriate rules to encode that message. Ideally, these rules would create a ciphertext that would not arouse the suspicions of an intruder intercepting the message. Otherwise, the message could be decoded, destroyed, or otherwise delayed. "cracked" (decoded) or to be destroyed or otherwise delayed.
- 11.00pm, Newcastle: Mother birds look for duckling flock
The above message simply substitutes "mother bird" for bomber, "duckling" for fighter and "flock" for escort. The message could now be transmitted, and if intercepted could easily be mistaken for a diary entry of a birdwatcher.
Codes also include methods of hiding a message within a seemingly normal message (used frequently by POW's). A famous example of this is the September 1992 edition of Autocar
James May amused himself while compiling a top 100 list of the cars that year arranged the capitalized letters across many pages to spell out "So, you think it's really good yeah? You should try making the bloody thing up. It's a real pain in the arse" (punctuation and spaces added for clarity).
Of course there is a very obvious problem with codes, find out the rules governing what is substituted for what and an intercepted message can be read easily. And in order to produce any useful codesets, large "dictionaries" were required by both sender and receiver.
Ciphers
Cipher: a method of changing the plaintext (normal written word) into ciphertext and back again.
A cipher can be as simple, or as complex, as the user requires. For the most part (see RSA later for exception) ciphers require both a rule and a key. The key is used by the recipient of the message to turn the ciphertext back into plaintext using the reverse of the rule.
Some examples of ciphers:
- Plaintext: "HELLO WORLD"
Even without substituting letters as commonly done in ciphers, by reflecting the message, words, or blocks of letters it is possible to make it difficult to decrypt the message without knowing the rule, even for computers. Note that processes like this are not commutative.
- Word Reversal: "OLLEH DLROW"
- Message Reversal: "DLROW OLLEH"
- 3-Letter block reversal: "LEH OLROWDL"
Using a cipher historically attributed to Julius Caeser, wherein the letters are moved along in the alphabet by the number of letters represented by the key (note Z+1 = A). This example uses a key of 1
- Caeser: "IFMMP XPSME"
However this cipher can be easily broken by modern computers as it uses a 1:1 alphabet substitution. It can be made more secure by encrypting each letter with a different key. In this example the letter key will be its position in the text.
- Letter Key Caeser: "IGOPT DWAVO"
Note that although O appears twice in the ciphertext, the first time it represents an L, the second time a D, making this a much harder cipher to break.
Historical Uses Of Cryptography
Generally speaking, cryptography has been the sole domain of governments. All governments of the world have a branch dedicated to the interception and decryption of encoded information. In America, this is the CIA; in Britain, it's MI5; in Vatican City it's Iscariot (Vatican Section XIII).
Cryptography has played a large part in many wars. In the First World War, Mata Hari was responsible for carrying messages back and forth for the German government, causing the deaths of thousands of French soldiers.[1] In the Second World War, British soldiers captured the crew and The Enigma machine of German U-boat U-571, leading to the decryption of Nazi communications and the end of the war.
Modern Uses Of Cryptography
The most common forms of cryptography in use today are symmetric key encryption and public key encryption. These cryptographic systems rely on hardness assumptions about certain computational problems, such as that it takes significantly longer (order 108 times) to find two prime factors of 1000 or more digit numbers than it does to multiply the numbers together to create the 1000 digit number in the first place. Public-key cryptographic systems are typically slower than symmetric-key systems, and as a result slower public-key systems such as RSA are often used to generate a key for use in a faster symmetric-key system such as AES or DES.
In public-key cryptography there are two keys, the first is the "private key", which only the recipient knows. The second is the "public key" which can be sent freely to anyone, allowing them to encrypt messages with it such that only the owner of the private key can decrypt them. These public keys are calculated from the private keys, but as they are often over 1000 digits long and would take many decades to calculate the private key from them (RSA, the most commonly used encryption protocol uses 2048 digit numbers, which would take over 4000 years to crack with a desktop computer).
Cryptographic protocols are often used on the Internet. They allow sensitive data, e.g. credit card numbers, phone numbers, social security numbers etc. to be transmitted without fear of interception and use by malevolent third parties. All internet banking and shopping uses this technology; whenever you see "https://" instead of "http://" in the address bar of your browser, an encryption algorithm is in use to protect information transmitted through that web page.