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

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

?? pollard.cpp

?? 實現的文件的加密解密算法
?? CPP
字號:
/*
 *   Program to factor big numbers using Pollards (p-1) method.
 *   Works when for some prime divisor p of n, p-1 has only
 *   small factors.
 *   See "Speeding the Pollard and Elliptic Curve Methods"
 *   by Peter Montgomery, Math. Comp. Vol. 48 Jan. 1987 pp243-264
 *
 *   Requires: big.cpp zzn.cpp
 *
 *   Copyright (c) 1988-1999 Shamus Software Ltd.
 */

#include <iostream>
#include <iomanip>
#include "zzn.h"

using namespace std;

#define LIMIT1 10000   /* must be int, and > MULT/2 */
#define LIMIT2 2000000L /* may be long */
#define MULT   2310     /* must be int, product of small primes 2.3.. */
#define NEXT   13           /* next small prime */

Miracl precision=50;  /* number of ints per ZZn */

miracl *mip;
static long p;
static int iv;
static ZZn b,bw,bvw,bd,q,bu[1+MULT/2];
static BOOL cp[1+MULT/2],plus[1+MULT/2],minus[1+MULT/2];

void marks(long start)
{ /* mark non-primes in this interval. Note    *
   * that those < NEXT are dealt with already  */
    int i,pr,j,k;
    for (j=1;j<=MULT/2;j+=2) plus[j]=minus[j]=TRUE;
    for (i=0;;i++)
    { /* mark in both directions */
        pr=mip->PRIMES[i];
        if (pr<NEXT) continue;
        if ((long)pr*pr>start) break;
        k=pr-start%pr;
        for (j=k;j<=MULT/2;j+=pr)
            plus[j]=FALSE;
        k=start%pr;
        for (j=k;j<=MULT/2;j+=pr)
            minus[j]=FALSE;
    }        
}


void next_phase()
{ /* now changing gear */
    ZZn bp,t;
    long interval;
    bw=pow(b,8);
    t=1;
    bp=bu[1]=b;
    for (int m=3;m<=MULT/2;m+=2)
    { /* store bu[m] = b^(m*m) */
        t*=bw;
        bp*=t;
        if (cp[m]) bu[m]=bp;
    }
    t=pow(b,MULT);
    t=pow(t,MULT);
    bd=t*t;            /* bd = b^(2*MULT*MULT) */
    iv=p/MULT;
    if (p%MULT>MULT/2) iv++;
    interval=(long)iv*MULT;
    p=interval+1;
    marks(interval);
    bw=pow(t,(2*iv-1));
    bvw=pow(t,iv);
    bvw=pow(bvw,iv);   /* bvw = b^(MULT*MULT*iv*iv) */
    q=bvw-bu[p%MULT];
}

int giant_step()
{ /* increment giant step */
    long interval;
    iv++;
    interval=(long)iv*MULT;
    p=interval+1;
    marks(interval);
    bw*=bd;
    bvw*=bw;
    return 1;
}

