PK_CryptoSystem Class Referenceabstract

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

Inheritance diagram for PK_CryptoSystem:

## Public Member Functions

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...

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

## Member Function Documentation

## 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).

## 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).

## ParameterSupported()

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

pure virtual

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

Parameters

  name | the 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

## FixedCiphertextLength()

virtual size_t PK_CryptoSystem::FixedCiphertextLength | ( |  | ) | const

inline virtual

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

## FixedMaxPlaintextLength()

virtual size_t PK_CryptoSystem::FixedMaxPlaintextLength | ( |  | ) | const

inline virtual

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

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

- cryptlib.h