John Schanck writes:
> NIST's "low end estimate" based on BGJ1, which I quoted above,
> is precisely this kind of attack algorithm optimization. So is
> the "2023-11-17 update".
Agreed. However:
* As I said at the start of the thread, NIST downplayed this as a
conjecture ("The low end estimate of approximately 20 bits (from
the NTRU submission) is based on a conjecture by Ducas that a fully
local implementation of the BGJ1 sieving algorithm is possible").
* NIST also distinguished this conjecture from published algorithms
("[failure] would need local memory access that is much better than
any such published algorithm, and in fact better than any that has
been conjectured").
* The cited NTRU submission also downplayed this as a conjecture, and
also distinguished it from published algorithms: "attacks in local
models have not received the same level of attention, and the
situation is unstable. We discuss a conjecture by Ducas below that,
if true, would cause us to revise our security categories relative
to local models". (The word "would" is weaker than "will".)
*
https://web.archive.org/web/20231125213807/https://finiterealities.net/kyber512/
_before_ the 2023-11-17 update downplayed this speedup as "a
conjecture, not an established fact", said that this speedup wasn't
"realistic", and said that this unrealistic speedup plays into "a
false narrative that the cost of lattice attacks has been falling
precipitously".
I don't see how to reconcile any of this with the 2023-11-17 update,
which presents an algorithm with this speedup in quite a bit of detail.
Sure, more details and experimental evidence would be good, but whatever
probability NIST was assigning to this "low end" scenario should be
bumped up close to 100%. (Also, there should be an erratum for the
"false narrative" claim, which still hasn't been crossed out.)
As I said at the start of the thread, the context is NIST's claim that
Kyber-512 is "unlikely" to be easier to break than AES-128 by known
attacks. Hence my question to NIST: "What does the 2023-11-17 update do
to NIST's assessment of the probability of Kyber-512 being easier to
break than AES-128?"
This is a normal risk-assessment question. A bad event that was
previously considered as a _possibility_ has turned into _reality_, so
one has to recalculate any probability assessments flowing from that.
The limited information that NIST has posted about its risk analysis is
missing quantitative weights, so at the moment there's no way for the
public to do this recalculation. (One can't even tell what NIST means
by "unlikely": <50%? <20%? <5%?)
My other question to NIST was where the "apparently unstructured" claim
comes from. Earlier NIST said "we did consult among ourselves and with
the Kyber team"; maybe the records of those discussions show what
happened here, but the records of those discussions are still secret.
I have a transparency request for NIST: Can you please post the records
of those discussions for public review? I also have the same request for
the Kyber team.
In the case of NIST, this transparency is required by law. There's a
NIST regulation, 81 Fed. Reg. 92787, which cites criteria that "will" be
used to evaluate the submissions; those criteria, in turn, say that
"NIST will perform a thorough analysis of the submitted algorithms in a
manner that is open and transparent to the public". Transparency is also
required by FOIA since I filed FOIA requests covering the relevant time
period. More importantly, NIST should be happy to support public review,
so that mistakes are caught as quickly as possible.
> By "large" here I mean that the cost of unstructured memory accesses
> is a significant, if not dominant, part of the total cost.
I agree that interpreting "large" here as "significant" and not as
"dominant" would make the claim correct (rather trivially, since the
claim would then be essentially content-free) when the words are taken
out of context. However, this interpretation (1) doesn't make sense in
context and (2) leaves yet another aspect of NIST's message unjustified.
Specifically, NIST wrote "assessments by the NTRU and NTRUprime teams
gave estimates that would suggest the cost of sieving against category 1
parameters, in models that account for the cost of memory access, is
something like 20 to 40 bits of security more than would be suggested by
the RAM model ... [failure] would require the approximately 40 bits of
additional security quoted as the 'real cost of memory access' by the
NTRUprime submission to be a massive overestimate".
I've separately challenged the text "40 bits of security more than would
be suggested by the RAM model ... approximately 40 bits of additional
security quoted as the 'real cost of memory access' by the NTRUprime
submission" as being (1) not plausible and (2) not what the NTRU Prime
submission says. In short, NIST erroneously multiplied the cost of each
memory access by the number of bit operations, rather than by the number
of memory accesses. None of the purported defenses have even _quoted_
the challenged text, let alone argued that it's correct.
But suppose we ignore the distinction between tallying bit operations
and tallying memory accesses. The structure of NIST's calculation is
still taking a _total_ tally---not just some "significant" part of it---
and multiplying that by the "real cost of memory access".
NIST's "40 bits" is an estimate for the cost of an _unstructured_ memory
access. This perfectly explains NIST writing that sieving requires a
large amount of "apparently unstructured" memory access---if "large" is
understood as talking about the dominant operations. If "large" is just
talking about some fragment of the memory accesses, then it doesn't make
any sense to multiply the _total_ tally of memory accesses by the cost
of each _unstructured_ memory access.
Again, this issue exists independently of the conflation of the number
of bit operations with the number of memory accesses. If I compare
NIST's "40 bits of security more than would be suggested by the RAM
model" to the 2023-11-17 update, then I see three major discrepancies:
* Bit operations sound negligible in the 2023-11-17 update, whereas
they're obviously dominant in "the RAM model".
* The memory access in the 2023-11-17 update is at a vastly smaller
average distance than could possibly justify a 40-bit estimate.
* In the opposite direction, NIST's starting "RAM model" numbers are
considering a wider range of algorithms than the 2023-11-17 update.
Changing the meaning of "large" can shift the portion of NIST's message
that's responsible for the second discrepancy, but doesn't make any of
the discrepancies disappear.
> The high end estimate from [1] based on (a misreading of?) the
> NTRU Prime submission makes the "serious mistake" of using BDGL
> optimized for "operations" in a model with significant
> communication costs.
To clarify, are you claiming that "6. Analysis of known attacks" in the
NTRU Prime documentation missed a publication reporting lower costs for
sieving?
If so, which publication are you referring to? Are you also saying that
the NTRU documentation was wrong in stating that the possibility of such
an algorithm was, at that time, just a "conjecture"?
Regarding "misreading": Yes, obviously. The 2016 NTRU Prime paper
already warned about the "absence of any realistic analyses of sieving
cost for large β". The NTRU Prime documentation has always pointed out
lower-memory options, most obviously enumeration (the exponent of which
then dropped by a third!); evidently the documentation is not endorsing
more limited security analyses that ignore those options.
More broadly, the NTRU Prime documentation contains extensive warnings
about the risks of overestimates and attack improvements. For example,
here are the first two paragraphs in "6.11. A selection of estimates":
There are many proposals of lattice-based cryptosystems, and of
parameter sets for those cryptosystems. What are the pre-quantum and
post-quantum security levels of each of these parameter sets?
The literature contains many different strategies to compute answers
to this question. Given the issues described in Sections 6.4 through
6.9, it seems reasonably clear that all of these strategies are
wrong, but that some strategies are more wrong than others. This
creates serious problems in using the results: for example, deciding
what parameter sizes are needed, or evaluating the merits of more
specific design decisions such as the choice of weight.
These warnings are critical for understanding the meanings of the
numbers, and are not properly reported in NIST's text.
---D. J. Bernstein