From 054f9f61f59a7b20ba835abb98d57a9746cafa86 Mon Sep 17 00:00:00 2001 From: J08nY Date: Tue, 27 Mar 2018 18:55:29 +0200 Subject: Fix point decompression in util. --- src/cz/crcs/ectester/common/util/ECUtil.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/cz/crcs/ectester/common/util/ECUtil.java b/src/cz/crcs/ectester/common/util/ECUtil.java index 973b813..0979d91 100644 --- a/src/cz/crcs/ectester/common/util/ECUtil.java +++ b/src/cz/crcs/ectester/common/util/ECUtil.java @@ -146,16 +146,22 @@ public class ECUtil { alpha = alpha.add(x.multiply(a)); alpha = alpha.add(b); + if(!isResidue(alpha, p)) { + throw new IllegalArgumentException(); + } + BigInteger beta = modSqrt(alpha, p); if (beta.getLowestSetBit() == 0) { // rightmost bit is one if (data[0] == 0x02) { - beta = beta.negate(); + // yp is 0 + beta = p.subtract(beta); } } else { // rightmost bit is zero if (data[0] == 0x03) { - beta = beta.negate(); + // yp is 1 + beta = p.subtract(beta); } } -- cgit v1.2.3-70-g09d2