亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rsa.h

?? 加密函數庫:包括多種加密解密算法,數字簽名,散列算法
?? H
字號:
#ifndef CRYPTOPP_RSA_H
#define CRYPTOPP_RSA_H

/** \file
	This file contains classes that implement the RSA
	ciphers and signature schemes as defined in PKCS #1 v2.0.
*/

#include "pkcspad.h"
#include "oaep.h"
#include "integer.h"
#include "asn.h"

NAMESPACE_BEGIN(CryptoPP)

//! .
class RSAFunction : public TrapdoorFunction, public X509PublicKey
{
	typedef RSAFunction ThisClass;

public:
	void Initialize(const Integer &n, const Integer &e)
		{m_n = n; m_e = e;}

	// X509PublicKey
	OID GetAlgorithmID() const;
	void BERDecodeKey(BufferedTransformation &bt);
	void DEREncodeKey(BufferedTransformation &bt) const;

	// CryptoMaterial
	bool Validate(RandomNumberGenerator &rng, unsigned int level) const;
	bool GetVoidValue(const char *name, const std::type_info &valueType, void *pValue) const;
	void AssignFrom(const NameValuePairs &source);

	// TrapdoorFunction
	Integer ApplyFunction(const Integer &x) const;
	Integer PreimageBound() const {return m_n;}
	Integer ImageBound() const {return m_n;}

	// non-derived
	const Integer & GetModulus() const {return m_n;}
	const Integer & GetPublicExponent() const {return m_e;}

	void SetModulus(const Integer &n) {m_n = n;}
	void SetPublicExponent(const Integer &e) {m_e = e;}

protected:
	Integer m_n, m_e;
};

//! .
class InvertibleRSAFunction : public RSAFunction, public TrapdoorFunctionInverse, public PKCS8PrivateKey
{
	typedef InvertibleRSAFunction ThisClass;

public:
	void Initialize(RandomNumberGenerator &rng, unsigned int modulusBits, const Integer &e = 17);
	void Initialize(const Integer &n, const Integer &e, const Integer &d, const Integer &p, const Integer &q, const Integer &dp, const Integer &dq, const Integer &u)
		{m_n = n; m_e = e; m_d = d; m_p = p; m_q = q; m_dp = dp; m_dq = dq; m_u = u;}
	//! factor n given private exponent
	void Initialize(const Integer &n, const Integer &e, const Integer &d);

	// PKCS8PrivateKey
	void BERDecode(BufferedTransformation &bt)
		{PKCS8PrivateKey::BERDecode(bt);}
	void DEREncode(BufferedTransformation &bt) const
		{PKCS8PrivateKey::DEREncode(bt);}
	void BERDecodeKey(BufferedTransformation &bt);
	void DEREncodeKey(BufferedTransformation &bt) const;

	// TrapdoorFunctionInverse
	Integer CalculateInverse(RandomNumberGenerator &rng, const Integer &x) const;

	// GeneratableCryptoMaterial
	bool Validate(RandomNumberGenerator &rng, unsigned int level) const;
	/*! parameters: (ModulusSize, PublicExponent (default 17)) */
	void GenerateRandom(RandomNumberGenerator &rng, const NameValuePairs &alg);
	bool GetVoidValue(const char *name, const std::type_info &valueType, void *pValue) const;
	void AssignFrom(const NameValuePairs &source);

	// non-derived interface
	const Integer& GetPrime1() const {return m_p;}
	const Integer& GetPrime2() const {return m_q;}
	const Integer& GetPrivateExponent() const {return m_d;}
	const Integer& GetModPrime1PrivateExponent() const {return m_dp;}
	const Integer& GetModPrime2PrivateExponent() const {return m_dq;}
	const Integer& GetMultiplicativeInverseOfPrime2ModPrime1() const {return m_u;}

	void SetPrime1(const Integer &p) {m_p = p;}
	void SetPrime2(const Integer &q) {m_q = q;}
	void SetPrivateExponent(const Integer &d) {m_d = d;}
	void SetModPrime1PrivateExponent(const Integer &dp) {m_dp = dp;}
	void SetModPrime2PrivateExponent(const Integer &dq) {m_dq = dq;}
	void SetMultiplicativeInverseOfPrime2ModPrime1(const Integer &u) {m_u = u;}

protected:
	virtual void DEREncodeOptionalAttributes(BufferedTransformation &bt) const {}
	virtual void BERDecodeOptionalAttributes(BufferedTransformation &bt) {}

