Security Scol plugin
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< T > > DL_CryptoSystemBase< PK_Decryptor, DL_PrivateKey< SCHEME_OPTIONS::Element > > PK_FixedLengthCryptoSystemImpl< PK_Decryptor > DL_CryptoSystemBase< PK_Encryptor, DL_PublicKey< T > > DL_CryptoSystemBase< PK_Encryptor, DL_PublicKey< SCHEME_OPTIONS::Element > > PK_FixedLengthCryptoSystemImpl< PK_Encryptor > DL_DecryptorBase< T > DL_EncryptorBase< T >

Public Member Functions

virtual size_t MaxPlaintextLength (size_t ciphertextLength) const =0
 Provides the maximum length of plaintext for a given ciphertext length.
 
virtual size_t CiphertextLength (size_t plaintextLength) const =0
 Calculate the length of ciphertext given length of plaintext.
 
virtual bool ParameterSupported (const char *name) const =0
 Determines whether this object supports the use of a named parameter.
 
virtual size_t FixedCiphertextLength () const
 Provides the fixed ciphertext length, if one exists.
 
virtual size_t FixedMaxPlaintextLength () const
 Provides the maximum plaintext length given a fixed ciphertext length.
 

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 2660 of file cryptlib.h.

Constructor & Destructor Documentation

◆ ~PK_CryptoSystem()

virtual PK_CryptoSystem::~PK_CryptoSystem ( )
inlinevirtual

Definition at line 2663 of file cryptlib.h.

Member Function Documentation

◆ CiphertextLength()

virtual size_t PK_CryptoSystem::CiphertextLength ( size_t  plaintextLength) const
pure virtual

Calculate the length of ciphertext given length of plaintext.

Returns
the maximum size of the ciphertext, in bytes

This function returns 0 if plaintextLength is not valid (too long).

◆ FixedCiphertextLength()

virtual size_t PK_CryptoSystem::FixedCiphertextLength ( ) const
inlinevirtual

Provides the fixed ciphertext length, if one exists.

Returns
the fixed ciphertext length if one exists, otherwise 0

"Fixed" here means length of ciphertext does not depend on length of plaintext. In this case, it usually does depend on the key length.

Definition at line 2686 of file cryptlib.h.

◆ FixedMaxPlaintextLength()

virtual size_t PK_CryptoSystem::FixedMaxPlaintextLength ( ) const
inlinevirtual

Provides the maximum plaintext length given a fixed ciphertext length.

Returns
maximum plaintext length given the fixed ciphertext length, if one exists, otherwise return 0.

FixedMaxPlaintextLength(0 returns the maximum plaintext length given the fixed ciphertext length, if one exists, otherwise return 0.

Definition at line 2693 of file cryptlib.h.

◆ MaxPlaintextLength()

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

Provides the maximum length of plaintext for a given ciphertext length.

Returns
the maximum size of the plaintext, in bytes

This function returns 0 if ciphertextLength is not valid (too long or too short).

◆ ParameterSupported()

virtual bool PK_CryptoSystem::ParameterSupported ( const char *  name) const
pure virtual

Determines whether this object supports the use of a named parameter.

Parameters
namethe name of the parameter
Returns
true if the parameter name is supported, false otherwise

Some possible parameter names: EncodingParameters(), KeyDerivationParameters() and others Parameters listed in argnames.h


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