Class bob_joye
java.lang.Object
edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.socialist_millionaires
edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob
edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob_joye
- All Implemented Interfaces:
CipherConstants,bob_interface
Represents Bob's implementation of the Joye and Salehi protocol for secure comparison.
This class extends the base `bob` class and provides methods for secure computation
using homomorphic encryption schemes such as DGK and Paillier.
See the paper "Private yet Efficient Decision Tree Evaluation"
paper link
-
Field Summary
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanSee the paper "Private yet Efficient Decision Tree Evaluation" paper link Read Section 3.2 of the paper/Figure 2 for Bob Executes Protocol 2 for secure comparison of encrypted values.Methods inherited from class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob
compute_delta_b, division, encrypt_bits, encrypted_equals, multiplication, Protocol1, sendPublicKeys, set_socket, sortMethods inherited from class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.socialist_millionaires
get_bytes_sent, getDGKPublicKey, getElGamalPublicKey, getPaillierPublicKey, isDGK, readBoolean, readInt, readObject, setDGKMode, setDGKPublicKey, setElGamalPublicKey, setPaillierPublicKey, writeBoolean, writeInt, writeObject
-
Constructor Details
-
bob_joye
Constructs a `bob_joye` instance with three key pairs.- Parameters:
a- the first key pair (Paillier or DGK).b- the second key pair (DGK or Paillier).c- the third key pair (optional, e.g., ElGamal).- Throws:
IllegalArgumentException- if the provided key pairs are invalid or mismatched.
-
bob_joye
Constructs a `bob_joye` instance with two key pairs.- Parameters:
a- the first key pair (Paillier or DGK).b- the second key pair (DGK or Paillier).- Throws:
IllegalArgumentException- if the provided key pairs are invalid or mismatched.
-
-
Method Details
-
Protocol2
See the paper "Private yet Efficient Decision Tree Evaluation" paper link Read Section 3.2 of the paper/Figure 2 for Bob Executes Protocol 2 for secure comparison of encrypted values. This protocol involves multiple steps, including decryption, modular arithmetic, and secure communication with Alice to determine the comparison result. I should note, Protocol1 bob does NOT change from the original DGK or Veugen protocol for Bob, hence no need to reimplement the methods here.- Specified by:
Protocol2in interfacebob_interface- Overrides:
Protocol2in classbob- Returns:
trueif the comparison result indicatesx >= y,falseotherwise.- Throws:
IOException- if an I/O error occurs during communication.ClassNotFoundException- if a class cannot be found during deserialization.HomomorphicException- if an error occurs during homomorphic operations.
-