mbed TLS v2.2.0
ccm.h
Go to the documentation of this file.
1 
23 #ifndef MBEDTLS_CCM_H
24 #define MBEDTLS_CCM_H
25 
26 #include "cipher.h"
27 
28 #define MBEDTLS_ERR_CCM_BAD_INPUT -0x000D
29 #define MBEDTLS_ERR_CCM_AUTH_FAILED -0x000F
31 #if defined( MBEDTLS_CCM_ALT )
32 
33 #include "ccm_alt.h"
34 
35 #else /* #if defined( MBEDTLS_CCM_ALT ) */
36 
37 // Regular implementation
38 
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42 
46 typedef struct {
48 }
50 
59 
71  mbedtls_cipher_id_t cipher,
72  const unsigned char *key,
73  unsigned int keybits );
74 
81 
107 int mbedtls_ccm_encrypt_and_tag( mbedtls_ccm_context *ctx, size_t length,
108  const unsigned char *iv, size_t iv_len,
109  const unsigned char *add, size_t add_len,
110  const unsigned char *input, unsigned char *output,
111  unsigned char *tag, size_t tag_len );
112 
130 int mbedtls_ccm_auth_decrypt( mbedtls_ccm_context *ctx, size_t length,
131  const unsigned char *iv, size_t iv_len,
132  const unsigned char *add, size_t add_len,
133  const unsigned char *input, unsigned char *output,
134  const unsigned char *tag, size_t tag_len );
135 
136 #if defined(MBEDTLS_SELF_TEST) && defined(MBEDTLS_AES_C)
137 
142 int mbedtls_ccm_self_test( int verbose );
143 #endif /* MBEDTLS_SELF_TEST && MBEDTLS_AES_C */
144 
145 #ifdef __cplusplus
146 }
147 #endif
148 
149 #endif /* #else of #if defined( MBEDTLS_CCM_ALT ) */
150 
151 #endif /* MBEDTLS_CCM_H */
void mbedtls_ccm_free(mbedtls_ccm_context *ctx)
Free a CCM context and underlying cipher sub-context.
CCM context structure.
Definition: ccm.h:46
Generic cipher context.
Definition: cipher.h:213
Counter with CBC-MAC (CCM) for 128-bit block ciphers.
mbedtls_cipher_id_t
Definition: cipher.h:68
int mbedtls_ccm_encrypt_and_tag(mbedtls_ccm_context *ctx, size_t length, const unsigned char *iv, size_t iv_len, const unsigned char *add, size_t add_len, const unsigned char *input, unsigned char *output, unsigned char *tag, size_t tag_len)
CCM buffer encryption.
Generic cipher wrapper.
int mbedtls_ccm_setkey(mbedtls_ccm_context *ctx, mbedtls_cipher_id_t cipher, const unsigned char *key, unsigned int keybits)
CCM initialization (encryption and decryption)
int mbedtls_ccm_auth_decrypt(mbedtls_ccm_context *ctx, size_t length, const unsigned char *iv, size_t iv_len, const unsigned char *add, size_t add_len, const unsigned char *input, unsigned char *output, const unsigned char *tag, size_t tag_len)
CCM buffer authenticated decryption.
mbedtls_cipher_context_t cipher_ctx
Definition: ccm.h:47
void mbedtls_ccm_init(mbedtls_ccm_context *ctx)
Initialize CCM context (just makes references valid) Makes the context ready for mbedtls_ccm_setkey()...