Class bob_veugen
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_veugen
- All Implemented Interfaces:
CipherConstants,bob_interface
- Direct Known Subclasses:
bob_elgamal
See the papers "Improving the DGK comparison protocol" and Correction to ”Improving the DGK comparison
protocol” by Thjis Veugen, You can find these in the papers directory!
Represents Bob's implementation of the Veugen 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.
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionbob_veugen(KeyPair a, KeyPair b) Constructs a `bob_veugen` instance with two key pairs.bob_veugen(KeyPair a, KeyPair b, KeyPair c) Constructs a `bob_veugen` instance with three key pairs. -
Method Summary
Modifier and TypeMethodDescriptionbooleanSee the paper Correction to "Improving the DGK comparison protocol", this implements Protocol 3.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_veugen
Constructs a `bob_veugen` 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_veugen
Constructs a `bob_veugen` 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 Correction to "Improving the DGK comparison protocol", this implements Protocol 3. This is an improved version of Protocol 1, initially created by DGK, see original bob class This protocol involves multiple steps, including decryption, modular arithmetic, and secure communication with Alice to determine the comparison result.- 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.IllegalArgumentException- if the protocol constraints are violated.
-