summaryrefslogtreecommitdiff
path: root/cipher/kdf.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2013-04-04 16:12:16 +0200
committerWerner Koch <wk@gnupg.org>2013-04-04 16:50:45 +0200
commit855b1a8f81b5a3b5b31d0c3c303675425f58a5af (patch)
tree392592213aa025cc184166dae23bfca4494cdd13 /cipher/kdf.c
parent02e8344d3803b80b74bc9b56d718304a6588bc14 (diff)
downloadlibgcrypt-855b1a8f81b5a3b5b31d0c3c303675425f58a5af.tar.gz
Add the SCRYPT KDF function
* scrypt.c, scrypt.h: New files. * memxor.c, memxor.h: New files. * cipher/Makefile.am: Add new files. * cipher/kdf.c (gcry_kdf_derive): Support GCRY_KDF_SCRYPT. * src/gcrypt.h.in (GCRY_KDF_SCRYPT): New. -- Signed-off-by: Christian Grothoff <christian@grothoff.org> I added the ChangeLog entry and the missing signed-off line. Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'cipher/kdf.c')
-rw-r--r--cipher/kdf.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/cipher/kdf.c b/cipher/kdf.c
index 46e8550d..4ea0fb29 100644
--- a/cipher/kdf.c
+++ b/cipher/kdf.c
@@ -26,6 +26,7 @@
#include "g10lib.h"
#include "cipher.h"
#include "ath.h"
+#include "scrypt.h"
/* Transform a passphrase into a suitable key of length KEYSIZE and
@@ -267,6 +268,9 @@ gcry_kdf_derive (const void *passphrase, size_t passphraselen,
ec = pkdf2 (passphrase, passphraselen, subalgo,
salt, saltlen, iterations, keysize, keybuffer);
break;
+ case GCRY_KDF_SCRYPT:
+ ec = scrypt (passphrase, passphraselen, subalgo,
+ salt, saltlen, iterations, keysize, keybuffer);
default:
ec = GPG_ERR_UNKNOWN_ALGORITHM;