HKDF.

Der Schritt zwischen „zufälligen Bytes in einem Link“ und „dem Schlüssel, der die Notiz öffnet“.

// definition

HKDF (HMAC-based Key Derivation Function) leitet kryptografische Schlüssel aus Eingabematerial ab. BurnPony gibt ihr den 32-Byte-Fragmentschlüssel — optional kombiniert mit einer PBKDF2-gestreckten Passphrase — plus einen zufälligen 16-Byte-Salt und eine feste Kontextzeichenkette und erhält den AES-256-GCM-Schlüssel heraus.

Was es ist

Ableitung bringt Disziplin. Die Bytes in deinem Link werden nie direkt als Verschlüsselungsschlüssel verwendet; sie sind Eingabematerial, gebunden durch den Salt und einen versionsspezifischen Kontext, sodass Schlüssel aus einem Zweck oder einer Formatversion nicht mit einem anderen verwechselt werden können.

Warum es wichtig ist

Sie ist zudem der saubere Knotenpunkt für die Passphrase-Funktion: ohne Passphrase verarbeitet HKDF den Fragmentschlüssel allein; mit einer wird die gestreckte Passphrase eingemischt — ein Ableitungspfad, zwei Stärkestufen, keine Sonderfälle im Format.

// in BurnPony Die Kontextzeichenkette ist für den v1-Umschlag versioniert, und dieselbe Ableitung läuft identisch im Swift der App und in der WebCrypto des Viewers — gegen gemeinsame Testvektoren verifiziert, denn dass das eine versiegelt und das andere öffnet, funktioniert nur, wenn sie exakt übereinstimmen.

Verwandte Begriffe

Häufige Fragen.

Warum nicht den Fragmentschlüssel direkt verwenden?

Direkte Verwendung würde das Linkformat für immer an die Chiffre binden und keinen Platz lassen, um Salt, Passphrase oder eine Version zu verankern. HKDF gibt jeder Notiz einen ordentlich abgeleiteten Schlüssel und dem Format Raum, sich weiterzuentwickeln.

Wozu dient der Salt?

Es sind 16 frische Zufallsbytes, offen im Umschlag gespeichert, die sicherstellen, dass der abgeleitete Schlüssel pro Notiz einzigartig ist, selbst in ungünstigen Szenarien — eine übliche doppelte Absicherung, die nichts kostet.

Hol dir BurnPony

Kostenlose selbstzerstörende verschlüsselte Notizen für iPhone und Android. Empfänger brauchen nur einen Browser. Keine Konten, kein Tracking.