summaryrefslogtreecommitdiff
path: root/crypto/Makefile.objs
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2015-10-14 13:14:04 +0100
committerDaniel P. Berrange <berrange@redhat.com>2016-03-17 14:41:07 +0000
commit37788f253a4a9ad5f27dae68aee261c784e1fa17 (patch)
tree24b95c924f88bf059300342bbb2a9e172478f607 /crypto/Makefile.objs
parentb917da4cbd13dae4cda3852d5bdf3725202103ab (diff)
downloadqemu-37788f253a4a9ad5f27dae68aee261c784e1fa17.tar.gz
qemu-37788f253a4a9ad5f27dae68aee261c784e1fa17.tar.bz2
qemu-37788f253a4a9ad5f27dae68aee261c784e1fa17.zip
crypto: add support for PBKDF2 algorithm
The LUKS data format includes use of PBKDF2 (Password-Based Key Derivation Function). The Nettle library can provide an implementation of this, but we don't want code directly depending on a specific crypto library backend. Introduce a new include/crypto/pbkdf.h header which defines a QEMU API for invoking PBKDK2. The initial implementations are backed by nettle & gcrypt, which are commonly available with distros shipping GNUTLS. The test suite data is taken from the cryptsetup codebase under the LGPLv2.1+ license. This merely aims to verify that whatever backend we provide for this function in QEMU will comply with the spec. Reviewed-by: Fam Zheng <famz@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Diffstat (limited to 'crypto/Makefile.objs')
-rw-r--r--crypto/Makefile.objs4
1 files changed, 4 insertions, 0 deletions
diff --git a/crypto/Makefile.objs b/crypto/Makefile.objs
index 967418c67a..7122cc8e54 100644
--- a/crypto/Makefile.objs
+++ b/crypto/Makefile.objs
@@ -10,8 +10,12 @@ crypto-obj-y += tlssession.o
crypto-obj-y += secret.o
crypto-obj-$(CONFIG_GCRYPT) += random-gcrypt.o
crypto-obj-$(if $(CONFIG_GCRYPT),n,$(CONFIG_GNUTLS_RND)) += random-gnutls.o
+crypto-obj-y += pbkdf.o
+crypto-obj-$(CONFIG_NETTLE) += pbkdf-nettle.o
+crypto-obj-$(if $(CONFIG_NETTLE),n,$(CONFIG_GCRYPT_KDF)) += pbkdf-gcrypt.o
# Let the userspace emulators avoid linking gnutls/etc
crypto-aes-obj-y = aes.o
stub-obj-y += random-stub.o
+stub-obj-y += pbkdf-stub.o