Dear all,
(This is a joint email on behalf of Vadim Lyubashevsky and Damien Stehlé)
We think that NIST has a hard decision to make with regard to
standardizing a lattice-based KEM, in particular due to intellectual
property claims by CNRS on Kyber and Saber. In the attached note, we
refute the claim and believe that it should be ignored. We also give
an alternative route, in case NIST still feels that this piece of IP
presents a credible litigation threat.
Summary:
~~~~~~~~
1. NIST has a seemingly hard decision to make in selecting a
lattice-based KEM because of the CNRS insistence that the
Gaborit&Aguilar-Melchor patent that it owns covers Kyber and Saber.
2. This claim was, however, contradicted by CNRS itself in the Keltie
vs CNRS opposition proceedings. Pursuing this claim now is
intellectual dishonesty on the part of CNRS and the scientists who may
be advising it.
3. Paying anything substantial to CNRS for the lifting of its claims
would constitute a moral hazard to future scientific work.
4. If NIST is still not sufficiently convinced of the inapplicability
of the CNRS claims, an option could be to standardize an NTRU-based
scheme.
5. If NIST decides to go this route, it should *not* take the NTRU
submissions in the finals -- there was very little variety in the few
submitted NTRU schemes and they can be significantly improved while
still following the NTRU framework.
6. If NIST wants NTRU, it should give the community about 6 months to
use the recent advancements, a lot of which were targeting
Ring/Module-LWE constructions, but are compatible with NTRU. This
should lead to better instantiation without significantly delaying the
final standard.
7. Running a 4-year standard selection process, having most of the
efficient lattice schemes disqualified because of illegitimate IP
claims, and standardizing the current NTRU version just because it’s
the only option, would be a very disappointing outcome to the whole
effort, and to the huge research efforts that have been made in this
area in the last 25 years.
Unfortunately, CNRS appears to continue to insist that the
Gaborit&Aguilar-Melchor patent applies to Kyber and Saber. We insist
that this claim lacks all merit, is in contradiction with the ethical
behavior expected from a first-tier research institution, and
whichever academic may be advising them to pursue this matter is
committing intellectual fraud. As far as we know, no neutral scientist
within the CNRS laboratories has been asked to give an opinion on this
matter. Yet, I [Damien] have contacted the CNRS multiple times and at
multiple hierarchy levels to suggest it to do so, over the last 15
months. The refusal of CNRS to discuss the scientific matters with
their own experts when there are strong objections to scientific merit
is unbecoming of a scientific entity.
We include a full scientific pdf on the inapplicability of the
Gaborit&Aguilar-Melchor patent to Kyber and Saber, in an attachment to
this email. It is also available at the following URL:
https://github.com/VadimLyubash/non-app-KyberSaber/blob/main/non-app.pdf
We summarize the main points here. In the legal proceedings in an
attempt to invalidate the patent, Keltie LLP. insisted that the main
claim of the patent (Claim 1 in the patent, i.e., the encryption
scheme) is mathematically incorrect as stated. CNRS insisted that it
is correct because it obviously only applies to commutative rings.
And furthermore, they would not impede any patents that would later
cover non-commutative rings. Their insistence on the obviousness of
the rings being commutative explicitly figured in the written decision
to uphold the patent. In order to claim applicability to Kyber and
Saber, they are now doing a complete U-turn and saying that their
patent also applies to non-commutative versions of the scheme. This
is the intellectual dishonesty that we are referencing. Furthermore,
and perhaps even more importantly, their attempt at broadening their
claim cannot succeed because the LPS paper
(
https://eprint.iacr.org/2009/576), which predates this patent,
already presents a version of their encryption scheme over
non-commutative integer rings. Kyber and Saber differ from LPS only in
the choice of ring and clearly do not fit with the commutative ring
setup of the patent.
Given this, we are completely confident that their claim has no
scientific merit (of course we cannot say anything about legal merit
since we are not lawyers). Thus, if any entity chooses to pay anything
to CNRS, whether to license, or to buy out the patent, it will create
a very bad scientific precedent. Most of the contributions in
quantum-safe cryptography research, whether lattice-based, hash-based,
code-based, multivariate-based, or isogeny-based have been provided
IP-free through joint work by researchers from universities and
industry. It would be perverse, then, to pay a license fee for the one
thing that actually had no scientific contribution to the massive
effort of obtaining practical quantum-safe crypto. This would set a
terrible precedent for cryptographic research and could even make
academics and institutions reconsider their priorities, by encouraging
scientifically worthless output.
Nevertheless, NIST may decide that it wants to avoid any risk of
controversy or future litigation, and simply go with the third
finalist, NTRU. We think that an NTRU-based scheme is a valid
alternative, but we would strongly recommend that NIST not choose any
of those that are in the finals. Instead, if it chooses to go the
NTRU route, it should give the community around 6 months to come up
with a (much) better instantiation.
Out of the 17 submissions of KEMs based on structured lattices, 14
were Ring/Module-LWE based, and only 3 were NTRU-based. Two of the
NTRU ones have merged, and the merged scheme progressed to the finals
with the team seeming to favor the NTRU-HRSS version. The third
submitted scheme, NTRUPrime, is an alternate. There was very little
variety in the NTRU submissions and it appears that they advanced
merely because they were NTRU-based, despite having some questionable
design decisions. We also believe that the NTRU submissions received
comparatively little scrutiny compared to those based on Ring and
Module LWE.
The two decisions made by NTRU-HRSS that hamper its performance and
security are:
1. Having a large modulus in order to not have any decryption errors.
2. Using a cyclotomic ring, but not one that supports the number
theory transform (NTT).
We now elaborate on these two points:
The probability of a decryption error (i.e., the probability that a
properly created ciphertext is incorrectly decrypted) is a
*statistical* term. Setting it to something less than 2^-200 is
already being quite paranoid, while insisting that it is 0 is a
gimmick that hurts performance and security. In order to have 0
decryption error, one needs to set the working modulus significantly
higher (around 3X for the usual parameters) than if one were to aim
for a 2^-200 security error. This leads to a loss of around 20-30
bits of security against lattice attacks, which actually might be
useful to have in case better algorithms are developed. Furthermore,
a large modulus is particularly concerning for NTRU because recent
results on the NTRU problem stress that it is very different from
(Plain, Ring, Module)-LWE in that the cost of solving it decreases
much faster when the working modulus q increases. The bottom line is
that NTRU is a unique-SVP instance in rank-2 module lattices:
increasing q (while keeping the secret key of the same size) increases
the unique-SVP gap, which weakens the problem. While we do not
necessarily believe that one should throw away NTRU schemes due to
this line of attacks, one should certainly be wary of their existence.
And setting the modulus so as to get closer to the region where these
attacks work for no apparent gain is a very questionable decision.
The second choice that NTRU-HRSS made that we believe should be
re-examined is to use cyclotomic rings that do not support the NTT
algorithm. One can argue as to whether or not cyclotomics are weaker
than other rings (there is currently no evidence as to cyclotomics
being weaker or stronger), but if one uses cyclotomics, one might as
well use ones that lead to fast algorithms. This is particularly
important for NTRU, because key generation involves a division. By
choosing a proper cyclotomic ring and allowing negligible decryption
errors, one can have a scheme that is 15X faster (key exchange
round-trip) and 15% smaller (see
https://eprint.iacr.org/2021/1352).
While it is certainly to be expected that the state of the art
progresses during the standardization process and the chosen standard
is thus behind the state of the art, being 15X behind in speed is a
bit much, and will probably result in requiring to support some more
efficient version down the line (e.g., look at all the curves that
need to be supported). In fact, the NTRU-HRSS scheme was behind the
state of the art when it was submitted -- it seems more of a showcase
for efficient multiplication / division in rings that do not support
NTT rather than an attempt at an optimal NTRU-based scheme. Just as
a simple example, it would have been quite easy to convert NewHope
into an NTRU-based scheme, and it would have been at least an order of
magnitude faster than NTRU-HRSS. But the NewHope submitters chose not
to do this because there is no security/performance/implementation
reason to prefer an NTRU NewHope to NewHope. This is the same reason
that most other submitters chose not to create NTRU versions of their
Ring/Module-LWE schemes -- there was no scientific reason to do so.
If NIST does choose to go the NTRU route, it should realize that the
goal of this standardization process is not to run a competition, but
rather to get the best scheme at the end. If external matters, like
the most appropriate schemes getting disqualified for unscientific
reasons, plays a role in the outcome, then the purpose of the process
has not been served. Should such a disqualification occur, NIST
should then ask the community to create an NTRU-based scheme based on
the best and most secure current techniques. Given what we have
learned in the last few years, we should be as confident about an
NTRU-type scheme created in a few months by taking components from
other schemes, as we are about the current finalists. There have not
been any attacks on lattice schemes with sensible parameter choices,
and the only issues that came up were tangential to the actual
schemes. They involved either implementation bugs, or issues such as
improper domain separation, parts not being constant time, etc. And
given that the current NTRU scheme has yet to present a level-5
parameter set, there is no reason to assume that it will be less
error-prone. In short, it makes sense to get it right the first time.
Vadim and Damien