aboutsummaryrefslogtreecommitdiff
path: root/src/util/crypto_kdf.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/crypto_kdf.c')
-rw-r--r--src/util/crypto_kdf.c39
1 files changed, 30 insertions, 9 deletions
diff --git a/src/util/crypto_kdf.c b/src/util/crypto_kdf.c
index 2617e9a7d..78fb1911a 100644
--- a/src/util/crypto_kdf.c
+++ b/src/util/crypto_kdf.c
@@ -44,9 +44,12 @@
44 * @return #GNUNET_YES on success 44 * @return #GNUNET_YES on success
45 */ 45 */
46int 46int
47GNUNET_CRYPTO_kdf_v (void *result, size_t out_len, 47GNUNET_CRYPTO_kdf_v (void *result,
48 const void *xts, size_t xts_len, 48 size_t out_len,
49 const void *skm, size_t skm_len, 49 const void *xts,
50 size_t xts_len,
51 const void *skm,
52 size_t skm_len,
50 va_list argp) 53 va_list argp)
51{ 54{
52 /* 55 /*
@@ -61,8 +64,15 @@ GNUNET_CRYPTO_kdf_v (void *result, size_t out_len,
61 * http://eprint.iacr.org/2010/264 64 * http://eprint.iacr.org/2010/264
62 */ 65 */
63 66
64 return GNUNET_CRYPTO_hkdf_v (result, out_len, GCRY_MD_SHA512, GCRY_MD_SHA256, 67 return GNUNET_CRYPTO_hkdf_v (result,
65 xts, xts_len, skm, skm_len, argp); 68 out_len,
69 GCRY_MD_SHA512,
70 GCRY_MD_SHA256,
71 xts,
72 xts_len,
73 skm,
74 skm_len,
75 argp);
66} 76}
67 77
68 78
@@ -78,15 +88,24 @@ GNUNET_CRYPTO_kdf_v (void *result, size_t out_len,
78 * @return #GNUNET_YES on success 88 * @return #GNUNET_YES on success
79 */ 89 */
80int 90int
81GNUNET_CRYPTO_kdf (void *result, size_t out_len, 91GNUNET_CRYPTO_kdf (void *result,
82 const void *xts, size_t xts_len, 92 size_t out_len,
83 const void *skm, size_t skm_len, ...) 93 const void *xts,
94 size_t xts_len,
95 const void *skm,
96 size_t skm_len, ...)
84{ 97{
85 va_list argp; 98 va_list argp;
86 int ret; 99 int ret;
87 100
88 va_start (argp, skm_len); 101 va_start (argp, skm_len);
89 ret = GNUNET_CRYPTO_kdf_v (result, out_len, xts, xts_len, skm, skm_len, argp); 102 ret = GNUNET_CRYPTO_kdf_v (result,
103 out_len,
104 xts,
105 xts_len,
106 skm,
107 skm_len,
108 argp);
90 va_end (argp); 109 va_end (argp);
91 110
92 return ret; 111 return ret;
@@ -151,3 +170,5 @@ GNUNET_CRYPTO_kdf_mod_mpi (gcry_mpi_t *r,
151 gcry_mpi_release (*r); 170 gcry_mpi_release (*r);
152 } 171 }
153} 172}
173
174/* end of crypto_kdf.c */