Coda Distributed File System
Classes | Macros | Functions | Variables
encr_aes_ccm.c File Reference
#include <arpa/inet.h>
#include <netinet/in.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <rpc2/secure.h>
#include "aes.h"
#include "grunt.h"
Include dependency graph for encr_aes_ccm.c:

Classes

struct  aes_ccm_ctx
 

Macros

#define AFLAG   (1 << 6) /* do we have additional authenticated data */
 
#define NONCELEN   11 /* fixed nonce size, 3 byte salt + 8 byte IV */
 
#define PARM_L   (AES_BLOCK_SIZE - 1 - NONCELEN) /* size of length field == 4 */
 
#define CCMflags(len)   ((((len / 2) - 1) << 3) | (PARM_L - 1))
 

Functions

void aes_ccm_tweak (void *ctx, uint32_t version)
 

Variables

struct secure_encr secure_ENCR_AES_CCM_8
 
struct secure_encr secure_ENCR_AES_CCM_12
 
struct secure_encr secure_ENCR_AES_CCM_16
 

Macro Definition Documentation

◆ AFLAG

#define AFLAG   (1 << 6) /* do we have additional authenticated data */

◆ CCMflags

#define CCMflags (   len)    ((((len / 2) - 1) << 3) | (PARM_L - 1))

◆ NONCELEN

#define NONCELEN   11 /* fixed nonce size, 3 byte salt + 8 byte IV */

◆ PARM_L

#define PARM_L   (AES_BLOCK_SIZE - 1 - NONCELEN) /* size of length field == 4 */

Function Documentation

◆ aes_ccm_tweak()

void aes_ccm_tweak ( void *  ctx,
uint32_t  version 
)

Variable Documentation

◆ secure_ENCR_AES_CCM_12

struct secure_encr secure_ENCR_AES_CCM_12
Initial value:
= {
.name = "ENCR-AES-CCM-12",
.encrypt_init = init12,
.encrypt_free = release,
.encrypt = encrypt,
.decrypt_init = init12,
.decrypt_free = release,
.decrypt = decrypt,
.min_keysize = bytes(128) + 3,
.max_keysize = bytes(256) + 3,
.blocksize = AES_BLOCK_SIZE,
.iv_len = 8,
.icv_len = 12,
}
#define AES_BLOCK_SIZE
Definition: aes.h:26
#define bytes(bits)
Definition: grunt.h:29
void encrypt(char *buff)
Definition: rijndael-mikescott.c:267
void decrypt(char *buff)
Definition: rijndael-mikescott.c:314
#define SECURE_ENCR_AES_CCM_12
Definition: secure.h:61

◆ secure_ENCR_AES_CCM_16

struct secure_encr secure_ENCR_AES_CCM_16
Initial value:
= {
.name = "ENCR-AES-CCM-16",
.encrypt_init = init16,
.encrypt_free = release,
.encrypt = encrypt,
.decrypt_init = init16,
.decrypt_free = release,
.decrypt = decrypt,
.min_keysize = bytes(128) + 3,
.max_keysize = bytes(256) + 3,
.blocksize = AES_BLOCK_SIZE,
.iv_len = 8,
.icv_len = 16,
}
#define SECURE_ENCR_AES_CCM_16
Definition: secure.h:62

◆ secure_ENCR_AES_CCM_8

struct secure_encr secure_ENCR_AES_CCM_8
Initial value:
= {
.name = "ENCR-AES-CCM-8",
.encrypt_init = init8,
.encrypt_free = release,
.encrypt = encrypt,
.decrypt_init = init8,
.decrypt_free = release,
.decrypt = decrypt,
.min_keysize = bytes(128) + 3,
.max_keysize = bytes(256) + 3,
.blocksize = AES_BLOCK_SIZE,
.iv_len = 8,
.icv_len = 8,
}
#define SECURE_ENCR_AES_CCM_8
Definition: secure.h:60