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

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

?? dl2.cpp

?? 比較新的功能強(qiáng)大的rsa算法源代碼,方便使用.
?? CPP
字號:
/* Even Faster Duursma-Lee char 2 Tate pairing based on eta_T pairing */
/* cl /O2 /GX dl2.cpp ec2.cpp gf2m4x.cpp gf2m.cpp big.cpp ms32.lib  */
/* Half sized loop so nearly twice as fast! */
/* 14th March 2005 */

#include <iostream>
#include <ctime>

#include "gf2m.h"
#include "gf2m4x.h"
#include "ec2.h"

// set TYPE = 1 if B=0 && (M=1 or 7 mod 8), else TYPE = 2
// set TYPE = 1 if B=1 && (M=3 or 5 mod 8), else TYPE = 2 

// some example curves to play with

//#define M 283
//#define T 249
//#define U 219
//#define V 27
//#define B 1
//#define TYPE 1
//#define CF 1

//#define M 367
//#define T 21
//#define U 0
//#define V 0
//#define B 1
//#define TYPE 2
//#define CF 1

//#define M 379
//#define T 317
//#define U 315
//#define V 283
//#define B 1
//#define TYPE 1
//#define CF 1

//#define M 1223
//#define T 255
//#define U 0
//#define V 0
//#define B 1
//#define TYPE 2
//#define CF 487805

//#define M 271
//#define T 207
//#define U 175
//#define V 111
//#define B 0
//#define TYPE 1
//#define CF 487805

#define M 353 
#define B 1
#define T 215
#define U 0
#define V 0
#define TYPE 2
#define CF 1

//#define M 271
//#define U 0
//#define V 0
//#define T 201
//#define B 0
//#define TYPE 1
//#define CF 487805

#define IMOD4 ((M+1)/2)%4

//#define XX (IMOD4%2)
//#define YY (IMOD4/2)
//#define NXX (1-XX)

using namespace std;

Miracl precision(40,0);

//
// Extract ECn point in internal GF2m format
//

void extract(EC2& A,GF2m& x,GF2m& y)
{ 
    x=(A.get_point())->X;
    y=(A.get_point())->Y;
}

//
// Tate Pairing - note miller -> miller variable
// Loop unrolled x2 for speed
//

