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

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

?? gf2exfactoring.h

?? 可以根據NTL庫進RSA加密、解密算法的實現
?? H
字號:


#ifndef NTL_GF2EXFactoring__H
#define NTL_GF2EXFactoring__H

#include <NTL/GF2EX.h>
#include <NTL/pair_GF2EX_long.h>

NTL_OPEN_NNS


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

                      factorization routines 

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





void SquareFreeDecomp(vec_pair_GF2EX_long& u, const GF2EX& f);
inline vec_pair_GF2EX_long SquareFreeDecomp(const GF2EX& f)
   { vec_pair_GF2EX_long x; SquareFreeDecomp(x, f); return x; }


// Performs square-free decomposition.
// f must be monic.
// If f = prod_i g_i^i, then u is set to a lest of pairs (g_i, i).
// The list is is increasing order of i, with trivial terms 
// (i.e., g_i = 1) deleted.


void FindRoots(vec_GF2E& x, const GF2EX& f);
inline vec_GF2E FindRoots(const GF2EX& f)
   { vec_GF2E x; FindRoots(x, f); return x; }


// f is monic, and has deg(f) distinct roots.
// returns the list of roots

void FindRoot(GF2E& root, const GF2EX& f);
inline GF2E FindRoot(const GF2EX& f)
   { GF2E x; FindRoot(x, f); return x; }


// finds a single root of f.
// assumes that f is monic and splits into distinct linear factors


void SFBerlekamp(vec_GF2EX& factors, const GF2EX& f, long verbose=0);
inline vec_GF2EX SFBerlekamp(const GF2EX& f, long verbose=0)
   { vec_GF2EX x; SFBerlekamp(x, f, verbose); return x; }


// Assumes f is square-free and monic.
// returns list of factors of f.
// Uses "Berlekamp" appraoch.


void berlekamp(vec_pair_GF2EX_long& factors, const GF2EX& f, long verbose=0);
inline vec_pair_GF2EX_long
berlekamp(const GF2EX& f, long verbose=0)
   { vec_pair_GF2EX_long x; berlekamp(x, f, verbose); return x; }


// returns a list of factors, with multiplicities.
// f must be monic.
// Uses "Berlekamp" appraoch.


extern long GF2EX_BlockingFactor;
// Controls GCD blocking for DDF.

void DDF(vec_pair_GF2EX_long& factors, const GF2EX& f, const GF2EX& h,
         long verbose=0);

inline vec_pair_GF2EX_long DDF(const GF2EX& f, const GF2EX& h,
         long verbose=0)
   { vec_pair_GF2EX_long x; DDF(x, f, h, verbose); return x; }


// Performs distinct-degree factorization.
// Assumes f is monic and square-free,  and h  = X^p mod f
// Obsolete: see NewDDF, below.

extern long GF2EX_GCDTableSize; /* = 4 */
// Controls GCD blocking for NewDDF

extern char GF2EX_stem[]; 
// Determines filename stem for external storage in NewDDF.

extern double GF2EXFileThresh; /* = 128 */
// external files are used for baby/giant steps if size
// of these tables exceeds GF2EXFileThresh KB.


void NewDDF(vec_pair_GF2EX_long& factors, const GF2EX& f, const GF2EX& h,
         long verbose=0);
inline vec_pair_GF2EX_long NewDDF(const GF2EX& f, const GF2EX& h,
         long verbose=0)
   { vec_pair_GF2EX_long x; NewDDF(x, f, h, verbose); return x; }


// same as above, but uses baby-step/giant-step method


void EDF(vec_GF2EX& factors, const GF2EX& f, const GF2EX& b,
         long d, long verbose=0);
inline vec_GF2EX EDF(const GF2EX& f, const GF2EX& b,
         long d, long verbose=0)
   { vec_GF2EX x; EDF(x, f, b, d, verbose); return x; }


// Performs equal-degree factorization.
// f is monic, square-free, and all irreducible factors have same degree.
// b = X^p mod f.
// d = degree of irreducible factors of f
// Space for the trace-map computation can be controlled via ComposeBound.



void RootEDF(vec_GF2EX& factors, const GF2EX& f, long verbose=0);
inline vec_GF2EX RootEDF(const GF2EX& f, long verbose=0)
   { vec_GF2EX x; RootEDF(x, f, verbose); return x; }


// EDF for d==1

void SFCanZass(vec_GF2EX& factors, const GF2EX& f, long verbose=0);
inline vec_GF2EX SFCanZass(const GF2EX& f, long verbose=0)
   { vec_GF2EX x; SFCanZass(x, f, verbose); return x; }


// Assumes f is monic and square-free.
// returns list of factors of f.
// Uses "Cantor/Zassenhaus" approach.



void CanZass(vec_pair_GF2EX_long& factors, const GF2EX& f, long verbose=0);
inline vec_pair_GF2EX_long CanZass(const GF2EX& f, long verbose=0)
   { vec_pair_GF2EX_long x; CanZass(x, f, verbose); return x; }


