diff options
Diffstat (limited to 'src/util/crypto_kdf.c')
-rw-r--r-- | src/util/crypto_kdf.c | 39 |
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 | */ |
46 | int | 46 | int |
47 | GNUNET_CRYPTO_kdf_v (void *result, size_t out_len, | 47 | GNUNET_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 | */ |
80 | int | 90 | int |
81 | GNUNET_CRYPTO_kdf (void *result, size_t out_len, | 91 | GNUNET_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 */ | ||