GF2m4x tate(EC2& P,EC2& Q)
{ 
    GF2m xp,yp,xq,yq,t;
    GF2m4x miller,w,u,u0,u1,v,f,res;
    int i,m=M;         

    normalise(P); normalise(Q);
    extract(P,xp,yp);
    extract(Q,xq,yq);
 
// first calculate the contribution of adding P or -P to 2^[(m+1)/2].P
//
// Note that 2^[(m+1)/2].Point(x,y) = Point(x^2+1,x^2+y^2) or something similar....
// Line slope is x or x+1 (thanks Steven!)
//
// Then the truncated loop, four flavours...

#if IMOD4 == 1
	                                                      //              (X=1)
                                                          //              (Y=0)   
	t=xp;                                                 // 0            (X+1)
	f.set(t*(xp+xq+1)+yq+yp+B,t+xq+1,t+xq,0);             // 0            (Y)


    miller=1;
    for (i=0;i<(m-3)/2;i+=2)
    {

        t=xp+1; xp=sqrt(xp); yp=sqrt(yp);                 // 1            (X)
        u0.set(t*(xp+xq+1)+yp+yq,t+xq+1,t+xq,0);          // 1   0        (X) ((X+1)*(xp+1)+Y)
		xq*=xq; yq*=yq;

        t=xp+1; xp=sqrt(xp); yp=sqrt(yp);
        u1.set(t*(xp+xq+1)+yp+yq,t+xq+1,t+xq,0);
	    xq*=xq; yq*=yq;

	    u=mul(u0,u1);
        miller*=u;
    }

// final step

    t=xp+1; xp=sqrt(xp); yp=sqrt(yp);
    u.set(t*(xp+xq+1)+yp+yq,t+xq+1,t+xq,0);
    miller*=u;

#endif

#if IMOD4 == 0
														  //              (X=0)
                                                          //              (Y=0)
	t=xp+1;                                               // 1            (X+1)
    f.set(t*(xq+xp+1)+yq+yp+B,t+xq+1,t+xq,0);             // 0            (Y)
    miller=1;
  
    for (i=0;i<(m-1)/2;i+=2)  
    {
// loop is unrolled x 2 
        t=xp; xp=sqrt(xp); yp=sqrt(yp);                   // 0            (X)
        u0.set(t*(xp+xq)+yp+yq+xp+1,t+xq+1,t+xq,0);       // 0  xp+1      (X)  ((X+1)*(xp+1)+Y
	    xq*=xq; yq*=yq;

        t=xp; xp=sqrt(xp); yp=sqrt(yp);
        u1.set(t*(xp+xq)+yp+yq+xp+1,t+xq+1,t+xq,0);
	    xq*=xq; yq*=yq;

	    u=mul(u0,u1);
        miller*=u;
    }

#endif

#if IMOD4 == 2
														  //              (X=0)                                                         //              (Y=1)
    t=xp+1;                                               // 1            (X+1)
    f.set(t*(xq+xp+1)+yq+yp+B+1,t+xq+1,t+xq,0);           // 1            (Y)
    miller=1;
    for (i=0;i<(m-1)/2;i+=2)
    {

        t=xp;  xp=sqrt(xp); yp=sqrt(yp);                 // 0            (X)
        u0.set(t*(xp+xq)+yp+yq+xp,t+xq+1,t+xq,0);         // 0   xp+0     (X)  ((X+1)*(xp+1)+Y)
	    xq*=xq; yq*=yq;

        t=xp;  xp=sqrt(xp); yp=sqrt(yp);
        u1.set(t*(xp+xq)+yp+yq+xp,t+xq+1,t+xq,0);
	    xq*=xq; yq*=yq;

        u=mul(u0,u1);
        miller*=u;
    }

#endif

#if IMOD4 == 3
                                                          //              (X=1)                                                        //              (Y=1)
    t=xp;                                                 // 0            (X+1)
    f.set(t*(xq+xp+1)+yq+yp+B+1,t+xq+1,t+xq,0);           // 1            (Y)

    miller=1;
    for (i=0;i<(m-3)/2;i+=2)
    {

        t=xp+1; xp=sqrt(xp); yp=sqrt(yp);                 // 1            (X)
        u0.set(t*(xp+xq+1)+yp+yq+1,t+xq+1,t+xq,0);        // 1   1        (X) ((X+1)*(xp+1)+Y)
	    xq*=xq; yq*=yq;

        t=xp+1; xp=sqrt(xp); yp=sqrt(yp);
        u1.set(t*(xp+xq+1)+yp+yq+1,t+xq+1,t+xq,0);
	    xq*=xq; yq*=yq;

        u=mul(u0,u1);
        miller*=u;
    }

// final step

    t=xp+1; xp=sqrt(xp); yp=sqrt(yp);
    u.set(t*(xp+xq+1)+yp+yq+1,t+xq+1,t+xq,0);
    miller*=u;

#endif

    miller*=f;

// raising to the power (2^m-2^[m+1)/2]+1)(2^[(m+1)/2]+1)(2^(2m)-1) or (2^m+2^[(m+1)/2]+1)(2^[(m+1)/2]-1)(2^(2m)-1)
// 6 Frobenius, 4 big field muls...

    u=v=w=miller;
    for (i=0;i<(m+1)/2;i++) u*=u;

#if TYPE == 1   

    u.powq();
    w.powq();
    v=w;
    w.powq();
    res=w;
    w.powq();
    w*=u;
    w*=miller;
    res*=v;
    u.powq();
    u.powq();
    res*=u;

#else

    u.powq();
    v.powq();
    w=u*v;
    v.powq();
    w*=v;
    v.powq();
    u.powq();
    u.powq();
    res=v*u;
    res*=miller;
  
#endif

    res/=w;
    return res;            
}

