From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
First publishedApril 1999
Cipher detail
Key sizes374 bits
Block sizes64 bits
Best public cryptanalysis
The differential cryptanalysis of Borisov, et al. requires about 213 chosen plaintexts or about 222 known plaintexts

In cryptography, MultiSwap is a block cipher/MAC created by Microsoft in 1999 as part of its Windows Media DRM service (WMDRM). Microsoft's internal name for the algorithm is not publicly known; it was dubbed MultiSwap in a 2001 report on WMDRM under the pseudonym "Beale Screamer".

The cipher has a block size of 64 bits, but the two halves are processed nearly separately. All arithmetic operations are performed mod 232. In the encryption process, each half block has added to it the output of the previous half block. Next it undergoes 5 multiplications by odd 32-bit subkeys, each followed by a swap of its 16-bit halves. Then a final subkey is added to it. As the half blocks use separate subkeys, and the multipliers are forced to be odd, the total key size is 374 bits. The name MultiSwap comes from the cipher's multiplications and swaps. WMDRM uses this algorithm only as a MAC, never for encryption.

Borisov, et al. applied a multiplicative form of differential cryptanalysis to break MultiSwap.


  • Beale Screamer (18 October 2001). "Microsoft's Digital Rights Management Scheme – Technical Details". Retrieved 20 September 2007.
  • Nikita Borisov, Monica Chew, Rob Johnson, David Wagner. "Cryptanalysis of MultiSwap". Retrieved 9 October 2010.
  • Borisov, Chew, Johnson, Wagner (February 2002). Multiplicative Differentials (PDF/PostScript). 9th International Workshop on Fast Software Encryption (FSE '02). Leuven: Springer-Verlag. pp. 17&ndash, 33. Retrieved 3 January 2007.