DTFP („Deterministic Timestamp FingerPrint“) erzeugt einen Entstehungsprint: einen Nachweis, dass eine Datei mit exakt diesem Inhalt an einem bestimmten Tag existiert hat. Mit einem Ed25519-Schlüsselpaar (K2) kannst du den Entstehungsprint signieren. Damit belegt die Signatur nicht nur, dass eine Datei existiert hat, sondern auch, wer sich zu ihr bekennt (Urheber). Ohne Schlüssel bleibt der Print anonym.
🔑🗝️ K2 (optional) für Signatur
Print erzeugen
– noch kein Print –
📘 Worum geht es – und wie wendet man es an?
DTFP1: ein mathematisch verketteter Nachweis, dass eine Datei mit exakt diesem Inhalt an einem bestimmten Tag existiert hat – ohne dass die Datei selbst hochgeladen, veröffentlicht oder aus der Hand gegeben werden muss. Aus der Datei wird nur ein Fingerabdruck (Hash) berechnet.
Die Formelkette – Schritt für Schritt
C₀ = SHA256( "DTFP1|H|D|N" ) ← Commitment (bindet Inhalt + Tag + Nonce)
B = drand-Zufallswert der Runde r ← öffentlich, nicht vorhersagbar
F = SHA256( "DTFP1|D|B" ) ← Tagesfingerprint
P = SHA256( C₀ + F ) ← DER ENTSTEHUNGSPRINT
(optional)
sig_P = Ed25519( "DTFP1-SIG-P|" + P ) ← Signatur über den Print
| Zeichen | Bedeutung |
|---|---|
| H | SHA-256-Hash der Datei – der eigentliche Inhalts-Fingerabdruck |
| D | Datum (UTC-Tag, YYYY-MM-DD) |
| N | Nonce – 16 zufällige Bytes, verhindern Vorausberechnung |
| C₀ | Commitment: verpflichtet auf Inhalt + Tag, verrät aber H nicht |
| B | Öffentliche Zufallszahl des drand-Beacons (League of Entropy) |
| F | Tagesfingerprint – verankert das Datum in öffentlicher Zufälligkeit |
| P | Entstehungsprint – der finale, kompakte Beweiswert |
| sig_P | Optionale Ed25519-Signatur über P – beweist Urheberschaft |
Anwendung
-
(Optional) Ed25519-Schlüssel bereitstellen.
Den[K2:…]-Block (erzeugt auf der Schlüsselseite) in das Blockfeld einfügen, Masterpasswort eingeben und mit 🔓 Schlüssel entschlüsseln öffnen. Der öffentliche Schlüssel landet im Print, der private bleibt bei dir. Ohne diesen Schritt bleibt der Print anonym. -
Datei wählen und „Print erzeugen" klicken.
Die Datei verlässt dein Gerät nicht. Alles passiert lokal im Browser. Erzeugt werdenH, N, C₀, B, F, Pplus Metadaten – und, falls ein Schlüssel aktiv ist,sig_P. -
„Als .dtfp.json speichern".
Diese JSON-Datei ist der Beweisbeleg. Sie enthält keine Inhaltsdaten, sondern nur Hashes, Datum, Beacon-Referenz und – falls signiert – den Public Key plus Signatur. -
Beides aufbewahren – den Dreiklang.
Originaldatei+<name>.dtfp.json+Beacon-Runde r. Der Private Key gehört nicht zum Beweisbeleg – den brauchst du nur, wenn du später erneut signieren willst.
Was die Signatur zusätzlich beweist
- Mit Signatur: Der Inhaber des Private Keys hat sich zu genau diesem Print bekannt – Urheberschaft ist belegt, sofern der Public Key vertrauenswürdig einem Namen zugeordnet ist.
- Ohne Signatur: Nur der Existenz- und Zeitnachweis – anonym, aber trotzdem manipulationssicher.
- Wichtig: Public Key ≠ Identität. Für echte Namensbindung müsste der Public Key zusätzlich veröffentlicht oder in einem Web-of-Trust verankert werden.
Was der Print beweist – und was nicht
- Er beweist: Eine Datei mit diesem Hash existierte spätestens zum Beacon-Zeitpunkt. Nachträgliche Veränderungen fallen auf.
- Er beweist nicht: wer Rechteinhaber ist oder dass die Datei rechtlich wirksam ist.
- Wichtig: Das Feld
Dist nur ein UTC-Tag. Die minutengenaue Zeitbindung entsteht überB(Beacon-Zeit + Runde).
[K2:…]-Block wird
ausschließlich lokal im Browser entschlüsselt; Masterpasswort und Private Key werden
nirgendwo gespeichert.