As chaves Tink consistem em material e metadados de chave. A seção sobre inclusão de tags em textos criptografados explica como o Tink também permite prefixar textos criptografados com uma string de cinco bytes derivada do ID, o que significa que a chave também depende do ID que ela tem no conjunto de chaves.
Portanto, para criar uma nova chave, a Tink usa os seguintes ingredientes:
- Um objeto que descreve todos os parâmetros
- O ID da nova chave
- Aleatoriedade uniforme e criptograficamente segura
Exemplo
Considere, por exemplo, o HMAC (RFC 2014). Para especificar um cálculo de HMAC no Tink, é preciso fornecer as seguintes informações, que formam a chave:
- O material da chave do HMAC.
- A função hash a ser usada.
- O comprimento de saída do HMAC (consulte RFC 2014, seção 5), se truncado.
- O prefixo específico do Tink com o qual cada tag começa (se houver).
Os parâmetros correspondentes consistem em todas essas informações, exceto o material da chave. Mais especificamente:
- O comprimento do material da chave.
- A função hash usada.
- O comprimento de saída do HMAC, se truncado.
- Uma especificação de como encontrar o prefixo do ID.
Junto com o material da chave e o ID, isso forma a chave completa. Veja também mais detalhes sobre como esses objetos são implementados.