日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

(ECC)椭圆曲线加密算法原理和C++实现源码

發布時間:2023/12/10 c/c++ 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (ECC)椭圆曲线加密算法原理和C++实现源码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

(1)ECC加密原理:

(2)編譯生成LibTommath靜態庫

(3)ECC源碼


今天介紹一下利用LibTommath數學庫實現橢圓曲線加密算法的原理和源碼。

(1)ECC加密原理:

 1、用戶A選定一條適合加密的橢圓曲線Ep(a,b)(如:y2=x3+ax+b),并取橢圓曲線上一點,作為基點G。
 2、用戶A選擇一個私有密鑰k,并生成公開密鑰K=kG。
 3、用戶A將Ep(a,b)和點K,G傳給用戶B。
 4、用戶B接到信息后 ,將待傳輸的明文編碼到Ep(a,b)上一點M,并產生一個隨機整數r(r<n)。
 5、用戶B計算點C1=M+rK;C2=rG。
 6、用戶B將C1、C2傳給用戶A。
 7、用戶A接到信息后,計算C1-kC2,結果就是點M。因為
? ? ? ? ? C1-kC2=M+rK-k(rG)=M+rK-r(kG)=M
   再對點M進行解碼就可以得到明文。

? 密碼學中,描述一條Fp上的橢圓曲線,常用到六個參量:?T=(p,a,b,G,n,h)。
  (p 、a 、b 用來確定一條橢圓曲線,G為基點,n為點G的階,h 是橢圓曲線上所有點的個數m與n相除的整數部分)

  這幾個參量取值的選擇,直接影響了加密的安全性。參量值一般要求滿足以下幾個條件:

  1、p 當然越大越安全,但越大,計算速度會變慢,200位左右可以滿足一般安全要求;
  2、p≠n×h;
  3、pt≠1 (mod n),1≤t<20;
  4、4a3+27b2≠0 (mod p);
  5、n 為素數;
  6、h≤4。

(2)編譯生成LibTommath靜態庫

經評論區提醒,原LibTommath庫已經刪除了,大家可以在Github上來下載:https://github.com/libtom/libtommath。


以下內容可直接跳過:

首先下載LibTommath的源碼,網址為:Best Open Source Mac Libraries Software 2022

下載后,解壓如圖所示:

打開bn.pdf文件后,這是該庫的使用手冊,在第10頁會看到如下指令,在終端執行make命令即可生成靜態庫:libtommath.a

附:在執行編譯時可能會生成一些小問題,那就是需要把tommath.h和tommath_superclass.h需要錢修改一下,如下:

只是頭文件包含的問題,視具體情況來修改。

(3)ECC源碼

下面是ECC源碼。

