예제 #1
0
int ep_param_set_any_endom() {
	int r = STS_OK;
#if defined(EP_ENDOM)
#if FP_PRIME == 80
	ep_param_set(GLS_P160);
#elif FP_PRIME == 158
	ep_param_set(BN_P158);
#elif FP_PRIME == 160
	ep_param_set(SECG_K160);
#elif FP_PRIME == 192
	ep_param_set(SECG_K192);
#elif FP_PRIME == 224
	ep_param_set(SECG_K224);
#elif FP_PRIME == 254
	ep_param_set(BN_P254);
#elif FP_PRIME == 256
	ep_param_set(SECG_K256);
#elif FP_PRIME == 477
	ep_param_set(B24_P477);
#elif FP_PRIME == 508
	ep_param_set(KSS_P508);
#elif FP_PRIME == 638
	ep_param_set(BN_P638);
#else
	r = STS_ERR;
#endif
#else
	r = STS_ERR;
#endif
	return r;
}
예제 #2
0
int ep_param_set_any_pairf() {
	int type = 0, degree = 0, r = STS_OK;
#if defined(EP_ENDOM)
#if FP_PRIME == 80
	ep_param_set(GLS_P160);
	type = EP_MTYPE;
	degree = 2;
#elif FP_PRIME == 158
	ep_param_set(BN_P158);
	type = EP_DTYPE;
	degree = 2;
#elif FP_PRIME == 254
	ep_param_set(BN_P254);
	type = EP_DTYPE;
	degree = 2;
#elif FP_PRIME == 256
	ep_param_set(BN_P256);
	type = EP_DTYPE;
	degree = 2;
#elif FP_PRIME == 477
	ep_param_set(B24_P477);
	type = EP_MTYPE;
	degree = 4;
#elif FP_PRIME == 508
	ep_param_set(KSS_P508);
	type = EP_DTYPE;
	degree = 3;
#elif FP_PRIME == 638
	ep_param_set(B12_P638);
	type = EP_MTYPE;
	degree = 2;
#elif FP_PRIME == 1536
	ep_param_set(SS_P1536);
	degree = 0;
#else
	r = STS_ERR;
#endif
#else
	r = STS_ERR;
#endif
#ifdef WITH_PP
	if (r == STS_OK) {
		if (degree == 0) {
			ep2_curve_set_twist(0);
		}
		if (degree == 2) {
			ep2_curve_set_twist(type);
		}
		if (degree == 3 || degree == 4) {
			r = STS_ERR;
		}
	}
#else
	(void)type;
	(void)degree;
#endif
	return r;
}
예제 #3
0
int ep_param_set_any_super() {
	int r = STS_OK;
#if defined(EP_SUPER)
#if FP_PRIME == 1536
	ep_param_set(SS_P1536);
#else
	r = STS_ERR;
#endif
#else
	r = STS_ERR;
#endif
	return r;
}
예제 #4
0
int ep_param_set_any_plain() {
	int r = STS_OK;
#if defined(EP_PLAIN)
#if FP_PRIME == 160
	ep_param_set(SECG_P160);
#elif FP_PRIME == 192
	ep_param_set(NIST_P192);
#elif FP_PRIME == 221
	ep_param_set(CURVE_22103);
#elif FP_PRIME == 224
	ep_param_set(NIST_P224);
#elif FP_PRIME == 226
	ep_param_set(CURVE_4417);
#elif FP_PRIME == 251
	ep_param_set(CURVE_1174);
#elif FP_PRIME == 255
	ep_param_set(CURVE_25519);
#elif FP_PRIME == 256
	ep_param_set(NIST_P256);
#elif FP_PRIME == 382
	ep_param_set(CURVE_67254);
#elif FP_PRIME == 383
	ep_param_set(CURVE_383187);
#elif FP_PRIME == 384
	ep_param_set(NIST_P384);
#elif FP_PRIME == 511
	ep_param_set(CURVE_511187);
#elif FP_PRIME == 521
	ep_param_set(NIST_P521);
#else
	r = STS_ERR;
#endif
#else
	r = STS_ERR;
#endif
	return r;
}
예제 #5
0
int ep_param_set_any_pairf(void) {
	int type = 0, degree = 0, r = RLC_OK;
#if defined(EP_ENDOM)
#if FP_PRIME == 158
	ep_param_set(BN_P158);
	type = EP_DTYPE;
	degree = 2;
#elif FP_PRIME == 254
	ep_param_set(BN_P254);
	type = EP_DTYPE;
	degree = 2;
#elif FP_PRIME == 256
	ep_param_set(BN_P256);
	type = EP_DTYPE;
	degree = 2;
#elif FP_PRIME == 381
	ep_param_set(B12_P381);
	type = EP_MTYPE;
	degree = 2;
#elif FP_PRIME == 382
	ep_param_set(BN_P382);
	type = EP_DTYPE;
	degree = 2;
#elif FP_PRIME == 446
#ifdef FP_QNRES
	ep_param_set(B12_P446);
	type = EP_MTYPE;
	degree = 2;
#else
	ep_param_set(BN_P446);
	type = EP_DTYPE;
	degree = 2;
#endif
#elif FP_PRIME == 455
	ep_param_set(B12_P455);
	type = EP_DTYPE;
	degree = 2;
#elif FP_PRIME == 477
	ep_param_set(B24_P477);
	type = EP_MTYPE;
	degree = 4;
#elif FP_PRIME == 508
	ep_param_set(KSS_P508);
	type = EP_DTYPE;
	degree = 3;
#elif FP_PRIME == 511
	ep_param_set(OT8_P511);
	type = EP_DTYPE;
	degree = 2;
#elif FP_PRIME == 638
#ifdef FP_QNRES
	ep_param_set(B12_P638);
	type = EP_MTYPE;
	degree = 2;
#else
	ep_param_set(BN_P638);
	type = EP_DTYPE;
	degree = 2;
#endif
#elif FP_PRIME == 1536
	ep_param_set(SS_P1536);
	degree = 0;
#else
	r = RLC_ERR;
#endif
#else
	r = RLC_ERR;
#endif
#ifdef WITH_PP
	if (r == RLC_OK) {
		if (degree == 0) {
			ep2_curve_set_twist(0);
		}
		if (degree == 2) {
			ep2_curve_set_twist(type);
		}
		if (degree == 3 || degree == 4) {
			r = RLC_ERR;
		}
	}
#else
	(void)type;
	(void)degree;
#endif
	return r;
}
예제 #6
0
int ep_param_set_any_endom(void) {
	int r = RLC_OK;
#if defined(EP_ENDOM)
#if FP_PRIME == 158
	ep_param_set(BN_P158);
#elif FP_PRIME == 160
	ep_param_set(SECG_K160);
#elif FP_PRIME == 192
	ep_param_set(SECG_K192);
#elif FP_PRIME == 224
	ep_param_set(SECG_K224);
#elif FP_PRIME == 254
	ep_param_set(BN_P254);
#elif FP_PRIME == 256
	ep_param_set(SECG_K256);
#elif FP_PRIME == 381
	ep_param_set(B12_P381);
#elif FP_PRIME == 382
	ep_param_set(BN_P382);
#elif FP_PRIME == 446
#ifdef FP_QNRES
	ep_param_set(B12_P446);
#else
	ep_param_set(BN_P446);
#endif
#elif FP_PRIME == 455
	ep_param_set(B12_P455);
#elif FP_PRIME == 477
	ep_param_set(B24_P477);
#elif FP_PRIME == 508
	ep_param_set(KSS_P508);
#elif FP_PRIME == 511
	ep_param_set(OT8_P511);
#elif FP_PRIME == 638
#ifdef FP_QNRES
	ep_param_set(B12_P638);
#else
	ep_param_set(BN_P638);
#endif
#else
	r = RLC_ERR;
#endif
#else
	r = RLC_ERR;
#endif
	return r;
}