Loading...
Searching...
No Matches
AES-CTR
libavutil » Crypto and Hashing

## Macros

#define | AES_CTR_KEY_SIZE (16)
#define | AES_CTR_IV_SIZE (8)

## Functions

struct AVAESCTR * | av_aes_ctr_alloc (void)
| Allocate an AVAESCTR context.
int | av_aes_ctr_init (struct AVAESCTR *a, const uint8_t *key)
| Initialize an AVAESCTR context.
void | av_aes_ctr_free (struct AVAESCTR *a)
| Release an AVAESCTR context.
void | av_aes_ctr_crypt (struct AVAESCTR *a, uint8_t *dst, const uint8_t *src, int size)
| Process a buffer using a previously initialized context.
const uint8_t * | av_aes_ctr_get_iv (struct AVAESCTR *a)
| Get the current iv.
void | av_aes_ctr_set_random_iv (struct AVAESCTR *a)
| Generate a random iv.
void | av_aes_ctr_set_iv (struct AVAESCTR *a, const uint8_t *iv)
| Forcefully change the 8-byte iv.
void | av_aes_ctr_set_full_iv (struct AVAESCTR *a, const uint8_t *iv)
| Forcefully change the "full" 16-byte iv, including the counter.
void | av_aes_ctr_increment_iv (struct AVAESCTR *a)
| Increment the top 64 bit of the iv (performed after each frame)

## Detailed Description

## Macro Definition Documentation

## AES_CTR_KEY_SIZE

#define AES_CTR_KEY_SIZE (16)

Definition at line 35 of file aes_ctr.h.

## AES_CTR_IV_SIZE

#define AES_CTR_IV_SIZE (8)

Definition at line 36 of file aes_ctr.h.

## Function Documentation

## av_aes_ctr_alloc()

struct AVAESCTR * av_aes_ctr_alloc | ( | void |  | ) |

Allocate an AVAESCTR context.

## av_aes_ctr_init()

int av_aes_ctr_init | ( | struct AVAESCTR * | a,
|  | const uint8_t * | key
| ) |  |

Initialize an AVAESCTR context.

Parameters

  a | The AVAESCTR context to initialize
  key | encryption key, must have a length of AES_CTR_KEY_SIZE

## av_aes_ctr_free()

void av_aes_ctr_free | ( | struct AVAESCTR * | a | ) |

Release an AVAESCTR context.

Parameters

  a | The AVAESCTR context

## av_aes_ctr_crypt()

void av_aes_ctr_crypt | ( | struct AVAESCTR * | a,
|  | uint8_t * | dst,
|  | const uint8_t * | src,
|  | int | size
| ) |  |

Process a buffer using a previously initialized context.

Parameters

  a | The AVAESCTR context
  dst | destination array, can be equal to src
  src | source array, can be equal to dst
  size | the size of src and dst

## av_aes_ctr_get_iv()

const uint8_t * av_aes_ctr_get_iv | ( | struct AVAESCTR * | a | ) |

Get the current iv.

## av_aes_ctr_set_random_iv()

void av_aes_ctr_set_random_iv | ( | struct AVAESCTR * | a | ) |

Generate a random iv.

## av_aes_ctr_set_iv()

void av_aes_ctr_set_iv | ( | struct AVAESCTR * | a,
|  | const uint8_t * | iv
| ) |  |

Forcefully change the 8-byte iv.

## av_aes_ctr_set_full_iv()

void av_aes_ctr_set_full_iv | ( | struct AVAESCTR * | a,
|  | const uint8_t * | iv
| ) |  |

Forcefully change the "full" 16-byte iv, including the counter.

## av_aes_ctr_increment_iv()

void av_aes_ctr_increment_iv | ( | struct AVAESCTR * | a | ) |

Increment the top 64 bit of the iv (performed after each frame)