mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-02-21 06:40:50 +00:00
Add ARIA to the PSA API
Use the encoding from an upcoming version of the specification. Add as much (or as little) testing as is currently present for Camellia. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
parent
cacec723c8
commit
6c12a1e9f2
@ -3682,6 +3682,7 @@ psa_status_t psa_key_derivation_output_bytes(
|
||||
* The following key types defined in this specification follow this scheme:
|
||||
*
|
||||
* - #PSA_KEY_TYPE_AES;
|
||||
* - #PSA_KEY_TYPE_ARIA;
|
||||
* - #PSA_KEY_TYPE_CAMELLIA;
|
||||
* - #PSA_KEY_TYPE_DERIVE;
|
||||
* - #PSA_KEY_TYPE_HMAC;
|
||||
|
@ -466,6 +466,10 @@
|
||||
*/
|
||||
#define PSA_KEY_TYPE_AES ((psa_key_type_t)0x2400)
|
||||
|
||||
/** Key for a cipher, AEAD or MAC algorithm based on the
|
||||
* ARIA block cipher. */
|
||||
#define PSA_KEY_TYPE_ARIA ((psa_key_type_t)0x2406)
|
||||
|
||||
/** Key for a cipher or MAC algorithm based on DES or 3DES (Triple-DES).
|
||||
*
|
||||
* The size of the key can be 64 bits (single DES), 128 bits (2-key 3DES) or
|
||||
|
@ -446,6 +446,12 @@ psa_status_t psa_validate_unstructured_key_bit_size( psa_key_type_t type,
|
||||
return( PSA_ERROR_INVALID_ARGUMENT );
|
||||
break;
|
||||
#endif
|
||||
#if defined(PSA_WANT_KEY_TYPE_ARIA)
|
||||
case PSA_KEY_TYPE_ARIA:
|
||||
if( bits != 128 && bits != 192 && bits != 256 )
|
||||
return( PSA_ERROR_INVALID_ARGUMENT );
|
||||
break;
|
||||
#endif
|
||||
#if defined(PSA_WANT_KEY_TYPE_CAMELLIA)
|
||||
case PSA_KEY_TYPE_CAMELLIA:
|
||||
if( bits != 128 && bits != 192 && bits != 256 )
|
||||
|
@ -115,6 +115,9 @@ const mbedtls_cipher_info_t *mbedtls_cipher_info_from_psa(
|
||||
case PSA_KEY_TYPE_AES:
|
||||
cipher_id_tmp = MBEDTLS_CIPHER_ID_AES;
|
||||
break;
|
||||
case PSA_KEY_TYPE_ARIA:
|
||||
cipher_id_tmp = MBEDTLS_CIPHER_ID_ARIA;
|
||||
break;
|
||||
case PSA_KEY_TYPE_DES:
|
||||
/* key_bits is 64 for Single-DES, 128 for two-key Triple-DES,
|
||||
* and 192 for three-key Triple-DES. */
|
||||
|
@ -130,6 +130,18 @@ AEAD: CCM-AES-256
|
||||
depends_on:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM
|
||||
aead_algorithm:PSA_ALG_CCM:ALG_IS_AEAD_ON_BLOCK_CIPHER:16:PSA_KEY_TYPE_AES:256
|
||||
|
||||
AEAD: CCM-ARIA-128
|
||||
depends_on:PSA_WANT_KEY_TYPE_ARIA:PSA_WANT_ALG_CCM
|
||||
aead_algorithm:PSA_ALG_CCM:ALG_IS_AEAD_ON_BLOCK_CIPHER:16:PSA_KEY_TYPE_ARIA:128
|
||||
|
||||
AEAD: CCM-ARIA-192
|
||||
depends_on:PSA_WANT_KEY_TYPE_ARIA:PSA_WANT_ALG_CCM
|
||||
aead_algorithm:PSA_ALG_CCM:ALG_IS_AEAD_ON_BLOCK_CIPHER:16:PSA_KEY_TYPE_ARIA:192
|
||||
|
||||
AEAD: CCM-ARIA-256
|
||||
depends_on:PSA_WANT_KEY_TYPE_ARIA:PSA_WANT_ALG_CCM
|
||||
aead_algorithm:PSA_ALG_CCM:ALG_IS_AEAD_ON_BLOCK_CIPHER:16:PSA_KEY_TYPE_ARIA:256
|
||||
|
||||
AEAD: CCM-CAMELLIA-128
|
||||
depends_on:PSA_WANT_KEY_TYPE_CAMELLIA:PSA_WANT_ALG_CCM
|
||||
aead_algorithm:PSA_ALG_CCM:ALG_IS_AEAD_ON_BLOCK_CIPHER:16:PSA_KEY_TYPE_CAMELLIA:128
|
||||
@ -154,6 +166,18 @@ AEAD: GCM-AES-256
|
||||
depends_on:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_GCM
|
||||
aead_algorithm:PSA_ALG_GCM:ALG_IS_AEAD_ON_BLOCK_CIPHER:16:PSA_KEY_TYPE_AES:256
|
||||
|
||||
AEAD: GCM-ARIA-128
|
||||
depends_on:PSA_WANT_KEY_TYPE_ARIA:PSA_WANT_ALG_GCM
|
||||
aead_algorithm:PSA_ALG_GCM:ALG_IS_AEAD_ON_BLOCK_CIPHER:16:PSA_KEY_TYPE_ARIA:128
|
||||
|
||||
AEAD: GCM-ARIA-192
|
||||
depends_on:PSA_WANT_KEY_TYPE_ARIA:PSA_WANT_ALG_GCM
|
||||
aead_algorithm:PSA_ALG_GCM:ALG_IS_AEAD_ON_BLOCK_CIPHER:16:PSA_KEY_TYPE_ARIA:192
|
||||
|
||||
AEAD: GCM-ARIA-256
|
||||
depends_on:PSA_WANT_KEY_TYPE_ARIA:PSA_WANT_ALG_GCM
|
||||
aead_algorithm:PSA_ALG_GCM:ALG_IS_AEAD_ON_BLOCK_CIPHER:16:PSA_KEY_TYPE_ARIA:256
|
||||
|
||||
AEAD: GCM-CAMELLIA-128
|
||||
depends_on:PSA_WANT_KEY_TYPE_CAMELLIA:PSA_WANT_ALG_GCM
|
||||
aead_algorithm:PSA_ALG_GCM:ALG_IS_AEAD_ON_BLOCK_CIPHER:16:PSA_KEY_TYPE_CAMELLIA:128
|
||||
@ -295,6 +319,10 @@ Block cipher key type: AES
|
||||
depends_on:PSA_WANT_KEY_TYPE_AES
|
||||
block_cipher_key_type:PSA_KEY_TYPE_AES:16
|
||||
|
||||
Block cipher key type: ARIA
|
||||
depends_on:PSA_WANT_KEY_TYPE_ARIA
|
||||
block_cipher_key_type:PSA_KEY_TYPE_ARIA:16
|
||||
|
||||
Block cipher key type: DES
|
||||
depends_on:PSA_WANT_KEY_TYPE_DES
|
||||
block_cipher_key_type:PSA_KEY_TYPE_DES:8
|
||||
|
@ -78,6 +78,21 @@ import_key_smoke:PSA_KEY_TYPE_AES:PSA_ALG_CCM:"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
Key import smoke test: AES-GCM
|
||||
import_key_smoke:PSA_KEY_TYPE_AES:PSA_ALG_GCM:"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
Key import smoke test: ARIA-CTR
|
||||
import_key_smoke:PSA_KEY_TYPE_ARIA:PSA_ALG_CTR:"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
Key import smoke test: ARIA-CBC
|
||||
import_key_smoke:PSA_KEY_TYPE_ARIA:PSA_ALG_CBC_NO_PADDING:"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
Key import smoke test: ARIA-CMAC
|
||||
import_key_smoke:PSA_KEY_TYPE_ARIA:PSA_ALG_CMAC:"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
Key import smoke test: ARIA-CCM
|
||||
import_key_smoke:PSA_KEY_TYPE_ARIA:PSA_ALG_CCM:"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
Key import smoke test: ARIA-GCM
|
||||
import_key_smoke:PSA_KEY_TYPE_ARIA:PSA_ALG_GCM:"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
Key import smoke test: CAMELLIA-CTR
|
||||
import_key_smoke:PSA_KEY_TYPE_CAMELLIA:PSA_ALG_CTR:"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user