From 6d2f9f8df116ba6278701bc9af6fd3716def2e11 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Tue, 28 Jan 2014 09:59:26 +0900 Subject: [PATCH] bug fix for compute_kP --- ChangeLog | 5 +++++ src/ec_p256.c | 7 +++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index affc4a4..0013ca5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2014-01-28 Niibe Yutaka + + * src/ec_p256.c (get_vk_kP): Bug fix. + (compute_kP): Bug fix for index table. + 2014-01-27 Niibe Yutaka * src/ec_p256.c (get_vk_kP): New. diff --git a/src/ec_p256.c b/src/ec_p256.c index eb2f8cd..cd22bb0 100644 --- a/src/ec_p256.c +++ b/src/ec_p256.c @@ -230,8 +230,7 @@ static const ac precomputed_2E_KG[15] = { /* * Generator of Elliptic curve over GF(p256) */ -const bn256 *Gx = precomputed_KG[0].x; -const bn256 *Gy = precomputed_KG[0].y; +const ac *G = &precomputed_KG[0]; #endif @@ -354,7 +353,7 @@ get_vk_kP (const bn256 *K, int i) uint8_t word_index = (blk * 3) + (pos / 11); w = ((K->word[word_index] >> col) & 7); - if (pos == 10 || pos == 21) + if (word_index < 7 && (pos == 10 || pos == 21)) { uint8_t mask; uint8_t shift; @@ -451,7 +450,7 @@ compute_kP (ac *X, const bn256 *K, const ac *P) /* Fill index. */ vk = get_vk_kP (K_dash, 0); - for (i = 1; i < 85; i++) + for (i = 1; i < 86; i++) { int vk_next, is_even;