Example program to test AES-GCM functionality. Used for a workshop

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

cipher_base_t Struct Reference

cipher_base_t Struct Reference

Base cipher information. More...

#include <cipher.h>

Data Fields

cipher_id_t cipher
 Base Cipher type (e.g.
int(* ecb_func )(void *ctx, operation_t mode, const unsigned char *input, unsigned char *output)
 Encrypt using ECB.
int(* cbc_func )(void *ctx, operation_t mode, size_t length, unsigned char *iv, const unsigned char *input, unsigned char *output)
 Encrypt using CBC.
int(* cfb_func )(void *ctx, operation_t mode, size_t length, size_t *iv_off, unsigned char *iv, const unsigned char *input, unsigned char *output)
 Encrypt using CFB (Full length)
int(* ctr_func )(void *ctx, size_t length, size_t *nc_off, unsigned char *nonce_counter, unsigned char *stream_block, const unsigned char *input, unsigned char *output)
 Encrypt using CTR.
int(* stream_func )(void *ctx, size_t length, const unsigned char *input, unsigned char *output)
 Encrypt using STREAM.
int(* setkey_enc_func )(void *ctx, const unsigned char *key, unsigned int key_length)
 Set key for encryption purposes.
int(* setkey_dec_func )(void *ctx, const unsigned char *key, unsigned int key_length)
 Set key for decryption purposes.
void *(* ctx_alloc_func )(void)
 Allocate a new context.
void(* ctx_free_func )(void *ctx)
 Free the given context.

Detailed Description

Base cipher information.

The non-mode specific functions and values.

Definition at line 169 of file cipher.h.


Field Documentation

int(* cbc_func)(void *ctx, operation_t mode, size_t length, unsigned char *iv, const unsigned char *input, unsigned char *output)

Encrypt using CBC.

Definition at line 179 of file cipher.h.

int(* cfb_func)(void *ctx, operation_t mode, size_t length, size_t *iv_off, unsigned char *iv, const unsigned char *input, unsigned char *output)

Encrypt using CFB (Full length)

Definition at line 184 of file cipher.h.

cipher_id_t cipher

Base Cipher type (e.g.

POLARSSL_CIPHER_ID_AES)

Definition at line 172 of file cipher.h.

int(* ctr_func)(void *ctx, size_t length, size_t *nc_off, unsigned char *nonce_counter, unsigned char *stream_block, const unsigned char *input, unsigned char *output)

Encrypt using CTR.

Definition at line 189 of file cipher.h.

void*(* ctx_alloc_func)(void)

Allocate a new context.

Definition at line 206 of file cipher.h.

void(* ctx_free_func)(void *ctx)

Free the given context.

Definition at line 209 of file cipher.h.

int(* ecb_func)(void *ctx, operation_t mode, const unsigned char *input, unsigned char *output)

Encrypt using ECB.

Definition at line 175 of file cipher.h.

int(* setkey_dec_func)(void *ctx, const unsigned char *key, unsigned int key_length)

Set key for decryption purposes.

Definition at line 202 of file cipher.h.

int(* setkey_enc_func)(void *ctx, const unsigned char *key, unsigned int key_length)

Set key for encryption purposes.

Definition at line 198 of file cipher.h.

int(* stream_func)(void *ctx, size_t length, const unsigned char *input, unsigned char *output)

Encrypt using STREAM.

Definition at line 194 of file cipher.h.