|
Compy 0.2.0
A lightweight RTSP 1.0 server library for embedded systems
|
SRTP cryptographic operations provided by the compiled backend. More...
#include <crypto.h>
Data Fields | |
| void(* | aes128_ecb )(const uint8_t key[16], const uint8_t in[16], uint8_t out[16]) |
| AES-128 ECB encrypt a single 16-byte block. | |
| void(* | aes128_ctr )(const uint8_t key[16], const uint8_t iv[16], uint8_t *data, size_t len) |
| AES-128 CTR mode encrypt/decrypt in-place. | |
| void(* | hmac_sha1 )(const uint8_t *key, size_t key_len, const uint8_t *data, size_t data_len, uint8_t out[20]) |
| HMAC-SHA1. | |
| int(* | random_bytes )(uint8_t *buf, size_t len) |
| Fill buffer with cryptographically secure random bytes. | |
SRTP cryptographic operations provided by the compiled backend.
These primitives are used to implement SRTP (RFC 3711) without depending on libsrtp.
| void(* Compy_CryptoSrtpOps::aes128_ctr) (const uint8_t key[16], const uint8_t iv[16], uint8_t *data, size_t len) |
AES-128 CTR mode encrypt/decrypt in-place.
The 16-byte IV has a counter at bytes [14..15] starting from 0. Used for SRTP payload encryption (called per-packet).
| void(* Compy_CryptoSrtpOps::aes128_ecb) (const uint8_t key[16], const uint8_t in[16], uint8_t out[16]) |
AES-128 ECB encrypt a single 16-byte block.
Used for key derivation (srtp_kdf).
| void(* Compy_CryptoSrtpOps::hmac_sha1) (const uint8_t *key, size_t key_len, const uint8_t *data, size_t data_len, uint8_t out[20]) |
HMAC-SHA1.
Writes 20-byte digest to out.
| int(* Compy_CryptoSrtpOps::random_bytes) (uint8_t *buf, size_t len) |
Fill buffer with cryptographically secure random bytes.
Returns 0 on success, -1 on failure.