FRODO Version 2.19.1
An open-source framework for Distributed Constraint Optimization (DCOP)
Loading...
Searching...
No Matches
frodo2.solutionSpaces.crypto.CryptoScheme< C extends Serializable, E extends Serializable, K extends CryptoScheme.PublicKeyShare > Interface Template Reference

Defines a way to encrypt and decrypt information. More...

Inheritance diagram for frodo2.solutionSpaces.crypto.CryptoScheme< C extends Serializable, E extends Serializable, K extends CryptoScheme.PublicKeyShare >:

Classes

interface  PublicKeyShare
 One share of the overall public key. More...

Public Member Functions

K newPublicKeyShare ()
void addPublicKeyShare (K share)
 Records another share of the public key.
E encrypt (C cleartext)
 Encrypts a cleartext.
E encrypt (C cleartext, C bound)
 Encrypts a cleartext.
E reencrypt (E cyphertext)
 Re-encrypts a cyphertext.
E partialDecrypt (E initialCypherText, E partialDecryption)
 Partially decrypts a cyphertext.
C decrypt (E initialCypherText, E partialDecryption)
 Decrypts a cyphertext.

Detailed Description

Defines a way to encrypt and decrypt information.

Author
Thomas Leaute
Parameters
<C>the type of cleartext information
<E>the type of encrypted information
<K>the class used for public key shares

Member Function Documentation

◆ addPublicKeyShare()

void frodo2.solutionSpaces.crypto.CryptoScheme< C extends Serializable, E extends Serializable, K extends CryptoScheme.PublicKeyShare >.addPublicKeyShare ( K share)

Records another share of the public key.

Parameters
shareanother share of the public key

◆ decrypt()

C frodo2.solutionSpaces.crypto.CryptoScheme< C extends Serializable, E extends Serializable, K extends CryptoScheme.PublicKeyShare >.decrypt ( E initialCypherText,
E partialDecryption )

Decrypts a cyphertext.

Parameters
initialCypherTextthe initial cyphertext
partialDecryptionthe partially decrypted cyphertext (null if this is the first decryption)
Returns
a decryption of the cyphertext

◆ encrypt() [1/2]

E frodo2.solutionSpaces.crypto.CryptoScheme< C extends Serializable, E extends Serializable, K extends CryptoScheme.PublicKeyShare >.encrypt ( C cleartext)

Encrypts a cleartext.

Parameters
cleartextthe cleartext
Returns
an encryption of the cleartext

Referenced by frodo2.algorithms.dpop.privacy.SecureRerooting< C extends Addable< C >, E extends AddableLimited< C, E >.VariableInfo.createVector().

◆ encrypt() [2/2]

E frodo2.solutionSpaces.crypto.CryptoScheme< C extends Serializable, E extends Serializable, K extends CryptoScheme.PublicKeyShare >.encrypt ( C cleartext,
C bound )

Encrypts a cleartext.

Parameters
cleartextthe cleartext
boundbound used to limit the number of values allowed for a cleartext
Returns
an encryption of the cleartext

◆ newPublicKeyShare()

K frodo2.solutionSpaces.crypto.CryptoScheme< C extends Serializable, E extends Serializable, K extends CryptoScheme.PublicKeyShare >.newPublicKeyShare ( )
Returns
a new share of the public key

Implemented in frodo2.algorithms.dpop.privacy.test.FakeCryptoScheme.

◆ partialDecrypt()

E frodo2.solutionSpaces.crypto.CryptoScheme< C extends Serializable, E extends Serializable, K extends CryptoScheme.PublicKeyShare >.partialDecrypt ( E initialCypherText,
E partialDecryption )

Partially decrypts a cyphertext.

Parameters
initialCypherTextthe initial cyphertext
partialDecryptionthe partially decrypted cyphertext (null if this is the first decryption)
Returns
a partial decryption of the cyphertext

◆ reencrypt()

E frodo2.solutionSpaces.crypto.CryptoScheme< C extends Serializable, E extends Serializable, K extends CryptoScheme.PublicKeyShare >.reencrypt ( E cyphertext)

Re-encrypts a cyphertext.

Parameters
cyphertextthe cyphertext
Returns
a re-encryption of the cyphertext
Warning
Re-encrypting with the same key as before must not mean we then need to decrypt twice!

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