Hello pqc-forum,
The takeaway is that the design of HQC as specified in the
Round Four submission updated February 19 2025 does not have great binding properties, and lacks even HON-BIND-K-CT. It does appear to achieve HON-BIND-K-PK. This is a big step down from the properties provided by ML-KEM, especially when using the
seed variant. Some changes to consider that would improve this:
A: Include the PKE salt in the KEM KDF hash.
The salt, which is part of the KEM ciphertext but not committed to, can be manipulated such that the same shared secret will result from implicit rejection of multiple different invalid ciphertexts.
B: Include the public encapsulation key in the KEM KDF hash.
Currently, without commiting to the encapsulation key, an attacker can use the FO transform implicit-rejection value of one KEM keypair as the 'random' message being encrypted by the PKE, and decapsulate under another keypair: this results in the same shared secret even though the
PKE scheme rejects the ciphertext.
I haven't looked further at the implications of doing both of these together but hopefully we could do both. If anyone is looking further at changes like this for HQC I'd love to read more.
Cheers and thank you,
Deirdre