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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? nbtheory.h

?? 研讀AxCrypt對(duì)加解密的處理方法
?? H
字號(hào):
// nbtheory.h - written and placed in the public domain by Wei Dai

#ifndef CRYPTOPP_NBTHEORY_H
#define CRYPTOPP_NBTHEORY_H

#include "integer.h"
#include "algparam.h"

NAMESPACE_BEGIN(CryptoPP)

// obtain pointer to small prime table and get its size
CRYPTOPP_DLL const word16 * GetPrimeTable(unsigned int &size);

// ************ primality testing ****************

// generate a provable prime
CRYPTOPP_DLL Integer MaurerProvablePrime(RandomNumberGenerator &rng, unsigned int bits);
CRYPTOPP_DLL Integer MihailescuProvablePrime(RandomNumberGenerator &rng, unsigned int bits);

CRYPTOPP_DLL bool IsSmallPrime(const Integer &p);

// returns true if p is divisible by some prime less than bound
// bound not be greater than the largest entry in the prime table
CRYPTOPP_DLL bool TrialDivision(const Integer &p, unsigned bound);

// returns true if p is NOT divisible by small primes
CRYPTOPP_DLL bool SmallDivisorsTest(const Integer &p);

// These is no reason to use these two, use the ones below instead
CRYPTOPP_DLL bool IsFermatProbablePrime(const Integer &n, const Integer &b);
CRYPTOPP_DLL bool IsLucasProbablePrime(const Integer &n);

CRYPTOPP_DLL bool IsStrongProbablePrime(const Integer &n, const Integer &b);
CRYPTOPP_DLL bool IsStrongLucasProbablePrime(const Integer &n);

// Rabin-Miller primality test, i.e. repeating the strong probable prime test 
// for several rounds with random bases
CRYPTOPP_DLL bool RabinMillerTest(RandomNumberGenerator &rng, const Integer &w, unsigned int rounds);

// primality test, used to generate primes
CRYPTOPP_DLL bool IsPrime(const Integer &p);

// more reliable than IsPrime(), used to verify primes generated by others
CRYPTOPP_DLL bool VerifyPrime(RandomNumberGenerator &rng, const Integer &p, unsigned int level = 1);

class PrimeSelector
{
public:
	const PrimeSelector *GetSelectorPointer() const {return this;}
	virtual bool IsAcceptable(const Integer &candidate) const =0;
};

// use a fast sieve to find the first probable prime in {x | p<=x<=max and x%mod==equiv}
// returns true iff successful, value of p is undefined if no such prime exists
CRYPTOPP_DLL bool FirstPrime(Integer &p, const Integer &max, const Integer &equiv, const Integer &mod, const PrimeSelector *pSelector);

CRYPTOPP_DLL unsigned int PrimeSearchInterval(const Integer &max);

CRYPTOPP_DLL AlgorithmParameters<AlgorithmParameters<AlgorithmParameters<NullNameValuePairs, Integer::RandomNumberType>, Integer>, Integer>
	MakeParametersForTwoPrimesOfEqualSize(unsigned int productBitLength);

// ********** other number theoretic functions ************

inline Integer GCD(const Integer &a, const Integer &b)
	{return Integer::Gcd(a,b);}
inline bool RelativelyPrime(const Integer &a, const Integer &b)
	{return Integer::Gcd(a,b) == Integer::One();}
inline Integer LCM(const Integer &a, const Integer &b)
	{return a/Integer::Gcd(a,b)*b;}
inline Integer EuclideanMultiplicativeInverse(const Integer &a, const Integer &b)
	{return a.InverseMod(b);}

// use Chinese Remainder Theorem to calculate x given x mod p and x mod q
CRYPTOPP_DLL Integer CRT(const Integer &xp, const Integer &p, const Integer &xq, const Integer &q);
// use this one if u = inverse of p mod q has been precalculated
CRYPTOPP_DLL Integer CRT(const Integer &xp, const Integer &p, const Integer &xq, const Integer &q, const Integer &u);

// if b is prime, then Jacobi(a, b) returns 0 if a%b==0, 1 if a is quadratic residue mod b, -1 otherwise
// check a number theory book for what Jacobi symbol means when b is not prime
CRYPTOPP_DLL int Jacobi(const Integer &a, const Integer &b);

// calculates the Lucas function V_e(p, 1) mod n
CRYPTOPP_DLL Integer Lucas(const Integer &e, const Integer &p, const Integer &n);
// calculates x such that m==Lucas(e, x, p*q), p q primes
CRYPTOPP_DLL Integer InverseLucas(const Integer &e, const Integer &m, const Integer &p, const Integer &q);
// use this one if u=inverse of p mod q has been precalculated
CRYPTOPP_DLL Integer InverseLucas(const Integer &e, const Integer &m, const Integer &p, const Integer &q, const Integer &u);

