Skip to content

Commit 5cf204e

Browse files
committed
Refactor variable names to be more verbose
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
1 parent 7356a9e commit 5cf204e

File tree

2 files changed

+36
-37
lines changed

2 files changed

+36
-37
lines changed

include/ml_kem/internals/k_pke.hpp

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,12 @@ keygen(std::span<const uint8_t, 32> d,
5555
ml_kem_utils::matrix_multiply<k, k, k, 1>(A_prime, s, t_prime);
5656
ml_kem_utils::poly_vec_add_to<k>(e, t_prime);
5757

58-
constexpr size_t pkoff = k * 12 * 32;
59-
auto _pubkey0 = pubkey.template subspan<0, pkoff>();
60-
auto _pubkey1 = pubkey.template subspan<pkoff, 32>();
58+
constexpr size_t pubkey_offset = k * 12 * 32;
59+
auto encoded_t_prime_in_pubkey = pubkey.template subspan<0, pubkey_offset>();
60+
auto rho_in_pubkey = pubkey.template subspan<pubkey_offset, 32>();
6161

62-
ml_kem_utils::poly_vec_encode<k, 12>(t_prime, _pubkey0);
63-
std::copy(rho.begin(), rho.end(), _pubkey1.begin());
62+
ml_kem_utils::poly_vec_encode<k, 12>(t_prime, encoded_t_prime_in_pubkey);
63+
std::copy(rho.begin(), rho.end(), rho_in_pubkey.begin());
6464
ml_kem_utils::poly_vec_encode<k, 12>(s, seckey);
6565
}
6666

