XENLOOK C2PAVérifier

Media trust · step 2/5

Fingerprint — the work's own print

A short fingerprint number that finds ‘similar pictures’ without copying the whole file. It differs from a watermark (which is embedded): a fingerprint is for reading and searching.

Experimental · not for legal attribution

There is no public table for match rate or false-accept rate across original, resize, JPEG, crop, and rotation. Until that measurement exists, the fingerprint is an auxiliary re-identification signal, in progress.

Plain words · exact workings

The work’s fingerprint (fingerprinting)

A technique that turns a photo into a short number tag to find look-alike photos. Nothing is planted in the file.

The simple story

  1. Like a person’s fingerprint, each photo gets a ‘look number’.
  2. If the number stays close after the photo is shrunk or compressed a little, we treat it as ‘the same family’.
  3. By contrast, a method where one changed dot gives a completely different number (sha256) is for exact byte matches.

How it works, exactly

  1. Perceptual hash (pHash/aHash/PDQ): shrink the picture into a summary → brightness pattern → a string of 0/1 bits.
  2. The number of bits that differ between two photos = distance (Hamming). The smaller the distance, the more alike.
  3. Cryptographic hash (sha256): a fingerprint of every byte in the file. Change one bit and the whole number changes.
  4. Even if the watermark is removed, the fingerprint can still find ‘similar files’ in the archive.

Easy to mix up

  • It does not change the file. It is for reading and searching.
  • It does not replace proof of ownership (signatures, NFTs).

In the demo, press ‘Fingerprint · hash check’ to see sha256 and aHash. The original and ε have different sha256 values, but their aHash can be close.

Demo · see it for yourself

Samples you can try

Play photos, video, music and documents, take their fingerprint number, and check their Content Credentials (C2PA). XenLook holds thousands of character media files; these few samples were picked to show the idea and the check simply.

Everyday photo (real)

Everyday photo (real)

A real photo from the XenLook character media library. Take its fingerprint.

distance = number of differing bits

The fleet holds thousands of photos and videos. The demo uses a few to show the idea.

  • 2 Fingerprint
  • 1 Watermark

What XenLook does

Once the pixels are final, we compute a fingerprint with PDQ/imagehash and use it for the registry, duplicate checks and search. The venv imagehash path already works.

Open source we use (commercial use OK)

Meta PDQ (MIT) · imagehash (BSD-2). We don't use Chromaprint (LGPL).

XMSE status (this step)

ItemStatusNote
imagehash measuredAppliedphash engine PASS
Registry linkAppliedfleet·pilot JSONL + lookup API
Video vPDQPreparingframe batches