inline Integer ModularExponentiation(const Integer &a, const Integer &e, const Integer &m)
	{return a_exp_b_mod_c(a, e, m);}
// returns x such that x*x%p == a, p prime
CRYPTOPP_DLL Integer ModularSquareRoot(const Integer &a, const Integer &p);
// returns x such that a==ModularExponentiation(x, e, p*q), p q primes,
// and e relatively prime to (p-1)*(q-1)
CRYPTOPP_DLL Integer ModularRoot(const Integer &a, const Integer &e, const Integer &p, const Integer &q);
// use this one if dp=d%(p-1), dq=d%(q-1), (d is inverse of e mod (p-1)*(q-1))
// and u=inverse of p mod q have been precalculated
CRYPTOPP_DLL Integer ModularRoot(const Integer &a, const Integer &dp, const Integer &dq, const Integer &p, const Integer &q, const Integer &u);

// find r1 and r2 such that ax^2 + bx + c == 0 (mod p) for x in {r1, r2}, p prime
// returns true if solutions exist
CRYPTOPP_DLL bool SolveModularQuadraticEquation(Integer &r1, Integer &r2, const Integer &a, const Integer &b, const Integer &c, const Integer &p);

// returns log base 2 of estimated number of operations to calculate discrete log or factor a number
CRYPTOPP_DLL unsigned int DiscreteLogWorkFactor(unsigned int bitlength);
CRYPTOPP_DLL unsigned int FactoringWorkFactor(unsigned int bitlength);

// ********************************************************

//! generator of prime numbers of special forms
class CRYPTOPP_DLL PrimeAndGenerator
{
public:
	PrimeAndGenerator() {}
	// generate a random prime p of the form 2*q+delta, where delta is 1 or -1 and q is also prime
	// Precondition: pbits > 5
	// warning: this is slow, because primes of this form are harder to find
	PrimeAndGenerator(signed int delta, RandomNumberGenerator &rng, unsigned int pbits)
		{Generate(delta, rng, pbits, pbits-1);}
	// generate a random prime p of the form 2*r*q+delta, where q is also prime
	// Precondition: qbits > 4 && pbits > qbits
	PrimeAndGenerator(signed int delta, RandomNumberGenerator &rng, unsigned int pbits, unsigned qbits)
		{Generate(delta, rng, pbits, qbits);}
	
	void Generate(signed int delta, RandomNumberGenerator &rng, unsigned int pbits, unsigned qbits);

	const Integer& Prime() const {return p;}
	const Integer& SubPrime() const {return q;}
	const Integer& Generator() const {return g;}

private:
	Integer p, q, g;
};

NAMESPACE_END

