From 87e39885379a38e26c07cfc6f233a6c37cc6e069 Mon Sep 17 00:00:00 2001 From: Gilles Peskine Date: Thu, 8 Jan 2026 16:30:36 +0100 Subject: [PATCH] Add all algorithms from PSA Crypto 1.4 PQC extension Signed-off-by: Gilles Peskine --- scripts/mbedtls_framework/crypto_data_tests.py | 4 ++++ scripts/mbedtls_framework/crypto_knowledge.py | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/scripts/mbedtls_framework/crypto_data_tests.py b/scripts/mbedtls_framework/crypto_data_tests.py index 3f014572c..ce83d700b 100644 --- a/scripts/mbedtls_framework/crypto_data_tests.py +++ b/scripts/mbedtls_framework/crypto_data_tests.py @@ -43,6 +43,7 @@ class HashPSALowLevel: 'PSA_ALG_SHA_1': lambda data: hashlib.sha1(data).hexdigest(), 'PSA_ALG_SHA_224': lambda data: hashlib.sha224(data).hexdigest(), 'PSA_ALG_SHA_256': lambda data: hashlib.sha256(data).hexdigest(), + 'PSA_ALG_SHA_256_192': None, #lambda data: hashlib.new('sha256').hexdigest()[:48] 'PSA_ALG_SHA_384': lambda data: hashlib.sha384(data).hexdigest(), 'PSA_ALG_SHA_512': lambda data: hashlib.sha512(data).hexdigest(), 'PSA_ALG_SHA_512_224': None, #lambda data: hashlib.new('sha512_224').hexdigest() @@ -51,6 +52,9 @@ class HashPSALowLevel: 'PSA_ALG_SHA3_256': None, #lambda data: hashlib.sha3_256(data).hexdigest(), 'PSA_ALG_SHA3_384': None, #lambda data: hashlib.sha3_384(data).hexdigest(), 'PSA_ALG_SHA3_512': None, #lambda data: hashlib.sha3_512(data).hexdigest(), + 'PSA_ALG_SHAKE128_192': None, #lambda data: hashlib.shake_128(data).hexdigest(24), + 'PSA_ALG_SHAKE128_256': None, #lambda data: hashlib.shake_128(data).hexdigest(32), + 'PSA_ALG_SHAKE256_256': None, #lambda data: hashlib.shake_256(data).hexdigest(32), 'PSA_ALG_SHAKE256_512': None, #lambda data: hashlib.shake_256(data).hexdigest(64), 'PSA_ALG_ASCON_HASH256': None, #lambda data: ascon.ascon_hash(data), } #type: Dict[str, Optional[Callable[[bytes], str]]] diff --git a/scripts/mbedtls_framework/crypto_knowledge.py b/scripts/mbedtls_framework/crypto_knowledge.py index 526965e7e..0ca1fe603 100644 --- a/scripts/mbedtls_framework/crypto_knowledge.py +++ b/scripts/mbedtls_framework/crypto_knowledge.py @@ -367,9 +367,17 @@ class Algorithm: 'DSA': AlgorithmCategory.SIGN, 'ECDSA': AlgorithmCategory.SIGN, 'EDDSA': AlgorithmCategory.SIGN, + 'HASH_ML_DSA': AlgorithmCategory.SIGN, + 'HASH_SLH_DSA': AlgorithmCategory.SIGN, + 'HSS': AlgorithmCategory.SIGN, + 'LMS': AlgorithmCategory.SIGN, + 'ML_DSA': AlgorithmCategory.SIGN, 'PURE_EDDSA': AlgorithmCategory.SIGN, + 'SLH_DSA': AlgorithmCategory.SIGN, 'RSA_PSS': AlgorithmCategory.SIGN, 'RSA_PKCS1V15_SIGN': AlgorithmCategory.SIGN, + 'XMMS': AlgorithmCategory.SIGN, + 'XMMS_MT': AlgorithmCategory.SIGN, 'RSA_PKCS1V15_CRYPT': AlgorithmCategory.ASYMMETRIC_ENCRYPTION, 'RSA_OAEP': AlgorithmCategory.ASYMMETRIC_ENCRYPTION, 'HKDF': AlgorithmCategory.KEY_DERIVATION, @@ -387,6 +395,7 @@ class Algorithm: 'KW': AlgorithmCategory.KEY_WRAP, 'KWP': AlgorithmCategory.KEY_WRAP, 'ECIES_SEC1': AlgorithmCategory.KEY_ENCAPSULATION, + 'ML_KEM': AlgorithmCategory.KEY_ENCAPSULATION, 'ASCON_CXOF': AlgorithmCategory.XOF, 'ASCON_XOF': AlgorithmCategory.XOF, 'SHAKE': AlgorithmCategory.XOF,