Supriya Ghosh (Editor)

Xor encrypt xor

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

The xor-encrypt-xor (XEX) is a (tweakable) mode of operation of a block cipher. XEX-based tweaked-codebook mode with ciphertext stealing (XTS mode) is one of the more popular modes of operation for whole-disk encryption.

XEX is a common form of key whitening.

XEX is part of some smart card proposals.

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 (the "two-key Even-Mansour scheme"), which they suggested was perhaps the simplest possible block cipher: XOR the plaintext with a prewhitening key, apply a publicly known unkeyed permutation (in practice, a pseudorandom permutation) to the result, and then XOR a postwhitening key to the permuted result to produce the final ciphertext.

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 (with respect to the cipher used) within one data unit (e.g., a disk sector) 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 (XTS mode).

References

Xor-encrypt-xor Wikipedia