45 #ifndef SRTP_CRYPTO_TYPES_H
46 #define SRTP_CRYPTO_TYPES_H
55 #define SRTP_NULL_CIPHER 0
64 #define SRTP_AES_ICM_128 1
73 #define SRTP_AES_ICM_192 4
82 #define SRTP_AES_ICM_256 5
90 #define SRTP_AES_GCM_128 6
98 #define SRTP_AES_GCM_256 7
106 #define SRTP_NULL_AUTH 0
114 #define SRTP_HMAC_SHA1 3
err_status_t cipher_output(cipher_t *c, uint8_t *buffer, int num_octets_to_output)
Sets a buffer to the keystream generated by the cipher.
err_status_t cipher_init(cipher_t *cipher, const uint8_t *key)
Initialized a cipher to use a particular key. May be invoked more than once on the same cipher.
err_status_t cipher_encrypt(cipher_t *cipher, void *buf, unsigned int *len)
Encrypts a buffer with a given cipher.
err_status_t cipher_dealloc(cipher_t *cipher)
Deallocates a cipher.
err_status_t cipher_set_iv(cipher_t *cipher, void *iv)
Sets the initialization vector of a given cipher.
err_status_t cipher_type_alloc(cipher_type_t *ctype, cipher_t **cipher, unsigned key_len)
Allocates a cipher of a particular type.