// returns a list of factors, with multiplicities.
// f must be monic.
// Uses "Cantor/Zassenhaus" approach.


void mul(GF2EX& f, const vec_pair_GF2EX_long& v);
inline GF2EX mul(const vec_pair_GF2EX_long& v)
   { GF2EX x; mul(x, v); return x; }


// multiplies polynomials, with multiplicities


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

            irreducible poly's:  tests and constructions

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

long ProbIrredTest(const GF2EX& f, long iter=1);

// performs a fast, probabilistic irreduciblity test
// the test can err only if f is reducible, and the
// error probability is bounded by p^{-iter}.

long DetIrredTest(const GF2EX& f);

// performs a recursive deterministic irreducibility test
// fast in the worst-case (when input is irreducible).

long IterIrredTest(const GF2EX& f);

// performs an iterative deterministic irreducibility test,
// based on DDF.  Fast on average (when f has a small factor).

void BuildIrred(GF2EX& f, long n);
inline GF2EX BuildIrred_GF2EX(long n)
   { GF2EX x; BuildIrred(x, n); NTL_OPT_RETURN(GF2EX, x); }



// Build a monic irreducible poly of degree n.

void BuildRandomIrred(GF2EX& f, const GF2EX& g);
inline GF2EX BuildRandomIrred(const GF2EX& g)
   { GF2EX x; BuildRandomIrred(x, g); NTL_OPT_RETURN(GF2EX, x); }


// g is a monic irreducible polynomial.
// constructs a random monic irreducible polynomial f of the same degree.


long RecComputeDegree(const GF2EX& h, const GF2EXModulus& F);

// f = F.f is assumed to be an "equal degree" polynomial
// h = X^p mod f
// the common degree of the irreducible factors of f is computed
// This routine is useful in counting points on elliptic curves


long IterComputeDegree(const GF2EX& h, const GF2EXModulus& F);


void TraceMap(GF2EX& w, const GF2EX& a, long d, const GF2EXModulus& F,
              const GF2EX& b);
inline GF2EX TraceMap(const GF2EX& a, long d, const GF2EXModulus& F,
              const GF2EX& b)
   { GF2EX x; TraceMap(x, a, d, F, b); return x; }


// w = a+a^q+...+^{q^{d-1}} mod f;
// it is assumed that d >= 0, and b = X^q mod f, q a power of p
// Space allocation can be controlled via ComposeBound (see <NTL/GF2EX.h>)



void PowerCompose(GF2EX& w, const GF2EX& a, long d, const GF2EXModulus& F);
inline GF2EX PowerCompose(const GF2EX& a, long d, const GF2EXModulus& F)
   { GF2EX x; PowerCompose(x, a, d, F); return x; }


// w = X^{q^d} mod f;
// it is assumed that d >= 0, and b = X^q mod f, q a power of p
// Space allocation can be controlled via ComposeBound (see <NTL/GF2EX.h>)

void PlainFrobeniusMap(GF2EX& h, const GF2EXModulus& F);
void ComposeFrobeniusMap(GF2EX& y, const GF2EXModulus& F);
void FrobeniusMap(GF2EX& h, const GF2EXModulus& F);
inline GF2EX FrobeniusMap(const GF2EXModulus& F)
   { GF2EX x; FrobeniusMap(x, F); return x; }
long UseComposeFrobenius(long d, long n);


