HMAC-DRBG (EverCrypt_DRBG.h)

This API is:

  • agile
  • multiplexing: portable C (all); SHAEXT (SHA2-256)
  • stateful

Possible values for the agility argument (Hacl_Spec.h) :


#define Spec_Hash_Definitions_SHA2_224 0
#define Spec_Hash_Definitions_SHA2_256 1
#define Spec_Hash_Definitions_SHA2_384 2
#define Spec_Hash_Definitions_SHA2_512 3
#define Spec_Hash_Definitions_SHA1 4
#define Spec_Hash_Definitions_MD5 5
#define Spec_Hash_Definitions_Blake2S 6
#define Spec_Hash_Definitions_Blake2B 7

Supported values for the agility argument: SHA1; SHA2_256; SHA2_384; SHA2_512.

Note

As always, the source is authoritative and you should check is_supported_alg in EverCrypt.HMAC.fsti.

Agile API

Non-agile API