freebsd-dev/sys/geom/eli
Allan Jude 85c15ab853 improve PBKDF2 performance
The PBKDF2 in sys/geom/eli/pkcs5v2.c is around half the speed it could be

GELI's PBKDF2 uses a simple benchmark to determine a number of iterations
that will takes approximately 2 seconds. The security provided is actually
half what is expected, because an attacker could use the optimized
algorithm to brute force the key in half the expected time.

With this change, all newly generated GELI keys will be approximately 2x
as strong. Previously generated keys will talk half as long to calculate,
resulting in faster mounting of encrypted volumes. Users may choose to
rekey, to generate a new key with the larger default number of iterations
using the geli(8) setkey command.

Security of existing data is not compromised, as ~1 second per brute force
attempt is still a very high threshold.

PR:		202365
Original Research:	https://jbp.io/2015/08/11/pbkdf2-performance-matters/
Submitted by:	Joe Pixton <jpixton@gmail.com> (Original Version), jmg (Later Version)
Reviewed by:	ed, pjd, delphij
Approved by:	secteam, pjd (maintainer)
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D8236
2017-02-19 19:30:31 +00:00
..
g_eli_crypto.c Make additional parts of sys/geom/eli more usable in userspace 2016-01-07 05:47:34 +00:00
g_eli_ctl.c Create the GELIBOOT GEOM_ELI flag 2016-04-08 01:25:25 +00:00
g_eli_hmac.c improve PBKDF2 performance 2017-02-19 19:30:31 +00:00
g_eli_integrity.c Fix alignment issues on MIPS: align the pointers properly. 2016-10-31 16:55:14 +00:00
g_eli_key_cache.c Make additional parts of sys/geom/eli more usable in userspace 2016-01-07 05:47:34 +00:00
g_eli_key.c
g_eli_privacy.c After crypto_dispatch() bio might be already delivered and destroyed, 2015-08-06 17:13:34 +00:00
g_eli.c Removal of Giant droping wrappers for GEOM classes. 2016-05-20 08:25:37 +00:00
g_eli.h improve PBKDF2 performance 2017-02-19 19:30:31 +00:00
pkcs5v2.c improve PBKDF2 performance 2017-02-19 19:30:31 +00:00
pkcs5v2.h