From 631731a9fd4372553be5b32a67855d17ea57fbae Mon Sep 17 00:00:00 2001 From: Bart Polot Date: Mon, 27 Apr 2015 19:14:55 +0000 Subject: - due to incompatibilities in the representation of the ECC public key for ECDH and EdDSA, peers must provide en explicit ECDH key and sign it with theis EdDSA ID. --- src/cadet/cadet_protocol.h | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'src/cadet/cadet_protocol.h') diff --git a/src/cadet/cadet_protocol.h b/src/cadet/cadet_protocol.h index d866e20d3..ecc31a01d 100644 --- a/src/cadet/cadet_protocol.h +++ b/src/cadet/cadet_protocol.h @@ -122,14 +122,31 @@ struct GNUNET_CADET_AX_KX struct GNUNET_MessageHeader header; /** - * Sender's ephemeral public ECC key (always for NIST P-521) encoded in a + * An EdDSA signature of the permanent ECDH key with the Peer's ID key. + */ + struct GNUNET_CRYPTO_EddsaSignature signature; + + /** + * Information about what is being signed (@a permanent_key). + */ + struct GNUNET_CRYPTO_EccSignaturePurpose purpose; + + /** + * Sender's permanent_key public ECC key encoded in a + * format suitable for network transmission, as created + * using 'gcry_sexp_sprint'. + */ + struct GNUNET_CRYPTO_EcdhePublicKey permanent_key; + + /** + * Sender's ephemeral public ECC key encoded in a * format suitable for network transmission, as created * using 'gcry_sexp_sprint'. */ struct GNUNET_CRYPTO_EcdhePublicKey ephemeral_key; /** - * Sender's next ephemeral public ECC key (always for NIST P-521) encoded in a + * Sender's next ephemeral public ECC key encoded in a * format suitable for network transmission, as created * using 'gcry_sexp_sprint'. */ -- cgit v1.2.3