@@ -76,21 +76,21 @@ template<size_t k, size_t eta1, size_t eta2, size_t du, size_t dv>
7676
encrypt(std::span<const uint8_t, ml_kem_utils::get_pke_public_key_len(k)> pubkey,
7777
std::span<const uint8_t, 32> msg,
7878
std::span<const uint8_t, 32> rcoin,
79-
std::span<uint8_t, ml_kem_utils::get_pke_cipher_text_len(k, du, dv)> enc)
79+
std::span<uint8_t, ml_kem_utils::get_pke_cipher_text_len(k, du, dv)> ctxt)
8080
requires(ml_kem_params::check_encrypt_params(k, eta1, eta2, du, dv))
8181
{
8282
constexpr size_t pkoff = k * 12 * 32;
83-
auto _pubkey0 = pubkey.template subspan<0, pkoff>();
83+
auto encoded_t_prime_in_pubkey = pubkey.template subspan<0, pkoff>();
8484
auto rho = pubkey.template subspan<pkoff, 32>();
8585

8686
std::array<ml_kem_field::zq_t, k * ml_kem_ntt::N> t_prime{};
87-
std::array<uint8_t, _pubkey0.size()> encoded_tprime{};
87+
std::array<uint8_t, encoded_t_prime_in_pubkey.size()> encoded_tprime{};
8888

89-
ml_kem_utils::poly_vec_decode<k, 12>(_pubkey0, t_prime);
89+
ml_kem_utils::poly_vec_decode<k, 12>(encoded_t_prime_in_pubkey, t_prime);
9090
ml_kem_utils::poly_vec_encode<k, 12>(t_prime, encoded_tprime);
9191

92-
using encoded_pkey_t = std::span<const uint8_t, _pubkey0.size()>;
93-
const auto are_equal = ml_kem_utils::ct_memcmp(encoded_pkey_t(_pubkey0), encoded_pkey_t(encoded_tprime));
92+
using encoded_pkey_t = std::span<const uint8_t, encoded_t_prime_in_pubkey.size()>;
93+
const auto are_equal = ml_kem_utils::ct_memcmp(encoded_pkey_t(encoded_t_prime_in_pubkey), encoded_pkey_t(encoded_tprime));
9494
if (are_equal == 0u) {
9595
// Got an invalid public key
9696
return false;
@@ -131,15 +131,15 @@ encrypt(std::span<const uint8_t, ml_kem_utils::get_pke_public_key_len(k)> pubkey
131131
ml_kem_utils::poly_decompress<1>(m);
132132
ml_kem_utils::poly_vec_add_to<1>(m, v);
133133

134-
constexpr size_t encoff = k * du * 32;
135-
auto _enc0 = enc.template subspan<0, encoff>();
136-
auto _enc1 = enc.template subspan<encoff, dv * 32>();
134+
constexpr size_t ctxt_offset = k * du * 32;
135+
auto polyvec_u_in_ctxt = ctxt.template first<ctxt_offset>();
136+
auto poly_v_in_ctxt = ctxt.template last<dv * 32>();
137137

138138
ml_kem_utils::poly_vec_compress<k, du>(u);
139-
ml_kem_utils::poly_vec_encode<k, du>(u, _enc0);
139+
ml_kem_utils::poly_vec_encode<k, du>(u, polyvec_u_in_ctxt);
140140

141141
ml_kem_utils::poly_compress<dv>(v);
142-
ml_kem_utils::encode<dv>(v, _enc1);
142+
ml_kem_utils::encode<dv>(v, poly_v_in_ctxt);
143143

144144
return true;
145145
}
@@ -151,22 +151,21 @@ encrypt(std::span<const uint8_t, ml_kem_utils::get_pke_public_key_len(k)> pubkey
151151
template<size_t k, size_t du, size_t dv>
152152
constexpr void
153153
decrypt(std::span<const uint8_t, ml_kem_utils::get_pke_secret_key_len(k)> seckey,
154-
std::span<const uint8_t, ml_kem_utils::get_pke_cipher_text_len(k, du, dv)> enc,
155-
std::span<uint8_t, 32> dec)
154+
std::span<const uint8_t, ml_kem_utils::get_pke_cipher_text_len(k, du, dv)> ctxt,
155+
std::span<uint8_t, 32> ptxt)
156156
requires(ml_kem_params::check_decrypt_params(k, du, dv))
157157
{
158-
constexpr size_t encoff = k * du * 32;
159-
auto _enc0 = enc.template subspan<0, encoff>();
160-
auto _enc1 = enc.template subspan<encoff, dv * 32>();
158+
constexpr size_t ctxt_offset = k * du * 32;
159+
auto polyvec_u_in_ctxt = ctxt.template subspan<0, ctxt_offset>();
160+
auto poly_v_in_ctxt = ctxt.template subspan<ctxt_offset, dv * 32>();
161161

162162
std::array<ml_kem_field::zq_t, k * ml_kem_ntt::N> u{};
163+
std::array<ml_kem_field::zq_t, ml_kem_ntt::N> v{};
163164

164-
ml_kem_utils::poly_vec_decode<k, du>(_enc0, u);
165+
ml_kem_utils::poly_vec_decode<k, du>(polyvec_u_in_ctxt, u);
165166
ml_kem_utils::poly_vec_decompress<k, du>(u);
166167

167-
std::array<ml_kem_field::zq_t, ml_kem_ntt::N> v{};
168-
169-
ml_kem_utils::decode<dv>(_enc1, v);
168+
ml_kem_utils::decode<dv>(poly_v_in_ctxt, v);
170169
ml_kem_utils::poly_decompress<dv>(v);
171170

172171
std::array<ml_kem_field::zq_t, k * ml_kem_ntt::N> s_prime{};
@@ -181,7 +180,7 @@ decrypt(std::span<const uint8_t, ml_kem_utils::get_pke_secret_key_len(k)> seckey
181180
ml_kem_utils::poly_vec_sub_from<1>(t, v);
182181

183182
ml_kem_utils::poly_compress<1>(v);
184-
ml_kem_utils::encode<1>(v, dec);
183+
ml_kem_utils::encode<1>(v, ptxt);
185184
}
186185

187186
}

include/ml_kem/internals/ml_kem.hpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,23 @@ keygen(std::span<const uint8_t, 32> d, // used in CPA-PKE
1919
std::span<uint8_t, ml_kem_utils::get_kem_secret_key_len(k)> seckey)
2020
requires(ml_kem_params::check_keygen_params(k, eta1))
2121
{
22-
constexpr size_t skoff0 = k * 12 * 32;
23-
constexpr size_t skoff1 = skoff0 + pubkey.size();
24-
constexpr size_t skoff2 = skoff1 + 32;
22+
constexpr size_t seckey_offset_kpke_skey = k * 12 * 32;
23+
constexpr size_t seckey_offset_kpke_pkey = seckey_offset_kpke_skey + pubkey.size();
24+
constexpr size_t seckey_offset_z = seckey_offset_kpke_pkey + 32;
2525

26-
auto _seckey0 = seckey.template subspan<0, skoff0>();
27-
auto _seckey1 = seckey.template subspan<skoff0, skoff1 - skoff0>();
28-
auto _seckey2 = seckey.template subspan<skoff1, skoff2 - skoff1>();
29-
auto _seckey3 = seckey.template subspan<skoff2, seckey.size() - skoff2>();
26+
auto kpke_skey_in_seckey = seckey.template subspan<0, seckey_offset_kpke_skey>();
27+
auto kpke_pkey_in_seckey = seckey.template subspan<seckey_offset_kpke_skey, seckey_offset_kpke_pkey - seckey_offset_kpke_skey>();
28+
auto kpke_pkey_digest_in_seckey = seckey.template subspan<seckey_offset_kpke_pkey, seckey_offset_z - seckey_offset_kpke_pkey>();
29+
auto z_in_seckey = seckey.template subspan<seckey_offset_z, seckey.size() - seckey_offset_z>();
3030

31-
k_pke::keygen<k, eta1>(d, pubkey, _seckey0);
32-
std::copy(pubkey.begin(), pubkey.end(), _seckey1.begin());
33-
std::copy(z.begin(), z.end(), _seckey3.begin());
31+
k_pke::keygen<k, eta1>(d, kpke_pkey_in_seckey, kpke_skey_in_seckey);
32+
std::copy(kpke_pkey_in_seckey.begin(), kpke_pkey_in_seckey.end(), pubkey.begin());
33+
std::copy(z.begin(), z.end(), z_in_seckey.begin());
3434

3535
sha3_256::sha3_256_t hasher{};
3636
hasher.absorb(pubkey);
3737
hasher.finalize();
38-
hasher.digest(_seckey2);
38+
hasher.digest(kpke_pkey_digest_in_seckey);
3939
hasher.reset();
4040
}
4141

0 commit comments

Comments
 (0)