Suggested crypto libs for Diffie-Hellman and Eliptic Curve Diffie-Hellman

Stefan Metzmacher metze at samba.org
Wed Nov 22 12:10:35 UTC 2023


Am 22.11.23 um 12:07 schrieb Andreas Schneider via samba-technical:
> On Thursday, 16 November 2023 07:08:59 CET Andrew Bartlett via samba-technical
> wrote:
>> For Group Managed service accounts, which we are working on, for
>> reasons around RODCs and a few other things, Microsoft has decided to
>> internally use a key-agreement between a 'root key' and a 'service
>> key', both held in AD.
>>
>> The password comes, as I understand it, from the key agreement derived
>> out of a Diffie-Hellman or Eliptic Curve Diffie-Hellman exchanges.
>>
>> This is all in MS-GKDI, referenced from
>> https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/9cd2fc
>> 5e-7305-4fb8-b233-2a60bc3eec68
>>
>> I just wanted to check if there are particularly cryptographic
>> libraries we should consider for this work.
>>
>> In the past we have looked to libnettle when gnutls didn't provide the
>> functions we wanted, but that was backed out fairly fast as another
>> method was found (https://bugzilla.samba.org/show_bug.cgi?id=13276 0784
>> 4a9a13506b4ca9181cfde05d9e4170208f88).
>>
>> Even so, for this case is libnettle still the best first place to look?
> 
> If something is missing in GnuTLS you need, open tickets at GnuTLS. They are
> fairly quick implementing the stuff we need.

I think we should aim for having it in GnuTLS,
if it's not there yet, but it's in nettle, I guess we can use that
for now until our required gnutls version also got it.

The argument for bug 13276 was mostly, that we had the same crypto
already as an in-tree fallback, but that's not the case here.

BTW: for QUIC I'd look at https://github.com/ngtcp2/ngtcp2 which
comes with gnutls based glue.

metze




More information about the samba-technical mailing list