Convergent encryption, also known as content hash keying, was first mentioned by John Pettitt on the cypherpunks list in 1996, was used by Freenet and Mojo Nation in 2000, and was analyzed in a technical report by John Doceur et al. in 2002. Today it is used by at least Freenet, GNUnet, flud, Tahoe Least-Authority Filesystem, BitCasa, etc.

Convergent encryption is simply encrypting a file using a symmetric encryption key which is the secure hash of the plaintext of the file.

This has useful properties like allowing to deduplicate ciphertexts, but at the same time makes it vulnerable to confirmation-of-a-file attack and learn-partial-information attack. This attack and some mitigations have been proposed in Tahoe-LAFS mailing list entry in 2008.

history | show excerpt | excerpt history