adding number of preferences to allow iterating over preferences
[oweals/gnunet.git] / src / include / gnunet_crypto_lib.h
index 274612a8470ac41220f66ee364addf83ca468fed..ac50685e22a11e3f9117ca68524fa5eaa85b271c 100644 (file)
@@ -1053,6 +1053,20 @@ GNUNET_CRYPTO_ecdsa_public_to_ecdhe (const struct GNUNET_CRYPTO_EcdsaPublicKey *
                                      struct GNUNET_CRYPTO_EcdhePublicKey *ecdhe);
 
 
+/**
+ * @ingroup crypto
+ * Convert ECDSA private key to ECDHE private key.
+ * Please be very careful when using this function, as mixing
+ * cryptographic primitives is not always healthy.
+ *
+ * @param ecdsa ecdsa private key
+ * @param ecdhe[OUT] ecdhe private key
+ */
+void
+GNUNET_CRYPTO_ecdsa_private_to_ecdhe (const struct GNUNET_CRYPTO_EcdsaPrivateKey *ecdsa,
+                                     struct GNUNET_CRYPTO_EcdhePrivateKey *ecdhe);
+
+
 /**
  * @ingroup crypto
  * Extract the public key for the given private key.
@@ -1164,6 +1178,10 @@ GNUNET_CRYPTO_ecdsa_key_create_from_file (const char *filename);
 struct GNUNET_CRYPTO_EddsaPrivateKey *
 GNUNET_CRYPTO_eddsa_key_create_from_file (const char *filename);
 
+
+/**
+ * Forward declaration to simplify #include-structure.
+ */
 struct GNUNET_CONFIGURATION_Handle;
 
 
@@ -1665,7 +1683,7 @@ GNUNET_CRYPTO_rsa_blinding_key_free (struct GNUNET_CRYPTO_rsa_BlindingKey *bkey)
  */
 size_t
 GNUNET_CRYPTO_rsa_blinding_key_encode (const struct GNUNET_CRYPTO_rsa_BlindingKey *bkey,
-                               char **buffer);
+                                       char **buffer);
 
 
 /**
@@ -1678,7 +1696,7 @@ GNUNET_CRYPTO_rsa_blinding_key_encode (const struct GNUNET_CRYPTO_rsa_BlindingKe
  */
 struct GNUNET_CRYPTO_rsa_BlindingKey *
 GNUNET_CRYPTO_rsa_blinding_key_decode (const char *buf,
-                               size_t len);
+                                       size_t len);
 
 
 /**
@@ -1692,9 +1710,9 @@ GNUNET_CRYPTO_rsa_blinding_key_decode (const char *buf,
  */
 size_t
 GNUNET_CRYPTO_rsa_blind (const struct GNUNET_HashCode *hash,
-                 struct GNUNET_CRYPTO_rsa_BlindingKey *bkey,
-                 struct GNUNET_CRYPTO_rsa_PublicKey *pkey,
-                 char **buffer);
+                         struct GNUNET_CRYPTO_rsa_BlindingKey *bkey,
+                         struct GNUNET_CRYPTO_rsa_PublicKey *pkey,
+                         char **buffer);
 
 
 /**
@@ -1707,8 +1725,8 @@ GNUNET_CRYPTO_rsa_blind (const struct GNUNET_HashCode *hash,
  */
 struct GNUNET_CRYPTO_rsa_Signature *
 GNUNET_CRYPTO_rsa_sign (const struct GNUNET_CRYPTO_rsa_PrivateKey *key,
-                const void *msg,
-                size_t msg_len);
+                        const void *msg,
+                        size_t msg_len);
 
 
 /**