A non-transitory computer-readable storage medium for storing a verification program which causes a first system including a plurality of computers to perform processing, the processing comprising:
- in response to an original document, calculating an original document's first hash value by using the original document;
- in response to the calculating of the first hash value, calculating an original document's second hash value by using the first hash value;
- in response to obtaining of a first modified version document modified from the original document, calculating a first modified version's first hash value by using the first modified version document;
- in response to the calculating of the first modified version's first hash value, calculating a first modified version's second hash value that is a hash value obtained by combining the first modified version's first hash value and the original document's second hash value;
- in response to obtaining of a second modified version document by modifying the first modified version document, calculating a second modified version's first hash value that is a hash value for the second modified version document;
- in response to the calculating of the second modified version's, calculating a second modified version's second hash value that is a hash value obtained by combining the second modified version's first hash value and the first modified version's second hash value;
- and
- transmitting information to a second computer system to cause the second computer to verify the validity of the second modified version's second hash value by using the information, the information including the original document's first hash value, the first modified version's first hash value, and the second modified version's first hash value.