// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 #include "../evp_extra/internal.h" #include "../fipsmodule/evp/internal.h" #include "sig_dilithium.h" #include "pqcrystals_dilithium_ref_common/api.h" // Note: These methods currently default to using the reference code for // Dilithium. In a future where AWS-LC has optimized options available, // those can be conditionally (or based on compile-time flags) called here, // depending on platform support. int DILITHIUM3_keypair(uint8_t *public_key /* OUT */, uint8_t *secret_key /* OUT */) { return pqcrystals_dilithium3_ref_keypair(public_key, secret_key); } int DILITHIUM3_sign(uint8_t *sig /* OUT */, size_t *sig_len /* OUT */, const uint8_t *message /* IN */, size_t message_len, /* IN */ const uint8_t *secret_key /* IN */) { return pqcrystals_dilithium3_ref_signature(sig, sig_len, message, message_len, secret_key); } int DILITHIUM3_verify(const uint8_t *message /* IN */, size_t message_len /* IN */, const uint8_t *sig /* IN */, size_t sig_len /* IN */, const uint8_t *public_key /* IN */) { return pqcrystals_dilithium3_ref_verify(sig, sig_len, message, message_len, public_key); }