function HmacSha256(const Key, Data: TBytes): TSHA256Digest;
function HkdfSha256(const InputKeyMaterial, Salt, Info: TBytes;
OutputLength: Integer): TBytes;
function ConstantTimeBytesEqual(const Left, Right: TBytes): Boolean;
procedure SecureClearBytes(var Data: TBytes);
HmacSha256 implementa a autenticação RFC 2104 sobre arrays de bytes arbitrários e aplica hash em chaves maiores que o tamanho de bloco do SHA-256 antes de construir as pad interna e externa
HkdfSha256 implementa a derivação extract-and-expand da RFC 5869 com comprimentos de saída de zero a 8160 bytes
ConstantTimeBytesEqual compara conteúdo e comprimento sem retornar na primeira divergência, enquanto SecureClearBytes limpa o armazenamento gerenciado de bytes antes de liberá-lo