8#ifndef CRYPTOPP_PKCSPAD_H
9#define CRYPTOPP_PKCSPAD_H
26 CRYPTOPP_STATIC_CONSTEXPR
const char* StaticAlgorithmName() {
return "EME-PKCS1-v1_5";}
37 static const byte decoration[];
38 static const unsigned int length;
45#if defined(CRYPTOPP_IS_DLL)
60template<>
const byte PKCS_DigestDecoration<SHA1>::decoration[];
61template<>
const unsigned int PKCS_DigestDecoration<SHA1>::length;
62template<>
const byte PKCS_DigestDecoration<SHA224>::decoration[];
63template<>
const unsigned int PKCS_DigestDecoration<SHA224>::length;
64template<>
const byte PKCS_DigestDecoration<SHA256>::decoration[];
65template<>
const unsigned int PKCS_DigestDecoration<SHA256>::length;
66template<>
const byte PKCS_DigestDecoration<SHA384>::decoration[];
67template<>
const unsigned int PKCS_DigestDecoration<SHA384>::length;
68template<>
const byte PKCS_DigestDecoration<SHA512>::decoration[];
69template<>
const unsigned int PKCS_DigestDecoration<SHA512>::length;
72template<>
const byte PKCS_DigestDecoration<SHA3_256>::decoration[];
73template<>
const unsigned int PKCS_DigestDecoration<SHA3_256>::length;
74template<>
const byte PKCS_DigestDecoration<SHA3_384>::decoration[];
75template<>
const unsigned int PKCS_DigestDecoration<SHA3_384>::length;
76template<>
const byte PKCS_DigestDecoration<SHA3_512>::decoration[];
77template<>
const unsigned int PKCS_DigestDecoration<SHA3_512>::length;
79template<>
const byte PKCS_DigestDecoration<Weak1::MD2>::decoration[];
80template<>
const unsigned int PKCS_DigestDecoration<Weak1::MD2>::length;
81template<>
const byte PKCS_DigestDecoration<Weak1::MD5>::decoration[];
82template<>
const unsigned int PKCS_DigestDecoration<Weak1::MD5>::length;
90 CRYPTOPP_STATIC_CONSTEXPR
const char*
CRYPTOPP_API StaticAlgorithmName() {
return "EMSA-PKCS1-v1_5";}
92 size_t MinRepresentativeBitLength(
size_t hashIdentifierSize,
size_t digestSize)
const
93 {
return 8 * (digestSize + hashIdentifierSize + 10);}
96 const byte *recoverableMessage,
size_t recoverableMessageLength,
98 byte *representative,
size_t representativeBitLength)
const;
104 static HashIdentifier Lookup()
106 return HashIdentifier(PKCS_DigestDecoration<H>::decoration, PKCS_DigestDecoration<H>::length);
Interface for retrieving values given their names.
Interface for message encoding method for public key signature schemes.
Message encoding method for public key encryption.
PKCS #1 v1.5 Signature Encoding Scheme.
PKCS #1 decoration data structure.
PKCS #1 v1.5 Encryption Padding Scheme.
size_t MaxUnpaddedLength(size_t paddedLength) const
max size of unpadded message in bytes, given max size of padded message in bits (1 less than size of ...
Interface for random number generators.
#define CRYPTOPP_API
Win32 calling convention.
#define CRYPTOPP_DLL_TEMPLATE_CLASS
Instantiate templates in a dynamic library.
Abstract base classes that provide a uniform interface to this library.
Forward declarations for hash functions used in signature encoding methods.
Crypto++ library namespace.
This file contains helper classes/functions for implementing public key algorithms.
Classes for SHA-1 and SHA-2 family of message digests.
Returns a decoding results.
Base class for public key encryption standard classes.
PKCS #1 version 1.5, for use with RSAES and RSASS .
Base class for public key signature standard classes.