GNUnet  0.11.x
Data Fields
BobServiceSession Struct Reference

A scalarproduct session which tracks an offer for a multiplication service by a local client. More...

Collaboration diagram for BobServiceSession:
[legend]

Data Fields

struct GNUNET_SERVICE_Clientclient
 The client this request is related to. More...
 
struct GNUNET_MQ_Handleclient_mq
 Client message queue. More...
 
struct GNUNET_CONTAINER_MultiHashMapintersected_elements
 All non-0-value'd elements transmitted to us. More...
 
struct GNUNET_SET_Handleintersection_set
 Set of elements for which we will be conducting an intersection. More...
 
struct GNUNET_SET_OperationHandleintersection_op
 Set of elements for which will conduction an intersection. More...
 
struct GNUNET_CADET_Portport
 Our open port. More...
 
struct MpiElementsorted_elements
 b(Bob) More...
 
gcry_mpi_point_t prod_g_i_b_i
 Product of the g_i^{b_i}. More...
 
gcry_mpi_point_t 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_Channelchannel
 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_Handlecadet_mq
 The message queue for this channel. More...
 
struct GNUNET_CRYPTO_PaillierCiphertexte_a
 E(ai)(Bob) after applying the mask. More...
 
struct GNUNET_CRYPTO_PaillierCiphertextr
 Bob's permutation p of R. More...
 
struct GNUNET_CRYPTO_PaillierCiphertextr_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...
 

Detailed Description

A scalarproduct session which tracks an offer for a multiplication service by a local client.

Definition at line 65 of file gnunet-service-scalarproduct-ecc_bob.c.

Field Documentation

◆ client

struct GNUNET_SERVICE_Client * BobServiceSession::client

◆ client_mq

struct GNUNET_MQ_Handle * BobServiceSession::client_mq

Client message queue.

Definition at line 75 of file gnunet-service-scalarproduct-ecc_bob.c.

Referenced by client_connect_cb(), and prepare_client_end_notification().

◆ intersected_elements

struct GNUNET_CONTAINER_MultiHashMap * BobServiceSession::intersected_elements

◆ intersection_set

struct GNUNET_SET_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 86 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().

◆ intersection_op

struct GNUNET_SET_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 92 of file gnunet-service-scalarproduct-ecc_bob.c.

Referenced by cb_intersection_element_removed(), destroy_service_session(), handle_alices_cryptodata_message(), and start_intersection().

◆ port

struct GNUNET_CADET_Port * BobServiceSession::port

Our open port.

CADET port we are listening on.

Definition at line 97 of file gnunet-service-scalarproduct-ecc_bob.c.

Referenced by cb_channel_incoming(), destroy_service_session(), and handle_bob_client_message().

◆ sorted_elements

struct MpiElement * BobServiceSession::sorted_elements

◆ prod_g_i_b_i

gcry_mpi_point_t BobServiceSession::prod_g_i_b_i

◆ prod_h_i_b_i

gcry_mpi_point_t BobServiceSession::prod_h_i_b_i

◆ total

uint32_t BobServiceSession::total

◆ client_received_element_count

uint32_t BobServiceSession::client_received_element_count

Already transferred elements (received) for multipart messages from client.

Always less than total.

Definition at line 123 of file gnunet-service-scalarproduct-ecc_bob.c.

Referenced by cb_intersection_element_removed(), check_bob_client_message_multipart(), handle_alices_computation_request(), handle_bob_client_message(), and handle_bob_client_message_multipart().

◆ used_element_count

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 130 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().

◆ cadet_received_element_count

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 136 of file gnunet-service-scalarproduct-ecc_bob.c.

Referenced by check_alices_cryptodata_message(), and handle_alices_cryptodata_message().

◆ status

enum GNUNET_SCALARPRODUCT_ResponseStatus BobServiceSession::status

◆ in_destroy

int BobServiceSession::in_destroy

Are we already in destroy_service_session()?

Definition at line 149 of file gnunet-service-scalarproduct-ecc_bob.c.

Referenced by destroy_service_session().

◆ channel

struct GNUNET_CADET_Channel * BobServiceSession::channel

◆ peer

struct GNUNET_PeerIdentity BobServiceSession::peer

Originator's peer identity.

(Only for diagnostics.)

Definition at line 159 of file gnunet-service-scalarproduct-ecc_bob.c.

Referenced by cb_channel_destruction(), cb_channel_incoming(), and start_intersection().

◆ session_id

struct GNUNET_HashCode BobServiceSession::session_id

◆ cadet_mq

struct GNUNET_MQ_Handle * BobServiceSession::cadet_mq

◆ e_a

struct GNUNET_CRYPTO_PaillierCiphertext* BobServiceSession::e_a

E(ai)(Bob) after applying the mask.

Definition at line 112 of file gnunet-service-scalarproduct_bob.c.

Referenced by compute_service_response(), destroy_service_session(), and handle_alices_cryptodata_message().

◆ r

struct GNUNET_CRYPTO_PaillierCiphertext* BobServiceSession::r

◆ r_prime

struct GNUNET_CRYPTO_PaillierCiphertext* BobServiceSession::r_prime

◆ s

struct GNUNET_CRYPTO_PaillierCiphertext BobServiceSession::s

◆ s_prime

struct GNUNET_CRYPTO_PaillierCiphertext BobServiceSession::s_prime

Bob's "s'".

Definition at line 132 of file gnunet-service-scalarproduct_bob.c.

Referenced by compute_service_response(), and transmit_bobs_cryptodata_message().

◆ cadet

struct CadetIncomingSession* BobServiceSession::cadet

Handle for our associated incoming CADET session, or NULL if we have not gotten one yet.

Definition at line 138 of file gnunet-service-scalarproduct_bob.c.

◆ cadet_transmitted_element_count

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 168 of file gnunet-service-scalarproduct_bob.c.

Referenced by transmit_bobs_cryptodata_message(), and transmit_bobs_cryptodata_message_multipart().

◆ remote_pubkey

struct GNUNET_CRYPTO_PaillierPublicKey BobServiceSession::remote_pubkey

Public key of the remote service.

Definition at line 196 of file gnunet-service-scalarproduct_bob.c.

Referenced by compute_service_response(), and handle_alices_computation_request().


The documentation for this struct was generated from the following files: