您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ BN_dec2bn函数代码示例

51自学网 2021-06-01 19:51:50
  C++
这篇教程C++ BN_dec2bn函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中BN_dec2bn函数的典型用法代码示例。如果您正苦于以下问题:C++ BN_dec2bn函数的具体用法?C++ BN_dec2bn怎么用?C++ BN_dec2bn使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了BN_dec2bn函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: fill_GOST94_params

/* * Fill GOST 94 params, searching them in R3410_paramset array * by nid of paramset * */int fill_GOST94_params (DSA * dsa, int nid){    R3410_params *params = R3410_paramset;    while (params->nid != NID_undef && params->nid != nid)        params++;    if (params->nid == NID_undef)    {        GOSTerr (GOST_F_FILL_GOST94_PARAMS, GOST_R_UNSUPPORTED_PARAMETER_SET);        return 0;    }#define dump_signature(a,b,c)    if (dsa->p)    {        BN_free (dsa->p);    }    dsa->p = NULL;    BN_dec2bn (&(dsa->p), params->p);    if (dsa->q)    {        BN_free (dsa->q);    }    dsa->q = NULL;    BN_dec2bn (&(dsa->q), params->q);    if (dsa->g)    {        BN_free (dsa->g);    }    dsa->g = NULL;    BN_dec2bn (&(dsa->g), params->a);    return 1;}
开发者ID:274914765,项目名称:C,代码行数:37,


示例2: compute_mod

/*--------------------------------------------------*/void compute_mod(Task * task){	BN_CTX *context;       	BIGNUM *r,*a,*p,*m;        if(task->p==NULL){	fprintf(stderr,"Wrong Exponent/n");	exit(0);        }	/*Just printing out the client send numbers*/ 	printf("Printing the Exponent/n");	        print_bignumber(task->p); 	printf("Printing the Prime/n");		print_bignumber(task->m);		 	context = BN_CTX_new();        r = BN_new();	a = BN_new();	p = BN_new();	m = BN_new();	BN_dec2bn(&a,"2");	BN_dec2bn(&p,task->p);	BN_dec2bn(&m,task->m);	BN_mod_exp(r,a,p,m,context); 	printf("Response ----/n");	strcpy(task->response,BN_bn2dec(r));	print_bignumber(task->response);		return;}
开发者ID:roguehit,项目名称:aos2,代码行数:32,


示例3: serverAct1

int serverAct1(Server * server) {    int bytes;    char buf[1024];    char * bufptr = buf;    char * tmpstr;    printf("/n==== Этап 1 ====/n/n");        server->k = BN_new();    server->m = BN_new();    bytes = BIO_read(server->conn, buf, 1024);    buf[bytes] = 0;    BN_dec2bn(&server->k, buf);    tmpstr = BN_bn2dec(server->k);    printf("k = %s/n", tmpstr);    OPENSSL_free(tmpstr);    BIO_puts(server->conn, "OK");    bytes = BIO_read(server->conn, buf, 1024);    buf[bytes] = 0;    BN_dec2bn(&server->m, buf);    tmpstr = BN_bn2dec(server->m);    printf("m = %s/n", tmpstr);    OPENSSL_free(tmpstr);    BIO_puts(server->conn, "OK");    return 0;}
开发者ID:ei-grad,项目名称:rsazkp,代码行数:31,


示例4: main

intmain(int argc, char *argv[]){    BIGNUM *val;    int ch;    char *p, buf[LINE_MAX];		/* > max number of digits. */    ctx = BN_CTX_new();    val = BN_new();    if (val == NULL)        errx(1, "can't initialise bignum");    while ((ch = getopt(argc, argv, "h")) != -1)        switch (ch) {        case 'h':            hflag++;            break;        case '?':        default:            usage();        }    argc -= optind;    argv += optind;    /* No args supplied, read numbers from stdin. */    if (argc == 0)        for (;;) {            if (fgets(buf, sizeof(buf), stdin) == NULL) {                if (ferror(stdin))                    err(1, "stdin");                exit (0);            }            for (p = buf; isblank(*p); ++p);            if (*p == '/n' || *p == '/0')                continue;            if (*p == '-')                errx(1, "negative numbers aren't permitted.");            if (BN_dec2bn(&val, buf) == 0 &&                    BN_hex2bn(&val, buf) == 0)                errx(1, "%s: illegal numeric format.", buf);            pr_fact(val);        }    /* Factor the arguments. */    else        for (; *argv != NULL; ++argv) {            if (argv[0][0] == '-')                errx(1, "negative numbers aren't permitted.");            if (BN_dec2bn(&val, argv[0]) == 0 &&                    BN_hex2bn(&val, argv[0]) == 0)                errx(1, "%s: illegal numeric format.", argv[0]);            pr_fact(val);        }    exit(0);}
开发者ID:juanfra684,项目名称:DragonFlyBSD,代码行数:54,


示例5: priv_to_pub

int priv_to_pub (unsigned char * const result, const size_t m, const unsigned char * const priv, const size_t n) {  int ret = 0;  int i = 0;  BIGNUM * privbn = 0;  BN_dec2bn(&privbn,"0");  BIGNUM * pow256 = 0;  BN_dec2bn(&pow256,"1");  BIGNUM * one256 = 0;  BN_dec2bn(&one256,"256");  const unsigned char * input_it = priv + n - 1;  for (i=0; i<n; i++) {    BIGNUM * input_bn = 0;    char * input_str = malloc(4);    sprintf(input_str,"%d",*input_it);    BN_dec2bn(&input_bn,input_str);    BN_CTX * ctx = BN_CTX_new();    BN_mul(input_bn, pow256, input_bn, ctx);    BN_add(privbn,privbn,input_bn);    BN_mul(pow256, pow256, one256, ctx);    BN_free(input_bn);    if (input_str != 0) {      free(input_str);    }    BN_CTX_free(ctx);    input_it--;  }  EC_GROUP * group = EC_GROUP_new_by_curve_name(NID_secp256k1);  EC_POINT * pub_key = EC_POINT_new(group);  BN_CTX * ctx = BN_CTX_new();  EC_POINT_mul(group, pub_key, privbn, 0, 0, ctx);  if (m == 65) {    EC_POINT_point2oct(group,pub_key,POINT_CONVERSION_UNCOMPRESSED,result,m,ctx);  }  else {    EC_POINT_point2oct(group,pub_key,POINT_CONVERSION_COMPRESSED,result,m,ctx);  }  EC_GROUP_free(group);  EC_POINT_free(pub_key);  BN_CTX_free(ctx);  BN_free(privbn);  BN_free(pow256);  BN_free(one256);  return(0);}
开发者ID:piratelinux,项目名称:cwallet,代码行数:50,


示例6: serverAct2

int serverAct2(Server * server) {    int bytes;    char buf[1024];        printf("/n==== Этап 2 ====/n/n");    bytes = BIO_read(server->conn, buf, 1024);    buf[bytes] = 0;    printf("Получен шифртекст: %s/n", buf);    server->C = BN_new();    if (!BN_dec2bn(&server->C, buf)) {        fprintf(stderr, "Ошибка при получении шифртекста!");        BIO_puts(server->conn, "ERR");        return 1;    }        BIO_puts(server->conn, "OK");    printf("Шифртест принят./n");        return 0;}
开发者ID:ei-grad,项目名称:rsazkp,代码行数:25,


示例7: dec2bin

static intdec2bin(uint8_t *out, const char *in){	int ret, l;	char *tmp = NULL;	BIGNUM *B;	if ((NULL == (B = BN_new())) ||	    (0 == BN_dec2bn(&B, in)) ||	    (NULL == (tmp = BN_bn2hex(B)))) {		ret = RFC6287_ERR_OPENSSL;		goto err;	}	if (256 < (l = strlen(tmp))) {		ret = RFC6287_INVALID_CHALLENGE;		goto err;	}	if (1 < l && '0' == tmp[0])		ret = hex2bin(out, tmp + 1);	else		ret = hex2bin(out, tmp);err:	if (NULL != tmp)		OPENSSL_free(tmp);	if (NULL != B)		BN_free(B);	return ret;}
开发者ID:sg2342,项目名称:pam_ocra,代码行数:28,


示例8: main

int main(int argc, char *argv[]){   BIGNUM *fat; // declara
C++ BN_dup函数代码示例
C++ BN_copy函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。