int main()
{
    EC2 P,Q,W;
    Big bx,s,r,x,y;
    GF2m4x res; 
    time_t seed;
	int i;
    miracl *mip=&precision;

    time(&seed);
    irand((long)seed);

    if (!ecurve2(-M,T,U,V,(Big)1,(Big)B,TRUE,MR_PROJECTIVE)) // -M indicates Super-Singular
    {
        cout << "Problem with the curve" << endl;
        return 0;
    }

// Curve order = 2^M+2^[(M+1)/2]+1 or 2^M-2^[(M+1)/2]+1 is nearly prime     

    cout << "IMOD4= " << IMOD4 << endl;
    cout << "M%8= " << M%8 << endl; 

    forever 
    {
        bx=rand(M,2);
        if (P.set(bx,bx)) break;
    }

    forever 
    {
        bx=rand(M,2);
        if (Q.set(bx,bx)) break;
    }

   /*  for (int i=0;i<10000;i++)  */

    P*=CF;  // cofactor multiplication
    Q*=CF;
/*
mip->IOBASE=16;
cout << "P= " << P << endl;
cout << "Q= " << Q << endl;

Big ddd=pow((Big)2,32);
Big sx,sy;


P.get(x,y);
sx=x;
sy=y;

while (x>0)
{
    cout << "0x" << hex << x%ddd << ",";
    x/=ddd;
}
cout << endl;

while (y>0)
{
    cout << "0x" << hex << y%ddd << ",";
    y/=ddd;
}
cout << endl;

ddd=256;
x=sx;
y=sy;

while (x>0)
{
    cout << "0x" << hex << x%ddd << ",";
    x/=ddd;
}
cout << endl;

while (y>0)
{
    cout << "0x" << hex << y%ddd << ",";
    y/=ddd;
}
cout << endl;


Q.get(x,y);
sx=x;
sy=y;
ddd=pow((Big)2,32);

while (x>0)
{
    cout << "0x" << hex << x%ddd << ",";
    x/=ddd;
}
cout << endl;

while (y>0)
{
    cout << "0x" << hex << y%ddd << ",";
    y/=ddd;
}
cout << endl;

ddd=256;
x=sx;
y=sy;

while (x>0)
{
    cout << "0x" << hex << x%ddd << ",";
    x/=ddd;
}
cout << endl;

while (y>0)
{
    cout << "0x" << hex << y%ddd << ",";
    y/=ddd;
}
cout << endl;



exit(0);
*/
//for (i=0;i<1000;i++)
    res=tate(P,Q);

    s=rand(256,2);
    r=rand(256,2);
    res=pow(res,s); res=pow(res,r);
//mip->IOBASE=16;
    cout << "e(P,Q)^sr= " << res << endl;

    P*=s;
    Q*=r;

    res=tate(P,Q);

    cout << "e(sP,rQ)=  " << res << endl;

//Big q=pow((Big)2,M)-pow((Big)2,(M+1)/2)+1;

//cout << pow(res,q) << endl;

    return 0;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区视频在线播放| 中文字幕一区二区视频| 成人在线综合网站| 亚洲第一久久影院| 久久九九影视网| 欧美日韩在线播放一区| 国产精品18久久久久久久久 | 日本一区二区三级电影在线观看 | 舔着乳尖日韩一区| 中文字幕国产精品一区二区| 91精品黄色片免费大全| 91免费精品国自产拍在线不卡| 免费看日韩精品| 一区二区三区国产精品| 久久影院电视剧免费观看| 欧美日精品一区视频| 99久久夜色精品国产网站| 奇米精品一区二区三区在线观看一| 中文字幕中文字幕在线一区| 精品国产乱码久久久久久夜甘婷婷| 欧美午夜一区二区三区免费大片| 国产成人亚洲综合a∨婷婷 | 另类小说欧美激情| 亚洲男同性恋视频| 国产精品欧美一区喷水| 亚洲精品在线观| 欧美一级黄色大片| 欧美视频三区在线播放| 91老师片黄在线观看| 国产精品亚洲午夜一区二区三区| 色视频欧美一区二区三区| 国产成人免费9x9x人网站视频| 男男成人高潮片免费网站| 午夜电影网一区| 亚洲18色成人| 亚洲福利视频导航| 亚洲成a人v欧美综合天堂下载| 亚洲免费视频中文字幕| 国产精品国产三级国产普通话蜜臀 | 亚洲一区二区三区四区在线| 国产精品久久久久7777按摩 | 欧美xfplay| 欧美大胆一级视频| 日韩女优电影在线观看| 日韩欧美黄色影院| 欧美一级片免费看| 日韩欧美一区在线观看| 欧美一区二区视频网站| 日韩一级大片在线观看| 日韩色视频在线观看| 欧美成人国产一区二区| 久久综合色播五月| 久久久久国产精品人| 国产日韩一级二级三级| 国产精品免费丝袜| 亚洲丝袜美腿综合| 亚洲一区二区三区爽爽爽爽爽| 亚洲午夜激情av| 喷水一区二区三区| 国内不卡的二区三区中文字幕| 国产一区二区三区免费观看| 国产成人综合网| 99久久久精品| 欧美日本在线看| 日韩视频永久免费| 久久久久综合网| 韩国一区二区三区| 国产在线播放一区二区三区 | 欧美日韩国产另类不卡| 欧美一区二区三区视频在线观看 | 国产日产精品一区| 亚洲人成电影网站色mp4| 亚洲综合免费观看高清完整版在线 | 欧美精品乱码久久久久久按摩| 在线观看亚洲专区| 欧美福利一区二区| 久久久亚洲精品石原莉奈| 国产欧美va欧美不卡在线| 亚洲欧美乱综合| 青青草国产精品97视觉盛宴 | 色视频成人在线观看免| 日韩欧美中文字幕公布| 国产精品素人视频| 亚洲国产精品综合小说图片区| 蜜桃久久久久久| 不卡的av在线| 欧美嫩在线观看| 日本一区二区三区视频视频| 一级特黄大欧美久久久| 麻豆视频一区二区| 色综合网色综合| 欧美大白屁股肥臀xxxxxx| 中文字幕永久在线不卡| 美女脱光内衣内裤视频久久网站| 国产91精品久久久久久久网曝门| 欧美做爰猛烈大尺度电影无法无天| 精品国产乱码久久久久久闺蜜| 亚洲天堂免费看| 精品一区二区在线免费观看| 色女孩综合影院| 国产香蕉久久精品综合网| 亚洲福利一区二区三区| 国产一区二区免费在线| 欧美色爱综合网| 国产精品久久久久久户外露出| 久久国产精品色婷婷| 91麻豆文化传媒在线观看| 日韩视频在线你懂得| 夜夜操天天操亚洲| 成人激情小说网站| 精品奇米国产一区二区三区| 一个色综合av| 99视频精品免费视频| 26uuu色噜噜精品一区二区| 午夜欧美一区二区三区在线播放| 成人黄色国产精品网站大全在线免费观看 | 久久久影院官网| 日日骚欧美日韩| 91色|porny| 中文成人综合网| 国产一区二区女| 欧美xxx久久| 日本系列欧美系列| 欧美日韩国产一级片| 亚洲男人的天堂av| 成人精品视频.| 国产精品丝袜黑色高跟| 精品一区二区三区免费| 7777精品伊人久久久大香线蕉完整版| 中文字幕亚洲综合久久菠萝蜜| 国产乱人伦偷精品视频免下载| 欧美一区二区三区免费观看视频 | 2023国产精华国产精品| 毛片av一区二区| 日韩亚洲欧美中文三级| 日韩国产成人精品| 7777精品伊人久久久大香线蕉| 亚洲一区二区影院| 欧美日韩电影一区| 香蕉久久一区二区不卡无毒影院| 欧美三级视频在线播放| 亚洲一线二线三线久久久| 欧美在线不卡一区| 亚洲国产综合91精品麻豆| 欧美日本在线视频| 日本不卡中文字幕| 欧美成人伊人久久综合网| 精品在线观看免费| 日本一区二区三区dvd视频在线| 国产成人综合亚洲91猫咪| 日本一区二区不卡视频| 成人黄色在线网站| 樱桃国产成人精品视频| 欧美午夜电影在线播放| 亚洲一区二区成人在线观看| 欧美日韩国产高清一区二区三区| 首页国产欧美久久| 日韩欧美一二三四区| 国产一区二区三区观看| 国产精品久久久久毛片软件| 色综合天天性综合| 五月婷婷综合激情| 欧美va在线播放| 成人国产亚洲欧美成人综合网| 亚洲人成影院在线观看| 欧美日韩国产在线观看| 九色综合国产一区二区三区| 国产欧美综合色| 日本精品视频一区二区| 免费一区二区视频| 久久精品夜夜夜夜久久| 色婷婷精品久久二区二区蜜臀av| 亚洲va国产天堂va久久en| 精品欧美黑人一区二区三区| 成人av在线资源网| 午夜激情综合网| 久久精品夜夜夜夜久久| 91久久精品日日躁夜夜躁欧美| 日韩制服丝袜先锋影音| 国产亚洲精品福利| 欧美系列日韩一区| 韩国成人福利片在线播放| 自拍偷拍国产精品| 欧美一卡二卡三卡四卡| 成人a免费在线看| 三级影片在线观看欧美日韩一区二区 | 91国偷自产一区二区使用方法| 亚洲午夜免费视频| 久久综合给合久久狠狠狠97色69| 91色porny在线视频| 久久国产视频网| 一区二区三区在线观看动漫| 精品国产区一区| 在线视频欧美区| 丰满少妇在线播放bd日韩电影| 亚洲成av人片在线观看无码| 欧美激情综合五月色丁香 | 国产日韩av一区| 制服丝袜亚洲精品中文字幕| 99视频一区二区|