/* 1、用戶A選定一條適合加密的橢圓曲線Ep(a,b)(如:y2=x3+ax+b),并取橢圓曲線上一點,作為基點G。2、用戶A選擇一個私有密鑰k,并生成公開密鑰K=kG。3、用戶A將Ep(a,b)和點K,G傳給用戶B。4、用戶B接到信息后 ,將待傳輸的明文編碼到Ep(a,b)上一點M,并產生一個隨機整數r(r<n)。5、用戶B計算點C1=M+rK;C2=rG。6、用戶B將C1、C2傳給用戶A。7、用戶A接到信息后,計算C1-kC2,結果就是點M。因為C1-kC2=M+rK-k(rG)=M+rK-r(kG)=M再對點M進行解碼就可以得到明文。密碼學中,描述一條Fp上的橢圓曲線,常用到六個參量:T=(p,a,b,G,n,h)。(p 、a 、b 用來確定一條橢圓曲線,G為基點,n為點G的階,h 是橢圓曲線上所有點的個數m與n相除的整數部分)這幾個參量取值的選擇,直接影響了加密的安全性。參量值一般要求滿足以下幾個條件:1、p 當然越大越安全,但越大,計算速度會變慢,200位左右可以滿足一般安全要求;2、p≠n×h;3、pt≠1 (mod n),1≤t<20;4、4a3+27b2≠0 (mod p);5、n 為素數;6、h≤4。 */ #include <stdio.h> #include <string.h> #include <stdlib.h> #include <iostream> #include "tommath.h" #include <time.h>#define BIT_LEN 800 #define KEY_LONG 128 //私鑰比特長 #define P_LONG 200 //有限域P比特長 #define EN_LONG 40 //一次取明文字節數(x,20)(y,20)//得到lon比特長素數 int GetPrime(mp_int *m,int lon); //得到B和G點X坐標G點Y坐標 void Get_B_X_Y(mp_int *x1,mp_int *y1,mp_int *b, mp_int *a, mp_int *p); //點乘 bool Ecc_points_mul(mp_int *qx,mp_int *qy, mp_int *px, mp_int *py,mp_int *d,mp_int *a,mp_int *p); //點加 int Two_points_add(mp_int *x1,mp_int *y1,mp_int *x2,mp_int *y2,mp_int *x3,mp_int *y3,mp_int *a,bool zero,mp_int *p); //二進制存儲密文 int chmistore(mp_int *a,FILE *fp); //把讀取的字符存入mp_int型數 int putin(mp_int *a,char *ch,int chlong); //ECC加密 void Ecc_encipher(mp_int *qx,mp_int *qy, mp_int *px, mp_int *py,mp_int *a,mp_int *p); //ECC解密 void Ecc_decipher(mp_int *k, mp_int *a,mp_int *p); //實現將mp_int數a中的比特串還原為字符串并賦給字符串ch: int chdraw(mp_int *a,char *ch); //取密文 int miwendraw(mp_int *a,char *ch,int chlong);int myrng(unsigned char *dst, int len, void *dat) {int x;for (x = 0; x < len; x++) dst[x] = rand() & 0xFF;return len; }using namespace std; int main(){cout<<"\n 本程序實現橢圓曲線的加密解密"<<endl;cout<<"\n------------------------------------------------------------------------\n"<<endl;mp_int GX;mp_int GY;mp_int K;//私有密鑰mp_int A;mp_int B;mp_int QX;mp_int QY;mp_int P;//Fp中的p(有限域P)mp_init(&GX);mp_init(&GY);mp_init(&K);mp_init(&A);mp_init(&B);mp_init(&QX);mp_init(&QY);mp_init(&P);time_t t; srand( (unsigned) time( &t ) );printf("橢圓曲線的參數如下(以十進制顯示):\n"); GetPrime(&P,P_LONG);printf("有限域 P 是:\n"); char temp[800]={0};mp_toradix(&P,temp,10);printf("%s\n",temp); GetPrime(&A,30);char tempA[800]={0};printf("曲線參數 A 是:\n"); mp_toradix(&A,tempA,10);printf("%s\n",tempA); Get_B_X_Y(&GX,&GY,&B,&A,&P);char tempB[800]={0};printf("曲線參數 B 是:\n"); mp_toradix(&B,tempB,10);printf("%s\n",tempB); char tempGX[800]={0};printf("曲線G點X坐標是:\n"); mp_toradix(&GX,tempGX,10);printf("%s\n",tempGX); char tempGY[800]={0};printf("曲線G點Y坐標是:\n");mp_toradix(&GY,tempGY,10);printf("%s\n",tempGY); //------------------------------------------------------------------GetPrime(&K,KEY_LONG);char tempK[800]={0};printf("私鑰 K 是:\n");mp_toradix(&K,tempK,10);printf("%s\n",tempK); Ecc_points_mul(&QX,&QY,&GX,&GY,&K,&A,&P);char tempQX[800]={0};printf("公鑰X坐標是:\n");mp_toradix(&QX,tempQX,10);printf("%s\n",tempQX); char tempQY[800]={0};printf("公鑰Y坐標是:\n");mp_toradix(&QY,tempQY,10);printf("%s\n",tempQY); printf("\n------------------------------------------------------------------------\n");Ecc_encipher(&QX,&QY,&GX,&GY,&A,&P);//加密printf("\n------------------------------------------------------------------------\n");Ecc_decipher(&K,&A,&P);//解密printf("\n------------------------------------------------------------------------\n");char cc;cout<<"\n\n請擊一鍵退出!\n";cin>>cc;mp_clear(&GX);mp_clear(&GY);mp_clear(&K);//私有密鑰mp_clear(&A);mp_clear(&B);mp_clear(&QX);mp_clear(&QY);mp_clear(&P);//Fp中的p(有限域P)return 0; }int GetPrime(mp_int *m,int lon){mp_prime_random_ex(m, 10, lon, (rand()&1)?LTM_PRIME_2MSB_OFF:LTM_PRIME_2MSB_ON, myrng, NULL);return MP_OKAY; }void Get_B_X_Y(mp_int *x1,mp_int *y1,mp_int *b, mp_int *a, mp_int *p) {mp_int tempx,tempy;mp_int temp;mp_int compare;mp_int temp1;mp_int temp2;mp_int temp3;mp_int temp4;mp_int temp5;mp_int temp6;mp_int temp7;mp_int temp8;mp_init_set_int (&compare, 0);mp_init(&tempx);mp_init(&tempy);mp_init(&temp);mp_init(&temp1);mp_init(&temp2);mp_init(&temp3);mp_init(&temp4);mp_init(&temp5);mp_init(&temp6);mp_init(&temp7);mp_init(&temp8);while(1){//4a3+27b2≠0 (mod p)GetPrime(b,40);mp_expt_d(a, 3, &temp1);mp_sqr(b, &temp2);mp_mul_d(&temp1, 4, &temp3);mp_mul_d(&temp2, 27, &temp4);mp_add(&temp3, &temp4, &temp5);mp_mod(&temp5,p,&temp);if(mp_cmp(&temp, &compare)!=0 ){break;}}//y2=x3+ax+b,隨機產生X坐標,根據X坐標計算Y坐標GetPrime(x1,30);mp_expt_d(x1, 3, &temp6);mp_mul(a, x1, &temp7);mp_add(&temp6, &temp7, &temp8);mp_add(&temp8, b, &tempx);mp_sqrt(&tempx, y1);mp_clear(&tempx);mp_clear(&tempy);mp_clear(&temp);mp_clear(&temp1);mp_clear(&temp2);mp_clear(&temp3);mp_clear(&temp4);mp_clear(&temp5);mp_clear(&temp6);mp_clear(&temp7);mp_clear(&temp8);}bool Ecc_points_mul(mp_int *qx,mp_int *qy, mp_int *px, mp_int *py,mp_int *d,mp_int *a,mp_int *p) { mp_int X1, Y1; mp_int X2, Y2; mp_int X3, Y3; mp_int XX1, YY1; mp_int A,P;int i; bool zero=false; char Bt_array[800]={0}; char cm='1';mp_toradix(d,Bt_array,2); mp_init_set_int(&X3, 0);mp_init_set_int(&Y3, 0);mp_init_copy(&X1, px);mp_init_copy(&X2, px);mp_init_copy(&XX1, px);mp_init_copy(&Y1, py);mp_init_copy(&Y2, py);mp_init_copy(&YY1, py);mp_init_copy(&A, a);mp_init_copy(&P, p);for(i=1;i<=KEY_LONG-1;i++){mp_copy(&X2, &X1);mp_copy(&Y2, &Y1);Two_points_add(&X1,&Y1,&X2,&Y2,&X3,&Y3,&A,zero,&P); mp_copy(&X3, &X2);mp_copy(&Y3, &Y2);if(Bt_array[i]==cm){mp_copy(&XX1, &X1);mp_copy(&YY1, &Y1);Two_points_add(&X1,&Y1,&X2,&Y2,&X3,&Y3,&A,zero,&P);mp_copy(&X3, &X2);mp_copy(&Y3, &Y2);}}if(zero){cout<<"It is Zero_Unit!";return false;//如果Q為零從新產生D}mp_copy(&X3, qx);mp_copy(&Y3, qy);mp_clear(&X1);mp_clear(&Y1);mp_clear(&X2);mp_clear(&Y2);mp_clear(&X3);mp_clear(&Y3);mp_clear(&XX1);mp_clear(&YY1);mp_clear(&A);mp_clear(&P);return true; }//兩點加 int Two_points_add(mp_int *x1,mp_int *y1,mp_int *x2,mp_int *y2,mp_int *x3,mp_int *y3,mp_int *a,bool zero,mp_int *p) { mp_int x2x1; mp_int y2y1; mp_int tempk; mp_int tempy; mp_int tempzero; mp_int k; mp_int temp1; mp_int temp2; mp_int temp3; mp_int temp4; mp_int temp5; mp_int temp6; mp_int temp7; mp_int temp8; mp_int temp9; mp_int temp10;mp_init(&x2x1); mp_init(&y2y1); mp_init(&tempk); mp_init(&tempy); mp_init(&tempzero); mp_init(&k); mp_init(&temp1); mp_init(&temp2); mp_init_set(&temp3,2); mp_init(&temp4); mp_init(&temp5); mp_init(&temp6); mp_init(&temp7); mp_init(&temp8); mp_init(&temp9); mp_init(&temp10);if(zero){mp_copy(x1, x3);mp_copy(y1, y3);zero=false;goto L;}mp_zero(&tempzero);mp_sub(x2, x1, &x2x1);if(mp_cmp(&x2x1,&tempzero)==-1){mp_add(&x2x1, p, &temp1);mp_zero(&x2x1);mp_copy(&temp1, &x2x1);}mp_sub(y2, y1, &y2y1);if(mp_cmp(&y2y1,&tempzero)==-1){mp_add(&y2y1, p, &temp2);mp_zero(&y2y1);mp_copy(&temp2, &y2y1);}if(mp_cmp(&x2x1, &tempzero)!=0){mp_invmod(&x2x1,p,&tempk);mp_mulmod(&y2y1, &tempk, p, &k);}else{if(mp_cmp(&y2y1, &tempzero)==0){mp_mulmod(&temp3,y1,p,&tempy);mp_invmod(&tempy,p,&tempk);mp_sqr(x1, &temp4); mp_mul_d(&temp4, 3, &temp5);mp_add(&temp5, a, &temp6);mp_mulmod(&temp6, &tempk, p, &k);}else{zero=true;goto L;}} mp_sqr(&k, &temp7);mp_sub(&temp7, x1, &temp8);mp_submod(&temp8, x2, p, x3);mp_sub(x1, x3, &temp9);mp_mul(&temp9, &k, &temp10);mp_submod(&temp10, y1, p, y3);L:mp_clear(&x2x1);mp_clear(&y2y1);mp_clear(&tempk);mp_clear(&tempy);mp_clear(&tempzero);mp_clear(&k);mp_clear(&temp1);mp_clear(&temp2);mp_clear(&temp3);mp_clear(&temp4);mp_clear(&temp5);mp_clear(&temp6);mp_clear(&temp7);mp_clear(&temp8);mp_clear(&temp9);mp_clear(&temp10);return 1;}//二進制存儲密文 int chmistore(mp_int *a,FILE *fp) {int i,j;char ch;char chtem[4];mp_digit yy=(mp_digit)255;for (i=0; i <= a->used - 1; i++) { chtem[3]=(char)(a->dp[i] & yy); chtem[2]=(char)((a->dp[i] >> (mp_digit)8) & yy); chtem[1]=(char)((a->dp[i] >> (mp_digit)16) & yy); chtem[0]=(char)((a->dp[i] >> (mp_digit)24) & yy);for(j=0;j<4;j++){fprintf(fp,"%c",chtem[j]);}} ch=char(255);fprintf(fp, "%c", ch);return MP_OKAY; }//把讀取的字符存入mp_int型數 int putin(mp_int *a,char *ch,int chlong) {mp_digit *temp,yy;int i,j,res;if(a->alloc<chlong*2/7+2){if((res=mp_grow(a,chlong*2/7+2))!=MP_OKAY)return res;}a->sign=0;mp_zero(a);temp=a->dp;i=0;yy=(mp_digit)15;if(chlong<4){for(j=chlong-1;j>=0;j--){*temp |= (mp_digit)(ch[j] & 255);*temp <<= (mp_digit)CHAR_BIT;}*temp >>= (mp_digit)8;a->used=1;return MP_OKAY;}if(chlong<7){i+=4;*++temp |= (mp_digit)(ch[i-1] & yy);*temp <<= (mp_digit)CHAR_BIT;*temp |= (mp_digit)(ch[i-2] & 255);*temp <<= (mp_digit)CHAR_BIT;*temp |= (mp_digit)(ch[i-3] & 255);*temp <<= (mp_digit)CHAR_BIT;*temp-- |= (mp_digit)(ch[i-4] & 255); //存放被切分的字符的低四位for(j=chlong-1;j>=i;j--){ *temp |= (mp_digit)(ch[j] & 255);*temp <<= (mp_digit)CHAR_BIT; }*temp >>= (mp_digit)4;*temp |= (mp_digit)((ch[i-1] & 255) >> 4); //存放被切分的字符的高四位a->used=2;return MP_OKAY;}//以7個字符為單元循環,把七個字符放入的mp_int 的兩個單元中for(j=0;j<chlong/7;j++){i+=7;*++temp |= (mp_digit)(ch[i-1] & 255);*temp <<= (mp_digit)CHAR_BIT;*temp |= (mp_digit)(ch[i-2] & 255);*temp <<= (mp_digit)CHAR_BIT;*temp |= (mp_digit)(ch[i-3] & 255);*temp <<= (mp_digit)4;*temp-- |= (mp_digit)((ch[i-4] & 255) >> 4); //存放被切分的字符的高四位*temp |= (mp_digit)(ch[i-4] & yy); //存放被切分的字符的低四位*temp <<= (mp_digit)CHAR_BIT;*temp |= (mp_digit)(ch[i-5] & 255);*temp <<= (mp_digit)CHAR_BIT;*temp |= (mp_digit)(ch[i-6] & 255);*temp <<= (mp_digit)CHAR_BIT;*temp++ |= (mp_digit)(ch[i-7] & 255); temp++;}if((chlong>=7)&&(chlong%7!=0)) //剩余字符的存放{if(chlong%7 < 4) //剩余字符少余4個時,只需一個mp_digit單元存放{for(j=chlong-1;j>=i;j--){*temp |= (mp_digit)(ch[j] & 255);*temp <<= (mp_digit)CHAR_BIT;}*temp >>= (mp_digit)8;a->used=chlong*2/7+1;}else{ //剩余字符不小于4個時,需兩個mp_digit單元存放i+=4;*temp |= (mp_digit)(ch[i-1] & yy);*temp <<= (mp_digit)CHAR_BIT;*temp |= (mp_digit)(ch[i-2] & 255);*temp <<= (mp_digit)CHAR_BIT;*temp |= (mp_digit)(ch[i-3] & 255);*temp <<= (mp_digit)CHAR_BIT;*temp++ |= (mp_digit)(ch[i-4] & 255); //存放被切分的字符的低四位for(j=chlong-1;j>=i;j--){ *temp |= (mp_digit)(ch[j] & 255);*temp <<= (mp_digit)CHAR_BIT; }*temp >>= (mp_digit)4;*temp |= (mp_digit)((ch[i-1] & 255) >> 4); //存放被切分的字符的高四位a->used=chlong*2/7+2;}}else{a->used=chlong*2/7;}return MP_OKAY; }void Ecc_encipher(mp_int *qx,mp_int *qy, mp_int *px, mp_int *py,mp_int *a,mp_int *p){ //公鑰X、Y坐標,曲線G點X、Y坐標,曲線參數A,有限域Pmp_int mx, my;mp_int c1x, c1y;mp_int c2x, c2y;mp_int r;mp_int tempx, tempy;bool zero=false;FILE *fp,*fq;int i;char miwenx[280]={0};char miweny[280]={0};char stemp[650]={0};mp_init(&mx);mp_init(&my);mp_init(&c1x);mp_init(&c1y);mp_init(&c2x);mp_init(&c2y);mp_init(&r);mp_init(&tempx);mp_init(&tempy);GetPrime(&r, 100);char filehead[60],filefoot[20],filename[85]={0};cout<<"請輸入您要加密文件的存放路徑和文件名(如: c:\\000\\大整數運算 ):"<<endl;cin>>filehead;cout<<"請輸入您要加密文件的擴展名(如: .doc ):"<<endl;cin>>filefoot;strcpy(filename,filehead);strcat(filename,filefoot);//打開要加密文件if((fp=fopen(filename,"rb"))==NULL){printf("can not open the file!");exit(1);}unsigned int FileLong=0;//文件字符長度char ChTem;//臨時字符變int Frequency=0;int Residue=0;while( !feof(fp) )//找文件字符長度{ChTem = fgetc( fp );FileLong++;}--FileLong;Frequency = FileLong/EN_LONG;Residue = FileLong%EN_LONG;printf("Frequency= %d, Residue= %d\n", Frequency, Residue);int enlongtemp=EN_LONG/2;//printf("%d\n",Frequency); //printf("%d\n",Residue); char filemi[85];strcpy(filemi,filehead);strcat(filemi,"密文");strcat(filemi,filefoot);//打開保存密文文件if((fq=fopen(filemi,"wb"))==NULL){printf("can not open the file!\n");exit(1);}printf("\n開始加密...\n");rewind(fp);clock_t start, finish;double duration;for(i=0; i<Frequency; i++){ fread(miwenx,1,enlongtemp,fp);//讀入字符串miwenx[enlongtemp]=char(255);fread(miweny,1,enlongtemp,fp);//讀入字符串miweny[enlongtemp]=char(255);putin(&mx, miwenx,enlongtemp+1);//文件存入 putin(&my, miweny,enlongtemp+1);//文件存入Ecc_points_mul(&c2x,&c2y,px,py,&r,a,p);//加密Ecc_points_mul(&tempx,&tempy,qx,qy,&r,a,p); Two_points_add(&mx,&my,&tempx,&tempy,&c1x,&c1y,a,zero,p);//保存密文 chmistore(&c1x,fq); chmistore(&c1y,fq);chmistore(&c2x,fq);chmistore(&c2y,fq);}//剩余字符處理if ( Residue > 0){if (Residue <= enlongtemp ) {fread(miwenx,1,Residue,fp);//讀入字符串miwenx[Residue]=char(255);putin(&mx, miwenx,Residue+1);//文件存入 mp_zero(&my);}else{fread(miwenx,1,enlongtemp,fp);//讀入字符串miwenx[enlongtemp]=char(255);fread(miweny,1,Residue-enlongtemp,fp);//讀入字符串miweny[Residue-enlongtemp]=char(255);putin(&mx, miwenx,enlongtemp+1);//文件存入 putin(&my, miweny,Residue-enlongtemp+1);//文件存入 }Ecc_points_mul(&c2x,&c2y,px,py,&r,a,p);//加密Ecc_points_mul(&tempx,&tempy,qx,qy,&r,a,p); Two_points_add(&mx,&my,&tempx,&tempy,&c1x,&c1y,a,zero,p);//保存密文 chmistore(&c1x,fq); chmistore(&c1y,fq);chmistore(&c2x,fq);chmistore(&c2y,fq); }cout<<"\nok!加密完畢!"<<endl;cout<<"密文以二進制保存"<<endl;cout<<"密文存放路徑為 "<<filemi<<endl ;fclose(fq);fclose(fp);mp_clear(&mx);mp_clear(&my);mp_clear(&c1x);mp_clear(&c1y);mp_clear(&c2x);mp_clear(&c2y);mp_clear(&r);mp_clear(&tempx);mp_clear(&tempy);}//取密文int miwendraw(mp_int *a,char *ch,int chlong) {mp_digit *temp;int i,j,res;if(a->alloc<chlong/4){if((res=mp_grow(a,chlong/4))!=MP_OKAY)return res;}a->alloc=chlong/4;a->sign=0;mp_zero(a);temp=a->dp;i=0;for(j=0;j<chlong/4;j++){i+=4;*temp |= (mp_digit)(ch[i-4] & 255);*temp <<= (mp_digit)CHAR_BIT;*temp |= (mp_digit)(ch[i-3] & 255);*temp <<= (mp_digit)CHAR_BIT;*temp |= (mp_digit)(ch[i-2] & 255);*temp <<= (mp_digit)CHAR_BIT;*temp++ |= (mp_digit)(ch[i-1] & 255); }a->used=chlong/4;return MP_OKAY; }//實現將mp_int數a中的比特串還原為字符串并賦給字符串ch: int chdraw(mp_int *a,char *ch) {int i,j;mp_digit *temp,xx,yy;temp=a->dp;i=0;yy=(mp_digit)255; //用于位與運算,取八位比特串xx=(mp_digit)15; //用于位與運算,取四位比特串for(j=0;j<a->used/2;j++) //以兩個單元為循環,把兩個單元的比特串賦給7個字符{i+=7;ch[i-4]=(char)(*++temp & xx);ch[i-3]=(char)((*temp >> (mp_digit)4) & yy); ch[i-2]=(char)((*temp >> (mp_digit)12) & yy);ch[i-1]=(char)((*temp-- >> (mp_digit)20) & yy);ch[i-7]=(char)(*temp & yy);ch[i-6]=(char)((*temp >> (mp_digit)8) & yy);ch[i-5]=(char)((*temp >> (mp_digit)16) & yy);ch[i-4] <<= 4;ch[i-4]+=(char)((*temp++ >> (mp_digit)24) & xx);temp++;}if(a->used%2!=0) //剩于一個單元的處理{ch[i++] = (char)(*temp & yy);ch[i++] = (char)((*temp >> (mp_digit)8) & yy);ch[i++] = (char)((*temp >> (mp_digit)16) & yy);}--i;while(int(ch[i]&0xFF) != 255 && i>0) i--;return i;}void Ecc_decipher(mp_int *k, mp_int *a,mp_int *p){mp_int c1x, c1y;mp_int c2x, c2y;mp_int tempx, tempy;mp_int mx, my;mp_int temp;mp_init(&temp);mp_init(&c1x);mp_init(&c1y);mp_init(&c2x);mp_init(&c2y);mp_init(&tempx);mp_init(&tempy);mp_init(&mx);mp_init(&my);mp_int tempzero;mp_init(&tempzero);int i;char stemp[700]={0};FILE *fp,*fq;bool zero=false;clock_t start, finish;double duration;char filehead[60],filefoot[20],filename[85]={0};cout<<"請輸入您要解密的文件的存放路徑和文件名(如: c:\\000\\大整數運算 ):"<<endl;cin>>filehead;cout<<"請輸入您要解密的文件的擴展名(如: .doc ):"<<endl;cin>>filefoot;strcpy(filename,filehead);strcat(filename,filefoot);printf("\n開始解密\n");if((fp=fopen(filename,"rb"))==NULL){printf("can not open the file!");exit(1);}//打開保存解密結果文件char filemi[80];strcpy(filemi, filehead);strcat(filemi, "解密");strcat(filemi, filefoot);if((fq=fopen(filemi,"wb"))==NULL){printf("can not open the file!");exit(1);}rewind(fp);while(!feof(fp)){i=0;while(1){stemp[i]=fgetc(fp);if(i%4==0){if(int(stemp[i]&0xFF) == 255 ) goto L1;}i++;}L1: miwendraw(&c1x, stemp, i);i=0;while(1){stemp[i]=fgetc(fp);if(i%4==0){if(int(stemp[i]&0xFF) == 255 ) goto L2;}i++;}L2: miwendraw(&c1y, stemp, i);i=0;while(1){stemp[i]=fgetc(fp);if(i%4==0){if(int(stemp[i]&0xFF) == 255 ) goto L3;}i++;}L3: miwendraw(&c2x, stemp, i);i=0;while(1){stemp[i]=fgetc(fp);if(i%4==0){if(int(stemp[i]&0xFF) == 255 ) goto L4;}i++;}L4: miwendraw(&c2y, stemp, i);mp_zero(&tempzero);if(mp_cmp(&c1x, &tempzero)==0) break;Ecc_points_mul(&tempx, &tempy, &c2x, &c2y, k, a, p); mp_neg(&tempy, &temp);Two_points_add(&c1x,&c1y,&tempx,&temp,&mx,&my,a,zero,p);int chtem;chtem=chdraw(&mx,stemp);//從ming中取出字符串//保存解密結果for(int kk=0;kk<chtem;kk++){fprintf(fq,"%c",stemp[kk]);}chtem=chdraw(&my,stemp);//從ming中取出字符串//保存解密結果for(int kk=0;kk<chtem;kk++){fprintf(fq,"%c",stemp[kk]);}}cout<<"\nok!解密完畢!"<<endl;cout<<"解密后的文字存放路徑為 "<<filemi<<endl;fclose(fq);fclose(fp);mp_clear(&c1x);mp_clear(&c1y);mp_clear(&c2x);mp_clear(&c2y);mp_clear(&tempx);mp_clear(&tempy);mp_clear(&mx);mp_clear(&my);mp_clear(&temp);}