int main()
{  /*  factoring program using Pollards (p-1) method */
    int phase,m,pos,btch;
    long i,pa;
    Big n,t;
    mip=&precision;
    gprime(LIMIT1);
    for (m=1;m<=MULT/2;m+=2)
        if (igcd(MULT,m)==1) cp[m]=TRUE;
        else                 cp[m]=FALSE;
    cout << "input number to be factored\n";
    cin >> n;
    if (prime(n))
    {
        cout << "this number is prime!\n";
        return 0;
    }
    modulo(n);                    /* do all arithmetic mod n */
    phase=1;
    p=0;
    btch=50;
    i=0;
    b=2;
    cout << "phase 1 - trying all primes less than " << LIMIT1;
    cout << "\nprime= " << setw(8) << p;
    forever
    { /* main loop */
        if (phase==1)
        { /* looking for all factors of (p-1) < LIMIT1 */
            p=mip->PRIMES[i];
            if (mip->PRIMES[i+1]==0)
            {
                phase=2;
                cout << "\nphase 2 - trying last prime less than ";
                cout  << LIMIT2 << "\nprime= " << setw(8) << p;
                next_phase();
                btch*=100;
                i++;
                continue;
            }
            pa=p;
            while ((LIMIT1/p) > pa) pa*=p;
            b=pow(b,(int)pa);      /* b = b^pa mod n */
            q=b-1;
        }
        else
        { /* looking for last prime factor of (p-1) < LIMIT2 */
            p+=2;
            pos=p%MULT;
            if (pos>MULT/2) pos=giant_step();

        /* if neither interval+/-pos is prime, don't bother */
                if (!plus[pos] && !minus[pos]) continue;
            if (!cp[pos]) continue;
            q*=(bvw-bu[pos]);        /* batch gcd's in q */
        }
        if (i++%btch==0)
        { /* try for a solution */
            cout << "\b\b\b\b\b\b\b\b" << setw(8) << p << flush;
            t=gcd((Big)q,n);
            if (t==1)
            {
                if (p>LIMIT2) break;
                else continue;
            }
            if (t==n)
            {
                cout << "\ndegenerate case";
                break;
            }
            if (prime(t)) cout << "\nprime factor      " << t;
            else          cout << "\ncomposite factor  " << t;
            n/=t;
            if (prime(n)) cout << "\nprime factor      " << n;
            else          cout << "\ncomposite factor  " << n;
            return 0;
        }
    } 
    cout << "\nfailed to factor\n";
    return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲综合另类| 久久久综合视频| 亚洲精品成人天堂一二三| 成人av集中营| 欧美一区二区三区性视频| av成人老司机| 在线影院国内精品| 91蜜桃网址入口| av资源站一区| 欧美性色黄大片| 欧美四级电影在线观看| 一本一本大道香蕉久在线精品 | 日韩三级视频在线观看| 成人免费不卡视频| 欧美性猛交xxxx乱大交退制版| 91片黄在线观看| 欧美色倩网站大全免费| 日韩一区二区三区观看| 国产欧美日韩另类一区| 一区二区日韩av| 精品一区二区在线播放| 精品国产伦一区二区三区观看体验 | 亚洲男人的天堂在线aⅴ视频| 精品国产乱码久久久久久久| 另类人妖一区二区av| 国产午夜精品福利| 欧美日韩中文另类| 国产自产2019最新不卡| 天天爽夜夜爽夜夜爽精品视频| 蜜桃av一区二区| 久久99精品国产91久久来源| 国产片一区二区三区| 9i在线看片成人免费| 欧美美女直播网站| 中文字幕不卡在线| 丁香婷婷综合五月| 337p粉嫩大胆色噜噜噜噜亚洲| 日韩亚洲欧美高清| 亚洲国产日韩在线一区模特 | 亚洲桃色在线一区| 欧美伊人久久久久久午夜久久久久| 午夜国产精品一区| 国产不卡高清在线观看视频| 亚洲一区二区免费视频| 欧美国产日韩a欧美在线观看| 欧美日本视频在线| 成人av在线播放网站| 男女性色大片免费观看一区二区 | 国产大陆精品国产| 在线电影欧美成精品| 洋洋成人永久网站入口| 91天堂素人约啪| 久久99精品久久久久久久久久久久 | 99国产精品视频免费观看| 亚洲h精品动漫在线观看| 久久精品视频免费| 一本色道久久综合亚洲91| 美女高潮久久久| 天堂蜜桃一区二区三区 | 91久久香蕉国产日韩欧美9色| 亚洲天堂a在线| 精品国产乱码久久久久久久| 久久爱www久久做| 蜜桃视频第一区免费观看| 亚洲欧美一区二区三区极速播放| 久久久久97国产精华液好用吗| 欧美日韩成人在线一区| 97久久精品人人做人人爽| 国产剧情av麻豆香蕉精品| 视频一区二区三区中文字幕| 国产精品久久久久四虎| 国产欧美一二三区| 欧美系列日韩一区| 国产精品一区二区在线观看网站| 国产农村妇女精品| 欧美日韩精品专区| 国产高清久久久| 亚洲h在线观看| 久久久久久久综合狠狠综合| 91国偷自产一区二区使用方法| 亚洲一区av在线| 欧美高清一级片在线观看| 欧美一区二区在线播放| 成人丝袜18视频在线观看| 日本亚洲视频在线| 一区二区国产视频| 中文字幕国产一区| 久久亚洲二区三区| 欧美在线|欧美| 国内精品免费**视频| 久久蜜臀中文字幕| 欧美激情一二三区| 亚洲欧美另类小说| 色综合久久中文综合久久97| 综合欧美一区二区三区| 亚洲特级片在线| 亚洲第一二三四区| 欧美一级日韩不卡播放免费| 在线电影欧美成精品| 日韩精品一区二区在线| 国产区在线观看成人精品| 亚洲天堂2014| 蜜桃视频在线观看一区| 美女视频黄久久| 成人午夜激情影院| 欧美少妇一区二区| 精品福利在线导航| 国产**成人网毛片九色| 日本不卡视频在线| 免费在线观看一区二区三区| 水蜜桃久久夜色精品一区的特点| 天天爽夜夜爽夜夜爽精品视频| 亚洲va天堂va国产va久| 精品一区二区三区在线播放视频| 亚洲午夜久久久久久久久电影院| 一区二区三区中文字幕精品精品| 亚洲成在人线免费| 国产在线精品一区在线观看麻豆| 成人免费黄色大片| 中国色在线观看另类| 欧美伊人精品成人久久综合97| 麻豆91精品91久久久的内涵| 亚洲人123区| 激情偷乱视频一区二区三区| 色偷偷88欧美精品久久久| 日韩西西人体444www| 1024精品合集| 欧美a级理论片| 91免费版pro下载短视频| 精品久久人人做人人爱| 亚洲美腿欧美偷拍| 激情综合网激情| 欧美一级二级在线观看| 亚洲日本丝袜连裤袜办公室| 久久国产尿小便嘘嘘尿| 在线免费观看成人短视频| 国产欧美视频在线观看| 蜜桃一区二区三区四区| 欧美日韩亚洲国产综合| 综合av第一页| 成人免费毛片片v| 欧美刺激脚交jootjob| 亚洲一区二区在线免费看| 波多野结衣的一区二区三区| 欧美变态tickling挠脚心| 亚洲第一福利视频在线| 99热精品国产| 国产清纯白嫩初高生在线观看91| 麻豆成人免费电影| 欧美一区二区三区四区在线观看| 亚洲一区av在线| 91女人视频在线观看| 欧美国产日韩精品免费观看| 国产在线精品一区二区| 欧美日韩大陆一区二区| 亚洲自拍偷拍九九九| 色婷婷av一区| 成人免费在线观看入口| 99久久99久久免费精品蜜臀| 国产精品视频线看| 国产夫妻精品视频| 久久久国产精华| 成人一级视频在线观看| 亚洲国产高清aⅴ视频| 懂色av一区二区在线播放| 久久精品视频一区二区三区| 久久99精品国产麻豆不卡| 久久日韩粉嫩一区二区三区| 国产一区二区在线视频| 国产日韩欧美一区二区三区乱码 | 亚洲国产你懂的| 欧美亚一区二区| 日韩激情中文字幕| 欧美成人综合网站| 国产激情一区二区三区桃花岛亚洲| 久久久综合网站| 99精品在线观看视频| 一区二区三区国产豹纹内裤在线| 7777精品久久久大香线蕉| 蜜臀久久久久久久| 亚洲欧美日韩久久| 欧美电影精品一区二区| 欧美在线制服丝袜| 99久久99久久综合| 国产精品一区二区视频| 日本视频中文字幕一区二区三区| 国产偷v国产偷v亚洲高清| 欧美日韩一区二区三区不卡| 国产成人夜色高潮福利影视| 亚洲午夜精品17c| 一区二区激情视频| 亚洲免费观看高清完整| 日本一区二区动态图| 久久一二三国产| 精品国产乱码久久| 久久久久久久久久久久久久久99 | 国产大陆a不卡| 97se亚洲国产综合自在线| 91免费视频网址| 成人av一区二区三区|