#endif

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美色倩网站大全免费| 欧美一区中文字幕| 日韩和欧美一区二区三区| 国产亚洲精品福利| 欧美在线啊v一区| 精品一区二区三区日韩| 亚洲男人天堂一区| 久久噜噜亚洲综合| 欧美日韩国产在线观看| 中文字幕亚洲一区二区va在线| 欧美高清你懂得| 97aⅴ精品视频一二三区| 精品午夜一区二区三区在线观看 | 欧美亚洲动漫另类| 国产精品资源在线看| 午夜精品久久久久久久99樱桃 | 亚洲永久精品国产| 国产欧美一区二区精品久导航 | 精品播放一区二区| 欧美久久婷婷综合色| 色呦呦日韩精品| 成人三级伦理片| 韩国成人精品a∨在线观看| 舔着乳尖日韩一区| 一区二区三区在线不卡| 国产精品免费看片| 久久久久久久网| 日韩精品一区二区三区蜜臀| 在线播放91灌醉迷j高跟美女 | voyeur盗摄精品| 国产成人夜色高潮福利影视| 麻豆91在线播放免费| 亚洲一区二区三区美女| 综合久久给合久久狠狠狠97色| 国产欧美日韩综合| 久久久久久久久久久久久夜| 精品少妇一区二区三区免费观看 | 久久精品欧美一区二区三区麻豆| 日韩一区二区中文字幕| 欧美一级理论片| 日韩片之四级片| 欧美白人最猛性xxxxx69交| 日韩一区和二区| 337p日本欧洲亚洲大胆色噜噜| 欧美一区二区在线看| 欧美一区二区三区免费大片| 7777精品伊人久久久大香线蕉| 欧美日韩视频一区二区| 欧美精选在线播放| 欧美一区永久视频免费观看| 精品区一区二区| 久久精品视频网| 亚洲欧美在线aaa| 亚洲与欧洲av电影| 亚洲成人在线网站| 日韩和欧美的一区| 狠狠狠色丁香婷婷综合激情| 国产激情视频一区二区三区欧美 | 奇米888四色在线精品| 蜜桃av一区二区| 国产一区二区精品久久91| 国产精品亚洲专一区二区三区| 国产69精品久久久久毛片| 95精品视频在线| 91麻豆精品国产自产在线| 欧美成人一区二区三区片免费| 久久久久久久久久看片| 中文字幕一区二区在线观看| 亚洲一区二区综合| 青草国产精品久久久久久| 国产一区在线观看视频| 99久久精品免费| 欧美美女一区二区| 久久久久久久久久久电影| 中文字幕一区二区三区不卡在线 | 2020日本不卡一区二区视频| 国产精品电影一区二区| 性欧美大战久久久久久久久| 狠狠色伊人亚洲综合成人| 成人av资源在线观看| 欧美日韩一卡二卡三卡| 欧美va亚洲va在线观看蝴蝶网| 国产精品久久网站| 天天操天天干天天综合网| 国产精品一级在线| 欧美四级电影网| 国产亚洲成av人在线观看导航| 一区二区日韩电影| 国产一区二区三区精品视频| 色偷偷一区二区三区| 日韩精品一区二区三区四区视频| 亚洲欧美电影一区二区| 另类小说视频一区二区| 91视频91自| 精品电影一区二区三区| 亚洲九九爱视频| 国产一二三精品| 91精品国产综合久久久久久久久久| 国产精品视频一二| 日韩不卡一区二区三区| 99精品在线免费| 久久免费美女视频| 亚洲成人av一区二区三区| 99热这里都是精品| 精品国内二区三区| 亚洲成人精品一区二区| av一区二区三区四区| 精品久久久久久无| 亚洲成人一区二区在线观看| 91丨九色丨蝌蚪丨老版| 国产欧美一区二区精品久导航| 另类小说欧美激情| 6080午夜不卡| 亚洲地区一二三色| 一本一道久久a久久精品| 久久久www免费人成精品| 青草国产精品久久久久久| 欧美色综合网站| 亚洲欧美日韩国产综合| 成人av免费观看| 国产性天天综合网| 精油按摩中文字幕久久| 91精品国产综合久久久蜜臀图片 | 成人性生交大片免费看中文| 精品99一区二区三区| 日本一区中文字幕| 欧美福利视频一区| 亚洲午夜在线视频| 在线一区二区三区四区五区| 亚洲另类在线一区| 色94色欧美sute亚洲线路一ni| 国产精品看片你懂得| 国产99精品视频| 国产欧美日韩不卡免费| 国产成人在线看| 国产欧美综合色| 高清在线不卡av| 国产日本一区二区| 床上的激情91.| 国产精品理论片在线观看| 99这里都是精品| 一区二区三区鲁丝不卡| 欧美在线观看18| 亚洲电影在线免费观看| 欧美日韩国产在线播放网站| 午夜婷婷国产麻豆精品| 欧美男生操女生| 日本欧美肥老太交大片| 日韩美一区二区三区| 国产资源在线一区| 国产午夜精品一区二区三区视频 | 国产成人在线观看| 国产精品家庭影院| 91看片淫黄大片一级| 亚洲一区二区免费视频| 在线播放91灌醉迷j高跟美女 | 国内一区二区在线| 久久久综合精品| 不卡的看片网站| 亚洲小少妇裸体bbw| 日韩一级高清毛片| 国产精品一区二区无线| 亚洲欧洲日韩一区二区三区| 欧美在线三级电影| 午夜精品在线视频一区| 欧美一级二级在线观看| 国产毛片精品一区| 亚洲人成电影网站色mp4| 欧美日韩精品专区| 韩国v欧美v日本v亚洲v| 亚洲人精品午夜| 欧美一区二区三区免费| 国产不卡视频一区二区三区| 亚洲精品成a人| 精品少妇一区二区三区 | 91精品国产乱码久久蜜臀| 国产高清精品网站| 亚洲综合在线视频| 精品久久一区二区三区| av不卡在线播放| 三级在线观看一区二区| 久久综合精品国产一区二区三区| 色综合天天做天天爱| 日韩不卡手机在线v区| 国产精品久久久久久久久免费桃花 | 亚洲福利一区二区| 精品88久久久久88久久久| 亚洲精品美国一| 美女久久久精品| 久久久精品综合| 欧美艳星brazzers| 美女任你摸久久| 亚洲激情第一区| 久久综合狠狠综合久久综合88 | 91麻豆成人久久精品二区三区| 午夜精品免费在线| 亚洲国产精品av| 日韩一区国产二区欧美三区| 色婷婷av久久久久久久| 国产精品123|