NTL_CLOSE_NNS

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女视频黄a大片欧美| 国产人久久人人人人爽| 日韩一区在线看| 色综合久久久久综合体| 亚洲综合丁香婷婷六月香| 日韩欧美一级在线播放| 丰满亚洲少妇av| 亚洲va中文字幕| 国产婷婷一区二区| 欧美挠脚心视频网站| 成人精品一区二区三区四区| 香蕉加勒比综合久久| 五月婷婷综合网| 亚洲美女免费视频| 久久亚洲一级片| 欧美日韩中文字幕一区二区| 国产精品一区在线观看乱码| 日韩精品三区四区| 亚洲欧美一区二区三区国产精品| 综合欧美一区二区三区| 精品999在线播放| 日韩一区二区在线看| 欧美日韩精品一区二区三区| 日韩一区二区三区视频在线观看| 精品国精品自拍自在线| 中文欧美字幕免费| 亚洲精品一区二区三区福利| 精品免费99久久| 欧美一区二区视频在线观看2020| 在线视频一区二区免费| 成人精品国产福利| 国产盗摄视频一区二区三区| 日本aⅴ精品一区二区三区| 一区二区三区久久| 综合久久综合久久| 日本成人超碰在线观看| 日韩和欧美一区二区三区| 精品一区二区三区视频| 免费观看91视频大全| 成人一区在线看| 欧美日本不卡视频| 亚洲尤物在线视频观看| 美女网站一区二区| 91蜜桃婷婷狠狠久久综合9色| 国产成人av福利| 欧美日韩精品二区第二页| 精品粉嫩aⅴ一区二区三区四区| 中文字幕一区二区三区在线不卡| 五月婷婷综合激情| 99久久99精品久久久久久| 成人国产精品免费| 欧美一级一区二区| 伊人婷婷欧美激情| 免费不卡在线观看| 色综合久久99| 国产精品久久网站| 亚洲视频香蕉人妖| 国内精品伊人久久久久av一坑| 国产精品一区专区| 欧美不卡激情三级在线观看| 亚洲综合免费观看高清完整版在线| 久久电影网站中文字幕| 国产成人av电影在线播放| 欧美一区二区三区视频在线观看| 亚洲蜜臀av乱码久久精品| 国产精品综合一区二区三区| 91精品国模一区二区三区| 久久久久亚洲蜜桃| 亚洲欧美乱综合| 成人h动漫精品一区二区| 久久久久久久一区| 国产一区二区三区最好精华液 | 岛国一区二区三区| 精品国产一区二区在线观看| 天涯成人国产亚洲精品一区av| 91国产免费看| 欧美精品一区二区精品网| 日本成人在线不卡视频| 国产精品美女www爽爽爽| 国产九色sp调教91| 国产三区在线成人av| 国产精品99久| 国产精品国产a| 99视频在线精品| 91精品国产综合久久国产大片| 亚洲电影一区二区| 国产激情视频一区二区三区欧美| 日韩午夜激情视频| 国产曰批免费观看久久久| 久久先锋影音av鲁色资源网| 福利视频网站一区二区三区| 国产精品美女久久久久久久| 色综合天天天天做夜夜夜夜做| 欧美电影免费观看高清完整版在 | 亚洲欧美中日韩| 一本到高清视频免费精品| 亚洲综合色在线| 欧美一区二区精美| 国产大片一区二区| 亚洲精品成人少妇| 日韩一区二区视频在线观看| 国产精品亚洲一区二区三区在线| 国产目拍亚洲精品99久久精品| 成年人午夜久久久| 香港成人在线视频| 久久亚洲捆绑美女| 91成人免费电影| 日本va欧美va瓶| 中文字幕二三区不卡| 久色婷婷小香蕉久久| 国产精品―色哟哟| 在线成人av网站| 水蜜桃久久夜色精品一区的特点| 欧美大片在线观看| 99精品欧美一区二区三区小说 | 久久久久99精品一区| av电影在线观看一区| 日本vs亚洲vs韩国一区三区二区 | 91在线国产观看| 首页国产欧美久久| 国产精品女上位| 欧美精品v国产精品v日韩精品 | 欧美一区二区三区视频免费| 国产精华液一区二区三区| 亚洲黄色尤物视频| 亚洲精品一线二线三线无人区| 国产精品一区二区x88av| 性做久久久久久| 国产精品福利电影一区二区三区四区| 欧美日韩亚洲综合在线| 成人精品高清在线| 福利视频网站一区二区三区| 琪琪一区二区三区| 亚洲一区二区3| 亚洲男同1069视频| 中文字幕第一区第二区| 26uuu精品一区二区| 欧美日韩aaaaaa| 欧美自拍偷拍午夜视频| 不卡一区二区三区四区| 国产精一区二区三区| 久久精品国产久精国产| 日韩电影一区二区三区四区| 亚洲一区二区3| 亚洲制服欧美中文字幕中文字幕| 国产精品免费网站在线观看| 精品欧美一区二区三区精品久久| 欧美日韩一区久久| 欧美午夜片在线观看| 久久er99精品| 日日嗨av一区二区三区四区| 亚洲国产精品人人做人人爽| 亚洲女厕所小便bbb| 亚洲免费av高清| 亚洲精品综合在线| 尤物av一区二区| 亚洲乱码国产乱码精品精小说| 中文字幕在线不卡国产视频| 国产精品不卡在线| 亚洲欧美偷拍另类a∨色屁股| 日韩一区中文字幕| 亚洲一区在线视频| 视频一区欧美日韩| 麻豆中文一区二区| 狠狠色丁香婷综合久久| 欧美亚洲动漫精品| 欧美老肥妇做.爰bbww视频| 欧美日韩国产乱码电影| 欧美一区二视频| 久久久久久久久免费| 中文字幕不卡在线播放| 中文字幕综合网| 亚洲sss视频在线视频| 免费视频一区二区| 国产精品911| 欧亚洲嫩模精品一区三区| 91精品国产综合久久精品app| 91精品蜜臀在线一区尤物| 久久久精品中文字幕麻豆发布| 中文字幕精品综合| 亚洲一区在线播放| 韩国女主播成人在线| 白白色亚洲国产精品| 欧美猛男gaygay网站| 久久久久一区二区三区四区| 亚洲精品一二三| 久久99精品网久久| 91视频在线观看免费| 日韩精品中午字幕| 亚洲色图欧美在线| 麻豆91精品视频| 91九色最新地址| 久久综合九色综合久久久精品综合| 国产精品沙发午睡系列990531| 亚洲成人久久影院| 成人av先锋影音| 精品国免费一区二区三区| 一区二区三区电影在线播| 精品一区二区三区免费播放| 在线精品视频一区二区三四|