#include <VerifiableBlindKeyMsg.h>
Inheritance diagram for CODEX_KeyService::VerifiableBlindKeyMsg:


Public Types | |
| typedef CODEX_Server::ServerState::ShareType::ValueType | ValueType |
| The base type of partial results. | |
| typedef CODEX_Server::ServerState::LSType::LabelType | LabelType |
| The type of a sharing label. | |
| typedef CODEX_ThresholdCrypto::DLProof | DLProof |
| The type of a single-result proof. | |
| typedef CODEX_Client::CipherTextType | CipherTextType |
| The type of a ciphertext. | |
| typedef CODEX_Client::BlindCipherTextType | BlindCipherTextType |
| The type of a blind ciphertext. | |
| typedef CODEX_Client::BlindPlainTextType | BlindPlainTextType |
| The type of a blind plaintext. | |
Public Member Functions | |
| VerifiableBlindKeyMsg () | |
| Default constructor, for creating an object to be unmarshalled. | |
| VerifiableBlindKeyMsg (const CODEX_ASN1::OctetString &name, const BlindPlainTextType &blindedKey, const CODEX_Ciphers::RSASignature &requestSignature, const BlindCipherTextType &blindCipher) | |
| Create a VerifiableBlindKeyMsg from the basic components. | |
| VerifiableBlindKeyMsg (const VerifiableBlindKeyMsg &aBKM) | |
| Create a VerifiableBlindKeyMsg from another VerifiableBlindKeyMsg. | |
| virtual | ~VerifiableBlindKeyMsg () |
| Virtual destructor. | |
| void | operator= (const VerifiableBlindKeyMsg &aBKM) |
| Assignment operator. | |
| CODEX_Client::BlindKeyMsg | upcast () const |
| Convert the object to its base class. | |
| int | marshal (unsigned char **pp) const |
| Serialize the message. | |
| void * | unmarshal (void *bogus, unsigned char **pp, long length) |
| Unserialize the message. | |
| const BlindCipherTextType & | blindCipher () const |
| The blinded ciphertext for which we have the decryption. | |
| const CODEX_ASN1::OctetString & | name () const |
| The name of the key. | |
| const BlindPlainTextType & | blindedKey () const |
| The blinded key. | |
| const CODEX_Ciphers::RSASignature & | requestSignature () const |
| The client's signature from the read request. | |
| BIGNUM * | digest (const CODEX_Ciphers::HashFunction &hf) const |
| Create a message digest. | |
| bool | initialized () const |
Static Public Attributes | |
| static const unsigned int | NumProofs = CODEX_Server::ServerState::ShareType::NumShares |
| The number of proofs. | |
Protected Attributes | |
| bool | m_initialized |
| Has this object been initialized yet, or is it still blank? | |
Blind threshold decryption must be verifiable. In the case of a deterministic encryption scheme, such as RSA, combinatorics suffice to determine if an alleged plaintext is the decryption of the ciphertext. For ElGamal, which is non-deterministic encryption, this is not feasible (according to the Decision Diffie-Hellman Assumption, which is the basis for the cryptosystem's security). Instead, we must provide a separate proof that each partial result is a correct computation. These proofs are encapsulated in this class.
Definition at line 42 of file VerifiableBlindKeyMsg.h.
|
1.4.1