diff options
Diffstat (limited to 'src/cz/crcs/ectester/common/ec/EC_Curve.java')
| -rw-r--r-- | src/cz/crcs/ectester/common/ec/EC_Curve.java | 9 |
1 files changed, 6 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 19228dc..173fd29 100644 --- a/src/cz/crcs/ectester/common/ec/EC_Curve.java +++ b/src/cz/crcs/ectester/common/ec/EC_Curve.java @@ -95,12 +95,12 @@ public class EC_Curve extends EC_Params { byte fieldType; if (field instanceof ECFieldFp) { ECFieldFp primeField = (ECFieldFp) field; - params = new byte[5][]; + params = new byte[7][]; params[paramIndex++] = primeField.getP().toByteArray(); fieldType = KeyPair.ALG_EC_FP; } else if (field instanceof ECFieldF2m) { ECFieldF2m binaryField = (ECFieldF2m) field; - params = new byte[8][]; + params = new byte[10][]; params[paramIndex] = new byte[2]; ByteUtil.setShort(params[paramIndex++], 0, (short) binaryField.getM()); int[] powers = binaryField.getMidTermsOfReductionPolynomial(); @@ -110,11 +110,14 @@ public class EC_Curve extends EC_Params { } fieldType = KeyPair.ALG_EC_F2M; } else { - throw new IllegalArgumentException("ECParameterSpec with an unknnown field."); + throw new IllegalArgumentException("ECParameterSpec with an unknown field."); } ECPoint generator = spec.getGenerator(); + params[paramIndex++] = curve.getA().toByteArray(); + params[paramIndex++] = curve.getB().toByteArray(); + params[paramIndex++] = generator.getAffineX().toByteArray(); params[paramIndex++] = generator.getAffineY().toByteArray(); |
