Fingerprints of Electronic Files: Precision Tests

Requires a Wolfram Notebook System

Interact on desktop, mobile and cloud with the free Wolfram CDF Player or other Wolfram Language products.

Requires a Wolfram Notebook System

Edit on desktop, mobile and cloud with any Wolfram Language product.

Information stored in digital documents can be lost during transmission, migration, or when the storage medium breaks down or is corrupted. To ensure that the data has not changed, you can perform a digital fingerprint procedure. A digital fingerprint is unique to each document and verifies the integrity (unaltered state) of the document.

[more]

This Demonstration presents some results of using modified cellular automata to generate fingerprints of electronic documents based on their contents. It uses the binary data of the document as the initial condition. The result of the computation is a fingerprint of the document, in this case 128 bits. The good rules are able to detect different files. On 100 different files, the goal is to have 100 different fingerprints.

[less]

Contributed by: Daniel Arndt Alves (March 2011)
Open content licensed under CC BY-NC-SA


Snapshots


Details

At every step, a cellular automaton rule is applied to the current state, and cells are dropped according to the compression technique being used. Each compression technique is subjected to three tests. In each test, the fingerprints of two related files are compared. If the fingerprints are distinct, the technique passes the test. The three tests use two random files, two files differing in only 2 bits, and two files differing in only 1 bit, respectively.

More information about Document Management Systems: Wikipedia.

This Demonstration was created during the New Kind of Science Summer School 2008 (NKS|Online) in Burlington, Vermont.



Feedback (field required)
Email (field required) Name
Occupation Organization
Note: Your message & contact information may be shared with the author of any specific Demonstration for which you give feedback.
Send