[Ach] OpenSSL Cipher Strings: kDHE/kECDHE

Kurt Roeckx kurt at roeckx.be
Sat Mar 14 20:06:54 CET 2015


On Tue, Mar 10, 2015 at 12:18:55PM +0100, Peter Ulber wrote:
> Hi Aaron,
> 
> thanks a lot for your answer.
> 
> > It's confusing. So the basic story behind this is that OpenSSL has
> > changed their naming of (and how they interpret) cipherstrings. Where
> > kDHE/kECDHE are the "newer" nomenclature. Because we also need to
> > support old OpenSSL versions we use the old nomenclature.
> > If you want to play around with that:
> > https://github.com/azet/openssl-compare
> 
> Nice tool, thanks. So e.g. kDHE is a notation which is supported by
> OpenSSL 1.0.2 (and newer). Before that we have DHE.

In 1.0.1 has a kEDH. In 1.0.2 and kDHE was added as an alias for
it since everybody talks about DHE and not EDH.

With something like "openssl ciphers -v kEDH" you can see that it
contains both anonymous and authenticated DH versions.

kDHE selects all those that use DH with a temporary/ephemeral key.
That means that the certficate doesn't have the key in it.  But it
says nothing about it being authenticated or not.

> So in a nutshell:
> 
> DHE = kDHE:!aNULL
> 
> Right? 

The source says this:
    {0, SSL_TXT_DHE, 0, SSL_kDHE, ~SSL_aNULL, 0, 0, 0, 0, 0, 0, 0},

So DHE selects all those with key exchange DHE (the kDHE part)
where authentication is anything but NULL.  So yes, it's the same.

If there is anything we can change in the manual, please let us
know.


Kurt




More information about the Ach mailing list