Crypto++ 8.7
Free C++ class library of cryptographic schemes
|
Trapdoor function cryptosystems decryption base class. More...
#include <pubkey.h>
Public Member Functions | |
DecodingResult | Decrypt (RandomNumberGenerator &rng, const byte *ciphertext, size_t ciphertextLength, byte *plaintext, const NameValuePairs ¶meters=g_nullNameValuePairs) const |
Decrypt a byte string. More... | |
Public Member Functions inherited from TF_CryptoSystemBase< PK_Decryptor, TF_Base< TrapdoorFunctionInverse, PK_EncryptionMessageEncodingMethod > > | |
bool | ParameterSupported (const char *name) const |
size_t | FixedMaxPlaintextLength () const |
size_t | FixedCiphertextLength () const |
Public Member Functions inherited from PK_FixedLengthCryptoSystemImpl< PK_Decryptor > | |
size_t | MaxPlaintextLength (size_t ciphertextLength) const |
size_t | CiphertextLength (size_t plaintextLength) const |
virtual size_t | FixedMaxPlaintextLength () const=0 |
virtual size_t | FixedCiphertextLength () const=0 |
Public Member Functions inherited from PK_Decryptor | |
virtual DecodingResult | Decrypt (RandomNumberGenerator &rng, const byte *ciphertext, size_t ciphertextLength, byte *plaintext, const NameValuePairs ¶meters=g_nullNameValuePairs) const =0 |
Decrypt a byte string. More... | |
virtual BufferedTransformation * | CreateDecryptionFilter (RandomNumberGenerator &rng, BufferedTransformation *attachment=NULL, const NameValuePairs ¶meters=g_nullNameValuePairs) const |
Create a new decryption filter. More... | |
DecodingResult | FixedLengthDecrypt (RandomNumberGenerator &rng, const byte *ciphertext, byte *plaintext, const NameValuePairs ¶meters=g_nullNameValuePairs) const |
Decrypt a fixed size ciphertext. More... | |
virtual size_t | MaxPlaintextLength (size_t ciphertextLength) const =0 |
Provides the maximum length of plaintext for a given ciphertext length. More... | |
virtual size_t | CiphertextLength (size_t plaintextLength) const =0 |
Calculate the length of ciphertext given length of plaintext. More... | |
virtual bool | ParameterSupported (const char *name) const =0 |
Determines whether this object supports the use of a named parameter. More... | |
virtual size_t | FixedCiphertextLength () const |
Provides the fixed ciphertext length, if one exists. More... | |
virtual size_t | FixedMaxPlaintextLength () const |
Provides the maximum plaintext length given a fixed ciphertext length. More... | |
Public Member Functions inherited from PrivateKeyAlgorithm | |
CryptoMaterial & | AccessMaterial () |
Retrieves a reference to a Private Key. More... | |
const CryptoMaterial & | GetMaterial () const |
Retrieves a reference to a Private Key. More... | |
virtual PrivateKey & | AccessPrivateKey ()=0 |
Retrieves a reference to a Private Key. More... | |
virtual const PrivateKey & | GetPrivateKey () const |
Retrieves a reference to a Private Key. More... | |
virtual CryptoMaterial & | AccessMaterial ()=0 |
Retrieves a reference to CryptoMaterial. More... | |
virtual const CryptoMaterial & | GetMaterial () const =0 |
Retrieves a reference to CryptoMaterial. More... | |
Public Member Functions inherited from Algorithm | |
Algorithm (bool checkSelfTestStatus=true) | |
Interface for all crypto algorithms. More... | |
virtual std::string | AlgorithmName () const |
Provides the name of this algorithm. More... | |
virtual std::string | AlgorithmProvider () const |
Retrieve the provider of this algorithm. More... | |
Public Member Functions inherited from Clonable | |
virtual Clonable * | Clone () const |
Copies this object. More... | |
|
inlinevirtual |
|
virtual |
Decrypt a byte string.
rng | a RandomNumberGenerator derived class |
ciphertext | the encrypted byte buffer |
ciphertextLength | the size of the encrypted byte buffer |
plaintext | a byte buffer to hold the decrypted string |
parameters | a set of NameValuePairs to initialize this object |
If DecodingResult::isValidCoding is true, then DecodingResult::messageLength is valid and holds the actual length of the plaintext recovered. The result is undefined if decryption failed. If DecodingResult::isValidCoding is false, then DecodingResult::messageLength is undefined.
COUNTOF(plaintext) == MaxPlaintextLength(ciphertextLength)
ensures the output byte buffer is large enough Implements PK_Decryptor.