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

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

?? ecsign2s.c

?? 實現的文件的加密解密算法
?? C
字號:
/*
 *   Proposed Digital Signature Standard (DSS)
 *
 *   Elliptic Curve variation GF(2^m) - See Dr. Dobbs Journal, April 1997
 *
 *   This program asks for the name of a <file>, computes its message digest,
 *   signs it, and outputs the signature to a file <file>.ecs. It is assumed 
 *   that curve parameters are available from a file common2.ecs, as well as 
 *   the private key of the signer previously generated by the ecsgen2 program
 *
 *   The curve is y^2+xy = x^3+Ax^2+B over GF(2^m) using a trinomial or 
 *   pentanomial basis (t^m+t^a+1 or t^m+t^a+t^b+t^c+1), These parameters
 *   can be generated using the findbase.cpp example program, or taken from tables
 *   provided, for example in IEEE-P1363 Annex A 
 *
 *   The file common2.ecs is presumed to exist and contain 
 *   {m,A,B,q,x,y,a,b,c} where A and B are parameters of the equation 
 *   above, (x,y) is an initial point on the curve, {m,a,b,c} are the field 
 *   parameters, (b is zero for a trinomial) and q is the order of the 
 *   (x,y) point, itself a large prime. The number of points on the curve is 
 *   cf.q where cf is the "co-factor", normally 2 or 4.
 *  
 *   This program is written for static mode, with MR_STATIC defined as 8 in mirdef.h
 *   It assumes a 32-bit processor. Also assumes MR_GENERIC_MT is defined in mirdef.h
 *
 *   Copyright (c) 2000-2005 Shamus Software Ltd.
 */

#include <stdio.h>
#include "miracl.h"
#include <stdlib.h>
#include <string.h>

void strip(char *name)
{ /* strip off filename extension */
    int i;
    for (i=0;name[i]!='\0';i++)
    {
        if (name[i]!='.') continue;
        name[i]='\0';
        break;
    }
}

static void hashing(miracl *mip,FILE *fp,big hash)
{ /* compute hash function */
    char h[20];
    int i,ch;
    sha sh;
    shs_init(&sh);
    while ((ch=fgetc(fp))!=EOF) shs_process(&sh,ch);
    shs_hash(&sh,h);
    bytes_to_big(mip,20,h,hash);
}