	Integer m_d, m_p, m_q, m_dp, m_dq, m_u;
};

//! .
struct RSA
{
	static std::string StaticAlgorithmName() {return "RSA";}
	typedef RSAFunction PublicKey;
	typedef InvertibleRSAFunction PrivateKey;
};

//! <a href="http://www.weidai.com/scan-mirror/ca.html#RSA">RSA cryptosystem</a>
template <class STANDARD>
struct RSAES : public TF_ES<STANDARD, RSA>
{
};

//! <a href="http://www.weidai.com/scan-mirror/sig.html#RSA">RSA signature scheme with appendix</a>
/*! See documentation of PKCS1v15 for a list of hash functions that can be used with it. */
template <class STANDARD, class H>
struct RSASS : public TF_SS<STANDARD, H, RSA>
{
};

// The two RSA encryption schemes defined in PKCS #1 v2.0
typedef RSAES<PKCS1v15>::Decryptor RSAES_PKCS1v15_Decryptor;
typedef RSAES<PKCS1v15>::Encryptor RSAES_PKCS1v15_Encryptor;

typedef RSAES<OAEP<SHA> >::Decryptor RSAES_OAEP_SHA_Decryptor;
typedef RSAES<OAEP<SHA> >::Encryptor RSAES_OAEP_SHA_Encryptor;

// The three RSA signature schemes defined in PKCS #1 v2.0
typedef RSASS<PKCS1v15, SHA>::Signer RSASSA_PKCS1v15_SHA_Signer;
typedef RSASS<PKCS1v15, SHA>::Verifier RSASSA_PKCS1v15_SHA_Verifier;

typedef RSASS<PKCS1v15, MD2>::Signer RSASSA_PKCS1v15_MD2_Signer;
typedef RSASS<PKCS1v15, MD2>::Verifier RSASSA_PKCS1v15_MD2_Verifier;

typedef RSASS<PKCS1v15, MD5>::Signer RSASSA_PKCS1v15_MD5_Signer;
typedef RSASS<PKCS1v15, MD5>::Verifier RSASSA_PKCS1v15_MD5_Verifier;

