A scalarproduct session which tracks an offer for a multiplication service by a local client. More...
Data Fields | |
struct GNUNET_SERVICE_Client * | client |
The client this request is related to. More... | |
struct GNUNET_MQ_Handle * | client_mq |
Client message queue. More... | |
struct GNUNET_CONTAINER_MultiHashMap * | intersected_elements |
All non-0-value'd elements transmitted to us. More... | |
struct GNUNET_SETI_Handle * | intersection_set |
Set of elements for which we will be conducting an intersection. More... | |
struct GNUNET_SETI_OperationHandle * | intersection_op |
Set of elements for which will conduction an intersection. More... | |
struct GNUNET_CADET_Port * | port |
Our open port. More... | |
struct MpiElement * | sorted_elements |
b(Bob) More... | |
struct GNUNET_CRYPTO_EccPoint | prod_g_i_b_i |
Product of the g_i^{b_i}. More... | |
struct GNUNET_CRYPTO_EccPoint | prod_h_i_b_i |
Product of the h_i^{b_i}. More... | |
uint32_t | total |
How many elements will be supplied in total from the client. More... | |
uint32_t | client_received_element_count |
Already transferred elements (received) for multipart messages from client. More... | |
uint32_t | used_element_count |
How many elements actually are used for the scalar product. More... | |
uint32_t | cadet_received_element_count |
Counts the number of values received from Alice by us. More... | |
enum GNUNET_SCALARPRODUCT_ResponseStatus | status |
State of this session. More... | |
int | in_destroy |
Are we already in destroy_service_session()? More... | |
struct GNUNET_CADET_Channel * | channel |
The CADET channel. More... | |
struct GNUNET_PeerIdentity | peer |
Originator's peer identity. More... | |
struct GNUNET_HashCode | session_id |
(hopefully) unique transaction ID More... | |
struct GNUNET_MQ_Handle * | cadet_mq |
The message queue for this channel. More... | |
struct GNUNET_CRYPTO_PaillierCiphertext * | e_a |
E(ai)(Bob) after applying the mask. More... | |
struct GNUNET_CRYPTO_PaillierCiphertext * | r |
Bob's permutation p of R. More... | |
struct GNUNET_CRYPTO_PaillierCiphertext * | r_prime |
Bob's permutation q of R. More... | |
struct GNUNET_CRYPTO_PaillierCiphertext | s |
Bob's "s". More... | |
struct GNUNET_CRYPTO_PaillierCiphertext | s_prime |
Bob's "s'". More... | |
struct CadetIncomingSession * | cadet |
Handle for our associated incoming CADET session, or NULL if we have not gotten one yet. More... | |
uint32_t | cadet_transmitted_element_count |
Counts the number of values transmitted from us to Alice. More... | |
struct GNUNET_CRYPTO_PaillierPublicKey | remote_pubkey |
Public key of the remote service. More... | |
A scalarproduct session which tracks an offer for a multiplication service by a local client.
Definition at line 63 of file gnunet-service-scalarproduct-ecc_bob.c.
struct GNUNET_SERVICE_Client * BobServiceSession::client |
The client this request is related to.
Definition at line 68 of file gnunet-service-scalarproduct-ecc_bob.c.
Referenced by client_connect_cb(), destroy_service_session(), handle_bob_client_message(), and handle_bob_client_message_multipart().
struct GNUNET_MQ_Handle * BobServiceSession::client_mq |
Client message queue.
Definition at line 73 of file gnunet-service-scalarproduct-ecc_bob.c.
Referenced by prepare_client_end_notification().
struct GNUNET_CONTAINER_MultiHashMap * BobServiceSession::intersected_elements |
All non-0-value'd elements transmitted to us.
Definition at line 78 of file gnunet-service-scalarproduct-ecc_bob.c.
Referenced by cb_intersection_element_removed(), destroy_service_session(), handle_alices_cryptodata_message(), handle_bob_client_message(), handle_bob_client_message_multipart(), and transmit_cryptographic_reply().
struct GNUNET_SETI_Handle * BobServiceSession::intersection_set |
Set of elements for which we will be conducting an intersection.
The resulting elements are then used for computing the scalar product.
Definition at line 84 of file gnunet-service-scalarproduct-ecc_bob.c.
Referenced by cb_intersection_element_removed(), destroy_service_session(), handle_bob_client_message(), and handle_bob_client_message_multipart().
struct GNUNET_SETI_OperationHandle * BobServiceSession::intersection_op |
Set of elements for which will conduction an intersection.
the resulting elements are then used for computing the scalar product.
Definition at line 90 of file gnunet-service-scalarproduct-ecc_bob.c.
Referenced by cb_intersection_element_removed(), destroy_service_session(), handle_alices_cryptodata_message(), and start_intersection().
struct GNUNET_CADET_Port * BobServiceSession::port |
Our open port.
CADET port we are listening on.
Definition at line 95 of file gnunet-service-scalarproduct-ecc_bob.c.
Referenced by destroy_service_session(), and handle_bob_client_message().
struct MpiElement * BobServiceSession::sorted_elements |
b(Bob)
a(Alice)
Definition at line 100 of file gnunet-service-scalarproduct-ecc_bob.c.
Referenced by compute_service_response(), copy_element_cb(), destroy_service_session(), handle_alices_cryptodata_message(), and transmit_cryptographic_reply().
struct GNUNET_CRYPTO_EccPoint BobServiceSession::prod_g_i_b_i |
Product of the g_i^{b_i}.
Definition at line 105 of file gnunet-service-scalarproduct-ecc_bob.c.
Referenced by handle_alices_cryptodata_message(), and transmit_bobs_cryptodata_message().
struct GNUNET_CRYPTO_EccPoint BobServiceSession::prod_h_i_b_i |
Product of the h_i^{b_i}.
Definition at line 110 of file gnunet-service-scalarproduct-ecc_bob.c.
Referenced by handle_alices_cryptodata_message(), and transmit_bobs_cryptodata_message().
uint32_t BobServiceSession::total |
How many elements will be supplied in total from the client.
Definition at line 115 of file gnunet-service-scalarproduct-ecc_bob.c.
Referenced by handle_bob_client_message(), handle_bob_client_message_multipart(), and start_intersection().
uint32_t BobServiceSession::client_received_element_count |
Already transferred elements (received) for multipart messages from client.
Always less than total.
Definition at line 121 of file gnunet-service-scalarproduct-ecc_bob.c.
Referenced by cb_intersection_element_removed(), handle_bob_client_message(), and handle_bob_client_message_multipart().
uint32_t BobServiceSession::used_element_count |
How many elements actually are used for the scalar product.
Size of the arrays in r and r_prime. Also sometimes used as an index into the arrays during construction.
Definition at line 128 of file gnunet-service-scalarproduct-ecc_bob.c.
Referenced by compute_service_response(), copy_element_cb(), destroy_service_session(), handle_alices_cryptodata_message(), handle_bob_client_message(), transmit_bobs_cryptodata_message(), transmit_bobs_cryptodata_message_multipart(), and transmit_cryptographic_reply().
uint32_t BobServiceSession::cadet_received_element_count |
Counts the number of values received from Alice by us.
Always less than used_element_count.
Definition at line 134 of file gnunet-service-scalarproduct-ecc_bob.c.
Referenced by check_alices_cryptodata_message(), and handle_alices_cryptodata_message().
enum GNUNET_SCALARPRODUCT_ResponseStatus BobServiceSession::status |
State of this session.
In GNUNET_SCALARPRODUCT_STATUS_ACTIVE while operation is ongoing, afterwards in GNUNET_SCALARPRODUCT_STATUS_SUCCESS or GNUNET_SCALARPRODUCT_STATUS_FAILURE.
Definition at line 142 of file gnunet-service-scalarproduct-ecc_bob.c.
Referenced by bob_cadet_done_cb(), cb_intersection_element_removed(), handle_bob_client_message(), and prepare_client_end_notification().
int BobServiceSession::in_destroy |
Are we already in destroy_service_session()?
Definition at line 147 of file gnunet-service-scalarproduct-ecc_bob.c.
Referenced by destroy_service_session().
struct GNUNET_CADET_Channel * BobServiceSession::channel |
The CADET channel.
Definition at line 152 of file gnunet-service-scalarproduct-ecc_bob.c.
Referenced by cb_channel_incoming(), cb_intersection_element_removed(), destroy_service_session(), handle_alices_cryptodata_message(), handle_bob_client_message_multipart(), and transmit_cryptographic_reply().
struct GNUNET_PeerIdentity BobServiceSession::peer |
Originator's peer identity.
(Only for diagnostics.)
Definition at line 157 of file gnunet-service-scalarproduct-ecc_bob.c.
Referenced by start_intersection().
struct GNUNET_HashCode BobServiceSession::session_id |
(hopefully) unique transaction ID
Definition at line 162 of file gnunet-service-scalarproduct-ecc_bob.c.
Referenced by handle_bob_client_message(), prepare_client_end_notification(), and start_intersection().
struct GNUNET_MQ_Handle * BobServiceSession::cadet_mq |
The message queue for this channel.
Definition at line 167 of file gnunet-service-scalarproduct-ecc_bob.c.
Referenced by transmit_bobs_cryptodata_message(), and transmit_bobs_cryptodata_message_multipart().
struct GNUNET_CRYPTO_PaillierCiphertext* BobServiceSession::e_a |
E(ai)(Bob) after applying the mask.
Definition at line 111 of file gnunet-service-scalarproduct_bob.c.
Referenced by compute_service_response(), destroy_service_session(), and handle_alices_cryptodata_message().
struct GNUNET_CRYPTO_PaillierCiphertext* BobServiceSession::r |
Bob's permutation p of R.
Definition at line 116 of file gnunet-service-scalarproduct_bob.c.
Referenced by compute_service_response(), destroy_service_session(), transmit_bobs_cryptodata_message(), and transmit_bobs_cryptodata_message_multipart().
struct GNUNET_CRYPTO_PaillierCiphertext* BobServiceSession::r_prime |
Bob's permutation q of R.
Definition at line 121 of file gnunet-service-scalarproduct_bob.c.
Referenced by compute_service_response(), destroy_service_session(), transmit_bobs_cryptodata_message(), and transmit_bobs_cryptodata_message_multipart().
struct GNUNET_CRYPTO_PaillierCiphertext BobServiceSession::s |
Bob's "s".
Definition at line 126 of file gnunet-service-scalarproduct_bob.c.
Referenced by cb_channel_destruction(), cb_channel_incoming(), cb_intersection_element_removed(), check_alices_cryptodata_message(), check_bob_client_message(), check_bob_client_message_multipart(), client_connect_cb(), client_disconnect_cb(), compute_service_response(), copy_element_cb(), handle_alices_computation_request(), handle_alices_cryptodata_message(), handle_bob_client_message(), handle_bob_client_message_multipart(), and transmit_bobs_cryptodata_message().
struct GNUNET_CRYPTO_PaillierCiphertext BobServiceSession::s_prime |
Bob's "s'".
Definition at line 131 of file gnunet-service-scalarproduct_bob.c.
Referenced by compute_service_response(), and transmit_bobs_cryptodata_message().
struct CadetIncomingSession* BobServiceSession::cadet |
Handle for our associated incoming CADET session, or NULL if we have not gotten one yet.
Definition at line 137 of file gnunet-service-scalarproduct_bob.c.
uint32_t BobServiceSession::cadet_transmitted_element_count |
Counts the number of values transmitted from us to Alice.
Always less than used_element_count.
Definition at line 167 of file gnunet-service-scalarproduct_bob.c.
Referenced by transmit_bobs_cryptodata_message(), and transmit_bobs_cryptodata_message_multipart().
struct GNUNET_CRYPTO_PaillierPublicKey BobServiceSession::remote_pubkey |
Public key of the remote service.
Definition at line 195 of file gnunet-service-scalarproduct_bob.c.
Referenced by compute_service_response().