在命令行執行:

$ g++ ecc.cpp -o main libtommath.a

生成可執行文件main。

總結

以上是生活随笔為你收集整理的(ECC)椭圆曲线加密算法原理和C++实现源码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

中文在线√天堂 | 久久久免费视频播放 | 欧美在线1| 91视频免费看片 | 国产大片黄色 | 欧美色图一区 | 久久午夜影视 | 啪啪免费视频网站 | 日韩在线视频免费播放 | www.久久色 | 韩国一区二区三区视频 | 日韩免费网站 | 久久最新 | 国产精品久久久久永久免费观看 | 亚洲国产精品999 | 亚洲精品美女久久久久网站 | 日本三级中文字幕在线观看 | 在线你懂的视频 | 精品久久久久久久久中文字幕 | 久久久久久不卡 | 久久综合久色欧美综合狠狠 | 久久国产精品久久久久 | 国产一级二级av | 精品国产久 | 久久人91精品久久久久久不卡 | 久久香蕉国产精品麻豆粉嫩av | 欧美日韩国产一二 | 三级黄色网络 | 国产成人在线看 | 草免费视频 | 久久精品屋| 天天综合网~永久入口 | 超碰97在线资源站 | 中文字字幕在线 | 91人人澡人人爽人人精品 | 一级黄色片在线 | 久久视频这里有精品 | 国产老熟 | 免费a v视频| 国产69精品久久99不卡的观看体验 | 又湿又紧又大又爽a视频国产 | 国产精品久久一区二区无卡 | 日韩和的一区二在线 | 成人午夜在线观看 | 国产精品丝袜久久久久久久不卡 | 亚洲精品观看 | 99欧美精品 | 国内精品久久久久久 | 中文字幕免费在线看 | 日本特黄一级片 | 国产精品国内免费一区二区三区 | 国产123区在线观看 国产精品麻豆91 | 天天夜操 | 丝袜制服综合网 | 黄色av网站在线免费观看 | 91视频高清免费 | www.亚洲激情.com | 国内精品久久久久久 | 日韩二区在线观看 | 国产 亚洲 欧美 在线 | 免费成人av网站 | 日韩国产精品久久久久久亚洲 | 欧美久久久影院 | 免费情趣视频 | 国产一区在线精品 | 国产免费亚洲高清 | 成人黄色电影免费观看 | 日韩狠狠操| 在线免费观看一区二区三区 | 一区二区三区三区在线 | 成人一级片免费看 | 美女久久久久 | 青青河边草免费观看完整版高清 | 成人免费在线播放视频 | 色婷婷综合视频在线观看 | 男女免费av | 成人污视频在线观看 | 久久久久国产一区二区 | 国产资源网 | 丁香婷婷综合激情 | 欧美日韩首页 | 日本精品视频一区 | 国语黄色片 | 午夜精品久久久久久 | 亚州精品视频 | 亚洲国产高清在线观看视频 | 国产99视频在线观看 | 国产一级不卡毛片 | 国产精品av在线 | 国产欧美中文字幕 | 天天要夜夜操 | 国产无遮挡又黄又爽馒头漫画 | 亚洲欧美在线视频免费 | 人人躁| 亚洲精品国产综合99久久夜夜嗨 | 五月婷婷,六月丁香 | 国产精品一区二区久久国产 | 日韩av在线不卡 | 91毛片在线观看 | 伊甸园永久入口www 99热 精品在线 | 久久久久久久久久久综合 | 91亚洲精品久久久久图片蜜桃 | 国产小视频在线观看免费 | 欧美性极品xxxx做受 | 97在线观| 日本精品免费看 | 韩日三级av| 中文字幕制服丝袜av久久 | 中文字幕一区二区三区乱码在线 | 久久婷婷开心 | 国产无套精品久久久久久 | 91传媒在线观看 | 色夜影院 | 911在线 | 久久久久久免费毛片精品 | 欧美电影在线观看 | 超碰在线色 | 免费黄色在线播放 | 亚洲精品www久久久 www国产精品com | 亚洲三级黄色 | 中文字幕有码在线观看 | 久久久久久久久黄色 | 亚洲欧洲xxxx| 欧美激情第一区 | www.日日操.com | 亚洲另类视频在线 | 亚洲另类视频在线 | 久久成人福利 | 欧美成人黄色片 | 天天操天天摸天天射 | 欧美a级一区二区 | 91网免费看 | 国产精品久久久久久久av电影 | 久久成人国产精品一区二区 | 激情伊人五月天久久综合 | 久久精品99精品国产香蕉 | 国产一线二线三线性视频 | 色婷婷 亚洲 | 日韩黄色在线 | 97超碰免费在线观看 | 欧美大片在线观看一区 | 国产三级精品三级在线观看 | 免费看成人av | 日日干夜夜骑 | 激情欧美一区二区免费视频 | 999久久a精品合区久久久 | 亚洲影院色 | 国产在线欧美 | 国产一级做a | 九九99| 91一区一区三区 | 国产一区高清在线 | 成人一级在线 | 狠狠色噜噜狠狠狠狠2021天天 | 国产精品原创视频 | 久久五月网 | 夜夜操综合网 | 日本在线观看视频一区 | 久久久久国产精品厨房 | av爱干| 日韩激情久久 | 日本在线观看一区二区三区 | 精品国产伦一区二区三区免费 | 午夜黄色影院 | 午夜久久久久久久久久久 | 草久在线视频 | 中文字幕视频网 | 中文字幕欧美三区 | 欧美视频xxx | 99久久久久久久久 | 在线播放第一页 | 久久这里只有精品23 | 欧美午夜理伦三级在线观看 | 99热超碰在线 | 偷拍区另类综合在线 | 久久天天操 | 男女靠逼app| 日韩免费小视频 | 在线观看中文字幕第一页 | 久久tv视频 | 婷婷丁香七月 | 在线观看成人国产 | 亚洲三级黄色 | www.久久99 | 香蕉视频色 | 婷婷成人在线 | 天天干天天操天天入 | 91九色在线视频 | 国产色视频网站2 | 深夜男人影院 | 欧美精品一区在线 | 国产破处精品 | 九月婷婷人人澡人人添人人爽 | 成人性生交大片免费看中文网站 | va视频在线观看 | 国产成人综| 久久综合久久综合这里只有精品 | 日韩精品一区二区电影 | 成年人在线播放视频 | 亚洲国产精品一区二区久久,亚洲午夜 | 欧美美女一级片 | 色偷偷97| 天天色成人网 | 97手机电影网 | 奇米影音四色 | 久久精品麻豆 | 国产99免费视频 | 欧美国产精品一区二区 | 亚洲精品网站 | www.色午夜,com | 伊人干综合 | 91精品国产自产91精品 | 九九视频精品在线 | 波多野结衣在线观看一区二区三区 | 揉bbb玩bbb少妇bbb | 大片网站久久 | 久久久久成人精品免费播放动漫 | 亚洲美女精品 | 成人av一区二区三区 | 色偷偷88欧美精品久久久 | 中文欧美字幕免费 | 欧美日韩1区 | 亚洲黄色免费电影 | 中文字幕久久精品亚洲乱码 | 国产a网站| 黄色免费在线看 | 99久久99久国产黄毛片 | 久久不卡日韩美女 | 久久久久久久综合色一本 | 在线国产中文字幕 | 2020天天干夜夜爽 | 欧美粗又大 | 国产乱对白刺激视频不卡 | 久久高清毛片 | 午夜影视剧场 | 三级黄色片在线观看 | 中文字幕国产一区二区 | 又黄又网站 | 日韩欧美高清免费 | 久久免费电影网 | 日本少妇高清做爰视频 | 欧美日韩二区三区 | 日韩黄色大片在线观看 | 国产精品免费在线 | 一本一道久久a久久精品 | 欧美一二三四在线 | 成人久久久久久久久久 | 婷婷综合亚洲 | 亚洲另类视频在线 | 色婷婷久久一区二区 | 亚洲欧美综合 | 91欧美国产 | 久久精品96| 99中文在线| 久久久这里有精品 | 婷婷五天天在线视频 | 日韩在线网址 | 免费在线成人av | 92国产精品久久久久首页 | 国产精品九九九九九 | 久久人人爽av | 国产精品久久久久aaaa | 狠狠操夜夜 | 精品一区二区在线观看 | 国内精品久久久久久久 | 九九在线精品视频 | 久久免费激情视频 | 涩av在线 | 国产精品入口久久 | 色综合久久久久综合 | 黄色大片视频网站 | 亚洲成av人电影 | 免费av视屏 | 四虎影视www | 久久久久久久久久久久久影院 | 色a在线观看 | 激情伊人五月天 | 欧美另类视频 | 最近免费在线观看 | 亚洲精品国偷拍自产在线观看 | 国产一区久久 | 免费高清在线观看电视网站 | 日韩一区正在播放 | 欧美日本啪啪无遮挡网站 | 在线观看黄网站 | 91精品亚洲影视在线观看 | 久久婷婷五月综合色丁香 | 99在线视频精品 | 国产在线精品一区二区三区 | 国语黄色片 | 久久精品美女 | 久久激情综合网 | 欧美韩国在线 | 欧美一级片在线免费观看 | 天天色天天骑天天射 | 中文字幕在线观看亚洲 | 免费观看性生活大片 | 成人午夜电影免费在线观看 | 中国一 片免费观看 | 亚洲精品久久久久久久蜜桃 | 日韩欧美aaa | 91热视频在线观看 | 午夜精品av在线 | av片中文字幕 | 精品国产福利在线 | 中文字幕乱码日本亚洲一区二区 | 日韩精品一区二区三区水蜜桃 | 国产精品自产拍在线观看 | 二区三区精品 | 日本视频高清 | 99性视频 | 最新国产视频 | 一区二区三区日韩在线 | 狠狠干夜夜操天天爽 | 久久久久久精 | 天天天干天天射天天天操 | 国产手机在线精品 | 亚洲影视资源 | 男女靠逼app| 操操操综合 | 在线视频 一区二区 | 成人黄色在线 | 成人免费一级 | 亚洲精品在线国产 | 色婷婷狠狠五月综合天色拍 | 最新黄色av网址 | 欧美精品在线观看免费 | 亚洲视频免费在线观看 | 欧美日韩在线视频一区二区 | 久久国产精品免费一区二区三区 | 99久久精品无码一区二区毛片 | a色视频| 99热精品久久 | 99re中文字幕 | 欧美一区二区日韩一区二区 | 色姑娘综合| 成人高清在线 | 国产字幕在线播放 | 91精品国产91久久久久 | 在线 影视 一区 | 免费a视频| 国产在线资源 | 久久久受www免费人成 | 99精品乱码国产在线观看 | 国产精品免费在线观看视频 | 亚洲欧美日韩精品久久久 | 精品久久久久_ | 激情五月婷婷网 | 久久一区二区免费视频 | 麻豆成人在线观看 | 天天操·夜夜操 | 激情深爱.com | 一区二区三区动漫 | 成人蜜桃 | 国产黄色大片 | 波多野结衣在线视频免费观看 | 亚洲精品乱码久久久久久高潮 | 日日操夜| www.天天操.com| 国产一区二区在线免费播放 | 在线视频欧美亚洲 | 亚洲精品日韩一区二区电影 | 超碰人人av | 色五月成人 | 国产视频97 | 亚洲1级片 | 四虎永久免费在线观看 | 欧美大荫蒂xxx | 亚洲综合色激情五月 | 久久精品视频网 | 国产成人一级电影 | 99久久久国产精品免费99 | 人人澡人人澡人人 | 91黄色在线观看 | 麻豆91精品 | 久热免费在线 | 精品久久久久久久久久久院品网 | 亚洲久在线 | 成人资源在线 | 日本xxxx裸体xxxx17 | 日韩午夜一级片 | 五月天丁香视频 | 国产视频第二页 | 天天天干 | 国内精品久久久久影院男同志 | 色网站免费在线看 | 99热这里只有精品在线观看 | 激情av五月婷婷 | 奇人奇案qvod | 日韩理论视频 | 日韩av一卡二卡三卡 | 欧美俄罗斯性视频 | 亚洲精品tv久久久久久久久久 | 亚洲国产精品第一区二区 | 久久精品高清 | 久久久久久欧美二区电影网 | 久久一区二 | 久久久久久免费视频 | 国产一区二区三区免费在线观看 | 九九热免费在线视频 | 久久精品一区二区三区中文字幕 | 91片黄在线观 | 91精品视频播放 | 天天操天天爱天天干 | 天天色天天射综合网 | 香蕉视频在线视频 | 婷婷色婷婷 | 香蕉视频在线看 | 久草在线一免费新视频 | 久久av高清| 精品av在线播放 | 青青河边草免费直播 | 手机在线黄色网址 | 天天激情在线 | 亚洲高清91| 国产一卡二卡四卡国 | 久久久久久久久久久电影 | h动漫中文字幕 | 天天艹天天 | 国精产品999国精产品岳 | 亚洲视频久久久 | 国产精品福利午夜在线观看 | 一区二区视频在线观看免费 | 一区二区精品视频 | 成人黄色大片网站 | 国产韩国日本高清视频 | 五月色婷 | 成人h视频 | 亚洲精品国产日韩 | 91字幕| 在线免费三级 | av爱干| 三级视频国产 | 国产视频精品网 | 免费欧美高清视频 | 日本中文字幕高清 | 黄色三级免费片 | 亚洲欧美在线观看视频 | 精品999在线观看 | 伊人热 | 成年人免费看的视频 | 免费久久久久久久 | 国产一级在线观看视频 | 国产高清在线 | 色福利网 | 日韩在线免费视频 | 成人av av在线 | 特黄特黄的视频 | 国产99久久久国产精品 | 亚洲天堂网在线播放 | 日韩欧美精品一区二区三区经典 | 免费高清在线观看成人 | 久久综合导航 | 国产精品免费av | av在线h| 久久69精品| 四虎成人免费影院 | 日日精品 | 99久久久免费视频 | 日韩在线 一区二区 | 亚洲最新视频在线 | 热久精品| 久久久久蜜桃 | 国产性天天综合网 | 69久久夜色精品国产69 | 中文字幕乱偷在线 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 爱爱av在线 | 中文资源在线观看 | 中文字幕国产一区二区 | 国内精品久久久久影院日本资源 | 99r在线精品| 成年人在线观看视频免费 | 久久黄网站 | 日本一区二区三区免费看 | 国产精品免费久久久久影院仙踪林 | 国产女做a爱免费视频 | 久久高清视频免费 | 成人免费观看电影 | 国产一区在线免费 | 国产精品一区二区视频 | 91精品视频观看 | 久久久久久久久久福利 | 久久草草影视免费网 | 在线观看国产91 | 免费久久99精品国产 | 国产精品午夜在线 | 久久免费黄色网址 | 九九热在线免费观看 | 五月婷婷久草 | 99视频99| 五月丁香 | www.eeuss影院av撸 | 日韩在线免费小视频 | 久久五月天婷婷 | 中文字幕免费在线看 | 日本黄色免费在线 | 国产成人一区三区 | 亚洲日本一区二区在线 | 综合天天色 | 天天艹 | 免费合欢视频成人app | 亚洲激情电影在线 | 极品嫩模被强到高潮呻吟91 | 欧美一区日韩一区 | www色婷婷com | 激情网第四色 | 黄色毛片在线 | 国产一区在线观看免费 | av电影中文 | 怡红院av久久久久久久 | 欧美a级在线 | 国产精品一区二区精品视频免费看 | 精品一区三区 | 夜夜爽天天爽 | 99久久精品久久久久久动态片 | 久久高清视频免费 | 美女网站色免费 | 免费人人干 | 成人播放器 | 国产精品6| 蜜臀久久99精品久久久久久网站 | 国产一区播放 | 久久天堂影院 | 最近中文字幕在线播放 | 日韩在线视频免费观看 | 色资源在线观看 | 国产成人精品一区二区三区福利 | 国产免费中文字幕 | 精品国产一区二区三区噜噜噜 | 在线视频麻豆 | 在线超碰av| 免费成人在线视频网站 | 中文字幕之中文字幕 | 精品久久久久久久久中文字幕 | 成年人在线看视频 | 欧美精品九九99久久 | 亚洲影院一区 | 久久久久亚洲精品国产 | 亚洲成人精品在线观看 | 中文字幕日韩国产 | 91成人网在线 | 日韩免费看的电影 | 久久伦理网 | 亚洲电影成人 | 日本精品视频在线播放 | 四川妇女搡bbbb搡bbbb搡 | 国产精品日韩高清 | 国产综合精品一区二区三区 | 国产午夜精品一区二区三区嫩草 | 国产午夜精品理论片在线 | 丝袜网站在线观看 | 国产999精品久久久久久绿帽 | 夜夜操狠狠干 | 狠狠色丁香婷婷综合久小说久 | 亚洲乱码久久 | 夜又临在线观看 | 17婷婷久久www | 99热最新| 国产精品久久久久影院日本 | 81精品国产乱码久久久久久 | 日本性动态图 | 久久免费精彩视频 | 日韩精品免费一区二区三区 | 亚洲色图色| 亚洲不卡123 | 99r在线视频 | 欧美一级久久 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 国产露脸91国语对白 | 一级久久久| 亚洲日本精品视频 | 亚洲欧美激情插 | 中文字幕乱码在线播放 | 永久免费精品视频网站 | 奇米影视777四色米奇影院 | 91豆花在线观看 | 特级aaa毛片 | 日韩免费一区 | 免费合欢视频成人app | 日本久久久久久科技有限公司 | 一级片视频在线 | 天天射天天艹 | 天天婷婷| 色香蕉视频 | 五月婷婷六月丁香 | 69国产精品视频免费观看 | 亚洲国产丝袜在线观看 | 国产999精品久久久久久绿帽 | 亚洲精品va| 久色小说 | 综合久色| 日本精品视频免费观看 | 国偷自产中文字幕亚洲手机在线 | 91免费版在线 | 亚洲电影图片小说 | 免费在线观看亚洲视频 | 日韩专区中文字幕 | 免费国产亚洲视频 | 久操视频在线播放 | 日本精品视频在线观看 | 亚洲久草在线视频 | 婷久久 | av色一区| 中文在线字幕观看电影 | 91污污视频在线观看 | 99在线高清视频在线播放 | 最近中文字幕 | 久久久久久久久久久精 | 亚洲乱码精品 | 国产大片免费久久 | 在线观看岛国 | 日韩不卡高清 | 91午夜精品 | 在线播放国产精品 | 国产在线97 | 久久在线观看 | 中文字幕视频 | 国产精品久久久久久一区二区 | av在线短片 | 午夜电影中文字幕 | 日韩在线二区 | 可以免费观看的av片 | 最近中文字幕免费大全 | 国产尤物视频在线 | 可以免费观看的av片 | 综合色影院 | 国产一区二区播放 | 精品国产欧美 | 干天天| 手机看片中文字幕 | 亚洲少妇影院 | 国产精品久久久久一区二区三区共 | 国产成人一二三 | 国产精品一区二区久久久久 | 久久午夜精品视频 | 日日躁天天躁 | 91九色在线视频观看 | 91最新网址在线观看 | 国产a级免费 | 中文字幕二区三区 | 日韩视频免费看 | 欧美日韩有码 | 久久欧洲视频 | 亚洲欧美国产日韩在线观看 | 综合av在线| 中国精品少妇 | 国产精品一区二区三区久久 | 欧美日韩三级 | 精品视频免费久久久看 | 福利视频| 91手机视频在线 | 久久久精品综合 | 日韩av视屏在线观看 | 色吊丝在线永久观看最新版本 | 一本一本久久a久久精品综合小说 | 久草国产在线观看 | 日韩精品欧美专区 | 国产精品日韩欧美 | 狠狠干婷婷色 | 成人啪啪18免费游戏链接 | 最近中文字幕免费av | 91免费试看| 中文字幕在线观看第三页 | 天天激情站 | 久久精品国产一区 | 在线观看视频黄色 | 亚洲 欧洲 国产 日本 综合 | 视频在线观看亚洲 | 人人草在线观看 | av电影 一区二区 | 日本中文字幕在线视频 | 最近中文字幕免费视频 | av噜噜噜在线播放 | 久久久精品国产免费观看一区二区 | 四虎国产精品免费观看视频优播 | 91精品国产91久久久久 | 国产成人三级在线播放 | 日本精品久久久一区二区三区 | 亚洲国产三级在线观看 | 日操操| 成人免费观看视频大全 | 中文字幕一区二区三区久久蜜桃 | 色五月色开心色婷婷色丁香 | 色九色| 日韩免费一级电影 | 欧美一区免费在线观看 | 91丨九色丨蝌蚪丰满 | 在线导航av | 精品视频免费看 | 久久福利综合 | 一区二区三区免费播放 | 日韩欧美一区二区在线播放 | 超级碰碰免费视频 | av黄色在线播放 | 91mv.cool在线观看 | 国产午夜精品一区二区三区 | 天天综合在线观看 | 精品一区在线看 | 日韩精品欧美专区 | 精品影院 | 欧美日韩久久不卡 | 久久久成人精品 | .国产精品成人自产拍在线观看6 | 欧美人体xx | 日日干美女 | 中国一级片在线 | 国产精品久久影院 | av解说在线 | 激情视频在线高清看 | 免费看一级特黄a大片 | 日韩一区精品 | 日韩大片在线免费观看 | 国产a视频免费观看 | 久久99精品久久久久久三级 | 午夜精品久久久久久久爽 | 国产成人一区二区三区 | 国产只有精品 | 久草新在线 | 免费看黄的 | 国产精品一区二区久久久久 | 色999视频 | 国产亚洲精品无 | 日韩在线观看一区二区三区 | 欧美色图p | 日韩精品一区二区三区免费观看视频 | 奇米网444 | 亚洲成av片人久久久 | a视频免费在线观看 | 久久久五月天 | 午夜久久久久久久久久久 | 日韩手机在线 | 日韩免费网站 | 啪啪小视频网站 | 99视频这里只有 | 91大神dom调教在线观看 | 日本精品免费看 | 婷婷激情网站 | 久久99精品久久久久久清纯直播 | 正在播放 国产精品 | 久久er99热精品一区二区三区 | 在线观看日韩精品视频 | 亚洲黄色av网址 | 久久免费高清 | 国产福利一区二区在线 | 麻豆视频免费 | 97超级碰碰 | 国产精品美女视频网站 | 欧美国产日韩激情 | 日韩免费大片 | 欧洲一区精品 | 亚洲精品国产精品国自 | 日韩在线第一 | 国产一区二区三区久久久 | 国产在线精品播放 | 天天摸夜夜添 | 天天综合网天天综合色 | 夜色在线资源 | 亚洲一级二级三级 | 日韩亚洲在线 | 69国产盗摄一区二区三区五区 | 久草免费手机视频 | 丁香五月缴情综合网 | 四虎在线免费观看视频 | 天天艹天天爽 | 99九九视频 | 最新中文字幕在线观看视频 | 国产精品一区二区三区免费看 | 91丨九色丨首页 | 国产精品2区 | 国产黄视频在线观看 | 中文字幕免费国产精品 | 精品毛片久久久久久 | 五月天开心 | 日韩一区二区三区在线观看 | 香蕉视频久久 | 色综合亚洲精品激情狠狠 | 久久精品国产一区二区 | av三区在线 | 亚洲精品乱码久久久久v最新版 | 天天干,天天干 | 四虎伊人 | www黄在线| 免费a v视频 | av免费看av| 91成品视频| 亚洲理论电影 | 精品在线不卡 | 国产亚洲精品久久久久久久久久久久 | 国产情侣一区 | 天堂av网站 | 在线视频欧美日韩 | 国产成人亚洲在线观看 | 不卡视频国产 | 日日摸日日爽 | 丁香花中文在线免费观看 | 久久免费资源 | 97电影手机| 国产999精品久久久久久绿帽 | 国产精品婷婷午夜在线观看 | 欧美日韩视频精品 | 欧美日韩一区二区在线观看 | 日韩久久在线 | 天天操狠狠操夜夜操 | 亚洲精品动漫成人3d无尽在线 | 精品国产乱码久久久久久三级人 | 91试看 | aav在线 | 国产一区二区视频在线 | 91网站在线视频 | 99c视频高清免费观看 | 免费福利视频网站 | 国产一区二区不卡视频 | 久久久一本精品99久久精品 | 深爱五月激情网 | 久久精品视频观看 | 在线观看视频h | 91麻豆文化传媒在线观看 | 天天艹天天操 | 欧美另类xxxx | 国产91aaa| 日韩欧美一级二级 | 成人一区二区三区在线 | 欧美精品中文字幕亚洲专区 | 国产精彩在线视频 | 欧美精品免费在线观看 | 国产资源在线观看 | 成人app在线免费观看 | 热re99久久精品国产66热 | 国产精品手机在线观看 | 亚洲伊人av| 婷婷中文在线 | 在线成人免费av | 99视频在线观看一区三区 | 成人全视频免费观看在线看 | 国产黄色av网站 | 久久精品久久久精品美女 | 亚洲永久精品在线观看 | 免费视频a | 久av在线| 91精品一区二区三区久久久久久 | 日韩羞羞 | 精品久久久久一区二区国产 | 国产在线精品一区二区三区 | 超碰97国产| 91视频一8mav| 91av手机在线 | 激情五月婷婷综合网 | 日本狠狠色 | 97国产超碰在线 | 天天插综合 | 又湿又紧又大又爽a视频国产 | 午夜av不卡 | 日韩精品免费在线视频 | 韩国精品一区二区三区六区色诱 | 精品国产免费人成在线观看 | 久久久久久毛片 | 免费在线观看中文字幕 | 色婷婷电影 | 日日躁夜夜躁xxxxaaaa | 国产精品第7页 | 亚洲无吗av | 97超碰免费在线观看 | 99麻豆视频 | 黄色1级大片 | 成人中文字幕+乱码+中文字幕 | 91在线免费视频 | 免费日韩一区二区 | 日本久久电影 | 91大神精品视频在线观看 | 久久久久美女 | 欧美aa在线 | 亚洲在线视频播放 | 亚洲精品xxx | 不卡的av在线 | 亚洲婷婷网 | 国产精品第一视频 | 国产视频一区二区三区在线 | av免费看在线 | 久久99精品国产 | 亚洲国产理论片 | 亚洲色图美腿丝袜 | 日韩av免费在线看 | 国产一区二区三区黄 | 2020天天干夜夜爽 | 亚洲全部视频 | 天天操网址 | 免费观看一区二区三区视频 | 中文字幕欲求不满 | 欧美日韩亚洲在线观看 | 中文区中文字幕免费看 | 免费看特级毛片 | 日批在线观看 | 国产麻豆剧果冻传媒视频播放量 | 91九色视频在线观看 | 日本巨乳在线 | 天天干天天操天天干 | 国产精品免费小视频 | 一本一本久久aa综合精品 | 国产经典av | 夜夜视频资源 | 狠狠插狠狠干 | 天天舔夜夜操 | 色999五月色 | 91成人破解版| 欧美亚洲一级片 | 色综合久 | 成人在线你懂得 | 亚洲国产精品电影在线观看 | 黄色网址a | 久久久久久视频 | 亚洲欧洲日韩在线观看 | 天天射天天 | 欧美精品中文 | 国产综合香蕉五月婷在线 | 中文字幕丰满人伦在线 | 日日日日干 | 视频一区在线播放 | 国产成人精品一区二区 | 精品国产一二三四区 | 一区二区三区国产精品 | 波多野结衣一区三区 | 免费视频 你懂的 | 久久99国产一区二区三区 | 国产一线天在线观看 | 右手影院亚洲欧美 | 在线观看91网站 | 96久久久 | 特黄特黄的视频 | 久久a免费视频 | 久久久片| 国产一级一级国产 | 人人插人人插 | 天天操天天怕 | 国产免码va在线观看免费 | av大全在线看 | 国产一区在线看 | 久草网在线 | 国产一二三区在线观看 | 日韩精品免费一线在线观看 | 国产精品2018 | 国产视频1| 免费久久久久久 | 国产精品a久久久久 | 亚洲区精品视频 | 特级xxxxx欧美| 黄在线免费看 | 99热999| 国产成人一二三 | 天天插天天狠天天透 | 亚洲欧洲日韩 | 91日韩在线视频 | 国产亚洲成人网 | 三级av片 | 丁香六月天婷婷 | 欧洲亚洲精品 | 欧美激情视频一区二区三区 | 精品国产成人在线 | 久久99精品国产一区二区三区 | 久久成人国产精品 | a色视频| 欧美大片mv免费 | 久久黄色影院 | 日韩精品一区不卡 | 成人黄色毛片视频 | 国产成人一区二区三区久久精品 | 日日麻批40分钟视频免费观看 | 日韩一区二区在线免费观看 | 日日色综合 | 中文字幕二区在线观看 | 久久精品日产第一区二区三区乱码 | 成年人在线观看 | 日韩在线观看 | 日韩欧美在线视频一区二区三区 | 亚洲女欲精品久久久久久久18 | 久久精品精品电影网 | 久久久午夜精品理论片中文字幕 | 在线色吧 | av网站在线观看免费 | www.夜夜操 | 色视频在线| 99免费在线观看视频 | 欧美精品成人在线 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 久久成人人人人精品欧 | 操操操影院| 香蕉视频18| 久久成人国产精品入口 | 日本久久久久久 | 久久九九久久精品 | 久久系列| 欧美美女视频在线观看 | 久草在线视频中文 | 岛国精品一区二区 | 亚洲一区美女视频在线观看免费 | 激情欧美日韩一区二区 | 亚洲91精品在线观看 | 精品久久久久久国产91 |