remove compile-time executable functions for computing byte length of PKE keypair/ cipher text

Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
This commit is contained in:
Anjan Roy
2023-06-02 17:26:13 +04:00
parent 36617b1753
commit 89c78e8705

View File

@@ -23,40 +23,13 @@ to_hex(const uint8_t* const bytes, const size_t len)
return ss.str();
}
// Compile-time compute IND-CPA-secure Kyber PKE public key length ( in bytes )
template<const size_t k>
static inline constexpr size_t
get_cpapke_public_key_len()
requires(kyber_params::check_k(k))
{
return k * 12 * 32 + 32;
}
// Compile-time compute IND-CPA-secure Kyber PKE secret key length ( in bytes )
template<const size_t k>
static inline constexpr size_t
get_cpapke_secret_key_len()
requires(kyber_params::check_k(k))
{
return k * 12 * 32;
}
// Compile-time compute IND-CPA-secure Kyber PKE cipher text length ( in bytes )
template<const size_t k, const size_t du, const size_t dv>
static inline constexpr size_t
get_cpapke_cipher_len()
requires(kyber_params::check_decrypt_params(k, du, dv))
{
return k * du * 32 + dv * 32;
}
// Compile-time compute IND-CCA-secure Kyber KEM public key length ( in bytes )
template<const size_t k>
static inline constexpr size_t
get_ccakem_public_key_len()
requires(kyber_params::check_k(k))
{
return get_cpapke_public_key_len<k>();
return k * 12 * 32 + 32;
}
// Compile-time compute IND-CCA-secure Kyber KEM secret key length ( in bytes )
@@ -65,7 +38,7 @@ static inline constexpr size_t
get_ccakem_secret_key_len()
requires(kyber_params::check_k(k))
{
constexpr size_t t0 = get_cpapke_secret_key_len<k>();
constexpr size_t t0 = k * 12 * 32;
constexpr size_t t1 = get_ccakem_public_key_len<k>();
return t0 + t1 + 32 + 32;
@@ -77,7 +50,7 @@ static inline constexpr size_t
get_ccakem_cipher_len()
requires(kyber_params::check_decrypt_params(k, du, dv))
{
return get_cpapke_cipher_len<k, du, dv>();
return k * du * 32 + dv * 32;
}
}