GNUnet  0.20.0
gnunet-service-scalarproduct-ecc.h
Go to the documentation of this file.
1 /*
2  This file is part of GNUnet.
3  Copyright (C) 2015 GNUnet e.V.
4 
5  GNUnet is free software: you can redistribute it and/or modify it
6  under the terms of the GNU Affero General Public License as published
7  by the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  GNUnet is distributed in the hope that it will be useful, but
11  WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  Affero General Public License for more details.
14 
15  You should have received a copy of the GNU Affero General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17 
18  SPDX-License-Identifier: AGPL3.0-or-later
19  */
26 #ifndef GNUNET_SERVICE_SCALARPRODUCT_ECC_H
27 #define GNUNET_SERVICE_SCALARPRODUCT_ECC_H
28 
29 
31 
41 {
46 
50  uint32_t reserved;
51 
56 };
57 
58 
65 {
70 
75 
79 };
80 
81 
90 {
96 
102 
107 
112 };
113 
114 
116 
117 
118 #endif
#define GNUNET_NETWORK_STRUCT_BEGIN
Define as empty, GNUNET_PACKED should suffice, but this won't work on W32.
#define GNUNET_NETWORK_STRUCT_END
Define as empty, GNUNET_PACKED should suffice, but this won't work on W32;.
#define GNUNET_PACKED
gcc-ism to get packed structs.
Vector of ECC-encrypted values sent by Alice to Bob (after set intersection).
struct GNUNET_MessageHeader header
Type is GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ECC_ALICE_CRYPTODATA.
uint32_t contained_element_count
How many elements we appended to this message? In NBO.
Message type passed from responding service Bob to responding service Alice to complete a request and...
struct GNUNET_CRYPTO_EccPoint prod_g_i_b_i
The product of the g_i^{b_i} values.
uint32_t contained_element_count
How many elements this individual message delivers (in NBO), always TWO.
struct GNUNET_MessageHeader header
GNUNET message header with type GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ECC_BOB_CRYPTODATA.
struct GNUNET_CRYPTO_EccPoint prod_h_i_b_i
The product of the h_i^{b_i} values.
Message type passed from requesting service Alice to responding service Bob to initiate a request and...
struct GNUNET_HashCode session_id
The transaction/session key used to identify a session.
struct GNUNET_MessageHeader header
Type is GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ECC_SESSION_INITIALIZATION.
Point on a curve (always for Curve25519) encoded in a format suitable for network transmission (ECDH)...
A 512-bit hashcode.
Header for all communications.