- All-or-nothing transform
In
cryptography , an all-or-nothing transform (AONT), also known as an all-or-nothing protocol, is an encryption mode which allows the data to be understood only if all of it is known. AONTs are not encryption, but frequently make use of symmetric ciphers and may be applied before encryption. In exact terms, "an AONT is an unkeyed, invertible, randomized transformation, with the property that it is hard to invert unless all of the output is known." [http://theory.lcs.mit.edu/~boyko/aont-oaep.html]Algorithms
The original AONT, the "package transform", was described by Ronald L. Rivest in [http://theory.lcs.mit.edu/~cis/pubs/rivest/fusion.ps All-Or-Nothing Encryption and The Package Transform] . Simply put, Rivest proposed encrypting each
plaintext block with a random key to form the "pseudomessage", then hashing each block andXOR ing all the hashes together with the random key to generate the last block of the pseudomessage. The blocks are also XOR'd with an incrementing counter to prevent duplicate blocks encrypting identically. This results in a "package" that cannot be partially decoded.The package transform can use a cipher in any mode, creating the package ECB transform, package CBC transform, etc.
In 1999, Victor Boyko proposed another AONT using OAEP, provably secure under the
random oracle model .Applications
AONTs can be used to increase the strength of encryption without increasing the key size. This may be useful to, for example, secure secrets while complying with government cryptography export regulations. AONTs help prevent several attacks.
See also
*
Secret sharing References
* Rivest, Ronald R. [http://theory.lcs.mit.edu/~cis/pubs/rivest/fusion.ps All-Or-Nothing Encryption and The Package Transform] .
* Boyko, Victor. [http://theory.lcs.mit.edu/~cis/cis-exposure.html On the Security Properties of OAEP as an All-or-nothing Transform]
Wikimedia Foundation. 2010.