mirror of
https://github.com/cuberite/polarssl.git
synced 2025-09-17 11:08:28 -04:00
Move AEAD contexts from primitives to composites
Signed-off-by: Paul Elliott <paul.elliott@arm.com>
This commit is contained in:
parent
1a98acac1c
commit
3dc1c242b4
@ -76,6 +76,58 @@ typedef struct
|
|||||||
|
|
||||||
#define MBEDTLS_PSA_MAC_OPERATION_INIT {0, {0}}
|
#define MBEDTLS_PSA_MAC_OPERATION_INIT {0, {0}}
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_GCM) || \
|
||||||
|
defined(MBEDTLS_PSA_BUILTIN_ALG_CCM) || \
|
||||||
|
defined(MBEDTLS_PSA_BUILTIN_ALG_CHACHA20_POLY1305)
|
||||||
|
#define MBEDTLS_PSA_BUILTIN_AEAD 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Context structure for the Mbed TLS AEAD implementation. */
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
psa_algorithm_t alg;
|
||||||
|
psa_key_type_t key_type;
|
||||||
|
|
||||||
|
unsigned int is_encrypt : 1;
|
||||||
|
unsigned int ad_started : 1;
|
||||||
|
unsigned int body_started : 1;
|
||||||
|
|
||||||
|
uint8_t tag_length;
|
||||||
|
|
||||||
|
/* Buffers for AD/data - only required until CCM gets proper multipart
|
||||||
|
support. */
|
||||||
|
uint8_t *ad_buffer;
|
||||||
|
size_t ad_length;
|
||||||
|
|
||||||
|
uint8_t *body_buffer;
|
||||||
|
size_t body_length;
|
||||||
|
|
||||||
|
uint8_t *tag_buffer;
|
||||||
|
|
||||||
|
/* buffer to store Nonce - only required until CCM and GCM get proper
|
||||||
|
multipart support. */
|
||||||
|
uint8_t *nonce;
|
||||||
|
size_t nonce_length;
|
||||||
|
|
||||||
|
union
|
||||||
|
{
|
||||||
|
unsigned dummy; /* Enable easier initializing of the union. */
|
||||||
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_CCM)
|
||||||
|
mbedtls_ccm_context ccm;
|
||||||
|
#endif /* MBEDTLS_PSA_BUILTIN_ALG_CCM */
|
||||||
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_GCM)
|
||||||
|
mbedtls_gcm_context gcm;
|
||||||
|
#endif /* MBEDTLS_PSA_BUILTIN_ALG_GCM */
|
||||||
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_CHACHA20_POLY1305)
|
||||||
|
mbedtls_chachapoly_context chachapoly;
|
||||||
|
#endif /* MBEDTLS_PSA_BUILTIN_ALG_CHACHA20_POLY1305 */
|
||||||
|
|
||||||
|
} ctx;
|
||||||
|
|
||||||
|
} mbedtls_psa_aead_operation_t;
|
||||||
|
|
||||||
|
#define MBEDTLS_PSA_AEAD_OPERATION_INIT {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0}}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* BEYOND THIS POINT, TEST DRIVER DECLARATIONS ONLY.
|
* BEYOND THIS POINT, TEST DRIVER DECLARATIONS ONLY.
|
||||||
*/
|
*/
|
||||||
@ -87,6 +139,10 @@ typedef mbedtls_psa_mac_operation_t mbedtls_opaque_test_driver_mac_operation_t;
|
|||||||
#define MBEDTLS_TRANSPARENT_TEST_DRIVER_MAC_OPERATION_INIT MBEDTLS_PSA_MAC_OPERATION_INIT
|
#define MBEDTLS_TRANSPARENT_TEST_DRIVER_MAC_OPERATION_INIT MBEDTLS_PSA_MAC_OPERATION_INIT
|
||||||
#define MBEDTLS_OPAQUE_TEST_DRIVER_MAC_OPERATION_INIT MBEDTLS_PSA_MAC_OPERATION_INIT
|
#define MBEDTLS_OPAQUE_TEST_DRIVER_MAC_OPERATION_INIT MBEDTLS_PSA_MAC_OPERATION_INIT
|
||||||
|
|
||||||
|
typedef mbedtls_psa_aead_operation_t mbedtls_transparent_test_driver_aead_operation_t;
|
||||||
|
|
||||||
|
#define MBEDTLS_TRANSPARENT_TEST_DRIVER_AEAD_OPERATION_INIT MBEDTLS_PSA_AEAD_OPERATION_INIT
|
||||||
|
|
||||||
#endif /* PSA_CRYPTO_DRIVER_TEST */
|
#endif /* PSA_CRYPTO_DRIVER_TEST */
|
||||||
|
|
||||||
#endif /* PSA_CRYPTO_BUILTIN_COMPOSITES_H */
|
#endif /* PSA_CRYPTO_BUILTIN_COMPOSITES_H */
|
||||||
|
@ -118,58 +118,6 @@ typedef struct {
|
|||||||
|
|
||||||
#define MBEDTLS_PSA_CIPHER_OPERATION_INIT {0, 0, 0, {0}}
|
#define MBEDTLS_PSA_CIPHER_OPERATION_INIT {0, 0, 0, {0}}
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_GCM) || \
|
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_CCM) || \
|
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_CHACHA20_POLY1305)
|
|
||||||
#define MBEDTLS_PSA_BUILTIN_AEAD 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Context structure for the Mbed TLS cipher implementation. */
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
psa_algorithm_t alg;
|
|
||||||
psa_key_type_t key_type;
|
|
||||||
|
|
||||||
unsigned int is_encrypt : 1;
|
|
||||||
unsigned int ad_started : 1;
|
|
||||||
unsigned int body_started : 1;
|
|
||||||
|
|
||||||
uint8_t tag_length;
|
|
||||||
|
|
||||||
/* Buffers for AD/data - only required until CCM gets proper multipart
|
|
||||||
support. */
|
|
||||||
uint8_t *ad_buffer;
|
|
||||||
size_t ad_length;
|
|
||||||
|
|
||||||
uint8_t *body_buffer;
|
|
||||||
size_t body_length;
|
|
||||||
|
|
||||||
uint8_t *tag_buffer;
|
|
||||||
|
|
||||||
/* buffer to store Nonce - only required until CCM and GCM get proper
|
|
||||||
multipart support. */
|
|
||||||
uint8_t *nonce;
|
|
||||||
size_t nonce_length;
|
|
||||||
|
|
||||||
union
|
|
||||||
{
|
|
||||||
unsigned dummy; /* Enable easier initializing of the union. */
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_CCM)
|
|
||||||
mbedtls_ccm_context ccm;
|
|
||||||
#endif /* MBEDTLS_PSA_BUILTIN_ALG_CCM */
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_GCM)
|
|
||||||
mbedtls_gcm_context gcm;
|
|
||||||
#endif /* MBEDTLS_PSA_BUILTIN_ALG_GCM */
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_CHACHA20_POLY1305)
|
|
||||||
mbedtls_chachapoly_context chachapoly;
|
|
||||||
#endif /* MBEDTLS_PSA_BUILTIN_ALG_CHACHA20_POLY1305 */
|
|
||||||
|
|
||||||
} ctx;
|
|
||||||
|
|
||||||
} mbedtls_psa_aead_operation_t;
|
|
||||||
|
|
||||||
#define MBEDTLS_PSA_AEAD_OPERATION_INIT {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0}}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* BEYOND THIS POINT, TEST DRIVER DECLARATIONS ONLY.
|
* BEYOND THIS POINT, TEST DRIVER DECLARATIONS ONLY.
|
||||||
*/
|
*/
|
||||||
@ -182,9 +130,6 @@ typedef mbedtls_psa_hash_operation_t mbedtls_transparent_test_driver_hash_operat
|
|||||||
typedef mbedtls_psa_cipher_operation_t
|
typedef mbedtls_psa_cipher_operation_t
|
||||||
mbedtls_transparent_test_driver_cipher_operation_t;
|
mbedtls_transparent_test_driver_cipher_operation_t;
|
||||||
|
|
||||||
typedef mbedtls_psa_aead_operation_t
|
|
||||||
mbedtls_transparent_test_driver_aead_operation_t;
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
unsigned int initialised : 1;
|
unsigned int initialised : 1;
|
||||||
mbedtls_transparent_test_driver_cipher_operation_t ctx;
|
mbedtls_transparent_test_driver_cipher_operation_t ctx;
|
||||||
|
@ -58,5 +58,13 @@ typedef union {
|
|||||||
#endif
|
#endif
|
||||||
} psa_driver_mac_context_t;
|
} psa_driver_mac_context_t;
|
||||||
|
|
||||||
|
typedef union {
|
||||||
|
unsigned dummy; /* Make sure this union is always non-empty */
|
||||||
|
mbedtls_psa_aead_operation_t mbedtls_ctx;
|
||||||
|
#if defined(PSA_CRYPTO_DRIVER_TEST)
|
||||||
|
mbedtls_transparent_test_driver_aead_operation_t transparent_test_driver_ctx;
|
||||||
|
#endif
|
||||||
|
} psa_driver_aead_context_t;
|
||||||
|
|
||||||
#endif /* PSA_CRYPTO_DRIVER_CONTEXTS_COMPOSITES_H */
|
#endif /* PSA_CRYPTO_DRIVER_CONTEXTS_COMPOSITES_H */
|
||||||
/* End of automatically generated file. */
|
/* End of automatically generated file. */
|
||||||
|
@ -65,13 +65,5 @@ typedef union {
|
|||||||
#endif
|
#endif
|
||||||
} psa_driver_cipher_context_t;
|
} psa_driver_cipher_context_t;
|
||||||
|
|
||||||
typedef union {
|
|
||||||
unsigned dummy; /* Make sure this union is always non-empty */
|
|
||||||
mbedtls_psa_aead_operation_t mbedtls_ctx;
|
|
||||||
#if defined(PSA_CRYPTO_DRIVER_TEST)
|
|
||||||
mbedtls_transparent_test_driver_aead_operation_t transparent_test_driver_ctx;
|
|
||||||
#endif
|
|
||||||
} psa_driver_aead_context_t;
|
|
||||||
|
|
||||||
#endif /* PSA_CRYPTO_DRIVER_CONTEXTS_PRIMITIVES_H */
|
#endif /* PSA_CRYPTO_DRIVER_CONTEXTS_PRIMITIVES_H */
|
||||||
/* End of automatically generated file. */
|
/* End of automatically generated file. */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user