[PATCH] Use Intel AES instruction set if it exists.
Andreas Schneider
asn at samba.org
Fri Sep 1 16:45:53 UTC 2017
On Friday, 1 September 2017 17:42:37 CEST Jeremy Allison wrote:
> On Fri, Sep 01, 2017 at 11:48:22AM +0200, Andreas Schneider wrote:
> > On Friday, 1 September 2017 11:30:04 CEST Andrew Bartlett wrote:
> > > On Fri, 2017-09-01 at 08:49 +0200, Andreas Schneider via samba-
> > >
> > > technical wrote:
> > > > I've discussed this already with Metze when I implemented support for
> > > > MS
> > > > Catalog Files last year. We are currently using GnuTLS for various
> > > > things
> > > > inside of Samba (backupkey, TLS).
> > > >
> > > > GnuTLS uses the nettle crypto library [1] which has a very nice and
> > > > clean
> > > > API. It has support for AES NI and also other improvements. It also
> > > > supports some other crypto functions we use and it is easy to get code
> > > > upstream.
> > > >
> > > > I would really prefer to use a crypto library for this stuff instead
> > > > of
> > > > rolling out our own crypto. It also makes it harder for people who
> > > > maintain
> > > > packages in distributions, because then Samba is implementing crypto
> > > > and
> > > > we
> > > > have a harder time to get it certified or FIPS compliant.
> > > >
> > > > So please before pushing this, look at libnettle! We have a file:
> > > >
> > > > lib/crypto/REQUIREMENTS
> > > >
> > > > which has a summary what we need and crypto libraries provide!
> > > >
> > > >
> > > >
> > > > Please see that as a NAK till you looked into libnettle and can
> > > > convince
> > > > me
> > > > that doing our own crypto is better. We aren't cryptographers and we
> > > > should
> > > > not maintain a crypto library.
> > >
> > > Andreas,
> > >
> > > I said much the same to Jeremy when he mentioned this to me long ago in
> > > our occasional phone calls.
> > >
> > > As such, I strong agree, and would like to move us further towards
> > > using GnuTLS for as much of our crypto as possible. I understand the
> > > argument about 'working patches trump', but still don't want to be
> > > maintaining more crypto code.
> >
> > I think for SMB it is is better to use nettle directly. GnuTLS does memory
> > allocations where nettle doesn't need them. gnutls_hash_init() for
> > example.
>
> Andreas and Andrew, this is an *OUT OF THE BOX* 2x performance improvement
> when using signing and sealing, which is becoming an increasingly important
> workload.
>
> I understand wanting to use clean API's, and am willing to work
> towards that. I have no problems working towards using libnettle.
I'm ok if you add it but then start working on moving us in the direction to
libnettle or GnuTLS.
Günther and I normally have a major pain when Samba adds new crypto in its
source code.
Andreas
--
Andreas Schneider GPG-ID: CC014E3D
Samba Team asn at samba.org
www.samba.org
More information about the samba-technical
mailing list