mbed TLS v2.2.0
cipher_internal.h
Go to the documentation of this file.
1 
25 #ifndef MBEDTLS_CIPHER_WRAP_H
26 #define MBEDTLS_CIPHER_WRAP_H
27 
28 #if !defined(MBEDTLS_CONFIG_FILE)
29 #include "config.h"
30 #else
31 #include MBEDTLS_CONFIG_FILE
32 #endif
33 
34 #include "cipher.h"
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
44 {
47 
49  int (*ecb_func)( void *ctx, mbedtls_operation_t mode,
50  const unsigned char *input, unsigned char *output );
51 
52 #if defined(MBEDTLS_CIPHER_MODE_CBC)
53 
54  int (*cbc_func)( void *ctx, mbedtls_operation_t mode, size_t length,
55  unsigned char *iv, const unsigned char *input,
56  unsigned char *output );
57 #endif
58 
59 #if defined(MBEDTLS_CIPHER_MODE_CFB)
60 
61  int (*cfb_func)( void *ctx, mbedtls_operation_t mode, size_t length, size_t *iv_off,
62  unsigned char *iv, const unsigned char *input,
63  unsigned char *output );
64 #endif
65 
66 #if defined(MBEDTLS_CIPHER_MODE_CTR)
67 
68  int (*ctr_func)( void *ctx, size_t length, size_t *nc_off,
69  unsigned char *nonce_counter, unsigned char *stream_block,
70  const unsigned char *input, unsigned char *output );
71 #endif
72 
73 #if defined(MBEDTLS_CIPHER_MODE_STREAM)
74 
75  int (*stream_func)( void *ctx, size_t length,
76  const unsigned char *input, unsigned char *output );
77 #endif
78 
80  int (*setkey_enc_func)( void *ctx, const unsigned char *key,
81  unsigned int key_bitlen );
82 
84  int (*setkey_dec_func)( void *ctx, const unsigned char *key,
85  unsigned int key_bitlen);
86 
88  void * (*ctx_alloc_func)( void );
89 
91  void (*ctx_free_func)( void *ctx );
92 
93 };
94 
95 typedef struct
96 {
100 
102 
103 extern int mbedtls_cipher_supported[];
104 
105 #ifdef __cplusplus
106 }
107 #endif
108 
109 #endif /* MBEDTLS_CIPHER_WRAP_H */
int(* setkey_enc_func)(void *ctx, const unsigned char *key, unsigned int key_bitlen)
Set key for encryption purposes.
mbedtls_operation_t
Definition: cipher.h:151
int(* setkey_dec_func)(void *ctx, const unsigned char *key, unsigned int key_bitlen)
Set key for decryption purposes.
void(* ctx_free_func)(void *ctx)
Free the given context.
Compatibility names (set of defines)
const mbedtls_cipher_definition_t mbedtls_cipher_definitions[]
Cipher information.
Definition: cipher.h:181
Base cipher information.
mbedtls_cipher_type_t
Definition: cipher.h:79
mbedtls_cipher_id_t
Definition: cipher.h:68
Generic cipher wrapper.
int mbedtls_cipher_supported[]
mbedtls_cipher_id_t cipher
Base Cipher type (e.g.
const mbedtls_cipher_info_t * info
int(* ecb_func)(void *ctx, mbedtls_operation_t mode, const unsigned char *input, unsigned char *output)
Encrypt using ECB.
mbedtls_cipher_type_t type