Earlier quoted context omitted.
Well, the submission literally begins with the words "ChaCha20-Poly1305 is modern, high performance cipher working in AEAD mode. It was standardized recently as RFC 7539." https://tools.ietf.org/html/rfc7539
RFC 7539 documents the cipher itself. It's mostly just enshrining the existing specification as an RFC, except for changing the size of the nonce and block count to meet recommended nonce sizes. There are some additional details required to use the cipher for TLS. In particular the new modes must be assigned entries in the TLS Cipher Suite Registry, which contain the official names and the numeric values used in the…
Support for ChaCha20-Poly1305 released in OpenSSL 1.1.0
11–20 of 24 posts
Re: Support for ChaCha20-Poly1305 released in OpenSSL 1.1.0
#12"SSL/TLS state machine, version negotiation and record layer rewritten" from the release notes sounds scary. The changelog says: *) State machine rewrite. The state machine code has been significantly refactored in order to remove much duplication of code and solve issues with the old code (see ssl/statem/README for further details). This change does have some associated API changes. Notably the SSL_state() function…
(I think there is also another group in the UK that works on this problem and also got important results.)
Re: Support for ChaCha20-Poly1305 released in OpenSSL 1.1.0
#13Has this been standardized yet? The latest draft I can find still has a bunch of 0xTBD values for the cipher suite numbers. https://datatracker.ietf.org/doc/draft-ietf-tls-chacha20-pol...
I say that as someone who is resident on ##openssl and have seen many people try and run into issues.
Re: Support for ChaCha20-Poly1305 released in OpenSSL 1.1.0
#14Weak DH and ECDHE using NIST curves concerns me far more than AES-GCM which is readily available for example. Configuring DH properly requires extra effort for administrators and ECDHE relies on NIST curves which are prone to implementation error and some have even called into question the NSA-NIST relationship behind the "random" curves.
Re: Support for ChaCha20-Poly1305 released in OpenSSL 1.1.0
#15Chacha20 is nice, but I think the key exchange is a bigger problem right now. What's the situation with Curve25519 in here? Weak DH and ECDHE using NIST curves concerns me far more than AES-GCM which is readily available for example. Configuring DH properly requires extra effort for administrators and ECDHE relies on NIST curves which are prone to implementation error and some have even called into question the NSA-N…
Better ECDHE is ready to be rolled out though: https://tools.ietf.org/html/draft-irtf-cfrg-curves-11
Too bad how long CFRG take to get EdDSA ready.
Re: Support for ChaCha20-Poly1305 released in OpenSSL 1.1.0
#16Chacha20 is nice, but I think the key exchange is a bigger problem right now. What's the situation with Curve25519 in here? Weak DH and ECDHE using NIST curves concerns me far more than AES-GCM which is readily available for example. Configuring DH properly requires extra effort for administrators and ECDHE relies on NIST curves which are prone to implementation error and some have even called into question the NSA-N…
The NIST P- curves in TLS ECDHE have sound implementations in Chromium and Firefox. Nobody should be using conventional DH in preference to ECDHE; if you can't trust a browser's P-curves, you can't trust their GCM either.
Re: Support for ChaCha20-Poly1305 released in OpenSSL 1.1.0
#17Chacha20 is nice, but I think the key exchange is a bigger problem right now. What's the situation with Curve25519 in here? Weak DH and ECDHE using NIST curves concerns me far more than AES-GCM which is readily available for example. Configuring DH properly requires extra effort for administrators and ECDHE relies on NIST curves which are prone to implementation error and some have even called into question the NSA-N…
No cryptographers believe the NIST curves are backdoored. OpenSSL's and NSS's implementations of P-256 have been reviewed and are considered secure. My conclusion is that if your CSPRNG is good, P-256 ECDHE with openssl should be fine. Better ECDHE is ready to be rolled out though: https://tools.ietf.org/html/draft-irtf-cfrg-curves-11 Too bad how long CFRG take to get EdDSA ready.
That's not true. For an example, see Schneier's comment here:
https://www.schneier.com/blog/archives/2013/09/the_nsa_is_br...
Or Bernstein and Lange's comments here:
https://www.hyperelliptic.org/tanja/vortraege/20130531.pdf
(specifically the: Jerry Solinas at NSA used this to generate the NIST curves (or so he says))
I believe Matthew Green may have also made a similar statement, though I can't find it, so perhaps I'm not recalling correctly. In any case, I don't think you can outright say "No cryptographers believe the NIST curves are backdoored". You can at best say "No cryptographers have proven the NIST curves are backdoored", which is true.
However, those cryptographers have also raised concerns (including concerns about backdoors) and I just hope we move to safer alternatives quicker.
Re: Support for ChaCha20-Poly1305 released in OpenSSL 1.1.0
#18Chacha20 is nice, but I think the key exchange is a bigger problem right now. What's the situation with Curve25519 in here? Weak DH and ECDHE using NIST curves concerns me far more than AES-GCM which is readily available for example. Configuring DH properly requires extra effort for administrators and ECDHE relies on NIST curves which are prone to implementation error and some have even called into question the NSA-N…
Curve25519 is what's going to happen. The IETF/IRTF process is a clusterfuck of monumental proportions, and has slowed adoption down, but Chrome and Firefox will support Curve25519. The NIST P- curves in TLS ECDHE have sound implementations in Chromium and Firefox. Nobody should be using conventional DH in preference to ECDHE; if you can't trust a browser's P-curves, you can't trust their GCM either.
Is that true though? I mean, from what I've read GCM seems much easier to implement than a full ECDH. I mean, have a look at some of the things published by Bernstein and Lange, https://www.hyperelliptic.org/tanja/vortraege/20130531.pdf
They do certainly have a horse in the race, but it's still interesting. They and others have also raised concerns about potential backdoors in the NIST curves, which is, while still unproven another reason why one might avoid them. They failed to do things as basic in the cryptographic community as using "nothing up my sleeve" numbers, it just seems sketchy at best to me. The random curves at least. The others are probably still just fine but the random ones are the most popular in TLS.
Re: Support for ChaCha20-Poly1305 released in OpenSSL 1.1.0
#19Earlier quoted context omitted.
No cryptographers believe the NIST curves are backdoored. OpenSSL's and NSS's implementations of P-256 have been reviewed and are considered secure. My conclusion is that if your CSPRNG is good, P-256 ECDHE with openssl should be fine. Better ECDHE is ready to be rolled out though: https://tools.ietf.org/html/draft-irtf-cfrg-curves-11 Too bad how long CFRG take to get EdDSA ready.
> No cryptographers believe the NIST curves are backdoored. That's not true. For an example, see Schneier's comment here: https://www.schneier.com/blog/archives/2013/09/the_nsa_is_br... Or Bernstein and Lange's comments here: https://www.hyperelliptic.org/tanja/vortraege/20130531.pdf (specifically the: Jerry Solinas at NSA used this to generate the NIST curves (or so he says)) I believe Matthew Green may have also ma…
Re: Support for ChaCha20-Poly1305 released in OpenSSL 1.1.0
#20Earlier quoted context omitted.
Curve25519 is what's going to happen. The IETF/IRTF process is a clusterfuck of monumental proportions, and has slowed adoption down, but Chrome and Firefox will support Curve25519. The NIST P- curves in TLS ECDHE have sound implementations in Chromium and Firefox. Nobody should be using conventional DH in preference to ECDHE; if you can't trust a browser's P-curves, you can't trust their GCM either.
> if you can't trust a browser's P-curves, you can't trust their GCM either. Is that true though? I mean, from what I've read GCM seems much easier to implement than a full ECDH. I mean, have a look at some of the things published by Bernstein and Lange, https://www.hyperelliptic.org/tanja/vortraege/20130531.pdf They do certainly have a horse in the race, but it's still interesting. They and others have also raised c…
ECDH itself is very easy to implement; it's just DH (which is probably the simplest algorithm in cryptography), but in a different group.
ECC (the group) is hard to implement safely. The NIST P-curves are tricky to implement relative to Curve25519.
But there's also a lot more study of how to safely implement the NIST P- curves than there is for how to make a constant-time GCM.
I don't know. They seem like comparably difficult tasks.