Triple Data Encryption Standard (Triple DES or 3DES) is a symmetric block cipher-based cryptography standard that uses fixed length keys with three passes of the DES algorithm. As a symmetric cryptographic scheme, DES implementations rely on the same secret keys shared between the sender and the recipient.
As we’ll see later, Triple DES was developed as a way to prevent man in the middle attacks. Let’s take a look at Triple DES — and we’ll start first with DES.
Encryption keys need to be protected against a confidentiality, integrity or availability (CIA) compromise common in a Man in the Middle attack. As such, multiple rounds of encryption and decryption rounds are implemented with the Data Encryption Standard (DES) algorithm.
In order to reduce the dependence on memory, DES offers an online approach to cryptographic implementation: applying encryption and decryption on the fly, such that the keys are not required to be stored during the transmission.
DES is a block cipher-based scheme, which refers to the memoryless algorithmic implementation to transform large plaintext data units into blocks of cipher text for encryption — and vice versa for decryption. This process is repeated multiple times for pairwise generation of plaintext-ciphertext blocks.
Developed in 1977, the Data Encryption Standard has been the world de facto choice for block cipher-based cryptosystem implementations between 1980 to 2004. Specifically, DES is based on the Feistel cipher design model that uses the substitution and permutation operations alternatively as shown here:
The Feistel block uses multiple rounds functions between a data block and a subkey, with output returning a block of the same size as the input. The first half of the input block is encrypted with the subkey, and the output undergoes an XOR function with the remaining half of the data block. By repeating this process multiple times, the data is encrypted and the mathematical functions are invertible. This means that the same block process or the key schedule can be inverted to decrypt a ciphertext.
Let’s take a look at the DES cryptography operations:
Now, let’s turn to 3Des. Here is a description of the Triple-DES algorithm implementation:
The Encryption scheme can be denoted as:
And the Decryption scheme can be denoted as:
Where:
The DES block cipher method is particularly suitable for low-memory hardware processing units — the same code and circuit implementation can be used for both the encryption and decryption process.
The Triple-DES scheme was introduced in 1978, only a year later. It uses three DES iterations as the encryption and decryption process. This scheme uses a 168-bit key, offers improved security — but is slower than the standard DES implementation.
In 1999, a variation of Triple DES was introduced which uses the same keys for all three passes of the DES (and inverse-DES) algorithm. This is known as the 2-TDES algorithm and uses a key length of 112 bits.
The idea behind using three DES passes instead of two is designed to prevent Man in the Middle attacks. In a setting with Double-DES implementation, an adversary could read the encrypted output of the DES passes at each end of the stream. They could then use a brute-force attack to find relationships between the block set and the mathematical operator. Keys that produce the same result in either direction could also be identified as possible solutions to the DES implementation. This is known as the classical collision attack — it’s possibly faster than using a brute-force attack.
According to NIST (publication 800-67), here are the specs:
An alternative is the AES algorithm that is as strong as Triple DES — but more efficient with its 128 bit block length and key length of 128-192-256 bits. You’ll also want to consider post-quantum cryptography and overall key management.
See an error or have a suggestion? Please let us know by emailing ssg-blogs@splunk.com.
This posting does not necessarily represent Splunk's position, strategies or opinion.
The Splunk platform removes the barriers between data and action, empowering observability, IT and security teams to ensure their organizations are secure, resilient and innovative.
Founded in 2003, Splunk is a global company — with over 7,500 employees, Splunkers have received over 1,020 patents to date and availability in 21 regions around the world — and offers an open, extensible data platform that supports shared data across any environment so that all teams in an organization can get end-to-end visibility, with context, for every interaction and business process. Build a strong data foundation with Splunk.