Index

A B C D E F G H I J K M N O P Q R S T V W X Z 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form

A

add(ElGamal_Ciphertext, ElGamal_Ciphertext, ElGamalPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalCipher
Adds two ciphertexts in additive mode.
add(BigInteger, BigInteger, DGKPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations
returns the sum of the two DGK encrypted values Note: The result is still encrypted Warning: If the sum exceeds N, it is subject to N
add(BigInteger, BigInteger, PaillierPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher
Performs homomorphic addition of two Paillier encrypted values.
add_plaintext(BigInteger, long, DGKPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations
returns the sum of the DGK encrypted value and plaintext value Warning: If the sum exceeds u, it is subject to mod u
add_plaintext(BigInteger, BigInteger, DGKPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations
returns the sum of the DGK encrypted value and plaintext value Warning: If the sum exceeds u, it is subject to mod u
add_plaintext(BigInteger, BigInteger, PaillierPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher
Performs homomorphic addition of a Paillier encrypted value and a plaintext value.
addition(boolean) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob_elgamal
Performs addition or subtraction to get the encrypted value of two blinded encrypted values
addition(ElGamal_Ciphertext, ElGamal_Ciphertext) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_elgamal
Performs addition on two encrypted values from alice.
additive - Variable in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalPublicKey
Indicates whether additive homomorphic encryption is enabled.
alice - Class in edu.fiu.adwise.homomorphic_encryption.socialistmillionaire
The alice class represents Alice in the Socialist Millionaire's Problem.
alice() - Constructor for class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice
Default constructor for the alice class.
alice(Socket) - Constructor for class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice
Constructor for the alice class that accepts a client socket.
alice_elgamal - Class in edu.fiu.adwise.homomorphic_encryption.socialistmillionaire
Represents Alice's implementation of the ElGamal protocol for secure computation.
alice_elgamal() - Constructor for class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_elgamal
Constructs an instance of `alice_elgamal`.
alice_interface - Interface in edu.fiu.adwise.homomorphic_encryption.socialistmillionaire
Interface defining the operations for Alice in the Socialist Millionaires' Problem (SMP) protocol.
alice_joye - Class in edu.fiu.adwise.homomorphic_encryption.socialistmillionaire
Represents Alice's implementation of the Joye and Salehi protocol for secure computation.
alice_joye() - Constructor for class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_joye
Default constructor for the `alice_joye` class.
alice_veugen - Class in edu.fiu.adwise.homomorphic_encryption.socialistmillionaire
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.
alice_veugen() - Constructor for class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_veugen
Constructs an instance of `alice_veugen`.

B

BILLION - Static variable in interface edu.fiu.adwise.homomorphic_encryption.misc.CipherConstants
The number of nanoseconds in one second, used for time tracking.
bit(BigInteger, long) - Static method in class edu.fiu.adwise.homomorphic_encryption.misc.NTL
Retrieves the bit at position k of the absolute value of a.
bob - Class in edu.fiu.adwise.homomorphic_encryption.socialistmillionaire
The bob class represents Bob in the Socialist Millionaire's Problem.
bob(KeyPair, KeyPair) - Constructor for class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob
Constructs a Bob instance with two key pairs.
bob(KeyPair, KeyPair, KeyPair) - Constructor for class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob
Constructs a Bob instance with three key pairs.
bob_elgamal - Class in edu.fiu.adwise.homomorphic_encryption.socialistmillionaire
Represents Bob's implementation of the multi-party protocols for secure computation with ElGamal cryptography.
bob_elgamal(KeyPair, KeyPair, KeyPair) - Constructor for class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob_elgamal
Constructs a `bob_elgamal` instance with three key pairs.
bob_interface - Interface in edu.fiu.adwise.homomorphic_encryption.socialistmillionaire
Interface defining the operations for Bob in the Socialist Millionaires' Problem (SMP) protocol.
bob_joye - Class in edu.fiu.adwise.homomorphic_encryption.socialistmillionaire
Represents Bob's implementation of the Joye and Salehi protocol for secure comparison.
bob_joye(KeyPair, KeyPair) - Constructor for class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob_joye
Constructs a `bob_joye` instance with two key pairs.
bob_joye(KeyPair, KeyPair, KeyPair) - Constructor for class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob_joye
Constructs a `bob_joye` instance with three key pairs.
bob_veugen - Class in edu.fiu.adwise.homomorphic_encryption.socialistmillionaire
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.
bob_veugen(KeyPair, KeyPair) - Constructor for class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob_veugen
Constructs a `bob_veugen` instance with two key pairs.
bob_veugen(KeyPair, KeyPair, KeyPair) - Constructor for class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob_veugen
Constructs a `bob_veugen` instance with three key pairs.

C

CERTAINTY - Static variable in interface edu.fiu.adwise.homomorphic_encryption.misc.CipherConstants
The certainty parameter for primality testing algorithms.
CipherConstants - Interface in edu.fiu.adwise.homomorphic_encryption.misc
This interface defines constants used across various cryptographic operations, particularly in the context of homomorphic encryption schemes.
compute_c(BigInteger, BigInteger[], BigInteger[], int, List<Integer>) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_joye
Computes the array of encrypted values (C) used in the Joye protocol.
compute_delta_a(BigInteger, int) - Static method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_joye
Computes the delta value (delta_a) for Alice based on the Hamming weight of the input.
compute_delta_b(BigInteger[]) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob
Computes the delta value (deltaB) for Bob based on the decrypted values in C.

D

decrypt(ElGamal_Ciphertext, ElGamalPrivateKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalCipher
Decrypts a ciphertext using the ElGamal private key.
decrypt(BigInteger[], GMPrivateKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.gm.GMCipher
Decrypts an array of Goldwasser-Micali encrypted bits.
decrypt(BigInteger, DGKPrivateKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations
Compute DGK decryption c = g^m * h^r (mod n) c^vp (mod p) = g^{vp*m} (mod p), Because h^{vp} (mod p) = 1 Use the pre-computed hashmap to retrieve m.
decrypt(BigInteger, PaillierPrivateKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher
Decrypts a ciphertext using the provided Paillier private key.
DGK_Key - Interface in edu.fiu.adwise.homomorphic_encryption.dgk
Interface representing a DGK (Damgård-Geisler-Krøigaard) key.
DGKKeyPairGenerator - Class in edu.fiu.adwise.homomorphic_encryption.dgk
This class is responsible for generating DGK key pairs (public and private keys) used in the DGK cryptosystem.
DGKKeyPairGenerator() - Constructor for class edu.fiu.adwise.homomorphic_encryption.dgk.DGKKeyPairGenerator
Default constructor for DGKKeyPairGenerator.
DGKKeyPairGenerator(int, int, int) - Constructor for class edu.fiu.adwise.homomorphic_encryption.dgk.DGKKeyPairGenerator
Initialize DGK Key pair generator and sets DGK parameters
DGKOperations - Class in edu.fiu.adwise.homomorphic_encryption.dgk
DGKOperations is responsible for all the basic DGK functions.
DGKOperations() - Constructor for class edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations
 
DGKPrivateKey - Class in edu.fiu.adwise.homomorphic_encryption.dgk
Represents a DGK (Damgård-Geisler-Krøigaard) private key used for homomorphic encryption.
DGKPrivateKey(BigInteger, BigInteger, BigInteger, BigInteger, DGKPublicKey) - Constructor for class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPrivateKey
Constructs a DGKPrivateKey using the provided private key parameters and public key.
DGKPublicKey - Class in edu.fiu.adwise.homomorphic_encryption.dgk
Represents the public key for the DGK (Damgård-Geisler-Krøigaard) cryptosystem.
DGKPublicKey(BigInteger, BigInteger, BigInteger, BigInteger, int, int, int) - Constructor for class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey
Constructs a DGKPublicKey with all required parameters.
divide(ElGamal_Ciphertext, ElGamal_Ciphertext, ElGamalPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalCipher
Divides one ciphertext by another in multiplicative mode.
divide(BigInteger, BigInteger, DGKPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations
Compute the division of the DGK cipher-text and a plaintext.
divide(BigInteger, BigInteger, PaillierPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher
Compute the division of the Paillier cipher-text and a plaintext.
division(long) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob_elgamal
Performs division on an encrypted value from alice by a given divisor by Bob.
division(long) - Method in interface edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob_interface
Performs division on an encrypted integer with alice.
division(long) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob
Please review Protocol 2 in the "Encrypted Integer Division" paper by Thjis Veugen Performs secure division of an encrypted value received from Alice by a given divisor.
division(ElGamal_Ciphertext, long) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_elgamal
Performs division on an encrypted value x from alice by a given divisor from bob.
division(BigInteger, long) - Method in interface edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_interface
Performs division on an encrypted integer.
division(BigInteger, long) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice
Please review Protocol 2 in the "Encrypted Integer Division" paper by Thjis Veugen

E

edu.fiu.adwise.homomorphic_encryption.dgk - package edu.fiu.adwise.homomorphic_encryption.dgk
 
edu.fiu.adwise.homomorphic_encryption.elgamal - package edu.fiu.adwise.homomorphic_encryption.elgamal
 
edu.fiu.adwise.homomorphic_encryption.gm - package edu.fiu.adwise.homomorphic_encryption.gm
 
edu.fiu.adwise.homomorphic_encryption.misc - package edu.fiu.adwise.homomorphic_encryption.misc
 
edu.fiu.adwise.homomorphic_encryption.paillier - package edu.fiu.adwise.homomorphic_encryption.paillier
 
edu.fiu.adwise.homomorphic_encryption.socialistmillionaire - package edu.fiu.adwise.homomorphic_encryption.socialistmillionaire
 
EIGHT - Static variable in interface edu.fiu.adwise.homomorphic_encryption.misc.CipherConstants
The constant value 8, represented as a BigInteger.
ElGamal_Ciphertext - Class in edu.fiu.adwise.homomorphic_encryption.elgamal
Represents an ElGamal ciphertext consisting of two components: g^r and m * h^r (or g^m * h^r).
ElGamal_Ciphertext(BigInteger, BigInteger) - Constructor for class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamal_Ciphertext
Constructs an ElGamal ciphertext with the given components.
ElGamal_Key - Interface in edu.fiu.adwise.homomorphic_encryption.elgamal
Interface representing an ElGamal key.
ElGamalCipher - Class in edu.fiu.adwise.homomorphic_encryption.elgamal
This class provides methods for encryption, decryption, and homomorphic operations using the ElGamal cryptosystem.
ElGamalCipher() - Constructor for class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalCipher
 
ElGamalKeyPairGenerator - Class in edu.fiu.adwise.homomorphic_encryption.elgamal
This class is responsible for generating ElGamal key pairs.
ElGamalKeyPairGenerator(boolean) - Constructor for class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalKeyPairGenerator
Constructs an ElGamalKeyPairGenerator.
ElGamalPrivateKey - Class in edu.fiu.adwise.homomorphic_encryption.elgamal
Represents the private key for the ElGamal encryption scheme.
ElGamalPrivateKey(BigInteger, BigInteger, BigInteger, BigInteger, boolean) - Constructor for class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalPrivateKey
Constructs an ElGamalPrivateKey with the specified parameters.
ElGamalPublicKey - Class in edu.fiu.adwise.homomorphic_encryption.elgamal
Represents the public key for the ElGamal encryption scheme.
ElGamalPublicKey(BigInteger, BigInteger, BigInteger, boolean) - Constructor for class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalPublicKey
Constructs an ElGamalPublicKey with the specified parameters.
ElGamalSignature - Class in edu.fiu.adwise.homomorphic_encryption.elgamal
This class provides methods for signing and verifying messages using the ElGamal signature scheme.
ElGamalSignature() - Constructor for class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalSignature
 
encrypt(long, DGKPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations
Encrypt plaintext with DGK Public Key Compute ciphertext = g^{m}h^{r} (mod n)
encrypt(long, ElGamalPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalCipher
Encrypts a plaintext message (long) using the ElGamal public key.
encrypt(long, PaillierPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher
Encrypts a plaintext represented as a long using the provided Paillier public key.
encrypt(BigInteger, DGKPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations
Encrypt plaintext with DGK Public Key Compute ciphertext = g^{m}h^{r} (mod n)
encrypt(BigInteger, ElGamalPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalCipher
Encrypts a plaintext message using the ElGamal public key.
encrypt(BigInteger, GMPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.gm.GMCipher
Encrypts a BigInteger plaintext using the Goldwasser-Micali encryption scheme.
encrypt(BigInteger, PaillierPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher
Encrypts a plaintext using the provided Paillier public key.
encrypt_bits(BigInteger) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob
Encrypts the bits of a given plaintext value.
encrypted_equals() - Method in interface edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob_interface
Compares two encrypted integers for equality.
encrypted_equals() - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob
.
encrypted_equals(BigInteger, BigInteger) - Method in interface edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_interface
Compares two encrypted integers for equality.
encrypted_equals(BigInteger, BigInteger) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice
Performs encrypted equality testing between two encrypted values a and b.
encrypted_xor(BigInteger, BigInteger[]) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice
Computes the XOR operation between the bits of a plaintext value and an array of encrypted bits.
equals(Object) - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPrivateKey
Compares this DGKPrivateKey with another object for equality.
equals(Object) - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey
Compares this DGKPublicKey with another object for equality.
equals(Object) - Method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPrivateKey
Compares this private key with another object for equality.
equals(Object) - Method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPublicKey
Compares this public key with another object for equality.

F

FIELD_SIZE - Static variable in interface edu.fiu.adwise.homomorphic_encryption.misc.CipherConstants
A prime number with 16 bits, used in ElGamal and DGK encryption schemes.
FIVE - Static variable in interface edu.fiu.adwise.homomorphic_encryption.misc.CipherConstants
The constant value 5, represented as a BigInteger.
form_set_l(BigInteger, int, BigInteger[]) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_joye
Forms the set of indices (L) used in the Joye and Salehi protocol.
FOUR - Static variable in interface edu.fiu.adwise.homomorphic_encryption.misc.CipherConstants
The constant value 4, represented as a BigInteger.

G

generateKeyPair() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKKeyPairGenerator
Generates a DGK key pair.
generateKeyPair() - Method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalKeyPairGenerator
Generates an ElGamal key pair.
generateKeyPair() - Method in class edu.fiu.adwise.homomorphic_encryption.gm.GMKeyPairGenerator
Generates a key pair for the Goldwasser-Micali encryption scheme.
generateKeyPair() - Method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierKeyPairGenerator
Generates a Paillier key pair (public and private keys).
generateXBitRandom(int) - Static method in class edu.fiu.adwise.homomorphic_encryption.misc.NTL
Generates a random n-bit positive number.
get_bytes_sent() - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.socialist_millionaires
Retrieves the total number of bytes sent during communication.
getA() - Method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamal_Ciphertext
Retrieves the first component of the ciphertext (g^r).
getAlgorithm() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPrivateKey
Returns the algorithm name.
getAlgorithm() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey
 
getAlgorithm() - Method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalPrivateKey
Returns the algorithm name.
getAlgorithm() - Method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalPublicKey
Returns the algorithm name.
getAlgorithm() - Method in class edu.fiu.adwise.homomorphic_encryption.gm.GMPrivateKey
Returns the algorithm name for this private key.
getAlgorithm() - Method in class edu.fiu.adwise.homomorphic_encryption.gm.GMPublicKey
Returns the algorithm name for this public key.
getAlgorithm() - Method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPrivateKey
Returns the algorithm name for this key.
getAlgorithm() - Method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPublicKey
Returns the algorithm name for this key.
getB() - Method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamal_Ciphertext
Retrieves the second component of the ciphertext (m * h^r or g^m * h^r).
getDGKPublicKey() - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.socialist_millionaires
Retrieves the DGK public key.
getElGamalPublicKey() - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.socialist_millionaires
Retrieves the ElGamal public key.
getEncoded() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPrivateKey
Returns the encoded form of the key.
getEncoded() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey
 
getEncoded() - Method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalPrivateKey
Returns the encoded form of the key.
getEncoded() - Method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalPublicKey
Returns the encoded form of the key.
getEncoded() - Method in class edu.fiu.adwise.homomorphic_encryption.gm.GMPrivateKey
Returns the encoded form of the private key.
getEncoded() - Method in class edu.fiu.adwise.homomorphic_encryption.gm.GMPublicKey
Returns the encoded form of the public key.
getEncoded() - Method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPrivateKey
Returns the encoded form of the key.
getEncoded() - Method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPublicKey
Returns the encoded form of the key.
getFormat() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPrivateKey
Returns the format of the key.
getFormat() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey
 
getFormat() - Method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalPrivateKey
Returns the format of the key.
getFormat() - Method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalPublicKey
Returns the format of the key.
getFormat() - Method in class edu.fiu.adwise.homomorphic_encryption.gm.GMPrivateKey
Returns the format of the encoded key.
getFormat() - Method in class edu.fiu.adwise.homomorphic_encryption.gm.GMPublicKey
Returns the format of the encoded key.
getFormat() - Method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPrivateKey
Returns the format of the key encoding.
getFormat() - Method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPublicKey
Returns the format of the key encoding.
getK() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKKeyPairGenerator
Gets the key size in bits.
getKMin(List<ElGamal_Ciphertext>, int) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_elgamal
Retrieves the k smallest encrypted values from a list.
getKValues(BigInteger[], int, boolean) - Method in interface edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_interface
Retrieves the k largest or smallest values from an array of encrypted integers.
getKValues(BigInteger[], int, boolean) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice
Retrieves the k largest or smallest values from the input array using a bubble sort algorithm.
getKValues(List<BigInteger>, int, boolean) - Method in interface edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_interface
Retrieves the k largest or smallest values from a list of encrypted integers.
getKValues(List<BigInteger>, int, boolean) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice
Retrieves the k largest or smallest values from the input list using a bubble sort algorithm.
getL() - Method in interface edu.fiu.adwise.homomorphic_encryption.dgk.DGK_Key
Retrieves the bit length \( l \) of the DGK key.
getL() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKKeyPairGenerator
Gets the size of plaintext.
getL() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPrivateKey
Returns the bit length of plaintext values.
getL() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey
 
getModulus() - Method in interface edu.fiu.adwise.homomorphic_encryption.paillier.PaillierKey
Retrieves the modulus used in the Paillier cryptosystem.
getModulus() - Method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPrivateKey
Retrieves the modulus used in the Paillier cryptosystem.
getModulus() - Method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPublicKey
Retrieves the modulus used in the Paillier cryptosystem.
getN() - Method in interface edu.fiu.adwise.homomorphic_encryption.dgk.DGK_Key
Retrieves the modulus \( n \) associated with the DGK key.
getN() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPrivateKey
Returns the modulus of the key.
getN() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey
 
getN() - Method in interface edu.fiu.adwise.homomorphic_encryption.gm.GMKey
Retrieves the modulus (n) associated with the GM key.
getN() - Method in class edu.fiu.adwise.homomorphic_encryption.gm.GMPrivateKey
Retrieves the modulus \( n \) associated with this private key.
getN() - Method in class edu.fiu.adwise.homomorphic_encryption.gm.GMPublicKey
Retrieves the modulus \( n \) associated with this public key.
getN() - Method in interface edu.fiu.adwise.homomorphic_encryption.paillier.PaillierKey
Retrieves the value of n, which is part of the Paillier key.
getN() - Method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPrivateKey
Retrieves the value of n, which is part of the Paillier key.
getN() - Method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPublicKey
Retrieves the value of n, which is part of the Paillier key.
getObjectSize(Object) - Static method in class edu.fiu.adwise.homomorphic_encryption.misc.InstrumentationAgent
Returns the size of the specified object in bytes.
getP() - Method in interface edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamal_Key
Retrieves the prime modulus \( p \) associated with the key.
getP() - Method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalPrivateKey
Returns the prime modulus p.
getP() - Method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalPublicKey
Returns the prime modulus.
getPaillierPublicKey() - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.socialist_millionaires
Retrieves the Paillier public key.
getPrime(int, Random) - Static method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalKeyPairGenerator
Return a prime p = 2 * p' + 1
getT() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKKeyPairGenerator
Gets the security parameter.
getT() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey
 
getu() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey
 
getU() - Method in interface edu.fiu.adwise.homomorphic_encryption.dgk.DGK_Key
Retrieves the value of \( u \), a parameter associated with the DGK key.
getU() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPrivateKey
Returns the upper bound for plaintext values.
getU() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey
 
GMCipher - Class in edu.fiu.adwise.homomorphic_encryption.gm
This class implements the Goldwasser-Micali (GM) encryption scheme.
GMCipher() - Constructor for class edu.fiu.adwise.homomorphic_encryption.gm.GMCipher
 
GMKey - Interface in edu.fiu.adwise.homomorphic_encryption.gm
Interface representing a Goldwasser-Micali (GM) key.
GMKeyPairGenerator - Class in edu.fiu.adwise.homomorphic_encryption.gm
This class is responsible for generating key pairs for the Goldwasser-Micali (GM) encryption scheme.
GMKeyPairGenerator() - Constructor for class edu.fiu.adwise.homomorphic_encryption.gm.GMKeyPairGenerator
 
GMPrivateKey - Class in edu.fiu.adwise.homomorphic_encryption.gm
This class represents the private key for the Goldwasser-Micali (GM) encryption scheme.
GMPublicKey - Class in edu.fiu.adwise.homomorphic_encryption.gm
This class represents the public key for the Goldwasser-Micali (GM) encryption scheme.
gr - Variable in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamal_Ciphertext
The first component of the ciphertext, g^r.

H

hamming_weight(BigInteger) - Static method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_joye
Computes the Hamming weight of a given value.
HomomorphicException - Exception in edu.fiu.adwise.homomorphic_encryption.misc
This class represents a custom exception for errors related to homomorphic encryption operations.
HomomorphicException(String) - Constructor for exception edu.fiu.adwise.homomorphic_encryption.misc.HomomorphicException
Constructs a new HomomorphicException with the specified detail message.
hrgm - Variable in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamal_Ciphertext
The second component of the ciphertext, m * h^r or g^m * h^r.

I

initialize(int, SecureRandom) - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKKeyPairGenerator
Initializes the DGK key pair generator with the specified key size and random generator.
initialize(int, SecureRandom) - Method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalKeyPairGenerator
Initializes the key pair generator with the specified key size and random number generator.
initialize(int, SecureRandom) - Method in class edu.fiu.adwise.homomorphic_encryption.gm.GMKeyPairGenerator
Initializes the key pair generator with the specified key size and random number generator.
initialize(int, SecureRandom) - Method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierKeyPairGenerator
Initializes the Paillier key pair generator with the specified key size and random number generator.
InstrumentationAgent - Class in edu.fiu.adwise.homomorphic_encryption.misc
This class serves as a Java instrumentation agent, allowing the measurement of object sizes at runtime.
InstrumentationAgent() - Constructor for class edu.fiu.adwise.homomorphic_encryption.misc.InstrumentationAgent
 
isDGK() - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.socialist_millionaires
Checks if DGK encryption mode is enabled.

J

jacobi(BigInteger, BigInteger) - Static method in class edu.fiu.adwise.homomorphic_encryption.misc.NTL
Computes the Jacobi symbol (a/n).

K

key_size - Variable in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPublicKey
The size of the key in bits.
KEY_SIZE - Static variable in interface edu.fiu.adwise.homomorphic_encryption.misc.CipherConstants
The default key size (in bits) for cryptographic operations.

M

main(String[]) - Static method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKKeyPairGenerator
Main method to generate and save DGK key pairs.
main(String[]) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierKeyPairGenerator
Main method to generate and save Paillier public and private keys to files.
multiplication() - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob_elgamal
Performs multiplication on blinded encrypted values from alice.
multiplication() - Method in interface edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob_interface
Performs multiplication on encrypted integers with alice.
multiplication() - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob
See the paper "Correction of a Secure Comparison Protocol for Encrypted Integers in IEEE WIFS 2012 (Short Paper)" This performs secure multiplication of two encrypted values.
multiplication(ElGamal_Ciphertext, ElGamal_Ciphertext) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_elgamal
Performs multiplication on two encrypted values.
multiplication(BigInteger, BigInteger) - Method in interface edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_interface
Performs multiplication on two encrypted integers.
multiplication(BigInteger, BigInteger) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice
See the paper "Correction of a Secure Comparison Protocol for Encrypted Integers in IEEE WIFS 2012 (Short Paper)" Performs secure multiplication of two encrypted values using homomorphic encryption.
multiply(ElGamal_Ciphertext, ElGamal_Ciphertext, ElGamalPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalCipher
Multiplies two ciphertexts in multiplicative mode.
multiply(BigInteger, long, DGKPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations
Compute the DGK encrypted value of ciphertext multiplied by the plaintext.
multiply(BigInteger, long, PaillierPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher
Computes the Paillier encrypted value of a ciphertext multiplied by a scalar.
multiply(BigInteger, BigInteger, DGKPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations
Compute the DGK encrypted value of ciphertext multiplied by the plaintext.
multiply(BigInteger, BigInteger, PaillierPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher
Computes the Paillier encrypted value of a ciphertext multiplied by a plaintext.
multiply_scalar(ElGamal_Ciphertext, long, ElGamalPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalCipher
Multiplies a ciphertext by a scalar value (long) in additive mode.
multiply_scalar(ElGamal_Ciphertext, BigInteger, ElGamalPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalCipher
Multiplies a ciphertext by a scalar value in additive mode.

N

NEG_ONE - Static variable in interface edu.fiu.adwise.homomorphic_encryption.misc.CipherConstants
The constant value -1, represented as a BigInteger.
NTL - Class in edu.fiu.adwise.homomorphic_encryption.misc
This class provides utility methods for cryptographic operations, inspired by the NTL (Number Theory Library).
NTL() - Constructor for class edu.fiu.adwise.homomorphic_encryption.misc.NTL
 

O

ONE - Variable in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey
The encrypted representation of the value 1.

P

PaillierCipher - Class in edu.fiu.adwise.homomorphic_encryption.paillier
This class implements the Paillier cryptosystem, which supports homomorphic encryption operations on BigInteger values.
PaillierCipher() - Constructor for class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher
 
PaillierKey - Interface in edu.fiu.adwise.homomorphic_encryption.paillier
This interface represents a Paillier key used in the Paillier cryptosystem.
PaillierKeyPairGenerator - Class in edu.fiu.adwise.homomorphic_encryption.paillier
This class is responsible for generating Paillier key pairs (public and private keys) used in the Paillier cryptosystem.
PaillierKeyPairGenerator() - Constructor for class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierKeyPairGenerator
 
PaillierPrivateKey - Class in edu.fiu.adwise.homomorphic_encryption.paillier
This class represents a private key in the Paillier cryptosystem.
PaillierPrivateKey(int, BigInteger, BigInteger, BigInteger, BigInteger, BigInteger, BigInteger) - Constructor for class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPrivateKey
Constructs a Paillier private key with the specified parameters.
PaillierPublicKey - Class in edu.fiu.adwise.homomorphic_encryption.paillier
Represents the public key for the Paillier cryptosystem.
PaillierPublicKey(int, BigInteger, BigInteger, BigInteger) - Constructor for class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPublicKey
Constructs a Paillier public key with the specified parameters.
PaillierSignature - Class in edu.fiu.adwise.homomorphic_encryption.paillier
This class provides methods for signing and verifying messages using the Paillier cryptosystem.
PaillierSignature() - Constructor for class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierSignature
 
POSMOD(BigInteger, BigInteger) - Static method in class edu.fiu.adwise.homomorphic_encryption.misc.NTL
Computes the positive modulus of a number.
premain(String, Instrumentation) - Static method in class edu.fiu.adwise.homomorphic_encryption.misc.InstrumentationAgent
The premain method is called by the JVM before the application's main method.
private_equals(BigInteger) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice
Performs an equality check as part of the encrypted equality testing protocol.
Protocol1(BigInteger) - Method in interface edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_interface
Compares Alice's private integer with Bob's private integer.
Protocol1(BigInteger) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_joye
Executes Protocol 1 for secure comparison of a single unencrypted value with another unencrypted value from Bob.
Protocol1(BigInteger) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_veugen
See the paper "Improving the DGK comparison protocol", this implements Protocol 3.
Protocol1(BigInteger) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice
Executes Protocol 1 to securely compute whether x <= y in a two-party setting.
Protocol1(BigInteger) - Method in interface edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob_interface
Compares Alice's private integer with Bob's private integer.
Protocol1(BigInteger) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob
Please review "Improving the DGK comparison protocol" - Protocol 1 Nicely enough; this is the same thing Bob needs to do for Veugen, Joye and checking if two encrypted numbers are equal! This is the original protocol from DGK, the improved versions are in alice_veugen.
Protocol2() - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.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! Sorts a list of encrypted numbers using Protocol 4 (see the Veugen papers).
Protocol2() - Method in interface edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob_interface
Compares two encrypted integers and determines if the first is greater than or equal to the second.
Protocol2() - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob_joye
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.
Protocol2() - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob_veugen
See the paper Correction to "Improving the DGK comparison protocol", this implements Protocol 3.
Protocol2() - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob
Please review "Improving the DGK comparison protocol" - Protocol 2 Executes Protocol 2 for secure comparison.
Protocol2(BigInteger, BigInteger) - Method in interface edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_interface
Compares two encrypted integers and determines if the first is greater than or equal to the second.
Protocol2(BigInteger, BigInteger) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_joye
Executes Protocol 2 for secure comparison between two encrypted values.
Protocol2(BigInteger, BigInteger) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_veugen
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
Protocol2(BigInteger, BigInteger) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice
Executes Protocol 2 to securely compute whether X >= Y in a two-party setting.
Protocol4(ElGamal_Ciphertext, ElGamal_Ciphertext) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_elgamal
See the paper Correction to "Improving the DGK comparison protocol", this implements Protocol 3.

Q

quadratic_non_residue(BigInteger, BigInteger) - Static method in class edu.fiu.adwise.homomorphic_encryption.misc.NTL
Finds a quadratic non-residue modulo p and q.

R

RandomBnd(BigInteger) - Static method in class edu.fiu.adwise.homomorphic_encryption.misc.NTL
Generates a pseudo-random number in the range [0..n-1].
readBoolean() - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.socialist_millionaires
Reads a boolean value from the input stream.
readInt() - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.socialist_millionaires
Reads an integer value from the input stream.
readKey(String) - Static method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPrivateKey
Deserializes a DGK private key from a file.
readKey(String) - Static method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey
Deserializes a DGKPublicKey from a file.
readKey(String) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPrivateKey
Reads a private key from a file.
readKey(String) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPublicKey
Reads a public key from a file.
readObject() - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.socialist_millionaires
Reads an object from the input stream.
receivePublicKeys() - Method in interface edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_interface
Receives public keys from the other party.
receivePublicKeys() - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice
Receives public keys from Bob and sets them for Alice.
rnd - Static variable in interface edu.fiu.adwise.homomorphic_encryption.misc.CipherConstants
A secure random number generator used for cryptographic purposes.
run() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey
Generates the lookup tables for g and h.
run() - Method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalPrivateKey
Runs the decryption table generation in a separate thread.

S

sendPublicKeys() - Method in interface edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob_interface
Sends public keys to alice.
sendPublicKeys() - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob
Sends Bob's public keys (DGK, Paillier, and ElGamal) to Alice.
set_additive(boolean) - Method in interface edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamal_Key
Sets whether the key supports additive homomorphism.
set_additive(boolean) - Method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalPrivateKey
Sets whether additive homomorphic encryption is enabled.
set_additive(boolean) - Method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalPublicKey
Sets whether the key is used for additive homomorphism.
set_dgk_private_key(DGKPrivateKey) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice
Sets the DGK private key for Alice.
set_socket(Socket) - Method in interface edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice_interface
Sets the socket for communication.
set_socket(Socket) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice
Sets up the socket for communication with Bob using a standard Socket.
set_socket(Socket) - Method in interface edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob_interface
Sets the socket for communication.
set_socket(Socket) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob
Sets the socket for communication with Alice.
setDGKMode(boolean) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.socialist_millionaires
Sets the DGK encryption mode.
setDGKPublicKey(DGKPublicKey) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.socialist_millionaires
Sets the DGK public key and precomputes 2^l.
setElGamalPublicKey(ElGamalPublicKey) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.socialist_millionaires
Sets the ElGamal public key.
setK(int) - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKKeyPairGenerator
Sets the key size in bits.
setL(int) - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKKeyPairGenerator
Sets the size of plaintext.
setPaillierPublicKey(PaillierPublicKey) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.socialist_millionaires
Sets the Paillier public key.
setT(int) - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKKeyPairGenerator
Sets the security parameter.
sign(BigInteger, ElGamalPrivateKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalSignature
Signs a message using the ElGamal private key.
sign(BigInteger, PaillierPrivateKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierSignature
Signs a message using the provided Paillier private key.
socialist_millionaires - Class in edu.fiu.adwise.homomorphic_encryption.socialistmillionaire
Abstract class representing the Socialist Millionaires' Problem (SMP) protocol.
socialist_millionaires() - Constructor for class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.socialist_millionaires
 
sort() - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.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! Sorts a list of encrypted numbers using Protocol 4 (see the Veugen papers).
sort() - Method in interface edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob_interface
Sorts a collection of encrypted integers.
sort() - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob
Sorts a list of encrypted numbers using Protocol 2.
subtract(ElGamal_Ciphertext, ElGamal_Ciphertext, ElGamalPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalCipher
Subtracts one ciphertext from another in additive mode.
subtract(BigInteger, BigInteger, DGKPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations
Subtract ciphertext1 and ciphertext 2
subtract(BigInteger, BigInteger, PaillierPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher
Performs homomorphic subtraction of two Paillier encrypted values.
subtract_ciphertext(BigInteger, BigInteger, DGKPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations
y - [x] = y + [-x] = [-x] + y Computes encrypted DGK value of the cipher-text subtracted by the plaintext
subtract_ciphertext(BigInteger, BigInteger, PaillierPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher
Computes the encrypted Paillier value of the plaintext subtracted by the ciphertext.
subtract_plaintext(BigInteger, BigInteger, DGKPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations
Computes encrypted DGK value of the cipher-text subtracted by the plaintext Warning: If the difference goes negative, add u.
subtract_plaintext(BigInteger, BigInteger, PaillierPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher
Computes the encrypted Paillier value of the ciphertext subtracted by the plaintext.
sum(ElGamal_Ciphertext[], ElGamalPublicKey, int) - Static method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalCipher
Computes the sum of an array of ciphertexts in additive mode.
sum(BigInteger[], DGKPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations
Compute the sum of the encrypted DGK values
sum(BigInteger[], DGKPublicKey, int) - Static method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations
Compute the sum of the encrypted DGK values
sum(BigInteger[], PaillierPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher
Compute the sum of the encrypted Paillier values
sum(BigInteger[], PaillierPublicKey, int) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher
Compute the sum of the encrypted Paillier values
sum(List<ElGamal_Ciphertext>, ElGamalPublicKey, int) - Static method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalCipher
Computes the sum of a list of ciphertexts in additive mode.
sum(List<BigInteger>, DGKPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations
Compute the sum of the encrypted DGK values
sum(List<BigInteger>, DGKPublicKey, int) - Static method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations
Compute the sum of the encrypted DGK values
sum(List<BigInteger>, PaillierPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher
Compute the encrypted sum of all Paillier values
sum(List<BigInteger>, PaillierPublicKey, int) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher
Note: Compute the sum of all values in the list of Paillier Encrypted values.
sum_product(ElGamal_Ciphertext[], Long[], ElGamalPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalCipher
Computes the sum of products of ciphertexts and plaintexts in additive mode.
sum_product(BigInteger[], Long[], DGKPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations
Compute the sum-product.
sum_product(BigInteger[], Long[], PaillierPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher
Compute the sum-product.
sum_product(List<ElGamal_Ciphertext>, List<Long>, ElGamalPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalCipher
Computes the sum of products of the ciphertexts and plaintexts in additive mode.
sum_product(List<BigInteger>, List<Long>, DGKPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations
Compute the sum-product.
sum_product(List<BigInteger>, List<Long>, PaillierPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher
Compute the sum-product.

T

THREE - Static variable in interface edu.fiu.adwise.homomorphic_encryption.misc.CipherConstants
The constant value 3, represented as a BigInteger.
toString() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKKeyPairGenerator
Returns a string representation of the DGKKeyPairGenerator.
toString() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPrivateKey
Returns a string representation of the public key parameters.
toString() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey
 
toString() - Method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalPrivateKey
Returns a string representation of the private key.
toString() - Method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalPublicKey
Returns a string representation of the ElGamal public key.
toString() - Method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPrivateKey
Returns a string representation of the private key, omitting secret parameters.
toString() - Method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPublicKey
Returns a string representation of the public key.
TWO - Static variable in interface edu.fiu.adwise.homomorphic_encryption.misc.CipherConstants
The constant value 2, represented as a BigInteger.

V

v - Variable in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPrivateKey
The product of \( vp \) and \( vq \), used for decryption.
verify(BigInteger, ElGamal_Ciphertext, ElGamalPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalSignature
Verifies a signed message using the ElGamal public key.
verify(BigInteger, BigInteger, BigInteger, PaillierPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierSignature
Verifies a Paillier signature using its individual components.
verify(BigInteger, List<BigInteger>, PaillierPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierSignature
Verifies a signed message using the provided Paillier public key.

W

writeBoolean(boolean) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.socialist_millionaires
Writes a boolean value to the output stream.
writeInt(int) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.socialist_millionaires
Writes an integer value to the output stream.
writeKey(String) - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPrivateKey
Serializes the private key to a file.
writeKey(String) - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey
Serializes the public key to a file.
writeKey(String) - Method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPrivateKey
Writes the private key to a file.
writeKey(String) - Method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPublicKey
Writes the public key to a file.
writeObject(Object) - Method in class edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.socialist_millionaires
Writes an object to the output stream.

X

xor(BigInteger[], BigInteger[], GMPublicKey) - Static method in class edu.fiu.adwise.homomorphic_encryption.gm.GMCipher
Performs a bitwise XOR operation on two arrays of Goldwasser-Micali encrypted bits.

Z

ZERO - Variable in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey
The encrypted representation of the value 0.
ZERO() - Method in class edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey
 
ZERO() - Method in class edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPublicKey
Retrieves the encryption of zero using this public key.
A B C D E F G H I J K M N O P Q R S T V W X Z 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form