Separação de domínio
Marcar cada uso de uma primitiva criptográfica com um rótulo único, para que a saída de um contexto nunca possa se passar pela de outro.
Um protocolo costuma recorrer à mesma função de hash ou KDF para muitas tarefas: chaves de cifragem, chaves de MAC, assinaturas, hashes de transcrição. Sem rótulos, um valor calculado para uma finalidade pode acabar sendo válido para outra, e atacantes são bons em achar essas coincidências. O remédio é misturar uma string fixa que nomeia a finalidade antes de fazer qualquer hash ou derivação.
O HKDF tem o parâmetro info exatamente para isso, o TLS 1.3 prefixa todo rótulo com "tls13 ", o cSHAKE do SHA-3 aceita uma string de personalização e o derive_key do BLAKE3 exige uma string de contexto que a documentação pede que seja globalmente única. Custa alguns bytes e elimina uma classe de bugs quase impossível de enxergar depois que o estrago está feito.