summaryrefslogtreecommitdiff
path: root/ecc-point.c
diff options
context:
space:
mode:
authorNiels Möller <nisse@lysator.liu.se>2014-09-22 12:39:19 +0200
committerNiels Möller <nisse@lysator.liu.se>2014-09-22 12:39:19 +0200
commita78c9459fda9204b870350a3e075cd78d448fca2 (patch)
tree5570986a3a7ee931bc4a43b47b6fa62b6133e8cc /ecc-point.c
parent2b552abd4edc775de854014c7b0135902ca2ecd3 (diff)
downloadnettle-a78c9459fda9204b870350a3e075cd78d448fca2.tar.gz
Introduced struct ecc_modulo.
Diffstat (limited to 'ecc-point.c')
-rw-r--r--ecc-point.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/ecc-point.c b/ecc-point.c
index 59d2372b..31e3115a 100644
--- a/ecc-point.c
+++ b/ecc-point.c
@@ -42,13 +42,13 @@ void
ecc_point_init (struct ecc_point *p, const struct ecc_curve *ecc)
{
p->ecc = ecc;
- p->p = gmp_alloc_limbs (2*ecc->size);
+ p->p = gmp_alloc_limbs (2*ecc->p.size);
}
void
ecc_point_clear (struct ecc_point *p)
{
- gmp_free_limbs (p->p, 2*p->ecc->size);
+ gmp_free_limbs (p->p, 2*p->ecc->p.size);
}
int
@@ -59,10 +59,10 @@ ecc_point_set (struct ecc_point *p, const mpz_t x, const mpz_t y)
mpz_t t;
int res;
- size = p->ecc->size;
+ size = p->ecc->p.size;
- if (mpz_sgn (x) < 0 || mpz_limbs_cmp (x, p->ecc->p, size) >= 0
- || mpz_sgn (y) < 0 || mpz_limbs_cmp (y, p->ecc->p, size) >= 0)
+ if (mpz_sgn (x) < 0 || mpz_limbs_cmp (x, p->ecc->p.m, size) >= 0
+ || mpz_sgn (y) < 0 || mpz_limbs_cmp (y, p->ecc->p.m, size) >= 0)
return 0;
mpz_init (lhs);
@@ -70,7 +70,7 @@ ecc_point_set (struct ecc_point *p, const mpz_t x, const mpz_t y)
mpz_mul (lhs, y, y);
- if (p->ecc->bit_size == 255)
+ if (p->ecc->p.bit_size == 255)
{
/* ed25519 special case. FIXME: Do in some cleaner way? */
mpz_t x2;
@@ -94,7 +94,7 @@ ecc_point_set (struct ecc_point *p, const mpz_t x, const mpz_t y)
mpz_add (rhs, rhs, mpz_roinit_n (t, p->ecc->b, size));
}
- res = mpz_congruent_p (lhs, rhs, mpz_roinit_n (t, p->ecc->p, size));
+ res = mpz_congruent_p (lhs, rhs, mpz_roinit_n (t, p->ecc->p.m, size));
mpz_clear (lhs);
mpz_clear (rhs);
@@ -111,7 +111,7 @@ ecc_point_set (struct ecc_point *p, const mpz_t x, const mpz_t y)
void
ecc_point_get (const struct ecc_point *p, mpz_t x, mpz_t y)
{
- mp_size_t size = p->ecc->size;
+ mp_size_t size = p->ecc->p.size;
if (x)
mpz_set_n (x, p->p, size);
if (y)