86UDIF_EXPORT_API void udif_kdf_hash(uint8_t* output,
size_t outlen,
const uint8_t* input,
size_t inplen,
const uint8_t* name,
size_t namelen);
102UDIF_EXPORT_API void udif_kdf_hash_custom(uint8_t* output,
size_t outlen,
const uint8_t* input,
size_t inplen,
const uint8_t* name,
size_t namelen,
const uint8_t* custom,
size_t custlen);
122 const uint8_t* ikm,
size_t ikmlen,
const uint8_t* transcript,
size_t transcriptlen,
bool initiator);
144 const uint8_t* kemsecret,
size_t kemseclen,
const uint8_t* sessionid,
size_t sessidlen, uint64_t epoch,
bool initiator);
UDIF_EXPORT_API void udif_kdf_session_keys(uint8_t *txkey, uint8_t *txnonce, uint8_t *rxkey, uint8_t *rxnonce, uint8_t *state, const uint8_t *ikm, size_t ikmlen, const uint8_t *transcript, size_t transcriptlen, bool initiator)
Derive session keys from handshake material.
UDIF_EXPORT_API void udif_kdf_ratchet(uint8_t *txkey, uint8_t *txnonce, uint8_t *rxkey, uint8_t *rxnonce, uint8_t *newstate, const uint8_t *prevstate, const uint8_t *kemsecret, size_t kemseclen, const uint8_t *sessionid, size_t sessidlen, uint64_t epoch, bool initiator)
Derive ratchet keys from KEM exchange.
UDIF_EXPORT_API void udif_kdf_object_digest(uint8_t *digest, const udif_object *obj)
Compute object digest.
UDIF_EXPORT_API void udif_kdf_hash_custom(uint8_t *output, size_t outlen, const uint8_t *input, size_t inplen, const uint8_t *name, size_t namelen, const uint8_t *custom, size_t custlen)
Compute a domain-separated hash with custom data.
Definition kdf.c:21
UDIF_EXPORT_API void udif_kdf_anchor_digest(uint8_t *digest, const udif_anchor_record *anchor)
Compute anchor record digest.
UDIF_EXPORT_API void udif_kdf_transfer_digest(uint8_t *digest, const uint8_t *objserial, const uint8_t *txid, const uint8_t *toowner, uint64_t timestamp)
Compute transfer transaction digest.
UDIF_EXPORT_API void udif_kdf_capability_digest(uint8_t *digest, const udif_capability *cap)
Compute capability digest.
UDIF_EXPORT_API void udif_kdf_hash(uint8_t *output, size_t outlen, const uint8_t *input, size_t inplen, const uint8_t *name, size_t namelen)
Compute a domain-separated hash.
Definition kdf.c:9
UDIF_EXPORT_API void udif_kdf_session_id(uint8_t *sessionid, const uint8_t *localser, const uint8_t *remoteser, const uint8_t *ikm, size_t ikmlen)
Compute session identifier.
Anchor record.
Definition anchor.h:159
Capability token.
Definition capability.h:108
UDIF object container.
Definition object.h:148
UDIF Common Definitions and Protocol Configuration.
#define UDIF_EXPORT_API
The api export prefix.
Definition udifcommon.h:103