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 l'autenticazione RFC 2104 su array di byte arbitrari e sottopone a hash le chiavi più lunghe della dimensione del blocco SHA-256 prima di costruire i pad interno ed esterno
HkdfSha256 implementa la derivazione extract-and-expand RFC 5869 con lunghezze di output da zero a 8160 byte
ConstantTimeBytesEqual confronta sia il contenuto sia la lunghezza senza restituire al primo valore non corrispondente, mentre SecureClearBytes cancella l'archiviazione di byte gestita prima di rilasciarla