I was going through the OpenSSL cipher algorithms list. I found these two:
What does that exactly mean? What is the difference between EDE and EDE3? What are the key-size and blocksize of the algorithms?
Information Security Stack Exchange is a question and answer site for information security professionals. It only takes a minute to sign up.Sign up to join this community
I checked https://www.openssl.org/docs/man1.0.2/man1/enc.html and found the following:
des-ede-cbc Two key triple DES EDE in CBC mode des-ede3-ofb Three key triple DES EDE in OFB mode
So, EDE is two-key triple DES, and EDE3 is three-key triple DES. See https://crypto.stackexchange.com/questions/63449/what-is-the-keyspace-of-2-key-3des for the differences between two-key triple DES and three-key triple DES.
What does that exactly mean?
des is Data Encryption Standard, the symmetric encryption algorithm
ede is encrypt-decrypt-encrypt, the mode or sequence used to carry out the des encryption process.
cbc is block cipher mode, meaning the bits are encrypted in blocks as opposed to a stream.
ofb is output feedback mode, uses the output of one iteration of encryption to encrypt the next.
What is the difference between EDE and EDE3? What are the key-size and blocksize of the algorithms?
With ede you encrypt with key 1, decrypt with key 2, and then encrypt again with key 1. According to RFC 2420 about the use of triple DES in the Point to Point Protocol:
In DES-EDE3-CBC, an Initialization Vector (IV) is XOR'd with the first 64-bit (8 octet) plaintext block (P1). The keyed DES function is iterated three times, an encryption (E) followed by a decryption (D) followed by an encryption (E), and generates the ciphertext (C1) for the block. Each iteration uses an independent
key: k1, k2 and k3.
The secret DES-EDE3 key shared between the communicating parties is effectively 168-bits long. This key consists of three independent 56-bit quantities used by the DES algorithm. Each of the three 56-bit subkeys is stored as a 64-bit (8 octet) quantity, with the least significant bit of each octet used as a parity bit.
Though you see these being offered by OpenSSL, they are more for compatibility reasons, other stronger cipher suites should be used.