authorgravatar for 124872+jedisct1@users.noreply.github.comFrank Denis <124872+jedisct1@users.noreply.github.com> 2024-03-10 19:54:38+01:00
committergravatar for 124872+jedisct1@users.noreply.github.comFrank Denis <124872+jedisct1@users.noreply.github.com> 2024-03-10 19:54:38+01:00
log2dba5eaa6450a9cf1c0a3bc6ba2c26f4896f52b5
tree72c93c88076891a89c72c74bdb4d8abf2b76698f
parent1ca3a48b873dc8cc00ad8dfb74794856ecd58764

Fix typo in an old comment, and avoid useless hash


1 files changed, 4 insertions(+), 4 deletions(-)

lib/std/crypto/ml_kem.zig+4-4
...@@ -274,18 +274,18 @@ fn Kyber(comptime p: Params) type {...@@ -274,18 +274,18 @@ fn Kyber(comptime p: Params) type {
274 g.update(&pk.hpk);274 g.update(&pk.hpk);
275 g.final(&kr);275 g.final(&kr);
276276
277 // c = innerEncrypy(pk, m, r)277 // c = innerEncrypt(pk, m, r)
278 const ct = pk.pk.encrypt(&m, kr[32..64]);278 const ct = pk.pk.encrypt(&m, kr[32..64]);
279279
280 // Compute H(c) and put in second slot of kr, which will be (K', H(c)).
281 sha3.Sha3_256.hash(&ct, kr[32..], .{});
282
283 if (p.ml_kem) {280 if (p.ml_kem) {
284 return EncapsulatedSecret{281 return EncapsulatedSecret{
285 .shared_secret = kr[0..shared_length].*, // ML-KEM: K = K'282 .shared_secret = kr[0..shared_length].*, // ML-KEM: K = K'
286 .ciphertext = ct,283 .ciphertext = ct,
287 };284 };
288 } else {285 } else {
286 // Compute H(c) and put in second slot of kr, which will be (K', H(c)).
287 sha3.Sha3_256.hash(&ct, kr[32..], .{});
288
289 var ss: [shared_length]u8 = undefined;289 var ss: [shared_length]u8 = undefined;
290 sha3.Shake256.hash(&kr, &ss, .{});290 sha3.Shake256.hash(&kr, &ss, .{});
291 return EncapsulatedSecret{291 return EncapsulatedSecret{