Skip to main content
Encypher Logo

Encypher text fingerprint

A C2PA soft binding for text. The fingerprint is a SHA-256 digest of the visible text. Anyone can compute it, and a manifest repository can use it to find the C2PA Manifest for an exact copy of signed text.

Algorithm facts

Algorithm identifier (alg)
com.encypher.text.fingerprint.1
Soft binding type
Fingerprint
Media type
Text
Owner
Encypher Corporation

How to compute it

  1. Take the visible text as signed, before any Encypher marks or the embedded C2PA Manifest are added.
  2. Normalize it to Unicode Normalization Form C (NFC).
  3. Encode it as UTF-8.
  4. Compute the SHA-256 digest.

In the c2pa.soft-binding assertion, the value is the 32-byte digest, stored as a CBOR byte string in a single block whose scope is empty, meaning the whole text.

Test vectors

Test vectors for the Encypher text fingerprint
InputSHA-256 hex
hello worldb94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
café (precomposed U+00E9, or e followed by combining U+0301; NFC makes them identical)850f7dc43910ff890f8879c0ed26fe697c93a067ad93a7d50f466a7028a9bf4e

Matching

The fingerprint matches exact copies only. Any change to the visible text, including one space, a punctuation mark, or a change of quote style, produces a different value. For excerpts and copies whose embedded manifest was removed, Encypher-signed text also carries the Encypher text watermark, com.encypher.text.watermark.1.

Questions

Questions about this algorithm: c2pa@encypher.com.