Preservation
Two questions, two tools
SHA-256 answers: has this file changed? It’s a hash function. It turns any file into a fixed-length checksum. One modified bit produces a completely different value. It says nothing about the author.
Ed25519 answers: who produced this, and has it been modified since? It’s a signature algorithm. With a private key you sign; with the matching public key anyone verifies. It adds origin on top of integrity.
Conflating them leads to overstating what you guarantee. A checksum is not a signature.
What a SHA-256 checksum gives you
It makes silent corruption detectable. That’s its only function, and it’s essential: without a checksum recorded on entry, a flipped bit on a disk goes unnoticed until the day you open the file, often years too late.
Its limit is that it doesn’t protect itself. If someone modifies the file and the checksum stored next to it, verification passes. A checksum protects against accident, not against an adversary.
What an Ed25519 signature adds
It binds content to a key. Verifying a signature establishes two things: the content hasn’t changed since signing, and it was signed by the holder of that specific key.
Two limits, worth stating plainly because overstating them is the real risk:
- It doesn’t say who owns the key. That requires key publication — an independent channel through which a third party can confirm the key fingerprint is yours.
- It doesn’t say when. A signature without third-party timestamping carries a self-declared date. To assert a date against a challenger, you need RFC 3161 timestamping.
Ed25519 is also fast, produces short keys and signatures, and can be verified in a few lines of code — which matters for preservation: a third party must be able to reimplement verification without your software.
What neither proves
Neither establishes that a certificate is still valid: a signature stays mathematically valid after revocation, only its state changed. That requires an online registry.
And neither proves the physical print in a buyer’s hands is the one described. No software can.
In practice
- Record a SHA-256 checksum as each file enters, and re-check it in campaigns.
- Store checksums somewhere other than only the folder they describe.
- Reserve signatures for documents that assert something: certificates, deposit manifests.
- Publish your public key fingerprint through an independent channel.
- Claim only what you prove: print the limits on the document rather than omitting them.
Obscura Flow computes SHA-256 checksums at import, signs certificates with Ed25519 over a canonical projection of the content, and explicitly prints what the signature does not establish — a document implying a guarantee it doesn’t carry is worth less than one carrying none.