Crypto++
Public Member Functions | List of all members
PK_CryptoSystem Class Referenceabstract

interface for public-key encryptors and decryptors More...

#include <cryptlib.h>

Inheritance diagram for PK_CryptoSystem:
PK_Decryptor PK_Encryptor DL_CryptoSystemBase< PK_Decryptor, DL_PrivateKey< SCHEME_OPTIONS::Element > > DL_CryptoSystemBase< PK_Decryptor, DL_PrivateKey< T > > PK_FixedLengthCryptoSystemImpl< PK_Decryptor > DL_CryptoSystemBase< PK_Encryptor, DL_PublicKey< SCHEME_OPTIONS::Element > > DL_CryptoSystemBase< PK_Encryptor, DL_PublicKey< T > > PK_FixedLengthCryptoSystemImpl< PK_Encryptor > DL_DecryptorBase< SCHEME_OPTIONS::Element > DL_DecryptorBase< T > TF_CryptoSystemBase< PK_Decryptor, TF_Base< TrapdoorFunctionInverse, PK_EncryptionMessageEncodingMethod > > DL_EncryptorBase< SCHEME_OPTIONS::Element > DL_EncryptorBase< T > TF_CryptoSystemBase< PK_Encryptor, TF_Base< RandomizedTrapdoorFunction, PK_EncryptionMessageEncodingMethod > > AlgorithmImpl< DL_DecryptorBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS::AlgorithmInfo > TF_DecryptorBase AlgorithmImpl< DL_EncryptorBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS::AlgorithmInfo > TF_EncryptorBase DL_ObjectImplBase< DL_DecryptorBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS, SCHEME_OPTIONS::PrivateKey > AlgorithmImpl< TF_DecryptorBase, SCHEME_OPTIONS::AlgorithmInfo > DL_ObjectImplBase< DL_EncryptorBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS, SCHEME_OPTIONS::PublicKey > AlgorithmImpl< TF_EncryptorBase, SCHEME_OPTIONS::AlgorithmInfo > DL_ObjectImpl< DL_DecryptorBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS, SCHEME_OPTIONS::PrivateKey > TF_ObjectImplBase< TF_DecryptorBase, SCHEME_OPTIONS, SCHEME_OPTIONS::PrivateKey > DL_ObjectImpl< DL_EncryptorBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS, SCHEME_OPTIONS::PublicKey > TF_ObjectImplBase< TF_EncryptorBase, SCHEME_OPTIONS, SCHEME_OPTIONS::PublicKey > DL_DecryptorImpl< SCHEME_OPTIONS > TF_ObjectImpl< TF_DecryptorBase, SCHEME_OPTIONS, SCHEME_OPTIONS::PrivateKey > DL_EncryptorImpl< SCHEME_OPTIONS > TF_ObjectImpl< TF_EncryptorBase, SCHEME_OPTIONS, SCHEME_OPTIONS::PublicKey > TF_DecryptorImpl< SCHEME_OPTIONS > TF_EncryptorImpl< SCHEME_OPTIONS >

Public Member Functions

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
 

Detailed Description

interface for public-key encryptors and decryptors

This class provides an interface common to encryptors and decryptors for querying their plaintext and ciphertext lengths.

Definition at line 1191 of file cryptlib.h.

Member Function Documentation

virtual size_t PK_CryptoSystem::MaxPlaintextLength ( size_t  ciphertextLength) const
pure virtual

maximum length of plaintext for a given ciphertext length

Note
This function returns 0 if ciphertextLength is not valid (too long or too short).
virtual size_t PK_CryptoSystem::CiphertextLength ( size_t  plaintextLength) const
pure virtual

calculate length of ciphertext given length of plaintext

Note
This function returns 0 if plaintextLength is not valid (too long).
virtual bool PK_CryptoSystem::ParameterSupported ( const char *  name) const
pure virtual

this object supports the use of the parameter with the given name

some possible parameter names: EncodingParameters, KeyDerivationParameters

virtual size_t PK_CryptoSystem::FixedCiphertextLength ( ) const
inlinevirtual

return fixed ciphertext length, if one exists, otherwise return 0

Note
"Fixed" here means length of ciphertext does not depend on length of plaintext. It usually does depend on the key length.

Definition at line 1211 of file cryptlib.h.

Referenced by PK_Decryptor::FixedLengthDecrypt().


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