Compy 0.2.0
A lightweight RTSP 1.0 server library for embedded systems
Loading...
Searching...
No Matches
Compy_CryptoSrtpOps Struct Reference

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.
 

Detailed Description

SRTP cryptographic operations provided by the compiled backend.

These primitives are used to implement SRTP (RFC 3711) without depending on libsrtp.

Field Documentation

◆ aes128_ctr

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).

◆ aes128_ecb

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).

◆ hmac_sha1

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.

◆ random_bytes

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.


The documentation for this struct was generated from the following file: