A method of protecting an electronic document, the method comprising
dividing an original document into data blocks; generating a
corresponding hash value for each data block; generating a corresponding
hash value for a group of data blocks (GOB); generating a hash tree
structure based on the corresponding hash values for the data blocks and
for the GOB; calculating a hash value of a root node of the hash tree
structure, the root node having no parent in the hash tree structure;
signing the hash value of the root node; and generating auxiliary
authentication data; wherein said auxiliary authentication data enables
authentication of portions of the electronic document based on a
reconstruction of the hash tree structure.