From 1443b11fa877ecd50200af0005b7ebcee135133c Mon Sep 17 00:00:00 2001 From: hasufell Date: Sun, 25 May 2014 00:58:22 +0200 Subject: [PATCH] KEYGEN: fix keys --- src/keypair.c | 17 +++++++++-------- src/keypair.h | 1 + 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/keypair.c b/src/keypair.c index a187dc7..7c2c25b 100644 --- a/src/keypair.c +++ b/src/keypair.c @@ -38,11 +38,11 @@ bool ntru_create_keypair( bool retval = true; fmpz_poly_t Fq, Fp, - priv; + pub; fmpz_poly_init(Fq); fmpz_poly_init(Fp); - fmpz_poly_init(priv); + fmpz_poly_init(pub); if (!poly_inverse_poly_q(f, Fq, ctx)) { @@ -55,20 +55,21 @@ bool ntru_create_keypair( goto cleanup; } - poly_starmultiply(Fq, g, priv, ctx, ctx->q); - fmpz_poly_scalar_mul_ui(priv, priv, ctx->p); - fmpz_poly_mod(priv, ctx->q); + poly_starmultiply(Fq, g, pub, ctx, ctx->q); + fmpz_poly_scalar_mul_ui(pub, pub, ctx->p); + fmpz_poly_mod(pub, ctx->q); fmpz_poly_init(pair->priv); fmpz_poly_init(pair->pub); - fmpz_poly_set(pair->priv, priv); - fmpz_poly_set(pair->pub, Fp); + fmpz_poly_set(pair->priv, f); + fmpz_poly_set(pair->priv_inv, Fp); + fmpz_poly_set(pair->pub, pub); cleanup: fmpz_poly_clear(Fq); fmpz_poly_clear(Fp); - fmpz_poly_clear(priv); + fmpz_poly_clear(pub); return retval; } diff --git a/src/keypair.h b/src/keypair.h index 9412c42..1dc8bcc 100644 --- a/src/keypair.h +++ b/src/keypair.h @@ -35,6 +35,7 @@ typedef struct keypair keypair; struct keypair { fmpz_poly_t priv; + fmpz_poly_t priv_inv; fmpz_poly_t pub; };