diff --git a/docs/algorithms/sig/ml_dsa.md b/docs/algorithms/sig/ml_dsa.md index 22dbfc831..69b786c0b 100644 --- a/docs/algorithms/sig/ml_dsa.md +++ b/docs/algorithms/sig/ml_dsa.md @@ -7,7 +7,7 @@ - **Authors' website**: https://pq-crystals.org/dilithium/ and https://csrc.nist.gov/pubs/fips/204/final - **Specification version**: ML-DSA. - **Primary Source**: - - **Source**: https://github.com/pq-crystals/dilit/commit/444cdcc84eb36b66fe27b3a2529ee48f6d8150c2 with copy_from_upstream patches + - **Source**: https://github.com/pq-crystals/dilithium/commit/444cdcc84eb36b66fe27b3a2529ee48f6d8150c2 with copy_from_upstream patches - **Implementation license (SPDX-Identifier)**: CC0-1.0 or Apache-2.0 diff --git a/docs/algorithms/sig/ml_dsa.yml b/docs/algorithms/sig/ml_dsa.yml index 92882396f..abc7a0723 100644 --- a/docs/algorithms/sig/ml_dsa.yml +++ b/docs/algorithms/sig/ml_dsa.yml @@ -15,7 +15,7 @@ website: https://pq-crystals.org/dilithium/ and https://csrc.nist.gov/pubs/fips/ nist-round: FIPS204 spec-version: ML-DSA primary-upstream: - source: https://github.com/pq-crystals/dilit/commit/444cdcc84eb36b66fe27b3a2529ee48f6d8150c2 + source: https://github.com/pq-crystals/dilithium/commit/444cdcc84eb36b66fe27b3a2529ee48f6d8150c2 with copy_from_upstream patches spdx-license-identifier: CC0-1.0 or Apache-2.0 parameter-sets: diff --git a/scripts/copy_from_upstream/copy_from_upstream.yml b/scripts/copy_from_upstream/copy_from_upstream.yml index 1cb9c11d1..83c52e759 100644 --- a/scripts/copy_from_upstream/copy_from_upstream.yml +++ b/scripts/copy_from_upstream/copy_from_upstream.yml @@ -48,7 +48,7 @@ upstreams: patches: [pqcrystals-dilithium-yml.patch, pqcrystals-dilithium-ref-shake-aes.patch, pqcrystals-dilithium-avx2-shake-aes.patch] - name: pqcrystals-dilithium-standard - git_url: https://github.com/pq-crystals/dilithium + git_url: https://github.com/pq-crystals/dilithium.git git_branch: master git_commit: 444cdcc84eb36b66fe27b3a2529ee48f6d8150c2 sig_meta_path: '{pretty_name_full}_META.yml' diff --git a/scripts/copy_from_upstream/src/sig/family/sig_scheme.c b/scripts/copy_from_upstream/src/sig/family/sig_scheme.c index d9b9dd82e..e32d4fec6 100644 --- a/scripts/copy_from_upstream/src/sig/family/sig_scheme.c +++ b/scripts/copy_from_upstream/src/sig/family/sig_scheme.c @@ -344,25 +344,21 @@ OQS_API OQS_STATUS OQS_SIG_{{ family }}_{{ scheme['scheme'] }}_verify_with_ctx_s {%- endif %} } {%- else %} + OQS_API OQS_STATUS OQS_SIG_{{ family }}_{{ scheme['scheme'] }}_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_{{ family }}_{{ scheme['scheme'] }}_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_{{ family }}_{{ scheme['scheme'] }}_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_{{ family }}_{{ scheme['scheme'] }}_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } {%- endif %} #endif diff --git a/src/sig/cross/sig_cross_rsdp_128_balanced.c b/src/sig/cross/sig_cross_rsdp_128_balanced.c index b5dfc3f9e..497810b7e 100644 --- a/src/sig/cross/sig_cross_rsdp_128_balanced.c +++ b/src/sig/cross/sig_cross_rsdp_128_balanced.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdp_128_balanced_verify(const uint8_t *message return (OQS_STATUS) PQCLEAN_CROSSRSDP128BALANCED_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_cross_rsdp_128_balanced_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdp_128_balanced_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_cross_rsdp_128_balanced_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdp_128_balanced_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/cross/sig_cross_rsdp_128_fast.c b/src/sig/cross/sig_cross_rsdp_128_fast.c index 9a88e5045..4adf08887 100644 --- a/src/sig/cross/sig_cross_rsdp_128_fast.c +++ b/src/sig/cross/sig_cross_rsdp_128_fast.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdp_128_fast_verify(const uint8_t *message, si return (OQS_STATUS) PQCLEAN_CROSSRSDP128FAST_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_cross_rsdp_128_fast_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdp_128_fast_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_cross_rsdp_128_fast_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdp_128_fast_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/cross/sig_cross_rsdp_128_small.c b/src/sig/cross/sig_cross_rsdp_128_small.c index cc6107b71..ad50ba35b 100644 --- a/src/sig/cross/sig_cross_rsdp_128_small.c +++ b/src/sig/cross/sig_cross_rsdp_128_small.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdp_128_small_verify(const uint8_t *message, s return (OQS_STATUS) PQCLEAN_CROSSRSDP128SMALL_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_cross_rsdp_128_small_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdp_128_small_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_cross_rsdp_128_small_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdp_128_small_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/cross/sig_cross_rsdp_192_balanced.c b/src/sig/cross/sig_cross_rsdp_192_balanced.c index f539a955c..98289029f 100644 --- a/src/sig/cross/sig_cross_rsdp_192_balanced.c +++ b/src/sig/cross/sig_cross_rsdp_192_balanced.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdp_192_balanced_verify(const uint8_t *message return (OQS_STATUS) PQCLEAN_CROSSRSDP192BALANCED_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_cross_rsdp_192_balanced_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdp_192_balanced_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_cross_rsdp_192_balanced_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdp_192_balanced_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/cross/sig_cross_rsdp_192_fast.c b/src/sig/cross/sig_cross_rsdp_192_fast.c index 708215398..4490466db 100644 --- a/src/sig/cross/sig_cross_rsdp_192_fast.c +++ b/src/sig/cross/sig_cross_rsdp_192_fast.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdp_192_fast_verify(const uint8_t *message, si return (OQS_STATUS) PQCLEAN_CROSSRSDP192FAST_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_cross_rsdp_192_fast_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdp_192_fast_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_cross_rsdp_192_fast_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdp_192_fast_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/cross/sig_cross_rsdp_192_small.c b/src/sig/cross/sig_cross_rsdp_192_small.c index 3a5ee2e0a..1a78de79a 100644 --- a/src/sig/cross/sig_cross_rsdp_192_small.c +++ b/src/sig/cross/sig_cross_rsdp_192_small.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdp_192_small_verify(const uint8_t *message, s return (OQS_STATUS) PQCLEAN_CROSSRSDP192SMALL_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_cross_rsdp_192_small_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdp_192_small_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_cross_rsdp_192_small_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdp_192_small_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/cross/sig_cross_rsdp_256_balanced.c b/src/sig/cross/sig_cross_rsdp_256_balanced.c index 30c05a895..f51ccb217 100644 --- a/src/sig/cross/sig_cross_rsdp_256_balanced.c +++ b/src/sig/cross/sig_cross_rsdp_256_balanced.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdp_256_balanced_verify(const uint8_t *message return (OQS_STATUS) PQCLEAN_CROSSRSDP256BALANCED_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_cross_rsdp_256_balanced_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdp_256_balanced_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_cross_rsdp_256_balanced_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdp_256_balanced_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/cross/sig_cross_rsdp_256_fast.c b/src/sig/cross/sig_cross_rsdp_256_fast.c index a31bc9e3c..8b5f6e2ef 100644 --- a/src/sig/cross/sig_cross_rsdp_256_fast.c +++ b/src/sig/cross/sig_cross_rsdp_256_fast.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdp_256_fast_verify(const uint8_t *message, si return (OQS_STATUS) PQCLEAN_CROSSRSDP256FAST_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_cross_rsdp_256_fast_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdp_256_fast_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_cross_rsdp_256_fast_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdp_256_fast_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/cross/sig_cross_rsdp_256_small.c b/src/sig/cross/sig_cross_rsdp_256_small.c index 265cf9438..108ef4d71 100644 --- a/src/sig/cross/sig_cross_rsdp_256_small.c +++ b/src/sig/cross/sig_cross_rsdp_256_small.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdp_256_small_verify(const uint8_t *message, s return (OQS_STATUS) PQCLEAN_CROSSRSDP256SMALL_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_cross_rsdp_256_small_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdp_256_small_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_cross_rsdp_256_small_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdp_256_small_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/cross/sig_cross_rsdpg_128_balanced.c b/src/sig/cross/sig_cross_rsdpg_128_balanced.c index 2af12561c..d6f777459 100644 --- a/src/sig/cross/sig_cross_rsdpg_128_balanced.c +++ b/src/sig/cross/sig_cross_rsdpg_128_balanced.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_128_balanced_verify(const uint8_t *messag return (OQS_STATUS) PQCLEAN_CROSSRSDPG128BALANCED_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_128_balanced_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdpg_128_balanced_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_128_balanced_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdpg_128_balanced_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/cross/sig_cross_rsdpg_128_fast.c b/src/sig/cross/sig_cross_rsdpg_128_fast.c index 14d30cc5b..369eb47f8 100644 --- a/src/sig/cross/sig_cross_rsdpg_128_fast.c +++ b/src/sig/cross/sig_cross_rsdpg_128_fast.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_128_fast_verify(const uint8_t *message, s return (OQS_STATUS) PQCLEAN_CROSSRSDPG128FAST_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_128_fast_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdpg_128_fast_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_128_fast_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdpg_128_fast_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/cross/sig_cross_rsdpg_128_small.c b/src/sig/cross/sig_cross_rsdpg_128_small.c index 7492b9596..50868405d 100644 --- a/src/sig/cross/sig_cross_rsdpg_128_small.c +++ b/src/sig/cross/sig_cross_rsdpg_128_small.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_128_small_verify(const uint8_t *message, return (OQS_STATUS) PQCLEAN_CROSSRSDPG128SMALL_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_128_small_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdpg_128_small_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_128_small_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdpg_128_small_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/cross/sig_cross_rsdpg_192_balanced.c b/src/sig/cross/sig_cross_rsdpg_192_balanced.c index fe2270510..13b5c8b31 100644 --- a/src/sig/cross/sig_cross_rsdpg_192_balanced.c +++ b/src/sig/cross/sig_cross_rsdpg_192_balanced.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_192_balanced_verify(const uint8_t *messag return (OQS_STATUS) PQCLEAN_CROSSRSDPG192BALANCED_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_192_balanced_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdpg_192_balanced_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_192_balanced_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdpg_192_balanced_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/cross/sig_cross_rsdpg_192_fast.c b/src/sig/cross/sig_cross_rsdpg_192_fast.c index 80aa4d47d..d020f5eb9 100644 --- a/src/sig/cross/sig_cross_rsdpg_192_fast.c +++ b/src/sig/cross/sig_cross_rsdpg_192_fast.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_192_fast_verify(const uint8_t *message, s return (OQS_STATUS) PQCLEAN_CROSSRSDPG192FAST_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_192_fast_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdpg_192_fast_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_192_fast_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdpg_192_fast_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/cross/sig_cross_rsdpg_192_small.c b/src/sig/cross/sig_cross_rsdpg_192_small.c index cf89aceff..f996c15f8 100644 --- a/src/sig/cross/sig_cross_rsdpg_192_small.c +++ b/src/sig/cross/sig_cross_rsdpg_192_small.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_192_small_verify(const uint8_t *message, return (OQS_STATUS) PQCLEAN_CROSSRSDPG192SMALL_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_192_small_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdpg_192_small_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_192_small_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdpg_192_small_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/cross/sig_cross_rsdpg_256_balanced.c b/src/sig/cross/sig_cross_rsdpg_256_balanced.c index 1a76d1ab1..0ecc63484 100644 --- a/src/sig/cross/sig_cross_rsdpg_256_balanced.c +++ b/src/sig/cross/sig_cross_rsdpg_256_balanced.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_256_balanced_verify(const uint8_t *messag return (OQS_STATUS) PQCLEAN_CROSSRSDPG256BALANCED_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_256_balanced_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdpg_256_balanced_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_256_balanced_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdpg_256_balanced_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/cross/sig_cross_rsdpg_256_fast.c b/src/sig/cross/sig_cross_rsdpg_256_fast.c index b097dfb78..fc8c7ad9c 100644 --- a/src/sig/cross/sig_cross_rsdpg_256_fast.c +++ b/src/sig/cross/sig_cross_rsdpg_256_fast.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_256_fast_verify(const uint8_t *message, s return (OQS_STATUS) PQCLEAN_CROSSRSDPG256FAST_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_256_fast_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdpg_256_fast_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_256_fast_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdpg_256_fast_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/cross/sig_cross_rsdpg_256_small.c b/src/sig/cross/sig_cross_rsdpg_256_small.c index f3d7a93e7..e4e7227a5 100644 --- a/src/sig/cross/sig_cross_rsdpg_256_small.c +++ b/src/sig/cross/sig_cross_rsdpg_256_small.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_256_small_verify(const uint8_t *message, return (OQS_STATUS) PQCLEAN_CROSSRSDPG256SMALL_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_256_small_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdpg_256_small_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_256_small_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_cross_rsdpg_256_small_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/dilithium/sig_dilithium_2.c b/src/sig/dilithium/sig_dilithium_2.c index d9c1895e8..06abc8d19 100644 --- a/src/sig/dilithium/sig_dilithium_2.c +++ b/src/sig/dilithium/sig_dilithium_2.c @@ -124,24 +124,20 @@ OQS_API OQS_STATUS OQS_SIG_dilithium_2_verify(const uint8_t *message, size_t mes return (OQS_STATUS) pqcrystals_dilithium2_ref_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_dilithium_2_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_dilithium_2_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_dilithium_2_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_dilithium_2_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/dilithium/sig_dilithium_3.c b/src/sig/dilithium/sig_dilithium_3.c index a72921df9..3257588fc 100644 --- a/src/sig/dilithium/sig_dilithium_3.c +++ b/src/sig/dilithium/sig_dilithium_3.c @@ -124,24 +124,20 @@ OQS_API OQS_STATUS OQS_SIG_dilithium_3_verify(const uint8_t *message, size_t mes return (OQS_STATUS) pqcrystals_dilithium3_ref_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_dilithium_3_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_dilithium_3_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_dilithium_3_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_dilithium_3_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/dilithium/sig_dilithium_5.c b/src/sig/dilithium/sig_dilithium_5.c index 97211755a..79a0bb471 100644 --- a/src/sig/dilithium/sig_dilithium_5.c +++ b/src/sig/dilithium/sig_dilithium_5.c @@ -124,24 +124,20 @@ OQS_API OQS_STATUS OQS_SIG_dilithium_5_verify(const uint8_t *message, size_t mes return (OQS_STATUS) pqcrystals_dilithium5_ref_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_dilithium_5_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_dilithium_5_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_dilithium_5_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_dilithium_5_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/falcon/sig_falcon_1024.c b/src/sig/falcon/sig_falcon_1024.c index d0122b523..e6048fc73 100644 --- a/src/sig/falcon/sig_falcon_1024.c +++ b/src/sig/falcon/sig_falcon_1024.c @@ -124,24 +124,20 @@ OQS_API OQS_STATUS OQS_SIG_falcon_1024_verify(const uint8_t *message, size_t mes return (OQS_STATUS) PQCLEAN_FALCON1024_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_falcon_1024_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_falcon_1024_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_falcon_1024_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_falcon_1024_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/falcon/sig_falcon_512.c b/src/sig/falcon/sig_falcon_512.c index 9177e4647..aec1bc614 100644 --- a/src/sig/falcon/sig_falcon_512.c +++ b/src/sig/falcon/sig_falcon_512.c @@ -124,24 +124,20 @@ OQS_API OQS_STATUS OQS_SIG_falcon_512_verify(const uint8_t *message, size_t mess return (OQS_STATUS) PQCLEAN_FALCON512_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_falcon_512_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_falcon_512_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_falcon_512_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_falcon_512_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/falcon/sig_falcon_padded_1024.c b/src/sig/falcon/sig_falcon_padded_1024.c index 05d5069aa..b2a777272 100644 --- a/src/sig/falcon/sig_falcon_padded_1024.c +++ b/src/sig/falcon/sig_falcon_padded_1024.c @@ -124,24 +124,20 @@ OQS_API OQS_STATUS OQS_SIG_falcon_padded_1024_verify(const uint8_t *message, siz return (OQS_STATUS) PQCLEAN_FALCONPADDED1024_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_falcon_padded_1024_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_falcon_padded_1024_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_falcon_padded_1024_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_falcon_padded_1024_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/falcon/sig_falcon_padded_512.c b/src/sig/falcon/sig_falcon_padded_512.c index 4a2dc397f..382607433 100644 --- a/src/sig/falcon/sig_falcon_padded_512.c +++ b/src/sig/falcon/sig_falcon_padded_512.c @@ -124,24 +124,20 @@ OQS_API OQS_STATUS OQS_SIG_falcon_padded_512_verify(const uint8_t *message, size return (OQS_STATUS) PQCLEAN_FALCONPADDED512_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_falcon_padded_512_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_falcon_padded_512_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_falcon_padded_512_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_falcon_padded_512_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/mayo/sig_mayo_1.c b/src/sig/mayo/sig_mayo_1.c index 79f58a18e..be70917db 100644 --- a/src/sig/mayo/sig_mayo_1.c +++ b/src/sig/mayo/sig_mayo_1.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_mayo_1_verify(const uint8_t *message, size_t message_ return (OQS_STATUS) pqmayo_MAYO_1_opt_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_mayo_1_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_mayo_1_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_mayo_1_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_mayo_1_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/mayo/sig_mayo_2.c b/src/sig/mayo/sig_mayo_2.c index ffe95778e..3a4e0dfd7 100644 --- a/src/sig/mayo/sig_mayo_2.c +++ b/src/sig/mayo/sig_mayo_2.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_mayo_2_verify(const uint8_t *message, size_t message_ return (OQS_STATUS) pqmayo_MAYO_2_opt_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_mayo_2_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_mayo_2_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_mayo_2_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_mayo_2_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/mayo/sig_mayo_3.c b/src/sig/mayo/sig_mayo_3.c index 70b103c49..d91210757 100644 --- a/src/sig/mayo/sig_mayo_3.c +++ b/src/sig/mayo/sig_mayo_3.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_mayo_3_verify(const uint8_t *message, size_t message_ return (OQS_STATUS) pqmayo_MAYO_3_opt_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_mayo_3_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_mayo_3_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_mayo_3_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_mayo_3_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/mayo/sig_mayo_5.c b/src/sig/mayo/sig_mayo_5.c index 1c09189dd..812e0f100 100644 --- a/src/sig/mayo/sig_mayo_5.c +++ b/src/sig/mayo/sig_mayo_5.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_mayo_5_verify(const uint8_t *message, size_t message_ return (OQS_STATUS) pqmayo_MAYO_5_opt_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_mayo_5_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_mayo_5_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_mayo_5_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_mayo_5_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/sphincs/sig_sphincs_sha2_128f_simple.c b/src/sig/sphincs/sig_sphincs_sha2_128f_simple.c index 7c2a784ad..cc2f9dc23 100644 --- a/src/sig/sphincs/sig_sphincs_sha2_128f_simple.c +++ b/src/sig/sphincs/sig_sphincs_sha2_128f_simple.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_sphincs_sha2_128f_simple_verify(const uint8_t *messag return (OQS_STATUS) PQCLEAN_SPHINCSSHA2128FSIMPLE_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_sphincs_sha2_128f_simple_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_sha2_128f_simple_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_sphincs_sha2_128f_simple_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_sha2_128f_simple_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/sphincs/sig_sphincs_sha2_128s_simple.c b/src/sig/sphincs/sig_sphincs_sha2_128s_simple.c index 7508e4bc6..6098fd6f9 100644 --- a/src/sig/sphincs/sig_sphincs_sha2_128s_simple.c +++ b/src/sig/sphincs/sig_sphincs_sha2_128s_simple.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_sphincs_sha2_128s_simple_verify(const uint8_t *messag return (OQS_STATUS) PQCLEAN_SPHINCSSHA2128SSIMPLE_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_sphincs_sha2_128s_simple_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_sha2_128s_simple_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_sphincs_sha2_128s_simple_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_sha2_128s_simple_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/sphincs/sig_sphincs_sha2_192f_simple.c b/src/sig/sphincs/sig_sphincs_sha2_192f_simple.c index 19b0170c8..3d74bb4fa 100644 --- a/src/sig/sphincs/sig_sphincs_sha2_192f_simple.c +++ b/src/sig/sphincs/sig_sphincs_sha2_192f_simple.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_sphincs_sha2_192f_simple_verify(const uint8_t *messag return (OQS_STATUS) PQCLEAN_SPHINCSSHA2192FSIMPLE_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_sphincs_sha2_192f_simple_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_sha2_192f_simple_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_sphincs_sha2_192f_simple_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_sha2_192f_simple_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/sphincs/sig_sphincs_sha2_192s_simple.c b/src/sig/sphincs/sig_sphincs_sha2_192s_simple.c index a8aef4798..13b219a27 100644 --- a/src/sig/sphincs/sig_sphincs_sha2_192s_simple.c +++ b/src/sig/sphincs/sig_sphincs_sha2_192s_simple.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_sphincs_sha2_192s_simple_verify(const uint8_t *messag return (OQS_STATUS) PQCLEAN_SPHINCSSHA2192SSIMPLE_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_sphincs_sha2_192s_simple_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_sha2_192s_simple_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_sphincs_sha2_192s_simple_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_sha2_192s_simple_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/sphincs/sig_sphincs_sha2_256f_simple.c b/src/sig/sphincs/sig_sphincs_sha2_256f_simple.c index cf031023c..25851e4b6 100644 --- a/src/sig/sphincs/sig_sphincs_sha2_256f_simple.c +++ b/src/sig/sphincs/sig_sphincs_sha2_256f_simple.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_sphincs_sha2_256f_simple_verify(const uint8_t *messag return (OQS_STATUS) PQCLEAN_SPHINCSSHA2256FSIMPLE_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_sphincs_sha2_256f_simple_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_sha2_256f_simple_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_sphincs_sha2_256f_simple_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_sha2_256f_simple_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/sphincs/sig_sphincs_sha2_256s_simple.c b/src/sig/sphincs/sig_sphincs_sha2_256s_simple.c index abc61866e..6f564cd8b 100644 --- a/src/sig/sphincs/sig_sphincs_sha2_256s_simple.c +++ b/src/sig/sphincs/sig_sphincs_sha2_256s_simple.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_sphincs_sha2_256s_simple_verify(const uint8_t *messag return (OQS_STATUS) PQCLEAN_SPHINCSSHA2256SSIMPLE_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_sphincs_sha2_256s_simple_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_sha2_256s_simple_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_sphincs_sha2_256s_simple_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_sha2_256s_simple_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/sphincs/sig_sphincs_shake_128f_simple.c b/src/sig/sphincs/sig_sphincs_shake_128f_simple.c index fbfe5c066..e66ec651b 100644 --- a/src/sig/sphincs/sig_sphincs_shake_128f_simple.c +++ b/src/sig/sphincs/sig_sphincs_shake_128f_simple.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_sphincs_shake_128f_simple_verify(const uint8_t *messa return (OQS_STATUS) PQCLEAN_SPHINCSSHAKE128FSIMPLE_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_sphincs_shake_128f_simple_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_shake_128f_simple_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_sphincs_shake_128f_simple_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_shake_128f_simple_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/sphincs/sig_sphincs_shake_128s_simple.c b/src/sig/sphincs/sig_sphincs_shake_128s_simple.c index 20d504ff4..34ae16c29 100644 --- a/src/sig/sphincs/sig_sphincs_shake_128s_simple.c +++ b/src/sig/sphincs/sig_sphincs_shake_128s_simple.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_sphincs_shake_128s_simple_verify(const uint8_t *messa return (OQS_STATUS) PQCLEAN_SPHINCSSHAKE128SSIMPLE_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_sphincs_shake_128s_simple_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_shake_128s_simple_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_sphincs_shake_128s_simple_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_shake_128s_simple_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/sphincs/sig_sphincs_shake_192f_simple.c b/src/sig/sphincs/sig_sphincs_shake_192f_simple.c index 68cd971ae..d99bc1590 100644 --- a/src/sig/sphincs/sig_sphincs_shake_192f_simple.c +++ b/src/sig/sphincs/sig_sphincs_shake_192f_simple.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_sphincs_shake_192f_simple_verify(const uint8_t *messa return (OQS_STATUS) PQCLEAN_SPHINCSSHAKE192FSIMPLE_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_sphincs_shake_192f_simple_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_shake_192f_simple_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_sphincs_shake_192f_simple_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_shake_192f_simple_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/sphincs/sig_sphincs_shake_192s_simple.c b/src/sig/sphincs/sig_sphincs_shake_192s_simple.c index 30d9713c5..3645bc5a9 100644 --- a/src/sig/sphincs/sig_sphincs_shake_192s_simple.c +++ b/src/sig/sphincs/sig_sphincs_shake_192s_simple.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_sphincs_shake_192s_simple_verify(const uint8_t *messa return (OQS_STATUS) PQCLEAN_SPHINCSSHAKE192SSIMPLE_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_sphincs_shake_192s_simple_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_shake_192s_simple_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_sphincs_shake_192s_simple_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_shake_192s_simple_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/sphincs/sig_sphincs_shake_256f_simple.c b/src/sig/sphincs/sig_sphincs_shake_256f_simple.c index bd66f2f83..25bc38f43 100644 --- a/src/sig/sphincs/sig_sphincs_shake_256f_simple.c +++ b/src/sig/sphincs/sig_sphincs_shake_256f_simple.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_sphincs_shake_256f_simple_verify(const uint8_t *messa return (OQS_STATUS) PQCLEAN_SPHINCSSHAKE256FSIMPLE_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_sphincs_shake_256f_simple_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_shake_256f_simple_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_sphincs_shake_256f_simple_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_shake_256f_simple_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/src/sig/sphincs/sig_sphincs_shake_256s_simple.c b/src/sig/sphincs/sig_sphincs_shake_256s_simple.c index 06c8cb440..3075ba228 100644 --- a/src/sig/sphincs/sig_sphincs_shake_256s_simple.c +++ b/src/sig/sphincs/sig_sphincs_shake_256s_simple.c @@ -88,24 +88,20 @@ OQS_API OQS_STATUS OQS_SIG_sphincs_shake_256s_simple_verify(const uint8_t *messa return (OQS_STATUS) PQCLEAN_SPHINCSSHAKE256SSIMPLE_CLEAN_crypto_sign_verify(signature, signature_len, message, message_len, public_key); #endif } + OQS_API OQS_STATUS OQS_SIG_sphincs_shake_256s_simple_sign_with_ctx_str(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) { - (void) signature; - (void) signature_len; - (void) message; - (void) message_len; - (void) ctx_str; - (void) ctx_str_len; - (void) secret_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_shake_256s_simple_sign(signature, signature_len, message, message_len, secret_key); + } else { + return OQS_ERROR; + } } + OQS_API OQS_STATUS OQS_SIG_sphincs_shake_256s_simple_verify_with_ctx_str(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) { - (void) message; - (void) message_len; - (void) signature; - (void) signature_len; - (void) ctx_str; - (void) ctx_str_len; - (void) public_key; - return OQS_ERROR; + if (ctx_str == NULL && ctx_str_len == 0) { + return OQS_SIG_sphincs_shake_256s_simple_verify(message, message_len, signature, signature_len, public_key); + } else { + return OQS_ERROR; + } } #endif diff --git a/tests/test_sig.c b/tests/test_sig.c index b9ee31b0b..2e1a3cfaa 100644 --- a/tests/test_sig.c +++ b/tests/test_sig.c @@ -162,6 +162,12 @@ static OQS_STATUS sig_test_correctness(const char *method_name) { fprintf(stderr, "ERROR: OQS_SIG_sign_with_ctx_str should fail without support for context strings\n"); goto err; } + + rc = OQS_SIG_sign_with_ctx_str(sig, signature, &signature_len, message, message_len, NULL, 0, secret_key); + if (rc != OQS_SUCCESS) { + fprintf(stderr, "ERROR: OQS_SIG_sign_with_ctx_str should always succeed when providing a NULL context string\n"); + goto err; + } } #ifndef OQS_ENABLE_TEST_CONSTANT_TIME