From 94cab818f30b935e61bd1a98d4c93bcfee812a55 Mon Sep 17 00:00:00 2001
From: J08nY
Date: Tue, 24 Aug 2021 16:05:01 +0200
Subject: Fix Cofactor suite.
---
src/cz/crcs/ectester/common/ec/EC_Curve.java | 3 +--
src/cz/crcs/ectester/common/util/ByteUtil.java | 11 ++++++++++-
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/cz/crcs/ectester/common/ec/EC_Curve.java b/src/cz/crcs/ectester/common/ec/EC_Curve.java
index 357b695..d188551 100644
--- a/src/cz/crcs/ectester/common/ec/EC_Curve.java
+++ b/src/cz/crcs/ectester/common/ec/EC_Curve.java
@@ -112,8 +112,7 @@ public class EC_Curve extends EC_Params {
BigInteger n = new BigInteger(1, getParam(EC_Consts.PARAMETER_R)[0]);
- int h = ByteUtil.getShort(getParam(EC_Consts.PARAMETER_K)[0], 0);
-
+ int h = ByteUtil.getShortInt(getParam(EC_Consts.PARAMETER_K)[0], 0);
return new ECParameterSpec(curve, generator, n, h);
}
diff --git a/src/cz/crcs/ectester/common/util/ByteUtil.java b/src/cz/crcs/ectester/common/util/ByteUtil.java
index 4b4a2d6..442824a 100644
--- a/src/cz/crcs/ectester/common/util/ByteUtil.java
+++ b/src/cz/crcs/ectester/common/util/ByteUtil.java
@@ -9,7 +9,7 @@ package cz.crcs.ectester.common.util;
public class ByteUtil {
/**
- * Gen a short from a byte array at offset, big-endian.
+ * Get a short from a byte array at offset, big-endian.
*
* @return the short value
*/
@@ -17,6 +17,15 @@ public class ByteUtil {
return (short) (((array[offset] & 0xFF) << 8) | (array[offset + 1] & 0xFF));
}
+ /**
+ * Get a short from a byte array at offset, return it as an int, big-endian.
+ *
+ * @return the short value (as an int)
+ */
+ public static int getShortInt(byte[] array, int offset) {
+ return (((array[offset] & 0xFF) << 8) | (array[offset + 1] & 0xFF));
+ }
+
/**
* Set a short in a byte array at offset, big-endian.
*/
--
cgit v1.2.3-70-g09d2