Collaboration diagram for HMAC:

Typedefs

typedef struct AVHMAC AVHMAC
 

Enumerations

enum  AVHMACType { AV_HMAC_MD5, AV_HMAC_SHA1 }
 

Functions

AVHMACav_hmac_alloc (enum AVHMACType type)
 Allocate an AVHMAC context. More...
 
void av_hmac_free (AVHMAC *ctx)
 Free an AVHMAC context. More...
 
void av_hmac_init (AVHMAC *ctx, const uint8_t *key, unsigned int keylen)
 Initialize an AVHMAC context with an authentication key. More...
 
void av_hmac_update (AVHMAC *ctx, const uint8_t *data, unsigned int len)
 Hash data with the HMAC. More...
 
int av_hmac_final (AVHMAC *ctx, uint8_t *out, unsigned int outlen)
 Finish hashing and output the HMAC digest. More...
 
int av_hmac_calc (AVHMAC *ctx, const uint8_t *data, unsigned int len, const uint8_t *key, unsigned int keylen, uint8_t *out, unsigned int outlen)
 Hash an array of data with a key. More...
 

Detailed Description

Typedef Documentation

typedef struct AVHMAC AVHMAC

Definition at line 37 of file hmac.h.

Enumeration Type Documentation

enum AVHMACType
Enumerator
AV_HMAC_MD5 
AV_HMAC_SHA1 

Definition at line 32 of file hmac.h.

Function Documentation

AVHMAC* av_hmac_alloc ( enum AVHMACType  type)

Allocate an AVHMAC context.

Parameters
typeThe hash function used for the HMAC.

Definition at line 46 of file hmac.c.

Referenced by av_hmac_calc(), and ff_srtp_set_crypto().

int av_hmac_calc ( AVHMAC ctx,
const uint8_t data,
unsigned int  len,
const uint8_t key,
unsigned int  keylen,
uint8_t out,
unsigned int  outlen 
)

Hash an array of data with a key.

Parameters
ctxThe HMAC context
dataThe data to hash
lenThe length of the data, in bytes
keyThe authentication key
keylenThe length of the key, in bytes
outThe output buffer to write the digest into
outlenThe length of the out buffer, in bytes
Returns
The number of bytes written to out, or a negative error code.

Definition at line 131 of file hmac.c.

Referenced by av_hmac_calc().

int av_hmac_final ( AVHMAC ctx,
uint8_t out,
unsigned int  outlen 
)

Finish hashing and output the HMAC digest.

Parameters
ctxThe HMAC context
outThe output buffer to write the digest into
outlenThe length of the out buffer, in bytes
Returns
The number of bytes written to out, or a negative error code.

Definition at line 113 of file hmac.c.

Referenced by av_hmac_calc(), ff_srtp_decrypt(), and ff_srtp_encrypt().

void av_hmac_free ( AVHMAC ctx)

Free an AVHMAC context.

Parameters
ctxThe context to free, may be NULL

Definition at line 79 of file hmac.c.

Referenced by av_hmac_calc(), and ff_srtp_free().

void av_hmac_init ( AVHMAC ctx,
const uint8_t key,
unsigned int  keylen 
)

Initialize an AVHMAC context with an authentication key.

Parameters
ctxThe HMAC context
keyThe authentication key
keylenThe length of the key, in bytes

Definition at line 87 of file hmac.c.

Referenced by av_hmac_calc(), ff_srtp_decrypt(), and ff_srtp_encrypt().

void av_hmac_update ( AVHMAC ctx,
const uint8_t data,
unsigned int  len 
)

Hash data with the HMAC.

Parameters
ctxThe HMAC context
dataThe data to hash
lenThe length of the data, in bytes

Definition at line 108 of file hmac.c.

Referenced by av_hmac_calc(), ff_srtp_decrypt(), and ff_srtp_encrypt().