-remove async ecc key generation, not needed
[oweals/gnunet.git] / src / util / crypto_hkdf.c
index 6af76ba681cbce455a5ca5f56d089a3e92ac7aa1..c2b96778a6e1284161bdc06effc2313b4efc2c25 100644 (file)
@@ -49,6 +49,7 @@
 #define DEBUG_HKDF 0
 
 
+
 #if GNUNET_BUILD
 #include "platform.h"
 #include "gnunet_crypto_lib.h"
@@ -74,7 +75,7 @@
  */
 static const void *
 doHMAC (gcry_md_hd_t mac, const void *key, size_t key_len, const void *buf,
-       size_t buf_len)
+        size_t buf_len)
 {
   gcry_md_setkey (mac, key, key_len);
   gcry_md_write (mac, buf, buf_len);
@@ -94,7 +95,7 @@ doHMAC (gcry_md_hd_t mac, const void *key, size_t key_len, const void *buf,
  */
 static int
 getPRK (gcry_md_hd_t mac, const void *xts, size_t xts_len, const void *skm,
-       size_t skm_len, void *prk)
+        size_t skm_len, void *prk)
 {
   const void *ret;
 
@@ -115,9 +116,9 @@ dump (const char *src, const void *p, unsigned int l)
 
   printf ("\n%s: ", src);
   for (i = 0; i < l; i++)
-    {
-      printf ("%2x", (int) ((const unsigned char *) p)[i]);
-    }
+  {
+    printf ("%2x", (int) ((const unsigned char *) p)[i]);
+  }
   printf ("\n");
 }
 #endif
@@ -137,9 +138,9 @@ dump (const char *src, const void *p, unsigned int l)
  * @return GNUNET_YES on success
  */
 int
-GNUNET_CRYPTO_hkdf_v (void *result, size_t out_len, int xtr_algo,
-                     int prf_algo, const void *xts, size_t xts_len,
-                     const void *skm, size_t skm_len, va_list argp)
+GNUNET_CRYPTO_hkdf_v (void *result, size_t out_len, int xtr_algo, int prf_algo,
+                      const void *xts, size_t xts_len, const void *skm,
+                      size_t skm_len, va_list argp)
 {
   const void *hc;
   unsigned long i, t, d;
@@ -158,16 +159,16 @@ GNUNET_CRYPTO_hkdf_v (void *result, size_t out_len, int xtr_algo,
     return GNUNET_SYSERR;
 
   if (gcry_md_open (&prf, prf_algo, GCRY_MD_FLAG_HMAC) != GPG_ERR_NO_ERROR)
-    {
-      gcry_md_close (xtr);
-      return GNUNET_SYSERR;
-    }
+  {
+    gcry_md_close (xtr);
+    return GNUNET_SYSERR;
+  }
 
   va_copy (args, argp);
 
   ctx_len = 0;
   while (NULL != va_arg (args, void *))
-      ctx_len += va_arg (args, size_t);
+         ctx_len += va_arg (args, size_t);
 
   va_end (args);
 
@@ -191,65 +192,65 @@ GNUNET_CRYPTO_hkdf_v (void *result, size_t out_len, int xtr_algo,
     dst = plain + k;
     va_copy (args, argp);
     while ((ctx = va_arg (args, void *)))
-      {
-       size_t len;
+    {
+      size_t len;
 
-       len = va_arg (args, size_t);
-       memcpy (dst, ctx, len);
-       dst += len;
-      }
+      len = va_arg (args, size_t);
+      memcpy (dst, ctx, len);
+      dst += len;
+    }
     va_end (args);
 
     if (t > 0)
-      {
-       memset (plain + k + ctx_len, 1, 1);
+    {
+      memset (plain + k + ctx_len, 1, 1);
 #if DEBUG_HKDF
-       dump ("K(1)", plain, plain_len);
+      dump ("K(1)", plain, plain_len);
 #endif
-       hc = doHMAC (prf, prk, xtr_len, &plain[k], ctx_len + 1);
-       if (hc == NULL)
-         goto hkdf_error;
-       memcpy (result, hc, k);
-       result += k;
-      }
+      hc = doHMAC (prf, prk, xtr_len, &plain[k], ctx_len + 1);
+      if (hc == NULL)
+        goto hkdf_error;
+      memcpy (result, hc, k);
+      result += k;
+    }
 
     /* K(i+1) */
     for (i = 1; i < t; i++)
-      {
-       memcpy (plain, result - k, k);
-       memset (plain + k + ctx_len, i + 1, 1);
-       gcry_md_reset (prf);
+    {
+      memcpy (plain, result - k, k);
+      memset (plain + k + ctx_len, i + 1, 1);
+      gcry_md_reset (prf);
 #if DEBUG_HKDF
-       dump ("K(i+1)", plain, plain_len);
+      dump ("K(i+1)", plain, plain_len);
 #endif
-       hc = doHMAC (prf, prk, xtr_len, plain, plain_len);
-       if (hc == NULL)
-         goto hkdf_error;
-       memcpy (result, hc, k);
-       result += k;
-      }
+      hc = doHMAC (prf, prk, xtr_len, plain, plain_len);
+      if (hc == NULL)
+        goto hkdf_error;
+      memcpy (result, hc, k);
+      result += k;
+    }
 
     /* K(t):d */
     if (d > 0)
+    {
+      if (t > 0)
       {
-       if (t > 0)
-         {
-           memcpy (plain, result - k, k);
-           i++;
-         }
-       memset (plain + k + ctx_len, i, 1);
-       gcry_md_reset (prf);
+        memcpy (plain, result - k, k);
+        i++;
+      }
+      memset (plain + k + ctx_len, i, 1);
+      gcry_md_reset (prf);
 #if DEBUG_HKDF
-       dump ("K(t):d", plain, plain_len);
+      dump ("K(t):d", plain, plain_len);
 #endif
-       if (t > 0)
-         hc = doHMAC (prf, prk, xtr_len, plain, plain_len);
-       else
-         hc = doHMAC (prf, prk, xtr_len, plain + k, plain_len - k);
-       if (hc == NULL)
-         goto hkdf_error;
-       memcpy (result, hc, d);
-      }
+      if (t > 0)
+        hc = doHMAC (prf, prk, xtr_len, plain, plain_len);
+      else
+        hc = doHMAC (prf, prk, xtr_len, plain + k, plain_len - k);
+      if (hc == NULL)
+        goto hkdf_error;
+      memcpy (result, hc, d);
+    }
 #if DEBUG_HKDF
     dump ("result", result - k, out_len);
 #endif
@@ -281,16 +282,16 @@ hkdf_ok:
  */
 int
 GNUNET_CRYPTO_hkdf (void *result, size_t out_len, int xtr_algo, int prf_algo,
-                   const void *xts, size_t xts_len, const void *skm,
-                   size_t skm_len, ...)
+                    const void *xts, size_t xts_len, const void *skm,
+                    size_t skm_len, ...)
 {
   va_list argp;
   int ret;
 
   va_start (argp, skm_len);
   ret =
-    GNUNET_CRYPTO_hkdf_v (result, out_len, xtr_algo, prf_algo, xts, xts_len,
-                         skm, skm_len, argp);
+      GNUNET_CRYPTO_hkdf_v (result, out_len, xtr_algo, prf_algo, xts, xts_len,
+                            skm, skm_len, argp);
   va_end (argp);
 
   return ret;