**Introduction**

The Data Encryption Standard (DES) algorithm is a block cipher that transforms 64-bit data blocks under a 64-bit secret key, by means of permutation and substitution. It is officially described in FIPS PUB 46. A new encryption algorithm, Triple DES was proposed as an alternate to DES.

**Overview**

DES uses a 56 bit key and maps a 64 bit input block of plaintext onto a 64 bit output block of cipher-text. The basic structure of DES encryption is as follows: The 64 bit input is first permuted, and then subjected to sixteen rounds, each of which takes the 64 bit output of the previous round and a 48 bit per-round key and produces a 64 bit output. The per-round keys are different 48 bit subsets of the 56 bit key. After the round, the 64 bit output is subjected to the inverse initial permutation. DES decryption is essentially done by running this process backwards. A single DES encryption round involves halving the 64 bit input, mangling the right half and the per-round key together and XOR ing this with the left half, the result is the new right half while the new left half is simply the old right half. A decryption round first mangles the left half of the input and the per-round key together and XOR s this with the right half of the input to produce the next left half, the new right half being the left half of the input. It should be noted that the mangling process is not required to be reversible for the method to work.