You are on page 1of 7

Data Encryption Standard Selected by the National Bureau of Standards to be the Official Federal Information Processing Standard in 1976,

although first adopted in the United States, this method is used extensively worldwide. It was developed by IBM. It is based on a symmetric algorithm that uses a 56 bit key. DES is a block cipher that works on eight bits (one single unit called a block at a time) to encrypt or decrypt information. DES encryption works by running a line of normal text through a block cipher sixteen times and then outputting a cipher text. The DES encryption has 64-bit blocks; however the 8th bit is a correspondence bit, so it makes the DES actually a 56-bit encryption. Below is a detailed description of how normal text is changed to cipher text. The method inputs a 64 bit key, of which only 56 bits are used. From these 56 bits, 16 48 bit sub keys are created. The message is split into chunks of 64 bit, and a complex series of steps transforms the message into cipher using each sub key. All 48 or 64 bit integers are represented by two 32 bit integers in an array. Below is an example of the method implementation in JavaScript. Creating the Keys - RC1 Initially, the first 16 sub keys are created. Then the 8 character string representing the key is changed into two integers which are passed to the des_create Keys function. The bits of these two integers are then reorganized according to RC1 (rearranged choice 1). The bits end up in the following places: 57 49 41 33 25 17 9 1 2 3 0 7 6 5 0

58 50 42 34 26 18 10 59 51 43 35 27 19 11 60 52 44 36 0 0 0

63 55 47 39 31 23 15 62 54 46 38 30 22 14 61 53 45 37 29 21 13 28 20 12 4 0 0 0

This means that the first 57th bit of the original key becomes the first bit, etc. The rearrangement is done using a rearrangement sequence, which is a clever way of rotating and switching bits between 2 integers, for example, temp = ((left >>> 4) ^ right) & 0x0f0f0f0f; right ^= temp; left ^= (temp << 4); rotates 4x4 blocks of bits: 33 34 35 36 41 42 43 44 1 2 3 4

9 10 11 12

49 50 51 52 17 18 19 20 57 58 59 60 25 26 27 28 37 38 39 40 5 6 7 8

45 46 47 48 13 14 15 16 53 54 55 56 21 22 23 24 61 62 63 64 29 30 31 32 Creating the Keys - RC2 The 16 sub keys (C1 and D1 through to C16 and D16) are then rearranged according to RC2 to create 16 sub keys of 48 bits each. Thereafter, the bits are rearranged 4 at a time using the RC2bytes array of arrays. RC2byte contains 14 sub arrays (one for each 4 bits of the 56 bit sub keys). Each sub array contains 16 elements. Every four bits of a sub key are looked up in the corresponding array and the results are all added together. For example, if the first four bits of C1 are 0100 in binary, then the fourth element of RC2bytes [0] , 0x00010000 is added to the result. This has the result of moving the 2nd bit of C1 to the 16th bit of the result (some bit shifting is also applied at the end to put everything in the right place). Here is what the resulting K1 though K16 look like relative to C1 and D1 through C16 and D16. 0 0 0 0 0 0 0 0 3 28 15 6 21 10 2

0 16

7 27 20 13

0 34 44 55 49 37 52 0 50 46 54 40 33 36 0 14 17 11 24 0 23 19 12 1 5 8

4 26

0 45 56 35 41 51 59

0 48 53 43 60 38 57

Encrypting the Message - E The resulting 64 bits are then encrypted or decrypted using the 16 sub keys. This requires 16 steps, during which the left and right half of the 64 bit message is then again operated on. The operation comprises of taking 32 bits rearranging it according to E (which expands are from 32 to 48 bits), XORing with one of the 48 bit sub keys to produce a different 48 bits, then passing it through the S selection functions to get it back down to 32 bits, and finally rearranging through P. 0 0 0 0 0 0 0 0 0 3 4 5 6 7 8

0 11 12 13 14 15 16 0 19 20 21 22 23 24 0 27 28 29 30 31 32 0 31 32 0 7 8 1 2 3 4

9 10 11 12

0 15 16 17 18 19 20 0 23 24 25 26 27 28

Decryption of this method works in the inverse of the encryption process accessed at http://www.tropsoft.com/strongenc/des.htm Applications that use the method It is widely applicable for securing classified data for governments like the United States. It is also used in electronic devices such as the VLSI Chip packages. It is also used to protect data in the financial services industry. In addition to that, it is used in site-to-site VPNs in the form of connecting geographically different offices. Disadvantages The 56 bit key is too small. It is highly vulnerable to brute force at an average of four and a half days. Advantages

The algorithm is secure in practice It is resistant to cryptanalytic attack It can be validated Cryptographic security is not dependent upon algorithmic secrecy

3. Advanced encryption Standard Announced as the federal information processing standard in 2001 by the United States government, this method is an extension of the data encryption standard. It is also known as the Rijndael. It is used widely used. It was developed by Belgian cryptographers, Joan Daemen and Vincent Rijmen. Strategies and mechanisms It is made up of three block ciphers; each uses a basic 128 bit block size although recently there are bigger sizes. The size of the key increases the number of potential patterns that can be created. It also uses a symmetric key. This means that both the sender and the receiver must know and use the same key. How it works The AES algorithms essentially take basic data and change it into a code known as cipher text. This makes it extremely difficult to descramble the contents, which is why AES has been Teflon-coated. AES actually transforms basic data in the form of text or integers into cipher text (an unknown code). AES has three approved key length: 128 bits, 192 bits, and 256 bits and it works in the following way: an algorithm starts with a random number, in which the key and data encrypted with it are jumbled though rounds steps of mathematical processes. The key that is used to encrypt the number must also be used to decrypt it. The four rounds are called SubBytes, ShiftRows, MixColumns, and AddRoundKey. During SubBytes, a lookup table is used to control the substitution of each byte. The ShiftRows step

has a certain number of rows where each row of the state is shifted regularly by a particular offset, while leaving the first row unchanged. Each byte of the second row is shifted to the left, by an offset of one, each byte in the third row by an offset of two, and the fourth row by an offset of three. This shifting is applied to all three key lengths, though there is a variance for the 256-bit block where the first row is unchanged, the second row offset by one, the third by three, and the fourth by four. The MixColumns step is a mixing operation using an invertible linear transformation in order to combine the four bytes in each column. The four bytes are taken as input and generated as output. In the fourth round, the AddRoundKey derives round keys from Rijndaels key schedule, and adds the round key to each byte of the state. Each round key gets added by combining each byte of the state with the corresponding byte from the round key. Lastly, these steps are repeated again for a fifth round, but do not include the MixColumns step, http://hubpages.com/hub/How-AES-Encryption-Works

Applications that use the method This method is applicable in disk encryption like BitLocker, file systems such as Windows XP and archives and compression tools such as WinZip. Advantages It is reliable It is easy to implement It is very secure It is fast and cheap

Disadvantages It needs a secure channel to transmit messages A new key has to be created with each message that needs to be sent

All the above stated encryption methods are widely used although DES is obsolete in theory. They all have their advantages and disadvantages hence a debate as to which one is the best method. This debate stems from the fact that they are similar in some ways and totally the opposite of each other in some ways. Of the three methods, AES is an extension of DES hence the similarities but public key cryptography is different and serves a different purpose. DES and AES are similar in that they both use symmetric key algorithms. They are also fast and efficient. However, their key lengths differ. The two are best for encrypting data. On the other hand public key cryptography uses asymmetric key algorithms which are mainly used to achieve encryption. This is much slower than DES and AES. It is mainly used for key management and a number of protocols, (Schneier 1996). Public key cryptography is more secure than AES and DES because AES is based on the belief that future attacks will not be effective. With public key cryptography, there is question over who authorizes the symmetric key. In conclusion, the ideal cryptography would be the one that fully utilizes the strengths of all methods and eliminates the weaknesses. There is hope that with all the modern research and development, in the near future data and information will be more secure than ever before through state of the art cryptography methods that will puzzle hackers just like the Egyptian pyramids puzzles modern day architects.

You might also like