Merge remote-tracking branch 'origin/development' into sign-conversion-part1
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
This commit is contained in:
commit
a3b80386d9
35 changed files with 596 additions and 164 deletions
6
ChangeLog.d/add-block-cipher-no-decrypt.txt
Normal file
6
ChangeLog.d/add-block-cipher-no-decrypt.txt
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
Features
|
||||||
|
* Enable the new option MBEDTLS_BLOCK_CIPHER_NO_DECRYPT to omit
|
||||||
|
the decryption direction of block ciphers (AES, ARIA, Camellia).
|
||||||
|
This affects both the low-level modules and the high-level APIs
|
||||||
|
(the cipher and PSA interfaces). This option is incompatible with modes
|
||||||
|
that use the decryption direction (ECB in PSA, CBC, XTS, KW) and with DES.
|
|
@ -155,6 +155,7 @@ MBEDTLS_CHECK_RETURN_TYPICAL
|
||||||
int mbedtls_aes_setkey_enc(mbedtls_aes_context *ctx, const unsigned char *key,
|
int mbedtls_aes_setkey_enc(mbedtls_aes_context *ctx, const unsigned char *key,
|
||||||
unsigned int keybits);
|
unsigned int keybits);
|
||||||
|
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
/**
|
/**
|
||||||
* \brief This function sets the decryption key.
|
* \brief This function sets the decryption key.
|
||||||
*
|
*
|
||||||
|
@ -173,6 +174,7 @@ int mbedtls_aes_setkey_enc(mbedtls_aes_context *ctx, const unsigned char *key,
|
||||||
MBEDTLS_CHECK_RETURN_TYPICAL
|
MBEDTLS_CHECK_RETURN_TYPICAL
|
||||||
int mbedtls_aes_setkey_dec(mbedtls_aes_context *ctx, const unsigned char *key,
|
int mbedtls_aes_setkey_dec(mbedtls_aes_context *ctx, const unsigned char *key,
|
||||||
unsigned int keybits);
|
unsigned int keybits);
|
||||||
|
#endif /* !MBEDTLS_BLOCK_CIPHER_NO_DECRYPT */
|
||||||
|
|
||||||
#if defined(MBEDTLS_CIPHER_MODE_XTS)
|
#if defined(MBEDTLS_CIPHER_MODE_XTS)
|
||||||
/**
|
/**
|
||||||
|
@ -592,6 +594,7 @@ int mbedtls_internal_aes_encrypt(mbedtls_aes_context *ctx,
|
||||||
const unsigned char input[16],
|
const unsigned char input[16],
|
||||||
unsigned char output[16]);
|
unsigned char output[16]);
|
||||||
|
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
/**
|
/**
|
||||||
* \brief Internal AES block decryption function. This is only
|
* \brief Internal AES block decryption function. This is only
|
||||||
* exposed to allow overriding it using see
|
* exposed to allow overriding it using see
|
||||||
|
@ -607,6 +610,7 @@ MBEDTLS_CHECK_RETURN_TYPICAL
|
||||||
int mbedtls_internal_aes_decrypt(mbedtls_aes_context *ctx,
|
int mbedtls_internal_aes_decrypt(mbedtls_aes_context *ctx,
|
||||||
const unsigned char input[16],
|
const unsigned char input[16],
|
||||||
unsigned char output[16]);
|
unsigned char output[16]);
|
||||||
|
#endif /* !MBEDTLS_BLOCK_CIPHER_NO_DECRYPT */
|
||||||
|
|
||||||
#if defined(MBEDTLS_SELF_TEST)
|
#if defined(MBEDTLS_SELF_TEST)
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -98,6 +98,7 @@ int mbedtls_aria_setkey_enc(mbedtls_aria_context *ctx,
|
||||||
const unsigned char *key,
|
const unsigned char *key,
|
||||||
unsigned int keybits);
|
unsigned int keybits);
|
||||||
|
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
/**
|
/**
|
||||||
* \brief This function sets the decryption key.
|
* \brief This function sets the decryption key.
|
||||||
*
|
*
|
||||||
|
@ -116,6 +117,7 @@ int mbedtls_aria_setkey_enc(mbedtls_aria_context *ctx,
|
||||||
int mbedtls_aria_setkey_dec(mbedtls_aria_context *ctx,
|
int mbedtls_aria_setkey_dec(mbedtls_aria_context *ctx,
|
||||||
const unsigned char *key,
|
const unsigned char *key,
|
||||||
unsigned int keybits);
|
unsigned int keybits);
|
||||||
|
#endif /* !MBEDTLS_BLOCK_CIPHER_NO_DECRYPT */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief This function performs an ARIA single-block encryption or
|
* \brief This function performs an ARIA single-block encryption or
|
||||||
|
|
|
@ -81,6 +81,7 @@ int mbedtls_camellia_setkey_enc(mbedtls_camellia_context *ctx,
|
||||||
const unsigned char *key,
|
const unsigned char *key,
|
||||||
unsigned int keybits);
|
unsigned int keybits);
|
||||||
|
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
/**
|
/**
|
||||||
* \brief Perform a CAMELLIA key schedule operation for decryption.
|
* \brief Perform a CAMELLIA key schedule operation for decryption.
|
||||||
*
|
*
|
||||||
|
@ -96,6 +97,7 @@ int mbedtls_camellia_setkey_enc(mbedtls_camellia_context *ctx,
|
||||||
int mbedtls_camellia_setkey_dec(mbedtls_camellia_context *ctx,
|
int mbedtls_camellia_setkey_dec(mbedtls_camellia_context *ctx,
|
||||||
const unsigned char *key,
|
const unsigned char *key,
|
||||||
unsigned int keybits);
|
unsigned int keybits);
|
||||||
|
#endif /* !MBEDTLS_BLOCK_CIPHER_NO_DECRYPT */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Perform a CAMELLIA-ECB block encryption/decryption operation.
|
* \brief Perform a CAMELLIA-ECB block encryption/decryption operation.
|
||||||
|
|
|
@ -171,6 +171,36 @@
|
||||||
#error "MBEDTLS_NIST_KW_C defined, but not all prerequisites"
|
#error "MBEDTLS_NIST_KW_C defined, but not all prerequisites"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT) && defined(MBEDTLS_PSA_CRYPTO_CONFIG)
|
||||||
|
#if defined(PSA_WANT_ALG_CBC_NO_PADDING)
|
||||||
|
#error "MBEDTLS_BLOCK_CIPHER_NO_DECRYPT and PSA_WANT_ALG_CBC_NO_PADDING cannot be defined simultaneously"
|
||||||
|
#endif
|
||||||
|
#if defined(PSA_WANT_ALG_CBC_PKCS7)
|
||||||
|
#error "MBEDTLS_BLOCK_CIPHER_NO_DECRYPT and PSA_WANT_ALG_CBC_PKCS7 cannot be defined simultaneously"
|
||||||
|
#endif
|
||||||
|
#if defined(PSA_WANT_ALG_ECB_NO_PADDING)
|
||||||
|
#error "MBEDTLS_BLOCK_CIPHER_NO_DECRYPT and PSA_WANT_ALG_ECB_NO_PADDING cannot be defined simultaneously"
|
||||||
|
#endif
|
||||||
|
#if defined(PSA_WANT_KEY_TYPE_DES)
|
||||||
|
#error "MBEDTLS_BLOCK_CIPHER_NO_DECRYPT and PSA_WANT_KEY_TYPE_DES cannot be defined simultaneously"
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
|
#if defined(MBEDTLS_CIPHER_MODE_CBC)
|
||||||
|
#error "MBEDTLS_BLOCK_CIPHER_NO_DECRYPT and MBEDTLS_CIPHER_MODE_CBC cannot be defined simultaneously"
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_CIPHER_MODE_XTS)
|
||||||
|
#error "MBEDTLS_BLOCK_CIPHER_NO_DECRYPT and MBEDTLS_CIPHER_MODE_XTS cannot be defined simultaneously"
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_DES_C)
|
||||||
|
#error "MBEDTLS_BLOCK_CIPHER_NO_DECRYPT and MBEDTLS_DES_C cannot be defined simultaneously"
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_NIST_KW_C)
|
||||||
|
#error "MBEDTLS_BLOCK_CIPHER_NO_DECRYPT and MBEDTLS_NIST_KW_C cannot be defined simultaneously"
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(MBEDTLS_ECDH_C) && !defined(MBEDTLS_ECP_C)
|
#if defined(MBEDTLS_ECDH_C) && !defined(MBEDTLS_ECP_C)
|
||||||
#error "MBEDTLS_ECDH_C defined, but not all prerequisites"
|
#error "MBEDTLS_ECDH_C defined, but not all prerequisites"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -480,7 +480,7 @@ static inline size_t mbedtls_cipher_info_get_key_bitlen(
|
||||||
if (info == NULL) {
|
if (info == NULL) {
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
return info->MBEDTLS_PRIVATE(key_bitlen) << MBEDTLS_KEY_BITLEN_SHIFT;
|
return ((size_t) info->MBEDTLS_PRIVATE(key_bitlen)) << MBEDTLS_KEY_BITLEN_SHIFT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -311,6 +311,26 @@
|
||||||
#define MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_ONLY
|
#define MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_ONLY
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Some internal helpers to determine which keys are availble. */
|
||||||
|
#if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_AES_C)) || \
|
||||||
|
(defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_KEY_TYPE_AES))
|
||||||
|
#define MBEDTLS_SSL_HAVE_AES
|
||||||
|
#endif
|
||||||
|
#if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_ARIA_C)) || \
|
||||||
|
(defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_KEY_TYPE_ARIA))
|
||||||
|
#define MBEDTLS_SSL_HAVE_ARIA
|
||||||
|
#endif
|
||||||
|
#if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_CAMELLIA_C)) || \
|
||||||
|
(defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_KEY_TYPE_CAMELLIA))
|
||||||
|
#define MBEDTLS_SSL_HAVE_CAMELLIA
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Some internal helpers to determine which operation modes are availble. */
|
||||||
|
#if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_CIPHER_MODE_CBC)) || \
|
||||||
|
(defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_CBC_NO_PADDING))
|
||||||
|
#define MBEDTLS_SSL_HAVE_CBC
|
||||||
|
#endif
|
||||||
|
|
||||||
#if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_GCM_C)) || \
|
#if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_GCM_C)) || \
|
||||||
(defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_GCM))
|
(defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_GCM))
|
||||||
#define MBEDTLS_SSL_HAVE_GCM
|
#define MBEDTLS_SSL_HAVE_GCM
|
||||||
|
|
|
@ -2374,6 +2374,25 @@
|
||||||
*/
|
*/
|
||||||
#define MBEDTLS_BASE64_C
|
#define MBEDTLS_BASE64_C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \def MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
|
*
|
||||||
|
* Remove decryption operation for AES, ARIA and Camellia block cipher.
|
||||||
|
*
|
||||||
|
* \note This feature is incompatible with insecure block cipher,
|
||||||
|
* MBEDTLS_DES_C, and cipher modes which always require decryption
|
||||||
|
* operation, MBEDTLS_CIPHER_MODE_CBC, MBEDTLS_CIPHER_MODE_XTS and
|
||||||
|
* MBEDTLS_NIST_KW_C.
|
||||||
|
*
|
||||||
|
* Module: library/aes.c
|
||||||
|
* library/aesce.c
|
||||||
|
* library/aesni.c
|
||||||
|
* library/aria.c
|
||||||
|
* library/camellia.c
|
||||||
|
* library/cipher.c
|
||||||
|
*/
|
||||||
|
//#define MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \def MBEDTLS_BIGNUM_C
|
* \def MBEDTLS_BIGNUM_C
|
||||||
*
|
*
|
||||||
|
|
|
@ -600,26 +600,6 @@
|
||||||
|
|
||||||
#define MBEDTLS_TLS_EXT_RENEGOTIATION_INFO 0xFF01
|
#define MBEDTLS_TLS_EXT_RENEGOTIATION_INFO 0xFF01
|
||||||
|
|
||||||
/* Some internal helpers to determine which keys are availble. */
|
|
||||||
#if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_AES_C)) || \
|
|
||||||
(defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_KEY_TYPE_AES))
|
|
||||||
#define MBEDTLS_SSL_HAVE_AES
|
|
||||||
#endif
|
|
||||||
#if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_CAMELLIA_C)) || \
|
|
||||||
(defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_KEY_TYPE_CAMELLIA))
|
|
||||||
#define MBEDTLS_SSL_HAVE_CAMELLIA
|
|
||||||
#endif
|
|
||||||
#if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_ARIA_C)) || \
|
|
||||||
(defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_KEY_TYPE_ARIA))
|
|
||||||
#define MBEDTLS_SSL_HAVE_ARIA
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Some internal helpers to determine which operation modes are availble. */
|
|
||||||
#if (!defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_CIPHER_MODE_CBC)) || \
|
|
||||||
(defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_CBC_NO_PADDING))
|
|
||||||
#define MBEDTLS_SSL_HAVE_CBC
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Size defines
|
* Size defines
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -54,6 +54,16 @@
|
||||||
|
|
||||||
#include "mbedtls/platform.h"
|
#include "mbedtls/platform.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is a convenience shorthand macro to check if we need reverse S-box and
|
||||||
|
* reverse tables. It's private and only defined in this file.
|
||||||
|
*/
|
||||||
|
#if (!defined(MBEDTLS_AES_DECRYPT_ALT) || \
|
||||||
|
(!defined(MBEDTLS_AES_SETKEY_DEC_ALT) && !defined(MBEDTLS_AES_USE_HARDWARE_ONLY))) && \
|
||||||
|
!defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
|
#define MBEDTLS_AES_NEED_REVERSE_TABLES
|
||||||
|
#endif
|
||||||
|
|
||||||
#if !defined(MBEDTLS_AES_ALT)
|
#if !defined(MBEDTLS_AES_ALT)
|
||||||
|
|
||||||
#if defined(MBEDTLS_VIA_PADLOCK_HAVE_CODE)
|
#if defined(MBEDTLS_VIA_PADLOCK_HAVE_CODE)
|
||||||
|
@ -389,7 +399,9 @@ MBEDTLS_MAYBE_UNUSED static void aes_gen_tables(void)
|
||||||
* generate the forward and reverse S-boxes
|
* generate the forward and reverse S-boxes
|
||||||
*/
|
*/
|
||||||
FSb[0x00] = 0x63;
|
FSb[0x00] = 0x63;
|
||||||
|
#if defined(MBEDTLS_AES_NEED_REVERSE_TABLES)
|
||||||
RSb[0x63] = 0x00;
|
RSb[0x63] = 0x00;
|
||||||
|
#endif
|
||||||
|
|
||||||
for (i = 1; i < 256; i++) {
|
for (i = 1; i < 256; i++) {
|
||||||
x = pow[255 - log[i]];
|
x = pow[255 - log[i]];
|
||||||
|
@ -401,7 +413,9 @@ MBEDTLS_MAYBE_UNUSED static void aes_gen_tables(void)
|
||||||
x ^= y ^ 0x63;
|
x ^= y ^ 0x63;
|
||||||
|
|
||||||
FSb[i] = x;
|
FSb[i] = x;
|
||||||
|
#if defined(MBEDTLS_AES_NEED_REVERSE_TABLES)
|
||||||
RSb[x] = (unsigned char) i;
|
RSb[x] = (unsigned char) i;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -423,10 +437,9 @@ MBEDTLS_MAYBE_UNUSED static void aes_gen_tables(void)
|
||||||
FT3[i] = ROTL8(FT2[i]);
|
FT3[i] = ROTL8(FT2[i]);
|
||||||
#endif /* !MBEDTLS_AES_FEWER_TABLES */
|
#endif /* !MBEDTLS_AES_FEWER_TABLES */
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_AES_NEED_REVERSE_TABLES)
|
||||||
x = RSb[i];
|
x = RSb[i];
|
||||||
|
|
||||||
#if !defined(MBEDTLS_AES_DECRYPT_ALT) || \
|
|
||||||
(!defined(MBEDTLS_AES_SETKEY_DEC_ALT) && !defined(MBEDTLS_AES_USE_HARDWARE_ONLY))
|
|
||||||
RT0[i] = ((uint32_t) MUL(0x0E, x)) ^
|
RT0[i] = ((uint32_t) MUL(0x0E, x)) ^
|
||||||
((uint32_t) MUL(0x09, x) << 8) ^
|
((uint32_t) MUL(0x09, x) << 8) ^
|
||||||
((uint32_t) MUL(0x0D, x) << 16) ^
|
((uint32_t) MUL(0x0D, x) << 16) ^
|
||||||
|
@ -437,8 +450,7 @@ MBEDTLS_MAYBE_UNUSED static void aes_gen_tables(void)
|
||||||
RT2[i] = ROTL8(RT1[i]);
|
RT2[i] = ROTL8(RT1[i]);
|
||||||
RT3[i] = ROTL8(RT2[i]);
|
RT3[i] = ROTL8(RT2[i]);
|
||||||
#endif /* !MBEDTLS_AES_FEWER_TABLES */
|
#endif /* !MBEDTLS_AES_FEWER_TABLES */
|
||||||
#endif \
|
#endif /* MBEDTLS_AES_NEED_REVERSE_TABLES */
|
||||||
/* !defined(MBEDTLS_AES_DECRYPT_ALT) || (!defined(MBEDTLS_AES_SETKEY_DEC_ALT) && !defined(MBEDTLS_AES_USE_HARDWARE_ONLY)) */
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -670,7 +682,7 @@ int mbedtls_aes_setkey_enc(mbedtls_aes_context *ctx, const unsigned char *key,
|
||||||
/*
|
/*
|
||||||
* AES key schedule (decryption)
|
* AES key schedule (decryption)
|
||||||
*/
|
*/
|
||||||
#if !defined(MBEDTLS_AES_SETKEY_DEC_ALT)
|
#if !defined(MBEDTLS_AES_SETKEY_DEC_ALT) && !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
int mbedtls_aes_setkey_dec(mbedtls_aes_context *ctx, const unsigned char *key,
|
int mbedtls_aes_setkey_dec(mbedtls_aes_context *ctx, const unsigned char *key,
|
||||||
unsigned int keybits)
|
unsigned int keybits)
|
||||||
{
|
{
|
||||||
|
@ -739,7 +751,7 @@ exit:
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
#endif /* !MBEDTLS_AES_SETKEY_DEC_ALT */
|
#endif /* !MBEDTLS_AES_SETKEY_DEC_ALT && !MBEDTLS_BLOCK_CIPHER_NO_DECRYPT */
|
||||||
|
|
||||||
#if defined(MBEDTLS_CIPHER_MODE_XTS)
|
#if defined(MBEDTLS_CIPHER_MODE_XTS)
|
||||||
static int mbedtls_aes_xts_decode_keys(const unsigned char *key,
|
static int mbedtls_aes_xts_decode_keys(const unsigned char *key,
|
||||||
|
@ -928,7 +940,7 @@ int mbedtls_internal_aes_encrypt(mbedtls_aes_context *ctx,
|
||||||
/*
|
/*
|
||||||
* AES-ECB block decryption
|
* AES-ECB block decryption
|
||||||
*/
|
*/
|
||||||
#if !defined(MBEDTLS_AES_DECRYPT_ALT)
|
#if !defined(MBEDTLS_AES_DECRYPT_ALT) && !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
int mbedtls_internal_aes_decrypt(mbedtls_aes_context *ctx,
|
int mbedtls_internal_aes_decrypt(mbedtls_aes_context *ctx,
|
||||||
const unsigned char input[16],
|
const unsigned char input[16],
|
||||||
unsigned char output[16])
|
unsigned char output[16])
|
||||||
|
@ -985,7 +997,7 @@ int mbedtls_internal_aes_decrypt(mbedtls_aes_context *ctx,
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif /* !MBEDTLS_AES_DECRYPT_ALT */
|
#endif /* !MBEDTLS_AES_DECRYPT_ALT && !MBEDTLS_BLOCK_CIPHER_NO_DECRYPT */
|
||||||
|
|
||||||
/* VIA Padlock and our intrinsics-based implementation of AESNI require
|
/* VIA Padlock and our intrinsics-based implementation of AESNI require
|
||||||
* the round keys to be aligned on a 16-byte boundary. We take care of this
|
* the round keys to be aligned on a 16-byte boundary. We take care of this
|
||||||
|
@ -1040,13 +1052,15 @@ int mbedtls_aes_crypt_ecb(mbedtls_aes_context *ctx,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(MBEDTLS_AES_USE_HARDWARE_ONLY)
|
#if !defined(MBEDTLS_AES_USE_HARDWARE_ONLY)
|
||||||
if (mode == MBEDTLS_AES_ENCRYPT) {
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
return mbedtls_internal_aes_encrypt(ctx, input, output);
|
if (mode == MBEDTLS_AES_DECRYPT) {
|
||||||
} else {
|
|
||||||
return mbedtls_internal_aes_decrypt(ctx, input, output);
|
return mbedtls_internal_aes_decrypt(ctx, input, output);
|
||||||
}
|
} else
|
||||||
#endif
|
#endif
|
||||||
|
{
|
||||||
|
return mbedtls_internal_aes_encrypt(ctx, input, output);
|
||||||
|
}
|
||||||
|
#endif /* !MBEDTLS_AES_USE_HARDWARE_ONLY */
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(MBEDTLS_CIPHER_MODE_CBC)
|
#if defined(MBEDTLS_CIPHER_MODE_CBC)
|
||||||
|
@ -1472,6 +1486,7 @@ exit:
|
||||||
*
|
*
|
||||||
* http://csrc.nist.gov/archive/aes/rijndael/rijndael-vals.zip
|
* http://csrc.nist.gov/archive/aes/rijndael/rijndael-vals.zip
|
||||||
*/
|
*/
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
static const unsigned char aes_test_ecb_dec[][16] =
|
static const unsigned char aes_test_ecb_dec[][16] =
|
||||||
{
|
{
|
||||||
{ 0x44, 0x41, 0x6A, 0xC2, 0xD1, 0xF5, 0x3C, 0x58,
|
{ 0x44, 0x41, 0x6A, 0xC2, 0xD1, 0xF5, 0x3C, 0x58,
|
||||||
|
@ -1483,6 +1498,7 @@ static const unsigned char aes_test_ecb_dec[][16] =
|
||||||
0x1F, 0x6F, 0x56, 0x58, 0x5D, 0x8A, 0x4A, 0xDE }
|
0x1F, 0x6F, 0x56, 0x58, 0x5D, 0x8A, 0x4A, 0xDE }
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
static const unsigned char aes_test_ecb_enc[][16] =
|
static const unsigned char aes_test_ecb_enc[][16] =
|
||||||
{
|
{
|
||||||
|
@ -1864,7 +1880,7 @@ int mbedtls_aes_self_test(int verbose)
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
static const int num_tests =
|
static const int num_tests =
|
||||||
sizeof(aes_test_ecb_dec) / sizeof(*aes_test_ecb_dec);
|
sizeof(aes_test_ecb_enc) / sizeof(*aes_test_ecb_enc);
|
||||||
|
|
||||||
for (i = 0; i < num_tests << 1; i++) {
|
for (i = 0; i < num_tests << 1; i++) {
|
||||||
u = i >> 1;
|
u = i >> 1;
|
||||||
|
@ -1875,13 +1891,24 @@ int mbedtls_aes_self_test(int verbose)
|
||||||
mbedtls_printf(" AES-ECB-%3u (%s): ", keybits,
|
mbedtls_printf(" AES-ECB-%3u (%s): ", keybits,
|
||||||
(mode == MBEDTLS_AES_DECRYPT) ? "dec" : "enc");
|
(mode == MBEDTLS_AES_DECRYPT) ? "dec" : "enc");
|
||||||
}
|
}
|
||||||
|
#if defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
|
if (mode == MBEDTLS_AES_DECRYPT) {
|
||||||
|
if (verbose != 0) {
|
||||||
|
mbedtls_printf("skipped\n");
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
memset(buf, 0, 16);
|
memset(buf, 0, 16);
|
||||||
|
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
if (mode == MBEDTLS_AES_DECRYPT) {
|
if (mode == MBEDTLS_AES_DECRYPT) {
|
||||||
ret = mbedtls_aes_setkey_dec(&ctx, key, keybits);
|
ret = mbedtls_aes_setkey_dec(&ctx, key, keybits);
|
||||||
aes_tests = aes_test_ecb_dec[u];
|
aes_tests = aes_test_ecb_dec[u];
|
||||||
} else {
|
} else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
ret = mbedtls_aes_setkey_enc(&ctx, key, keybits);
|
ret = mbedtls_aes_setkey_enc(&ctx, key, keybits);
|
||||||
aes_tests = aes_test_ecb_enc[u];
|
aes_tests = aes_test_ecb_enc[u];
|
||||||
}
|
}
|
||||||
|
|
|
@ -187,6 +187,7 @@ rounds_10:
|
||||||
/* Two rounds of AESCE decryption */
|
/* Two rounds of AESCE decryption */
|
||||||
#define AESCE_DECRYPT_ROUND_X2 AESCE_DECRYPT_ROUND; AESCE_DECRYPT_ROUND
|
#define AESCE_DECRYPT_ROUND_X2 AESCE_DECRYPT_ROUND; AESCE_DECRYPT_ROUND
|
||||||
|
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
static uint8x16_t aesce_decrypt_block(uint8x16_t block,
|
static uint8x16_t aesce_decrypt_block(uint8x16_t block,
|
||||||
unsigned char *keys,
|
unsigned char *keys,
|
||||||
int rounds)
|
int rounds)
|
||||||
|
@ -218,6 +219,7 @@ rounds_10:
|
||||||
|
|
||||||
return block;
|
return block;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* AES-ECB block en(de)cryption
|
* AES-ECB block en(de)cryption
|
||||||
|
@ -230,10 +232,15 @@ int mbedtls_aesce_crypt_ecb(mbedtls_aes_context *ctx,
|
||||||
uint8x16_t block = vld1q_u8(&input[0]);
|
uint8x16_t block = vld1q_u8(&input[0]);
|
||||||
unsigned char *keys = (unsigned char *) (ctx->buf + ctx->rk_offset);
|
unsigned char *keys = (unsigned char *) (ctx->buf + ctx->rk_offset);
|
||||||
|
|
||||||
if (mode == MBEDTLS_AES_ENCRYPT) {
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
block = aesce_encrypt_block(block, keys, ctx->nr);
|
if (mode == MBEDTLS_AES_DECRYPT) {
|
||||||
} else {
|
|
||||||
block = aesce_decrypt_block(block, keys, ctx->nr);
|
block = aesce_decrypt_block(block, keys, ctx->nr);
|
||||||
|
} else
|
||||||
|
#else
|
||||||
|
(void) mode;
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
block = aesce_encrypt_block(block, keys, ctx->nr);
|
||||||
}
|
}
|
||||||
vst1q_u8(&output[0], block);
|
vst1q_u8(&output[0], block);
|
||||||
|
|
||||||
|
@ -243,6 +250,7 @@ int mbedtls_aesce_crypt_ecb(mbedtls_aes_context *ctx,
|
||||||
/*
|
/*
|
||||||
* Compute decryption round keys from encryption round keys
|
* Compute decryption round keys from encryption round keys
|
||||||
*/
|
*/
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
void mbedtls_aesce_inverse_key(unsigned char *invkey,
|
void mbedtls_aesce_inverse_key(unsigned char *invkey,
|
||||||
const unsigned char *fwdkey,
|
const unsigned char *fwdkey,
|
||||||
int nr)
|
int nr)
|
||||||
|
@ -257,6 +265,7 @@ void mbedtls_aesce_inverse_key(unsigned char *invkey,
|
||||||
vst1q_u8(invkey + i * 16, vld1q_u8(fwdkey + j * 16));
|
vst1q_u8(invkey + i * 16, vld1q_u8(fwdkey + j * 16));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static inline uint32_t aes_rot_word(uint32_t word)
|
static inline uint32_t aes_rot_word(uint32_t word)
|
||||||
{
|
{
|
||||||
|
|
|
@ -87,6 +87,7 @@ void mbedtls_aesce_gcm_mult(unsigned char c[16],
|
||||||
const unsigned char b[16]);
|
const unsigned char b[16]);
|
||||||
|
|
||||||
|
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
/**
|
/**
|
||||||
* \brief Internal round key inversion. This function computes
|
* \brief Internal round key inversion. This function computes
|
||||||
* decryption round keys from the encryption round keys.
|
* decryption round keys from the encryption round keys.
|
||||||
|
@ -98,6 +99,7 @@ void mbedtls_aesce_gcm_mult(unsigned char c[16],
|
||||||
void mbedtls_aesce_inverse_key(unsigned char *invkey,
|
void mbedtls_aesce_inverse_key(unsigned char *invkey,
|
||||||
const unsigned char *fwdkey,
|
const unsigned char *fwdkey,
|
||||||
int nr);
|
int nr);
|
||||||
|
#endif /* !MBEDTLS_BLOCK_CIPHER_NO_DECRYPT */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Internal key expansion for encryption
|
* \brief Internal key expansion for encryption
|
||||||
|
|
|
@ -94,14 +94,19 @@ int mbedtls_aesni_crypt_ecb(mbedtls_aes_context *ctx,
|
||||||
++rk;
|
++rk;
|
||||||
--nr;
|
--nr;
|
||||||
|
|
||||||
if (mode == 0) {
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
|
if (mode == MBEDTLS_AES_DECRYPT) {
|
||||||
while (nr != 0) {
|
while (nr != 0) {
|
||||||
state = _mm_aesdec_si128(state, *rk);
|
state = _mm_aesdec_si128(state, *rk);
|
||||||
++rk;
|
++rk;
|
||||||
--nr;
|
--nr;
|
||||||
}
|
}
|
||||||
state = _mm_aesdeclast_si128(state, *rk);
|
state = _mm_aesdeclast_si128(state, *rk);
|
||||||
} else {
|
} else
|
||||||
|
#else
|
||||||
|
(void) mode;
|
||||||
|
#endif
|
||||||
|
{
|
||||||
while (nr != 0) {
|
while (nr != 0) {
|
||||||
state = _mm_aesenc_si128(state, *rk);
|
state = _mm_aesenc_si128(state, *rk);
|
||||||
++rk;
|
++rk;
|
||||||
|
@ -218,6 +223,7 @@ void mbedtls_aesni_gcm_mult(unsigned char c[16],
|
||||||
/*
|
/*
|
||||||
* Compute decryption round keys from encryption round keys
|
* Compute decryption round keys from encryption round keys
|
||||||
*/
|
*/
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
void mbedtls_aesni_inverse_key(unsigned char *invkey,
|
void mbedtls_aesni_inverse_key(unsigned char *invkey,
|
||||||
const unsigned char *fwdkey, int nr)
|
const unsigned char *fwdkey, int nr)
|
||||||
{
|
{
|
||||||
|
@ -230,6 +236,7 @@ void mbedtls_aesni_inverse_key(unsigned char *invkey,
|
||||||
}
|
}
|
||||||
*ik = *fk;
|
*ik = *fk;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Key expansion, 128-bit case
|
* Key expansion, 128-bit case
|
||||||
|
@ -465,6 +472,7 @@ int mbedtls_aesni_crypt_ecb(mbedtls_aes_context *ctx,
|
||||||
"jnz 1b \n\t"
|
"jnz 1b \n\t"
|
||||||
"movdqu (%1), %%xmm1 \n\t" // load round key
|
"movdqu (%1), %%xmm1 \n\t" // load round key
|
||||||
AESENCLAST(xmm1_xmm0) // last round
|
AESENCLAST(xmm1_xmm0) // last round
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
"jmp 3f \n\t"
|
"jmp 3f \n\t"
|
||||||
|
|
||||||
"2: \n\t" // decryption loop
|
"2: \n\t" // decryption loop
|
||||||
|
@ -475,6 +483,7 @@ int mbedtls_aesni_crypt_ecb(mbedtls_aes_context *ctx,
|
||||||
"jnz 2b \n\t"
|
"jnz 2b \n\t"
|
||||||
"movdqu (%1), %%xmm1 \n\t" // load round key
|
"movdqu (%1), %%xmm1 \n\t" // load round key
|
||||||
AESDECLAST(xmm1_xmm0) // last round
|
AESDECLAST(xmm1_xmm0) // last round
|
||||||
|
#endif
|
||||||
|
|
||||||
"3: \n\t"
|
"3: \n\t"
|
||||||
"movdqu %%xmm0, (%4) \n\t" // export output
|
"movdqu %%xmm0, (%4) \n\t" // export output
|
||||||
|
@ -601,6 +610,7 @@ void mbedtls_aesni_gcm_mult(unsigned char c[16],
|
||||||
/*
|
/*
|
||||||
* Compute decryption round keys from encryption round keys
|
* Compute decryption round keys from encryption round keys
|
||||||
*/
|
*/
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
void mbedtls_aesni_inverse_key(unsigned char *invkey,
|
void mbedtls_aesni_inverse_key(unsigned char *invkey,
|
||||||
const unsigned char *fwdkey, int nr)
|
const unsigned char *fwdkey, int nr)
|
||||||
{
|
{
|
||||||
|
@ -620,6 +630,7 @@ void mbedtls_aesni_inverse_key(unsigned char *invkey,
|
||||||
|
|
||||||
memcpy(ik, fk, 16);
|
memcpy(ik, fk, 16);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Key expansion, 128-bit case
|
* Key expansion, 128-bit case
|
||||||
|
|
|
@ -119,6 +119,7 @@ void mbedtls_aesni_gcm_mult(unsigned char c[16],
|
||||||
const unsigned char a[16],
|
const unsigned char a[16],
|
||||||
const unsigned char b[16]);
|
const unsigned char b[16]);
|
||||||
|
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
/**
|
/**
|
||||||
* \brief Internal round key inversion. This function computes
|
* \brief Internal round key inversion. This function computes
|
||||||
* decryption round keys from the encryption round keys.
|
* decryption round keys from the encryption round keys.
|
||||||
|
@ -133,6 +134,7 @@ void mbedtls_aesni_gcm_mult(unsigned char c[16],
|
||||||
void mbedtls_aesni_inverse_key(unsigned char *invkey,
|
void mbedtls_aesni_inverse_key(unsigned char *invkey,
|
||||||
const unsigned char *fwdkey,
|
const unsigned char *fwdkey,
|
||||||
int nr);
|
int nr);
|
||||||
|
#endif /* !MBEDTLS_BLOCK_CIPHER_NO_DECRYPT */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Internal key expansion for encryption
|
* \brief Internal key expansion for encryption
|
||||||
|
@ -155,6 +157,6 @@ int mbedtls_aesni_setkey_enc(unsigned char *rk,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* MBEDTLS_AESNI_HAVE_CODE */
|
#endif /* MBEDTLS_AESNI_HAVE_CODE */
|
||||||
#endif /* MBEDTLS_AESNI_C */
|
#endif /* MBEDTLS_AESNI_C && (MBEDTLS_ARCH_IS_X64 || MBEDTLS_ARCH_IS_X86) */
|
||||||
|
|
||||||
#endif /* MBEDTLS_AESNI_H */
|
#endif /* MBEDTLS_AESNI_H */
|
||||||
|
|
|
@ -413,6 +413,7 @@ int mbedtls_aria_setkey_enc(mbedtls_aria_context *ctx,
|
||||||
/*
|
/*
|
||||||
* Set decryption key
|
* Set decryption key
|
||||||
*/
|
*/
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
int mbedtls_aria_setkey_dec(mbedtls_aria_context *ctx,
|
int mbedtls_aria_setkey_dec(mbedtls_aria_context *ctx,
|
||||||
const unsigned char *key, unsigned int keybits)
|
const unsigned char *key, unsigned int keybits)
|
||||||
{
|
{
|
||||||
|
@ -442,6 +443,7 @@ int mbedtls_aria_setkey_dec(mbedtls_aria_context *ctx,
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif /* !MBEDTLS_BLOCK_CIPHER_NO_DECRYPT */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Encrypt a block
|
* Encrypt a block
|
||||||
|
@ -872,12 +874,18 @@ int mbedtls_aria_self_test(int verbose)
|
||||||
/* test ECB decryption */
|
/* test ECB decryption */
|
||||||
if (verbose) {
|
if (verbose) {
|
||||||
mbedtls_printf(" ARIA-ECB-%d (dec): ", 128 + 64 * i);
|
mbedtls_printf(" ARIA-ECB-%d (dec): ", 128 + 64 * i);
|
||||||
|
#if defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
|
mbedtls_printf("skipped\n");
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
mbedtls_aria_setkey_dec(&ctx, aria_test1_ecb_key, 128 + 64 * i);
|
mbedtls_aria_setkey_dec(&ctx, aria_test1_ecb_key, 128 + 64 * i);
|
||||||
mbedtls_aria_crypt_ecb(&ctx, aria_test1_ecb_ct[i], blk);
|
mbedtls_aria_crypt_ecb(&ctx, aria_test1_ecb_ct[i], blk);
|
||||||
ARIA_SELF_TEST_ASSERT(
|
ARIA_SELF_TEST_ASSERT(
|
||||||
memcmp(blk, aria_test1_ecb_pt, MBEDTLS_ARIA_BLOCKSIZE)
|
memcmp(blk, aria_test1_ecb_pt, MBEDTLS_ARIA_BLOCKSIZE)
|
||||||
!= 0);
|
!= 0);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
if (verbose) {
|
if (verbose) {
|
||||||
mbedtls_printf("\n");
|
mbedtls_printf("\n");
|
||||||
|
|
|
@ -399,6 +399,7 @@ int mbedtls_camellia_setkey_enc(mbedtls_camellia_context *ctx,
|
||||||
/*
|
/*
|
||||||
* Camellia key schedule (decryption)
|
* Camellia key schedule (decryption)
|
||||||
*/
|
*/
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
int mbedtls_camellia_setkey_dec(mbedtls_camellia_context *ctx,
|
int mbedtls_camellia_setkey_dec(mbedtls_camellia_context *ctx,
|
||||||
const unsigned char *key,
|
const unsigned char *key,
|
||||||
unsigned int keybits)
|
unsigned int keybits)
|
||||||
|
@ -444,6 +445,7 @@ exit:
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
#endif /* !MBEDTLS_BLOCK_CIPHER_NO_DECRYPT */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Camellia-ECB block encryption/decryption
|
* Camellia-ECB block encryption/decryption
|
||||||
|
@ -888,14 +890,26 @@ int mbedtls_camellia_self_test(int verbose)
|
||||||
(v == MBEDTLS_CAMELLIA_DECRYPT) ? "dec" : "enc");
|
(v == MBEDTLS_CAMELLIA_DECRYPT) ? "dec" : "enc");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
|
if (v == MBEDTLS_CAMELLIA_DECRYPT) {
|
||||||
|
if (verbose != 0) {
|
||||||
|
mbedtls_printf("skipped\n");
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
for (i = 0; i < CAMELLIA_TESTS_ECB; i++) {
|
for (i = 0; i < CAMELLIA_TESTS_ECB; i++) {
|
||||||
memcpy(key, camellia_test_ecb_key[u][i], 16 + 8 * u);
|
memcpy(key, camellia_test_ecb_key[u][i], 16 + 8 * u);
|
||||||
|
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
if (v == MBEDTLS_CAMELLIA_DECRYPT) {
|
if (v == MBEDTLS_CAMELLIA_DECRYPT) {
|
||||||
mbedtls_camellia_setkey_dec(&ctx, key, 128 + u * 64);
|
mbedtls_camellia_setkey_dec(&ctx, key, 128 + u * 64);
|
||||||
memcpy(src, camellia_test_ecb_cipher[u][i], 16);
|
memcpy(src, camellia_test_ecb_cipher[u][i], 16);
|
||||||
memcpy(dst, camellia_test_ecb_plain[i], 16);
|
memcpy(dst, camellia_test_ecb_plain[i], 16);
|
||||||
} else { /* MBEDTLS_CAMELLIA_ENCRYPT */
|
} else
|
||||||
|
#endif
|
||||||
|
{ /* MBEDTLS_CAMELLIA_ENCRYPT */
|
||||||
mbedtls_camellia_setkey_enc(&ctx, key, 128 + u * 64);
|
mbedtls_camellia_setkey_enc(&ctx, key, 128 + u * 64);
|
||||||
memcpy(src, camellia_test_ecb_plain[i], 16);
|
memcpy(src, camellia_test_ecb_plain[i], 16);
|
||||||
memcpy(dst, camellia_test_ecb_cipher[u][i], 16);
|
memcpy(dst, camellia_test_ecb_cipher[u][i], 16);
|
||||||
|
|
|
@ -310,6 +310,12 @@ int mbedtls_cipher_setkey(mbedtls_cipher_context_t *ctx,
|
||||||
if (ctx->cipher_info == NULL) {
|
if (ctx->cipher_info == NULL) {
|
||||||
return MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA;
|
return MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA;
|
||||||
}
|
}
|
||||||
|
#if defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
|
if (MBEDTLS_MODE_ECB == ((mbedtls_cipher_mode_t) ctx->cipher_info->mode) &&
|
||||||
|
MBEDTLS_DECRYPT == operation) {
|
||||||
|
return MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(MBEDTLS_USE_PSA_CRYPTO) && !defined(MBEDTLS_DEPRECATED_REMOVED)
|
#if defined(MBEDTLS_USE_PSA_CRYPTO) && !defined(MBEDTLS_DEPRECATED_REMOVED)
|
||||||
if (ctx->psa_enabled == 1) {
|
if (ctx->psa_enabled == 1) {
|
||||||
|
@ -377,6 +383,7 @@ int mbedtls_cipher_setkey(mbedtls_cipher_context_t *ctx,
|
||||||
ctx->key_bitlen = key_bitlen;
|
ctx->key_bitlen = key_bitlen;
|
||||||
ctx->operation = operation;
|
ctx->operation = operation;
|
||||||
|
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
/*
|
/*
|
||||||
* For OFB, CFB and CTR mode always use the encryption key schedule
|
* For OFB, CFB and CTR mode always use the encryption key schedule
|
||||||
*/
|
*/
|
||||||
|
@ -392,6 +399,12 @@ int mbedtls_cipher_setkey(mbedtls_cipher_context_t *ctx,
|
||||||
return mbedtls_cipher_get_base(ctx->cipher_info)->setkey_dec_func(ctx->cipher_ctx, key,
|
return mbedtls_cipher_get_base(ctx->cipher_info)->setkey_dec_func(ctx->cipher_ctx, key,
|
||||||
ctx->key_bitlen);
|
ctx->key_bitlen);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (operation == MBEDTLS_ENCRYPT || operation == MBEDTLS_DECRYPT) {
|
||||||
|
return mbedtls_cipher_get_base(ctx->cipher_info)->setkey_enc_func(ctx->cipher_ctx, key,
|
||||||
|
ctx->key_bitlen);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA;
|
return MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA;
|
||||||
}
|
}
|
||||||
|
|
|
@ -226,11 +226,13 @@ static int aes_crypt_xts_wrap(void *ctx, mbedtls_operation_t operation,
|
||||||
}
|
}
|
||||||
#endif /* MBEDTLS_CIPHER_MODE_XTS */
|
#endif /* MBEDTLS_CIPHER_MODE_XTS */
|
||||||
|
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
static int aes_setkey_dec_wrap(void *ctx, const unsigned char *key,
|
static int aes_setkey_dec_wrap(void *ctx, const unsigned char *key,
|
||||||
unsigned int key_bitlen)
|
unsigned int key_bitlen)
|
||||||
{
|
{
|
||||||
return mbedtls_aes_setkey_dec((mbedtls_aes_context *) ctx, key, key_bitlen);
|
return mbedtls_aes_setkey_dec((mbedtls_aes_context *) ctx, key, key_bitlen);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static int aes_setkey_enc_wrap(void *ctx, const unsigned char *key,
|
static int aes_setkey_enc_wrap(void *ctx, const unsigned char *key,
|
||||||
unsigned int key_bitlen)
|
unsigned int key_bitlen)
|
||||||
|
@ -279,7 +281,9 @@ static const mbedtls_cipher_base_t aes_info = {
|
||||||
NULL,
|
NULL,
|
||||||
#endif
|
#endif
|
||||||
aes_setkey_enc_wrap,
|
aes_setkey_enc_wrap,
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
aes_setkey_dec_wrap,
|
aes_setkey_dec_wrap,
|
||||||
|
#endif
|
||||||
aes_ctx_alloc,
|
aes_ctx_alloc,
|
||||||
aes_ctx_free
|
aes_ctx_free
|
||||||
};
|
};
|
||||||
|
@ -591,7 +595,9 @@ static const mbedtls_cipher_base_t gcm_aes_info = {
|
||||||
#endif
|
#endif
|
||||||
#if defined(MBEDTLS_GCM_C)
|
#if defined(MBEDTLS_GCM_C)
|
||||||
gcm_aes_setkey_wrap,
|
gcm_aes_setkey_wrap,
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
gcm_aes_setkey_wrap,
|
gcm_aes_setkey_wrap,
|
||||||
|
#endif
|
||||||
gcm_ctx_alloc,
|
gcm_ctx_alloc,
|
||||||
gcm_ctx_free,
|
gcm_ctx_free,
|
||||||
#else
|
#else
|
||||||
|
@ -673,7 +679,9 @@ static const mbedtls_cipher_base_t ccm_aes_info = {
|
||||||
#endif
|
#endif
|
||||||
#if defined(MBEDTLS_CCM_C)
|
#if defined(MBEDTLS_CCM_C)
|
||||||
ccm_aes_setkey_wrap,
|
ccm_aes_setkey_wrap,
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
ccm_aes_setkey_wrap,
|
ccm_aes_setkey_wrap,
|
||||||
|
#endif
|
||||||
ccm_ctx_alloc,
|
ccm_ctx_alloc,
|
||||||
ccm_ctx_free,
|
ccm_ctx_free,
|
||||||
#else
|
#else
|
||||||
|
@ -799,11 +807,13 @@ static int camellia_crypt_ctr_wrap(void *ctx, size_t length, size_t *nc_off,
|
||||||
}
|
}
|
||||||
#endif /* MBEDTLS_CIPHER_MODE_CTR */
|
#endif /* MBEDTLS_CIPHER_MODE_CTR */
|
||||||
|
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
static int camellia_setkey_dec_wrap(void *ctx, const unsigned char *key,
|
static int camellia_setkey_dec_wrap(void *ctx, const unsigned char *key,
|
||||||
unsigned int key_bitlen)
|
unsigned int key_bitlen)
|
||||||
{
|
{
|
||||||
return mbedtls_camellia_setkey_dec((mbedtls_camellia_context *) ctx, key, key_bitlen);
|
return mbedtls_camellia_setkey_dec((mbedtls_camellia_context *) ctx, key, key_bitlen);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static int camellia_setkey_enc_wrap(void *ctx, const unsigned char *key,
|
static int camellia_setkey_enc_wrap(void *ctx, const unsigned char *key,
|
||||||
unsigned int key_bitlen)
|
unsigned int key_bitlen)
|
||||||
|
@ -853,7 +863,9 @@ static const mbedtls_cipher_base_t camellia_info = {
|
||||||
NULL,
|
NULL,
|
||||||
#endif
|
#endif
|
||||||
camellia_setkey_enc_wrap,
|
camellia_setkey_enc_wrap,
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
camellia_setkey_dec_wrap,
|
camellia_setkey_dec_wrap,
|
||||||
|
#endif
|
||||||
camellia_ctx_alloc,
|
camellia_ctx_alloc,
|
||||||
camellia_ctx_free
|
camellia_ctx_free
|
||||||
};
|
};
|
||||||
|
@ -1026,7 +1038,9 @@ static const mbedtls_cipher_base_t gcm_camellia_info = {
|
||||||
NULL,
|
NULL,
|
||||||
#endif
|
#endif
|
||||||
gcm_camellia_setkey_wrap,
|
gcm_camellia_setkey_wrap,
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
gcm_camellia_setkey_wrap,
|
gcm_camellia_setkey_wrap,
|
||||||
|
#endif
|
||||||
gcm_ctx_alloc,
|
gcm_ctx_alloc,
|
||||||
gcm_ctx_free,
|
gcm_ctx_free,
|
||||||
};
|
};
|
||||||
|
@ -1095,7 +1109,9 @@ static const mbedtls_cipher_base_t ccm_camellia_info = {
|
||||||
NULL,
|
NULL,
|
||||||
#endif
|
#endif
|
||||||
ccm_camellia_setkey_wrap,
|
ccm_camellia_setkey_wrap,
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
ccm_camellia_setkey_wrap,
|
ccm_camellia_setkey_wrap,
|
||||||
|
#endif
|
||||||
ccm_ctx_alloc,
|
ccm_ctx_alloc,
|
||||||
ccm_ctx_free,
|
ccm_ctx_free,
|
||||||
};
|
};
|
||||||
|
@ -1209,11 +1225,13 @@ static int aria_crypt_ctr_wrap(void *ctx, size_t length, size_t *nc_off,
|
||||||
}
|
}
|
||||||
#endif /* MBEDTLS_CIPHER_MODE_CTR */
|
#endif /* MBEDTLS_CIPHER_MODE_CTR */
|
||||||
|
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
static int aria_setkey_dec_wrap(void *ctx, const unsigned char *key,
|
static int aria_setkey_dec_wrap(void *ctx, const unsigned char *key,
|
||||||
unsigned int key_bitlen)
|
unsigned int key_bitlen)
|
||||||
{
|
{
|
||||||
return mbedtls_aria_setkey_dec((mbedtls_aria_context *) ctx, key, key_bitlen);
|
return mbedtls_aria_setkey_dec((mbedtls_aria_context *) ctx, key, key_bitlen);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static int aria_setkey_enc_wrap(void *ctx, const unsigned char *key,
|
static int aria_setkey_enc_wrap(void *ctx, const unsigned char *key,
|
||||||
unsigned int key_bitlen)
|
unsigned int key_bitlen)
|
||||||
|
@ -1263,7 +1281,9 @@ static const mbedtls_cipher_base_t aria_info = {
|
||||||
NULL,
|
NULL,
|
||||||
#endif
|
#endif
|
||||||
aria_setkey_enc_wrap,
|
aria_setkey_enc_wrap,
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
aria_setkey_dec_wrap,
|
aria_setkey_dec_wrap,
|
||||||
|
#endif
|
||||||
aria_ctx_alloc,
|
aria_ctx_alloc,
|
||||||
aria_ctx_free
|
aria_ctx_free
|
||||||
};
|
};
|
||||||
|
@ -1436,7 +1456,9 @@ static const mbedtls_cipher_base_t gcm_aria_info = {
|
||||||
NULL,
|
NULL,
|
||||||
#endif
|
#endif
|
||||||
gcm_aria_setkey_wrap,
|
gcm_aria_setkey_wrap,
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
gcm_aria_setkey_wrap,
|
gcm_aria_setkey_wrap,
|
||||||
|
#endif
|
||||||
gcm_ctx_alloc,
|
gcm_ctx_alloc,
|
||||||
gcm_ctx_free,
|
gcm_ctx_free,
|
||||||
};
|
};
|
||||||
|
@ -1505,7 +1527,9 @@ static const mbedtls_cipher_base_t ccm_aria_info = {
|
||||||
NULL,
|
NULL,
|
||||||
#endif
|
#endif
|
||||||
ccm_aria_setkey_wrap,
|
ccm_aria_setkey_wrap,
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
ccm_aria_setkey_wrap,
|
ccm_aria_setkey_wrap,
|
||||||
|
#endif
|
||||||
ccm_ctx_alloc,
|
ccm_ctx_alloc,
|
||||||
ccm_ctx_free,
|
ccm_ctx_free,
|
||||||
};
|
};
|
||||||
|
@ -1925,7 +1949,9 @@ static const mbedtls_cipher_base_t chacha20_base_info = {
|
||||||
chacha20_stream_wrap,
|
chacha20_stream_wrap,
|
||||||
#endif
|
#endif
|
||||||
chacha20_setkey_wrap,
|
chacha20_setkey_wrap,
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
chacha20_setkey_wrap,
|
chacha20_setkey_wrap,
|
||||||
|
#endif
|
||||||
chacha20_ctx_alloc,
|
chacha20_ctx_alloc,
|
||||||
chacha20_ctx_free
|
chacha20_ctx_free
|
||||||
};
|
};
|
||||||
|
@ -2000,7 +2026,9 @@ static const mbedtls_cipher_base_t chachapoly_base_info = {
|
||||||
NULL,
|
NULL,
|
||||||
#endif
|
#endif
|
||||||
chachapoly_setkey_wrap,
|
chachapoly_setkey_wrap,
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
chachapoly_setkey_wrap,
|
chachapoly_setkey_wrap,
|
||||||
|
#endif
|
||||||
chachapoly_ctx_alloc,
|
chachapoly_ctx_alloc,
|
||||||
chachapoly_ctx_free
|
chachapoly_ctx_free
|
||||||
};
|
};
|
||||||
|
@ -2068,7 +2096,9 @@ static const mbedtls_cipher_base_t null_base_info = {
|
||||||
null_crypt_stream,
|
null_crypt_stream,
|
||||||
#endif
|
#endif
|
||||||
null_setkey,
|
null_setkey,
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
null_setkey,
|
null_setkey,
|
||||||
|
#endif
|
||||||
null_ctx_alloc,
|
null_ctx_alloc,
|
||||||
null_ctx_free
|
null_ctx_free
|
||||||
};
|
};
|
||||||
|
|
|
@ -125,9 +125,11 @@ struct mbedtls_cipher_base_t {
|
||||||
int (*setkey_enc_func)(void *ctx, const unsigned char *key,
|
int (*setkey_enc_func)(void *ctx, const unsigned char *key,
|
||||||
unsigned int key_bitlen);
|
unsigned int key_bitlen);
|
||||||
|
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
/** Set key for decryption purposes */
|
/** Set key for decryption purposes */
|
||||||
int (*setkey_dec_func)(void *ctx, const unsigned char *key,
|
int (*setkey_dec_func)(void *ctx, const unsigned char *key,
|
||||||
unsigned int key_bitlen);
|
unsigned int key_bitlen);
|
||||||
|
#endif
|
||||||
|
|
||||||
/** Allocate a new context */
|
/** Allocate a new context */
|
||||||
void * (*ctx_alloc_func)(void);
|
void * (*ctx_alloc_func)(void);
|
||||||
|
|
|
@ -96,6 +96,7 @@ int mbedtls_padlock_xcryptecb(mbedtls_aes_context *ctx,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_CIPHER_MODE_CBC)
|
||||||
/*
|
/*
|
||||||
* PadLock AES-CBC buffer en(de)cryption
|
* PadLock AES-CBC buffer en(de)cryption
|
||||||
*/
|
*/
|
||||||
|
@ -149,6 +150,7 @@ int mbedtls_padlock_xcryptcbc(mbedtls_aes_context *ctx,
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif /* MBEDTLS_CIPHER_MODE_CBC */
|
||||||
|
|
||||||
#endif /* MBEDTLS_VIA_PADLOCK_HAVE_CODE */
|
#endif /* MBEDTLS_VIA_PADLOCK_HAVE_CODE */
|
||||||
|
|
||||||
|
|
|
@ -691,11 +691,6 @@ static int ssl_write_client_hello_body(mbedtls_ssl_context *ssl,
|
||||||
p_extensions_len, extensions_len);
|
p_extensions_len, extensions_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(MBEDTLS_SSL_PROTO_TLS1_3)
|
|
||||||
MBEDTLS_SSL_PRINT_EXTS(
|
|
||||||
3, MBEDTLS_SSL_HS_CLIENT_HELLO, handshake->sent_extensions);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
*out_len = (size_t) (p - buf);
|
*out_len = (size_t) (p - buf);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1006,6 +1001,11 @@ int mbedtls_ssl_write_client_hello(mbedtls_ssl_context *ssl)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_SSL_PROTO_TLS1_3)
|
||||||
|
MBEDTLS_SSL_PRINT_EXTS(
|
||||||
|
3, MBEDTLS_SSL_HS_CLIENT_HELLO, ssl->handshake->sent_extensions);
|
||||||
|
#endif
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
|
|
||||||
MBEDTLS_SSL_DEBUG_MSG(2, ("<= write client hello"));
|
MBEDTLS_SSL_DEBUG_MSG(2, ("<= write client hello"));
|
||||||
|
|
|
@ -2715,132 +2715,185 @@ psa_status_t mbedtls_ssl_cipher_to_psa(mbedtls_cipher_type_t mbedtls_cipher_type
|
||||||
psa_key_type_t *key_type,
|
psa_key_type_t *key_type,
|
||||||
size_t *key_size)
|
size_t *key_size)
|
||||||
{
|
{
|
||||||
|
#if !defined(MBEDTLS_SSL_HAVE_CCM)
|
||||||
|
(void) taglen;
|
||||||
|
#endif
|
||||||
switch (mbedtls_cipher_type) {
|
switch (mbedtls_cipher_type) {
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_AES) && defined(MBEDTLS_SSL_HAVE_CBC)
|
||||||
case MBEDTLS_CIPHER_AES_128_CBC:
|
case MBEDTLS_CIPHER_AES_128_CBC:
|
||||||
*alg = PSA_ALG_CBC_NO_PADDING;
|
*alg = PSA_ALG_CBC_NO_PADDING;
|
||||||
*key_type = PSA_KEY_TYPE_AES;
|
*key_type = PSA_KEY_TYPE_AES;
|
||||||
*key_size = 128;
|
*key_size = 128;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_AES) && defined(MBEDTLS_SSL_HAVE_CCM)
|
||||||
case MBEDTLS_CIPHER_AES_128_CCM:
|
case MBEDTLS_CIPHER_AES_128_CCM:
|
||||||
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
|
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
|
||||||
*key_type = PSA_KEY_TYPE_AES;
|
*key_type = PSA_KEY_TYPE_AES;
|
||||||
*key_size = 128;
|
*key_size = 128;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_AES) && defined(MBEDTLS_SSL_HAVE_GCM)
|
||||||
case MBEDTLS_CIPHER_AES_128_GCM:
|
case MBEDTLS_CIPHER_AES_128_GCM:
|
||||||
*alg = PSA_ALG_GCM;
|
*alg = PSA_ALG_GCM;
|
||||||
*key_type = PSA_KEY_TYPE_AES;
|
*key_type = PSA_KEY_TYPE_AES;
|
||||||
*key_size = 128;
|
*key_size = 128;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_AES) && defined(MBEDTLS_SSL_HAVE_CCM)
|
||||||
case MBEDTLS_CIPHER_AES_192_CCM:
|
case MBEDTLS_CIPHER_AES_192_CCM:
|
||||||
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
|
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
|
||||||
*key_type = PSA_KEY_TYPE_AES;
|
*key_type = PSA_KEY_TYPE_AES;
|
||||||
*key_size = 192;
|
*key_size = 192;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_AES) && defined(MBEDTLS_SSL_HAVE_GCM)
|
||||||
case MBEDTLS_CIPHER_AES_192_GCM:
|
case MBEDTLS_CIPHER_AES_192_GCM:
|
||||||
*alg = PSA_ALG_GCM;
|
*alg = PSA_ALG_GCM;
|
||||||
*key_type = PSA_KEY_TYPE_AES;
|
*key_type = PSA_KEY_TYPE_AES;
|
||||||
*key_size = 192;
|
*key_size = 192;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_AES) && defined(MBEDTLS_SSL_HAVE_CBC)
|
||||||
case MBEDTLS_CIPHER_AES_256_CBC:
|
case MBEDTLS_CIPHER_AES_256_CBC:
|
||||||
*alg = PSA_ALG_CBC_NO_PADDING;
|
*alg = PSA_ALG_CBC_NO_PADDING;
|
||||||
*key_type = PSA_KEY_TYPE_AES;
|
*key_type = PSA_KEY_TYPE_AES;
|
||||||
*key_size = 256;
|
*key_size = 256;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_AES) && defined(MBEDTLS_SSL_HAVE_CCM)
|
||||||
case MBEDTLS_CIPHER_AES_256_CCM:
|
case MBEDTLS_CIPHER_AES_256_CCM:
|
||||||
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
|
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
|
||||||
*key_type = PSA_KEY_TYPE_AES;
|
*key_type = PSA_KEY_TYPE_AES;
|
||||||
*key_size = 256;
|
*key_size = 256;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_AES) && defined(MBEDTLS_SSL_HAVE_GCM)
|
||||||
case MBEDTLS_CIPHER_AES_256_GCM:
|
case MBEDTLS_CIPHER_AES_256_GCM:
|
||||||
*alg = PSA_ALG_GCM;
|
*alg = PSA_ALG_GCM;
|
||||||
*key_type = PSA_KEY_TYPE_AES;
|
*key_type = PSA_KEY_TYPE_AES;
|
||||||
*key_size = 256;
|
*key_size = 256;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_ARIA) && defined(MBEDTLS_SSL_HAVE_CBC)
|
||||||
case MBEDTLS_CIPHER_ARIA_128_CBC:
|
case MBEDTLS_CIPHER_ARIA_128_CBC:
|
||||||
*alg = PSA_ALG_CBC_NO_PADDING;
|
*alg = PSA_ALG_CBC_NO_PADDING;
|
||||||
*key_type = PSA_KEY_TYPE_ARIA;
|
*key_type = PSA_KEY_TYPE_ARIA;
|
||||||
*key_size = 128;
|
*key_size = 128;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_ARIA) && defined(MBEDTLS_SSL_HAVE_CCM)
|
||||||
case MBEDTLS_CIPHER_ARIA_128_CCM:
|
case MBEDTLS_CIPHER_ARIA_128_CCM:
|
||||||
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
|
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
|
||||||
*key_type = PSA_KEY_TYPE_ARIA;
|
*key_type = PSA_KEY_TYPE_ARIA;
|
||||||
*key_size = 128;
|
*key_size = 128;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_ARIA) && defined(MBEDTLS_SSL_HAVE_GCM)
|
||||||
case MBEDTLS_CIPHER_ARIA_128_GCM:
|
case MBEDTLS_CIPHER_ARIA_128_GCM:
|
||||||
*alg = PSA_ALG_GCM;
|
*alg = PSA_ALG_GCM;
|
||||||
*key_type = PSA_KEY_TYPE_ARIA;
|
*key_type = PSA_KEY_TYPE_ARIA;
|
||||||
*key_size = 128;
|
*key_size = 128;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_ARIA) && defined(MBEDTLS_SSL_HAVE_CCM)
|
||||||
case MBEDTLS_CIPHER_ARIA_192_CCM:
|
case MBEDTLS_CIPHER_ARIA_192_CCM:
|
||||||
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
|
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
|
||||||
*key_type = PSA_KEY_TYPE_ARIA;
|
*key_type = PSA_KEY_TYPE_ARIA;
|
||||||
*key_size = 192;
|
*key_size = 192;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_ARIA) && defined(MBEDTLS_SSL_HAVE_GCM)
|
||||||
case MBEDTLS_CIPHER_ARIA_192_GCM:
|
case MBEDTLS_CIPHER_ARIA_192_GCM:
|
||||||
*alg = PSA_ALG_GCM;
|
*alg = PSA_ALG_GCM;
|
||||||
*key_type = PSA_KEY_TYPE_ARIA;
|
*key_type = PSA_KEY_TYPE_ARIA;
|
||||||
*key_size = 192;
|
*key_size = 192;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_ARIA) && defined(MBEDTLS_SSL_HAVE_CBC)
|
||||||
case MBEDTLS_CIPHER_ARIA_256_CBC:
|
case MBEDTLS_CIPHER_ARIA_256_CBC:
|
||||||
*alg = PSA_ALG_CBC_NO_PADDING;
|
*alg = PSA_ALG_CBC_NO_PADDING;
|
||||||
*key_type = PSA_KEY_TYPE_ARIA;
|
*key_type = PSA_KEY_TYPE_ARIA;
|
||||||
*key_size = 256;
|
*key_size = 256;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_ARIA) && defined(MBEDTLS_SSL_HAVE_CCM)
|
||||||
case MBEDTLS_CIPHER_ARIA_256_CCM:
|
case MBEDTLS_CIPHER_ARIA_256_CCM:
|
||||||
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
|
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
|
||||||
*key_type = PSA_KEY_TYPE_ARIA;
|
*key_type = PSA_KEY_TYPE_ARIA;
|
||||||
*key_size = 256;
|
*key_size = 256;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_ARIA) && defined(MBEDTLS_SSL_HAVE_GCM)
|
||||||
case MBEDTLS_CIPHER_ARIA_256_GCM:
|
case MBEDTLS_CIPHER_ARIA_256_GCM:
|
||||||
*alg = PSA_ALG_GCM;
|
*alg = PSA_ALG_GCM;
|
||||||
*key_type = PSA_KEY_TYPE_ARIA;
|
*key_type = PSA_KEY_TYPE_ARIA;
|
||||||
*key_size = 256;
|
*key_size = 256;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) && defined(MBEDTLS_SSL_HAVE_CBC)
|
||||||
case MBEDTLS_CIPHER_CAMELLIA_128_CBC:
|
case MBEDTLS_CIPHER_CAMELLIA_128_CBC:
|
||||||
*alg = PSA_ALG_CBC_NO_PADDING;
|
*alg = PSA_ALG_CBC_NO_PADDING;
|
||||||
*key_type = PSA_KEY_TYPE_CAMELLIA;
|
*key_type = PSA_KEY_TYPE_CAMELLIA;
|
||||||
*key_size = 128;
|
*key_size = 128;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) && defined(MBEDTLS_SSL_HAVE_CCM)
|
||||||
case MBEDTLS_CIPHER_CAMELLIA_128_CCM:
|
case MBEDTLS_CIPHER_CAMELLIA_128_CCM:
|
||||||
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
|
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
|
||||||
*key_type = PSA_KEY_TYPE_CAMELLIA;
|
*key_type = PSA_KEY_TYPE_CAMELLIA;
|
||||||
*key_size = 128;
|
*key_size = 128;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) && defined(MBEDTLS_SSL_HAVE_GCM)
|
||||||
case MBEDTLS_CIPHER_CAMELLIA_128_GCM:
|
case MBEDTLS_CIPHER_CAMELLIA_128_GCM:
|
||||||
*alg = PSA_ALG_GCM;
|
*alg = PSA_ALG_GCM;
|
||||||
*key_type = PSA_KEY_TYPE_CAMELLIA;
|
*key_type = PSA_KEY_TYPE_CAMELLIA;
|
||||||
*key_size = 128;
|
*key_size = 128;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) && defined(MBEDTLS_SSL_HAVE_CCM)
|
||||||
case MBEDTLS_CIPHER_CAMELLIA_192_CCM:
|
case MBEDTLS_CIPHER_CAMELLIA_192_CCM:
|
||||||
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
|
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
|
||||||
*key_type = PSA_KEY_TYPE_CAMELLIA;
|
*key_type = PSA_KEY_TYPE_CAMELLIA;
|
||||||
*key_size = 192;
|
*key_size = 192;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) && defined(MBEDTLS_SSL_HAVE_GCM)
|
||||||
case MBEDTLS_CIPHER_CAMELLIA_192_GCM:
|
case MBEDTLS_CIPHER_CAMELLIA_192_GCM:
|
||||||
*alg = PSA_ALG_GCM;
|
*alg = PSA_ALG_GCM;
|
||||||
*key_type = PSA_KEY_TYPE_CAMELLIA;
|
*key_type = PSA_KEY_TYPE_CAMELLIA;
|
||||||
*key_size = 192;
|
*key_size = 192;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) && defined(MBEDTLS_SSL_HAVE_CBC)
|
||||||
case MBEDTLS_CIPHER_CAMELLIA_256_CBC:
|
case MBEDTLS_CIPHER_CAMELLIA_256_CBC:
|
||||||
*alg = PSA_ALG_CBC_NO_PADDING;
|
*alg = PSA_ALG_CBC_NO_PADDING;
|
||||||
*key_type = PSA_KEY_TYPE_CAMELLIA;
|
*key_type = PSA_KEY_TYPE_CAMELLIA;
|
||||||
*key_size = 256;
|
*key_size = 256;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) && defined(MBEDTLS_SSL_HAVE_CCM)
|
||||||
case MBEDTLS_CIPHER_CAMELLIA_256_CCM:
|
case MBEDTLS_CIPHER_CAMELLIA_256_CCM:
|
||||||
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
|
*alg = taglen ? PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, taglen) : PSA_ALG_CCM;
|
||||||
*key_type = PSA_KEY_TYPE_CAMELLIA;
|
*key_type = PSA_KEY_TYPE_CAMELLIA;
|
||||||
*key_size = 256;
|
*key_size = 256;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) && defined(MBEDTLS_SSL_HAVE_GCM)
|
||||||
case MBEDTLS_CIPHER_CAMELLIA_256_GCM:
|
case MBEDTLS_CIPHER_CAMELLIA_256_GCM:
|
||||||
*alg = PSA_ALG_GCM;
|
*alg = PSA_ALG_GCM;
|
||||||
*key_type = PSA_KEY_TYPE_CAMELLIA;
|
*key_type = PSA_KEY_TYPE_CAMELLIA;
|
||||||
*key_size = 256;
|
*key_size = 256;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if defined(MBEDTLS_SSL_HAVE_CHACHAPOLY)
|
||||||
case MBEDTLS_CIPHER_CHACHA20_POLY1305:
|
case MBEDTLS_CIPHER_CHACHA20_POLY1305:
|
||||||
*alg = PSA_ALG_CHACHA20_POLY1305;
|
*alg = PSA_ALG_CHACHA20_POLY1305;
|
||||||
*key_type = PSA_KEY_TYPE_CHACHA20;
|
*key_type = PSA_KEY_TYPE_CHACHA20;
|
||||||
*key_size = 256;
|
*key_size = 256;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
case MBEDTLS_CIPHER_NULL:
|
case MBEDTLS_CIPHER_NULL:
|
||||||
*alg = MBEDTLS_SSL_NULL_CIPHER;
|
*alg = MBEDTLS_SSL_NULL_CIPHER;
|
||||||
*key_type = 0;
|
*key_type = 0;
|
||||||
|
|
|
@ -44,6 +44,13 @@ int main(void)
|
||||||
"MBEDTLS_CTR_DRBG_C and/or MBEDTLS_SHA1_C not defined.\n");
|
"MBEDTLS_CTR_DRBG_C and/or MBEDTLS_SHA1_C not defined.\n");
|
||||||
mbedtls_exit(0);
|
mbedtls_exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#elif defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
mbedtls_printf("MBEDTLS_BLOCK_CIPHER_NO_DECRYPT defined.\n");
|
||||||
|
mbedtls_exit(0);
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -46,6 +46,12 @@
|
||||||
*/
|
*/
|
||||||
volatile int false_but_the_compiler_does_not_know = 0;
|
volatile int false_but_the_compiler_does_not_know = 0;
|
||||||
|
|
||||||
|
/* Hide calls to calloc/free from static checkers such as
|
||||||
|
* `gcc-12 -Wuse-after-free`, to avoid compile-time complaints about
|
||||||
|
* code where we do mean to cause a runtime error. */
|
||||||
|
void * (* volatile calloc_but_the_compiler_does_not_know)(size_t, size_t) = mbedtls_calloc;
|
||||||
|
void(*volatile free_but_the_compiler_does_not_know)(void *) = mbedtls_free;
|
||||||
|
|
||||||
/* Set n bytes at the address p to all-bits-zero, in such a way that
|
/* Set n bytes at the address p to all-bits-zero, in such a way that
|
||||||
* the compiler should not know that p is all-bits-zero. */
|
* the compiler should not know that p is all-bits-zero. */
|
||||||
static void set_to_zero_but_the_compiler_does_not_know(volatile void *p, size_t n)
|
static void set_to_zero_but_the_compiler_does_not_know(volatile void *p, size_t n)
|
||||||
|
@ -98,9 +104,9 @@ void null_pointer_call(const char *name)
|
||||||
void read_after_free(const char *name)
|
void read_after_free(const char *name)
|
||||||
{
|
{
|
||||||
(void) name;
|
(void) name;
|
||||||
volatile char *p = mbedtls_calloc(1, 1);
|
volatile char *p = calloc_but_the_compiler_does_not_know(1, 1);
|
||||||
*p = 'a';
|
*p = 'a';
|
||||||
mbedtls_free((void *) p);
|
free_but_the_compiler_does_not_know((void *) p);
|
||||||
/* Undefined behavior (read after free) */
|
/* Undefined behavior (read after free) */
|
||||||
mbedtls_printf("%u\n", (unsigned) *p);
|
mbedtls_printf("%u\n", (unsigned) *p);
|
||||||
}
|
}
|
||||||
|
@ -108,11 +114,11 @@ void read_after_free(const char *name)
|
||||||
void double_free(const char *name)
|
void double_free(const char *name)
|
||||||
{
|
{
|
||||||
(void) name;
|
(void) name;
|
||||||
volatile char *p = mbedtls_calloc(1, 1);
|
volatile char *p = calloc_but_the_compiler_does_not_know(1, 1);
|
||||||
*p = 'a';
|
*p = 'a';
|
||||||
mbedtls_free((void *) p);
|
free_but_the_compiler_does_not_know((void *) p);
|
||||||
/* Undefined behavior (double free) */
|
/* Undefined behavior (double free) */
|
||||||
mbedtls_free((void *) p);
|
free_but_the_compiler_does_not_know((void *) p);
|
||||||
}
|
}
|
||||||
|
|
||||||
void read_uninitialized_stack(const char *name)
|
void read_uninitialized_stack(const char *name)
|
||||||
|
@ -132,7 +138,7 @@ void read_uninitialized_stack(const char *name)
|
||||||
void memory_leak(const char *name)
|
void memory_leak(const char *name)
|
||||||
{
|
{
|
||||||
(void) name;
|
(void) name;
|
||||||
volatile char *p = mbedtls_calloc(1, 1);
|
volatile char *p = calloc_but_the_compiler_does_not_know(1, 1);
|
||||||
mbedtls_printf("%u\n", (unsigned) *p);
|
mbedtls_printf("%u\n", (unsigned) *p);
|
||||||
/* Leak of a heap object */
|
/* Leak of a heap object */
|
||||||
}
|
}
|
||||||
|
|
|
@ -180,6 +180,7 @@ EXCLUDE_FROM_FULL = frozenset([
|
||||||
#pylint: disable=line-too-long
|
#pylint: disable=line-too-long
|
||||||
'MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH', # interacts with CTR_DRBG_128_BIT_KEY
|
'MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH', # interacts with CTR_DRBG_128_BIT_KEY
|
||||||
'MBEDTLS_AES_USE_HARDWARE_ONLY', # hardware dependency
|
'MBEDTLS_AES_USE_HARDWARE_ONLY', # hardware dependency
|
||||||
|
'MBEDTLS_BLOCK_CIPHER_NO_DECRYPT', # incompatible with ECB in PSA, CBC/XTS/NIST_KW/DES
|
||||||
'MBEDTLS_CTR_DRBG_USE_128_BIT_KEY', # interacts with ENTROPY_FORCE_SHA256
|
'MBEDTLS_CTR_DRBG_USE_128_BIT_KEY', # interacts with ENTROPY_FORCE_SHA256
|
||||||
'MBEDTLS_DEPRECATED_REMOVED', # conflicts with deprecated options
|
'MBEDTLS_DEPRECATED_REMOVED', # conflicts with deprecated options
|
||||||
'MBEDTLS_DEPRECATED_WARNING', # conflicts with deprecated options
|
'MBEDTLS_DEPRECATED_WARNING', # conflicts with deprecated options
|
||||||
|
|
|
@ -6,7 +6,8 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
import re
|
import re
|
||||||
from typing import Dict, FrozenSet, List, Optional
|
from collections import OrderedDict
|
||||||
|
from typing import FrozenSet, List, Optional
|
||||||
|
|
||||||
from . import macro_collector
|
from . import macro_collector
|
||||||
|
|
||||||
|
@ -86,22 +87,31 @@ def automatic_dependencies(*expressions: str) -> List[str]:
|
||||||
return sorted(psa_want_symbol(name) for name in used)
|
return sorted(psa_want_symbol(name) for name in used)
|
||||||
|
|
||||||
# Define set of regular expressions and dependencies to optionally append
|
# Define set of regular expressions and dependencies to optionally append
|
||||||
# extra dependencies for test case.
|
# extra dependencies for test case based on key description.
|
||||||
AES_128BIT_ONLY_DEP_REGEX = r'AES\s(192|256)'
|
|
||||||
AES_128BIT_ONLY_DEP = ["!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH"]
|
|
||||||
|
|
||||||
DEPENDENCY_FROM_KEY = {
|
# Skip AES test cases which require 192- or 256-bit key
|
||||||
AES_128BIT_ONLY_DEP_REGEX: AES_128BIT_ONLY_DEP
|
# if MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH defined
|
||||||
}#type: Dict[str, List[str]]
|
AES_128BIT_ONLY_DEP_REGEX = re.compile(r'AES\s(192|256)')
|
||||||
def generate_key_dependencies(description: str) -> List[str]:
|
AES_128BIT_ONLY_DEP = ['!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH']
|
||||||
"""Return additional dependencies based on pairs of REGEX and dependencies.
|
# Skip AES/ARIA/CAMELLIA test cases which require decrypt operation in ECB mode
|
||||||
|
# if MBEDTLS_BLOCK_CIPHER_NO_DECRYPT enabled.
|
||||||
|
ECB_NO_PADDING_DEP_REGEX = re.compile(r'(AES|ARIA|CAMELLIA).*ECB_NO_PADDING')
|
||||||
|
ECB_NO_PADDING_DEP = ['!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT']
|
||||||
|
|
||||||
|
DEPENDENCY_FROM_DESCRIPTION = OrderedDict()
|
||||||
|
DEPENDENCY_FROM_DESCRIPTION[AES_128BIT_ONLY_DEP_REGEX] = AES_128BIT_ONLY_DEP
|
||||||
|
DEPENDENCY_FROM_DESCRIPTION[ECB_NO_PADDING_DEP_REGEX] = ECB_NO_PADDING_DEP
|
||||||
|
def generate_deps_from_description(
|
||||||
|
description: str
|
||||||
|
) -> List[str]:
|
||||||
|
"""Return additional dependencies based on test case description and REGEX.
|
||||||
"""
|
"""
|
||||||
deps = []
|
dep_list = []
|
||||||
for regex, dep in DEPENDENCY_FROM_KEY.items():
|
for regex, deps in DEPENDENCY_FROM_DESCRIPTION.items():
|
||||||
if re.search(regex, description):
|
if re.search(regex, description):
|
||||||
deps += dep
|
dep_list += deps
|
||||||
|
|
||||||
return deps
|
return dep_list
|
||||||
|
|
||||||
# A temporary hack: at the time of writing, not all dependency symbols
|
# A temporary hack: at the time of writing, not all dependency symbols
|
||||||
# are implemented yet. Skip test cases for which the dependency symbols are
|
# are implemented yet. Skip test cases for which the dependency symbols are
|
||||||
|
|
|
@ -39,11 +39,11 @@ done
|
||||||
GITIGNORES=$(find . -name ".gitignore")
|
GITIGNORES=$(find . -name ".gitignore")
|
||||||
for GITIGNORE in $GITIGNORES; do
|
for GITIGNORE in $GITIGNORES; do
|
||||||
if [ -n "$unrelease" ]; then
|
if [ -n "$unrelease" ]; then
|
||||||
sed -i '/###START_COMMENTED_GENERATED_FILES###/,/###END_COMMENTED_GENERATED_FILES###/s/^# //' $GITIGNORE
|
sed -i '/###START_COMMENTED_GENERATED_FILES###/,/###END_COMMENTED_GENERATED_FILES###/s/^#//' $GITIGNORE
|
||||||
sed -i 's/###START_COMMENTED_GENERATED_FILES###/###START_GENERATED_FILES###/' $GITIGNORE
|
sed -i 's/###START_COMMENTED_GENERATED_FILES###/###START_GENERATED_FILES###/' $GITIGNORE
|
||||||
sed -i 's/###END_COMMENTED_GENERATED_FILES###/###END_GENERATED_FILES###/' $GITIGNORE
|
sed -i 's/###END_COMMENTED_GENERATED_FILES###/###END_GENERATED_FILES###/' $GITIGNORE
|
||||||
else
|
else
|
||||||
sed -i '/###START_GENERATED_FILES###/,/###END_GENERATED_FILES###/s/^/# /' $GITIGNORE
|
sed -i '/###START_GENERATED_FILES###/,/###END_GENERATED_FILES###/s/^/#/' $GITIGNORE
|
||||||
sed -i 's/###START_GENERATED_FILES###/###START_COMMENTED_GENERATED_FILES###/' $GITIGNORE
|
sed -i 's/###START_GENERATED_FILES###/###START_COMMENTED_GENERATED_FILES###/' $GITIGNORE
|
||||||
sed -i 's/###END_GENERATED_FILES###/###END_COMMENTED_GENERATED_FILES###/' $GITIGNORE
|
sed -i 's/###END_GENERATED_FILES###/###END_COMMENTED_GENERATED_FILES###/' $GITIGNORE
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -163,6 +163,9 @@ pre_initialize_variables () {
|
||||||
# basic-build-test.sh as well.
|
# basic-build-test.sh as well.
|
||||||
RELEASE_SEED=1
|
RELEASE_SEED=1
|
||||||
|
|
||||||
|
# Specify character collation for regular expressions and sorting with C locale
|
||||||
|
export LC_COLLATE=C
|
||||||
|
|
||||||
: ${MBEDTLS_TEST_OUTCOME_FILE=}
|
: ${MBEDTLS_TEST_OUTCOME_FILE=}
|
||||||
: ${MBEDTLS_TEST_PLATFORM="$(uname -s | tr -c \\n0-9A-Za-z _)-$(uname -m | tr -c \\n0-9A-Za-z _)"}
|
: ${MBEDTLS_TEST_PLATFORM="$(uname -s | tr -c \\n0-9A-Za-z _)-$(uname -m | tr -c \\n0-9A-Za-z _)"}
|
||||||
export MBEDTLS_TEST_OUTCOME_FILE
|
export MBEDTLS_TEST_OUTCOME_FILE
|
||||||
|
@ -397,13 +400,12 @@ armc6_build_test()
|
||||||
FLAGS="$1"
|
FLAGS="$1"
|
||||||
|
|
||||||
msg "build: ARM Compiler 6 ($FLAGS)"
|
msg "build: ARM Compiler 6 ($FLAGS)"
|
||||||
|
make clean
|
||||||
ARM_TOOL_VARIANT="ult" CC="$ARMC6_CC" AR="$ARMC6_AR" CFLAGS="$FLAGS" \
|
ARM_TOOL_VARIANT="ult" CC="$ARMC6_CC" AR="$ARMC6_AR" CFLAGS="$FLAGS" \
|
||||||
WARNING_CFLAGS='-Werror -xc -std=c99' make lib
|
WARNING_CFLAGS='-Werror -xc -std=c99' make lib
|
||||||
|
|
||||||
msg "size: ARM Compiler 6 ($FLAGS)"
|
msg "size: ARM Compiler 6 ($FLAGS)"
|
||||||
"$ARMC6_FROMELF" -z library/*.o
|
"$ARMC6_FROMELF" -z library/*.o
|
||||||
|
|
||||||
make clean
|
|
||||||
}
|
}
|
||||||
|
|
||||||
err_msg()
|
err_msg()
|
||||||
|
@ -1047,10 +1049,12 @@ component_check_test_dependencies () {
|
||||||
grep -v MBEDTLS_PSA_ |
|
grep -v MBEDTLS_PSA_ |
|
||||||
sort -u > $found
|
sort -u > $found
|
||||||
|
|
||||||
# Expected ones with justification - keep in sorted order!
|
# Expected ones with justification - keep in sorted order by ASCII table!
|
||||||
rm -f $expected
|
rm -f $expected
|
||||||
# No PSA equivalent - WANT_KEY_TYPE_AES means all sizes
|
# No PSA equivalent - WANT_KEY_TYPE_AES means all sizes
|
||||||
echo "!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH" >> $expected
|
echo "!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH" >> $expected
|
||||||
|
# No PSA equivalent - used to skip decryption tests in PSA-ECB, CBC/XTS/NIST_KW/DES
|
||||||
|
echo "!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT" >> $expected
|
||||||
# This is used by import_rsa_made_up() in test_suite_psa_crypto in order
|
# This is used by import_rsa_made_up() in test_suite_psa_crypto in order
|
||||||
# to build a fake RSA key of the wanted size based on
|
# to build a fake RSA key of the wanted size based on
|
||||||
# PSA_VENDOR_RSA_MAX_KEY_BITS. The legacy module is only used by
|
# PSA_VENDOR_RSA_MAX_KEY_BITS. The legacy module is only used by
|
||||||
|
@ -4113,8 +4117,7 @@ component_build_psa_accel_key_type_rsa_public_key() {
|
||||||
|
|
||||||
|
|
||||||
support_build_tfm_armcc () {
|
support_build_tfm_armcc () {
|
||||||
armc6_cc="$ARMC6_BIN_DIR/armclang"
|
support_build_armcc
|
||||||
(check_tools "$armc6_cc" > /dev/null 2>&1)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
component_build_tfm_armcc() {
|
component_build_tfm_armcc() {
|
||||||
|
@ -4123,7 +4126,6 @@ component_build_tfm_armcc() {
|
||||||
cp configs/ext/crypto_config_profile_medium.h "$CRYPTO_CONFIG_H"
|
cp configs/ext/crypto_config_profile_medium.h "$CRYPTO_CONFIG_H"
|
||||||
|
|
||||||
msg "build: TF-M config, armclang armv7-m thumb2"
|
msg "build: TF-M config, armclang armv7-m thumb2"
|
||||||
make clean
|
|
||||||
armc6_build_test "--target=arm-arm-none-eabi -march=armv7-m -mthumb -Os -std=c99 -Werror -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wformat=2 -Wno-format-nonliteral -Wshadow -Wasm-operand-widths -Wunused -I../tests/include/spe"
|
armc6_build_test "--target=arm-arm-none-eabi -march=armv7-m -mthumb -Os -std=c99 -Werror -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wformat=2 -Wno-format-nonliteral -Wshadow -Wasm-operand-widths -Wunused -I../tests/include/spe"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4238,6 +4240,7 @@ component_build_aes_variations() {
|
||||||
# aes.o has many #if defined(...) guards that intersect in complex ways.
|
# aes.o has many #if defined(...) guards that intersect in complex ways.
|
||||||
# Test that all the combinations build cleanly.
|
# Test that all the combinations build cleanly.
|
||||||
|
|
||||||
|
MBEDTLS_ROOT_DIR="$PWD"
|
||||||
msg "build: aes.o for all combinations of relevant config options"
|
msg "build: aes.o for all combinations of relevant config options"
|
||||||
|
|
||||||
build_test_config_combos library/aes.o validate_aes_config_variations \
|
build_test_config_combos library/aes.o validate_aes_config_variations \
|
||||||
|
@ -4245,6 +4248,23 @@ component_build_aes_variations() {
|
||||||
"MBEDTLS_AES_ROM_TABLES" "MBEDTLS_AES_ENCRYPT_ALT" "MBEDTLS_AES_SETKEY_DEC_ALT" \
|
"MBEDTLS_AES_ROM_TABLES" "MBEDTLS_AES_ENCRYPT_ALT" "MBEDTLS_AES_SETKEY_DEC_ALT" \
|
||||||
"MBEDTLS_AES_FEWER_TABLES" "MBEDTLS_PADLOCK_C" "MBEDTLS_AES_USE_HARDWARE_ONLY" \
|
"MBEDTLS_AES_FEWER_TABLES" "MBEDTLS_PADLOCK_C" "MBEDTLS_AES_USE_HARDWARE_ONLY" \
|
||||||
"MBEDTLS_AESNI_C" "MBEDTLS_AESCE_C" "MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH"
|
"MBEDTLS_AESNI_C" "MBEDTLS_AESCE_C" "MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH"
|
||||||
|
|
||||||
|
cd "$MBEDTLS_ROOT_DIR"
|
||||||
|
msg "build: aes.o for all combinations of relevant config options + BLOCK_CIPHER_NO_DECRYPT"
|
||||||
|
|
||||||
|
# MBEDTLS_BLOCK_CIPHER_NO_DECRYPT is incompatible with ECB in PSA, CBC/XTS/NIST_KW/DES,
|
||||||
|
# manually set or unset those configurations to check
|
||||||
|
# MBEDTLS_BLOCK_CIPHER_NO_DECRYPT with various combinations in aes.o.
|
||||||
|
scripts/config.py set MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
|
scripts/config.py unset MBEDTLS_CIPHER_MODE_CBC
|
||||||
|
scripts/config.py unset MBEDTLS_CIPHER_MODE_XTS
|
||||||
|
scripts/config.py unset MBEDTLS_DES_C
|
||||||
|
scripts/config.py unset MBEDTLS_NIST_KW_C
|
||||||
|
build_test_config_combos library/aes.o validate_aes_config_variations \
|
||||||
|
"MBEDTLS_AES_SETKEY_ENC_ALT" "MBEDTLS_AES_DECRYPT_ALT" \
|
||||||
|
"MBEDTLS_AES_ROM_TABLES" "MBEDTLS_AES_ENCRYPT_ALT" "MBEDTLS_AES_SETKEY_DEC_ALT" \
|
||||||
|
"MBEDTLS_AES_FEWER_TABLES" "MBEDTLS_PADLOCK_C" "MBEDTLS_AES_USE_HARDWARE_ONLY" \
|
||||||
|
"MBEDTLS_AESNI_C" "MBEDTLS_AESCE_C" "MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH"
|
||||||
}
|
}
|
||||||
|
|
||||||
component_test_no_platform () {
|
component_test_no_platform () {
|
||||||
|
@ -4812,6 +4832,158 @@ component_test_aes_fewer_tables_and_rom_tables () {
|
||||||
make test
|
make test
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# helper for common_block_cipher_no_decrypt() which:
|
||||||
|
# - enable/disable the list of config options passed from -s/-u respectively.
|
||||||
|
# - build
|
||||||
|
# - test for tests_suite_xxx
|
||||||
|
# - selftest
|
||||||
|
#
|
||||||
|
# Usage: helper_block_cipher_no_decrypt_build_test
|
||||||
|
# [-s set_opts] [-u unset_opts] [-c cflags] [-l ldflags] [option [...]]
|
||||||
|
# Options: -s set_opts the list of config options to enable
|
||||||
|
# -u unset_opts the list of config options to disable
|
||||||
|
# -c cflags the list of options passed to CFLAGS
|
||||||
|
# -l ldflags the list of options passed to LDFLAGS
|
||||||
|
helper_block_cipher_no_decrypt_build_test () {
|
||||||
|
while [ $# -gt 0 ]; do
|
||||||
|
case "$1" in
|
||||||
|
-s)
|
||||||
|
shift; local set_opts="$1";;
|
||||||
|
-u)
|
||||||
|
shift; local unset_opts="$1";;
|
||||||
|
-c)
|
||||||
|
shift; local cflags="-Werror -Wall -Wextra $1";;
|
||||||
|
-l)
|
||||||
|
shift; local ldflags="$1";;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
set_opts="${set_opts:-}"
|
||||||
|
unset_opts="${unset_opts:-}"
|
||||||
|
cflags="${cflags:-}"
|
||||||
|
ldflags="${ldflags:-}"
|
||||||
|
|
||||||
|
[ -n "$set_opts" ] && echo "Enabling: $set_opts" && scripts/config.py set-all $set_opts
|
||||||
|
[ -n "$unset_opts" ] && echo "Disabling: $unset_opts" && scripts/config.py unset-all $unset_opts
|
||||||
|
|
||||||
|
msg "build: default config + BLOCK_CIPHER_NO_DECRYPT${set_opts:+ + $set_opts}${unset_opts:+ - $unset_opts} with $cflags${ldflags:+, $ldflags}"
|
||||||
|
make clean
|
||||||
|
make CC=gcc CFLAGS="$cflags" LDFLAGS="$ldflags"
|
||||||
|
|
||||||
|
# Make sure we don't have mbedtls_xxx_setkey_dec in AES/ARIA/CAMELLIA
|
||||||
|
not grep mbedtls_aes_setkey_dec library/aes.o
|
||||||
|
not grep mbedtls_aria_setkey_dec library/aria.o
|
||||||
|
not grep mbedtls_camellia_setkey_dec library/camellia.o
|
||||||
|
# Make sure we don't have mbedtls_internal_aes_decrypt in AES
|
||||||
|
not grep mbedtls_internal_aes_decrypt library/aes.o
|
||||||
|
# Make sure we don't have mbedtls_aesni_inverse_key in AESNI
|
||||||
|
not grep mbedtls_aesni_inverse_key library/aesni.o
|
||||||
|
|
||||||
|
msg "test: default config + BLOCK_CIPHER_NO_DECRYPT${set_opts:+ + $set_opts}${unset_opts:+ - $unset_opts} with $cflags${ldflags:+, $ldflags}"
|
||||||
|
make test
|
||||||
|
|
||||||
|
msg "selftest: default config + BLOCK_CIPHER_NO_DECRYPT${set_opts:+ + $set_opts}${unset_opts:+ - $unset_opts} with $cflags${ldflags:+, $ldflags}"
|
||||||
|
programs/test/selftest
|
||||||
|
}
|
||||||
|
|
||||||
|
# This is a common configuration function used in:
|
||||||
|
# - component_test_block_cipher_no_decrypt_aesni_legacy()
|
||||||
|
# - component_test_block_cipher_no_decrypt_aesni_use_psa()
|
||||||
|
# in order to test BLOCK_CIPHER_NO_DECRYPT with AESNI intrinsics,
|
||||||
|
# AESNI assembly and AES C implementation on x86_64 and with AESNI intrinsics
|
||||||
|
# on x86.
|
||||||
|
common_block_cipher_no_decrypt () {
|
||||||
|
# test AESNI intrinsics
|
||||||
|
helper_block_cipher_no_decrypt_build_test \
|
||||||
|
-s "MBEDTLS_AESNI_C" \
|
||||||
|
-c "-mpclmul -msse2 -maes"
|
||||||
|
|
||||||
|
# test AESNI assembly
|
||||||
|
helper_block_cipher_no_decrypt_build_test \
|
||||||
|
-s "MBEDTLS_AESNI_C" \
|
||||||
|
-c "-mno-pclmul -mno-sse2 -mno-aes"
|
||||||
|
|
||||||
|
# test AES C implementation
|
||||||
|
helper_block_cipher_no_decrypt_build_test \
|
||||||
|
-u "MBEDTLS_AESNI_C"
|
||||||
|
|
||||||
|
# test AESNI intrinsics for i386 target
|
||||||
|
helper_block_cipher_no_decrypt_build_test \
|
||||||
|
-s "MBEDTLS_AESNI_C" \
|
||||||
|
-c "-m32 -mpclmul -msse2 -maes" \
|
||||||
|
-l "-m32"
|
||||||
|
}
|
||||||
|
|
||||||
|
# This is a configuration function used in component_test_block_cipher_no_decrypt_xxx:
|
||||||
|
# usage: 0: no PSA crypto configuration
|
||||||
|
# 1: use PSA crypto configuration
|
||||||
|
config_block_cipher_no_decrypt () {
|
||||||
|
use_psa=$1
|
||||||
|
|
||||||
|
scripts/config.py set MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
|
scripts/config.py unset MBEDTLS_CIPHER_MODE_CBC
|
||||||
|
scripts/config.py unset MBEDTLS_CIPHER_MODE_XTS
|
||||||
|
scripts/config.py unset MBEDTLS_DES_C
|
||||||
|
scripts/config.py unset MBEDTLS_NIST_KW_C
|
||||||
|
|
||||||
|
if [ "$use_psa" -eq 1 ]; then
|
||||||
|
# Enable support for cryptographic mechanisms through the PSA API.
|
||||||
|
# Note: XTS, KW are not yet supported via the PSA API in Mbed TLS.
|
||||||
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
|
scripts/config.py -f "$CRYPTO_CONFIG_H" unset PSA_WANT_ALG_CBC_NO_PADDING
|
||||||
|
scripts/config.py -f "$CRYPTO_CONFIG_H" unset PSA_WANT_ALG_CBC_PKCS7
|
||||||
|
scripts/config.py -f "$CRYPTO_CONFIG_H" unset PSA_WANT_ALG_ECB_NO_PADDING
|
||||||
|
scripts/config.py -f "$CRYPTO_CONFIG_H" unset PSA_WANT_KEY_TYPE_DES
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
component_test_block_cipher_no_decrypt_aesni () {
|
||||||
|
config_block_cipher_no_decrypt 0
|
||||||
|
common_block_cipher_no_decrypt
|
||||||
|
}
|
||||||
|
|
||||||
|
component_test_block_cipher_no_decrypt_aesni_use_psa () {
|
||||||
|
config_block_cipher_no_decrypt 1
|
||||||
|
common_block_cipher_no_decrypt
|
||||||
|
}
|
||||||
|
|
||||||
|
support_test_block_cipher_no_decrypt_aesce_armcc () {
|
||||||
|
support_build_armcc
|
||||||
|
}
|
||||||
|
|
||||||
|
component_test_block_cipher_no_decrypt_aesce_armcc () {
|
||||||
|
scripts/config.py baremetal
|
||||||
|
|
||||||
|
# armc[56] don't support SHA-512 intrinsics
|
||||||
|
scripts/config.py unset MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT
|
||||||
|
|
||||||
|
# Stop armclang warning about feature detection for A64_CRYPTO.
|
||||||
|
# With this enabled, the library does build correctly under armclang,
|
||||||
|
# but in baremetal builds (as tested here), feature detection is
|
||||||
|
# unavailable, and the user is notified via a #warning. So enabling
|
||||||
|
# this feature would prevent us from building with -Werror on
|
||||||
|
# armclang. Tracked in #7198.
|
||||||
|
scripts/config.py unset MBEDTLS_SHA256_USE_A64_CRYPTO_IF_PRESENT
|
||||||
|
scripts/config.py set MBEDTLS_HAVE_ASM
|
||||||
|
|
||||||
|
config_block_cipher_no_decrypt 1
|
||||||
|
|
||||||
|
# test AESCE baremetal build
|
||||||
|
scripts/config.py set MBEDTLS_AESCE_C
|
||||||
|
msg "build: default config + BLOCK_CIPHER_NO_DECRYPT with AESCE"
|
||||||
|
armc6_build_test "-O1 --target=aarch64-arm-none-eabi -march=armv8-a+crypto -Werror -Wall -Wextra"
|
||||||
|
|
||||||
|
# Make sure we don't have mbedtls_xxx_setkey_dec in AES/ARIA/CAMELLIA
|
||||||
|
not grep mbedtls_aes_setkey_dec library/aes.o
|
||||||
|
not grep mbedtls_aria_setkey_dec library/aria.o
|
||||||
|
not grep mbedtls_camellia_setkey_dec library/camellia.o
|
||||||
|
# Make sure we don't have mbedtls_internal_aes_decrypt in AES
|
||||||
|
not grep mbedtls_internal_aes_decrypt library/aes.o
|
||||||
|
# Make sure we don't have mbedtls_aesce_inverse_key and aesce_decrypt_block in AESCE
|
||||||
|
not grep mbedtls_aesce_inverse_key library/aesce.o
|
||||||
|
not grep aesce_decrypt_block library/aesce.o
|
||||||
|
}
|
||||||
|
|
||||||
component_test_ctr_drbg_aes_256_sha_256 () {
|
component_test_ctr_drbg_aes_256_sha_256 () {
|
||||||
msg "build: full + MBEDTLS_ENTROPY_FORCE_SHA256 (ASan build)"
|
msg "build: full + MBEDTLS_ENTROPY_FORCE_SHA256 (ASan build)"
|
||||||
scripts/config.py full
|
scripts/config.py full
|
||||||
|
@ -5281,8 +5453,6 @@ component_build_armcc () {
|
||||||
msg "size: ARM Compiler 5"
|
msg "size: ARM Compiler 5"
|
||||||
"$ARMC5_FROMELF" -z library/*.o
|
"$ARMC5_FROMELF" -z library/*.o
|
||||||
|
|
||||||
make clean
|
|
||||||
|
|
||||||
# Compile mostly with -O1 since some Arm inline assembly is disabled for -O0.
|
# Compile mostly with -O1 since some Arm inline assembly is disabled for -O0.
|
||||||
|
|
||||||
# ARM Compiler 6 - Target ARMv7-A
|
# ARM Compiler 6 - Target ARMv7-A
|
||||||
|
|
|
@ -496,7 +496,7 @@ class StorageFormat:
|
||||||
key.alg.string, key.alg2.string,
|
key.alg.string, key.alg2.string,
|
||||||
)
|
)
|
||||||
dependencies = psa_information.finish_family_dependencies(dependencies, key.bits)
|
dependencies = psa_information.finish_family_dependencies(dependencies, key.bits)
|
||||||
dependencies += psa_information.generate_key_dependencies(key.description)
|
dependencies += psa_information.generate_deps_from_description(key.description)
|
||||||
dependencies = psa_information.fix_key_pair_dependencies(dependencies, 'BASIC')
|
dependencies = psa_information.fix_key_pair_dependencies(dependencies, 'BASIC')
|
||||||
tc.set_dependencies(dependencies)
|
tc.set_dependencies(dependencies)
|
||||||
tc.set_function('key_storage_' + verb)
|
tc.set_function('key_storage_' + verb)
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
* master, enc and dec must be AES context objects. They don't need to
|
* master, enc and dec must be AES context objects. They don't need to
|
||||||
* be initialized, and are left freed.
|
* be initialized, and are left freed.
|
||||||
*/
|
*/
|
||||||
|
#if !defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
|
||||||
static int test_copy(const data_t *key,
|
static int test_copy(const data_t *key,
|
||||||
mbedtls_aes_context *master,
|
mbedtls_aes_context *master,
|
||||||
mbedtls_aes_context *enc,
|
mbedtls_aes_context *enc,
|
||||||
|
@ -55,6 +56,7 @@ exit:
|
||||||
* with alternative implementations. */
|
* with alternative implementations. */
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* END_HEADER */
|
/* END_HEADER */
|
||||||
|
|
||||||
|
@ -86,7 +88,7 @@ exit:
|
||||||
}
|
}
|
||||||
/* END_CASE */
|
/* END_CASE */
|
||||||
|
|
||||||
/* BEGIN_CASE */
|
/* BEGIN_CASE depends_on:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT */
|
||||||
void aes_decrypt_ecb(data_t *key_str, data_t *src_str,
|
void aes_decrypt_ecb(data_t *key_str, data_t *src_str,
|
||||||
data_t *dst, int setkey_result)
|
data_t *dst, int setkey_result)
|
||||||
{
|
{
|
||||||
|
@ -523,7 +525,7 @@ void aes_misc_params()
|
||||||
}
|
}
|
||||||
/* END_CASE */
|
/* END_CASE */
|
||||||
|
|
||||||
/* BEGIN_CASE */
|
/* BEGIN_CASE depends_on:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT */
|
||||||
void aes_ecb_copy_context(data_t *key)
|
void aes_ecb_copy_context(data_t *key)
|
||||||
{
|
{
|
||||||
/* We test context copying multiple times, with different alignments
|
/* We test context copying multiple times, with different alignments
|
||||||
|
|
|
@ -86,7 +86,7 @@ exit:
|
||||||
}
|
}
|
||||||
/* END_CASE */
|
/* END_CASE */
|
||||||
|
|
||||||
/* BEGIN_CASE */
|
/* BEGIN_CASE depends_on:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT */
|
||||||
void aria_decrypt_ecb(data_t *key_str, data_t *src_str,
|
void aria_decrypt_ecb(data_t *key_str, data_t *src_str,
|
||||||
data_t *expected_output, int setkey_result)
|
data_t *expected_output, int setkey_result)
|
||||||
{
|
{
|
||||||
|
|
|
@ -67,7 +67,7 @@ exit:
|
||||||
}
|
}
|
||||||
/* END_CASE */
|
/* END_CASE */
|
||||||
|
|
||||||
/* BEGIN_CASE */
|
/* BEGIN_CASE depends_on:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT */
|
||||||
void camellia_decrypt_ecb(data_t *key_str, data_t *src_str,
|
void camellia_decrypt_ecb(data_t *key_str, data_t *src_str,
|
||||||
data_t *dst, int setkey_result)
|
data_t *dst, int setkey_result)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1595,47 +1595,47 @@ depends_on:MBEDTLS_AES_C
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_ENCRYPT:"00000000000000000000000000000000":"fffffffffffffffffffffffff8000000":"2ca8209d63274cd9a29bb74bcd77683a":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_ENCRYPT:"00000000000000000000000000000000":"fffffffffffffffffffffffff8000000":"2ca8209d63274cd9a29bb74bcd77683a":0
|
||||||
|
|
||||||
AES-128-ECB Decrypt NIST KAT #1
|
AES-128-ECB Decrypt NIST KAT #1
|
||||||
depends_on:MBEDTLS_AES_C
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"db4f1aa530967d6732ce4715eb0ee24b":"ff000000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"db4f1aa530967d6732ce4715eb0ee24b":"ff000000000000000000000000000000":0
|
||||||
|
|
||||||
AES-128-ECB Decrypt NIST KAT #2
|
AES-128-ECB Decrypt NIST KAT #2
|
||||||
depends_on:MBEDTLS_AES_C
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"a81738252621dd180a34f3455b4baa2f":"ff800000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"a81738252621dd180a34f3455b4baa2f":"ff800000000000000000000000000000":0
|
||||||
|
|
||||||
AES-128-ECB Decrypt NIST KAT #3
|
AES-128-ECB Decrypt NIST KAT #3
|
||||||
depends_on:MBEDTLS_AES_C
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"77e2b508db7fd89234caf7939ee5621a":"ffc00000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"77e2b508db7fd89234caf7939ee5621a":"ffc00000000000000000000000000000":0
|
||||||
|
|
||||||
AES-128-ECB Decrypt NIST KAT #4
|
AES-128-ECB Decrypt NIST KAT #4
|
||||||
depends_on:MBEDTLS_AES_C
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"dc43be40be0e53712f7e2bf5ca707209":"6a118a874519e64e9963798a503f1d35":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"dc43be40be0e53712f7e2bf5ca707209":"6a118a874519e64e9963798a503f1d35":0
|
||||||
|
|
||||||
AES-128-ECB Decrypt NIST KAT #5
|
AES-128-ECB Decrypt NIST KAT #5
|
||||||
depends_on:MBEDTLS_AES_C
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"92beedab1895a94faa69b632e5cc47ce":"cb9fceec81286ca3e989bd979b0cb284":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"92beedab1895a94faa69b632e5cc47ce":"cb9fceec81286ca3e989bd979b0cb284":0
|
||||||
|
|
||||||
AES-128-ECB Decrypt NIST KAT #6
|
AES-128-ECB Decrypt NIST KAT #6
|
||||||
depends_on:MBEDTLS_AES_C
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"459264f4798f6a78bacb89c15ed3d601":"b26aeb1874e47ca8358ff22378f09144":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"459264f4798f6a78bacb89c15ed3d601":"b26aeb1874e47ca8358ff22378f09144":0
|
||||||
|
|
||||||
AES-128-ECB Decrypt NIST KAT #7
|
AES-128-ECB Decrypt NIST KAT #7
|
||||||
depends_on:MBEDTLS_AES_C
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"b69418a85332240dc82492353956ae0c":"a303d940ded8f0baff6f75414cac5243":"00000000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"b69418a85332240dc82492353956ae0c":"a303d940ded8f0baff6f75414cac5243":"00000000000000000000000000000000":0
|
||||||
|
|
||||||
AES-128-ECB Decrypt NIST KAT #8
|
AES-128-ECB Decrypt NIST KAT #8
|
||||||
depends_on:MBEDTLS_AES_C
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"71b5c08a1993e1362e4d0ce9b22b78d5":"c2dabd117f8a3ecabfbb11d12194d9d0":"00000000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"71b5c08a1993e1362e4d0ce9b22b78d5":"c2dabd117f8a3ecabfbb11d12194d9d0":"00000000000000000000000000000000":0
|
||||||
|
|
||||||
AES-128-ECB Decrypt NIST KAT #9
|
AES-128-ECB Decrypt NIST KAT #9
|
||||||
depends_on:MBEDTLS_AES_C
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"e234cdca2606b81f29408d5f6da21206":"fff60a4740086b3b9c56195b98d91a7b":"00000000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"e234cdca2606b81f29408d5f6da21206":"fff60a4740086b3b9c56195b98d91a7b":"00000000000000000000000000000000":0
|
||||||
|
|
||||||
AES-128-ECB Decrypt NIST KAT #10
|
AES-128-ECB Decrypt NIST KAT #10
|
||||||
depends_on:MBEDTLS_AES_C
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"ffffffffffffffff0000000000000000":"84be19e053635f09f2665e7bae85b42d":"00000000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"ffffffffffffffff0000000000000000":"84be19e053635f09f2665e7bae85b42d":"00000000000000000000000000000000":0
|
||||||
|
|
||||||
AES-128-ECB Decrypt NIST KAT #11
|
AES-128-ECB Decrypt NIST KAT #11
|
||||||
depends_on:MBEDTLS_AES_C
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"ffffffffffffffff8000000000000000":"32cd652842926aea4aa6137bb2be2b5e":"00000000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"ffffffffffffffff8000000000000000":"32cd652842926aea4aa6137bb2be2b5e":"00000000000000000000000000000000":0
|
||||||
|
|
||||||
AES-192-ECB Encrypt NIST KAT #1
|
AES-192-ECB Encrypt NIST KAT #1
|
||||||
|
@ -1687,51 +1687,51 @@ depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_ENCRYPT:"fffffffffffffffffffffffffffe00000000000000000000":"00000000000000000000000000000000":"fd5548bcf3f42565f7efa94562528d46":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_ENCRYPT:"fffffffffffffffffffffffffffe00000000000000000000":"00000000000000000000000000000000":"fd5548bcf3f42565f7efa94562528d46":0
|
||||||
|
|
||||||
AES-192-ECB Decrypt NIST KAT #1
|
AES-192-ECB Decrypt NIST KAT #1
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"fffffffffffffffffffffffffffffffff000000000000000":"bb2852c891c5947d2ed44032c421b85f":"00000000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"fffffffffffffffffffffffffffffffff000000000000000":"bb2852c891c5947d2ed44032c421b85f":"00000000000000000000000000000000":0
|
||||||
|
|
||||||
AES-192-ECB Decrypt NIST KAT #2
|
AES-192-ECB Decrypt NIST KAT #2
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"fffffffffffffffffffffffffffffffff800000000000000":"1b9f5fbd5e8a4264c0a85b80409afa5e":"00000000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"fffffffffffffffffffffffffffffffff800000000000000":"1b9f5fbd5e8a4264c0a85b80409afa5e":"00000000000000000000000000000000":0
|
||||||
|
|
||||||
AES-192-ECB Decrypt NIST KAT #3
|
AES-192-ECB Decrypt NIST KAT #3
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"fffffffffffffffffffffffffffffffffc00000000000000":"30dab809f85a917fe924733f424ac589":"00000000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"fffffffffffffffffffffffffffffffffc00000000000000":"30dab809f85a917fe924733f424ac589":"00000000000000000000000000000000":0
|
||||||
|
|
||||||
AES-192-ECB Decrypt NIST KAT #4
|
AES-192-ECB Decrypt NIST KAT #4
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"61257134a518a0d57d9d244d45f6498cbc32f2bafc522d79":"cfe4d74002696ccf7d87b14a2f9cafc9":"00000000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"61257134a518a0d57d9d244d45f6498cbc32f2bafc522d79":"cfe4d74002696ccf7d87b14a2f9cafc9":"00000000000000000000000000000000":0
|
||||||
|
|
||||||
AES-192-ECB Decrypt NIST KAT #5
|
AES-192-ECB Decrypt NIST KAT #5
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"b0ab0a6a818baef2d11fa33eac947284fb7d748cfb75e570":"d2eafd86f63b109b91f5dbb3a3fb7e13":"00000000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"b0ab0a6a818baef2d11fa33eac947284fb7d748cfb75e570":"d2eafd86f63b109b91f5dbb3a3fb7e13":"00000000000000000000000000000000":0
|
||||||
|
|
||||||
AES-192-ECB Decrypt NIST KAT #6
|
AES-192-ECB Decrypt NIST KAT #6
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"ee053aa011c8b428cdcc3636313c54d6a03cac01c71579d6":"9b9fdd1c5975655f539998b306a324af":"00000000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"ee053aa011c8b428cdcc3636313c54d6a03cac01c71579d6":"9b9fdd1c5975655f539998b306a324af":"00000000000000000000000000000000":0
|
||||||
|
|
||||||
AES-192-ECB Decrypt NIST KAT #7
|
AES-192-ECB Decrypt NIST KAT #7
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"275cfc0413d8ccb70513c3859b1d0f72":"1b077a6af4b7f98229de786d7516b639":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"275cfc0413d8ccb70513c3859b1d0f72":"1b077a6af4b7f98229de786d7516b639":0
|
||||||
|
|
||||||
AES-192-ECB Decrypt NIST KAT #8
|
AES-192-ECB Decrypt NIST KAT #8
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"c9b8135ff1b5adc413dfd053b21bd96d":"9c2d8842e5f48f57648205d39a239af1":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"c9b8135ff1b5adc413dfd053b21bd96d":"9c2d8842e5f48f57648205d39a239af1":0
|
||||||
|
|
||||||
AES-192-ECB Decrypt NIST KAT #9
|
AES-192-ECB Decrypt NIST KAT #9
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"4a3650c3371ce2eb35e389a171427440":"bff52510095f518ecca60af4205444bb":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"4a3650c3371ce2eb35e389a171427440":"bff52510095f518ecca60af4205444bb":0
|
||||||
|
|
||||||
AES-192-ECB Decrypt NIST KAT #10
|
AES-192-ECB Decrypt NIST KAT #10
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"b2099795e88cc158fd75ea133d7e7fbe":"ffffffffffffffffffffc00000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"b2099795e88cc158fd75ea133d7e7fbe":"ffffffffffffffffffffc00000000000":0
|
||||||
|
|
||||||
AES-192-ECB Decrypt NIST KAT #11
|
AES-192-ECB Decrypt NIST KAT #11
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"a6cae46fb6fadfe7a2c302a34242817b":"ffffffffffffffffffffe00000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"a6cae46fb6fadfe7a2c302a34242817b":"ffffffffffffffffffffe00000000000":0
|
||||||
|
|
||||||
AES-192-ECB Decrypt NIST KAT #12
|
AES-192-ECB Decrypt NIST KAT #12
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"026a7024d6a902e0b3ffccbaa910cc3f":"fffffffffffffffffffff00000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"026a7024d6a902e0b3ffccbaa910cc3f":"fffffffffffffffffffff00000000000":0
|
||||||
|
|
||||||
AES-256-ECB Encrypt NIST KAT #1
|
AES-256-ECB Encrypt NIST KAT #1
|
||||||
|
@ -1783,51 +1783,51 @@ depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_ENCRYPT:"ffffffffffffffffffffffffffffffffffffe000000000000000000000000000":"00000000000000000000000000000000":"dcf4e129136c1a4b7a0f38935cc34b2b":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_ENCRYPT:"ffffffffffffffffffffffffffffffffffffe000000000000000000000000000":"00000000000000000000000000000000":"dcf4e129136c1a4b7a0f38935cc34b2b":0
|
||||||
|
|
||||||
AES-256-ECB Decrypt NIST KAT #1
|
AES-256-ECB Decrypt NIST KAT #1
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000":"edf61ae362e882ddc0167474a7a77f3a":"00000000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000":"edf61ae362e882ddc0167474a7a77f3a":"00000000000000000000000000000000":0
|
||||||
|
|
||||||
AES-256-ECB Decrypt NIST KAT #2
|
AES-256-ECB Decrypt NIST KAT #2
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"fffffffffffffffffffffffffffffffffffffffffffffff80000000000000000":"6168b00ba7859e0970ecfd757efecf7c":"00000000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"fffffffffffffffffffffffffffffffffffffffffffffff80000000000000000":"6168b00ba7859e0970ecfd757efecf7c":"00000000000000000000000000000000":0
|
||||||
|
|
||||||
AES-256-ECB Decrypt NIST KAT #3
|
AES-256-ECB Decrypt NIST KAT #3
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"fffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000":"d1415447866230d28bb1ea18a4cdfd02":"00000000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"fffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000":"d1415447866230d28bb1ea18a4cdfd02":"00000000000000000000000000000000":0
|
||||||
|
|
||||||
AES-256-ECB Decrypt NIST KAT #4
|
AES-256-ECB Decrypt NIST KAT #4
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"f8be9ba615c5a952cabbca24f68f8593039624d524c816acda2c9183bd917cb9":"a3944b95ca0b52043584ef02151926a8":"00000000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"f8be9ba615c5a952cabbca24f68f8593039624d524c816acda2c9183bd917cb9":"a3944b95ca0b52043584ef02151926a8":"00000000000000000000000000000000":0
|
||||||
|
|
||||||
AES-256-ECB Decrypt NIST KAT #5
|
AES-256-ECB Decrypt NIST KAT #5
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"797f8b3d176dac5b7e34a2d539c4ef367a16f8635f6264737591c5c07bf57a3e":"a74289fe73a4c123ca189ea1e1b49ad5":"00000000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"797f8b3d176dac5b7e34a2d539c4ef367a16f8635f6264737591c5c07bf57a3e":"a74289fe73a4c123ca189ea1e1b49ad5":"00000000000000000000000000000000":0
|
||||||
|
|
||||||
AES-256-ECB Decrypt NIST KAT #6
|
AES-256-ECB Decrypt NIST KAT #6
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"6838d40caf927749c13f0329d331f448e202c73ef52c5f73a37ca635d4c47707":"b91d4ea4488644b56cf0812fa7fcf5fc":"00000000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"6838d40caf927749c13f0329d331f448e202c73ef52c5f73a37ca635d4c47707":"b91d4ea4488644b56cf0812fa7fcf5fc":"00000000000000000000000000000000":0
|
||||||
|
|
||||||
AES-256-ECB Decrypt NIST KAT #7
|
AES-256-ECB Decrypt NIST KAT #7
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"623a52fcea5d443e48d9181ab32c7421":"761c1fe41a18acf20d241650611d90f1":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"623a52fcea5d443e48d9181ab32c7421":"761c1fe41a18acf20d241650611d90f1":0
|
||||||
|
|
||||||
AES-256-ECB Decrypt NIST KAT #8
|
AES-256-ECB Decrypt NIST KAT #8
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"38f2c7ae10612415d27ca190d27da8b4":"8a560769d605868ad80d819bdba03771":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"38f2c7ae10612415d27ca190d27da8b4":"8a560769d605868ad80d819bdba03771":0
|
||||||
|
|
||||||
AES-256-ECB Decrypt NIST KAT #9
|
AES-256-ECB Decrypt NIST KAT #9
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"1bc704f1bce135ceb810341b216d7abe":"91fbef2d15a97816060bee1feaa49afe":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"1bc704f1bce135ceb810341b216d7abe":"91fbef2d15a97816060bee1feaa49afe":0
|
||||||
|
|
||||||
AES-256-ECB Decrypt NIST KAT #10
|
AES-256-ECB Decrypt NIST KAT #10
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"ddc6bf790c15760d8d9aeb6f9a75fd4e":"80000000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"ddc6bf790c15760d8d9aeb6f9a75fd4e":"80000000000000000000000000000000":0
|
||||||
|
|
||||||
AES-256-ECB Decrypt NIST KAT #11
|
AES-256-ECB Decrypt NIST KAT #11
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"0a6bdc6d4c1e6280301fd8e97ddbe601":"c0000000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"0a6bdc6d4c1e6280301fd8e97ddbe601":"c0000000000000000000000000000000":0
|
||||||
|
|
||||||
AES-256-ECB Decrypt NIST KAT #12
|
AES-256-ECB Decrypt NIST KAT #12
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"9b80eefb7ebe2d2b16247aa0efc72f5d":"e0000000000000000000000000000000":0
|
test_vec_ecb:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"9b80eefb7ebe2d2b16247aa0efc72f5d":"e0000000000000000000000000000000":0
|
||||||
|
|
||||||
AES-128-ECB crypt Encrypt NIST KAT #1
|
AES-128-ECB crypt Encrypt NIST KAT #1
|
||||||
|
@ -1843,15 +1843,15 @@ depends_on:MBEDTLS_AES_C
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_ENCRYPT:"00000000000000000000000000000000":"":"ffffffffffffffc00000000000000000":"3a4d354f02bb5a5e47d39666867f246a":0:0
|
test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_ENCRYPT:"00000000000000000000000000000000":"":"ffffffffffffffc00000000000000000":"3a4d354f02bb5a5e47d39666867f246a":0:0
|
||||||
|
|
||||||
AES-128-ECB crypt Decrypt NIST KAT #1
|
AES-128-ECB crypt Decrypt NIST KAT #1
|
||||||
depends_on:MBEDTLS_AES_C
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"":"db4f1aa530967d6732ce4715eb0ee24b":"ff000000000000000000000000000000":0:0
|
test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"":"db4f1aa530967d6732ce4715eb0ee24b":"ff000000000000000000000000000000":0:0
|
||||||
|
|
||||||
AES-128-ECB crypt Decrypt NIST KAT #2
|
AES-128-ECB crypt Decrypt NIST KAT #2
|
||||||
depends_on:MBEDTLS_AES_C
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"b69418a85332240dc82492353956ae0c":"":"a303d940ded8f0baff6f75414cac5243":"00000000000000000000000000000000":0:0
|
test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"b69418a85332240dc82492353956ae0c":"":"a303d940ded8f0baff6f75414cac5243":"00000000000000000000000000000000":0:0
|
||||||
|
|
||||||
AES-128-ECB crypt Decrypt NIST KAT #3
|
AES-128-ECB crypt Decrypt NIST KAT #3
|
||||||
depends_on:MBEDTLS_AES_C
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"ffffffffffffffff8000000000000000":"":"32cd652842926aea4aa6137bb2be2b5e":"00000000000000000000000000000000":0:0
|
test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"ffffffffffffffff8000000000000000":"":"32cd652842926aea4aa6137bb2be2b5e":"00000000000000000000000000000000":0:0
|
||||||
|
|
||||||
AES-192-ECB crypt Encrypt NIST KAT #1
|
AES-192-ECB crypt Encrypt NIST KAT #1
|
||||||
|
@ -1871,19 +1871,19 @@ depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_ENCRYPT:"fffffffffffffffffffffffffff800000000000000000000":"":"00000000000000000000000000000000":"8dd274bd0f1b58ae345d9e7233f9b8f3":0:0
|
test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_ENCRYPT:"fffffffffffffffffffffffffff800000000000000000000":"":"00000000000000000000000000000000":"8dd274bd0f1b58ae345d9e7233f9b8f3":0:0
|
||||||
|
|
||||||
AES-192-ECB crypt Decrypt NIST KAT #1
|
AES-192-ECB crypt Decrypt NIST KAT #1
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"fffffffffffffffffffffffffffffffff000000000000000":"":"bb2852c891c5947d2ed44032c421b85f":"00000000000000000000000000000000":0:0
|
test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"fffffffffffffffffffffffffffffffff000000000000000":"":"bb2852c891c5947d2ed44032c421b85f":"00000000000000000000000000000000":0:0
|
||||||
|
|
||||||
AES-192-ECB crypt Decrypt NIST KAT #2
|
AES-192-ECB crypt Decrypt NIST KAT #2
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"61257134a518a0d57d9d244d45f6498cbc32f2bafc522d79":"":"cfe4d74002696ccf7d87b14a2f9cafc9":"00000000000000000000000000000000":0:0
|
test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"61257134a518a0d57d9d244d45f6498cbc32f2bafc522d79":"":"cfe4d74002696ccf7d87b14a2f9cafc9":"00000000000000000000000000000000":0:0
|
||||||
|
|
||||||
AES-192-ECB crypt Decrypt NIST KAT #3
|
AES-192-ECB crypt Decrypt NIST KAT #3
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"":"275cfc0413d8ccb70513c3859b1d0f72":"1b077a6af4b7f98229de786d7516b639":0:0
|
test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"":"275cfc0413d8ccb70513c3859b1d0f72":"1b077a6af4b7f98229de786d7516b639":0:0
|
||||||
|
|
||||||
AES-192-ECB crypt Decrypt NIST KAT #4
|
AES-192-ECB crypt Decrypt NIST KAT #4
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"":"b2099795e88cc158fd75ea133d7e7fbe":"ffffffffffffffffffffc00000000000":0:0
|
test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"":"b2099795e88cc158fd75ea133d7e7fbe":"ffffffffffffffffffffc00000000000":0:0
|
||||||
|
|
||||||
AES-256-ECB crypt Encrypt NIST KAT #1
|
AES-256-ECB crypt Encrypt NIST KAT #1
|
||||||
|
@ -1903,19 +1903,19 @@ depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_ENCRYPT:"ffffffffffffffffffffffffffffffffffff8000000000000000000000000000":"":"00000000000000000000000000000000":"45d089c36d5c5a4efc689e3b0de10dd5":0:0
|
test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_ENCRYPT:"ffffffffffffffffffffffffffffffffffff8000000000000000000000000000":"":"00000000000000000000000000000000":"45d089c36d5c5a4efc689e3b0de10dd5":0:0
|
||||||
|
|
||||||
AES-256-ECB crypt Decrypt NIST KAT #1
|
AES-256-ECB crypt Decrypt NIST KAT #1
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000":"":"edf61ae362e882ddc0167474a7a77f3a":"00000000000000000000000000000000":0:0
|
test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000":"":"edf61ae362e882ddc0167474a7a77f3a":"00000000000000000000000000000000":0:0
|
||||||
|
|
||||||
AES-256-ECB crypt Decrypt NIST KAT #2
|
AES-256-ECB crypt Decrypt NIST KAT #2
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"f8be9ba615c5a952cabbca24f68f8593039624d524c816acda2c9183bd917cb9":"":"a3944b95ca0b52043584ef02151926a8":"00000000000000000000000000000000":0:0
|
test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"f8be9ba615c5a952cabbca24f68f8593039624d524c816acda2c9183bd917cb9":"":"a3944b95ca0b52043584ef02151926a8":"00000000000000000000000000000000":0:0
|
||||||
|
|
||||||
AES-256-ECB crypt Decrypt NIST KAT #3
|
AES-256-ECB crypt Decrypt NIST KAT #3
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"":"623a52fcea5d443e48d9181ab32c7421":"761c1fe41a18acf20d241650611d90f1":0:0
|
test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"":"623a52fcea5d443e48d9181ab32c7421":"761c1fe41a18acf20d241650611d90f1":0:0
|
||||||
|
|
||||||
AES-256-ECB crypt Decrypt NIST KAT #4
|
AES-256-ECB crypt Decrypt NIST KAT #4
|
||||||
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_AES_C:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"":"ddc6bf790c15760d8d9aeb6f9a75fd4e":"80000000000000000000000000000000":0:0
|
test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"":"ddc6bf790c15760d8d9aeb6f9a75fd4e":"80000000000000000000000000000000":0:0
|
||||||
|
|
||||||
AES-128-CBC crypt Encrypt NIST KAT #1
|
AES-128-CBC crypt Encrypt NIST KAT #1
|
||||||
|
@ -2127,19 +2127,19 @@ depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_ENCRYPT:"00000000000000000000000000000000":"":"f34481ec3cc627bacd5dc3fb08f273e6":"0336763e966d92595a567cc9ce537f5e":0:1
|
test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_ENCRYPT:"00000000000000000000000000000000":"":"f34481ec3cc627bacd5dc3fb08f273e6":"0336763e966d92595a567cc9ce537f5e":0:1
|
||||||
|
|
||||||
AES-128-ECB crypt Decrypt NIST KAT #1 PSA
|
AES-128-ECB crypt Decrypt NIST KAT #1 PSA
|
||||||
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING
|
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"":"3ad78e726c1ec02b7ebfe92b23d9ec34":"80000000000000000000000000000000":0:1
|
test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"":"3ad78e726c1ec02b7ebfe92b23d9ec34":"80000000000000000000000000000000":0:1
|
||||||
|
|
||||||
AES-128-ECB crypt Decrypt NIST KAT #2 PSA
|
AES-128-ECB crypt Decrypt NIST KAT #2 PSA
|
||||||
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING
|
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"ffffc000000000000000000000000000":"":"df556a33438db87bc41b1752c55e5e49":"00000000000000000000000000000000":0:1
|
test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"ffffc000000000000000000000000000":"":"df556a33438db87bc41b1752c55e5e49":"00000000000000000000000000000000":0:1
|
||||||
|
|
||||||
AES-128-ECB crypt Decrypt NIST KAT #3 PSA
|
AES-128-ECB crypt Decrypt NIST KAT #3 PSA
|
||||||
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING
|
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"10a58869d74be5a374cf867cfb473859":"":"6d251e6944b051e04eaa6fb4dbf78465":"00000000000000000000000000000000":0:1
|
test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"10a58869d74be5a374cf867cfb473859":"":"6d251e6944b051e04eaa6fb4dbf78465":"00000000000000000000000000000000":0:1
|
||||||
|
|
||||||
AES-128-ECB crypt Decrypt NIST KAT #4 PSA
|
AES-128-ECB crypt Decrypt NIST KAT #4 PSA
|
||||||
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING
|
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"":"0336763e966d92595a567cc9ce537f5e":"f34481ec3cc627bacd5dc3fb08f273e6":0:1
|
test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"":"0336763e966d92595a567cc9ce537f5e":"f34481ec3cc627bacd5dc3fb08f273e6":0:1
|
||||||
|
|
||||||
AES-192-ECB crypt Encrypt NIST KAT #1 PSA
|
AES-192-ECB crypt Encrypt NIST KAT #1 PSA
|
||||||
|
@ -2159,19 +2159,19 @@ depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_ENCRYPT:"000000000000000000000000000000000000000000000000":"":"1b077a6af4b7f98229de786d7516b639":"275cfc0413d8ccb70513c3859b1d0f72":0:1
|
test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_ENCRYPT:"000000000000000000000000000000000000000000000000":"":"1b077a6af4b7f98229de786d7516b639":"275cfc0413d8ccb70513c3859b1d0f72":0:1
|
||||||
|
|
||||||
AES-192-ECB crypt Decrypt NIST KAT #1 PSA
|
AES-192-ECB crypt Decrypt NIST KAT #1 PSA
|
||||||
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"":"6cd02513e8d4dc986b4afe087a60bd0c":"80000000000000000000000000000000":0:1
|
test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"":"6cd02513e8d4dc986b4afe087a60bd0c":"80000000000000000000000000000000":0:1
|
||||||
|
|
||||||
AES-192-ECB crypt Decrypt NIST KAT #2 PSA
|
AES-192-ECB crypt Decrypt NIST KAT #2 PSA
|
||||||
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"ffe000000000000000000000000000000000000000000000":"":"7ababc4b3f516c9aafb35f4140b548f9":"00000000000000000000000000000000":0:1
|
test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"ffe000000000000000000000000000000000000000000000":"":"7ababc4b3f516c9aafb35f4140b548f9":"00000000000000000000000000000000":0:1
|
||||||
|
|
||||||
AES-192-ECB crypt Decrypt NIST KAT #3 PSA
|
AES-192-ECB crypt Decrypt NIST KAT #3 PSA
|
||||||
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd":"":"0956259c9cd5cfd0181cca53380cde06":"00000000000000000000000000000000":0:1
|
test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd":"":"0956259c9cd5cfd0181cca53380cde06":"00000000000000000000000000000000":0:1
|
||||||
|
|
||||||
AES-192-ECB crypt Decrypt NIST KAT #4 PSA
|
AES-192-ECB crypt Decrypt NIST KAT #4 PSA
|
||||||
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"":"275cfc0413d8ccb70513c3859b1d0f72":"1b077a6af4b7f98229de786d7516b639":0:1
|
test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"":"275cfc0413d8ccb70513c3859b1d0f72":"1b077a6af4b7f98229de786d7516b639":0:1
|
||||||
|
|
||||||
AES-256-ECB crypt Encrypt NIST KAT #1 PSA
|
AES-256-ECB crypt Encrypt NIST KAT #1 PSA
|
||||||
|
@ -2191,19 +2191,19 @@ depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_ENCRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"":"014730f80ac625fe84f026c60bfd547d":"5c9d844ed46f9885085e5d6a4f94c7d7":0:1
|
test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_ENCRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"":"014730f80ac625fe84f026c60bfd547d":"5c9d844ed46f9885085e5d6a4f94c7d7":0:1
|
||||||
|
|
||||||
AES-256-ECB crypt Decrypt NIST KAT #1 PSA
|
AES-256-ECB crypt Decrypt NIST KAT #1 PSA
|
||||||
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"":"ddc6bf790c15760d8d9aeb6f9a75fd4e":"80000000000000000000000000000000":0:1
|
test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"":"ddc6bf790c15760d8d9aeb6f9a75fd4e":"80000000000000000000000000000000":0:1
|
||||||
|
|
||||||
AES-256-ECB crypt Decrypt NIST KAT #2 PSA
|
AES-256-ECB crypt Decrypt NIST KAT #2 PSA
|
||||||
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"ffe0000000000000000000000000000000000000000000000000000000000000":"":"d1ccb9b1337002cbac42c520b5d67722":"00000000000000000000000000000000":0:1
|
test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"ffe0000000000000000000000000000000000000000000000000000000000000":"":"d1ccb9b1337002cbac42c520b5d67722":"00000000000000000000000000000000":0:1
|
||||||
|
|
||||||
AES-256-ECB crypt Decrypt NIST KAT #3 PSA
|
AES-256-ECB crypt Decrypt NIST KAT #3 PSA
|
||||||
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558":"":"46f2fb342d6f0ab477476fc501242c5f":"00000000000000000000000000000000":0:1
|
test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558":"":"46f2fb342d6f0ab477476fc501242c5f":"00000000000000000000000000000000":0:1
|
||||||
|
|
||||||
AES-256-ECB crypt Decrypt NIST KAT #4 PSA
|
AES-256-ECB crypt Decrypt NIST KAT #4 PSA
|
||||||
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
|
depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"":"5c9d844ed46f9885085e5d6a4f94c7d7":"014730f80ac625fe84f026c60bfd547d":0:1
|
test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"":"5c9d844ed46f9885085e5d6a4f94c7d7":"014730f80ac625fe84f026c60bfd547d":0:1
|
||||||
|
|
||||||
AES-128-CCM*-NO-TAG crypt Encrypt NIST VPT AES-128 #15
|
AES-128-CCM*-NO-TAG crypt Encrypt NIST VPT AES-128 #15
|
||||||
|
|
|
@ -2267,15 +2267,15 @@ depends_on:PSA_WANT_ALG_CBC_NO_PADDING:PSA_WANT_KEY_TYPE_AES
|
||||||
cipher_encrypt_fail:PSA_ALG_CBC_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"6bc1bee223":PSA_ERROR_INVALID_ARGUMENT
|
cipher_encrypt_fail:PSA_ALG_CBC_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"6bc1bee223":PSA_ERROR_INVALID_ARGUMENT
|
||||||
|
|
||||||
PSA symmetric encrypt: AES-ECB, 0 bytes, good
|
PSA symmetric encrypt: AES-ECB, 0 bytes, good
|
||||||
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES
|
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
cipher_alg_without_iv:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":""
|
cipher_alg_without_iv:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":""
|
||||||
|
|
||||||
PSA symmetric encrypt: AES-ECB, 16 bytes, good
|
PSA symmetric encrypt: AES-ECB, 16 bytes, good
|
||||||
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES
|
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
cipher_alg_without_iv:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"6bc1bee22e409f96e93d7e117393172a":"3ad77bb40d7a3660a89ecaf32466ef97"
|
cipher_alg_without_iv:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"6bc1bee22e409f96e93d7e117393172a":"3ad77bb40d7a3660a89ecaf32466ef97"
|
||||||
|
|
||||||
PSA symmetric encrypt: AES-ECB, 32 bytes, good
|
PSA symmetric encrypt: AES-ECB, 32 bytes, good
|
||||||
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES
|
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
cipher_alg_without_iv:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"6bc1bee22e409f96e93d7e117393172a3ad77bb40d7a3660a89ecaf32466ef97":"3ad77bb40d7a3660a89ecaf32466ef972249a2638c6f1c755a84f9681a9f08c1"
|
cipher_alg_without_iv:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"6bc1bee22e409f96e93d7e117393172a3ad77bb40d7a3660a89ecaf32466ef97":"3ad77bb40d7a3660a89ecaf32466ef972249a2638c6f1c755a84f9681a9f08c1"
|
||||||
|
|
||||||
PSA symmetric encrypt: 2-key 3DES-ECB, 8 bytes, good
|
PSA symmetric encrypt: 2-key 3DES-ECB, 8 bytes, good
|
||||||
|
@ -2411,7 +2411,7 @@ depends_on:PSA_WANT_ALG_CBC_PKCS7:PSA_WANT_KEY_TYPE_AES
|
||||||
cipher_decrypt_fail:PSA_ALG_CBC_PKCS7:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a":"6bc1bee22e409f96e93d7e11739317":PSA_ERROR_INVALID_ARGUMENT
|
cipher_decrypt_fail:PSA_ALG_CBC_PKCS7:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a":"6bc1bee22e409f96e93d7e11739317":PSA_ERROR_INVALID_ARGUMENT
|
||||||
|
|
||||||
PSA symmetric decrypt: AES-ECB, input too short (15 bytes)
|
PSA symmetric decrypt: AES-ECB, input too short (15 bytes)
|
||||||
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES
|
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
cipher_decrypt_fail:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"396ee84fb75fdbb5c2b13c7fe5a654":PSA_ERROR_INVALID_ARGUMENT
|
cipher_decrypt_fail:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"396ee84fb75fdbb5c2b13c7fe5a654":PSA_ERROR_INVALID_ARGUMENT
|
||||||
|
|
||||||
PSA symmetric decrypt: AES-CBC-nopad, input too short (5 bytes)
|
PSA symmetric decrypt: AES-CBC-nopad, input too short (5 bytes)
|
||||||
|
@ -2423,15 +2423,15 @@ depends_on:PSA_WANT_ALG_CCM_STAR_NO_TAG:PSA_WANT_KEY_TYPE_AES
|
||||||
cipher_decrypt_fail:PSA_ALG_CCM_STAR_NO_TAG:PSA_KEY_TYPE_AES:"19ebfde2d5468ba0a3031bde629b11fd":"5a8aa485c316e9":"2a2a2a2a2a2a2a2a":PSA_ERROR_INVALID_ARGUMENT
|
cipher_decrypt_fail:PSA_ALG_CCM_STAR_NO_TAG:PSA_KEY_TYPE_AES:"19ebfde2d5468ba0a3031bde629b11fd":"5a8aa485c316e9":"2a2a2a2a2a2a2a2a":PSA_ERROR_INVALID_ARGUMENT
|
||||||
|
|
||||||
PSA symmetric decrypt: AES-ECB, 0 bytes, good
|
PSA symmetric decrypt: AES-ECB, 0 bytes, good
|
||||||
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES
|
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
cipher_decrypt:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"":""
|
cipher_decrypt:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"":""
|
||||||
|
|
||||||
PSA symmetric decrypt: AES-ECB, 16 bytes, good
|
PSA symmetric decrypt: AES-ECB, 16 bytes, good
|
||||||
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES
|
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
cipher_decrypt:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"396ee84fb75fdbb5c2b13c7fe5a654aa":"63cecc46a382414d5fa7d2b79387437f"
|
cipher_decrypt:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"396ee84fb75fdbb5c2b13c7fe5a654aa":"63cecc46a382414d5fa7d2b79387437f"
|
||||||
|
|
||||||
PSA symmetric decrypt: AES-ECB, 32 bytes, good
|
PSA symmetric decrypt: AES-ECB, 32 bytes, good
|
||||||
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES
|
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
cipher_decrypt:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"3ad77bb40d7a3660a89ecaf32466ef972249a2638c6f1c755a84f9681a9f08c1":"6bc1bee22e409f96e93d7e117393172a3ad77bb40d7a3660a89ecaf32466ef97"
|
cipher_decrypt:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"3ad77bb40d7a3660a89ecaf32466ef972249a2638c6f1c755a84f9681a9f08c1":"6bc1bee22e409f96e93d7e117393172a3ad77bb40d7a3660a89ecaf32466ef97"
|
||||||
|
|
||||||
PSA symmetric decrypt: AES-CBC-nopad, 16 bytes, good
|
PSA symmetric decrypt: AES-CBC-nopad, 16 bytes, good
|
||||||
|
@ -2487,15 +2487,15 @@ depends_on:PSA_WANT_ALG_STREAM_CIPHER:PSA_WANT_KEY_TYPE_CHACHA20
|
||||||
cipher_decrypt:PSA_ALG_STREAM_CIPHER:PSA_KEY_TYPE_CHACHA20:"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f":"000000000000004a00000000":"fb6d7b60e9e67669b607a9b94a606bdca678d44f0ebf24cbd623efd69cc2bdc0f615ac19d0366a8d00e3d6728f5ee01d61d74ab77edc17a7621f2268eea12e656e2e359a2568f98041ba0728dd0d6981e97e7aec1d4360c20a27afccfd9fae0bf91b65c5524733ab8f593dabcd62b3571639d624e65152ab8f530c359f0861d807ca0dbf500d6a6156a38e088a22b65e52bc514d16ccf806818ce91ab77937365af90bbf74a35be6b40b8eedf2785e42874d":"546865205246432037353339207465737420766563746f72207573657320636f756e7465723d312c2062757420505341207573657320636f756e7465723d302e4c616469657320616e642047656e746c656d656e206f662074686520636c617373206f66202739393a204966204920636f756c64206f6666657220796f75206f6e6c79206f6e652074697020666f7220746865206675747572652c2073756e73637265656e20776f756c642062652069742e"
|
cipher_decrypt:PSA_ALG_STREAM_CIPHER:PSA_KEY_TYPE_CHACHA20:"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f":"000000000000004a00000000":"fb6d7b60e9e67669b607a9b94a606bdca678d44f0ebf24cbd623efd69cc2bdc0f615ac19d0366a8d00e3d6728f5ee01d61d74ab77edc17a7621f2268eea12e656e2e359a2568f98041ba0728dd0d6981e97e7aec1d4360c20a27afccfd9fae0bf91b65c5524733ab8f593dabcd62b3571639d624e65152ab8f530c359f0861d807ca0dbf500d6a6156a38e088a22b65e52bc514d16ccf806818ce91ab77937365af90bbf74a35be6b40b8eedf2785e42874d":"546865205246432037353339207465737420766563746f72207573657320636f756e7465723d312c2062757420505341207573657320636f756e7465723d302e4c616469657320616e642047656e746c656d656e206f662074686520636c617373206f66202739393a204966204920636f756c64206f6666657220796f75206f6e6c79206f6e652074697020666f7220746865206675747572652c2073756e73637265656e20776f756c642062652069742e"
|
||||||
|
|
||||||
PSA symmetric decrypt multipart: AES-ECB, 0 bytes, good
|
PSA symmetric decrypt multipart: AES-ECB, 0 bytes, good
|
||||||
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES
|
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
cipher_decrypt_multipart:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"":0:0:0:"":PSA_SUCCESS
|
cipher_decrypt_multipart:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"":0:0:0:"":PSA_SUCCESS
|
||||||
|
|
||||||
PSA symmetric decrypt multipart: AES-ECB, 16 bytes, good
|
PSA symmetric decrypt multipart: AES-ECB, 16 bytes, good
|
||||||
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES
|
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
cipher_decrypt_multipart:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"396ee84fb75fdbb5c2b13c7fe5a654aa":16:16:0:"63cecc46a382414d5fa7d2b79387437f":PSA_SUCCESS
|
cipher_decrypt_multipart:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"396ee84fb75fdbb5c2b13c7fe5a654aa":16:16:0:"63cecc46a382414d5fa7d2b79387437f":PSA_SUCCESS
|
||||||
|
|
||||||
PSA symmetric decrypt multipart: AES-ECB, 32 bytes, good
|
PSA symmetric decrypt multipart: AES-ECB, 32 bytes, good
|
||||||
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES
|
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
cipher_decrypt_multipart:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"3ad77bb40d7a3660a89ecaf32466ef972249a2638c6f1c755a84f9681a9f08c1":32:32:0:"6bc1bee22e409f96e93d7e117393172a3ad77bb40d7a3660a89ecaf32466ef97":PSA_SUCCESS
|
cipher_decrypt_multipart:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"3ad77bb40d7a3660a89ecaf32466ef972249a2638c6f1c755a84f9681a9f08c1":32:32:0:"6bc1bee22e409f96e93d7e117393172a3ad77bb40d7a3660a89ecaf32466ef97":PSA_SUCCESS
|
||||||
|
|
||||||
PSA symmetric decrypt multipart: AES-CBC-nopad, 16 bytes, good
|
PSA symmetric decrypt multipart: AES-CBC-nopad, 16 bytes, good
|
||||||
|
@ -2519,7 +2519,7 @@ depends_on:PSA_WANT_ALG_CTR:PSA_WANT_KEY_TYPE_AES
|
||||||
cipher_decrypt_multipart:PSA_ALG_CTR:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a":"396ee84fb75fdbb5c2b13c7fe5a654aa":16:16:0:"dd3b5e5319b7591daab1e1a92687feb2":PSA_SUCCESS
|
cipher_decrypt_multipart:PSA_ALG_CTR:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a":"396ee84fb75fdbb5c2b13c7fe5a654aa":16:16:0:"dd3b5e5319b7591daab1e1a92687feb2":PSA_SUCCESS
|
||||||
|
|
||||||
PSA symmetric decrypt multipart: AES-ECB, input too short (15 bytes)
|
PSA symmetric decrypt multipart: AES-ECB, input too short (15 bytes)
|
||||||
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES
|
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
cipher_decrypt_multipart:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"396ee84fb75fdbb5c2b13c7fe5a654":0:0:0:"63cecc46a382414d5fa7d2b7938743":PSA_ERROR_INVALID_ARGUMENT
|
cipher_decrypt_multipart:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"396ee84fb75fdbb5c2b13c7fe5a654":0:0:0:"63cecc46a382414d5fa7d2b7938743":PSA_ERROR_INVALID_ARGUMENT
|
||||||
|
|
||||||
PSA symmetric decrypt multipart: AES-CBC-nopad, input too short (5 bytes)
|
PSA symmetric decrypt multipart: AES-CBC-nopad, input too short (5 bytes)
|
||||||
|
@ -2551,7 +2551,7 @@ depends_on:PSA_WANT_ALG_CCM_STAR_NO_TAG:PSA_WANT_KEY_TYPE_AES
|
||||||
cipher_decrypt_multipart:PSA_ALG_CCM_STAR_NO_TAG:PSA_KEY_TYPE_AES:"197afb02ffbd8f699dacae87094d5243":"5a8aa485c316e9403aff859fbb":"4a550134f94455979ec4bf89ad2bd80d25a77ae94e456134":10:10:14:"a16a2e741f1cd9717285b6d882c1fc53655e9773761ad697":PSA_SUCCESS
|
cipher_decrypt_multipart:PSA_ALG_CCM_STAR_NO_TAG:PSA_KEY_TYPE_AES:"197afb02ffbd8f699dacae87094d5243":"5a8aa485c316e9403aff859fbb":"4a550134f94455979ec4bf89ad2bd80d25a77ae94e456134":10:10:14:"a16a2e741f1cd9717285b6d882c1fc53655e9773761ad697":PSA_SUCCESS
|
||||||
|
|
||||||
PSA symmetric encrypt/decrypt: AES-ECB, 16 bytes, good
|
PSA symmetric encrypt/decrypt: AES-ECB, 16 bytes, good
|
||||||
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES
|
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
cipher_verify_output:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"6bc1bee22e409f96e93d7e117393172a"
|
cipher_verify_output:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"6bc1bee22e409f96e93d7e117393172a"
|
||||||
|
|
||||||
PSA symmetric encrypt/decrypt: AES-CBC-nopad, 16 bytes, good
|
PSA symmetric encrypt/decrypt: AES-CBC-nopad, 16 bytes, good
|
||||||
|
@ -2663,15 +2663,15 @@ depends_on:PSA_WANT_ALG_CTR:PSA_WANT_KEY_TYPE_AES
|
||||||
cipher_encrypt_multipart:PSA_ALG_CTR:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a":"6bc1bee22e409f96e93d7e117393172a":16:16:0:"8f9408fe80a81d3e813da3c7b0b2bd32":PSA_SUCCESS
|
cipher_encrypt_multipart:PSA_ALG_CTR:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a":"6bc1bee22e409f96e93d7e117393172a":16:16:0:"8f9408fe80a81d3e813da3c7b0b2bd32":PSA_SUCCESS
|
||||||
|
|
||||||
PSA symmetric decryption multipart: AES-ECB, 16+16 bytes
|
PSA symmetric decryption multipart: AES-ECB, 16+16 bytes
|
||||||
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES
|
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
cipher_decrypt_multipart:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"3ad77bb40d7a3660a89ecaf32466ef9755ed5e9e066820fa52c729886d18854c":16:16:16:"6bc1bee22e409f96e93d7e117393172a5434f378a597bcef1389318c7fc865ef":PSA_SUCCESS
|
cipher_decrypt_multipart:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"3ad77bb40d7a3660a89ecaf32466ef9755ed5e9e066820fa52c729886d18854c":16:16:16:"6bc1bee22e409f96e93d7e117393172a5434f378a597bcef1389318c7fc865ef":PSA_SUCCESS
|
||||||
|
|
||||||
PSA symmetric decryption multipart: AES-ECB, 11+21 bytes
|
PSA symmetric decryption multipart: AES-ECB, 11+21 bytes
|
||||||
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES
|
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
cipher_decrypt_multipart:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"3ad77bb40d7a3660a89ecaf32466ef9755ed5e9e066820fa52c729886d18854c":11:0:32:"6bc1bee22e409f96e93d7e117393172a5434f378a597bcef1389318c7fc865ef":PSA_SUCCESS
|
cipher_decrypt_multipart:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"3ad77bb40d7a3660a89ecaf32466ef9755ed5e9e066820fa52c729886d18854c":11:0:32:"6bc1bee22e409f96e93d7e117393172a5434f378a597bcef1389318c7fc865ef":PSA_SUCCESS
|
||||||
|
|
||||||
PSA symmetric decryption multipart: AES-ECB, 28+4 bytes
|
PSA symmetric decryption multipart: AES-ECB, 28+4 bytes
|
||||||
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES
|
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
cipher_decrypt_multipart:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"3ad77bb40d7a3660a89ecaf32466ef9755ed5e9e066820fa52c729886d18854c":28:16:16:"6bc1bee22e409f96e93d7e117393172a5434f378a597bcef1389318c7fc865ef":PSA_SUCCESS
|
cipher_decrypt_multipart:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"":"3ad77bb40d7a3660a89ecaf32466ef9755ed5e9e066820fa52c729886d18854c":28:16:16:"6bc1bee22e409f96e93d7e117393172a5434f378a597bcef1389318c7fc865ef":PSA_SUCCESS
|
||||||
|
|
||||||
PSA symmetric decryption multipart: AES-CBC-nopad, 7+9 bytes
|
PSA symmetric decryption multipart: AES-CBC-nopad, 7+9 bytes
|
||||||
|
@ -2735,7 +2735,7 @@ depends_on:PSA_WANT_ALG_CTR:PSA_WANT_KEY_TYPE_AES
|
||||||
cipher_decrypt_multipart:PSA_ALG_CTR:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a":"6bc1bee22e409f96e93d7e117393172a":16:16:0:"8f9408fe80a81d3e813da3c7b0b2bd32":PSA_SUCCESS
|
cipher_decrypt_multipart:PSA_ALG_CTR:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a":"6bc1bee22e409f96e93d7e117393172a":16:16:0:"8f9408fe80a81d3e813da3c7b0b2bd32":PSA_SUCCESS
|
||||||
|
|
||||||
PSA symmetric encrypt/decrypt multipart: AES-ECB, 16 bytes, good
|
PSA symmetric encrypt/decrypt multipart: AES-ECB, 16 bytes, good
|
||||||
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES
|
depends_on:PSA_WANT_ALG_ECB_NO_PADDING:PSA_WANT_KEY_TYPE_AES:!MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
|
||||||
cipher_verify_output_multipart:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"6bc1bee22e409f96e93d7e117393172a":16
|
cipher_verify_output_multipart:PSA_ALG_ECB_NO_PADDING:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"6bc1bee22e409f96e93d7e117393172a":16
|
||||||
|
|
||||||
PSA symmetric encrypt/decrypt multipart: AES-CBC-nopad, 16 bytes, good
|
PSA symmetric encrypt/decrypt multipart: AES-CBC-nopad, 16 bytes, good
|
||||||
|
|
|
@ -1145,21 +1145,21 @@ exit:
|
||||||
/* END_CASE */
|
/* END_CASE */
|
||||||
|
|
||||||
/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */
|
/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */
|
||||||
void ssl_set_hostname_twice(char *hostname0, char *hostname1)
|
void ssl_set_hostname_twice(char *input_hostname0, char *input_hostname1)
|
||||||
{
|
{
|
||||||
const char *hostname;
|
const char *output_hostname;
|
||||||
mbedtls_ssl_context ssl;
|
mbedtls_ssl_context ssl;
|
||||||
|
|
||||||
mbedtls_ssl_init(&ssl);
|
mbedtls_ssl_init(&ssl);
|
||||||
USE_PSA_INIT();
|
USE_PSA_INIT();
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_ssl_set_hostname(&ssl, hostname0) == 0);
|
TEST_ASSERT(mbedtls_ssl_set_hostname(&ssl, input_hostname0) == 0);
|
||||||
hostname = mbedtls_ssl_get_hostname(&ssl);
|
output_hostname = mbedtls_ssl_get_hostname(&ssl);
|
||||||
TEST_ASSERT(strcmp(hostname0, hostname) == 0);
|
TEST_ASSERT(strcmp(input_hostname0, output_hostname) == 0);
|
||||||
|
|
||||||
TEST_ASSERT(mbedtls_ssl_set_hostname(&ssl, hostname1) == 0);
|
TEST_ASSERT(mbedtls_ssl_set_hostname(&ssl, input_hostname1) == 0);
|
||||||
hostname = mbedtls_ssl_get_hostname(&ssl);
|
output_hostname = mbedtls_ssl_get_hostname(&ssl);
|
||||||
TEST_ASSERT(strcmp(hostname1, hostname) == 0);
|
TEST_ASSERT(strcmp(input_hostname1, output_hostname) == 0);
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
mbedtls_ssl_free(&ssl);
|
mbedtls_ssl_free(&ssl);
|
||||||
|
|
Loading…
Reference in a new issue