GNUnet 0.24.4-talerdev.1-15-g77b7ed1a6
 
Loading...
Searching...
No Matches
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.
 
struct GNUNET_MQ_Handleclient_mq
 Client message queue.
 
struct GNUNET_CONTAINER_MultiHashMapintersected_elements
 All non-0-value'd elements transmitted to us.
 
struct GNUNET_SETI_Handleintersection_set
 Set of elements for which we will be conducting an intersection.
 
struct GNUNET_SETI_OperationHandleintersection_op
 Set of elements for which will conduction an intersection.
 
struct GNUNET_CADET_Portport
 Our open port.
 
struct MpiElementsorted_elements
 b(Bob)
 
struct GNUNET_CRYPTO_EccPoint prod_g_i_b_i
 Product of the g_i^{b_i}.
 
struct GNUNET_CRYPTO_EccPoint prod_h_i_b_i
 Product of the h_i^{b_i}.
 
uint32_t total
 How many elements will be supplied in total from the client.
 
uint32_t client_received_element_count
 Already transferred elements (received) for multipart messages from client.
 
uint32_t used_element_count
 How many elements actually are used for the scalar product.
 
uint32_t cadet_received_element_count
 Counts the number of values received from Alice by us.
 
enum GNUNET_SCALARPRODUCT_ResponseStatus status
 State of this session.
 
int in_destroy
 Are we already in destroy_service_session()?
 
struct GNUNET_CADET_Channelchannel
 The CADET channel.
 
struct GNUNET_PeerIdentity peer
 Originator's peer identity.
 
struct GNUNET_HashCode session_id
 (hopefully) unique transaction ID
 
struct GNUNET_MQ_Handlecadet_mq
 The message queue for this channel.
 
struct GNUNET_CRYPTO_PaillierCiphertexte_a
 E(ai)(Bob) after applying the mask.
 
struct GNUNET_CRYPTO_PaillierCiphertextr
 Bob's permutation p of R.
 
struct GNUNET_CRYPTO_PaillierCiphertextr_prime
 Bob's permutation q of R.
 
struct GNUNET_CRYPTO_PaillierCiphertext s
 Bob's "s".
 
struct GNUNET_CRYPTO_PaillierCiphertext s_prime
 Bob's "s'".
 
struct CadetIncomingSession * cadet
 Handle for our associated incoming CADET session, or NULL if we have not gotten one yet.
 
uint32_t cadet_transmitted_element_count
 Counts the number of values transmitted from us to Alice.
 
struct GNUNET_CRYPTO_PaillierPublicKey remote_pubkey
 Public key of the remote service.
 

Detailed Description

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.

Field Documentation

◆ client

◆ client_mq

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(), and prepare_client_end_notification().

◆ intersected_elements

◆ intersection_set

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(), cb_intersection_element_removed(), destroy_service_session(), destroy_service_session(), handle_bob_client_message(), handle_bob_client_message(), handle_bob_client_message_multipart(), and handle_bob_client_message_multipart().

◆ intersection_op

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(), cb_intersection_element_removed(), destroy_service_session(), destroy_service_session(), handle_alices_cryptodata_message(), handle_alices_cryptodata_message(), start_intersection(), and start_intersection().

◆ port

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(), destroy_service_session(), handle_bob_client_message(), and handle_bob_client_message().

◆ sorted_elements

◆ prod_g_i_b_i

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

◆ prod_h_i_b_i

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

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

Referenced by cb_intersection_element_removed(), cb_intersection_element_removed(), handle_bob_client_message(), handle_bob_client_message(), handle_bob_client_message_multipart(), 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 128 of file gnunet-service-scalarproduct-ecc_bob.c.

Referenced by compute_service_response(), copy_element_cb(), copy_element_cb(), destroy_service_session(), handle_alices_cryptodata_message(), handle_bob_client_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 134 of file gnunet-service-scalarproduct-ecc_bob.c.

Referenced by check_alices_cryptodata_message(), handle_alices_cryptodata_message(), and handle_alices_cryptodata_message().

◆ status

◆ in_destroy

int BobServiceSession::in_destroy

◆ channel

◆ peer

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(), and start_intersection().

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

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

◆ r

◆ r_prime

◆ s

◆ s_prime

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

◆ cadet

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.

◆ 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 167 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 195 of file gnunet-service-scalarproduct_bob.c.

Referenced by compute_service_response().


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