Classes | Macros | Functions | Variables
e_aesccm.c File Reference
#include <openssl/aead.h>
#include <assert.h>
#include <openssl/cpu.h>
#include <openssl/cipher.h>
#include <openssl/err.h>
#include <openssl/mem.h>
#include "../fipsmodule/cipher/internal.h"
Include dependency graph for e_aesccm.c:

Go to the source code of this file.

Classes

struct  aead_aes_ccm_ctx
 
struct  ccm128_context
 
struct  ccm128_state
 

Macros

#define EVP_AEAD_AES_CCM_MAX_TAG_LEN   16
 

Functions

static int aead_aes_ccm_bluetooth_8_init (EVP_AEAD_CTX *ctx, const uint8_t *key, size_t key_len, size_t tag_len)
 
static int aead_aes_ccm_bluetooth_init (EVP_AEAD_CTX *ctx, const uint8_t *key, size_t key_len, size_t tag_len)
 
static void aead_aes_ccm_cleanup (EVP_AEAD_CTX *ctx)
 
static int aead_aes_ccm_init (EVP_AEAD_CTX *ctx, const uint8_t *key, size_t key_len, size_t tag_len, unsigned M, unsigned L)
 
static int aead_aes_ccm_open_gather (const EVP_AEAD_CTX *ctx, uint8_t *out, const uint8_t *nonce, size_t nonce_len, const uint8_t *in, size_t in_len, const uint8_t *in_tag, size_t in_tag_len, const uint8_t *ad, size_t ad_len)
 
static int aead_aes_ccm_seal_scatter (const EVP_AEAD_CTX *ctx, uint8_t *out, uint8_t *out_tag, size_t *out_tag_len, size_t max_out_tag_len, const uint8_t *nonce, size_t nonce_len, const uint8_t *in, size_t in_len, const uint8_t *extra_in, size_t extra_in_len, const uint8_t *ad, size_t ad_len)
 
static int ccm128_compute_mac (const struct ccm128_context *ctx, struct ccm128_state *state, const AES_KEY *key, uint8_t *out_tag, size_t tag_len, const uint8_t *in, size_t len)
 
static int ccm128_encrypt (const struct ccm128_context *ctx, struct ccm128_state *state, const AES_KEY *key, uint8_t *out, const uint8_t *in, size_t len)
 
static int ccm128_init_state (const struct ccm128_context *ctx, struct ccm128_state *state, const AES_KEY *key, const uint8_t *nonce, size_t nonce_len, const uint8_t *aad, size_t aad_len, size_t plaintext_len)
 
static int CRYPTO_ccm128_decrypt (const struct ccm128_context *ctx, const AES_KEY *key, uint8_t *out, uint8_t *out_tag, size_t tag_len, const uint8_t *nonce, size_t nonce_len, const uint8_t *in, size_t len, const uint8_t *aad, size_t aad_len)
 
static int CRYPTO_ccm128_encrypt (const struct ccm128_context *ctx, const AES_KEY *key, uint8_t *out, uint8_t *out_tag, size_t tag_len, const uint8_t *nonce, size_t nonce_len, const uint8_t *in, size_t len, const uint8_t *aad, size_t aad_len)
 
static int CRYPTO_ccm128_init (struct ccm128_context *ctx, const AES_KEY *key, block128_f block, ctr128_f ctr, unsigned M, unsigned L)
 
static size_t CRYPTO_ccm128_max_input (const struct ccm128_context *ctx)
 
const EVP_AEADEVP_aead_aes_128_ccm_bluetooth (void)
 
const EVP_AEADEVP_aead_aes_128_ccm_bluetooth_8 (void)
 
 OPENSSL_STATIC_ASSERT (sizeof(((EVP_AEAD_CTX *) NULL) ->state) >=sizeof(struct aead_aes_ccm_ctx), "AEAD state is too small")
 

Variables

static const EVP_AEAD aead_aes_128_ccm_bluetooth
 
static const EVP_AEAD aead_aes_128_ccm_bluetooth_8
 

Macro Definition Documentation

◆ EVP_AEAD_AES_CCM_MAX_TAG_LEN

#define EVP_AEAD_AES_CCM_MAX_TAG_LEN   16

Definition at line 268 of file e_aesccm.c.

Function Documentation

◆ aead_aes_ccm_bluetooth_8_init()

static int aead_aes_ccm_bluetooth_8_init ( EVP_AEAD_CTX ctx,
const uint8_t key,
size_t  key_len,
size_t  tag_len 
)
static

Definition at line 423 of file e_aesccm.c.

◆ aead_aes_ccm_bluetooth_init()

static int aead_aes_ccm_bluetooth_init ( EVP_AEAD_CTX ctx,
const uint8_t key,
size_t  key_len,
size_t  tag_len 
)
static

Definition at line 397 of file e_aesccm.c.

◆ aead_aes_ccm_cleanup()

static void aead_aes_ccm_cleanup ( EVP_AEAD_CTX ctx)
static

Definition at line 321 of file e_aesccm.c.

◆ aead_aes_ccm_init()

static int aead_aes_ccm_init ( EVP_AEAD_CTX ctx,
const uint8_t key,
size_t  key_len,
size_t  tag_len,
unsigned  M,
unsigned  L 
)
static

Definition at line 287 of file e_aesccm.c.

◆ aead_aes_ccm_open_gather()

static int aead_aes_ccm_open_gather ( const EVP_AEAD_CTX ctx,
uint8_t out,
const uint8_t nonce,
size_t  nonce_len,
const uint8_t in,
size_t  in_len,
const uint8_t in_tag,
size_t  in_tag_len,
const uint8_t ad,
size_t  ad_len 
)
static

