On Sun, Mar 01, 2026 at 04:38:55PM -0500, Deirdre Connolly wrote:

> > if you used the same encapsulation randomness to encapsulate to two
> > different public keys (from the same parameter set), then it is fairly easy
> > to recover both shared secrets (assuming access to both ciphertexts and
> > public keys).  Hence, the MUST NOT reuse encapsulation randomness statement
> > is there for an extremely good reason.
> 
> Can you explain how this works for ML-KEM? Or have a reference?

On Sun, Mar 01, 2026 at 04:42:21PM -0500, Deirdre Connolly wrote:
> Waitโ€” if you _have_ the encaps randomness, you have everything the Encaps()
> side does, and _must_ have the shared secret(s), otherwise the KEM scheme
> is incorrect

What Scott appears to be saying is that an **unknown** but reused random
`m` in Algorithm 14 of FIPS 203,

    19: ๐ฎ โ† NTT^{-1}(NTT(๐€) โˆ˜ ๐ฒ) + ๐ž_๐Ÿ
    20: ๐œ‡ โ† Decompress_1(ByteDecode_1(๐‘š))
    21: ๐‘ฃ โ† NTT^{โˆ’1}(NTT(๐ญ) โˆ˜ ๐ฒ) + ๐‘’_2 + ๐œ‡ โ–ท encode plaintext ๐‘š into polynomial 
๐‘ฃ
    22: ๐‘_1 โ† ByteEncode_{๐‘‘_๐‘ข}(Compress_{๐‘‘_๐‘ข} (๐ฎ)) โ–ท run ByteEncode_{๐‘‘_๐‘ข} and 
Compress_{๐‘‘_๐‘ข} ๐‘˜ times
    23: ๐‘_2 โ† ByteEncode_{๐‘‘_๐‘ฃ}(Compress_{๐‘‘_๐‘ฃ} (๐‘ฃ))
    24: return ๐‘ โ† (๐‘_1 โ€– ๐‘_2)

when used for two different public keys compromises both shared secrets.

Behind the scenes we also have from algorithm 13 (KeyGen) that (ignoring
the NTT isomorphism):

    18: ๐ญ โ† ๐€ โˆ˜ ๐ฌ + ๐ž

where ๐ฌ is the secret decapsulation private key.

The way that `m` enters the ciphertext is essentially linear, the claim
is then that it can be recovered given two instances of the above data
with different unknown triples (๐ฒ, ๐ž_๐Ÿ, ๐‘’_2).

The attacker has access to two sets of:

    * Public data ๐€ and ๐ญ
    * Rounded encodings ๐‘_1 of vector ๐ฎ and ๐‘_2 of scalar ๐‘ฃ

and in this scenario knowledge that the scalar ๐œ‡ is a high-order bit
encoding of the bits of the desired common unknown ๐‘š.

Anyone care to post the details or a reference?

-- 
    Viktor.  ๐Ÿ‡บ๐Ÿ‡ฆ ะกะปะฐะฒะฐ ะฃะบั€ะฐั—ะฝั–!

_______________________________________________
TLS mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to