Xor–encrypt–xor


The xor–encrypt–xor is a mode of operation of a block cipher.

History

In 1984, to protect DES against exhaustive search attacks, Ron Rivest proposed DESX:
XOR a prewhitening key to the plaintext, encrypt the result with DES using a secret key, and then XOR a postwhitening key to the encrypted result to produce the final ciphertext.
In 1991, motivated by Rivest's DESX construction, Even and Mansour proposed a much simpler scheme, which they suggested was perhaps the simplest possible block cipher: XOR the plaintext with a prewhitening key, apply a publicly known unkeyed permutation to the result, and then XOR a postwhitening key to the permuted result to produce the final ciphertext.
Studying simple Even–Mansour style block ciphers gives insight into the security of Feistel ciphers and helps understand block cipher design in general.
Orr Dunkelman, Nathan Keller, and Adi Shamir later proved it was possible to simplify the Even–Mansour scheme even further and still retain the same provable security, producing the "single-key Even–Mansour scheme": XOR the plaintext with the key, apply a publicly known unkeyed permutation to the result, and then XOR the same key to the permuted result to produce the final ciphertext.
Rogaway used XEX to allow efficient processing of consecutive blocks within one data unit for whole-disk encryption.
Many whole-disk encryption systems – BestCrypt, dm-crypt, FreeOTFE, TrueCrypt, DiskCryptor, FreeBSD's geli, OpenBSD softraid disk encryption software, and Mac OS X Lion's FileVault 2 – support XEX-based tweaked-codebook mode with ciphertext stealing.