On Fri, Dec 23, 2016 at 10:02 AM, <
in...@binarus.de> wrote:
> Eric,
>
> thanks for your help again.
>
> > > As far as I have understood, the consensus is that there are bad
> > > (insecure) ECs (those from NIST which seem to be intentionally
> weakened /
> > > broken by various tricks) and good (secure) ECs (e.g. Ed25519).
> > >
> >
> > I don't think this really accurately reflects the consensus of the
> security
> > community, which is why all the major stacks continue to support the
> major
> > NIST prime curves (P-256 and P-384). I do think the consensus is that the
> > new curves are better (faster and easier to implement correctly) which is
> > why stacks have added them.
>
> I am feeling the highest respect towards you because you took the time and
> know what you are talking about. But in this case, although not having much
> knowledge in cryptography yet, I have to disagree. I have read about
> possible side channels and intentional weaknesses of the NIST curves on
> dozens of trustworthy web sites.
>
> There even is an RFC from the IETF titled "Elliptic Curves for Security"
> which lists which conditions an EC must fulfill to be secure, and then only
> recommends curve 25519 and curve 448. I am quite sure that the authors of
> that RFC also are deep in the matter, so I trust what they are saying.
>
> Here is the link:
>
https://tools.ietf.org/html/draft-irtf-cfrg-curves-02
Yes, I'm quite familiar with this document, which was an input to the CFRG
process which was selecting a new curve (which resulted in X25519 and
X448). As the NIST curves already existed, it really wouldn't be sensible
to document requirements for selecting them.
As far as the authors of that RFC goes, I agree that they know what they
are talking about, but that's not evidence in favor of your argument.
Specifically:
- They are all members of the TLS WG, which put P-256 and P-384 into TLS
1.3 (Sean is the Chair)
- Adam works on BoringSSL at Google and both Chrome and Google support
P-256 (and disfavor DHE) though they prefer X25519
- Rich works on OpenSSL, which also supports the NIST curves.
Here's what Adam Langley says specifically about P256:
https://www.ietf.org/mail-archive/web/tls/current/msg12967.html
(the quoted section is Mike St Johns).
"> AFACT, one of the main reasons for looking at Curve25519 (possibly more
> important than performance or security) is that there is a fear that the
US
> Government has placed trapdoors in the current set of curves (NIST P256,
> P384, P521 etc).
Although some certainly subscribe to that, my main motivation for
moving away from P-{256,384} is that they simply aren't good curves.
They are difficult to implement correctly and have many pitfalls.
Elliptic curve design has advanced significantly since then."
I don't think anyone is debating that we should prefer X25519 to P256, and
NSS
does so, but that's far from meaning that the world would be a better place
if we
deprecated P256 in favor of FFDHE.
You are of course free to continue to believe whatever you like.
-Ekr