Definition at line 357 of file e_aesccm.c.

◆ aead_aes_ccm_seal_scatter()

static int aead_aes_ccm_seal_scatter ( const EVP_AEAD_CTX ctx,
uint8_t out,
uint8_t out_tag,
size_t *  out_tag_len,
size_t  max_out_tag_len,
const uint8_t nonce,
size_t  nonce_len,
const uint8_t in,
size_t  in_len,
const uint8_t extra_in,
size_t  extra_in_len,
const uint8_t ad,
size_t  ad_len 
)
static

Definition at line 323 of file e_aesccm.c.

◆ ccm128_compute_mac()

static int ccm128_compute_mac ( const struct ccm128_context ctx,
struct ccm128_state state,
const AES_KEY key,
uint8_t out_tag,
size_t  tag_len,
const uint8_t in,
size_t  len 
)
static

Definition at line 201 of file e_aesccm.c.

◆ ccm128_encrypt()

static int ccm128_encrypt ( const struct ccm128_context ctx,
struct ccm128_state state,
const AES_KEY key,
uint8_t out,
const uint8_t in,
size_t  len 
)
static

Definition at line 180 of file e_aesccm.c.

◆ ccm128_init_state()

static int ccm128_init_state ( const struct ccm128_context ctx,
struct ccm128_state state,
const AES_KEY key,
const uint8_t nonce,
size_t  nonce_len,
const uint8_t aad,
size_t  aad_len,
size_t  plaintext_len 
)
static

Definition at line 92 of file e_aesccm.c.

◆ CRYPTO_ccm128_decrypt()

static int CRYPTO_ccm128_decrypt ( const struct ccm128_context ctx,
const AES_KEY key,
uint8_t out,
uint8_t out_tag,
size_t  tag_len,
const uint8_t nonce,
size_t  nonce_len,
const uint8_t in,
size_t  len,
const uint8_t aad,
size_t  aad_len 
)
static

Definition at line 255 of file e_aesccm.c.

◆ CRYPTO_ccm128_encrypt()

static int CRYPTO_ccm128_encrypt ( const struct ccm128_context ctx,
const AES_KEY key,
uint8_t out,
uint8_t out_tag,
size_t  tag_len,
const uint8_t nonce,
size_t  nonce_len,
const uint8_t in,
size_t  len,
const uint8_t aad,
size_t  aad_len 
)
static

Definition at line 242 of file e_aesccm.c.

◆ CRYPTO_ccm128_init()

static int CRYPTO_ccm128_init ( struct ccm128_context ctx,
const AES_KEY key,
block128_f  block,
ctr128_f  ctr,
unsigned  M,
unsigned  L 
)
static

Definition at line 74 of file e_aesccm.c.

◆ CRYPTO_ccm128_max_input()

static size_t CRYPTO_ccm128_max_input ( const struct ccm128_context ctx)
static

Definition at line 87 of file e_aesccm.c.

◆ EVP_aead_aes_128_ccm_bluetooth()

const EVP_AEAD* EVP_aead_aes_128_ccm_bluetooth ( void  )

Definition at line 419 of file e_aesccm.c.

◆ EVP_aead_aes_128_ccm_bluetooth_8()

const EVP_AEAD* EVP_aead_aes_128_ccm_bluetooth_8 ( void  )

Definition at line 445 of file e_aesccm.c.

◆ OPENSSL_STATIC_ASSERT()

OPENSSL_STATIC_ASSERT ( sizeof(((EVP_AEAD_CTX *) NULL) ->state) >=sizeof(struct aead_aes_ccm_ctx ,
"AEAD state is too small"   
)

Variable Documentation

◆ aead_aes_128_ccm_bluetooth

const EVP_AEAD aead_aes_128_ccm_bluetooth
static
Initial value:

Definition at line 402 of file e_aesccm.c.

◆ aead_aes_128_ccm_bluetooth_8

const EVP_AEAD aead_aes_128_ccm_bluetooth_8
static
Initial value:

Definition at line 428 of file e_aesccm.c.

aead_aes_ccm_bluetooth_init
static int aead_aes_ccm_bluetooth_init(EVP_AEAD_CTX *ctx, const uint8_t *key, size_t key_len, size_t tag_len)
Definition: e_aesccm.c:397
aead_aes_ccm_seal_scatter
static int aead_aes_ccm_seal_scatter(const EVP_AEAD_CTX *ctx, uint8_t *out, uint8_t *out_tag, size_t *out_tag_len, size_t max_out_tag_len, const uint8_t *nonce, size_t nonce_len, const uint8_t *in, size_t in_len, const uint8_t *extra_in, size_t extra_in_len, const uint8_t *ad, size_t ad_len)
Definition: e_aesccm.c:323
aead_aes_ccm_cleanup
static void aead_aes_ccm_cleanup(EVP_AEAD_CTX *ctx)
Definition: e_aesccm.c:321
aead_aes_ccm_open_gather
static int aead_aes_ccm_open_gather(const EVP_AEAD_CTX *ctx, uint8_t *out, const uint8_t *nonce, size_t nonce_len, const uint8_t *in, size_t in_len, const uint8_t *in_tag, size_t in_tag_len, const uint8_t *ad, size_t ad_len)
Definition: e_aesccm.c:357
aead_aes_ccm_bluetooth_8_init
static int aead_aes_ccm_bluetooth_8_init(EVP_AEAD_CTX *ctx, const uint8_t *key, size_t key_len, size_t tag_len)
Definition: e_aesccm.c:423


grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:11