diff options
author | Nils Durner <durner@gnunet.org> | 2010-06-29 21:30:42 +0000 |
---|---|---|
committer | Nils Durner <durner@gnunet.org> | 2010-06-29 21:30:42 +0000 |
commit | 773edae5e9c44583c3750ca46f8e556fa76cc561 (patch) | |
tree | 803080e0cd195ef8b7b7a7bfa9b5412e603f2a26 /src/util/crypto_hkdf.c | |
parent | b75b85a326001501db0ef4bac2b719a85ac04230 (diff) | |
download | gnunet-773edae5e9c44583c3750ca46f8e556fa76cc561.tar.gz gnunet-773edae5e9c44583c3750ca46f8e556fa76cc561.zip |
minor
Diffstat (limited to 'src/util/crypto_hkdf.c')
-rw-r--r-- | src/util/crypto_hkdf.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/util/crypto_hkdf.c b/src/util/crypto_hkdf.c index 1d0deeacb..3ee6ae3db 100644 --- a/src/util/crypto_hkdf.c +++ b/src/util/crypto_hkdf.c | |||
@@ -22,8 +22,8 @@ | |||
22 | 22 | ||
23 | /** | 23 | /** |
24 | * @file src/util/crypto_hkdf.c | 24 | * @file src/util/crypto_hkdf.c |
25 | * @brief Hash-based KDF as defined in draft-krawczyk-hkdf-01 | 25 | * @brief Hash-based KDF as defined in RFC 5869 |
26 | * @see http://tools.ietf.org/html/draft-krawczyk-hkdf-01 | 26 | * @see http://www.rfc-editor.org/rfc/rfc5869.txt |
27 | * @author Nils Durner | 27 | * @author Nils Durner |
28 | */ | 28 | */ |
29 | 29 | ||
@@ -82,7 +82,7 @@ static void dump(void *p, unsigned int l) | |||
82 | printf("\n"); | 82 | printf("\n"); |
83 | for (i = 0; i < l; i++) | 83 | for (i = 0; i < l; i++) |
84 | { | 84 | { |
85 | printf("%2x", ((char *) p)[i]); | 85 | printf("%2x", (int) ((unsigned char *) p)[i]); |
86 | } | 86 | } |
87 | printf("\n"); | 87 | printf("\n"); |
88 | } | 88 | } |
@@ -142,7 +142,8 @@ dump(prk, xtr_len); | |||
142 | { | 142 | { |
143 | memset (plain + k + ctx_len, 0, 4); | 143 | memset (plain + k + ctx_len, 0, 4); |
144 | gcry_md_reset (prf); | 144 | gcry_md_reset (prf); |
145 | hc = doHMAC (prf, prk, k, plain, plain_len); | 145 | dump(plain, plain_len); |
146 | hc = doHMAC (prf, prk, xtr_len, plain, plain_len); | ||
146 | if (hc == NULL) | 147 | if (hc == NULL) |
147 | goto hkdf_error; | 148 | goto hkdf_error; |
148 | memcpy (result, hc, k); | 149 | memcpy (result, hc, k); |
@@ -155,7 +156,8 @@ dump(prk, xtr_len); | |||
155 | memcpy (plain, result - k, k); | 156 | memcpy (plain, result - k, k); |
156 | memcpy (plain + k + ctx_len, &i, 4); | 157 | memcpy (plain + k + ctx_len, &i, 4); |
157 | gcry_md_reset (prf); | 158 | gcry_md_reset (prf); |
158 | hc = doHMAC (prf, prk, k, plain, plain_len); | 159 | dump(plain, plain_len); |
160 | hc = doHMAC (prf, prk, xtr_len, plain, plain_len); | ||
159 | if (hc == NULL) | 161 | if (hc == NULL) |
160 | goto hkdf_error; | 162 | goto hkdf_error; |
161 | memcpy (result, hc, k); | 163 | memcpy (result, hc, k); |
@@ -170,11 +172,13 @@ dump(prk, xtr_len); | |||
170 | memcpy (plain, result - k, k); | 172 | memcpy (plain, result - k, k); |
171 | memcpy (plain + k + ctx_len, &i, 4); | 173 | memcpy (plain + k + ctx_len, &i, 4); |
172 | gcry_md_reset (prf); | 174 | gcry_md_reset (prf); |
173 | hc = doHMAC (prf, prk, k, plain, plain_len); | 175 | dump(plain, plain_len); |
176 | hc = doHMAC (prf, prk, xtr_len, plain, plain_len); | ||
174 | if (hc == NULL) | 177 | if (hc == NULL) |
175 | goto hkdf_error; | 178 | goto hkdf_error; |
176 | memcpy (result, hc, d); | 179 | memcpy (result, hc, d); |
177 | } | 180 | } |
181 | dump(result - k, out_len); | ||
178 | 182 | ||
179 | ret = GNUNET_YES; | 183 | ret = GNUNET_YES; |
180 | goto hkdf_ok; | 184 | goto hkdf_ok; |