Class alice_veugen
java.lang.Object
edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.socialist_millionaires
edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice
edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_veugen
- All Implemented Interfaces:
CipherConstants,alice_interface
- Direct Known Subclasses:
alice_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 Alice's implementation of the Veugen protocol for secure comparison.
This class extends the base `alice` class and provides methods for secure computation
using homomorphic encryption schemes such as DGK and Paillier.
-
Field Summary
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanSee the paper "Improving the DGK comparison protocol", this implements Protocol 3.booleanProtocol2(BigInteger x, BigInteger y) See the paper Corrrection to "Improving the DGK comparison protocol", this implements Protocol 3, Steps 4a - 4j This is Veugen's improved encrypted integer comparison protocol from DGKMethods inherited from class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice
division, encrypted_equals, encrypted_xor, getKValues, getKValues, multiplication, private_equals, receivePublicKeys, set_dgk_private_key, set_socketMethods 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
-
alice_veugen
public alice_veugen()Constructs an instance of `alice_veugen`.
-
-
Method Details
-
Protocol1
public boolean Protocol1(BigInteger x) throws ClassNotFoundException, IOException, HomomorphicException See the paper "Improving the DGK comparison protocol", this implements Protocol 3. This is an improved version of Protocol 1, initially created by DGK, see original alice class This protocol determines if the plaintext value `x` is less than or equal to `y`- Specified by:
Protocol1in interfacealice_interface- Overrides:
Protocol1in classalice- Parameters:
x- the plaintext value to compare.- Returns:
trueifx <= y,falseotherwise.- Throws:
ClassNotFoundException- if a class cannot be found during deserialization.IOException- if an I/O error occurs during communication.HomomorphicException- if an error occurs during homomorphic operations.
-
Protocol2
public boolean Protocol2(BigInteger x, BigInteger y) throws IOException, ClassNotFoundException, HomomorphicException See the paper Corrrection to "Improving the DGK comparison protocol", this implements Protocol 3, Steps 4a - 4j This is Veugen's improved encrypted integer comparison protocol from DGK- Specified by:
Protocol2in interfacealice_interface- Overrides:
Protocol2in classalice- Parameters:
x- the encrypted value to compare.y- the encrypted value to compare against.- Returns:
trueifx >= 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.
-