/* * Context structure declaration of the Mbed TLS software-based PSA drivers * called through the PSA Crypto driver dispatch layer. * This file contains the context structures of those algorithms which do not * rely on other algorithms, i.e. are 'primitive' algorithms. * * \note This file may not be included directly. Applications must * include psa/crypto.h. * * \note This header and its content is not part of the Mbed TLS API and * applications must not depend on it. Its main purpose is to define the * multi-part state objects of the Mbed TLS software-based PSA drivers. The * definition of these objects are then used by crypto_struct.h to define the * implementation-defined types of PSA multi-part state objects. *//* ... *//* * Copyright The Mbed TLS Contributors * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later *//* ... */#ifndefPSA_CRYPTO_BUILTIN_PRIMITIVES_H#definePSA_CRYPTO_BUILTIN_PRIMITIVES_H#include<psa/crypto_driver_common.h>/* * Hash multi-part operation definitions. *//* ... */#include"mbedtls/md2.h"#include"mbedtls/md4.h"#include"mbedtls/md5.h"#include"mbedtls/ripemd160.h"#include"mbedtls/sha1.h"#include"mbedtls/sha256.h"#include"mbedtls/sha512.h"8 includes#ifdefined(MBEDTLS_PSA_BUILTIN_ALG_MD2)||\defined(MBEDTLS_PSA_BUILTIN_ALG_MD4)||\defined(MBEDTLS_PSA_BUILTIN_ALG_MD5)||\defined(MBEDTLS_PSA_BUILTIN_ALG_RIPEMD160)||\defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_1)||\defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_224)||\defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_256)||\defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_384)||\defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_512)#defineMBEDTLS_PSA_BUILTIN_HASH#endiftypedefstruct{psa_algorithm_talg;union{unsigneddummy;/* Make the union non-empty even with no supported algorithms. */#ifdefined(MBEDTLS_PSA_BUILTIN_ALG_MD2)mbedtls_md2_contextmd2;#endif#ifdefined(MBEDTLS_PSA_BUILTIN_ALG_MD4)mbedtls_md4_contextmd4;#endif#ifdefined(MBEDTLS_PSA_BUILTIN_ALG_MD5)mbedtls_md5_contextmd5;#endif#ifdefined(MBEDTLS_PSA_BUILTIN_ALG_RIPEMD160)mbedtls_ripemd160_contextripemd160;#endif#ifdefined(MBEDTLS_PSA_BUILTIN_ALG_SHA_1)mbedtls_sha1_contextsha1;#endif#ifdefined(MBEDTLS_PSA_BUILTIN_ALG_SHA_256)||\defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_224)mbedtls_sha256_contextsha256;#endif#ifdefined(MBEDTLS_PSA_BUILTIN_ALG_SHA_512)||\defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_384)mbedtls_sha512_contextsha512;#endif...}ctx;...}mbedtls_psa_hash_operation_t;#defineMBEDTLS_PSA_HASH_OPERATION_INIT{0,{0}}/* * Cipher multi-part operation definitions. *//* ... */#include"mbedtls/cipher.h"#ifdefined(MBEDTLS_PSA_BUILTIN_ALG_STREAM_CIPHER)||\defined(MBEDTLS_PSA_BUILTIN_ALG_CTR)||\defined(MBEDTLS_PSA_BUILTIN_ALG_CFB)||\defined(MBEDTLS_PSA_BUILTIN_ALG_OFB)||\defined(MBEDTLS_PSA_BUILTIN_ALG_ECB_NO_PADDING)||\defined(MBEDTLS_PSA_BUILTIN_ALG_CBC_NO_PADDING)||\defined(MBEDTLS_PSA_BUILTIN_ALG_CBC_PKCS7)#defineMBEDTLS_PSA_BUILTIN_CIPHER1#endiftypedefstruct{/* Context structure for the Mbed TLS cipher implementation. */psa_algorithm_talg;uint8_tiv_length;uint8_tblock_length;union{unsignedintdummy;mbedtls_cipher_context_tcipher;...}ctx;...}mbedtls_psa_cipher_operation_t;#defineMBEDTLS_PSA_CIPHER_OPERATION_INIT{0,0,0,{0}}/* ... */#endif/* PSA_CRYPTO_BUILTIN_PRIMITIVES_H */
Details
Show: from
Types: Columns:
All items filtered out
All items filtered out
This file uses the notable symbols shown below. Click anywhere in the file to view more details.