Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

pubkey.h File Reference


Detailed Description

This file contains helper classes/functions for implementing public key algorithms.

The class hierachies in this .h file tend to look like this:

x1 / \ y1 z1 | | x2<y1> x2<z1> | | y2 z2 | | x3<y2> x3<z2> | | y3 z3

The "TF_" prefix means an implementation using trapdoor functions on integers. The "DL_" prefix means an implementation using group operations (in groups where discrete log is hard).

Definition in file pubkey.h.

#include "integer.h"
#include "filters.h"
#include "eprecomp.h"
#include "fips140.h"
#include "argnames.h"
#include <memory>

Go to the source code of this file.

Classes

class  TrapdoorFunctionBounds
  More...

class  RandomizedTrapdoorFunction
  More...

class  TrapdoorFunction
  More...

class  RandomizedTrapdoorFunctionInverse
  More...

class  TrapdoorFunctionInverse
  More...

class  PK_EncryptionMessageEncodingMethod
  More...

class  TF_Base
  More...

class  TF_CryptoSystemBase
  More...

class  TF_DecryptorBase
  More...

class  TF_EncryptorBase
  More...

class  PK_SignatureMessageEncodingMethod
  More...

struct  PK_SignatureMessageEncodingMethod::HashIdentifierLookup
struct  PK_SignatureMessageEncodingMethod::HashIdentifierLookup::HashIdentifierLookup2
class  PK_DeterministicSignatureMessageEncodingMethod
class  PK_RecoverableSignatureMessageEncodingMethod
class  DL_SignatureMessageEncodingMethod_DSA
class  DL_SignatureMessageEncodingMethod_NR
class  PK_MessageAccumulatorBase
class  PK_MessageAccumulatorImpl
class  TF_SignatureSchemeBase
  More...

class  TF_SignerBase
  More...

class  TF_VerifierBase
  More...

struct  TF_CryptoSchemeOptions
  More...

struct  TF_SignatureSchemeOptions
  More...

class  PublicKeyCopier
  More...

class  PrivateKeyCopier
  More...

class  TF_ObjectImplBase
  More...

class  TF_ObjectImplExtRef
  More...

class  TF_ObjectImpl
  More...

class  TF_PublicObjectImpl
  More...

class  TF_PrivateObjectImpl
  More...

class  TF_DecryptorImpl
  More...

class  TF_EncryptorImpl
  More...

class  TF_SignerImpl
  More...

class  TF_VerifierImpl
  More...

class  MaskGeneratingFunction
class  P1363_MGF1
  More...

class  P1363_KDF2
  More...

class  DL_BadElement
class  DL_GroupParameters
  More...

class  DL_GroupParametersImpl
  More...

class  DL_Key
  More...

class  DL_PublicKey
  More...

class  DL_PrivateKey
  More...

class  DL_KeyImpl
  More...

class  DL_PrivateKeyImpl
  More...

class  DL_PrivateKey_WithSignaturePairwiseConsistencyTest
  More...

class  DL_PublicKeyImpl
  More...

class  DL_ElgamalLikeSignatureAlgorithm
  More...

class  DL_KeyAgreementAlgorithm
  More...

class  DL_KeyDerivationAlgorithm
  More...

class  DL_SymmetricEncryptionAlgorithm
  More...

class  DL_Base
  More...

class  DL_SignatureSchemeBase
  More...

class  DL_SignerBase
  More...

class  DL_VerifierBase
  More...

class  DL_CryptoSystemBase
  More...

class  DL_DecryptorBase
  More...

class  DL_EncryptorBase
  More...

struct  DL_SchemeOptionsBase
  More...

struct  DL_KeyedSchemeOptions
  More...

struct  DL_SignatureSchemeOptions
  More...

struct  DL_CryptoSchemeOptions
  More...

class  DL_ObjectImplBase
  More...

class  DL_ObjectImpl
  More...

class  DL_PublicObjectImpl
  More...

class  DL_PrivateObjectImpl
  More...

class  DL_SignerImpl
  More...

class  DL_VerifierImpl
  More...

class  DL_EncryptorImpl
  More...

class  DL_DecryptorImpl
  More...

class  DL_SimpleKeyAgreementDomainBase
  More...

class  DL_KeyAgreementAlgorithm_DH
 DH key agreement algorithm. More...

class  PK_FinalTemplate
 A template implementing constructors for public key algorithm classes. More...

struct  EncryptionStandard
 Base class for public key encryption standard classes. These classes are used to select from variants of algorithms. Note that not all standards apply to all algorithms. More...

struct  SignatureStandard
 Base class for public key signature standard classes. These classes are used to select from variants of algorithms. Note that not all standards apply to all algorithms. More...

class  TF_ES
 Trapdoor Function Based Encryption Scheme. More...

class  TF_SS
 Trapdoor Function Based Signature Scheme. More...

class  DL_SS
 Discrete Log Based Signature Scheme. More...

class  DL_ES
 Discrete Log Based Encryption Scheme. More...


Typedefs

typedef std::pair< const byte *,
unsigned int > 
HashIdentifier
typedef EnumToType< CofactorMultiplicationOption,
NO_COFACTOR_MULTIPLICTION > 
NoCofactorMultiplication
typedef EnumToType< CofactorMultiplicationOption,
COMPATIBLE_COFACTOR_MULTIPLICTION > 
CompatibleCofactorMultiplication
typedef EnumToType< CofactorMultiplicationOption,
INCOMPATIBLE_COFACTOR_MULTIPLICTION > 
IncompatibleCofactorMultiplication

Enumerations

enum  CofactorMultiplicationOption { NO_COFACTOR_MULTIPLICTION, COMPATIBLE_COFACTOR_MULTIPLICTION, INCOMPATIBLE_COFACTOR_MULTIPLICTION }

Functions

Integer NR_EncodeDigest (unsigned int modulusBits, const byte *digest, unsigned int digestLen)
Integer DSA_EncodeDigest (unsigned int modulusBits, const byte *digest, unsigned int digestLen)
void P1363_MGF1KDF2_Common (HashTransformation &hash, byte *output, unsigned int outputLength, const byte *input, unsigned int inputLength, bool mask, unsigned int counterStart)


Generated on Mon Apr 19 18:12:34 2004 for Crypto++ by doxygen 1.3.6-20040222