aboutsummaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2013-10-10 14:38:55 +0000
committerChristian Grothoff <christian@grothoff.org>2013-10-10 14:38:55 +0000
commit9351b1e9bdf2b067b6db06562c26ba658cff42b8 (patch)
tree68dc4ab447e7e8b6a20a706858cd36238c1c7c5f /src/include
parent8beabcd96c0cf1e1873c0b5ff96e537f1beb0b34 (diff)
downloadgnunet-9351b1e9bdf2b067b6db06562c26ba658cff42b8.tar.gz
gnunet-9351b1e9bdf2b067b6db06562c26ba658cff42b8.zip
separating ECC crypto into functions/structs for ECDHE, ECDSA and EDDSA
Diffstat (limited to 'src/include')
-rw-r--r--src/include/block_dns.h2
-rw-r--r--src/include/block_fs.h4
-rw-r--r--src/include/block_regex.h2
-rw-r--r--src/include/gnunet_crypto_lib.h325
-rw-r--r--src/include/gnunet_fs_service.h12
-rw-r--r--src/include/gnunet_gns_service.h4
-rw-r--r--src/include/gnunet_hello_lib.h6
-rw-r--r--src/include/gnunet_identity_service.h4
-rw-r--r--src/include/gnunet_multicast_service.h18
-rw-r--r--src/include/gnunet_namestore_plugin.h10
-rw-r--r--src/include/gnunet_namestore_service.h30
-rw-r--r--src/include/gnunet_psyc_service.h16
-rw-r--r--src/include/gnunet_psycstore_plugin.h44
-rw-r--r--src/include/gnunet_psycstore_service.h30
-rw-r--r--src/include/gnunet_revocation_service.h12
-rw-r--r--src/include/gnunet_testing_lib.h4
16 files changed, 341 insertions, 182 deletions
diff --git a/src/include/block_dns.h b/src/include/block_dns.h
index 650b3bc14..9bfaac1c6 100644
--- a/src/include/block_dns.h
+++ b/src/include/block_dns.h
@@ -37,7 +37,7 @@ struct GNUNET_DNS_Advertisement
37 /** 37 /**
38 * Signature of the peer affirming that he is offering the service. 38 * Signature of the peer affirming that he is offering the service.
39 */ 39 */
40 struct GNUNET_CRYPTO_EccSignature signature; 40 struct GNUNET_CRYPTO_EddsaSignature signature;
41 41
42 /** 42 /**
43 * Beginning of signed portion of the record, signs everything until 43 * Beginning of signed portion of the record, signs everything until
diff --git a/src/include/block_fs.h b/src/include/block_fs.h
index 3a0afba14..3f904caeb 100644
--- a/src/include/block_fs.h
+++ b/src/include/block_fs.h
@@ -48,7 +48,7 @@ struct UBlock
48 /** 48 /**
49 * Signature using pseudonym and search keyword / identifier. 49 * Signature using pseudonym and search keyword / identifier.
50 */ 50 */
51 struct GNUNET_CRYPTO_EccSignature signature; 51 struct GNUNET_CRYPTO_EcdsaSignature signature;
52 52
53 /** 53 /**
54 * What is being signed and why? 54 * What is being signed and why?
@@ -58,7 +58,7 @@ struct UBlock
58 /** 58 /**
59 * Public key used to sign this block. 59 * Public key used to sign this block.
60 */ 60 */
61 struct GNUNET_CRYPTO_EccPublicSignKey verification_key; 61 struct GNUNET_CRYPTO_EcdsaPublicKey verification_key;
62 62
63 /* rest of the data is encrypted */ 63 /* rest of the data is encrypted */
64 64
diff --git a/src/include/block_regex.h b/src/include/block_regex.h
index 77f778c95..326183d56 100644
--- a/src/include/block_regex.h
+++ b/src/include/block_regex.h
@@ -72,7 +72,7 @@ struct RegexAcceptBlock
72 /** 72 /**
73 * The signature. 73 * The signature.
74 */ 74 */
75 struct GNUNET_CRYPTO_EccSignature signature; 75 struct GNUNET_CRYPTO_EddsaSignature signature;
76}; 76};
77 77
78 78
diff --git a/src/include/gnunet_crypto_lib.h b/src/include/gnunet_crypto_lib.h
index bd1a2f3bf..da4de4c87 100644
--- a/src/include/gnunet_crypto_lib.h
+++ b/src/include/gnunet_crypto_lib.h
@@ -148,9 +148,10 @@ struct GNUNET_CRYPTO_EccSignaturePurpose
148 148
149 149
150/** 150/**
151 * @brief an ECC signature 151 * @brief an ECC signature using EdDSA.
152 * See https://gnunet.org/ed25519
152 */ 153 */
153struct GNUNET_CRYPTO_EccSignature 154struct GNUNET_CRYPTO_EddsaSignature
154{ 155{
155 156
156 /** 157 /**
@@ -166,11 +167,54 @@ struct GNUNET_CRYPTO_EccSignature
166}; 167};
167 168
168 169
170
169/** 171/**
170 * Public ECC key (always for NIST P-521) encoded in a format suitable 172 * @brief an ECC signature using ECDSA
171 * for network transmission and signatures (ECDSA/EdDSA).
172 */ 173 */
173struct GNUNET_CRYPTO_EccPublicSignKey 174struct GNUNET_CRYPTO_EcdsaSignature
175{
176
177 /**
178 * R value.
179 */
180 unsigned char r[256 / 8];
181
182 /**
183 * S value.
184 */
185 unsigned char s[256 / 8];
186
187};
188
189
190/**
191 * Public ECC key (always for Curve25519) encoded in a format suitable
192 * for network transmission and EdDSA signatures.
193 */
194struct GNUNET_CRYPTO_EddsaPublicKey
195{
196 /**
197 * Q consists of an x- and a y-value, each mod p (256 bits),
198 * given here in affine coordinates.
199 *
200 * FIXME: this coordinate will be removed in the future (compressed point!).
201 */
202 unsigned char q_x[256 / 8];
203
204 /**
205 * Q consists of an x- and a y-value, each mod p (256 bits),
206 * given here in affine coordinates.
207 */
208 unsigned char q_y[256 / 8];
209
210};
211
212
213/**
214 * Public ECC key (always for Curve25519) encoded in a format suitable
215 * for network transmission and ECDSA signatures.
216 */
217struct GNUNET_CRYPTO_EcdsaPublicKey
174{ 218{
175 /** 219 /**
176 * Q consists of an x- and a y-value, each mod p (256 bits), 220 * Q consists of an x- and a y-value, each mod p (256 bits),
@@ -194,15 +238,16 @@ struct GNUNET_CRYPTO_EccPublicSignKey
194 */ 238 */
195struct GNUNET_PeerIdentity 239struct GNUNET_PeerIdentity
196{ 240{
197 struct GNUNET_CRYPTO_EccPublicSignKey public_key; 241 struct GNUNET_CRYPTO_EddsaPublicKey public_key;
198}; 242};
199 243
200 244
201/** 245/**
202 * Public ECC key (always for NIST P-521) encoded in a format suitable 246 * Public ECC key (always for Curve25519) encoded in a format suitable
203 * for network transmission and encryption (ECDH). 247 * for network transmission and encryption (ECDH),
248 * See http://cr.yp.to/ecdh.html
204 */ 249 */
205struct GNUNET_CRYPTO_EccPublicEncryptKey 250struct GNUNET_CRYPTO_EcdhePublicKey
206{ 251{
207 /** 252 /**
208 * Q consists of an x- and a y-value, each mod p (256 bits), 253 * Q consists of an x- and a y-value, each mod p (256 bits),
@@ -222,9 +267,36 @@ struct GNUNET_CRYPTO_EccPublicEncryptKey
222 267
223 268
224/** 269/**
225 * Private ECC key encoded for transmission. 270 * Private ECC key encoded for transmission. To be used only for ECDH
271 * key exchange (ECDHE to be precise).
226 */ 272 */
227struct GNUNET_CRYPTO_EccPrivateKey 273struct GNUNET_CRYPTO_EcdhePrivateKey
274{
275 /**
276 * d is a value mod n, where n has at most 256 bits.
277 */
278 unsigned char d[256 / 8];
279
280};
281
282/**
283 * Private ECC key encoded for transmission. To be used only for ECDSA
284 * signatures.
285 */
286struct GNUNET_CRYPTO_EcdsaPrivateKey
287{
288 /**
289 * d is a value mod n, where n has at most 256 bits.
290 */
291 unsigned char d[256 / 8];
292
293};
294
295/**
296 * Private ECC key encoded for transmission. To be used only for EdDSA
297 * signatures.
298 */
299struct GNUNET_CRYPTO_EddsaPrivateKey
228{ 300{
229 /** 301 /**
230 * d is a value mod n, where n has at most 256 bits. 302 * d is a value mod n, where n has at most 256 bits.
@@ -743,11 +815,11 @@ GNUNET_CRYPTO_hmac_derive_key (struct GNUNET_CRYPTO_AuthKey *key,
743 * @param xtr_algo hash algorithm for the extraction phase, GCRY_MD_... 815 * @param xtr_algo hash algorithm for the extraction phase, GCRY_MD_...
744 * @param prf_algo hash algorithm for the expansion phase, GCRY_MD_... 816 * @param prf_algo hash algorithm for the expansion phase, GCRY_MD_...
745 * @param xts salt 817 * @param xts salt
746 * @param xts_len length of xts 818 * @param xts_len length of @a xts
747 * @param skm source key material 819 * @param skm source key material
748 * @param skm_len length of skm 820 * @param skm_len length of @a skm
749 * @param ... pair of void * & size_t for context chunks, terminated by NULL 821 * @param ... pair of void * & size_t for context chunks, terminated by NULL
750 * @return GNUNET_YES on success 822 * @return #GNUNET_YES on success
751 */ 823 */
752int 824int
753GNUNET_CRYPTO_hkdf (void *result, size_t out_len, int xtr_algo, int prf_algo, 825GNUNET_CRYPTO_hkdf (void *result, size_t out_len, int xtr_algo, int prf_algo,
@@ -763,11 +835,11 @@ GNUNET_CRYPTO_hkdf (void *result, size_t out_len, int xtr_algo, int prf_algo,
763 * @param xtr_algo hash algorithm for the extraction phase, GCRY_MD_... 835 * @param xtr_algo hash algorithm for the extraction phase, GCRY_MD_...
764 * @param prf_algo hash algorithm for the expansion phase, GCRY_MD_... 836 * @param prf_algo hash algorithm for the expansion phase, GCRY_MD_...
765 * @param xts salt 837 * @param xts salt
766 * @param xts_len length of xts 838 * @param xts_len length of @a xts
767 * @param skm source key material 839 * @param skm source key material
768 * @param skm_len length of skm 840 * @param skm_len length of @a skm
769 * @param argp va_list of void * & size_t pairs for context chunks 841 * @param argp va_list of void * & size_t pairs for context chunks
770 * @return GNUNET_YES on success 842 * @return #GNUNET_YES on success
771 */ 843 */
772int 844int
773GNUNET_CRYPTO_hkdf_v (void *result, size_t out_len, int xtr_algo, int prf_algo, 845GNUNET_CRYPTO_hkdf_v (void *result, size_t out_len, int xtr_algo, int prf_algo,
@@ -780,11 +852,11 @@ GNUNET_CRYPTO_hkdf_v (void *result, size_t out_len, int xtr_algo, int prf_algo,
780 * @param result buffer for the derived key, allocated by caller 852 * @param result buffer for the derived key, allocated by caller
781 * @param out_len desired length of the derived key 853 * @param out_len desired length of the derived key
782 * @param xts salt 854 * @param xts salt
783 * @param xts_len length of xts 855 * @param xts_len length of @a xts
784 * @param skm source key material 856 * @param skm source key material
785 * @param skm_len length of skm 857 * @param skm_len length of @a skm
786 * @param argp va_list of void * & size_t pairs for context chunks 858 * @param argp va_list of void * & size_t pairs for context chunks
787 * @return GNUNET_YES on success 859 * @return #GNUNET_YES on success
788 */ 860 */
789int 861int
790GNUNET_CRYPTO_kdf_v (void *result, size_t out_len, const void *xts, 862GNUNET_CRYPTO_kdf_v (void *result, size_t out_len, const void *xts,
@@ -798,9 +870,9 @@ GNUNET_CRYPTO_kdf_v (void *result, size_t out_len, const void *xts,
798 * @param result buffer for the derived key, allocated by caller 870 * @param result buffer for the derived key, allocated by caller
799 * @param out_len desired length of the derived key 871 * @param out_len desired length of the derived key
800 * @param xts salt 872 * @param xts salt
801 * @param xts_len length of xts 873 * @param xts_len length of @a xts
802 * @param skm source key material 874 * @param skm source key material
803 * @param skm_len length of skm 875 * @param skm_len length of @a skm
804 * @param ... void * & size_t pairs for context chunks 876 * @param ... void * & size_t pairs for context chunks
805 * @return #GNUNET_YES on success 877 * @return #GNUNET_YES on success
806 */ 878 */
@@ -810,16 +882,15 @@ GNUNET_CRYPTO_kdf (void *result, size_t out_len, const void *xts,
810 882
811 883
812/** 884/**
813 * Function called upon completion of 'GNUNET_CRYPTO_ecc_key_create_async'. 885 * @ingroup crypto
886 * Extract the public key for the given private key.
814 * 887 *
815 * @param cls closure 888 * @param priv the private key
816 * @param pk NULL on error, otherwise the private key (which must be free'd by the callee) 889 * @param pub where to write the public key
817 * @param emsg NULL on success, otherwise an error message
818 */ 890 */
819typedef void (*GNUNET_CRYPTO_EccKeyCallback)(void *cls, 891void
820 struct GNUNET_CRYPTO_EccPrivateKey *pk, 892GNUNET_CRYPTO_ecdsa_key_get_public (const struct GNUNET_CRYPTO_EcdsaPrivateKey *priv,
821 const char *emsg); 893 struct GNUNET_CRYPTO_EcdsaPublicKey *pub);
822
823 894
824/** 895/**
825 * @ingroup crypto 896 * @ingroup crypto
@@ -829,9 +900,8 @@ typedef void (*GNUNET_CRYPTO_EccKeyCallback)(void *cls,
829 * @param pub where to write the public key 900 * @param pub where to write the public key
830 */ 901 */
831void 902void
832GNUNET_CRYPTO_ecc_key_get_public_for_signature (const struct GNUNET_CRYPTO_EccPrivateKey *priv, 903GNUNET_CRYPTO_eddsa_key_get_public (const struct GNUNET_CRYPTO_EddsaPrivateKey *priv,
833 struct GNUNET_CRYPTO_EccPublicSignKey *pub); 904 struct GNUNET_CRYPTO_EddsaPublicKey *pub);
834
835 905
836 906
837/** 907/**
@@ -842,8 +912,18 @@ GNUNET_CRYPTO_ecc_key_get_public_for_signature (const struct GNUNET_CRYPTO_EccPr
842 * @param pub where to write the public key 912 * @param pub where to write the public key
843 */ 913 */
844void 914void
845GNUNET_CRYPTO_ecc_key_get_public_for_encryption (const struct GNUNET_CRYPTO_EccPrivateKey *priv, 915GNUNET_CRYPTO_ecdhe_key_get_public (const struct GNUNET_CRYPTO_EcdhePrivateKey *priv,
846 struct GNUNET_CRYPTO_EccPublicEncryptKey *pub); 916 struct GNUNET_CRYPTO_EcdhePublicKey *pub);
917
918
919/**
920 * Convert a public key to a string.
921 *
922 * @param pub key to convert
923 * @return string representing @a pub
924 */
925char *
926GNUNET_CRYPTO_ecdsa_public_key_to_string (const struct GNUNET_CRYPTO_EcdsaPublicKey *pub);
847 927
848 928
849/** 929/**
@@ -853,7 +933,7 @@ GNUNET_CRYPTO_ecc_key_get_public_for_encryption (const struct GNUNET_CRYPTO_EccP
853 * @return string representing @a pub 933 * @return string representing @a pub
854 */ 934 */
855char * 935char *
856GNUNET_CRYPTO_ecc_public_sign_key_to_string (const struct GNUNET_CRYPTO_EccPublicSignKey *pub); 936GNUNET_CRYPTO_eddsa_public_key_to_string (const struct GNUNET_CRYPTO_EddsaPublicKey *pub);
857 937
858 938
859/** 939/**
@@ -865,20 +945,9 @@ GNUNET_CRYPTO_ecc_public_sign_key_to_string (const struct GNUNET_CRYPTO_EccPubli
865 * @return #GNUNET_OK on success 945 * @return #GNUNET_OK on success
866 */ 946 */
867int 947int
868GNUNET_CRYPTO_ecc_public_sign_key_from_string (const char *enc, 948GNUNET_CRYPTO_ecdsa_public_key_from_string (const char *enc,
869 size_t enclen, 949 size_t enclen,
870 struct GNUNET_CRYPTO_EccPublicSignKey *pub); 950 struct GNUNET_CRYPTO_EcdsaPublicKey *pub);
871
872
873
874/**
875 * Convert a public key to a string.
876 *
877 * @param pub key to convert
878 * @return string representing @a pub
879 */
880char *
881GNUNET_CRYPTO_ecc_public_encrypt_key_to_string (const struct GNUNET_CRYPTO_EccPublicEncryptKey *pub);
882 951
883 952
884/** 953/**
@@ -890,9 +959,28 @@ GNUNET_CRYPTO_ecc_public_encrypt_key_to_string (const struct GNUNET_CRYPTO_EccPu
890 * @return #GNUNET_OK on success 959 * @return #GNUNET_OK on success
891 */ 960 */
892int 961int
893GNUNET_CRYPTO_ecc_public_encrypt_key_from_string (const char *enc, 962GNUNET_CRYPTO_eddsa_public_key_from_string (const char *enc,
894 size_t enclen, 963 size_t enclen,
895 struct GNUNET_CRYPTO_EccPublicEncryptKey *pub); 964 struct GNUNET_CRYPTO_EddsaPublicKey *pub);
965
966
967/**
968 * @ingroup crypto
969 * Create a new private key by reading it from a file. If the
970 * files does not exist, create a new key and write it to the
971 * file. Caller must free return value. Note that this function
972 * can not guarantee that another process might not be trying
973 * the same operation on the same file at the same time.
974 * If the contents of the file
975 * are invalid the old file is deleted and a fresh key is
976 * created.
977 *
978 * @param filename name of file to use to store the key
979 * @return new private key, NULL on error (for example,
980 * permission denied); free using #GNUNET_free
981 */
982struct GNUNET_CRYPTO_EcdsaPrivateKey *
983GNUNET_CRYPTO_ecdsa_key_create_from_file (const char *filename);
896 984
897 985
898/** 986/**
@@ -910,8 +998,8 @@ GNUNET_CRYPTO_ecc_public_encrypt_key_from_string (const char *enc,
910 * @return new private key, NULL on error (for example, 998 * @return new private key, NULL on error (for example,
911 * permission denied); free using #GNUNET_free 999 * permission denied); free using #GNUNET_free
912 */ 1000 */
913struct GNUNET_CRYPTO_EccPrivateKey * 1001struct GNUNET_CRYPTO_EddsaPrivateKey *
914GNUNET_CRYPTO_ecc_key_create_from_file (const char *filename); 1002GNUNET_CRYPTO_eddsa_key_create_from_file (const char *filename);
915 1003
916 1004
917/** 1005/**
@@ -923,8 +1011,28 @@ GNUNET_CRYPTO_ecc_key_create_from_file (const char *filename);
923 * @return new private key, NULL on error (for example, 1011 * @return new private key, NULL on error (for example,
924 * permission denied); free using #GNUNET_free 1012 * permission denied); free using #GNUNET_free
925 */ 1013 */
926struct GNUNET_CRYPTO_EccPrivateKey * 1014struct GNUNET_CRYPTO_EddsaPrivateKey *
927GNUNET_CRYPTO_ecc_key_create_from_configuration (const struct GNUNET_CONFIGURATION_Handle *cfg); 1015GNUNET_CRYPTO_eddsa_key_create_from_configuration (const struct GNUNET_CONFIGURATION_Handle *cfg);
1016
1017
1018/**
1019 * @ingroup crypto
1020 * Create a new private key. Caller must free return value.
1021 *
1022 * @return fresh private key; free using #GNUNET_free
1023 */
1024struct GNUNET_CRYPTO_EcdsaPrivateKey *
1025GNUNET_CRYPTO_ecdsa_key_create (void);
1026
1027
1028/**
1029 * @ingroup crypto
1030 * Create a new private key. Caller must free return value.
1031 *
1032 * @return fresh private key; free using #GNUNET_free
1033 */
1034struct GNUNET_CRYPTO_EddsaPrivateKey *
1035GNUNET_CRYPTO_eddsa_key_create (void);
928 1036
929 1037
930/** 1038/**
@@ -933,8 +1041,8 @@ GNUNET_CRYPTO_ecc_key_create_from_configuration (const struct GNUNET_CONFIGURATI
933 * 1041 *
934 * @return fresh private key; free using #GNUNET_free 1042 * @return fresh private key; free using #GNUNET_free
935 */ 1043 */
936struct GNUNET_CRYPTO_EccPrivateKey * 1044struct GNUNET_CRYPTO_EcdhePrivateKey *
937GNUNET_CRYPTO_ecc_key_create (void); 1045GNUNET_CRYPTO_ecdhe_key_create (void);
938 1046
939 1047
940/** 1048/**
@@ -944,7 +1052,26 @@ GNUNET_CRYPTO_ecc_key_create (void);
944 * @param pk location of the key 1052 * @param pk location of the key
945 */ 1053 */
946void 1054void
947GNUNET_CRYPTO_ecc_key_clear (struct GNUNET_CRYPTO_EccPrivateKey *pk); 1055GNUNET_CRYPTO_eddsa_key_clear (struct GNUNET_CRYPTO_EddsaPrivateKey *pk);
1056
1057
1058/**
1059 * @ingroup crypto
1060 * Clear memory that was used to store a private key.
1061 *
1062 * @param pk location of the key
1063 */
1064void
1065GNUNET_CRYPTO_ecdsa_key_clear (struct GNUNET_CRYPTO_EcdsaPrivateKey *pk);
1066
1067/**
1068 * @ingroup crypto
1069 * Clear memory that was used to store a private key.
1070 *
1071 * @param pk location of the key
1072 */
1073void
1074GNUNET_CRYPTO_ecdhe_key_clear (struct GNUNET_CRYPTO_EcdhePrivateKey *pk);
948 1075
949 1076
950/** 1077/**
@@ -953,8 +1080,8 @@ GNUNET_CRYPTO_ecc_key_clear (struct GNUNET_CRYPTO_EccPrivateKey *pk);
953 * 1080 *
954 * @return "anonymous" private key; do not free 1081 * @return "anonymous" private key; do not free
955 */ 1082 */
956const struct GNUNET_CRYPTO_EccPrivateKey * 1083const struct GNUNET_CRYPTO_EcdsaPrivateKey *
957GNUNET_CRYPTO_ecc_key_get_anonymous (void); 1084GNUNET_CRYPTO_ecdsa_key_get_anonymous (void);
958 1085
959 1086
960/** 1087/**
@@ -967,7 +1094,7 @@ GNUNET_CRYPTO_ecc_key_get_anonymous (void);
967 * @param cfg_name name of the configuration file to use 1094 * @param cfg_name name of the configuration file to use
968 */ 1095 */
969void 1096void
970GNUNET_CRYPTO_ecc_setup_hostkey (const char *cfg_name); 1097GNUNET_CRYPTO_eddsa_setup_hostkey (const char *cfg_name);
971 1098
972 1099
973/** 1100/**
@@ -989,19 +1116,34 @@ GNUNET_CRYPTO_get_peer_identity (const struct GNUNET_CONFIGURATION_Handle *cfg,
989 * Derive key material from a public and a private ECC key. 1116 * Derive key material from a public and a private ECC key.
990 * 1117 *
991 * @param priv private key to use for the ECDH (x) 1118 * @param priv private key to use for the ECDH (x)
992 * @param pub public key to use for the ECDY (yG) 1119 * @param pub public key to use for the ECDH (yG)
993 * @param key_material where to write the key material (xyG) 1120 * @param key_material where to write the key material (xyG)
994 * @return #GNUNET_SYSERR on error, #GNUNET_OK on success 1121 * @return #GNUNET_SYSERR on error, #GNUNET_OK on success
995 */ 1122 */
996int 1123int
997GNUNET_CRYPTO_ecc_ecdh (const struct GNUNET_CRYPTO_EccPrivateKey *priv, 1124GNUNET_CRYPTO_ecc_ecdh (const struct GNUNET_CRYPTO_EcdhePrivateKey *priv,
998 const struct GNUNET_CRYPTO_EccPublicEncryptKey *pub, 1125 const struct GNUNET_CRYPTO_EcdhePublicKey *pub,
999 struct GNUNET_HashCode *key_material); 1126 struct GNUNET_HashCode *key_material);
1000 1127
1001 1128
1002/** 1129/**
1003 * @ingroup crypto 1130 * @ingroup crypto
1004 * Sign a given block. 1131 * EdDSA sign a given block.
1132 *
1133 * @param priv private key to use for the signing
1134 * @param purpose what to sign (size, purpose)
1135 * @param sig where to write the signature
1136 * @return #GNUNET_SYSERR on error, #GNUNET_OK on success
1137 */
1138int
1139GNUNET_CRYPTO_eddsa_sign (const struct GNUNET_CRYPTO_EddsaPrivateKey *priv,
1140 const struct GNUNET_CRYPTO_EccSignaturePurpose *purpose,
1141 struct GNUNET_CRYPTO_EddsaSignature *sig);
1142
1143
1144/**
1145 * @ingroup crypto
1146 * ECDSA Sign a given block.
1005 * 1147 *
1006 * @param priv private key to use for the signing 1148 * @param priv private key to use for the signing
1007 * @param purpose what to sign (size, purpose) 1149 * @param purpose what to sign (size, purpose)
@@ -1009,14 +1151,31 @@ GNUNET_CRYPTO_ecc_ecdh (const struct GNUNET_CRYPTO_EccPrivateKey *priv,
1009 * @return #GNUNET_SYSERR on error, #GNUNET_OK on success 1151 * @return #GNUNET_SYSERR on error, #GNUNET_OK on success
1010 */ 1152 */
1011int 1153int
1012GNUNET_CRYPTO_ecc_sign (const struct GNUNET_CRYPTO_EccPrivateKey *priv, 1154GNUNET_CRYPTO_ecdsa_sign (const struct GNUNET_CRYPTO_EcdsaPrivateKey *priv,
1013 const struct GNUNET_CRYPTO_EccSignaturePurpose *purpose, 1155 const struct GNUNET_CRYPTO_EccSignaturePurpose *purpose,
1014 struct GNUNET_CRYPTO_EccSignature *sig); 1156 struct GNUNET_CRYPTO_EcdsaSignature *sig);
1157
1158/**
1159 * @ingroup crypto
1160 * Verify EdDSA signature.
1161 *
1162 * @param purpose what is the purpose that the signature should have?
1163 * @param validate block to validate (size, purpose, data)
1164 * @param sig signature that is being validated
1165 * @param pub public key of the signer
1166 * @returns #GNUNET_OK if ok, #GNUNET_SYSERR if invalid
1167 */
1168int
1169GNUNET_CRYPTO_eddsa_verify (uint32_t purpose,
1170 const struct GNUNET_CRYPTO_EccSignaturePurpose *validate,
1171 const struct GNUNET_CRYPTO_EddsaSignature *sig,
1172 const struct GNUNET_CRYPTO_EddsaPublicKey *pub);
1173
1015 1174
1016 1175
1017/** 1176/**
1018 * @ingroup crypto 1177 * @ingroup crypto
1019 * Verify signature. 1178 * Verify ECDSA signature.
1020 * 1179 *
1021 * @param purpose what is the purpose that the signature should have? 1180 * @param purpose what is the purpose that the signature should have?
1022 * @param validate block to validate (size, purpose, data) 1181 * @param validate block to validate (size, purpose, data)
@@ -1025,10 +1184,10 @@ GNUNET_CRYPTO_ecc_sign (const struct GNUNET_CRYPTO_EccPrivateKey *priv,
1025 * @returns #GNUNET_OK if ok, #GNUNET_SYSERR if invalid 1184 * @returns #GNUNET_OK if ok, #GNUNET_SYSERR if invalid
1026 */ 1185 */
1027int 1186int
1028GNUNET_CRYPTO_ecc_verify (uint32_t purpose, 1187GNUNET_CRYPTO_ecdsa_verify (uint32_t purpose,
1029 const struct GNUNET_CRYPTO_EccSignaturePurpose *validate, 1188 const struct GNUNET_CRYPTO_EccSignaturePurpose *validate,
1030 const struct GNUNET_CRYPTO_EccSignature *sig, 1189 const struct GNUNET_CRYPTO_EcdsaSignature *sig,
1031 const struct GNUNET_CRYPTO_EccPublicSignKey *pub); 1190 const struct GNUNET_CRYPTO_EcdsaPublicKey *pub);
1032 1191
1033 1192
1034/** 1193/**
@@ -1044,10 +1203,10 @@ GNUNET_CRYPTO_ecc_verify (uint32_t purpose,
1044 * typically the name of the subsystem/application 1203 * typically the name of the subsystem/application
1045 * @return derived private key 1204 * @return derived private key
1046 */ 1205 */
1047struct GNUNET_CRYPTO_EccPrivateKey * 1206struct GNUNET_CRYPTO_EcdsaPrivateKey *
1048GNUNET_CRYPTO_ecc_key_derive (const struct GNUNET_CRYPTO_EccPrivateKey *priv, 1207GNUNET_CRYPTO_ecdsa_private_key_derive (const struct GNUNET_CRYPTO_EcdsaPrivateKey *priv,
1049 const char *label, 1208 const char *label,
1050 const char *context); 1209 const char *context);
1051 1210
1052 1211
1053/** 1212/**
@@ -1062,10 +1221,10 @@ GNUNET_CRYPTO_ecc_key_derive (const struct GNUNET_CRYPTO_EccPrivateKey *priv,
1062 * @param result where to write the derived public key 1221 * @param result where to write the derived public key
1063 */ 1222 */
1064void 1223void
1065GNUNET_CRYPTO_ecc_public_key_derive (const struct GNUNET_CRYPTO_EccPublicSignKey *pub, 1224GNUNET_CRYPTO_ecdsa_public_key_derive (const struct GNUNET_CRYPTO_EcdsaPublicKey *pub,
1066 const char *label, 1225 const char *label,
1067 const char *context, 1226 const char *context,
1068 struct GNUNET_CRYPTO_EccPublicSignKey *result); 1227 struct GNUNET_CRYPTO_EcdsaPublicKey *result);
1069 1228
1070 1229
1071#if 0 /* keep Emacsens' auto-indent happy */ 1230#if 0 /* keep Emacsens' auto-indent happy */
diff --git a/src/include/gnunet_fs_service.h b/src/include/gnunet_fs_service.h
index a13c3b91c..3546fdcb7 100644
--- a/src/include/gnunet_fs_service.h
+++ b/src/include/gnunet_fs_service.h
@@ -337,7 +337,7 @@ GNUNET_FS_uri_test_sks (const struct GNUNET_FS_Uri *uri);
337 * @return an FS URI for the given namespace and identifier 337 * @return an FS URI for the given namespace and identifier
338 */ 338 */
339struct GNUNET_FS_Uri * 339struct GNUNET_FS_Uri *
340GNUNET_FS_uri_sks_create (const struct GNUNET_CRYPTO_EccPublicSignKey *ns, 340GNUNET_FS_uri_sks_create (const struct GNUNET_CRYPTO_EcdsaPublicKey *ns,
341 const char *id); 341 const char *id);
342 342
343 343
@@ -351,7 +351,7 @@ GNUNET_FS_uri_sks_create (const struct GNUNET_CRYPTO_EccPublicSignKey *ns,
351 */ 351 */
352int 352int
353GNUNET_FS_uri_sks_get_namespace (const struct GNUNET_FS_Uri *uri, 353GNUNET_FS_uri_sks_get_namespace (const struct GNUNET_FS_Uri *uri,
354 struct GNUNET_CRYPTO_EccPublicSignKey *pseudonym); 354 struct GNUNET_CRYPTO_EcdsaPublicKey *pseudonym);
355 355
356 356
357/** 357/**
@@ -1377,7 +1377,7 @@ struct GNUNET_FS_ProgressInfo
1377 /** 1377 /**
1378 * Public key of the namespace. 1378 * Public key of the namespace.
1379 */ 1379 */
1380 struct GNUNET_CRYPTO_EccPublicSignKey pseudonym; 1380 struct GNUNET_CRYPTO_EcdsaPublicKey pseudonym;
1381 1381
1382 } ns; 1382 } ns;
1383 1383
@@ -1962,7 +1962,7 @@ enum GNUNET_FS_PublishOptions
1962struct GNUNET_FS_PublishContext * 1962struct GNUNET_FS_PublishContext *
1963GNUNET_FS_publish_start (struct GNUNET_FS_Handle *h, 1963GNUNET_FS_publish_start (struct GNUNET_FS_Handle *h,
1964 struct GNUNET_FS_FileInformation *fi, 1964 struct GNUNET_FS_FileInformation *fi,
1965 const struct GNUNET_CRYPTO_EccPrivateKey *ns, 1965 const struct GNUNET_CRYPTO_EcdsaPrivateKey *ns,
1966 const char *nid, 1966 const char *nid,
1967 const char *nuid, 1967 const char *nuid,
1968 enum GNUNET_FS_PublishOptions options); 1968 enum GNUNET_FS_PublishOptions options);
@@ -2054,7 +2054,7 @@ struct GNUNET_FS_PublishSksContext;
2054 */ 2054 */
2055struct GNUNET_FS_PublishSksContext * 2055struct GNUNET_FS_PublishSksContext *
2056GNUNET_FS_publish_sks (struct GNUNET_FS_Handle *h, 2056GNUNET_FS_publish_sks (struct GNUNET_FS_Handle *h,
2057 const struct GNUNET_CRYPTO_EccPrivateKey *ns, 2057 const struct GNUNET_CRYPTO_EcdsaPrivateKey *ns,
2058 const char *identifier, 2058 const char *identifier,
2059 const char *update, 2059 const char *update,
2060 const struct GNUNET_CONTAINER_MetaData *meta, 2060 const struct GNUNET_CONTAINER_MetaData *meta,
@@ -2176,7 +2176,7 @@ typedef void (*GNUNET_FS_IdentifierProcessor) (void *cls,
2176 */ 2176 */
2177void 2177void
2178GNUNET_FS_namespace_list_updateable (struct GNUNET_FS_Handle *h, 2178GNUNET_FS_namespace_list_updateable (struct GNUNET_FS_Handle *h,
2179 const struct GNUNET_CRYPTO_EccPrivateKey *ns, 2179 const struct GNUNET_CRYPTO_EcdsaPrivateKey *ns,
2180 const char *next_id, 2180 const char *next_id,
2181 GNUNET_FS_IdentifierProcessor ip, 2181 GNUNET_FS_IdentifierProcessor ip,
2182 void *ip_cls); 2182 void *ip_cls);
diff --git a/src/include/gnunet_gns_service.h b/src/include/gnunet_gns_service.h
index f16494c61..f26b44265 100644
--- a/src/include/gnunet_gns_service.h
+++ b/src/include/gnunet_gns_service.h
@@ -107,10 +107,10 @@ typedef void (*GNUNET_GNS_LookupResultProcessor) (void *cls,
107struct GNUNET_GNS_LookupRequest * 107struct GNUNET_GNS_LookupRequest *
108GNUNET_GNS_lookup (struct GNUNET_GNS_Handle *handle, 108GNUNET_GNS_lookup (struct GNUNET_GNS_Handle *handle,
109 const char *name, 109 const char *name,
110 const struct GNUNET_CRYPTO_EccPublicSignKey *zone, 110 const struct GNUNET_CRYPTO_EcdsaPublicKey *zone,
111 int type, 111 int type,
112 int only_cached, 112 int only_cached,
113 const struct GNUNET_CRYPTO_EccPrivateKey *shorten_zone_key, 113 const struct GNUNET_CRYPTO_EcdsaPrivateKey *shorten_zone_key,
114 GNUNET_GNS_LookupResultProcessor proc, 114 GNUNET_GNS_LookupResultProcessor proc,
115 void *proc_cls); 115 void *proc_cls);
116 116
diff --git a/src/include/gnunet_hello_lib.h b/src/include/gnunet_hello_lib.h
index 901aa4f24..609cb2822 100644
--- a/src/include/gnunet_hello_lib.h
+++ b/src/include/gnunet_hello_lib.h
@@ -198,7 +198,7 @@ typedef size_t (*GNUNET_HELLO_GenerateAddressListCallback) (void *cls,
198 * @return the hello message 198 * @return the hello message
199 */ 199 */
200struct GNUNET_HELLO_Message * 200struct GNUNET_HELLO_Message *
201GNUNET_HELLO_create (const struct GNUNET_CRYPTO_EccPublicSignKey *publicKey, 201GNUNET_HELLO_create (const struct GNUNET_CRYPTO_EddsaPublicKey *publicKey,
202 GNUNET_HELLO_GenerateAddressListCallback addrgen, 202 GNUNET_HELLO_GenerateAddressListCallback addrgen,
203 void *addrgen_cls, 203 void *addrgen_cls,
204 int friend_only); 204 int friend_only);
@@ -325,7 +325,7 @@ GNUNET_HELLO_iterate_new_addresses (const struct GNUNET_HELLO_Message
325 */ 325 */
326int 326int
327GNUNET_HELLO_get_key (const struct GNUNET_HELLO_Message *hello, 327GNUNET_HELLO_get_key (const struct GNUNET_HELLO_Message *hello,
328 struct GNUNET_CRYPTO_EccPublicSignKey *publicKey); 328 struct GNUNET_CRYPTO_EddsaPublicKey *publicKey);
329 329
330 330
331/** 331/**
@@ -378,7 +378,7 @@ GNUNET_HELLO_compose_uri (const struct GNUNET_HELLO_Message *hello,
378 */ 378 */
379int 379int
380GNUNET_HELLO_parse_uri (const char *uri, 380GNUNET_HELLO_parse_uri (const char *uri,
381 struct GNUNET_CRYPTO_EccPublicSignKey *pubkey, 381 struct GNUNET_CRYPTO_EddsaPublicKey *pubkey,
382 struct GNUNET_HELLO_Message **hello, 382 struct GNUNET_HELLO_Message **hello,
383 GNUNET_HELLO_TransportPluginsFind plugins_find); 383 GNUNET_HELLO_TransportPluginsFind plugins_find);
384 384
diff --git a/src/include/gnunet_identity_service.h b/src/include/gnunet_identity_service.h
index 79d27fa02..49b269604 100644
--- a/src/include/gnunet_identity_service.h
+++ b/src/include/gnunet_identity_service.h
@@ -76,7 +76,7 @@ struct GNUNET_IDENTITY_Operation;
76 * @param ego the ego 76 * @param ego the ego
77 * @return associated ECC key, valid as long as the ego is valid 77 * @return associated ECC key, valid as long as the ego is valid
78 */ 78 */
79const struct GNUNET_CRYPTO_EccPrivateKey * 79const struct GNUNET_CRYPTO_EcdsaPrivateKey *
80GNUNET_IDENTITY_ego_get_private_key (const struct GNUNET_IDENTITY_Ego *ego); 80GNUNET_IDENTITY_ego_get_private_key (const struct GNUNET_IDENTITY_Ego *ego);
81 81
82 82
@@ -97,7 +97,7 @@ GNUNET_IDENTITY_ego_get_anonymous (void);
97 */ 97 */
98void 98void
99GNUNET_IDENTITY_ego_get_public_key (const struct GNUNET_IDENTITY_Ego *ego, 99GNUNET_IDENTITY_ego_get_public_key (const struct GNUNET_IDENTITY_Ego *ego,
100 struct GNUNET_CRYPTO_EccPublicSignKey *pk); 100 struct GNUNET_CRYPTO_EcdsaPublicKey *pk);
101 101
102 102
103/** 103/**
diff --git a/src/include/gnunet_multicast_service.h b/src/include/gnunet_multicast_service.h
index 7a2421b4b..58a99c0d8 100644
--- a/src/include/gnunet_multicast_service.h
+++ b/src/include/gnunet_multicast_service.h
@@ -112,7 +112,7 @@ struct GNUNET_MULTICAST_MessageHeader
112 * 112 *
113 * Signature must match the public key of the multicast group. 113 * Signature must match the public key of the multicast group.
114 */ 114 */
115 struct GNUNET_CRYPTO_EccSignature signature; 115 struct GNUNET_CRYPTO_EddsaSignature signature;
116 116
117 /** 117 /**
118 * Purpose for the signature and size of the signed data. 118 * Purpose for the signature and size of the signed data.
@@ -214,7 +214,7 @@ GNUNET_MULTICAST_join_decision (struct GNUNET_MULTICAST_JoinHandle *jh,
214 */ 214 */
215typedef void 215typedef void
216(*GNUNET_MULTICAST_JoinCallback) (void *cls, 216(*GNUNET_MULTICAST_JoinCallback) (void *cls,
217 const struct GNUNET_CRYPTO_EccPublicSignKey *member_key, 217 const struct GNUNET_CRYPTO_EddsaPublicKey *member_key,
218 const struct GNUNET_MessageHeader *join_req, 218 const struct GNUNET_MessageHeader *join_req,
219 struct GNUNET_MULTICAST_JoinHandle *jh); 219 struct GNUNET_MULTICAST_JoinHandle *jh);
220 220
@@ -253,7 +253,7 @@ GNUNET_MULTICAST_membership_test_result (struct GNUNET_MULTICAST_MembershipTestH
253 */ 253 */
254typedef void 254typedef void
255(*GNUNET_MULTICAST_MembershipTestCallback) (void *cls, 255(*GNUNET_MULTICAST_MembershipTestCallback) (void *cls,
256 const struct GNUNET_CRYPTO_EccPublicSignKey *member_key, 256 const struct GNUNET_CRYPTO_EddsaPublicKey *member_key,
257 uint64_t message_id, 257 uint64_t message_id,
258 uint64_t group_generation, 258 uint64_t group_generation,
259 struct GNUNET_MULTICAST_MembershipTestHandle *mth); 259 struct GNUNET_MULTICAST_MembershipTestHandle *mth);
@@ -277,7 +277,7 @@ typedef void
277 */ 277 */
278typedef void 278typedef void
279(*GNUNET_MULTICAST_RequestCallback) (void *cls, 279(*GNUNET_MULTICAST_RequestCallback) (void *cls,
280 const struct GNUNET_CRYPTO_EccPublicSignKey *member_key, 280 const struct GNUNET_CRYPTO_EddsaPublicKey *member_key,
281 const struct GNUNET_MessageHeader *req, 281 const struct GNUNET_MessageHeader *req,
282 enum GNUNET_MULTICAST_MessageFlags flags); 282 enum GNUNET_MULTICAST_MessageFlags flags);
283 283
@@ -341,7 +341,7 @@ struct GNUNET_MULTICAST_ReplayHandle;
341 */ 341 */
342typedef void 342typedef void
343(*GNUNET_MULTICAST_ReplayFragmentCallback) (void *cls, 343(*GNUNET_MULTICAST_ReplayFragmentCallback) (void *cls,
344 const struct GNUNET_CRYPTO_EccPublicSignKey *member_key, 344 const struct GNUNET_CRYPTO_EddsaPublicKey *member_key,
345 uint64_t fragment_id, 345 uint64_t fragment_id,
346 uint64_t flags, 346 uint64_t flags,
347 struct GNUNET_MULTICAST_ReplayHandle *rh); 347 struct GNUNET_MULTICAST_ReplayHandle *rh);
@@ -364,7 +364,7 @@ typedef void
364 */ 364 */
365typedef void 365typedef void
366(*GNUNET_MULTICAST_ReplayMessageCallback) (void *cls, 366(*GNUNET_MULTICAST_ReplayMessageCallback) (void *cls,
367 const struct GNUNET_CRYPTO_EccPublicSignKey *member_key, 367 const struct GNUNET_CRYPTO_EddsaPublicKey *member_key,
368 uint64_t message_id, 368 uint64_t message_id,
369 uint64_t fragment_offset, 369 uint64_t fragment_offset,
370 uint64_t flags, 370 uint64_t flags,
@@ -491,7 +491,7 @@ GNUNET_MULTICAST_replay_response2 (struct GNUNET_MULTICAST_ReplayHandle *rh,
491 */ 491 */
492struct GNUNET_MULTICAST_Origin * 492struct GNUNET_MULTICAST_Origin *
493GNUNET_MULTICAST_origin_start (const struct GNUNET_CONFIGURATION_Handle *cfg, 493GNUNET_MULTICAST_origin_start (const struct GNUNET_CONFIGURATION_Handle *cfg,
494 const struct GNUNET_CRYPTO_EccPrivateKey *priv_key, 494 const struct GNUNET_CRYPTO_EddsaPrivateKey *priv_key,
495 uint64_t next_fragment_id, 495 uint64_t next_fragment_id,
496 GNUNET_MULTICAST_JoinCallback join_cb, 496 GNUNET_MULTICAST_JoinCallback join_cb,
497 GNUNET_MULTICAST_MembershipTestCallback mem_test_cb, 497 GNUNET_MULTICAST_MembershipTestCallback mem_test_cb,
@@ -623,8 +623,8 @@ GNUNET_MULTICAST_origin_stop (struct GNUNET_MULTICAST_Origin *origin);
623 */ 623 */
624struct GNUNET_MULTICAST_Member * 624struct GNUNET_MULTICAST_Member *
625GNUNET_MULTICAST_member_join (const struct GNUNET_CONFIGURATION_Handle *cfg, 625GNUNET_MULTICAST_member_join (const struct GNUNET_CONFIGURATION_Handle *cfg,
626 const struct GNUNET_CRYPTO_EccPublicSignKey *group_key, 626 const struct GNUNET_CRYPTO_EddsaPublicKey *group_key,
627 const struct GNUNET_CRYPTO_EccPrivateKey *member_key, 627 const struct GNUNET_CRYPTO_EddsaPrivateKey *member_key,
628 const struct GNUNET_PeerIdentity *origin, 628 const struct GNUNET_PeerIdentity *origin,
629 uint32_t relay_count, 629 uint32_t relay_count,
630 const struct GNUNET_PeerIdentity *relays, 630 const struct GNUNET_PeerIdentity *relays,
diff --git a/src/include/gnunet_namestore_plugin.h b/src/include/gnunet_namestore_plugin.h
index 4d4821bcb..5c7408eec 100644
--- a/src/include/gnunet_namestore_plugin.h
+++ b/src/include/gnunet_namestore_plugin.h
@@ -58,7 +58,7 @@ typedef void (*GNUNET_NAMESTORE_BlockCallback) (void *cls,
58 * @param rd array of records with data to store 58 * @param rd array of records with data to store
59 */ 59 */
60typedef void (*GNUNET_NAMESTORE_RecordIterator) (void *cls, 60typedef void (*GNUNET_NAMESTORE_RecordIterator) (void *cls,
61 const struct GNUNET_CRYPTO_EccPrivateKey *private_key, 61 const struct GNUNET_CRYPTO_EcdsaPrivateKey *private_key,
62 const char *label, 62 const char *label,
63 unsigned int rd_count, 63 unsigned int rd_count,
64 const struct GNUNET_NAMESTORE_RecordData *rd); 64 const struct GNUNET_NAMESTORE_RecordData *rd);
@@ -115,7 +115,7 @@ struct GNUNET_NAMESTORE_PluginFunctions
115 * @return #GNUNET_OK on success, else #GNUNET_SYSERR 115 * @return #GNUNET_OK on success, else #GNUNET_SYSERR
116 */ 116 */
117 int (*store_records) (void *cls, 117 int (*store_records) (void *cls,
118 const struct GNUNET_CRYPTO_EccPrivateKey *zone, 118 const struct GNUNET_CRYPTO_EcdsaPrivateKey *zone,
119 const char *label, 119 const char *label,
120 unsigned int rd_count, 120 unsigned int rd_count,
121 const struct GNUNET_NAMESTORE_RecordData *rd); 121 const struct GNUNET_NAMESTORE_RecordData *rd);
@@ -133,7 +133,7 @@ struct GNUNET_NAMESTORE_PluginFunctions
133 * @return #GNUNET_OK on success, #GNUNET_NO if there were no results, #GNUNET_SYSERR on error 133 * @return #GNUNET_OK on success, #GNUNET_NO if there were no results, #GNUNET_SYSERR on error
134 */ 134 */
135 int (*iterate_records) (void *cls, 135 int (*iterate_records) (void *cls,
136 const struct GNUNET_CRYPTO_EccPrivateKey *zone, 136 const struct GNUNET_CRYPTO_EcdsaPrivateKey *zone,
137 uint64_t offset, 137 uint64_t offset,
138 GNUNET_NAMESTORE_RecordIterator iter, void *iter_cls); 138 GNUNET_NAMESTORE_RecordIterator iter, void *iter_cls);
139 139
@@ -150,8 +150,8 @@ struct GNUNET_NAMESTORE_PluginFunctions
150 * @return #GNUNET_OK on success, #GNUNET_NO if there were no results, #GNUNET_SYSERR on error 150 * @return #GNUNET_OK on success, #GNUNET_NO if there were no results, #GNUNET_SYSERR on error
151 */ 151 */
152 int (*zone_to_name) (void *cls, 152 int (*zone_to_name) (void *cls,
153 const struct GNUNET_CRYPTO_EccPrivateKey *zone, 153 const struct GNUNET_CRYPTO_EcdsaPrivateKey *zone,
154 const struct GNUNET_CRYPTO_EccPublicSignKey *value_zone, 154 const struct GNUNET_CRYPTO_EcdsaPublicKey *value_zone,
155 GNUNET_NAMESTORE_RecordIterator iter, void *iter_cls); 155 GNUNET_NAMESTORE_RecordIterator iter, void *iter_cls);
156 156
157 157
diff --git a/src/include/gnunet_namestore_service.h b/src/include/gnunet_namestore_service.h
index 7e39adc49..c31c3689b 100644
--- a/src/include/gnunet_namestore_service.h
+++ b/src/include/gnunet_namestore_service.h
@@ -239,12 +239,12 @@ struct GNUNET_NAMESTORE_Block
239 /** 239 /**
240 * Signature of the block. 240 * Signature of the block.
241 */ 241 */
242 struct GNUNET_CRYPTO_EccSignature signature; 242 struct GNUNET_CRYPTO_EcdsaSignature signature;
243 243
244 /** 244 /**
245 * Derived key used for signing; hash of this is the query. 245 * Derived key used for signing; hash of this is the query.
246 */ 246 */
247 struct GNUNET_CRYPTO_EccPublicSignKey derived_key; 247 struct GNUNET_CRYPTO_EcdsaPublicKey derived_key;
248 248
249 /** 249 /**
250 * Number of bytes signed; also specifies the number of bytes 250 * Number of bytes signed; also specifies the number of bytes
@@ -297,7 +297,7 @@ GNUNET_NAMESTORE_block_cache (struct GNUNET_NAMESTORE_Handle *h,
297 */ 297 */
298struct GNUNET_NAMESTORE_QueueEntry * 298struct GNUNET_NAMESTORE_QueueEntry *
299GNUNET_NAMESTORE_records_store (struct GNUNET_NAMESTORE_Handle *h, 299GNUNET_NAMESTORE_records_store (struct GNUNET_NAMESTORE_Handle *h,
300 const struct GNUNET_CRYPTO_EccPrivateKey *pkey, 300 const struct GNUNET_CRYPTO_EcdsaPrivateKey *pkey,
301 const char *label, 301 const char *label,
302 unsigned int rd_count, 302 unsigned int rd_count,
303 const struct GNUNET_NAMESTORE_RecordData *rd, 303 const struct GNUNET_NAMESTORE_RecordData *rd,
@@ -343,7 +343,7 @@ GNUNET_NAMESTORE_lookup_block (struct GNUNET_NAMESTORE_Handle *h,
343 * @param rd array of records with data to store 343 * @param rd array of records with data to store
344 */ 344 */
345typedef void (*GNUNET_NAMESTORE_RecordMonitor) (void *cls, 345typedef void (*GNUNET_NAMESTORE_RecordMonitor) (void *cls,
346 const struct GNUNET_CRYPTO_EccPrivateKey *zone, 346 const struct GNUNET_CRYPTO_EcdsaPrivateKey *zone,
347 const char *label, 347 const char *label,
348 unsigned int rd_count, 348 unsigned int rd_count,
349 const struct GNUNET_NAMESTORE_RecordData *rd); 349 const struct GNUNET_NAMESTORE_RecordData *rd);
@@ -364,8 +364,8 @@ typedef void (*GNUNET_NAMESTORE_RecordMonitor) (void *cls,
364 */ 364 */
365struct GNUNET_NAMESTORE_QueueEntry * 365struct GNUNET_NAMESTORE_QueueEntry *
366GNUNET_NAMESTORE_zone_to_name (struct GNUNET_NAMESTORE_Handle *h, 366GNUNET_NAMESTORE_zone_to_name (struct GNUNET_NAMESTORE_Handle *h,
367 const struct GNUNET_CRYPTO_EccPrivateKey *zone, 367 const struct GNUNET_CRYPTO_EcdsaPrivateKey *zone,
368 const struct GNUNET_CRYPTO_EccPublicSignKey *value_zone, 368 const struct GNUNET_CRYPTO_EcdsaPublicKey *value_zone,
369 GNUNET_NAMESTORE_RecordMonitor proc, void *proc_cls); 369 GNUNET_NAMESTORE_RecordMonitor proc, void *proc_cls);
370 370
371 371
@@ -411,7 +411,7 @@ GNUNET_NAMESTORE_cancel (struct GNUNET_NAMESTORE_QueueEntry *qe);
411 */ 411 */
412struct GNUNET_NAMESTORE_ZoneIterator * 412struct GNUNET_NAMESTORE_ZoneIterator *
413GNUNET_NAMESTORE_zone_iteration_start (struct GNUNET_NAMESTORE_Handle *h, 413GNUNET_NAMESTORE_zone_iteration_start (struct GNUNET_NAMESTORE_Handle *h,
414 const struct GNUNET_CRYPTO_EccPrivateKey *zone, 414 const struct GNUNET_CRYPTO_EcdsaPrivateKey *zone,
415 GNUNET_NAMESTORE_RecordMonitor proc, 415 GNUNET_NAMESTORE_RecordMonitor proc,
416 void *proc_cls); 416 void *proc_cls);
417 417
@@ -471,7 +471,7 @@ typedef void (*GNUNET_NAMESTORE_RecordsSynchronizedCallback)(void *cls);
471 */ 471 */
472struct GNUNET_NAMESTORE_ZoneMonitor * 472struct GNUNET_NAMESTORE_ZoneMonitor *
473GNUNET_NAMESTORE_zone_monitor_start (const struct GNUNET_CONFIGURATION_Handle *cfg, 473GNUNET_NAMESTORE_zone_monitor_start (const struct GNUNET_CONFIGURATION_Handle *cfg,
474 const struct GNUNET_CRYPTO_EccPrivateKey *zone, 474 const struct GNUNET_CRYPTO_EcdsaPrivateKey *zone,
475 GNUNET_NAMESTORE_RecordMonitor monitor, 475 GNUNET_NAMESTORE_RecordMonitor monitor,
476 GNUNET_NAMESTORE_RecordsSynchronizedCallback sync_cb, 476 GNUNET_NAMESTORE_RecordsSynchronizedCallback sync_cb,
477 void *cls); 477 void *cls);
@@ -614,7 +614,7 @@ GNUNET_NAMESTORE_normalize_string (const char *src);
614 * @return string form; will be overwritten by next call to #GNUNET_NAMESTORE_z2s. 614 * @return string form; will be overwritten by next call to #GNUNET_NAMESTORE_z2s.
615 */ 615 */
616const char * 616const char *
617GNUNET_NAMESTORE_z2s (const struct GNUNET_CRYPTO_EccPublicSignKey *z); 617GNUNET_NAMESTORE_z2s (const struct GNUNET_CRYPTO_EcdsaPublicKey *z);
618 618
619 619
620/** 620/**
@@ -628,7 +628,7 @@ GNUNET_NAMESTORE_z2s (const struct GNUNET_CRYPTO_EccPublicSignKey *z);
628 * key in an encoding suitable for DNS labels. 628 * key in an encoding suitable for DNS labels.
629 */ 629 */
630const char * 630const char *
631GNUNET_NAMESTORE_pkey_to_zkey (const struct GNUNET_CRYPTO_EccPublicSignKey *pkey); 631GNUNET_NAMESTORE_pkey_to_zkey (const struct GNUNET_CRYPTO_EcdsaPublicKey *pkey);
632 632
633 633
634/** 634/**
@@ -642,7 +642,7 @@ GNUNET_NAMESTORE_pkey_to_zkey (const struct GNUNET_CRYPTO_EccPublicSignKey *pkey
642 */ 642 */
643int 643int
644GNUNET_NAMESTORE_zkey_to_pkey (const char *zkey, 644GNUNET_NAMESTORE_zkey_to_pkey (const char *zkey,
645 struct GNUNET_CRYPTO_EccPublicSignKey *pkey); 645 struct GNUNET_CRYPTO_EcdsaPublicKey *pkey);
646 646
647 647
648/** 648/**
@@ -653,7 +653,7 @@ GNUNET_NAMESTORE_zkey_to_pkey (const char *zkey,
653 * @param query hash to use for the query 653 * @param query hash to use for the query
654 */ 654 */
655void 655void
656GNUNET_NAMESTORE_query_from_private_key (const struct GNUNET_CRYPTO_EccPrivateKey *zone, 656GNUNET_NAMESTORE_query_from_private_key (const struct GNUNET_CRYPTO_EcdsaPrivateKey *zone,
657 const char *label, 657 const char *label,
658 struct GNUNET_HashCode *query); 658 struct GNUNET_HashCode *query);
659 659
@@ -666,7 +666,7 @@ GNUNET_NAMESTORE_query_from_private_key (const struct GNUNET_CRYPTO_EccPrivateKe
666 * @param query hash to use for the query 666 * @param query hash to use for the query
667 */ 667 */
668void 668void
669GNUNET_NAMESTORE_query_from_public_key (const struct GNUNET_CRYPTO_EccPublicSignKey *pub, 669GNUNET_NAMESTORE_query_from_public_key (const struct GNUNET_CRYPTO_EcdsaPublicKey *pub,
670 const char *label, 670 const char *label,
671 struct GNUNET_HashCode *query); 671 struct GNUNET_HashCode *query);
672 672
@@ -681,7 +681,7 @@ GNUNET_NAMESTORE_query_from_public_key (const struct GNUNET_CRYPTO_EccPublicSign
681 * @param rd_count number of records in @a rd 681 * @param rd_count number of records in @a rd
682 */ 682 */
683struct GNUNET_NAMESTORE_Block * 683struct GNUNET_NAMESTORE_Block *
684GNUNET_NAMESTORE_block_create (const struct GNUNET_CRYPTO_EccPrivateKey *key, 684GNUNET_NAMESTORE_block_create (const struct GNUNET_CRYPTO_EcdsaPrivateKey *key,
685 struct GNUNET_TIME_Absolute expire, 685 struct GNUNET_TIME_Absolute expire,
686 const char *label, 686 const char *label,
687 const struct GNUNET_NAMESTORE_RecordData *rd, 687 const struct GNUNET_NAMESTORE_RecordData *rd,
@@ -712,7 +712,7 @@ GNUNET_NAMESTORE_block_verify (const struct GNUNET_NAMESTORE_Block *block);
712 */ 712 */
713int 713int
714GNUNET_NAMESTORE_block_decrypt (const struct GNUNET_NAMESTORE_Block *block, 714GNUNET_NAMESTORE_block_decrypt (const struct GNUNET_NAMESTORE_Block *block,
715 const struct GNUNET_CRYPTO_EccPublicSignKey *zone_key, 715 const struct GNUNET_CRYPTO_EcdsaPublicKey *zone_key,
716 const char *label, 716 const char *label,
717 GNUNET_NAMESTORE_RecordCallback proc, 717 GNUNET_NAMESTORE_RecordCallback proc,
718 void *proc_cls); 718 void *proc_cls);
diff --git a/src/include/gnunet_psyc_service.h b/src/include/gnunet_psyc_service.h
index e9f935de7..7ac40a4c5 100644
--- a/src/include/gnunet_psyc_service.h
+++ b/src/include/gnunet_psyc_service.h
@@ -210,7 +210,7 @@ struct GNUNET_PSYC_MessageMethod
210 * Sending slave's public key. NULL if the message is from the master, or when 210 * Sending slave's public key. NULL if the message is from the master, or when
211 * transmitting a message. 211 * transmitting a message.
212 */ 212 */
213 struct GNUNET_CRYPTO_EccPublicSignKey slave_key; 213 struct GNUNET_CRYPTO_EddsaPublicKey slave_key;
214 214
215 /* Followed by NUL-terminated method name. */ 215 /* Followed by NUL-terminated method name. */
216}; 216};
@@ -305,7 +305,7 @@ struct GNUNET_PSYC_JoinHandle;
305 */ 305 */
306typedef int 306typedef int
307(*GNUNET_PSYC_Method) (void *cls, 307(*GNUNET_PSYC_Method) (void *cls,
308 const struct GNUNET_CRYPTO_EccPublicSignKey *slave_key, 308 const struct GNUNET_CRYPTO_EddsaPublicKey *slave_key,
309 uint64_t message_id, 309 uint64_t message_id,
310 const char *method_name, 310 const char *method_name,
311 size_t modifier_count, 311 size_t modifier_count,
@@ -331,7 +331,7 @@ typedef int
331 */ 331 */
332typedef int 332typedef int
333(*GNUNET_PSYC_JoinCallback) (void *cls, 333(*GNUNET_PSYC_JoinCallback) (void *cls,
334 const struct GNUNET_CRYPTO_EccPublicSignKey 334 const struct GNUNET_CRYPTO_EddsaPublicKey
335 *slave_key, 335 *slave_key,
336 const char *method_name, 336 const char *method_name,
337 size_t variable_count, 337 size_t variable_count,
@@ -421,7 +421,7 @@ typedef void
421 */ 421 */
422struct GNUNET_PSYC_Master * 422struct GNUNET_PSYC_Master *
423GNUNET_PSYC_master_start (const struct GNUNET_CONFIGURATION_Handle *cfg, 423GNUNET_PSYC_master_start (const struct GNUNET_CONFIGURATION_Handle *cfg,
424 const struct GNUNET_CRYPTO_EccPrivateKey *channel_key, 424 const struct GNUNET_CRYPTO_EddsaPrivateKey *channel_key,
425 enum GNUNET_PSYC_Policy policy, 425 enum GNUNET_PSYC_Policy policy,
426 GNUNET_PSYC_Method method, 426 GNUNET_PSYC_Method method,
427 GNUNET_PSYC_JoinCallback join_cb, 427 GNUNET_PSYC_JoinCallback join_cb,
@@ -579,8 +579,8 @@ typedef void
579 */ 579 */
580struct GNUNET_PSYC_Slave * 580struct GNUNET_PSYC_Slave *
581GNUNET_PSYC_slave_join (const struct GNUNET_CONFIGURATION_Handle *cfg, 581GNUNET_PSYC_slave_join (const struct GNUNET_CONFIGURATION_Handle *cfg,
582 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 582 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
583 const struct GNUNET_CRYPTO_EccPrivateKey *slave_key, 583 const struct GNUNET_CRYPTO_EddsaPrivateKey *slave_key,
584 const struct GNUNET_PeerIdentity *origin, 584 const struct GNUNET_PeerIdentity *origin,
585 size_t relay_count, 585 size_t relay_count,
586 const struct GNUNET_PeerIdentity *relays, 586 const struct GNUNET_PeerIdentity *relays,
@@ -732,7 +732,7 @@ GNUNET_PSYC_slave_get_channel (struct GNUNET_PSYC_Slave *slave);
732 */ 732 */
733void 733void
734GNUNET_PSYC_channel_slave_add (struct GNUNET_PSYC_Channel *channel, 734GNUNET_PSYC_channel_slave_add (struct GNUNET_PSYC_Channel *channel,
735 const struct GNUNET_CRYPTO_EccPublicSignKey 735 const struct GNUNET_CRYPTO_EddsaPublicKey
736 *slave_key, 736 *slave_key,
737 uint64_t announced_at, 737 uint64_t announced_at,
738 uint64_t effective_since); 738 uint64_t effective_since);
@@ -761,7 +761,7 @@ GNUNET_PSYC_channel_slave_add (struct GNUNET_PSYC_Channel *channel,
761 */ 761 */
762void 762void
763GNUNET_PSYC_channel_slave_remove (struct GNUNET_PSYC_Channel *channel, 763GNUNET_PSYC_channel_slave_remove (struct GNUNET_PSYC_Channel *channel,
764 const struct GNUNET_CRYPTO_EccPublicSignKey 764 const struct GNUNET_CRYPTO_EddsaPublicKey
765 *slave_key, 765 *slave_key,
766 uint64_t announced_at); 766 uint64_t announced_at);
767 767
diff --git a/src/include/gnunet_psycstore_plugin.h b/src/include/gnunet_psycstore_plugin.h
index 8f8668043..7564ed4bd 100644
--- a/src/include/gnunet_psycstore_plugin.h
+++ b/src/include/gnunet_psycstore_plugin.h
@@ -59,8 +59,8 @@ struct GNUNET_PSYCSTORE_PluginFunctions
59 */ 59 */
60 int 60 int
61 (*membership_store) (void *cls, 61 (*membership_store) (void *cls,
62 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 62 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
63 const struct GNUNET_CRYPTO_EccPublicSignKey *slave_key, 63 const struct GNUNET_CRYPTO_EddsaPublicKey *slave_key,
64 int did_join, 64 int did_join,
65 uint64_t announced_at, 65 uint64_t announced_at,
66 uint64_t effective_since, 66 uint64_t effective_since,
@@ -76,8 +76,8 @@ struct GNUNET_PSYCSTORE_PluginFunctions
76 */ 76 */
77 int 77 int
78 (*membership_test) (void *cls, 78 (*membership_test) (void *cls,
79 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 79 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
80 const struct GNUNET_CRYPTO_EccPublicSignKey *slave_key, 80 const struct GNUNET_CRYPTO_EddsaPublicKey *slave_key,
81 uint64_t message_id); 81 uint64_t message_id);
82 82
83 /** 83 /**
@@ -89,7 +89,7 @@ struct GNUNET_PSYCSTORE_PluginFunctions
89 */ 89 */
90 int 90 int
91 (*fragment_store) (void *cls, 91 (*fragment_store) (void *cls,
92 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 92 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
93 const struct GNUNET_MULTICAST_MessageHeader *message, 93 const struct GNUNET_MULTICAST_MessageHeader *message,
94 uint32_t psycstore_flags); 94 uint32_t psycstore_flags);
95 95
@@ -107,7 +107,7 @@ struct GNUNET_PSYCSTORE_PluginFunctions
107 */ 107 */
108 int 108 int
109 (*message_add_flags) (void *cls, 109 (*message_add_flags) (void *cls,
110 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 110 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
111 uint64_t message_id, 111 uint64_t message_id,
112 uint64_t psycstore_flags); 112 uint64_t psycstore_flags);
113 113
@@ -120,7 +120,7 @@ struct GNUNET_PSYCSTORE_PluginFunctions
120 */ 120 */
121 int 121 int
122 (*fragment_get) (void *cls, 122 (*fragment_get) (void *cls,
123 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 123 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
124 uint64_t fragment_id, 124 uint64_t fragment_id,
125 GNUNET_PSYCSTORE_FragmentCallback cb, 125 GNUNET_PSYCSTORE_FragmentCallback cb,
126 void *cb_cls); 126 void *cb_cls);
@@ -134,7 +134,7 @@ struct GNUNET_PSYCSTORE_PluginFunctions
134 */ 134 */
135 int 135 int
136 (*message_get) (void *cls, 136 (*message_get) (void *cls,
137 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 137 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
138 uint64_t message_id, 138 uint64_t message_id,
139 uint64_t *returned_fragments, 139 uint64_t *returned_fragments,
140 GNUNET_PSYCSTORE_FragmentCallback cb, 140 GNUNET_PSYCSTORE_FragmentCallback cb,
@@ -150,7 +150,7 @@ struct GNUNET_PSYCSTORE_PluginFunctions
150 */ 150 */
151 int 151 int
152 (*message_get_fragment) (void *cls, 152 (*message_get_fragment) (void *cls,
153 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 153 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
154 uint64_t message_id, 154 uint64_t message_id,
155 uint64_t fragment_offset, 155 uint64_t fragment_offset,
156 GNUNET_PSYCSTORE_FragmentCallback cb, 156 GNUNET_PSYCSTORE_FragmentCallback cb,
@@ -165,7 +165,7 @@ struct GNUNET_PSYCSTORE_PluginFunctions
165 */ 165 */
166 int 166 int
167 (*counters_message_get) (void *cls, 167 (*counters_message_get) (void *cls,
168 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 168 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
169 uint64_t *max_fragment_id, 169 uint64_t *max_fragment_id,
170 uint64_t *max_message_id, 170 uint64_t *max_message_id,
171 uint64_t *max_group_generation); 171 uint64_t *max_group_generation);
@@ -179,7 +179,7 @@ struct GNUNET_PSYCSTORE_PluginFunctions
179 */ 179 */
180 int 180 int
181 (*counters_state_get) (void *cls, 181 (*counters_state_get) (void *cls,
182 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 182 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
183 uint64_t *max_state_message_id); 183 uint64_t *max_state_message_id);
184 184
185 185
@@ -192,7 +192,7 @@ struct GNUNET_PSYCSTORE_PluginFunctions
192 */ 192 */
193 int 193 int
194 (*state_modify_begin) (void *cls, 194 (*state_modify_begin) (void *cls,
195 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 195 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
196 uint64_t message_id, uint64_t state_delta); 196 uint64_t message_id, uint64_t state_delta);
197 197
198 /** 198 /**
@@ -208,7 +208,7 @@ struct GNUNET_PSYCSTORE_PluginFunctions
208 */ 208 */
209 int 209 int
210 (*state_modify_set) (void *cls, 210 (*state_modify_set) (void *cls,
211 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 211 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
212 const char *name, const void *value, size_t value_size); 212 const char *name, const void *value, size_t value_size);
213 213
214 214
@@ -221,7 +221,7 @@ struct GNUNET_PSYCSTORE_PluginFunctions
221 */ 221 */
222 int 222 int
223 (*state_modify_end) (void *cls, 223 (*state_modify_end) (void *cls,
224 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 224 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
225 uint64_t message_id); 225 uint64_t message_id);
226 226
227 227
@@ -234,7 +234,7 @@ struct GNUNET_PSYCSTORE_PluginFunctions
234 */ 234 */
235 int 235 int
236 (*state_sync_begin) (void *cls, 236 (*state_sync_begin) (void *cls,
237 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key); 237 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key);
238 238
239 /** 239 /**
240 * Set the value of a state variable while synchronizing state. 240 * Set the value of a state variable while synchronizing state.
@@ -249,7 +249,7 @@ struct GNUNET_PSYCSTORE_PluginFunctions
249 */ 249 */
250 int 250 int
251 (*state_sync_set) (void *cls, 251 (*state_sync_set) (void *cls,
252 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 252 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
253 const char *name, const void *value, size_t value_size); 253 const char *name, const void *value, size_t value_size);
254 254
255 255
@@ -262,7 +262,7 @@ struct GNUNET_PSYCSTORE_PluginFunctions
262 */ 262 */
263 int 263 int
264 (*state_sync_end) (void *cls, 264 (*state_sync_end) (void *cls,
265 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 265 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
266 uint64_t message_id); 266 uint64_t message_id);
267 267
268 268
@@ -277,7 +277,7 @@ struct GNUNET_PSYCSTORE_PluginFunctions
277 */ 277 */
278 int 278 int
279 (*state_reset) (void *cls, 279 (*state_reset) (void *cls,
280 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key); 280 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key);
281 281
282 /** 282 /**
283 * Update signed state values from the current ones. 283 * Update signed state values from the current ones.
@@ -286,7 +286,7 @@ struct GNUNET_PSYCSTORE_PluginFunctions
286 */ 286 */
287 int 287 int
288 (*state_update_signed) (void *cls, 288 (*state_update_signed) (void *cls,
289 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key); 289 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key);
290 290
291 291
292 /** 292 /**
@@ -296,7 +296,7 @@ struct GNUNET_PSYCSTORE_PluginFunctions
296 */ 296 */
297 int 297 int
298 (*state_get) (void *cls, 298 (*state_get) (void *cls,
299 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 299 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
300 const char *name, 300 const char *name,
301 GNUNET_PSYCSTORE_StateCallback cb, 301 GNUNET_PSYCSTORE_StateCallback cb,
302 void *cb_cls); 302 void *cb_cls);
@@ -310,7 +310,7 @@ struct GNUNET_PSYCSTORE_PluginFunctions
310 */ 310 */
311 int 311 int
312 (*state_get_prefix) (void *cls, 312 (*state_get_prefix) (void *cls,
313 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 313 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
314 const char *name, 314 const char *name,
315 GNUNET_PSYCSTORE_StateCallback cb, 315 GNUNET_PSYCSTORE_StateCallback cb,
316 void *cb_cls); 316 void *cb_cls);
@@ -323,7 +323,7 @@ struct GNUNET_PSYCSTORE_PluginFunctions
323 */ 323 */
324 int 324 int
325 (*state_get_signed) (void *cls, 325 (*state_get_signed) (void *cls,
326 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 326 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
327 GNUNET_PSYCSTORE_StateCallback cb, 327 GNUNET_PSYCSTORE_StateCallback cb,
328 void *cb_cls); 328 void *cb_cls);
329 329
diff --git a/src/include/gnunet_psycstore_service.h b/src/include/gnunet_psycstore_service.h
index 25d4339a3..5f4a32b7b 100644
--- a/src/include/gnunet_psycstore_service.h
+++ b/src/include/gnunet_psycstore_service.h
@@ -133,8 +133,8 @@ typedef void
133 */ 133 */
134struct GNUNET_PSYCSTORE_OperationHandle * 134struct GNUNET_PSYCSTORE_OperationHandle *
135GNUNET_PSYCSTORE_membership_store (struct GNUNET_PSYCSTORE_Handle *h, 135GNUNET_PSYCSTORE_membership_store (struct GNUNET_PSYCSTORE_Handle *h,
136 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 136 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
137 const struct GNUNET_CRYPTO_EccPublicSignKey *slave_key, 137 const struct GNUNET_CRYPTO_EddsaPublicKey *slave_key,
138 int did_join, 138 int did_join,
139 uint64_t announced_at, 139 uint64_t announced_at,
140 uint64_t effective_since, 140 uint64_t effective_since,
@@ -165,8 +165,8 @@ GNUNET_PSYCSTORE_membership_store (struct GNUNET_PSYCSTORE_Handle *h,
165 */ 165 */
166struct GNUNET_PSYCSTORE_OperationHandle * 166struct GNUNET_PSYCSTORE_OperationHandle *
167GNUNET_PSYCSTORE_membership_test (struct GNUNET_PSYCSTORE_Handle *h, 167GNUNET_PSYCSTORE_membership_test (struct GNUNET_PSYCSTORE_Handle *h,
168 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 168 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
169 const struct GNUNET_CRYPTO_EccPublicSignKey *slave_key, 169 const struct GNUNET_CRYPTO_EddsaPublicKey *slave_key,
170 uint64_t message_id, 170 uint64_t message_id,
171 uint64_t group_generation, 171 uint64_t group_generation,
172 GNUNET_PSYCSTORE_ResultCallback rcb, 172 GNUNET_PSYCSTORE_ResultCallback rcb,
@@ -188,7 +188,7 @@ GNUNET_PSYCSTORE_membership_test (struct GNUNET_PSYCSTORE_Handle *h,
188 */ 188 */
189struct GNUNET_PSYCSTORE_OperationHandle * 189struct GNUNET_PSYCSTORE_OperationHandle *
190GNUNET_PSYCSTORE_fragment_store (struct GNUNET_PSYCSTORE_Handle *h, 190GNUNET_PSYCSTORE_fragment_store (struct GNUNET_PSYCSTORE_Handle *h,
191 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 191 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
192 const struct GNUNET_MULTICAST_MessageHeader *message, 192 const struct GNUNET_MULTICAST_MessageHeader *message,
193 uint32_t psycstore_flags, 193 uint32_t psycstore_flags,
194 GNUNET_PSYCSTORE_ResultCallback rcb, 194 GNUNET_PSYCSTORE_ResultCallback rcb,
@@ -227,7 +227,7 @@ typedef int
227 */ 227 */
228struct GNUNET_PSYCSTORE_OperationHandle * 228struct GNUNET_PSYCSTORE_OperationHandle *
229GNUNET_PSYCSTORE_fragment_get (struct GNUNET_PSYCSTORE_Handle *h, 229GNUNET_PSYCSTORE_fragment_get (struct GNUNET_PSYCSTORE_Handle *h,
230 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 230 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
231 uint64_t fragment_id, 231 uint64_t fragment_id,
232 GNUNET_PSYCSTORE_FragmentCallback fcb, 232 GNUNET_PSYCSTORE_FragmentCallback fcb,
233 GNUNET_PSYCSTORE_ResultCallback rcb, 233 GNUNET_PSYCSTORE_ResultCallback rcb,
@@ -248,7 +248,7 @@ GNUNET_PSYCSTORE_fragment_get (struct GNUNET_PSYCSTORE_Handle *h,
248 */ 248 */
249struct GNUNET_PSYCSTORE_OperationHandle * 249struct GNUNET_PSYCSTORE_OperationHandle *
250GNUNET_PSYCSTORE_message_get (struct GNUNET_PSYCSTORE_Handle *h, 250GNUNET_PSYCSTORE_message_get (struct GNUNET_PSYCSTORE_Handle *h,
251 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 251 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
252 uint64_t message_id, 252 uint64_t message_id,
253 GNUNET_PSYCSTORE_FragmentCallback fcb, 253 GNUNET_PSYCSTORE_FragmentCallback fcb,
254 GNUNET_PSYCSTORE_ResultCallback rcb, 254 GNUNET_PSYCSTORE_ResultCallback rcb,
@@ -271,7 +271,7 @@ GNUNET_PSYCSTORE_message_get (struct GNUNET_PSYCSTORE_Handle *h,
271 */ 271 */
272struct GNUNET_PSYCSTORE_OperationHandle * 272struct GNUNET_PSYCSTORE_OperationHandle *
273GNUNET_PSYCSTORE_message_get_fragment (struct GNUNET_PSYCSTORE_Handle *h, 273GNUNET_PSYCSTORE_message_get_fragment (struct GNUNET_PSYCSTORE_Handle *h,
274 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 274 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
275 uint64_t message_id, 275 uint64_t message_id,
276 uint64_t fragment_offset, 276 uint64_t fragment_offset,
277 GNUNET_PSYCSTORE_FragmentCallback fcb, 277 GNUNET_PSYCSTORE_FragmentCallback fcb,
@@ -316,7 +316,7 @@ typedef void
316 */ 316 */
317struct GNUNET_PSYCSTORE_OperationHandle * 317struct GNUNET_PSYCSTORE_OperationHandle *
318GNUNET_PSYCSTORE_counters_get (struct GNUNET_PSYCSTORE_Handle *h, 318GNUNET_PSYCSTORE_counters_get (struct GNUNET_PSYCSTORE_Handle *h,
319 struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 319 struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
320 GNUNET_PSYCSTORE_CountersCallback ccb, 320 GNUNET_PSYCSTORE_CountersCallback ccb,
321 void *ccb_cls); 321 void *ccb_cls);
322 322
@@ -340,7 +340,7 @@ GNUNET_PSYCSTORE_counters_get (struct GNUNET_PSYCSTORE_Handle *h,
340 */ 340 */
341struct GNUNET_PSYCSTORE_OperationHandle * 341struct GNUNET_PSYCSTORE_OperationHandle *
342GNUNET_PSYCSTORE_state_modify (struct GNUNET_PSYCSTORE_Handle *h, 342GNUNET_PSYCSTORE_state_modify (struct GNUNET_PSYCSTORE_Handle *h,
343 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 343 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
344 uint64_t message_id, 344 uint64_t message_id,
345 uint64_t state_delta, 345 uint64_t state_delta,
346 size_t modifier_count, 346 size_t modifier_count,
@@ -364,7 +364,7 @@ GNUNET_PSYCSTORE_state_modify (struct GNUNET_PSYCSTORE_Handle *h,
364 */ 364 */
365struct GNUNET_PSYCSTORE_OperationHandle * 365struct GNUNET_PSYCSTORE_OperationHandle *
366GNUNET_PSYCSTORE_state_sync (struct GNUNET_PSYCSTORE_Handle *h, 366GNUNET_PSYCSTORE_state_sync (struct GNUNET_PSYCSTORE_Handle *h,
367 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 367 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
368 uint64_t message_id, 368 uint64_t message_id,
369 size_t modifier_count, 369 size_t modifier_count,
370 const struct GNUNET_ENV_Modifier *modifiers, 370 const struct GNUNET_ENV_Modifier *modifiers,
@@ -387,7 +387,7 @@ GNUNET_PSYCSTORE_state_sync (struct GNUNET_PSYCSTORE_Handle *h,
387 */ 387 */
388struct GNUNET_PSYCSTORE_OperationHandle * 388struct GNUNET_PSYCSTORE_OperationHandle *
389GNUNET_PSYCSTORE_state_reset (struct GNUNET_PSYCSTORE_Handle *h, 389GNUNET_PSYCSTORE_state_reset (struct GNUNET_PSYCSTORE_Handle *h,
390 const struct GNUNET_CRYPTO_EccPublicSignKey 390 const struct GNUNET_CRYPTO_EddsaPublicKey
391 *channel_key, 391 *channel_key,
392 GNUNET_PSYCSTORE_ResultCallback rcb, 392 GNUNET_PSYCSTORE_ResultCallback rcb,
393 void *rcb_cls); 393 void *rcb_cls);
@@ -406,7 +406,7 @@ GNUNET_PSYCSTORE_state_reset (struct GNUNET_PSYCSTORE_Handle *h,
406 */ 406 */
407struct GNUNET_PSYCSTORE_OperationHandle * 407struct GNUNET_PSYCSTORE_OperationHandle *
408GNUNET_PSYCSTORE_state_hash_update (struct GNUNET_PSYCSTORE_Handle *h, 408GNUNET_PSYCSTORE_state_hash_update (struct GNUNET_PSYCSTORE_Handle *h,
409 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 409 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
410 uint64_t message_id, 410 uint64_t message_id,
411 const struct GNUNET_HashCode *hash, 411 const struct GNUNET_HashCode *hash,
412 GNUNET_PSYCSTORE_ResultCallback rcb, 412 GNUNET_PSYCSTORE_ResultCallback rcb,
@@ -444,7 +444,7 @@ typedef int
444 */ 444 */
445struct GNUNET_PSYCSTORE_OperationHandle * 445struct GNUNET_PSYCSTORE_OperationHandle *
446GNUNET_PSYCSTORE_state_get (struct GNUNET_PSYCSTORE_Handle *h, 446GNUNET_PSYCSTORE_state_get (struct GNUNET_PSYCSTORE_Handle *h,
447 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 447 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
448 const char *name, 448 const char *name,
449 GNUNET_PSYCSTORE_StateCallback scb, 449 GNUNET_PSYCSTORE_StateCallback scb,
450 GNUNET_PSYCSTORE_ResultCallback rcb, 450 GNUNET_PSYCSTORE_ResultCallback rcb,
@@ -465,7 +465,7 @@ GNUNET_PSYCSTORE_state_get (struct GNUNET_PSYCSTORE_Handle *h,
465 */ 465 */
466struct GNUNET_PSYCSTORE_OperationHandle * 466struct GNUNET_PSYCSTORE_OperationHandle *
467GNUNET_PSYCSTORE_state_get_prefix (struct GNUNET_PSYCSTORE_Handle *h, 467GNUNET_PSYCSTORE_state_get_prefix (struct GNUNET_PSYCSTORE_Handle *h,
468 const struct GNUNET_CRYPTO_EccPublicSignKey *channel_key, 468 const struct GNUNET_CRYPTO_EddsaPublicKey *channel_key,
469 const char *name_prefix, 469 const char *name_prefix,
470 GNUNET_PSYCSTORE_StateCallback scb, 470 GNUNET_PSYCSTORE_StateCallback scb,
471 GNUNET_PSYCSTORE_ResultCallback rcb, 471 GNUNET_PSYCSTORE_ResultCallback rcb,
diff --git a/src/include/gnunet_revocation_service.h b/src/include/gnunet_revocation_service.h
index 8809f9ece..82decc30b 100644
--- a/src/include/gnunet_revocation_service.h
+++ b/src/include/gnunet_revocation_service.h
@@ -73,7 +73,7 @@ typedef void (*GNUNET_REVOCATION_Callback) (void *cls,
73 */ 73 */
74struct GNUNET_REVOCATION_Query * 74struct GNUNET_REVOCATION_Query *
75GNUNET_REVOCATION_query (const struct GNUNET_CONFIGURATION_Handle *cfg, 75GNUNET_REVOCATION_query (const struct GNUNET_CONFIGURATION_Handle *cfg,
76 const struct GNUNET_CRYPTO_EccPublicSignKey *key, 76 const struct GNUNET_CRYPTO_EcdsaPublicKey *key,
77 GNUNET_REVOCATION_Callback func, void *func_cls); 77 GNUNET_REVOCATION_Callback func, void *func_cls);
78 78
79 79
@@ -109,8 +109,8 @@ struct GNUNET_REVOCATION_Handle;
109 */ 109 */
110struct GNUNET_REVOCATION_Handle * 110struct GNUNET_REVOCATION_Handle *
111GNUNET_REVOCATION_revoke (const struct GNUNET_CONFIGURATION_Handle *cfg, 111GNUNET_REVOCATION_revoke (const struct GNUNET_CONFIGURATION_Handle *cfg,
112 const struct GNUNET_CRYPTO_EccPublicSignKey *key, 112 const struct GNUNET_CRYPTO_EcdsaPublicKey *key,
113 const struct GNUNET_CRYPTO_EccSignature *sig, 113 const struct GNUNET_CRYPTO_EcdsaSignature *sig,
114 uint64_t pow, 114 uint64_t pow,
115 GNUNET_REVOCATION_Callback func, void *func_cls); 115 GNUNET_REVOCATION_Callback func, void *func_cls);
116 116
@@ -134,7 +134,7 @@ GNUNET_REVOCATION_revoke_cancel (struct GNUNET_REVOCATION_Handle *h);
134 * @return #GNUNET_YES if the @a pow is acceptable, #GNUNET_NO if not 134 * @return #GNUNET_YES if the @a pow is acceptable, #GNUNET_NO if not
135 */ 135 */
136int 136int
137GNUNET_REVOCATION_check_pow (const struct GNUNET_CRYPTO_EccPublicSignKey *key, 137GNUNET_REVOCATION_check_pow (const struct GNUNET_CRYPTO_EcdsaPublicKey *key,
138 uint64_t pow, 138 uint64_t pow,
139 unsigned int matching_bits); 139 unsigned int matching_bits);
140 140
@@ -146,8 +146,8 @@ GNUNET_REVOCATION_check_pow (const struct GNUNET_CRYPTO_EccPublicSignKey *key,
146 * @param sig where to write the revocation signature 146 * @param sig where to write the revocation signature
147 */ 147 */
148void 148void
149GNUNET_REVOCATION_sign_revocation (const struct GNUNET_CRYPTO_EccPrivateKey *key, 149GNUNET_REVOCATION_sign_revocation (const struct GNUNET_CRYPTO_EcdsaPrivateKey *key,
150 struct GNUNET_CRYPTO_EccSignature *sig); 150 struct GNUNET_CRYPTO_EcdsaSignature *sig);
151 151
152 152
153#if 0 /* keep Emacsens' auto-indent happy */ 153#if 0 /* keep Emacsens' auto-indent happy */
diff --git a/src/include/gnunet_testing_lib.h b/src/include/gnunet_testing_lib.h
index 910662d3f..1f27347eb 100644
--- a/src/include/gnunet_testing_lib.h
+++ b/src/include/gnunet_testing_lib.h
@@ -48,7 +48,7 @@ extern "C"
48/** 48/**
49 * Size of each hostkey in the hostkey file (in BYTES). 49 * Size of each hostkey in the hostkey file (in BYTES).
50 */ 50 */
51#define GNUNET_TESTING_HOSTKEYFILESIZE sizeof (struct GNUNET_CRYPTO_EccPrivateKey) 51#define GNUNET_TESTING_HOSTKEYFILESIZE sizeof (struct GNUNET_CRYPTO_EddsaPrivateKey)
52 52
53/** 53/**
54 * The environmental variable, if set, that dictates where testing should place 54 * The environmental variable, if set, that dictates where testing should place
@@ -185,7 +185,7 @@ GNUNET_TESTING_system_destroy (struct GNUNET_TESTING_System *system,
185 * key; if NULL, GNUNET_SYSERR is returned immediately 185 * key; if NULL, GNUNET_SYSERR is returned immediately
186 * @return NULL on error (not enough keys) 186 * @return NULL on error (not enough keys)
187 */ 187 */
188struct GNUNET_CRYPTO_EccPrivateKey * 188struct GNUNET_CRYPTO_EddsaPrivateKey *
189GNUNET_TESTING_hostkey_get (const struct GNUNET_TESTING_System *system, 189GNUNET_TESTING_hostkey_get (const struct GNUNET_TESTING_System *system,
190 uint32_t key_number, 190 uint32_t key_number,
191 struct GNUNET_PeerIdentity *id); 191 struct GNUNET_PeerIdentity *id);