⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pkcspad.h

📁 lots Elliptic curve cryptography codes. Use Visual c++ to compile
💻 H
字号:
#ifndef CRYPTOPP_PKCSPAD_H#define CRYPTOPP_PKCSPAD_H#include "cryptlib.h"#include "pubkey.h"#ifdef CRYPTOPP_IS_DLL#include "sha.h"#endifNAMESPACE_BEGIN(CryptoPP)//! <a href="http://www.weidai.com/scan-mirror/ca.html#cem_PKCS1-1.5">EME-PKCS1-v1_5</a>class PKCS_EncryptionPaddingScheme : public PK_EncryptionMessageEncodingMethod{public:	static const char * StaticAlgorithmName() {return "EME-PKCS1-v1_5";}	size_t MaxUnpaddedLength(size_t paddedLength) const;	void Pad(RandomNumberGenerator &rng, const byte *raw, size_t inputLength, byte *padded, size_t paddedLength, const NameValuePairs &parameters) const;	DecodingResult Unpad(const byte *padded, size_t paddedLength, byte *raw, const NameValuePairs &parameters) const;};template <class H> class PKCS_DigestDecoration{public:	static const byte decoration[];	static const unsigned int length;};// PKCS_DigestDecoration can be instantiated with the following// classes as specified in PKCS#1 v2.0 and P1363aclass SHA1;class RIPEMD160;class Tiger;class SHA224;class SHA256;class SHA384;class SHA512;namespace Weak1 {class MD2;class MD5;}// end of list#ifdef CRYPTOPP_IS_DLLCRYPTOPP_DLL_TEMPLATE_CLASS PKCS_DigestDecoration<SHA1>;CRYPTOPP_DLL_TEMPLATE_CLASS PKCS_DigestDecoration<SHA224>;CRYPTOPP_DLL_TEMPLATE_CLASS PKCS_DigestDecoration<SHA256>;CRYPTOPP_DLL_TEMPLATE_CLASS PKCS_DigestDecoration<SHA384>;CRYPTOPP_DLL_TEMPLATE_CLASS PKCS_DigestDecoration<SHA512>;#endif//! <a href="http://www.weidai.com/scan-mirror/sig.html#sem_PKCS1-1.5">EMSA-PKCS1-v1_5</a>class CRYPTOPP_DLL PKCS1v15_SignatureMessageEncodingMethod : public PK_DeterministicSignatureMessageEncodingMethod{public:	static const char * CRYPTOPP_API StaticAlgorithmName() {return "EMSA-PKCS1-v1_5";}	size_t MinRepresentativeBitLength(size_t hashIdentifierSize, size_t digestSize) const		{return 8 * (digestSize + hashIdentifierSize + 10);}	void ComputeMessageRepresentative(RandomNumberGenerator &rng, 		const byte *recoverableMessage, size_t recoverableMessageLength,		HashTransformation &hash, HashIdentifier hashIdentifier, bool messageEmpty,		byte *representative, size_t representativeBitLength) const;	struct HashIdentifierLookup	{		template <class H> struct HashIdentifierLookup2		{			static HashIdentifier Lookup()			{				return HashIdentifier(PKCS_DigestDecoration<H>::decoration, PKCS_DigestDecoration<H>::length);			}		};	};};//! PKCS #1 version 1.5, for use with RSAES and RSASS/*! Only the following hash functions are supported by this signature standard:	\dontinclude pkcspad.h	\skip can be instantiated	\until end of list*/struct PKCS1v15 : public SignatureStandard, public EncryptionStandard{	typedef PKCS_EncryptionPaddingScheme EncryptionMessageEncodingMethod;	typedef PKCS1v15_SignatureMessageEncodingMethod SignatureMessageEncodingMethod;};NAMESPACE_END#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -