Esempio n. 1
0
static void pt_to_pniels(pniels_t b, const curve448_point_t a)
{
    gf_sub(b->n->a, a->y, a->x);
    gf_add(b->n->b, a->x, a->y);
    gf_mulw(b->n->c, a->t, 2 * TWISTED_D);
    gf_add(b->z, a->z, a->z);
}
Esempio n. 2
0
static void niels_to_pt(curve448_point_t e, const niels_t n)
{
    gf_add(e->y, n->b, n->a);
    gf_sub(e->x, n->b, n->a);
    gf_mul(e->t, e->y, e->x);
    gf_copy(e->z, ONE);
}
Esempio n. 3
0
static void pniels_to_pt(curve448_point_t e, const pniels_t d)
{
    gf eu;

    gf_add(eu, d->n->b, d->n->a);
    gf_sub(e->y, d->n->b, d->n->a);
    gf_mul(e->t, e->y, eu);
    gf_mul(e->x, d->z, e->y);
    gf_mul(e->y, d->z, eu);
    gf_sqr(e->z, d->z);
}
Esempio n. 4
0
c448_bool_t curve448_point_valid(const curve448_point_t p)
{
    mask_t out;
    gf a, b, c;

    gf_mul(a, p->x, p->y);
    gf_mul(b, p->z, p->t);
    out = gf_eq(a, b);
    gf_sqr(a, p->x);
    gf_sqr(b, p->y);
    gf_sub(a, b, a);
    gf_sqr(b, p->t);
    gf_mulw(c, b, TWISTED_D);
    gf_sqr(b, p->z);
    gf_add(b, b, c);
    out &= gf_eq(a, b);
    out &= ~gf_eq(p->z, ZERO);
    return mask_to_bool(out);
}
Esempio n. 5
0
void rs_dec(unsigned char rx[],unsigned char decode[],unsigned char err_pos[],int num_err)
{
	int i;
	int j;
	char error[]="too many error postions!\n";
	if(num_err>PARA_N_K)
	{
		memcpy(decode,error,sizeof(error));
	}
	get_mat(Ainv,err_pos,num_err);
	for (i=0;i<PARA_FRAMESIZE;i++)
	{
		
		for (j=0;j<PARA_N1;j++)
		{
			d0[j]=rx[j*PARA_FRAMESIZE+i];
		}
		for (j=0;j<num_err;j++)
		{
			d0[err_pos[j]]=0;
		}
		for (j=0;j<num_err;j++)
		{
			s[j]=gf_sub(d0,( unsigned char )(j+1));
		}
		gf_mat_mult(Ainv,s,err_value,num_err);
		for (j=0;j<num_err;j++)
		{
			d0[err_pos[j]]=err_value[j];
		}
		for (j=0;j<PARA_N1;j++)
		{
			decode[j*PARA_FRAMESIZE+i]=d0[j];
		}
		
	}
}
Esempio n. 6
0
GFn_el_t & GFn_el_t::operator -= (unsigned int _a) {
    comp[0] = gf_sub(prime, comp[0], _a%prime);

    return *this;
}
Esempio n. 7
0
GFn_el_t & GFn_el_t::operator -= (int _a) {

    comp[0] = gf_sub(prime, comp[0], gf_int(prime, _a));

    return *this;
}