Zero-Preserving Cipher Mode
In Cryptography, there is commonly a demand for complete hiding of any information about the plaintext, given only the ciphertext. In contrast, when using disk-encryption or wire-transmission, it would be space- and bandwidth-saving to have longer blocks of zeroes stay zeroes to enable compression or sparse files.
While it would be unfeasible to construct a cipher algorithm in a way that "does not touch" the zeroes, or such a design would most probably introduce other, unwanted weaknesses, it is possible to use a well-known cipher in a mode that
e := E( p, k ) (+) E( 0, k )
The pro is that the method is simple enough to be well-analyzed for not introducing weaknesses, if the underlying cipher´s avalanche is sufficient - the con is that it needs two cipher calls per block to encrypt (but that second one can independently run in another thread/process/core/CPU or be easily pre-calculated).
Back to: Cryptography