Patent ID: 7315866

Claim:
A method of protecting an electronic document, the method comprising: dividing an original document into one or more data blocks, each data block comprising one or more segments M 1 to M n ; grouping the one or more data blocks into one or more groups of blocks (GOB), each GOB comprising one or more data blocks B 1 to B t ; generating a corresponding hash value for each segment of each data block using a first incremental hash algorithm applied to the segments M 1 to M n of said each data block; generating a corresponding hash value for each data block of each GOB using a second commutative and incremental hash algorithm applied to the blocks B 1 to B t of said each GOB; generating a hash tree structure based on the corresponding hash values for the segments and the data blocks for each GOB; signing the hash value of a root node of each hash tree structure; and generating auxiliary authentication data; wherein said step of generating the auxiliary authentication data comprises identifying one or more selected blocks of one or more GOBs; identifying one or more selected segments for each selected block the selected segments being in a prioritized order such that if segment M r is a selected segment, then segments M 1 to M r−1 having a lower priority are also selected segments; wherein said auxiliary authentication data comprises an auxiliary hash value generated using said first incremental hash algorithm for segment M r+1 for each selected block for which r<n, and an auxiliary hash value generated using said second commutative and incremental hash algorithm for each selected GOB for which less than all blocks have been identified as selected blocks.