Jump to content

Mercy (cipher)

From Wikipedia, the free encyclopedia
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Mercy
General
DesignersPaul Crowley
First publishedApril 2000[1]
Derived fromWAKE
Cipher detail
Key sizes128 bits
Block sizes4096 bits
StructureFeistel network
Rounds6
Best public cryptanalysis
Scott Fluhrer's differential attack breaks the cipher.[2]

In cryptography, Mercy is a tweakable block cipher designed by Paul Crowley for disk encryption.

The block size is 4096 bits—unusually large for a block cipher, but a standard disk sector size. Mercy uses a 128-bit secret key, along with a 128-bit non-secret tweak for each block. In disk encryption, the sector number would be used as a tweak. Mercy uses a 6-round Feistel network structure with partial key whitening. The round function uses a key-dependent state machine which borrows some structure from the stream cipher WAKE, with key-dependent S-boxes based on the Nyberg S-boxes also used in AES.

Scott Fluhrer has discovered a differential attack that works against the full 6 rounds of Mercy. This attack can even be extended to a seven-round variant.[2]

References

  1. ^ Paul Crowley, Mercy: A fast large block cipher for disk sector encryption. In Bruce Schneier, editor, Fast Software Encryption: 7th International Workshop, volume 1978 of Lecture Notes in Computer Science, pages 49-63, New York City, USA, April 2000. Springer-Verlag.
  2. ^ a b Scott Fluhrer (2 April 2006). Cryptanalysis of the Mercy Block Cipher (PostScript). Fast Software Encryption Workshop 2001. Royal Park Hotel Nikko, Yokohama, Japan: Cisco Systems, Inc. Retrieved 15 December 2006.