Multi-level file digests for electronic files are disclosed. A top level
digest represents a single digest for the associated electronic file.
Lower level digests represent digests for portions of the associated
electronic file. The top level digest is derived from the lower level
digests. The top level digest is useful for facilitating rapid comparison
to determine whether electronic files are the same. In one embodiment,
electronic files are encrypted with a block encryption scheme, and
digests are efficiently calculated and stored on a block-by-block basis.
Advantageously, when modifications to an encrypted electronic file
occurs, only those modified blocks need to be processed to undergo
decryption and re-encryption to determine the appropriate digest.