FRODO Version 2.19.1
An open-source framework for Distributed Constraint Optimization (DCOP)
Loading...
Searching...
No Matches
frodo2.solutionSpaces.crypto.ElGamalBigInteger Class Reference

ElGamal encryption of an integer. More...

Inheritance diagram for frodo2.solutionSpaces.crypto.ElGamalBigInteger:

Public Member Functions

 ElGamalBigInteger ()
 Used for externalization only.
 ElGamalBigInteger (final AddableInteger value, final int size)
 Constructor.
ElGamalBigInteger add (final AddableInteger other)
ElGamalBigInteger min (final ElGamalBigInteger other)
ElGamalBigInteger max (ElGamalBigInteger other)
void readExternal (ObjectInput in) throws IOException, ClassNotFoundException
void writeExternal (ObjectOutput out) throws IOException
Object readResolve ()
final boolean externalize ()
String toString ()
boolean equals (Object o)
Public Member Functions inherited from frodo2.solutionSpaces.AddableLimited< A extends Addable< A >, M extends AddableLimited< A, M >
add (A other)
 Addition.
min (M other)
 Minimum.
max (M other)
 Maximum.

Package Functions

 ElGamalBigInteger (BigInteger[][] vector)
 Constructor.

Package Attributes

BigInteger[][] vector
 A vector of pairs that represents this ElGamalBigInteger as [[alpha1, beta1], [alpha2, beta2], ... ].

Static Private Attributes

static BigInteger[] ONE = new BigInteger[] { BigInteger.ONE, BigInteger.ONE }
 The (unencrypted) [alpha, beta] representation of 1.
static BigInteger[] TWO = new BigInteger[] { BigInteger.ONE.add(BigInteger.ONE), BigInteger.ONE }
 The (unencrypted) [alpha, beta] representation of 2.

Detailed Description

ElGamal encryption of an integer.

Author
Thomas Leaute, Eric Zbinden

Constructor & Destructor Documentation

◆ ElGamalBigInteger() [1/3]

frodo2.solutionSpaces.crypto.ElGamalBigInteger.ElGamalBigInteger ( )

Used for externalization only.

Referenced by add(), max(), and min().

◆ ElGamalBigInteger() [2/3]

frodo2.solutionSpaces.crypto.ElGamalBigInteger.ElGamalBigInteger ( final AddableInteger value,
final int size )

Constructor.

Parameters
valuethe cleartext value
sizethe size of the vector of this ElGamal number
Note
The result is not truly encrypted yet

References frodo2.solutionSpaces.AddableInteger.intValue(), ONE, and TWO.

Here is the call graph for this function:

◆ ElGamalBigInteger() [3/3]

frodo2.solutionSpaces.crypto.ElGamalBigInteger.ElGamalBigInteger ( BigInteger vector[][])
package

Constructor.

Parameters
vectorthe internal representation of an ElGamalBigInteger

References vector.

Member Function Documentation

◆ add()

ElGamalBigInteger frodo2.solutionSpaces.crypto.ElGamalBigInteger.add ( final AddableInteger other)
See also
AddableLimited#add(Addable)
Note
The result is not truly encrypted yet

References ElGamalBigInteger(), frodo2.solutionSpaces.AddableInteger.intValue(), min(), and ONE.

Referenced by frodo2.solutionSpaces.crypto.ElGamalSchemeTest.add().

Here is the call graph for this function:

◆ equals()

boolean frodo2.solutionSpaces.crypto.ElGamalBigInteger.equals ( Object o)
See also
java.lang.Object#equals(java.lang.Object)

◆ externalize()

final boolean frodo2.solutionSpaces.crypto.ElGamalBigInteger.externalize ( )

◆ max()

ElGamalBigInteger frodo2.solutionSpaces.crypto.ElGamalBigInteger.max ( ElGamalBigInteger other)
See also
AddableLimited#max(AddableLimited)
Todo
Auto-generated method stub

References ElGamalBigInteger().

Here is the call graph for this function:

◆ min()

ElGamalBigInteger frodo2.solutionSpaces.crypto.ElGamalBigInteger.min ( final ElGamalBigInteger other)
See also
AddableLimited#min(AddableLimited)

References ElGamalBigInteger(), and vector.

Referenced by add(), and frodo2.solutionSpaces.crypto.ElGamalSchemeTest.min().

Here is the call graph for this function:

◆ readExternal()

void frodo2.solutionSpaces.crypto.ElGamalBigInteger.readExternal ( ObjectInput in) throws IOException, ClassNotFoundException
See also
java.io.Externalizable#readExternal(java.io.ObjectInput)

◆ readResolve()

Object frodo2.solutionSpaces.crypto.ElGamalBigInteger.readResolve ( )

◆ toString()

String frodo2.solutionSpaces.crypto.ElGamalBigInteger.toString ( )
See also
java.lang.Object#toString()

◆ writeExternal()

void frodo2.solutionSpaces.crypto.ElGamalBigInteger.writeExternal ( ObjectOutput out) throws IOException
See also
java.io.Externalizable#writeExternal(java.io.ObjectOutput)

Member Data Documentation

◆ ONE

BigInteger [] frodo2.solutionSpaces.crypto.ElGamalBigInteger.ONE = new BigInteger[] { BigInteger.ONE, BigInteger.ONE }
staticprivate

The (unencrypted) [alpha, beta] representation of 1.

Referenced by add(), and ElGamalBigInteger().

◆ TWO

BigInteger [] frodo2.solutionSpaces.crypto.ElGamalBigInteger.TWO = new BigInteger[] { BigInteger.ONE.add(BigInteger.ONE), BigInteger.ONE }
staticprivate

The (unencrypted) [alpha, beta] representation of 2.

Referenced by ElGamalBigInteger().

◆ vector

BigInteger [][] frodo2.solutionSpaces.crypto.ElGamalBigInteger.vector
package

The documentation for this class was generated from the following file: