Crypto++
5.6.3
Free C++ class library of cryptographic schemes
|
Trapdoor function cryptosystems decryption base class. More...
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... | |
bool | ParameterSupported (const char *name) const |
size_t | FixedMaxPlaintextLength () const |
size_t | FixedCiphertextLength () const |
size_t | MaxPlaintextLength (size_t ciphertextLength) const |
size_t | CiphertextLength (size_t plaintextLength) const |
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 | |
CryptoMaterial & | AccessMaterial () |
returns a reference to the crypto material used by this object | |
const CryptoMaterial & | GetMaterial () const |
returns a const reference to the crypto material used by this object | |
virtual PrivateKey & | AccessPrivateKey ()=0 |
virtual const PrivateKey & | GetPrivateKey () const |
void | BERDecode (BufferedTransformation &bt) |
for backwards compatibility, calls AccessMaterial().Load(bt) | |
void | DEREncode (BufferedTransformation &bt) const |
for backwards compatibility, calls GetMaterial().Save(bt) | |
virtual std::string | AlgorithmName () const |
Provides the name of this algorithm. More... | |
virtual Clonable * | Clone () const |
Copies this object. More... | |
Trapdoor function cryptosystems decryption base class.
Trapdoor function cryptosystems encryption base class.
|
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 | additional configuration options |
COUNTOF(plaintext) == MaxPlaintextLength(ciphertextLength)
ensures the output byte buffer is large enoughIf DecodingResult::isValidCoding is true, then DecodingResult::messageLength is valid and holds the the actual length of the plaintext recovered. on success. The result is undefined if decryption failed. If DecodingResult::isValidCoding is false, then DecodingResult::messageLength is undefined.
Implements PK_Decryptor.
Definition at line 140 of file pubkey.cpp.
References Integer::ByteCount(), Integer::Encode(), IntToString(), SecBlock< T, A >::size(), and Integer::Zero().
|
virtualinherited |
create a new decryption filter
Definition at line 864 of file cryptlib.cpp.
|
inlinevirtualinherited |
Provides the name of this algorithm.
The standard algorithm name can be a name like AES or AES/GCM. Some algorithms do not have standard names yet. For example, there is no standard algorithm name for Shoup's ECIES.
Reimplemented in AuthenticatedSymmetricCipher, SignatureVerificationFilter, SignerFilter, AuthenticatedDecryptionFilter, HashVerificationFilter, HashFilter, StreamTransformationFilter, ClassNullRNG, BitBucket, RDSEED, DH_Domain< GROUP_PARAMETERS, COFACTOR_OPTION >, HMAC< T >, RDRAND, CRC32, GCM_Base, Adler32, EAX_Base, CCM_Base, SHA3, and VMAC_Base.
Definition at line 488 of file cryptlib.h.
Referenced by VariableRounds< 6, 2 >::StaticGetDefaultRounds().
|
inlinevirtualinherited |
Copies this object.
NotImplemented |
Definition at line 464 of file cryptlib.h.