Meet-In-The-Middle (MITM)

MITM is a #known plaintext attack on an #encryption scheme by obtaining the ciphertext in between two encryption algorithms, and comparing the encrypted output from the plaintext and decrypted output from the final ciphertext. This process could be further understood with the following equation:

$$ X = E_{K1}(P) = D_{K2}(C) $$

Where:

  • \(X\) is the ciphertext produced in between two encryption algorithms
  • \(E\) is the encryption algorithm
  • \(D\) is the decryption algorithm
  • \(K\) is the subkey used
  • \(P\) is the plaintext
  • \(C\) is the final ciphertext

It is done by encrypting P with all possible key \(K1\) and store them into a table \(E_{K1}(P)\). Then compute \(D_{K2}(C)\) for each possible \(K2\) until a match to \(X\) is found in the table.

It utilises the Feistel Cipher Structure# characteristic where ciphertext could be decrypted as the same way which plaintext is encrypted, only with a reverse order of subkeys.

Links to this page
#security #cryptography