Symmetric Algorithms

Let's go over some of the popular symmetric encryption algorithms. These include DES, 3DES, IDEA, and AES. Like most things in cryptography, you are going to see a lot of acronyms.

DES stands for Digital Encryption Standard. It is a block cipher with a 56 bit key. The algorithm goes through 16 rounds to get the final data.

3DES stands for Triple DES. You can probably guess that it is three times as strong as plain DES. It uses three different 56-bit keys for encryption.

IDEA is the International Data Encryption Algorithm. IDEA is part of PGP. It uses a 128 bit encryption key.

Finally AES is the Advanced Encryption Standard. AES uses the Rijndal algorithm. It is named after the two creators of the algorithm. You pronounce it rhine-doll.

Next time I am going to start up with asymmetric keys.

All About Ciphers

Today I want to go into ciphers. Remember cipher is another name for the algorithm used to encrypt data. There are two main types of ciphers. They are the block and stream cipher.

A block cipher works on a chunk of characters at a time. Examples of block ciphers are the popular DES, 3DES, and AES ciphers. You should also know about Cipher Block Chaining (CBC). This is where you exclusive OR (XOR) data with itself and the key table to encrypt the data.

Stream ciphers on the other hand work on one character at a time. An example of a stream cipher is RC4. Another example is the Secure Telephone Unit #3 (STU-III).

Next time I will enumerate the popular block ciphers, including DES and AES.

Randomness

Last time I said I would start discussing key tables. So let's do this. A key table is used to encrypt data. It is based on an original key. Other names for a key table are key setup or initialization. This is where some algorithms go wrong, and allow crackage.

The generation of random numbers is an integral part to encryption. So how exactly do you generate random numbers? When a computer does it, we call it the RNG (Random Number Generator). However there is a technique generate quasi-random numbers called PRNG, or Pseudo RNG. It allows you to "seed" the generator with a value. That value determines what numbers get generated. Every time you use the same seed, you get the same results.

Finally I want to go a little further with symmetric encryption algorithms. In particular, I want to mention a few implementations of symmetric encrption. The popular ones are DES, 3DES, and AES. However there is also IDEA and TwoFish. I will not go into the particulars of these right now. Perhaps we will review them next time.

Secure Sockets Layer

The Secure Sockets Layer is known as SSL. It is an encryption method to handle data sent from the web browser to the server. All the data sent is encrypted. It is a standard for such web transmissions. The encryption comes in 40 and 128 bit varieties.

Mathematicians create cryptographic systems. One example is RC4, which was created by RSA Data Security. RC4 is used by SSL. Keys for encryption are made from long prime numbers. I have mentioned before that the keys themselves are frequently encrypted.

Know this. Every algorithm is breakable. You just want to ensure you are using an algorithm that is difficult enough to break based on the data carried in the payload. Hackers don't know or care about crypto algorithms. They are too light weight for such work. Instead they work on tricking people out of their passwords.

Encryption stronger than 40 bits is prohibited from being exported out of the USA. This seems like a strange rule. But it is enforced. Be careful with strong encryption methods. Next time I will cover topics like the key table, as well as different techniques for random number generation.

Crypto Keys

One of the biggest weaknesses with crypto keys is sharing their use. Don't do it. Even if the key is secure, you have other problems. Cryptanalysis is the art of breaking ciphers. That sounds like cloak and dagger stuff.

They are two varieties of keys: symmetric and asymmetric. The main difference is that the same keys encrypts and decrypts the data in symmetric processing. While asymmetric processing uses a different key for encrypting and decrypting.

I just had a college class exam. One of the choice in a multiple choice questions was S-HTTP. Now I will share what I know with you. S-HTTP stands for Secure HTTP. It allows encryption to be added to web browsing. In my next post I will go into some SSL details.

Crypto Ciphers

Recall that a cipher is an algorithm which hides data from prying eyes. A very simple example of a cipher is the substitution cipher. This is a one for one replacement of characters. The Germans used such a cipher called Enigma in World War II.

Another cipher example is the transposition cipher. This is where you change the order of characters. It can become complicated depending on the strategy used to do the reordering.

Next let's talk about the hash. A hash is a one way function. That means you can transform your original data using the hash. However you cannot easily transform the hashed data back into your original text.

Hashes are used to validate the integrity of some data. You send your original data unencrypted. Then you also send the hash of the data using encrypted methods. The recipient can also compute the has of your original data, verifying that it was unaltered in transit.

Next time I will go over keys and their use in encryption.

Cryptography for Dummies

I studied up a book I got from the library called Cryptography for Dummies. Yeah it is a Dummies book. But I learned much from it. I took six pages of notes during my read. This book is from 2004. But much of the information still holds true today.

The subject of cryptography is complex. They have a lot of classes in my college on cryptography and security in general. That does not mean cryptography is all hi tech. You can use it in low tech systems.

An algorithm is a technology to hide data. It is also called a cipher. The specification on the DES algorithm is 7 pages long. Time for another read I guess.

I plan to be writing about the lessons I learned from this book for a long time. My next post will start with different types of ciphers.