Data Encryption Standard (DES) or DES Encryption Algorithm is a technique by which a message is scrambled into an indecipherable stream of bits for transmission. Data Encryption Standard also called DES is a block cipher which forms a code for secret encryption. DES was selected by the National Bureau of Standards as official Federal Information Processing Standard [FIPS] for the United States in 1976. Various modes of operation of DES Encryption Algorithm are: ECB, OFB, CBC, and CFB.

ECB and OFB, changing one 64-bit plaintext block causes the corresponding cipher text block to be altered, but the other cipher text blocks aren’t. CBC and CFB, change in one cipher text block affects all subsequent cipher text blocks. Useful for authentication purposes. Can be used to produce a message authentication codes (MAC).

Features of DES Encryption Algorithm

  • DES is the Financial Industry Standard used for encryption and encryption of accounting and money transfer information exchanged electronically.
  • DES employs a fixed length block cipher and key of 64 bit and 56 bit long.
  • This standard has many applications in day-to-day life as in credit card swipe machines, automatic teller machines etc.
  • It is a popular standard used in symmetric key encryption method.
  • DES is a standard for unclassified applications.
  • Security of data relies solely on key. Data can be recovered only by using exactly the same key used to encipher it.
  • A block to be enciphered is subjected to an Initial Permutation (IP), then to a complex, key-dependent computation (involving cipher function f and key schedule KS), and then to a final permutation that is the inverse of the initial permutation IP-1.
  • Key consists of 64 binary digits (0’s or 1’s) of which 56 are randomly generated and used directly by the algorithm. The other 8 bits are used for error detection. The 8 bits that aren’t used are set to “make the parity of each 8 bit byte odd” i.e. there is an odd number of 1’s in each byte. Transforms a 64 bit binary value into a unique 64-bit binary value based on a 56-digit variable.
  • Deciphering is the reverse of enciphering