MULTI-LEVEL FILE DIGESTS
3 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
50 Claims
-
1-20. -20. (canceled)
-
21. A method comprising:
-
determining block digests for blocks of data of an electronic file; encrypting the blocks of data of the electronic file; determining a super digest for the electronic file from the block digests; storing the encrypted blocks of data of the electronic file in a body of an encrypted electronic file; and storing the super digest in an encrypted portion of a header of the encrypted electronic file. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A tangible computer-readable medium having computer-executable instructions stored thereon, execution of which, by a computing device, causes the computing device to perform a method comprising:
-
determining block digests for blocks of data of an electronic file; encrypting the blocks of data of the electronic file; determining a super digest for the electronic file from the block digests; storing the encrypted blocks of data of the electronic file in a body of an encrypted electronic file; and storing the super digest in an encrypted portion of a header of the encrypted electronic file. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A system comprising:
-
a tangible computer-readable medium configured to store; a determining module configured to determine block digests for blocks of data of an electronic file, an encrypting module configured to encrypt the blocks of data of the electronic file, a determining module configured to determine a super digest for the electronic file from the block digests, a storing module configured to store the encrypted blocks of data of the electronic file in a body of an encrypted electronic file, and a storing module configured to store the super digest in an encrypted portion of a header of the encrypted electronic file; and one or more processors configured to process the modules.
-
-
40. A method comprising:
-
receiving a block-encrypted file having corresponding block digests and a super digest; comparing the super digest to a known valid super digest value to determine whether any errors exist within the block-encrypted file; comparing one or more of the block digests to known valid block digest values to determine whether any errors exist within corresponding blocks of the block-encrypted file, based on a determination that errors exist within the block encrypted file; and identifying one or more of the corresponding blocks having errors. - View Dependent Claims (41, 42, 43, 44)
-
-
45. A tangible computer-readable medium having computer-executable instructions stored thereon, execution of which, by a computing device, causes the computing device to perform a method comprising:
-
receiving a block-encrypted file having corresponding block digests and a super digest; comparing the super digest to a known valid super digest value to determine whether any errors exist within the block-encrypted file; comparing one or more of the block digests to known valid block digest values to determine whether any errors exist within corresponding blocks of the block-encrypted file, based on a determination that errors exist within the block encrypted file; and identifying one or more of the corresponding blocks having errors. - View Dependent Claims (46, 47, 48, 49)
-
-
50. A system comprising:
-
a tangible computer-readable medium configured to store; a receiving module configured to receive a block-encrypted file having corresponding block digests and a super digest, a comparing module configured to compare the super digest to a known valid super digest value to determine whether any errors exist within the block-encrypted file, a comparing module configured to compare one or more of the block digests to known valid block digest values to determine whether any errors exist within corresponding blocks of the block-encrypted file, based on a determination that errors exist within the block encrypted file, and an identifying module configured to identify one or more of the corresponding blocks having errors; and one or more processors configured to process the modules.
-
Specification