NAMESPACE_END

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕日韩精品一区| 精品奇米国产一区二区三区| 亚洲色图19p| 欧美综合一区二区| 亚洲午夜久久久久| 欧美久久久久久久久久| 日韩高清不卡在线| 久久亚洲捆绑美女| 国产99久久久国产精品| 综合色天天鬼久久鬼色| 91福利区一区二区三区| 亚洲成人一区二区在线观看| 欧美成人a视频| 国产不卡视频在线观看| 国产精品二三区| 欧美三级日韩三级国产三级| 伦理电影国产精品| 中文乱码免费一区二区| 欧美伊人精品成人久久综合97 | 国产精品久久国产精麻豆99网站 | 欧美写真视频网站| 免费成人美女在线观看| 国产精品女上位| 日本精品一级二级| 久久99精品久久久| 中文字幕中文乱码欧美一区二区 | 成人午夜电影网站| 日韩精品1区2区3区| 久久久久国色av免费看影院| 一本大道综合伊人精品热热| 久久狠狠亚洲综合| 亚洲免费观看高清完整版在线| 欧美一区二区精品| 91在线观看成人| 激情综合五月天| 一区二区激情小说| 久久精品亚洲精品国产欧美 | 欧美一级在线观看| 丁香婷婷综合网| 香港成人在线视频| 欧美国产精品一区| 日韩亚洲欧美一区| 91丨porny丨国产入口| 久久99精品国产麻豆婷婷 | 国产精品无圣光一区二区| 在线播放一区二区三区| 成年人国产精品| 国产在线视视频有精品| 一区二区三区丝袜| 国产亚洲一区二区在线观看| 欧美日韩国产美| av亚洲精华国产精华精| 麻豆精品在线观看| 亚洲第一狼人社区| 成人免费在线观看入口| 国产日韩欧美精品综合| 日韩免费高清av| 717成人午夜免费福利电影| 91精彩视频在线观看| a4yy欧美一区二区三区| 国产不卡免费视频| 国内精品国产三级国产a久久| 日韩高清一级片| 午夜精品影院在线观看| 一区二区三区av电影| 国产精品久久99| 国产精品久久久久永久免费观看| 久久综合九色综合97婷婷女人| 在线播放/欧美激情| 欧美少妇bbb| 在线精品视频一区二区三四| 97久久超碰国产精品| 99精品视频一区二区| va亚洲va日韩不卡在线观看| 国产91综合一区在线观看| 国产在线播精品第三| 国产一区二区福利视频| 国产原创一区二区| 国产一区二区三区久久悠悠色av| 九九久久精品视频| 国产综合色视频| 激情六月婷婷综合| 国产99一区视频免费| 国产成人精品影视| 国产91高潮流白浆在线麻豆 | 亚洲欧美日韩国产综合| 亚洲欧美精品午睡沙发| 亚洲精品成a人| 亚洲成人av一区| 蜜臀a∨国产成人精品| 国产在线国偷精品免费看| 国产资源在线一区| 成人三级在线视频| 9i在线看片成人免费| 色婷婷精品久久二区二区蜜臂av | 91精品国产日韩91久久久久久| 欧美肥妇free| 精品国产欧美一区二区| 久久综合久久综合久久| 国产精品国产三级国产a| 亚洲精品亚洲人成人网在线播放| 夜夜嗨av一区二区三区四季av| 亚洲午夜久久久久久久久久久| 日韩av一区二区在线影视| 国产毛片精品视频| 91在线精品秘密一区二区| 欧美日韩在线电影| 久久综合丝袜日本网| 亚洲欧美日韩国产综合在线| 爽好久久久欧美精品| 国产精品综合视频| 99国内精品久久| 日韩一本二本av| 自拍偷拍亚洲综合| 日韩高清在线不卡| a4yy欧美一区二区三区| 日韩一区二区三| 亚洲精品欧美综合四区| 久久激五月天综合精品| 日本韩国一区二区三区| 日韩欧美你懂的| 中文字幕五月欧美| 久久精品国产免费| 日本韩国一区二区三区视频| 日韩精品一区二区三区在线| 日韩美女视频一区二区| 久久草av在线| 欧美在线综合视频| 国产精品久久久99| 国产在线一区观看| 欧美一区二区在线观看| 亚洲日本韩国一区| 国产高清久久久| 欧美一区二区三区啪啪| 亚洲精品视频在线| 不卡视频在线观看| 欧美videossexotv100| 亚洲福利视频三区| 91在线视频观看| 欧美激情在线免费观看| 久久国产精品露脸对白| 欧美精品国产精品| 亚洲另类一区二区| 99久久久无码国产精品| 国产欧美一区二区三区沐欲 | 国产精品一区二区三区99| 欧美日韩国产一区二区三区地区| 中文字幕一区二区5566日韩| 国产精品中文字幕欧美| 欧美v国产在线一区二区三区| 三级在线观看一区二区| 91国偷自产一区二区三区观看| 国产精品美女久久久久aⅴ国产馆| 久久电影网站中文字幕| 日韩视频一区二区三区在线播放 | 99精品视频一区| 欧美经典一区二区| 韩国成人福利片在线播放| 日韩一级大片在线| 麻豆中文一区二区| 欧美一区二区三区日韩视频| 日本视频在线一区| 欧美日本一区二区三区四区| 一区二区三区精品在线观看| 99国产精品一区| 一区二区三区中文字幕电影 | 午夜日韩在线电影| 91影院在线免费观看| 亚洲人吸女人奶水| 欧亚一区二区三区| 亚洲国产精品人人做人人爽| 欧美色图免费看| 日日欢夜夜爽一区| 日韩视频免费观看高清完整版 | 国产精品亚洲第一区在线暖暖韩国 | 欧美精品一区二区久久婷婷| 久久av老司机精品网站导航| 日韩免费看的电影| 国产91色综合久久免费分享| 国产精品嫩草99a| 日本丶国产丶欧美色综合| 亚洲a一区二区| 日韩欧美成人一区| 国产一区二区三区电影在线观看| 精品国产一区二区亚洲人成毛片| 激情综合一区二区三区| 欧美国产精品劲爆| 91久久人澡人人添人人爽欧美| 亚洲影视资源网| 日韩精品一区二区三区蜜臀| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 亚洲一区二区欧美日韩| 5月丁香婷婷综合| 国产真实乱子伦精品视频| 国产精品成人一区二区三区夜夜夜 | 日本女优在线视频一区二区| 精品久久人人做人人爰| www.亚洲国产| 日韩精品免费专区| 中文字幕不卡在线|