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