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 "modarith.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
 message encoding method for public key encryption More...
class  TF_Base< TFI, MEI >
 _ More...
class  PK_FixedLengthCryptoSystemImpl< BASE >
 _ More...
class  TF_CryptoSystemBase< INTERFACE, BASE >
 _ More...
class  TF_DecryptorBase
 _ More...
class  TF_EncryptorBase
 _ More...
class  PK_SignatureMessageEncodingMethod
 interface for message encoding method for public key signature schemes More...
struct  PK_SignatureMessageEncodingMethod::HashIdentifierLookup
struct  PK_SignatureMessageEncodingMethod::HashIdentifierLookup::HashIdentifierLookup2< H >
class  PK_DeterministicSignatureMessageEncodingMethod
class  PK_RecoverableSignatureMessageEncodingMethod
class  DL_SignatureMessageEncodingMethod_DSA
class  DL_SignatureMessageEncodingMethod_NR
class  PK_MessageAccumulatorBase
class  PK_MessageAccumulatorImpl< HASH_ALGORITHM >
class  TF_SignatureSchemeBase< INTERFACE, BASE >
 _ More...
class  TF_SignerBase
 _ More...
class  TF_VerifierBase
 _ More...
struct  TF_CryptoSchemeOptions< T1, T2, T3 >
 _ More...
struct  TF_SignatureSchemeOptions< T1, T2, T3, T4 >
 _ More...
class  TF_ObjectImplBase< BASE, SCHEME_OPTIONS, KEY_CLASS >
 _ More...
class  TF_ObjectImplExtRef< BASE, SCHEME_OPTIONS, KEY >
 _ More...
class  TF_ObjectImpl< BASE, SCHEME_OPTIONS, KEY_CLASS >
 _ More...
class  TF_DecryptorImpl< SCHEME_OPTIONS >
 _ More...
class  TF_EncryptorImpl< SCHEME_OPTIONS >
 _ More...
class  TF_SignerImpl< SCHEME_OPTIONS >
 _ More...
class  TF_VerifierImpl< SCHEME_OPTIONS >
 _ More...
class  MaskGeneratingFunction
 _ More...
class  P1363_MGF1
 _ More...
class  P1363_KDF2< H >
 _ More...
class  DL_BadElement
 to be thrown by DecodeElement and AgreeWithStaticPrivateKey More...
class  DL_GroupParameters< T >
 interface for DL group parameters More...
class  DL_GroupParametersImpl< GROUP_PRECOMP, BASE_PRECOMP, BASE >
 _ More...
class  DL_Key< T >
 _ More...
class  DL_PublicKey< T >
 interface for DL public keys More...
class  DL_PrivateKey< T >
 interface for DL private keys More...
class  DL_KeyImpl< PK, GP, O >
 _ More...
class  DL_PrivateKeyImpl< GP >
 _ More...
class  DL_PrivateKey_WithSignaturePairwiseConsistencyTest< BASE, SIGNATURE_SCHEME >
 _ More...
class  DL_PublicKeyImpl< GP >
 _ More...
class  DL_ElgamalLikeSignatureAlgorithm< T >
 interface for Elgamal-like signature algorithms More...
class  DL_KeyAgreementAlgorithm< T >
 interface for DL key agreement algorithms More...
class  DL_KeyDerivationAlgorithm< T >
 interface for key derivation algorithms used in DL cryptosystems More...
class  DL_SymmetricEncryptionAlgorithm
 interface for symmetric encryption algorithms used in DL cryptosystems More...
class  DL_Base< KI >
 _ More...
class  DL_SignatureSchemeBase< INTERFACE, KEY_INTERFACE >
 _ More...
class  DL_SignerBase< T >
 _ More...
class  DL_VerifierBase< T >
 _ More...
class  DL_CryptoSystemBase< PK, KI >
 _ More...
class  DL_DecryptorBase< T >
 _ More...
class  DL_EncryptorBase< T >
 _ More...
struct  DL_SchemeOptionsBase< T1, T2 >
 _ More...
struct  DL_KeyedSchemeOptions< T1, T2 >
 _ More...
struct  DL_SignatureSchemeOptions< T1, T2, T3, T4, T5 >
 _ More...
struct  DL_CryptoSchemeOptions< T1, T2, T3, T4, T5 >
 _ More...
class  DL_ObjectImplBase< BASE, SCHEME_OPTIONS, KEY >
 _ More...
class  DL_ObjectImpl< BASE, SCHEME_OPTIONS, KEY >
 _ More...
class  DL_SignerImpl< SCHEME_OPTIONS >
 _ More...
class  DL_VerifierImpl< SCHEME_OPTIONS >
 _ More...
class  DL_EncryptorImpl< SCHEME_OPTIONS >
 _ More...
class  DL_DecryptorImpl< SCHEME_OPTIONS >
 _ More...
class  DL_SimpleKeyAgreementDomainBase< T >
 _ More...
class  DL_KeyAgreementAlgorithm_DH< ELEMENT, COFACTOR_OPTION >
 DH key agreement algorithm. More...
class  PK_FinalTemplate< BASE >
 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< STANDARD, KEYS, ALG_INFO >
 Trapdoor Function Based Encryption Scheme. More...
class  TF_SS< STANDARD, H, KEYS, ALG_INFO >
 Trapdoor Function Based Signature Scheme. More...
class  DL_SS< KEYS, SA, MEM, H, ALG_INFO >
 Discrete Log Based Signature Scheme. More...
class  DL_ES< KEYS, AA, DA, EA, ALG_INFO >
 Discrete Log Based Encryption Scheme. More...

Typedefs

typedef std::pair< const byte *,
size_t > 
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

void __cdecl P1363_MGF1KDF2_Common (HashTransformation &hash, byte *output, size_t outputLength, const byte *input, size_t inputLength, const byte *derivationParams, size_t derivationParamsLength, bool mask, unsigned int counterStart)


Generated on Sat Dec 23 02:07:12 2006 for Crypto++ by  doxygen 1.5.1-p1