- dh_pub1 = GNUNET_new (struct GNUNET_CRYPTO_EcdhePublicKey);
- dh_priv1 = GNUNET_CRYPTO_ecdhe_key_create ();
- dh_pub2 = GNUNET_new (struct GNUNET_CRYPTO_EcdhePublicKey);
- dh_priv2 = GNUNET_CRYPTO_ecdhe_key_create ();
- GNUNET_CRYPTO_ecdhe_key_get_public (dh_priv1, dh_pub1);
- GNUNET_CRYPTO_ecdhe_key_get_public (dh_priv2, dh_pub2);
-
- GNUNET_assert (NULL != GNUNET_STRINGS_data_to_string (dh_priv1, 32, buf, 128));
- printf ("ECDHE key 1:\n");
- printf ("private: %s\n", buf);
- print_hex ("private(hex)", dh_priv1, sizeof *dh_priv1);
- GNUNET_assert (NULL != GNUNET_STRINGS_data_to_string (dh_pub1, 32, buf, 128));
- printf ("public: %s\n", buf);
- print_hex ("public(hex)", dh_pub1, sizeof *dh_pub1);
-
- GNUNET_assert (NULL != GNUNET_STRINGS_data_to_string (dh_priv2, 32, buf, 128));
- printf ("ECDHE key 2:\n");
- printf ("private: %s\n", buf);
- print_hex ("private(hex)", dh_priv2, sizeof *dh_priv2);
- GNUNET_assert (NULL != GNUNET_STRINGS_data_to_string (dh_pub2, 32, buf, 128));
- printf ("public: %s\n", buf);
- print_hex ("public(hex)", dh_pub2, sizeof *dh_pub2);
-
- GNUNET_assert (GNUNET_OK == GNUNET_CRYPTO_ecc_ecdh (dh_priv1, dh_pub2, &hash));
- GNUNET_assert (NULL != GNUNET_STRINGS_data_to_string (&hash, 64, buf, 128));
- printf ("ECDH shared secret: %s\n", buf);
-
- GNUNET_free (dh_priv1);
- GNUNET_free (dh_priv2);
- GNUNET_free (dh_pub1);
- GNUNET_free (dh_pub2);
+ dh_pub1 = GNUNET_new(struct GNUNET_CRYPTO_EcdhePublicKey);
+ dh_priv1 = GNUNET_CRYPTO_ecdhe_key_create();
+ dh_pub2 = GNUNET_new(struct GNUNET_CRYPTO_EcdhePublicKey);
+ dh_priv2 = GNUNET_CRYPTO_ecdhe_key_create();
+ GNUNET_CRYPTO_ecdhe_key_get_public(dh_priv1, dh_pub1);
+ GNUNET_CRYPTO_ecdhe_key_get_public(dh_priv2, dh_pub2);
+
+ GNUNET_assert(NULL !=
+ GNUNET_STRINGS_data_to_string(dh_priv1, 32, buf, 128));
+ printf("ECDHE key 1:\n");
+ printf("private: %s\n", buf);
+ print_hex("private(hex)", dh_priv1, sizeof *dh_priv1);
+ GNUNET_assert(NULL != GNUNET_STRINGS_data_to_string(dh_pub1, 32, buf, 128));
+ printf("public: %s\n", buf);
+ print_hex("public(hex)", dh_pub1, sizeof *dh_pub1);
+
+ GNUNET_assert(NULL !=
+ GNUNET_STRINGS_data_to_string(dh_priv2, 32, buf, 128));
+ printf("ECDHE key 2:\n");
+ printf("private: %s\n", buf);
+ print_hex("private(hex)", dh_priv2, sizeof *dh_priv2);
+ GNUNET_assert(NULL != GNUNET_STRINGS_data_to_string(dh_pub2, 32, buf, 128));
+ printf("public: %s\n", buf);
+ print_hex("public(hex)", dh_pub2, sizeof *dh_pub2);
+
+ GNUNET_assert(GNUNET_OK ==
+ GNUNET_CRYPTO_ecc_ecdh(dh_priv1, dh_pub2, &hash));
+ GNUNET_assert(NULL != GNUNET_STRINGS_data_to_string(&hash, 64, buf, 128));
+ printf("ECDH shared secret: %s\n", buf);
+
+ GNUNET_free(dh_priv1);
+ GNUNET_free(dh_priv2);
+ GNUNET_free(dh_pub1);
+ GNUNET_free(dh_pub2);