It's weird to see a proposal of a slight change in parameters as a snap
reaction to a new paper claiming an attack speedup. If the paper is
wrong (see below), does the proposal go away? If the paper is right,
does the next paper mean another change in parameters?
Stability is useful. For proactively defending against potential attack
speedups, it's better to have a larger security margin. So why not just
scrap HQC-128 and leave HQC-192 alone? Are there applications that can
afford HQC-128 but not HQC-192? For applications that can afford more
security margin, why not add something bigger than HQC-256?
I understand that there's a separate argument to change HQC-256 enc for
"anonymity" (currently an HQC-256 ciphertext reveals the parity of the
public key it's being sent to), but is that better than changing HQC-256
keygen for the same purpose? I also realize that previous test vectors
are being thrown away because of other changes, but there's still
nonzero value in retaining parameter sets.
Philippe Gaborit writes:
> There has been recent generic technical optimization in [3] for finding
> very low weight words which impacts HQC security on a few bits.
No, [3] (eprint 2026/1498) is a regression from prior work; it does not
decrease attack costs.
[3] says that it saves a few bits compared to Stern's 1988 algorithm by
speeding up row reduction, specifically by exchanging a limited number
of positions in the information set at each step rather than generating
a completely new information set at each step.
BLP2008 already did that, and did so in a more streamlined way, using a
chain rather than a tree. A tree doesn't add more randomness per step;
it just consumes memory and complicates the Markov-chain analysis.
[3] doesn't include BLP2008 in its comparison tables. [3] makes the
following claim: "A first approach, proposed by Canteaut and Chabaud
[13], and later refined by Bernstein, Lange and Peters [7], updates the
information set by exchanging only one coordinate between consecutive
iterations. This reduces the cost of Gaussian elimination from cubic to
quadratic but introduces strong dependencies between successive
iterations, which offset the expected linear speedup in the sublinear
regime."
The "only one coordinate" and "strong dependencies" descriptions are
correct for Canteaut--Chabaud (and Canteaut--Sendrier and earlier Omura)
but not for BLP2008 ("[7]"). BLP2008 exchanges several positions at a
time, not just one, to optimize overall performance. The resulting
dependencies are quantified with a Markov-chain analysis in BLP2008 and,
after optimization, are minor.
Meanwhile [3] misses the further linear-algebra speedups from the CAT
paper. Only 10% of the bit operations are spent on linear algebra in the
CAT results for HQC-128 (single-target; multi-target should be smaller).
[3] claims to use a "consistent logic-gate cost model" as in the CAT
paper; [3] estimates "approximately 140 bits" for HQC-128, "about 3 bits
below its NIST security target". This comparison is flawed on multiple
levels:
* The CAT paper counts traditional 2-input logic gates and provides
software to _check_ claimed gate counts. [3] does not, in fact,
count traditional gates, nor does [3] check its gate counts.
* [3] instead postulates, e.g., "log_2(N) (b + log_2(N))" gates for
"RAM_2(b,N)", which is "accessing b consecutive bits in a memory
containing N bits". There are unsupported claims that this
postulate "accounts for" memory-lookup costs and is "commonly
considered". Nowhere does [3] provide a definition of a gate set,
let alone counting gates according to that definition.
* Meanwhile NIST's 2^143 was at least _trying_ to estimate logic
gates for AES-128 attacks with the most common concept of gates,
although NIST (1) ended up somewhat overestimating this (see
Section 5 of the CAT paper) and (2) later switched to allowing a
"one-bit memory read or write" as a single gate---which allows
even faster AES-128 attacks (see Appendix D of the CAT paper).
See also
https://eprint.iacr.org/2024/1076.
Readers hearing that HQC-128 has dropped below its security target think
that there must have been an attack speedup against HQC-128, but what's
happening in [3] is just random noise from estimating costs differently.
---D. J. Bernstein