Authenticating printed paper documents and websites against a blockchain record
First Claim
1. A computer-implemented document integrity verification method, executable by a processor, the method comprising:
- receiving a digital document into a non-transitory computer readable medium;
identifying a first original integrity verification code (IVC) in the document;
generating a first baseline data sequence from the digital document, the first baseline data sequence having a first printable element and a final printable element following the first printable element of the first baseline data sequence, the first baseline data sequence excluding the first original IVC;
generating a first modified data sequence from the first baseline data sequence in accordance with a set of modification rules, the first modified data sequence having a first printable element and a final printable element following the first printable element of the first modified data sequence,wherein the first printable element of the first modified data sequence is identical to the first printable element of the first baseline data sequence,wherein the final printable element of the first modified data sequence is identical to the final printable element of the first baseline data sequence,wherein at least one unprintable element of the first baseline data sequence, between the first and final printable elements of the first baseline data sequence, is not within the first modified data sequence, so that the first modified data sequence is shorter than the first baseline data sequence, andwherein an IVC generated for the first modified data sequence will differ from an IVC generated for the first baseline data sequence;
generating a first verification IVC, wherein generating a first verification IVC comprises performing a one-way operation on the first modified data sequence, and wherein the modification rules render tampering of the digital document undetectable for the at least one unprintable element within the first baseline data sequence;
comparing at least a portion of the first verification IVC with at least a portion of the first original IVC; and
responsive to a match in the at least a portion of the first verification IVC and the at least a portion of the first original IVC, reporting no evidence of tampering of the portion of the document corresponding to the first baseline data sequence.
0 Assignments
0 Petitions
Accused Products
Abstract
A system and method are disclosed for rendering published documents tamper evident. Embodiments render classes of documents tamper evident with cryptographic level security or detect tampering events, where such security was previously unavailable, for example, in documents printed using common printers without special paper or ink. Embodiments enable proving the date of document content without the need for expensive third party archival, including documents held, since their creation, entirely in secrecy or in untrustworthy environments, such as on easily-altered, publicly-accessible internet sites. Embodiments can use a document'"'"'s prior registration date in a blockchain to establish a no-later-than date-of-existence for that document. Embodiments can extend the useful life of integrity verification algorithms, such as hash functions, even when applied to binary executable files. Embodiments can efficiently identify whether multiple document versions are substantially similar, even if they are not identical, thus potentially reducing storage space requirements.
40 Citations
20 Claims
-
1. A computer-implemented document integrity verification method, executable by a processor, the method comprising:
-
receiving a digital document into a non-transitory computer readable medium; identifying a first original integrity verification code (IVC) in the document; generating a first baseline data sequence from the digital document, the first baseline data sequence having a first printable element and a final printable element following the first printable element of the first baseline data sequence, the first baseline data sequence excluding the first original IVC; generating a first modified data sequence from the first baseline data sequence in accordance with a set of modification rules, the first modified data sequence having a first printable element and a final printable element following the first printable element of the first modified data sequence, wherein the first printable element of the first modified data sequence is identical to the first printable element of the first baseline data sequence, wherein the final printable element of the first modified data sequence is identical to the final printable element of the first baseline data sequence, wherein at least one unprintable element of the first baseline data sequence, between the first and final printable elements of the first baseline data sequence, is not within the first modified data sequence, so that the first modified data sequence is shorter than the first baseline data sequence, and wherein an IVC generated for the first modified data sequence will differ from an IVC generated for the first baseline data sequence; generating a first verification IVC, wherein generating a first verification IVC comprises performing a one-way operation on the first modified data sequence, and wherein the modification rules render tampering of the digital document undetectable for the at least one unprintable element within the first baseline data sequence; comparing at least a portion of the first verification IVC with at least a portion of the first original IVC; and responsive to a match in the at least a portion of the first verification IVC and the at least a portion of the first original IVC, reporting no evidence of tampering of the portion of the document corresponding to the first baseline data sequence. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer program embodied on a non-transitory computer executable medium and configured to be executed by a processor, the program comprising:
-
code for receiving a digital document into a non-transitory computer readable medium; code for receiving identifying a first original integrity verification code (IVC) in the document; code for receiving generating a first baseline data sequence from the digital document, the first baseline data sequence having a first printable element and a final printable element following the first printable element of the first baseline data sequence, the first baseline data sequence excluding the first original IVC; code for generating a first modified data sequence from the first baseline data sequence in accordance with a set of modification rules, the first modified data sequence having a first printable element and a final printable element following the first printable element of the first modified data sequence, wherein the first printable element of the first modified data sequence is identical to the first printable element of the first baseline data sequence, wherein the final printable element of the first modified data sequence is identical to the final printable element of the first baseline data sequence, wherein at least one unprintable element of the first baseline data sequence, between the first and final printable elements of the first baseline data sequence, is not within the first modified data sequence, so that the first modified data sequence is shorter than the first baseline data sequence, and wherein an IVC generated for the first modified data sequence will differ from an IVC generated for the first baseline data sequence; code for generating a first verification IVC, wherein generating a first verification IVC comprises performing a one-way operation on the first modified data sequence, and wherein the modification rules render tampering of the digital document undetectable for the at least one unprintable element within the first baseline data sequence; code for comparing at least a portion of the first verification IVC with at least a portion of the first original IVC; and code for responding to a match in the at least a portion of the first verification IVC and the at least a portion of the first original IVC, the code for responding reporting no evidence of tampering of the portion of the document corresponding to the first baseline data sequence responsive to a match. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification