Tink-Schlüssel bestehen sowohl aus Schlüsselmaterial als auch aus Metadaten. Im Abschnitt zum Taggen von Geheimtexten wird erklärt, wie Tink es ermöglicht, Geheimtexten auch einen 5-Byte-String voranzustellen, der von der ID abgeleitet ist. Dies bedeutet, dass der Schlüssel auch von der ID im Schlüsselsatz abhängt.
Daher verwendet Tink zum Erstellen eines neuen Schlüssels im Allgemeinen die folgenden Elemente:
- Ein Objekt, das alle Parameter beschreibt
- Die ID des neuen Schlüssels
- Einheitliche, kryptografisch sichere Zufälligkeit
Beispiel
Nehmen wir beispielsweise HMAC (RFC 2014). Um eine HMAC-Berechnung in Tink anzugeben, müssen die folgenden Informationen bereitgestellt werden, die den Schlüssel bilden:
- Das Schlüsselmaterial von HMAC.
- Die zu verwendende Hash-Funktion.
- Die Ausgabelänge des HMAC (siehe RFC 2014, Abschnitt 5) – falls abgeschnitten.
- Das Tink-spezifische Präfix, mit dem jedes Tag beginnt (falls vorhanden).
Die entsprechenden Parameter bestehen aus allen diesen Informationen mit Ausnahme des eigentlichen Schlüsselmaterials. Noch spezifischer:
- Die Länge des Schlüsselmaterials.
- Die verwendete Hash-Funktion.
- Die Ausgabelänge des HMAC – falls abgeschnitten.
- Eine Angabe dazu, wie das Präfix der ID ermittelt wird.
Zusammen mit dem Schlüsselmaterial und der ID bildet dies den vollständigen Schlüssel. Weitere Informationen zur Implementierung dieser Objekte