From f8d36c84ac486d7e504cc3d9a697dffcbb8f0aa1 Mon Sep 17 00:00:00 2001 From: Gilles Peskine Date: Mon, 20 Apr 2026 10:13:21 +0200 Subject: [PATCH] Speed up generation by caching signatures We tend to generate the signature of the same message under the same keys multiple times for different APIs (sign/verify, driver/dispatch, ...). Caching results makes the script noticeably faster. Signed-off-by: Gilles Peskine --- util/mbedtls_maintainer/mldsa_test_generator.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/util/mbedtls_maintainer/mldsa_test_generator.py b/util/mbedtls_maintainer/mldsa_test_generator.py index 72b20ce35..023e44cd8 100644 --- a/util/mbedtls_maintainer/mldsa_test_generator.py +++ b/util/mbedtls_maintainer/mldsa_test_generator.py @@ -4,6 +4,7 @@ # Copyright The Mbed TLS Contributors # SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later +import functools from typing import Iterator, List, Optional # pip install dilithium-py @@ -41,6 +42,7 @@ class Key: self.seed = seed self.public, self.secret = PURE[kl]._keygen_internal(seed) + @functools.lru_cache(maxsize=9999) def sign_message(self, message: bytes, deterministic: bool) -> bytes: PURE[self.kl].set_drbg_seed(bytes(48)) return PURE[self.kl].sign(self.secret, message,