English
Language : 

TM4C129CNCPDT Datasheet, PDF (994/1753 Pages) Texas Instruments – Tiva Microcontroller
Data Encryption Standard Accelerator (DES)
14
14.1
Data Encryption Standard Accelerator (DES)
The DES module provides hardware accelerated data encryption and decryption functions. The
module runs either the single DES or the triple DES (3DES) algorithm in compliance with the FIPS
46-3 standard and supports electronic codebook (ECB), cipher block chaining (CBC), and cipher
feedback (CFB) modes of operation. It does not support the output feedback (OFB) mode of operation
in hardware.
The purpose of the DES algorithm is to encrypt (encipher) or decrypt (decipher) binary coded
information. Encrypting data converts it to an unintelligible form called cipher text. Decrypting cipher
text converts the data back to its original form called plaintext. DES is a symmetrical algorithm in
that the encryption and decryption keys are identical. Each triple DES encrypt/decrypt operation is
a compound of DES encrypt and decrypt operations.
The DES accelerator includes the following main features:
■ DES/3DES encryption and decryption.
■ Feedback modes: ECB, CBC, CFB
■ Host interrupt or µDMA driven modes of operation. µDMA support for data and context in/result
out
■ Fully synchronous design
■ Internal wide-bus interface
DES Functional Description
The DES module is an efficient implementation of a DES block cipher. Block ciphers, as opposed
to stream ciphers, operate on blocks of plain text and cipher text. The DES block size is 8-byte. The
DES key consists of 64 binary digits, but only 56 bits are actually used directly by the algorithm.
The other 8 bits are used for error detection.
The 64-bit block of input data to be enciphered is initially permuted, then passed through 16 iterations
of a calculation that uses a cipher function and finally permutated to the inverse of the initial
permutation. At each of the 16 iterations, a 48-bit key computed from the 64-bit input key is applied
to one of the 32-bit sub-blocks of the 64-bit input block using the cipher function. The 48-bit key
value changes for each iteration. The result of the cipher function is a 32-bit sub-block, which is
concatenated with the second 32-bit input sub-block. The resulting 64-bit output block of each
iteration feeds back as the input of the next iteration. To decipher, it is only necessary to apply the
same algorithm to the enciphered message block, taking care that each iteration of the computation
will use the same 48-bit key which was used during enciphering.
The triple DES is the DES used three times in a row (also known as DES-EDE). It uses three keys
key1, key2 , and key3 , so that key length is 168 bits effective: a 64-bit block plaintext is encrypted
with key1 , decrypted with key2, and encrypted with key3, and a 64-bit ciphertext is decrypted with
key1 , encrypted with key2 , and decrypted with key3 .
There are three keying options defined in ANSI X9.52 for DES-EDE:
■ The three keys key1, key2, and key3 are independent.
■ key1 and key2 are independent, but key1 = key3
■ key1 = key2 = key3
994
June 18, 2014
Texas Instruments-Production Data