int main()
{
    FILE *fp;
    int m,a,b,c;
    char ifname[50],ofname[50];
    big a2,a6,q,x,y,d,r,s,k,hash;
    epoint *g;
    long seed;
    miracl instance;
    miracl *mip=&instance;
    char mem[MR_BIG_RESERVE(10)];           /* reserve space on the stack for 10 bigs */
    char mem1[MR_ECP_RESERVE(1)];           /* and one elliptic curve points         */
    memset(mem,0,MR_BIG_RESERVE(10));
    memset(mem1,0,MR_ECP_RESERVE(1));

/* get public data */
    fp=fopen("common2.ecs","rt");
    if (fp==NULL)
    {
        printf("file common2.ecs does not exist\n");
        return 0;
    }
    fscanf(fp,"%d\n",&m);

    mip=mirsys(mip,MR_ROUNDUP(abs(m),4),16);
    a2=mirvar_mem(mip,mem,0);
    a6=mirvar_mem(mip,mem,1);
    q=mirvar_mem(mip,mem,2);
    x=mirvar_mem(mip,mem,3);
    y=mirvar_mem(mip,mem,4);
    d=mirvar_mem(mip,mem,5);
    r=mirvar_mem(mip,mem,6);
    s=mirvar_mem(mip,mem,7);
    k=mirvar_mem(mip,mem,8);
    hash=mirvar_mem(mip,mem,9);

    innum(mip,a2,fp);     /* curve parameters */
    innum(mip,a6,fp);     /* curve parameters */
    innum(mip,q,fp);     /* order of (x,y) */
    innum(mip,x,fp);     /* (x,y) point on curve of order q */
    innum(mip,y,fp);
 
    fscanf(fp,"%d\n",&a);
    fscanf(fp,"%d\n",&b);
    fscanf(fp,"%d\n",&c);
    fclose(fp);

/* randomise */
    printf("Enter 9 digit random number seed  = ");
    scanf("%ld",&seed);
    getchar();
    irand(mip,seed);

    ecurve2_init(mip,m,a,b,c,a2,a6,FALSE,MR_PROJECTIVE);  /* initialise curve */

    g=epoint_init_mem(mip,mem1,0);
    epoint2_set(mip,x,y,0,g); /* set point of order q */

/* calculate r - this can be done offline, 
   and hence amortized to almost nothing   */
    bigrand(mip,q,k);
    ecurve2_mult(mip,k,g,g);      /* see ebrick2.c for method to speed this up */
    epoint2_get(mip,g,r,r);
    divide(mip,r,q,q);

/* get private key of signer */
    fp=fopen("private.ecs","rt");
    if (fp==NULL)
    {
        printf("file private.ecs does not exist\n");
        return 0;
    }
    innum(mip,d,fp);
    fclose(fp);

/* calculate message digest */
    printf("file to be signed = ");
    gets(ifname);
    strcpy(ofname,ifname);
    strip(ofname);
    strcat(ofname,".ecs");
    if ((fp=fopen(ifname,"rb"))==NULL)
    {
        printf("Unable to open file %s\n",ifname);
        return 0;
    }
    hashing(mip,fp,hash);
    fclose(fp);

/* calculate s */
    xgcd(mip,k,q,k,k,k);

    mad(mip,d,r,hash,q,q,s);
    mad(mip,s,k,k,q,q,s);
    fp=fopen(ofname,"wt");
    otnum(mip,r,fp);
    otnum(mip,s,fp);
    fclose(fp);
/* clear all memory used */
    memset(mem,0,MR_BIG_RESERVE(10));
    memset(mem1,0,MR_ECP_RESERVE(1));

    return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲影视资源网| 中文字幕在线一区| 国产日韩亚洲欧美综合| 日韩伦理免费电影| 免费成人在线视频观看| 色悠久久久久综合欧美99| 精品国产乱码久久久久久夜甘婷婷| 1区2区3区精品视频| 国产在线不卡一卡二卡三卡四卡| 欧美日韩一区二区三区四区五区| 国产精品二区一区二区aⅴ污介绍| 老司机午夜精品| 欧美日韩久久久久久| 亚洲视频一区在线观看| 国产精品一区免费视频| 欧美成人猛片aaaaaaa| 午夜伦理一区二区| 欧洲一区二区av| 亚洲欧美另类在线| 99精品久久99久久久久| 久久精品亚洲麻豆av一区二区 | 成人在线综合网| 精品国产一二三| 美女一区二区视频| 4438成人网| 丝袜美腿一区二区三区| 在线精品视频小说1| 综合久久给合久久狠狠狠97色 | 亚洲风情在线资源站| 在线观看一区二区视频| 亚洲欧美激情插| 91欧美激情一区二区三区成人| 国产精品女上位| 97精品久久久久中文字幕| 亚洲免费伊人电影| 欧美一区二区精品在线| 亚洲高清在线精品| 欧美色老头old∨ideo| 亚洲国产aⅴ天堂久久| 欧美日韩极品在线观看一区| 午夜影院在线观看欧美| 91精品国产色综合久久不卡电影| 午夜精品成人在线| 欧美精品vⅰdeose4hd| 美腿丝袜亚洲一区| 国产日韩欧美精品综合| 成人99免费视频| 亚洲一级不卡视频| 538prom精品视频线放| 国产一本一道久久香蕉| 国产精品第五页| 欧美在线免费视屏| 免费在线观看一区二区三区| 精品久久久久久久久久久院品网| 国产精品2024| 亚洲人成网站色在线观看| 7777精品伊人久久久大香线蕉经典版下载| 日韩黄色一级片| 久久免费午夜影院| 91在线无精精品入口| 午夜a成v人精品| 久久精品亚洲精品国产欧美kt∨| 91玉足脚交白嫩脚丫在线播放| 亚洲欧美激情视频在线观看一区二区三区 | 日韩亚洲欧美中文三级| 狠狠狠色丁香婷婷综合久久五月| 国产精品视频一区二区三区不卡| 色综合色狠狠综合色| 三级亚洲高清视频| 国产精品嫩草影院av蜜臀| 欧洲精品中文字幕| 国产精品一级二级三级| 亚洲精品国产无套在线观| 精品入口麻豆88视频| 91在线小视频| 国内偷窥港台综合视频在线播放| 亚洲精品乱码久久久久久| 欧美www视频| 欧美三级三级三级| 成人一区二区三区在线观看 | 免费高清不卡av| 伊人夜夜躁av伊人久久| 欧美精品一区视频| 欧美日韩高清不卡| 一本到高清视频免费精品| 精品亚洲国内自在自线福利| 亚洲最色的网站| 国产精品久久网站| 欧美不卡123| 欧美午夜精品久久久| 不卡一卡二卡三乱码免费网站| 天堂va蜜桃一区二区三区漫画版| 欧美国产禁国产网站cc| 久久综合网色—综合色88| 欧美三区在线视频| 91亚洲午夜精品久久久久久| 国产一区二区美女| 日韩电影一区二区三区| 亚洲成人资源在线| 亚洲午夜精品在线| 中文字幕字幕中文在线中不卡视频| 久久欧美一区二区| 欧美成人午夜电影| 欧美tk丨vk视频| 欧美一区二区三区思思人| 精品视频在线看| 在线观看网站黄不卡| 91美女片黄在线| av网站一区二区三区| 国产成人精品午夜视频免费| 激情综合五月天| 久久99久久精品欧美| 美女视频一区在线观看| 美腿丝袜亚洲综合| 狠狠色2019综合网| 国产成人综合在线| 国产精品一区二区x88av| 国产真实乱偷精品视频免| 国内成人免费视频| 国产乱国产乱300精品| 国产乱码一区二区三区| 国产精品99久久久久久久vr| 国产成人日日夜夜| 成人高清免费在线播放| av中文字幕亚洲| 色哟哟亚洲精品| 欧美系列亚洲系列| 日韩一区二区三区视频在线观看 | 亚洲国产经典视频| 亚洲欧美综合在线精品| 亚洲三级视频在线观看| 亚洲午夜日本在线观看| 毛片基地黄久久久久久天堂| 久久精品99国产精品日本| 国产夫妻精品视频| www.视频一区| 欧美日本高清视频在线观看| 欧美一激情一区二区三区| 精品国产伦一区二区三区观看方式| 国产午夜精品福利| 一区二区三区四区在线免费观看| 午夜影院久久久| 国产精品综合在线视频| 97久久超碰国产精品电影| 欧美男生操女生| 国产亚洲欧美日韩日本| 亚洲最快最全在线视频| 九一九一国产精品| 91网站在线播放| 日韩女优av电影在线观看| 国产精品久久久久影院老司| 亚洲一区二区三区在线播放| 精品在线观看免费| 91在线无精精品入口| 精品久久久久一区二区国产| 一区二区三区鲁丝不卡| 九色|91porny| 欧美三日本三级三级在线播放| 国产亚洲欧美一级| 日韩电影一区二区三区四区| eeuss鲁一区二区三区| 777亚洲妇女| 亚洲特黄一级片| 国产一区二区看久久| 欧美日韩国产美女| 国产精品美女一区二区| 国产成人午夜99999| 欧美一区二区三区性视频| 亚洲欧洲日本在线| 国产高清不卡二三区| 欧美一级夜夜爽| 亚洲午夜精品17c| 白白色亚洲国产精品| 日韩欧美在线1卡| 亚洲一区免费观看| 东方aⅴ免费观看久久av| 日韩欧美国产综合在线一区二区三区| 亚洲天堂免费在线观看视频| 国产成人a级片| 欧美大片国产精品| 婷婷丁香激情综合| 色综合天天综合色综合av| 日本一区二区三区视频视频| 奇米一区二区三区av| 欧美亚洲国产bt| 亚洲另类在线一区| av在线一区二区| 国产精品免费av| 国产.欧美.日韩| 国产亚洲成av人在线观看导航| 精品一区二区三区日韩| 91精品国产综合久久婷婷香蕉| 一区二区三区精品久久久| 91农村精品一区二区在线| 国产精品免费免费| 91在线看国产| 亚洲精品videosex极品| www.欧美.com| 亚洲美女屁股眼交| 色婷婷av一区二区三区软件|