Le chiavi Tink sono composte sia dal materiale della chiave sia dai metadati. La sezione sul tagging dei testi criptati spiega come Tink consente anche di anteporre ai testi criptati una stringa di 5 byte derivata dall'ID, il che significa che la chiave dipende anche dall'ID che ha nel set di chiavi.
Pertanto, per creare una nuova chiave, Tink utilizza in generale i seguenti ingredienti:
- Un oggetto che descrive tutti i parametri.
- L'ID della nuova chiave
- Casualità uniforme e crittograficamente sicura
Esempio
Prendi in considerazione, ad esempio, HMAC (RFC 2014). Per specificare un calcolo HMAC in Tink, è necessario fornire le seguenti informazioni, che formano la chiave:
- Il materiale chiave di HMAC.
- La funzione hash da utilizzare.
- Lunghezza dell'output dell'HMAC (consulta RFC 2014, sezione 5), se troncata.
- Il prefisso specifico di Tink con cui inizia ogni tag (se presente).
I parametri corrispondenti sono costituiti da tutte queste informazioni, ad eccezione del materiale effettivo della chiave. Nello specifico:
- La lunghezza del materiale della chiave.
- La funzione hash utilizzata.
- La lunghezza dell'output dell'HMAC, se troncata.
- Una specifica di come trovare il prefisso dall'ID.
Insieme al materiale della chiave e all'ID, forma la chiave completa. Consulta anche ulteriori dettagli su come questi oggetti vengono implementati.