|
Cryptography is about scrambling data so that it looks like babble to anyone except those who know the trick to decoding it. Almost anything in the world can be hidden from sight and revealed again. The illusionist David Copperfield has made his living from hiding enormous items from plain view — like elephants and the Statue of Liberty — and then magically revealing them again. Any magician will tell you that to make things disappear and appear again, you have to have a plan of action — a formula or recipe — to make the magic work.
Follow the 'rithm
In cryptography, the magic formula for hiding data is called an algorithm. An algorithm is a precise set of instructions that tells programs how to scramble and unscramble data. A simple algorithm might read like this:
Step 1: Delete all instances of the letter "e" in the data Step 2: Replace the letter "t" with the number "7" Step 3: Reverse the order of the data and rewrite it from the end to the beginning
The steps above are not an actual algorithm; it's what a simple algorithm might look like. Algorithms used in programs today are mathematical functions with the instructions written in programming code.
Here's just a portion of a real algorithm called DES (Data Encryption Standard) that the U.S. government adopted in 1977. DES is a block cipher that transforms 64-bit data blocks under a 56-bit secret key by means of permutation and substitution. (You're not meant to understand that last sentence yet!) So, here is just a tiny, tiny bit of the DES algorithm:
Get a 64-bit key from the user. (Every 8th bit is considered a parity bit. For a key to have correct parity, each byte should contain an odd number of "1" bits.) Calculate the key schedule. Perform the following permutation on the 64-bit key. (The parity bits are discarded, reducing the key to 56 bits. Bit 1 of the permuted block is bit 57 of the original key, bit 2 is bit 49, and so on with bit 56 being bit 4 of the original key.) Permuted Choice 1 (PC-1) 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4
In actuality, the remainder of the DES algorithm could easily fill six or seven pages! What you see above is just a small portion of the entire recipe. Interestingly, although DES is complex, it was found to have serious flaws that were exposed in 1998. These flaws lead teams of cryptographers to re-work DES because the original algorithm could be cracked and was no longer considered safe to use. The algorithm the cryptographers came up with to replace DES is called 3DES (Triple DES).
Rockin' the 'rithm
The reason that algorithms are so complex is to ensure that they can't be easily broken. It wouldn't do a spy any good to send out a secret message if everyone in the world could crack the code and read it. Crypto experts check the strength of the algorithms we use today, but sometimes it takes years to find the fatal flaw. When this happens, notices are sent out via vendors and the media to let users know that they may need to make some changes in the encryption programs they are using.
Most algorithms are mind-numbingly complex mathematical equations. Fortunately, you normally don't have to deal with the algorithm itself — the encryption software does that for you. Just as you don't need to be a mechanical genius to drive a car, you don't need to be a mathematician to be able to use encryption products. (Hooray!) For most encryption products, the most difficult part is the initial set-up. After that, the scrambling and unscrambling is mostly done without your interaction.
There are tons of different algorithms used in the world of cryptography. Why? For the same reason you use different recipes to make a cake. Some recipes are better, some recipes are easier, and some recipes depend on time and care to make them turn out right. The same thing happens with algorithms — we need to use faster, easier, stronger algorithms, and some are better than others at accomplishing the task. It all depends on your needs as to which algorithms you'll eventually use in your system.
There are also tons of arguments as to what makes a good algorithm and what makes a bad algorithm. Get any three crypto geeks in a room to discuss the differences and, chances are, they'll still be arguing a week later. Good algorithms are generally referred to as strong crypto and bad algorithms are called weak crypto. You'll find arguments galore in newsletters and mail lists that attempt to describe why one algorithm is better than the other. You need to know at least the basics to tell the difference. Often the problem has more to do with the installation and setup of the software than problems with the product or the algorithm.
Lingo in a nutshell
These introductory terms are not meant to confuse you; rather, they are to gradually introduce you to some of the lingo used in cryptography.
- Encrypt: Scrambling data to make it unrecognizable
- Decrypt: Unscrambling data to its original format
- Cipher: Another word for algorithm
- Key: A complex sequence of alpha-numeric characters, produced by the algorithm, that allows you to scramble and unscramble data
- Plaintext: Decrypted or unencrypted data (it doesn't have to be text only)
- Ciphertext: Data that has been encrypted
|