Crypto++
5.6.3
Free C++ class library of cryptographic schemes
|
Interface for public-key encryptors. More...
Classes | |
class | InvalidPlaintextLength |
Exception thrown when trying to encrypt plaintext of invalid length. More... | |
Public Member Functions | |
virtual void | Encrypt (RandomNumberGenerator &rng, const byte *plaintext, size_t plaintextLength, byte *ciphertext, const NameValuePairs ¶meters=g_nullNameValuePairs) const =0 |
Encrypt a byte string. More... | |
virtual BufferedTransformation * | CreateEncryptionFilter (RandomNumberGenerator &rng, BufferedTransformation *attachment=NULL, const NameValuePairs ¶meters=g_nullNameValuePairs) const |
Create a new encryption filter. More... | |
virtual size_t | MaxPlaintextLength (size_t ciphertextLength) const =0 |
maximum length of plaintext for a given ciphertext length More... | |
virtual size_t | CiphertextLength (size_t plaintextLength) const =0 |
calculate length of ciphertext given length of plaintext More... | |
virtual bool | ParameterSupported (const char *name) const =0 |
this object supports the use of the parameter with the given name More... | |
virtual size_t | FixedCiphertextLength () const |
return fixed ciphertext length, if one exists, otherwise return 0 More... | |
virtual size_t | FixedMaxPlaintextLength () const |
return maximum plaintext length given the fixed ciphertext length, if one exists, otherwise return 0 | |
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 PublicKey & | AccessPublicKey ()=0 |
virtual const PublicKey & | GetPublicKey () 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... | |
Interface for public-key encryptors.
Definition at line 2163 of file cryptlib.h.
|
pure virtual |
Encrypt a byte string.
rng | a RandomNumberGenerator derived class |
plaintext | the plaintext byte buffer |
plaintextLength | the size of the plaintext byte buffer |
ciphertext | a byte buffer to hold the encrypted string |
parameters | additional configuration options |
CiphertextLength(plaintextLength) != 0
ensures the plaintext isn't too large COUNTOF(ciphertext) == CiphertextLength(plaintextLength)
ensures the output byte buffer is large enough. Implemented in DL_EncryptorBase< T >, DL_EncryptorBase< SCHEME_OPTIONS::Element >, and TF_EncryptorBase.
Referenced by FixedRNG::GenerateBlock().
|
virtual |
Create a new encryption filter.
Definition at line 816 of file cryptlib.cpp.
|
pure virtualinherited |
maximum length of plaintext for a given ciphertext length
Referenced by FixedRNG::GenerateBlock().
|
pure virtualinherited |
calculate length of ciphertext given length of plaintext
Referenced by FixedRNG::GenerateBlock().
|
pure virtualinherited |
this object supports the use of the parameter with the given name
some possible parameter names: EncodingParameters, KeyDerivationParameters
|
inlinevirtualinherited |
return fixed ciphertext length, if one exists, otherwise return 0
Definition at line 2150 of file cryptlib.h.
|
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.