From fc32d6c7500aea671cdccfc2ccf26af812d20908 Mon Sep 17 00:00:00 2001 From: J08nY Date: Fri, 10 Nov 2017 19:35:17 +0100 Subject: [PATCH 01/91] Cleanup and a new gitignore. --- .gitignore | 5 ++++ LICENSE | 2 +- .../crcs/ectester/applet/ECTesterApplet.java | 24 ++++++++++--------- src/cz/crcs/ectester/reader/Util.java | 14 ++++------- 4 files changed, 24 insertions(+), 21 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..fe6a5d3d --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +/dist/lib/ +/dist/ECTester.jar +/dist/ECTester-dist.jar +/dist/ectester.sh +/dist/ectester.bat \ No newline at end of file diff --git a/LICENSE b/LICENSE index a8fc8514..21ecc94d 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2016 +Copyright (c) 2016-2017 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/src/cz/crcs/ectester/applet/ECTesterApplet.java b/src/cz/crcs/ectester/applet/ECTesterApplet.java index ecf97f2e..deb3aae5 100644 --- a/src/cz/crcs/ectester/applet/ECTesterApplet.java +++ b/src/cz/crcs/ectester/applet/ECTesterApplet.java @@ -57,8 +57,8 @@ public class ECTesterApplet extends Applet implements ExtendedLength { public static final byte INS_CLEANUP = (byte) 0x73; public static final byte INS_SUPPORT = (byte) 0x74; public static final byte INS_ALLOCATE_KA = (byte) 0x75; - - + + // PARAMETERS for P1 and P2 public static final byte KEYPAIR_LOCAL = (byte) 0x01; public static final byte KEYPAIR_REMOTE = (byte) 0x02; @@ -72,10 +72,10 @@ public class ECTesterApplet extends Applet implements ExtendedLength { public static final short SW_KEYPAIR_NULL = (short) 0x0ee3; public static final short SW_KA_NULL = (short) 0x0ee4; public static final short SW_SIGNATURE_NULL = (short) 0x0ee5; - public static final short SW_OBJECT_NULL = (short) 0x0ee6; + public static final short SW_OBJECT_NULL = (short) 0x0ee6; public static final short SW_KA_UNSUPPORTED = (short) 0x0ee7; - + // Class javacard.security.KeyAgreement // javacard.security.KeyAgreement Fields: public static final byte KeyAgreement_ALG_EC_SVDP_DH = 1; @@ -86,7 +86,7 @@ public class ECTesterApplet extends Applet implements ExtendedLength { public static final byte KeyAgreement_ALG_EC_SVDP_DHC_PLAIN = 4; public static final byte KeyAgreement_ALG_EC_PACE_GM = 5; public static final byte KeyAgreement_ALG_EC_SVDP_DH_PLAIN_XY = 6; - public static final byte KeyAgreement_ALG_DH_PLAIN = 7; + public static final byte KeyAgreement_ALG_DH_PLAIN = 7; private static final short ARRAY_LENGTH = (short) 0xff; @@ -163,7 +163,7 @@ public void process(APDU apdu) throws ISOException { short length = 0; switch (ins) { - case INS_ALLOCATE_KA: + case INS_ALLOCATE_KA: length = insAllocateKA(apdu); break; case INS_ALLOCATE: @@ -208,7 +208,7 @@ public void process(APDU apdu) throws ISOException { apdu.setOutgoingAndSend((short) 0, length); } else ISOException.throwIt(ISO7816.SW_CLA_NOT_SUPPORTED); } - + /** * Allocates KeyAgreement object. returns allocate SW * @@ -235,18 +235,18 @@ private short insAllocateKA(APDU apdu) { sw = SW_KA_UNSUPPORTED; break; } -*/ +*/ // Allocate given type into both DH and DHC objects short sw = keyTester.allocateECDH(kaType); short offset = 0; Util.setShort(apdu.getBuffer(), offset, sw); offset += 2; - + //sw = keyTester.allocateECDHC(kaType); Util.setShort(apdu.getBuffer(), offset, sw); offset += 2; return offset; - } + } /** * Allocates local and remote keyPairs. * returns allocate SWs @@ -422,13 +422,15 @@ private short insECDH(APDU apdu) { } /** + * Performs ECDH, directly between the privkey specified in P1(local/remote) and the raw data * * @param apdu P1 = byte privkey (KEYPAIR_*) - * @return P2 = byte export (EXPORT_TRUE || EXPORT_FALSE) + * P2 = byte export (EXPORT_TRUE || EXPORT_FALSE) * DATA = short corruption (EC_Consts.CORRUPTION_* | ...) * byte type (EC_Consts.KA_* | ...) * short length * byte[] pubkey + * @return length of response */ private short insECDH_direct(APDU apdu) { byte privkey = apduArray[ISO7816.OFFSET_P1]; diff --git a/src/cz/crcs/ectester/reader/Util.java b/src/cz/crcs/ectester/reader/Util.java index 4e1154ba..001f58c2 100644 --- a/src/cz/crcs/ectester/reader/Util.java +++ b/src/cz/crcs/ectester/reader/Util.java @@ -1,16 +1,12 @@ package cz.crcs.ectester.reader; import cz.crcs.ectester.applet.ECTesterApplet; -import static cz.crcs.ectester.applet.ECTesterApplet.KeyAgreement_ALG_EC_PACE_GM; -import static cz.crcs.ectester.applet.ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH; -import static cz.crcs.ectester.applet.ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DHC; -import static cz.crcs.ectester.applet.ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DHC_PLAIN; -import static cz.crcs.ectester.applet.ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH_PLAIN; -import static cz.crcs.ectester.applet.ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH_PLAIN_XY; import cz.crcs.ectester.applet.EC_Consts; import javacard.framework.ISO7816; import javacard.security.CryptoException; +import static cz.crcs.ectester.applet.ECTesterApplet.*; + /** * Utility class, some byte/hex manipulation, convenient byte[] methods. * @@ -349,9 +345,9 @@ public static String getKA(byte ka) { } return algo; } - + public static String getKATypeString(byte kaType) { - String kaTypeString = "unknown"; + String kaTypeString; switch (kaType) { case KeyAgreement_ALG_EC_SVDP_DH: kaTypeString = "ALG_EC_SVDP_DH"; @@ -373,7 +369,7 @@ public static String getKATypeString(byte kaType) { break; default: kaTypeString = "unknown"; - } + } return kaTypeString; } } From 59a043192903918a68e8d9df629c09221a13c641 Mon Sep 17 00:00:00 2001 From: J08nY Date: Fri, 10 Nov 2017 21:17:54 +0100 Subject: [PATCH 02/91] Split the ec package into common package, rename reader part of the project. --- build.xml | 22 ------------------- manifest.mf | 2 +- nbproject/project.properties | 2 +- .../{reader => common}/ec/EC_Category.java | 2 +- .../{reader => common}/ec/EC_Curve.java | 2 +- .../{reader => common}/ec/EC_Data.java | 2 +- .../{reader => common}/ec/EC_KAResult.java | 2 +- .../{reader => common}/ec/EC_Key.java | 2 +- .../{reader => common}/ec/EC_Keypair.java | 2 +- .../{reader => common}/ec/EC_Params.java | 2 +- src/cz/crcs/ectester/data/EC_Store.java | 2 +- .../{ECTester.java => ECTesterReader.java} | 14 ++++++------ .../crcs/ectester/reader/command/Command.java | 14 ++++++------ .../ectester/reader/response/Response.java | 1 - .../reader/test/CompositeCurvesSuite.java | 8 +++---- .../ectester/reader/test/DefaultSuite.java | 4 ++-- .../reader/test/InvalidCurvesSuite.java | 8 +++---- .../crcs/ectester/reader/test/TestSuite.java | 8 +++---- .../ectester/reader/test/TestVectorSuite.java | 6 ++--- .../reader/test/WrongCurvesSuite.java | 4 ++-- 20 files changed, 43 insertions(+), 66 deletions(-) rename src/cz/crcs/ectester/{reader => common}/ec/EC_Category.java (99%) rename src/cz/crcs/ectester/{reader => common}/ec/EC_Curve.java (97%) rename src/cz/crcs/ectester/{reader => common}/ec/EC_Data.java (99%) rename src/cz/crcs/ectester/{reader => common}/ec/EC_KAResult.java (97%) rename src/cz/crcs/ectester/{reader => common}/ec/EC_Key.java (98%) rename src/cz/crcs/ectester/{reader => common}/ec/EC_Keypair.java (95%) rename src/cz/crcs/ectester/{reader => common}/ec/EC_Params.java (99%) rename src/cz/crcs/ectester/reader/{ECTester.java => ECTesterReader.java} (98%) diff --git a/build.xml b/build.xml index 3d778f38..f89b743c 100644 --- a/build.xml +++ b/build.xml @@ -69,28 +69,6 @@ properties which you can use, check the target you are overriding in the nbproject/build-impl.xml file. - --> - diff --git a/manifest.mf b/manifest.mf index 2cb1a50e..cbfea93d 100644 --- a/manifest.mf +++ b/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 Class-Path: lib/jcardsim-3.0.4-SNAPSHOT.jar lib/commons-cli-1.3.1.jar lib/snakeyaml-1.19.jar -Main-Class: cz.crcs.ectester.reader.ECTester +Main-Class: cz.crcs.ectester.reader.ECTesterReader diff --git a/nbproject/project.properties b/nbproject/project.properties index 152dc9c4..8c65b4e0 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -59,7 +59,7 @@ javadoc.splitindex=true javadoc.use=true javadoc.version=false javadoc.windowtitle= -main.class=cz.crcs.ectester.reader.ECTester +main.class=cz.crcs.ectester.reader.ECTesterReader manifest.file=manifest.mf meta.inf.dir=${src.dir}/META-INF mkdist.disabled=false diff --git a/src/cz/crcs/ectester/reader/ec/EC_Category.java b/src/cz/crcs/ectester/common/ec/EC_Category.java similarity index 99% rename from src/cz/crcs/ectester/reader/ec/EC_Category.java rename to src/cz/crcs/ectester/common/ec/EC_Category.java index 41cbad87..32a788dd 100644 --- a/src/cz/crcs/ectester/reader/ec/EC_Category.java +++ b/src/cz/crcs/ectester/common/ec/EC_Category.java @@ -1,4 +1,4 @@ -package cz.crcs.ectester.reader.ec; +package cz.crcs.ectester.common.ec; import java.util.Collections; import java.util.Map; diff --git a/src/cz/crcs/ectester/reader/ec/EC_Curve.java b/src/cz/crcs/ectester/common/ec/EC_Curve.java similarity index 97% rename from src/cz/crcs/ectester/reader/ec/EC_Curve.java rename to src/cz/crcs/ectester/common/ec/EC_Curve.java index cb4a2df5..19cfe2d8 100644 --- a/src/cz/crcs/ectester/reader/ec/EC_Curve.java +++ b/src/cz/crcs/ectester/common/ec/EC_Curve.java @@ -1,4 +1,4 @@ -package cz.crcs.ectester.reader.ec; +package cz.crcs.ectester.common.ec; import cz.crcs.ectester.applet.EC_Consts; import javacard.security.KeyPair; diff --git a/src/cz/crcs/ectester/reader/ec/EC_Data.java b/src/cz/crcs/ectester/common/ec/EC_Data.java similarity index 99% rename from src/cz/crcs/ectester/reader/ec/EC_Data.java rename to src/cz/crcs/ectester/common/ec/EC_Data.java index 0ceddeff..da972089 100644 --- a/src/cz/crcs/ectester/reader/ec/EC_Data.java +++ b/src/cz/crcs/ectester/common/ec/EC_Data.java @@ -1,4 +1,4 @@ -package cz.crcs.ectester.reader.ec; +package cz.crcs.ectester.common.ec; import cz.crcs.ectester.reader.Util; diff --git a/src/cz/crcs/ectester/reader/ec/EC_KAResult.java b/src/cz/crcs/ectester/common/ec/EC_KAResult.java similarity index 97% rename from src/cz/crcs/ectester/reader/ec/EC_KAResult.java rename to src/cz/crcs/ectester/common/ec/EC_KAResult.java index 4a67bbeb..b215d0ef 100644 --- a/src/cz/crcs/ectester/reader/ec/EC_KAResult.java +++ b/src/cz/crcs/ectester/common/ec/EC_KAResult.java @@ -1,4 +1,4 @@ -package cz.crcs.ectester.reader.ec; +package cz.crcs.ectester.common.ec; import cz.crcs.ectester.reader.Util; diff --git a/src/cz/crcs/ectester/reader/ec/EC_Key.java b/src/cz/crcs/ectester/common/ec/EC_Key.java similarity index 98% rename from src/cz/crcs/ectester/reader/ec/EC_Key.java rename to src/cz/crcs/ectester/common/ec/EC_Key.java index 5077d5b3..a34b0e7a 100644 --- a/src/cz/crcs/ectester/reader/ec/EC_Key.java +++ b/src/cz/crcs/ectester/common/ec/EC_Key.java @@ -1,4 +1,4 @@ -package cz.crcs.ectester.reader.ec; +package cz.crcs.ectester.common.ec; import cz.crcs.ectester.applet.EC_Consts; diff --git a/src/cz/crcs/ectester/reader/ec/EC_Keypair.java b/src/cz/crcs/ectester/common/ec/EC_Keypair.java similarity index 95% rename from src/cz/crcs/ectester/reader/ec/EC_Keypair.java rename to src/cz/crcs/ectester/common/ec/EC_Keypair.java index 26433463..53632cde 100644 --- a/src/cz/crcs/ectester/reader/ec/EC_Keypair.java +++ b/src/cz/crcs/ectester/common/ec/EC_Keypair.java @@ -1,4 +1,4 @@ -package cz.crcs.ectester.reader.ec; +package cz.crcs.ectester.common.ec; import cz.crcs.ectester.applet.EC_Consts; diff --git a/src/cz/crcs/ectester/reader/ec/EC_Params.java b/src/cz/crcs/ectester/common/ec/EC_Params.java similarity index 99% rename from src/cz/crcs/ectester/reader/ec/EC_Params.java rename to src/cz/crcs/ectester/common/ec/EC_Params.java index 6fb164b7..5b8295e6 100644 --- a/src/cz/crcs/ectester/reader/ec/EC_Params.java +++ b/src/cz/crcs/ectester/common/ec/EC_Params.java @@ -1,4 +1,4 @@ -package cz.crcs.ectester.reader.ec; +package cz.crcs.ectester.common.ec; import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.reader.Util; diff --git a/src/cz/crcs/ectester/data/EC_Store.java b/src/cz/crcs/ectester/data/EC_Store.java index 9b1f5bb9..3103c1d7 100644 --- a/src/cz/crcs/ectester/data/EC_Store.java +++ b/src/cz/crcs/ectester/data/EC_Store.java @@ -1,7 +1,7 @@ package cz.crcs.ectester.data; import cz.crcs.ectester.applet.EC_Consts; -import cz.crcs.ectester.reader.ec.*; +import cz.crcs.ectester.common.ec.*; import javacard.security.KeyPair; import org.w3c.dom.Document; import org.w3c.dom.Element; diff --git a/src/cz/crcs/ectester/reader/ECTester.java b/src/cz/crcs/ectester/reader/ECTesterReader.java similarity index 98% rename from src/cz/crcs/ectester/reader/ECTester.java rename to src/cz/crcs/ectester/reader/ECTesterReader.java index 550e0704..4eadfd3d 100644 --- a/src/cz/crcs/ectester/reader/ECTester.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -25,9 +25,9 @@ import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.command.Command; -import cz.crcs.ectester.reader.ec.EC_Category; -import cz.crcs.ectester.reader.ec.EC_Data; -import cz.crcs.ectester.reader.ec.EC_Params; +import cz.crcs.ectester.common.ec.EC_Category; +import cz.crcs.ectester.common.ec.EC_Data; +import cz.crcs.ectester.common.ec.EC_Params; import cz.crcs.ectester.reader.output.*; import cz.crcs.ectester.reader.response.Response; import cz.crcs.ectester.reader.test.*; @@ -49,7 +49,7 @@ * @author Jan Jancar johny@neuromancer.sk * @version v0.1.0 */ -public class ECTester { +public class ECTesterReader { private CardMngr cardManager; private OutputLogger logger; @@ -60,7 +60,7 @@ public class ECTester { private Options opts = new Options(); private static final String VERSION = "v0.1.0"; - private static final String DESCRIPTION = "ECTester " + VERSION + ", a javacard Elliptic Curve Cryptograhy support tester/utility."; + private static final String DESCRIPTION = "ECTesterReader " + VERSION + ", a javacard Elliptic Curve Cryptograhy support tester/utility."; private static final String LICENSE = "MIT Licensed\nCopyright (c) 2016-2017 Petr Svenda "; private static final String CLI_HEADER = "\n" + DESCRIPTION + "\n\n"; private static final String CLI_FOOTER = "\n" + LICENSE; @@ -314,7 +314,7 @@ private CommandLine parseArgs(String[] args) throws ParseException { private void help() { HelpFormatter help = new HelpFormatter(); help.setOptionComparator(null); - help.printHelp("ECTester.jar", CLI_HEADER, opts, CLI_FOOTER, true); + help.printHelp("ECTesterReader.jar", CLI_HEADER, opts, CLI_FOOTER, true); } /** @@ -629,7 +629,7 @@ private void ecdsa() throws CardException, IOException { } public static void main(String[] args) { - ECTester app = new ECTester(); + ECTesterReader app = new ECTesterReader(); app.run(args); } diff --git a/src/cz/crcs/ectester/reader/command/Command.java b/src/cz/crcs/ectester/reader/command/Command.java index 3c11456d..3668fbb8 100644 --- a/src/cz/crcs/ectester/reader/command/Command.java +++ b/src/cz/crcs/ectester/reader/command/Command.java @@ -4,13 +4,13 @@ import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; -import cz.crcs.ectester.reader.ECTester; +import cz.crcs.ectester.reader.ECTesterReader; import cz.crcs.ectester.reader.response.Response; import cz.crcs.ectester.reader.Util; -import cz.crcs.ectester.reader.ec.EC_Curve; -import cz.crcs.ectester.reader.ec.EC_Key; -import cz.crcs.ectester.reader.ec.EC_Keypair; -import cz.crcs.ectester.reader.ec.EC_Params; +import cz.crcs.ectester.common.ec.EC_Curve; +import cz.crcs.ectester.common.ec.EC_Key; +import cz.crcs.ectester.common.ec.EC_Keypair; +import cz.crcs.ectester.common.ec.EC_Params; import javacard.security.KeyPair; import javax.smartcardio.CardException; @@ -54,7 +54,7 @@ public static List sendAll(List commands) throws CardExceptio * @return a Command to send in order to prepare the curve on the keypairs. * @throws IOException if curve file cannot be found/opened */ - public static Command prepareCurve(CardMngr cardManager, EC_Store dataStore, ECTester.Config cfg, byte keyPair, short keyLength, byte keyClass) throws IOException { + public static Command prepareCurve(CardMngr cardManager, EC_Store dataStore, ECTesterReader.Config cfg, byte keyPair, short keyLength, byte keyClass) throws IOException { if (cfg.customCurve) { // Set custom curve (one of the SECG curves embedded applet-side) @@ -109,7 +109,7 @@ public static Command prepareCurve(CardMngr cardManager, EC_Store dataStore, ECT * @return a CommandAPDU setting params loaded on the keyPair/s * @throws IOException if any of the key files cannot be found/opened */ - public static Command prepareKey(CardMngr cardManager, EC_Store dataStore, ECTester.Config cfg, byte keyPair) throws IOException { + public static Command prepareKey(CardMngr cardManager, EC_Store dataStore, ECTesterReader.Config cfg, byte keyPair) throws IOException { short params = EC_Consts.PARAMETERS_NONE; byte[] data = null; diff --git a/src/cz/crcs/ectester/reader/response/Response.java b/src/cz/crcs/ectester/reader/response/Response.java index 4abfd14b..b816a97f 100644 --- a/src/cz/crcs/ectester/reader/response/Response.java +++ b/src/cz/crcs/ectester/reader/response/Response.java @@ -3,7 +3,6 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.reader.Util; -import cz.crcs.ectester.reader.ec.EC_Data; import javacard.framework.ISO7816; import javacard.security.KeyPair; diff --git a/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java b/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java index 8e7ca310..9c8393db 100644 --- a/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java @@ -4,10 +4,10 @@ import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; -import cz.crcs.ectester.reader.ECTester; +import cz.crcs.ectester.reader.ECTesterReader; import cz.crcs.ectester.reader.command.Command; -import cz.crcs.ectester.reader.ec.EC_Curve; -import cz.crcs.ectester.reader.ec.EC_Key; +import cz.crcs.ectester.common.ec.EC_Curve; +import cz.crcs.ectester.common.ec.EC_Key; import javacard.security.KeyPair; import java.util.Map; @@ -19,7 +19,7 @@ */ public class CompositeCurvesSuite extends TestSuite { - public CompositeCurvesSuite(EC_Store dataStore, ECTester.Config cfg) { + public CompositeCurvesSuite(EC_Store dataStore, ECTesterReader.Config cfg) { super(dataStore, cfg, "composite", "The composite suite tests ECDH over curves with composite order. This should generally fail, as using such a curve is unsafe."); } diff --git a/src/cz/crcs/ectester/reader/test/DefaultSuite.java b/src/cz/crcs/ectester/reader/test/DefaultSuite.java index 736b7c58..b487a6e2 100644 --- a/src/cz/crcs/ectester/reader/test/DefaultSuite.java +++ b/src/cz/crcs/ectester/reader/test/DefaultSuite.java @@ -4,7 +4,7 @@ import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; -import cz.crcs.ectester.reader.ECTester; +import cz.crcs.ectester.reader.ECTesterReader; import cz.crcs.ectester.reader.command.Command; import javacard.security.KeyPair; @@ -17,7 +17,7 @@ */ public class DefaultSuite extends TestSuite { - public DefaultSuite(EC_Store dataStore, ECTester.Config cfg) { + public DefaultSuite(EC_Store dataStore, ECTesterReader.Config cfg) { super(dataStore, cfg, "default", "The default test suite tests basic support of ECDH and ECDSA."); } diff --git a/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java b/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java index f61b6951..3dcabb3d 100644 --- a/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java @@ -4,10 +4,10 @@ import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; -import cz.crcs.ectester.reader.ECTester; +import cz.crcs.ectester.reader.ECTesterReader; import cz.crcs.ectester.reader.command.Command; -import cz.crcs.ectester.reader.ec.EC_Curve; -import cz.crcs.ectester.reader.ec.EC_Key; +import cz.crcs.ectester.common.ec.EC_Curve; +import cz.crcs.ectester.common.ec.EC_Key; import javacard.security.KeyPair; import java.io.IOException; @@ -23,7 +23,7 @@ */ public class InvalidCurvesSuite extends TestSuite { - public InvalidCurvesSuite(EC_Store dataStore, ECTester.Config cfg) { + public InvalidCurvesSuite(EC_Store dataStore, ECTesterReader.Config cfg) { super(dataStore, cfg, "invalid", "The invalid curve suite tests whether the card rejects points outside of the curve during ECDH."); } diff --git a/src/cz/crcs/ectester/reader/test/TestSuite.java b/src/cz/crcs/ectester/reader/test/TestSuite.java index f13317c8..3b6af5aa 100644 --- a/src/cz/crcs/ectester/reader/test/TestSuite.java +++ b/src/cz/crcs/ectester/reader/test/TestSuite.java @@ -4,9 +4,9 @@ import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; -import cz.crcs.ectester.reader.ECTester; +import cz.crcs.ectester.reader.ECTesterReader; import cz.crcs.ectester.reader.command.Command; -import cz.crcs.ectester.reader.ec.EC_Curve; +import cz.crcs.ectester.common.ec.EC_Curve; import java.io.IOException; import java.util.Collections; @@ -23,12 +23,12 @@ */ public abstract class TestSuite { EC_Store dataStore; - ECTester.Config cfg; + ECTesterReader.Config cfg; String name; String description; List tests = new LinkedList<>(); - TestSuite(EC_Store dataStore, ECTester.Config cfg, String name, String description) { + TestSuite(EC_Store dataStore, ECTesterReader.Config cfg, String name, String description) { this.dataStore = dataStore; this.cfg = cfg; this.name = name; diff --git a/src/cz/crcs/ectester/reader/test/TestVectorSuite.java b/src/cz/crcs/ectester/reader/test/TestVectorSuite.java index ff46feb7..6a3121ba 100644 --- a/src/cz/crcs/ectester/reader/test/TestVectorSuite.java +++ b/src/cz/crcs/ectester/reader/test/TestVectorSuite.java @@ -4,10 +4,10 @@ import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; -import cz.crcs.ectester.reader.ECTester; +import cz.crcs.ectester.reader.ECTesterReader; import cz.crcs.ectester.reader.Util; import cz.crcs.ectester.reader.command.Command; -import cz.crcs.ectester.reader.ec.*; +import cz.crcs.ectester.common.ec.*; import cz.crcs.ectester.reader.response.Response; import javacard.security.KeyPair; @@ -24,7 +24,7 @@ */ public class TestVectorSuite extends TestSuite { - public TestVectorSuite(EC_Store dataStore, ECTester.Config cfg) { + public TestVectorSuite(EC_Store dataStore, ECTesterReader.Config cfg) { super(dataStore, cfg, "test", "The test-vectors suite contains a collection of test vectors which test basic ECDH correctness."); } diff --git a/src/cz/crcs/ectester/reader/test/WrongCurvesSuite.java b/src/cz/crcs/ectester/reader/test/WrongCurvesSuite.java index e9389b42..09f10d37 100644 --- a/src/cz/crcs/ectester/reader/test/WrongCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/WrongCurvesSuite.java @@ -2,7 +2,7 @@ import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; -import cz.crcs.ectester.reader.ECTester; +import cz.crcs.ectester.reader.ECTesterReader; import javacard.security.KeyPair; import java.io.IOException; @@ -14,7 +14,7 @@ */ public class WrongCurvesSuite extends TestSuite { - public WrongCurvesSuite(EC_Store dataStore, ECTester.Config cfg) { + public WrongCurvesSuite(EC_Store dataStore, ECTesterReader.Config cfg) { super(dataStore, cfg, "wrong", "The wrong curve suite tests whether the card rejects domain parameters which are not curves."); } From 84a3a55be957900e0417a5afa77b65bfa6d19270 Mon Sep 17 00:00:00 2001 From: J08nY Date: Fri, 10 Nov 2017 22:18:07 +0100 Subject: [PATCH 03/91] Split test package into common. --- .../ectester/common/test/CompoundTest.java | 108 +++++++++ .../{reader => common}/test/Result.java | 4 +- src/cz/crcs/ectester/common/test/Test.java | 50 ++++ .../ectester/common/test/TestException.java | 11 + .../crcs/ectester/common/test/Testable.java | 13 ++ .../crcs/ectester/reader/ECTesterReader.java | 9 +- .../ectester/reader/output/TestWriter.java | 2 +- .../reader/output/TextTestWriter.java | 10 +- .../ectester/reader/output/XMLTestWriter.java | 12 +- .../reader/output/YAMLTestWriter.java | 12 +- .../reader/test/CompositeCurvesSuite.java | 12 +- .../ectester/reader/test/DefaultSuite.java | 10 +- .../reader/test/InvalidCurvesSuite.java | 16 +- .../crcs/ectester/reader/test/SimpleTest.java | 71 ++++++ src/cz/crcs/ectester/reader/test/Test.java | 217 ------------------ .../crcs/ectester/reader/test/TestRunner.java | 6 +- .../crcs/ectester/reader/test/TestSuite.java | 33 +-- .../ectester/reader/test/TestVectorSuite.java | 21 +- .../reader/test/WrongCurvesSuite.java | 2 +- 19 files changed, 336 insertions(+), 283 deletions(-) create mode 100644 src/cz/crcs/ectester/common/test/CompoundTest.java rename src/cz/crcs/ectester/{reader => common}/test/Result.java (94%) create mode 100644 src/cz/crcs/ectester/common/test/Test.java create mode 100644 src/cz/crcs/ectester/common/test/TestException.java create mode 100644 src/cz/crcs/ectester/common/test/Testable.java create mode 100644 src/cz/crcs/ectester/reader/test/SimpleTest.java delete mode 100644 src/cz/crcs/ectester/reader/test/Test.java diff --git a/src/cz/crcs/ectester/common/test/CompoundTest.java b/src/cz/crcs/ectester/common/test/CompoundTest.java new file mode 100644 index 00000000..bcf4a0ea --- /dev/null +++ b/src/cz/crcs/ectester/common/test/CompoundTest.java @@ -0,0 +1,108 @@ +package cz.crcs.ectester.common.test; + +import java.util.function.Function; + +/** + * A compound test that runs many Tests and has a Result dependent on all/some of their Results. + * + * @author Jan Jancar johny@neuromancer.sk + */ +public class CompoundTest extends Test { + private Function callback; + private Test[] tests; + private String description; + + private CompoundTest(Function callback, Test... tests) { + this.callback = callback; + this.tests = tests; + } + + private CompoundTest(Function callback, String descripiton, Test... tests) { + this(callback, tests); + this.description = descripiton; + } + + public static CompoundTest function(Function callback, Test... tests) { + return new CompoundTest(callback, tests); + } + + public static CompoundTest function(Function callback, String description, Test... tests) { + return new CompoundTest(callback, description, tests); + } + + public static CompoundTest all(Result.ExpectedValue what, Test... all) { + return new CompoundTest((tests) -> { + for (Test test : tests) { + if (!Result.Value.fromExpected(what, test.ok()).ok()) { + return new Result(Result.Value.FAILURE, "At least one of the sub-tests did not have the expected result."); + } + } + return new Result(Result.Value.SUCCESS, "All sub-tests had the expected result."); + }, all); + } + + public static CompoundTest all(Result.ExpectedValue what, String description, Test... all) { + CompoundTest result = CompoundTest.all(what, all); + result.setDescription(description); + return result; + } + + public static CompoundTest any(Result.ExpectedValue what, Test... any) { + return new CompoundTest((tests) -> { + for (Test test : tests) { + if (Result.Value.fromExpected(what, test.ok()).ok()) { + return new Result(Result.Value.SUCCESS, "At least one of the sub-tests did have the expected result."); + } + } + return new Result(Result.Value.FAILURE, "None of the sub-tests had the expected result."); + }, any); + } + + public static CompoundTest any(Result.ExpectedValue what, String description, Test... any) { + CompoundTest result = CompoundTest.any(what, any); + result.setDescription(description); + return result; + } + + public static CompoundTest mask(Result.ExpectedValue[] results, Test... masked) { + return new CompoundTest((tests) -> { + for (int i = 0; i < results.length; ++i) { + if (!Result.Value.fromExpected(results[i], tests[i].ok()).ok()) { + return new Result(Result.Value.FAILURE, "At least one of the sub-tests did not match the result mask."); + } + } + return new Result(Result.Value.SUCCESS, "All sub-tests matched the expected mask."); + }, masked); + } + + public static CompoundTest mask(Result.ExpectedValue[] results, String description, Test... masked) { + CompoundTest result = CompoundTest.mask(results, masked); + result.setDescription(description); + return result; + } + + public Test[] getTests() { + return tests; + } + + @Override + public void run() throws TestException { + if (hasRun) + return; + + for (Test test : tests) { + test.run(); + } + result = callback.apply(tests); + this.hasRun = true; + } + + public void setDescription(String description) { + this.description = description; + } + + @Override + public String getDescription() { + return description; + } +} diff --git a/src/cz/crcs/ectester/reader/test/Result.java b/src/cz/crcs/ectester/common/test/Result.java similarity index 94% rename from src/cz/crcs/ectester/reader/test/Result.java rename to src/cz/crcs/ectester/common/test/Result.java index 82f0f322..523a9d7a 100644 --- a/src/cz/crcs/ectester/reader/test/Result.java +++ b/src/cz/crcs/ectester/common/test/Result.java @@ -1,6 +1,8 @@ -package cz.crcs.ectester.reader.test; +package cz.crcs.ectester.common.test; /** + * A Result of a Test. Has a Value and an optional String cause. + * * @author Jan Jancar johny@neuromancer.sk */ public class Result { diff --git a/src/cz/crcs/ectester/common/test/Test.java b/src/cz/crcs/ectester/common/test/Test.java new file mode 100644 index 00000000..8c025b8f --- /dev/null +++ b/src/cz/crcs/ectester/common/test/Test.java @@ -0,0 +1,50 @@ +package cz.crcs.ectester.common.test; + +import static cz.crcs.ectester.common.test.Result.Value; + +/** + * An abstract test that can be run and has a Result. + * + * @author Jan Jancar johny@neuromancer.sk + */ +public abstract class Test { + protected boolean hasRun = false; + protected Result result; + + public Result getResult() { + if (!hasRun) { + return null; + } + return result; + } + + public Value getResultValue() { + if (!hasRun) { + return null; + } + return result.getValue(); + } + + public String getResultCause() { + if (!hasRun) { + return null; + } + return result.getCause(); + } + + public boolean ok() { + if (!hasRun) { + return true; + } + return result.ok(); + } + + public abstract String getDescription(); + + public boolean hasRun() { + return hasRun; + } + + public abstract void run() throws TestException; + +} diff --git a/src/cz/crcs/ectester/common/test/TestException.java b/src/cz/crcs/ectester/common/test/TestException.java new file mode 100644 index 00000000..01d195ca --- /dev/null +++ b/src/cz/crcs/ectester/common/test/TestException.java @@ -0,0 +1,11 @@ +package cz.crcs.ectester.common.test; + +/** + * + * @author Jan Jancar johny@neuromancer.sk + */ +public class TestException extends Exception { + public TestException(Throwable e) { + super(e); + } +} diff --git a/src/cz/crcs/ectester/common/test/Testable.java b/src/cz/crcs/ectester/common/test/Testable.java new file mode 100644 index 00000000..e033b0a7 --- /dev/null +++ b/src/cz/crcs/ectester/common/test/Testable.java @@ -0,0 +1,13 @@ +package cz.crcs.ectester.common.test; + +/** + * + * @author Jan Jancar johny@neuromancer.sk + */ +public interface Testable { + + boolean hasRun(); + void run() throws TestException; + boolean ok(); + boolean error(); +} diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index 4eadfd3d..786ab05e 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -23,11 +23,12 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; -import cz.crcs.ectester.data.EC_Store; -import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.common.ec.EC_Category; import cz.crcs.ectester.common.ec.EC_Data; import cz.crcs.ectester.common.ec.EC_Params; +import cz.crcs.ectester.common.test.TestException; +import cz.crcs.ectester.data.EC_Store; +import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.output.*; import cz.crcs.ectester.reader.response.Response; import cz.crcs.ectester.reader.test.*; @@ -187,7 +188,7 @@ private void run(String[] args) { System.err.println("File " + fnfe.getMessage() + " not found."); } catch (ParseException | IOException ex) { System.err.println(ex.getMessage()); - } catch (CardException ex) { + } catch (CardException | TestException ex) { if (logger != null) logger.println(ex.getMessage()); } catch (ParserConfigurationException e) { @@ -436,7 +437,7 @@ private void generate() throws CardException, IOException { * @throws CardException if APDU transmission fails * @throws IOException if an IO error occurs when writing to key file. */ - private void test() throws IOException, CardException { + private void test() throws IOException, TestException { TestSuite suite; switch (cfg.testSuite) { diff --git a/src/cz/crcs/ectester/reader/output/TestWriter.java b/src/cz/crcs/ectester/reader/output/TestWriter.java index 74c76fba..d79252d7 100644 --- a/src/cz/crcs/ectester/reader/output/TestWriter.java +++ b/src/cz/crcs/ectester/reader/output/TestWriter.java @@ -1,6 +1,6 @@ package cz.crcs.ectester.reader.output; -import cz.crcs.ectester.reader.test.Test; +import cz.crcs.ectester.common.test.Test; import cz.crcs.ectester.reader.test.TestSuite; /** diff --git a/src/cz/crcs/ectester/reader/output/TextTestWriter.java b/src/cz/crcs/ectester/reader/output/TextTestWriter.java index bcebcd5d..07b2a2f8 100644 --- a/src/cz/crcs/ectester/reader/output/TextTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/TextTestWriter.java @@ -1,6 +1,8 @@ package cz.crcs.ectester.reader.output; -import cz.crcs.ectester.reader.test.Test; +import cz.crcs.ectester.common.test.CompoundTest; +import cz.crcs.ectester.common.test.Test; +import cz.crcs.ectester.reader.test.SimpleTest; import cz.crcs.ectester.reader.test.TestSuite; import java.io.PrintStream; @@ -31,8 +33,8 @@ private String testString(Test t, int offset) { } StringBuilder out = new StringBuilder(); - if (t instanceof Test.Simple) { - Test.Simple test = (Test.Simple) t; + if (t instanceof SimpleTest) { + SimpleTest test = (SimpleTest) t; out.append(test.ok() ? "OK " : "NOK "); out.append("━ "); int width = BASE_WIDTH - (offset + out.length()); @@ -43,7 +45,7 @@ private String testString(Test t, int offset) { out.append(" ┃ "); out.append(respWriter.responseSuffix(test.getResponse())); } else { - Test.Compound test = (Test.Compound) t; + CompoundTest test = (CompoundTest) t; out.append(test.ok() ? "OK " : "NOK "); out.append("┳ "); int width = BASE_WIDTH - (offset + out.length()); diff --git a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java index beb758c9..f35e467d 100644 --- a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java @@ -1,9 +1,11 @@ package cz.crcs.ectester.reader.output; +import cz.crcs.ectester.common.test.CompoundTest; import cz.crcs.ectester.reader.Util; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.response.Response; -import cz.crcs.ectester.reader.test.Test; +import cz.crcs.ectester.common.test.Test; +import cz.crcs.ectester.reader.test.SimpleTest; import cz.crcs.ectester.reader.test.TestSuite; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -89,13 +91,13 @@ private Element responseElement(Response r) { private Element testElement(Test t) { Element testElem = doc.createElement("test"); - if (t instanceof Test.Simple) { - Test.Simple test = (Test.Simple) t; + if (t instanceof SimpleTest) { + SimpleTest test = (SimpleTest) t; testElem.setAttribute("type", "simple"); testElem.appendChild(commandElement(test.getCommand())); testElem.appendChild(responseElement(test.getResponse())); - } else if (t instanceof Test.Compound) { - Test.Compound test = (Test.Compound) t; + } else if (t instanceof CompoundTest) { + CompoundTest test = (CompoundTest) t; testElem.setAttribute("type", "compound"); for (Test innerTest : test.getTests()) { testElem.appendChild(testElement(innerTest)); diff --git a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java index 3b2b72d8..15c05227 100644 --- a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java @@ -1,9 +1,11 @@ package cz.crcs.ectester.reader.output; +import cz.crcs.ectester.common.test.CompoundTest; import cz.crcs.ectester.reader.Util; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.response.Response; -import cz.crcs.ectester.reader.test.Test; +import cz.crcs.ectester.common.test.Test; +import cz.crcs.ectester.reader.test.SimpleTest; import cz.crcs.ectester.reader.test.TestSuite; import org.yaml.snakeyaml.DumperOptions; import org.yaml.snakeyaml.Yaml; @@ -64,13 +66,13 @@ private Map responseObject(Response r) { private Map testObject(Test t) { Map testObj = new HashMap<>(); - if (t instanceof Test.Simple) { - Test.Simple test = (Test.Simple) t; + if (t instanceof SimpleTest) { + SimpleTest test = (SimpleTest) t; testObj.put("type", "simple"); testObj.put("command", commandObject(test.getCommand())); testObj.put("response", responseObject(test.getResponse())); - } else if (t instanceof Test.Compound) { - Test.Compound test = (Test.Compound) t; + } else if (t instanceof CompoundTest) { + CompoundTest test = (CompoundTest) t; testObj.put("type", "compound"); List> tests = new LinkedList<>(); for (Test innerTest : test.getTests()) { diff --git a/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java b/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java index 9c8393db..2e711a22 100644 --- a/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java @@ -12,7 +12,7 @@ import java.util.Map; -import static cz.crcs.ectester.reader.test.Result.ExpectedValue; +import static cz.crcs.ectester.common.test.Result.ExpectedValue; /** * @author Jan Jancar johny@neuromancer.sk @@ -41,12 +41,12 @@ public void setup(CardMngr cardManager) { continue; } if ((curve.getBits() == cfg.bits || cfg.all)) { - tests.add(new Test.Simple(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); - tests.add(new Test.Simple(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.ANY)); - tests.add(new Test.Simple(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.ANY)); + tests.add(new SimpleTest(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); + tests.add(new SimpleTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.ANY)); + tests.add(new SimpleTest(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.ANY)); Command ecdhCommand = new Command.ECDH_direct(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, EC_Consts.KA_ECDH, key.flatten()); - tests.add(new Test.Simple(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected to do ECDH over a composite order curve.", "Card incorrectly does ECDH over a composite order curve, leaks bits of private key.")); - tests.add(new Test.Simple(new Command.Cleanup(cardManager), ExpectedValue.ANY)); + tests.add(new SimpleTest(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected to do ECDH over a composite order curve.", "Card incorrectly does ECDH over a composite order curve, leaks bits of private key.")); + tests.add(new SimpleTest(new Command.Cleanup(cardManager), ExpectedValue.ANY)); } } } diff --git a/src/cz/crcs/ectester/reader/test/DefaultSuite.java b/src/cz/crcs/ectester/reader/test/DefaultSuite.java index b487a6e2..fb8fdabe 100644 --- a/src/cz/crcs/ectester/reader/test/DefaultSuite.java +++ b/src/cz/crcs/ectester/reader/test/DefaultSuite.java @@ -10,7 +10,7 @@ import java.io.IOException; -import static cz.crcs.ectester.reader.test.Result.ExpectedValue; +import static cz.crcs.ectester.common.test.Result.ExpectedValue; /** * @author Jan Jancar johny@neuromancer.sk @@ -23,7 +23,7 @@ public DefaultSuite(EC_Store dataStore, ECTesterReader.Config cfg) { @Override public void setup(CardMngr cardManager) throws IOException { - tests.add(new Test.Simple(new Command.Support(cardManager), ExpectedValue.ANY)); + tests.add(new SimpleTest(new Command.Support(cardManager), ExpectedValue.ANY)); if (cfg.namedCurve != null) { String desc = "Default tests over the " + cfg.namedCurve + " curve category."; if (cfg.primeField) { @@ -59,11 +59,11 @@ public void setup(CardMngr cardManager) throws IOException { } private void defaultTests(CardMngr cardManager, short keyLength, byte keyType) throws IOException { - tests.add(new Test.Simple(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, keyLength, keyType), ExpectedValue.SUCCESS)); + tests.add(new SimpleTest(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, keyLength, keyType), ExpectedValue.SUCCESS)); Command curve = Command.prepareCurve(cardManager, dataStore, cfg, ECTesterApplet.KEYPAIR_BOTH, keyLength, keyType); if (curve != null) - tests.add(new Test.Simple(curve, ExpectedValue.SUCCESS)); + tests.add(new SimpleTest(curve, ExpectedValue.SUCCESS)); tests.add(defaultCurveTests(cardManager, ExpectedValue.SUCCESS, ExpectedValue.SUCCESS, ExpectedValue.ANY, ExpectedValue.SUCCESS, "Default tests.")); - tests.add(new Test.Simple(new Command.Cleanup(cardManager), ExpectedValue.ANY)); + tests.add(new SimpleTest(new Command.Cleanup(cardManager), ExpectedValue.ANY)); } } diff --git a/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java b/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java index 3dcabb3d..1f71ad58 100644 --- a/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java @@ -2,6 +2,8 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; +import cz.crcs.ectester.common.test.CompoundTest; +import cz.crcs.ectester.common.test.Test; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTesterReader; @@ -16,7 +18,7 @@ import java.util.List; import java.util.Map; -import static cz.crcs.ectester.reader.test.Result.ExpectedValue; +import static cz.crcs.ectester.common.test.Result.ExpectedValue; /** * @author Jan Jancar johny@neuromancer.sk @@ -53,16 +55,16 @@ public void setup(CardMngr cardManager) throws IOException { EC_Curve curve = e.getKey(); List keys = e.getValue(); - tests.add(new Test.Simple(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); - tests.add(new Test.Simple(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.SUCCESS)); - tests.add(new Test.Simple(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.SUCCESS)); + tests.add(new SimpleTest(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); + tests.add(new SimpleTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.SUCCESS)); + tests.add(new SimpleTest(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.SUCCESS)); List ecdhTests = new LinkedList<>(); for (EC_Key.Public pub : keys) { Command ecdhCommand = new Command.ECDH_direct(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, EC_Consts.KA_ANY, pub.flatten()); - ecdhTests.add(new Test.Simple(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected point on invalid curve." , "Card incorrectly accepted point on invalid curve.")); + ecdhTests.add(new SimpleTest(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected point on invalid curve." , "Card incorrectly accepted point on invalid curve.")); } - tests.add(Test.Compound.all(ExpectedValue.SUCCESS, "Invalid curve test of " + curve.getId(), ecdhTests.toArray(new Test[0]))); - tests.add(new Test.Simple(new Command.Cleanup(cardManager), ExpectedValue.ANY)); + tests.add(CompoundTest.all(ExpectedValue.SUCCESS, "Invalid curve test of " + curve.getId(), ecdhTests.toArray(new Test[0]))); + tests.add(new SimpleTest(new Command.Cleanup(cardManager), ExpectedValue.ANY)); } } } diff --git a/src/cz/crcs/ectester/reader/test/SimpleTest.java b/src/cz/crcs/ectester/reader/test/SimpleTest.java new file mode 100644 index 00000000..067f43e3 --- /dev/null +++ b/src/cz/crcs/ectester/reader/test/SimpleTest.java @@ -0,0 +1,71 @@ +package cz.crcs.ectester.reader.test; + +import cz.crcs.ectester.common.test.Result; +import cz.crcs.ectester.common.test.Test; +import cz.crcs.ectester.common.test.TestException; +import cz.crcs.ectester.reader.command.Command; +import cz.crcs.ectester.reader.response.Response; + +import javax.smartcardio.CardException; +import java.util.function.BiFunction; + +/** + * A simple test that runs one Command to get and evaluate one Response + * to get a Result and compare it with the expected one. + */ +public class SimpleTest extends Test { + private BiFunction callback; + private Command command; + private Response response; + + public SimpleTest(Command command, BiFunction callback) { + this.command = command; + this.callback = callback; + } + + public SimpleTest(Command command, Result.ExpectedValue expected, String ok, String nok) { + this(command, (cmd, resp) -> { + Result.Value resultValue = Result.Value.fromExpected(expected, resp.successful(), resp.error()); + return new Result(resultValue, resultValue.ok() ? ok : nok); + }); + } + + public SimpleTest(Command command, Result.ExpectedValue expected) { + this(command, expected, null, null); + } + + public Command getCommand() { + return command; + } + + public Response getResponse() { + return response; + } + + @Override + public void run() throws TestException { + if (hasRun) + return; + + try { + response = command.send(); + } catch (CardException e) { + throw new TestException(e); + } + if (callback != null) { + result = callback.apply(command, response); + } else { + if (response.successful()) { + result = new Result(Result.Value.SUCCESS); + } else { + result = new Result(Result.Value.FAILURE); + } + } + hasRun = true; + } + + @Override + public String getDescription() { + return response.getDescription(); + } +} diff --git a/src/cz/crcs/ectester/reader/test/Test.java b/src/cz/crcs/ectester/reader/test/Test.java deleted file mode 100644 index 022ad56d..00000000 --- a/src/cz/crcs/ectester/reader/test/Test.java +++ /dev/null @@ -1,217 +0,0 @@ -package cz.crcs.ectester.reader.test; - -import cz.crcs.ectester.reader.command.Command; -import cz.crcs.ectester.reader.response.Response; - -import javax.smartcardio.CardException; -import java.util.function.BiFunction; -import java.util.function.Function; - -import static cz.crcs.ectester.reader.test.Result.ExpectedValue; -import static cz.crcs.ectester.reader.test.Result.Value; - -/** - * An abstract test that can be run and has a Result. - * - * @author Jan Jancar johny@neuromancer.sk - */ -public abstract class Test { - boolean hasRun = false; - Result result; - - public Result getResult() { - if (!hasRun) { - return null; - } - return result; - } - - public Value getResultValue() { - if (!hasRun) { - return null; - } - return result.getValue(); - } - - public String getResultCause() { - if (!hasRun) { - return null; - } - return result.getCause(); - } - - public boolean ok() { - if (!hasRun) { - return true; - } - return result.ok(); - } - - public abstract String getDescription(); - - public boolean hasRun() { - return hasRun; - } - - public abstract void run() throws CardException; - - /** - * A simple test that runs one Command to get and evaluate one Response - * to get a Result and compare it with the expected one. - */ - public static class Simple extends Test { - private BiFunction callback; - private Command command; - private Response response; - - public Simple(Command command, BiFunction callback) { - this.command = command; - this.callback = callback; - } - - public Simple(Command command, ExpectedValue expected, String ok, String nok) { - this(command, (cmd, resp) -> { - Value resultValue = Value.fromExpected(expected, resp.successful(), resp.error()); - return new Result(resultValue, resultValue.ok() ? ok : nok); - }); - } - - public Simple(Command command, ExpectedValue expected) { - this(command, expected, null, null); - } - - public Command getCommand() { - return command; - } - - public Response getResponse() { - return response; - } - - @Override - public void run() throws CardException { - if (hasRun) - return; - - response = command.send(); - if (callback != null) { - result = callback.apply(command, response); - } else { - if (response.successful()) { - result = new Result(Value.SUCCESS); - } else { - result = new Result(Value.FAILURE); - } - } - hasRun = true; - } - - @Override - public String getDescription() { - return response.getDescription(); - } - } - - /** - * A compound test that runs many Tests and has a Result dependent on all/some of their Results. - */ - public static class Compound extends Test { - private Function callback; - private Test[] tests; - private String description; - - private Compound(Function callback, Test... tests) { - this.callback = callback; - this.tests = tests; - } - - private Compound(Function callback, String descripiton, Test... tests) { - this(callback, tests); - this.description = descripiton; - } - - public static Compound function(Function callback, Test... tests) { - return new Compound(callback, tests); - } - - public static Compound function(Function callback, String description, Test... tests) { - return new Compound(callback, description, tests); - } - - public static Compound all(ExpectedValue what, Test... all) { - return new Compound((tests) -> { - for (Test test : tests) { - if (!Value.fromExpected(what, test.ok()).ok()) { - return new Result(Value.FAILURE, "At least one of the sub-tests did not have the expected result."); - } - } - return new Result(Value.SUCCESS, "All sub-tests had the expected result."); - }, all); - } - - public static Compound all(ExpectedValue what, String description, Test... all) { - Compound result = Compound.all(what, all); - result.setDescription(description); - return result; - } - - public static Compound any(ExpectedValue what, Test... any) { - return new Compound((tests) -> { - for (Test test : tests) { - if (Value.fromExpected(what, test.ok()).ok()) { - return new Result(Value.SUCCESS, "At least one of the sub-tests did have the expected result."); - } - } - return new Result(Value.FAILURE, "None of the sub-tests had the expected result."); - }, any); - } - - public static Compound any(ExpectedValue what, String description, Test... any) { - Compound result = Compound.any(what, any); - result.setDescription(description); - return result; - } - - public static Compound mask(ExpectedValue[] results, Test... masked) { - return new Compound((tests) -> { - for (int i = 0; i < results.length; ++i) { - if (!Value.fromExpected(results[i], tests[i].ok()).ok()) { - return new Result(Value.FAILURE, "At least one of the sub-tests did not match the result mask."); - } - } - return new Result(Value.SUCCESS, "All sub-tests matched the expected mask."); - }, masked); - } - - public static Compound mask(ExpectedValue[] results, String description, Test... masked) { - Compound result = Compound.mask(results, masked); - result.setDescription(description); - return result; - } - - public Test[] getTests() { - return tests; - } - - @Override - public void run() throws CardException { - if (hasRun) - return; - - for (Test test : tests) { - test.run(); - } - result = callback.apply(tests); - this.hasRun = true; - } - - public void setDescription(String description) { - this.description = description; - } - - @Override - public String getDescription() { - return description; - } - } -} diff --git a/src/cz/crcs/ectester/reader/test/TestRunner.java b/src/cz/crcs/ectester/reader/test/TestRunner.java index baab6a86..dcc78db9 100644 --- a/src/cz/crcs/ectester/reader/test/TestRunner.java +++ b/src/cz/crcs/ectester/reader/test/TestRunner.java @@ -1,9 +1,9 @@ package cz.crcs.ectester.reader.test; +import cz.crcs.ectester.common.test.Test; +import cz.crcs.ectester.common.test.TestException; import cz.crcs.ectester.reader.output.TestWriter; -import javax.smartcardio.CardException; - /** * @author Jan Jancar johny@neuromancer.sk */ @@ -16,7 +16,7 @@ public TestRunner(TestSuite suite, TestWriter writer) { this.writer = writer; } - public void run() throws CardException { + public void run() throws TestException { writer.begin(suite); for (Test t : suite.getTests()) { if (!t.hasRun()) { diff --git a/src/cz/crcs/ectester/reader/test/TestSuite.java b/src/cz/crcs/ectester/reader/test/TestSuite.java index 3b6af5aa..dc8167bf 100644 --- a/src/cz/crcs/ectester/reader/test/TestSuite.java +++ b/src/cz/crcs/ectester/reader/test/TestSuite.java @@ -2,11 +2,14 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; +import cz.crcs.ectester.common.ec.EC_Curve; +import cz.crcs.ectester.common.test.CompoundTest; +import cz.crcs.ectester.common.test.Result; +import cz.crcs.ectester.common.test.Test; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTesterReader; import cz.crcs.ectester.reader.command.Command; -import cz.crcs.ectester.common.ec.EC_Curve; import java.io.IOException; import java.util.Collections; @@ -15,8 +18,8 @@ import java.util.Map; import java.util.function.Function; -import static cz.crcs.ectester.reader.test.Result.ExpectedValue; -import static cz.crcs.ectester.reader.test.Result.Value; +import static cz.crcs.ectester.common.test.Result.ExpectedValue; +import static cz.crcs.ectester.common.test.Result.Value; /** * @author Jan Jancar johny@neuromancer.sk @@ -61,16 +64,16 @@ public String getDescription() { Test defaultCurveTests(CardMngr cardManager, ExpectedValue generateExpected, ExpectedValue ecdhExpected, ExpectedValue ecdhCompressExpected, ExpectedValue ecdsaExpected, String description) { List tests = new LinkedList<>(); - tests.add(new Test.Simple(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_BOTH), generateExpected)); - tests.add(new Test.Simple(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, EC_Consts.KA_ECDH), ecdhExpected)); - tests.add(new Test.Simple(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_COMPRESS, EC_Consts.KA_ECDH), ecdhExpected)); - tests.add(new Test.Simple(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_ONE, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); - tests.add(new Test.Simple(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_ZERO, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); - tests.add(new Test.Simple(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_MAX, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); - tests.add(new Test.Simple(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_FULLRANDOM, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); - tests.add(new Test.Simple(new Command.ECDSA(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, null), ecdsaExpected)); + tests.add(new SimpleTest(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_BOTH), generateExpected)); + tests.add(new SimpleTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, EC_Consts.KA_ECDH), ecdhExpected)); + tests.add(new SimpleTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_COMPRESS, EC_Consts.KA_ECDH), ecdhExpected)); + tests.add(new SimpleTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_ONE, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); + tests.add(new SimpleTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_ZERO, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); + tests.add(new SimpleTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_MAX, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); + tests.add(new SimpleTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_FULLRANDOM, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); + tests.add(new SimpleTest(new Command.ECDSA(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, null), ecdsaExpected)); - return Test.Compound.function((testArray) -> { + return CompoundTest.function((testArray) -> { Function shouldHave = (expected) -> { switch (expected) { case SUCCESS: @@ -123,10 +126,10 @@ List defaultCategoryTests(CardMngr cardManager, String category, byte fiel for (Map.Entry entry : curves.entrySet()) { EC_Curve curve = entry.getValue(); if (curve.getField() == field && (curve.getBits() == cfg.bits || cfg.all)) { - tests.add(new Test.Simple(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), field), ExpectedValue.SUCCESS)); - tests.add(new Test.Simple(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), setExpected)); + tests.add(new SimpleTest(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), field), ExpectedValue.SUCCESS)); + tests.add(new SimpleTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), setExpected)); tests.add(defaultCurveTests(cardManager, generateExpected, ecdhExpected, ecdhCompressedExpected, ecdsaExpected, description)); - tests.add(new Test.Simple(new Command.Cleanup(cardManager), ExpectedValue.ANY)); + tests.add(new SimpleTest(new Command.Cleanup(cardManager), ExpectedValue.ANY)); } } diff --git a/src/cz/crcs/ectester/reader/test/TestVectorSuite.java b/src/cz/crcs/ectester/reader/test/TestVectorSuite.java index 6a3121ba..742661d3 100644 --- a/src/cz/crcs/ectester/reader/test/TestVectorSuite.java +++ b/src/cz/crcs/ectester/reader/test/TestVectorSuite.java @@ -2,6 +2,9 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; +import cz.crcs.ectester.common.test.CompoundTest; +import cz.crcs.ectester.common.test.Result; +import cz.crcs.ectester.common.test.Test; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTesterReader; @@ -16,8 +19,8 @@ import java.util.List; import java.util.Map; -import static cz.crcs.ectester.reader.test.Result.ExpectedValue; -import static cz.crcs.ectester.reader.test.Result.Value; +import static cz.crcs.ectester.common.test.Result.ExpectedValue; +import static cz.crcs.ectester.common.test.Result.Value; /** * @author Jan Jancar johny@neuromancer.sk @@ -58,12 +61,12 @@ public void setup(CardMngr cardManager) throws IOException { } List testVector = new LinkedList<>(); - testVector.add(new Test.Simple(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); - testVector.add(new Test.Simple(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.SUCCESS)); + testVector.add(new SimpleTest(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); + testVector.add(new SimpleTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.SUCCESS)); //tests.add(new Test.Simple(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_BOTH), ExpectedValue.SUCCESS)); - testVector.add(new Test.Simple(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_LOCAL, EC_Consts.CURVE_external, EC_Consts.PARAMETER_S, onekey.flatten(EC_Consts.PARAMETER_S)), ExpectedValue.SUCCESS)); - testVector.add(new Test.Simple(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_REMOTE, EC_Consts.CURVE_external, EC_Consts.PARAMETER_W, otherkey.flatten(EC_Consts.PARAMETER_W)), ExpectedValue.SUCCESS)); - testVector.add(new Test.Simple(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_TRUE, EC_Consts.CORRUPTION_NONE, result.getKA()), (command, response) -> { + testVector.add(new SimpleTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_LOCAL, EC_Consts.CURVE_external, EC_Consts.PARAMETER_S, onekey.flatten(EC_Consts.PARAMETER_S)), ExpectedValue.SUCCESS)); + testVector.add(new SimpleTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_REMOTE, EC_Consts.CURVE_external, EC_Consts.PARAMETER_W, otherkey.flatten(EC_Consts.PARAMETER_W)), ExpectedValue.SUCCESS)); + testVector.add(new SimpleTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_TRUE, EC_Consts.CORRUPTION_NONE, result.getKA()), (command, response) -> { Response.ECDH dh = (Response.ECDH) response; if (!dh.successful()) return new Result(Value.FAILURE, "ECDH was unsuccessful."); @@ -75,8 +78,8 @@ public void setup(CardMngr cardManager) throws IOException { } return new Result(Value.SUCCESS); })); - tests.add(Test.Compound.all(ExpectedValue.SUCCESS, "Test vector " + result.getId(), testVector.toArray(new Test[0]))); - tests.add(new Test.Simple(new Command.Cleanup(cardManager), ExpectedValue.ANY)); + tests.add(CompoundTest.all(ExpectedValue.SUCCESS, "Test vector " + result.getId(), testVector.toArray(new Test[0]))); + tests.add(new SimpleTest(new Command.Cleanup(cardManager), ExpectedValue.ANY)); } } diff --git a/src/cz/crcs/ectester/reader/test/WrongCurvesSuite.java b/src/cz/crcs/ectester/reader/test/WrongCurvesSuite.java index 09f10d37..76da7184 100644 --- a/src/cz/crcs/ectester/reader/test/WrongCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/WrongCurvesSuite.java @@ -7,7 +7,7 @@ import java.io.IOException; -import static cz.crcs.ectester.reader.test.Result.ExpectedValue; +import static cz.crcs.ectester.common.test.Result.ExpectedValue; /** * @author Jan Jancar johny@neuromancer.sk From a2f5316ad96b6e78844c371f8dd5483095cf4af3 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sun, 12 Nov 2017 12:38:04 +0100 Subject: [PATCH 04/91] Introduce ECTesterStandalone. --- .../{reader => common}/output/OutputLogger.java | 4 +++- src/cz/crcs/ectester/common/test/Result.java | 4 ++-- src/cz/crcs/ectester/common/test/Test.java | 2 +- src/cz/crcs/ectester/common/test/Testable.java | 4 +++- src/cz/crcs/ectester/reader/ECTesterReader.java | 1 + .../ectester/standalone/ECTesterStandalone.java | 13 +++++++++++++ 6 files changed, 23 insertions(+), 5 deletions(-) rename src/cz/crcs/ectester/{reader => common}/output/OutputLogger.java (93%) create mode 100644 src/cz/crcs/ectester/standalone/ECTesterStandalone.java diff --git a/src/cz/crcs/ectester/reader/output/OutputLogger.java b/src/cz/crcs/ectester/common/output/OutputLogger.java similarity index 93% rename from src/cz/crcs/ectester/reader/output/OutputLogger.java rename to src/cz/crcs/ectester/common/output/OutputLogger.java index bf47a1ff..b876c5b1 100644 --- a/src/cz/crcs/ectester/reader/output/OutputLogger.java +++ b/src/cz/crcs/ectester/common/output/OutputLogger.java @@ -1,4 +1,6 @@ -package cz.crcs.ectester.reader.output; +package cz.crcs.ectester.common.output; + +import cz.crcs.ectester.reader.output.TeeOutputStream; import java.io.*; import java.util.LinkedList; diff --git a/src/cz/crcs/ectester/common/test/Result.java b/src/cz/crcs/ectester/common/test/Result.java index 523a9d7a..11fcb4d8 100644 --- a/src/cz/crcs/ectester/common/test/Result.java +++ b/src/cz/crcs/ectester/common/test/Result.java @@ -46,7 +46,7 @@ public boolean compareTo(Value other) { } /** - * + * A result value of a Test. */ public enum Value { SUCCESS(true), @@ -86,7 +86,7 @@ public boolean ok() { } /** - * + * A possible expected value result of a Test. */ public enum ExpectedValue { SUCCESS, diff --git a/src/cz/crcs/ectester/common/test/Test.java b/src/cz/crcs/ectester/common/test/Test.java index 8c025b8f..5973d0fc 100644 --- a/src/cz/crcs/ectester/common/test/Test.java +++ b/src/cz/crcs/ectester/common/test/Test.java @@ -7,7 +7,7 @@ * * @author Jan Jancar johny@neuromancer.sk */ -public abstract class Test { +public abstract class Test implements Testable { protected boolean hasRun = false; protected Result result; diff --git a/src/cz/crcs/ectester/common/test/Testable.java b/src/cz/crcs/ectester/common/test/Testable.java index e033b0a7..d05d31e6 100644 --- a/src/cz/crcs/ectester/common/test/Testable.java +++ b/src/cz/crcs/ectester/common/test/Testable.java @@ -1,13 +1,15 @@ package cz.crcs.ectester.common.test; /** - * * @author Jan Jancar johny@neuromancer.sk */ public interface Testable { boolean hasRun(); + void run() throws TestException; + boolean ok(); + boolean error(); } diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index 786ab05e..99b2f839 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -26,6 +26,7 @@ import cz.crcs.ectester.common.ec.EC_Category; import cz.crcs.ectester.common.ec.EC_Data; import cz.crcs.ectester.common.ec.EC_Params; +import cz.crcs.ectester.common.output.OutputLogger; import cz.crcs.ectester.common.test.TestException; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.command.Command; diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java new file mode 100644 index 00000000..cae4bb9e --- /dev/null +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -0,0 +1,13 @@ +package cz.crcs.ectester.standalone; + +public class ECTesterStandalone { + + private void run(String[] args) { + + } + + public static void main(String[] args) { + ECTesterStandalone app = new ECTesterStandalone(); + app.run(args); + } +} From a45fa0d3cde29728a252c2ca5b7ed4f3e6c87849 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sun, 12 Nov 2017 13:49:54 +0100 Subject: [PATCH 05/91] Separate build files for standalone and reader apps. --- .gitignore | 10 +- .travis.yml | 11 +- README.md | 5 +- jcbuild.xml => build-applet.xml | 0 build.xml => build-reader.xml | 42 +- build-standalone.xml | 78 + dist/README.TXT | 34 +- nbproject/copylibstask.jar | Bin 22335 -> 11902 bytes nbproject/dist-build.xml | 34 + nbproject/{ => reader}/build-impl.xml | 4 +- manifest.mf => nbproject/reader/manifest.mf | 0 nbproject/{ => reader}/project.properties | 8 +- nbproject/{ => reader}/project.xml | 2 +- nbproject/standalone/build-impl.xml | 1413 +++++++++++++++++ nbproject/standalone/manifest.mf | 4 + nbproject/standalone/project.properties | 79 + nbproject/standalone/project.xml | 15 + .../ectester/{reader => common}/Util.java | 2 +- src/cz/crcs/ectester/common/ec/EC_Data.java | 2 +- .../crcs/ectester/common/ec/EC_KAResult.java | 2 +- src/cz/crcs/ectester/common/ec/EC_Params.java | 2 +- .../ectester/common/output/OutputLogger.java | 2 - .../output/TeeOutputStream.java | 2 +- src/cz/crcs/ectester/common/test/Test.java | 7 + src/cz/crcs/ectester/reader/CardMngr.java | 1 + .../crcs/ectester/reader/ECTesterReader.java | 1 + .../crcs/ectester/reader/command/Command.java | 2 +- .../reader/output/ResponseWriter.java | 2 +- .../ectester/reader/output/XMLTestWriter.java | 2 +- .../reader/output/YAMLTestWriter.java | 2 +- .../ectester/reader/response/Response.java | 2 +- .../ectester/reader/test/TestVectorSuite.java | 2 +- .../crcs/ectester/scripts/ectester-reader.bat | 34 + .../{ectester.sh => ectester-reader.sh} | 2 +- src/cz/crcs/ectester/scripts/ectester.bat | 34 - 35 files changed, 1718 insertions(+), 124 deletions(-) rename jcbuild.xml => build-applet.xml (100%) rename build.xml => build-reader.xml (68%) create mode 100644 build-standalone.xml create mode 100644 nbproject/dist-build.xml rename nbproject/{ => reader}/build-impl.xml (99%) rename manifest.mf => nbproject/reader/manifest.mf (100%) rename nbproject/{ => reader}/project.properties (93%) rename nbproject/{ => reader}/project.xml (92%) create mode 100644 nbproject/standalone/build-impl.xml create mode 100644 nbproject/standalone/manifest.mf create mode 100644 nbproject/standalone/project.properties create mode 100644 nbproject/standalone/project.xml rename src/cz/crcs/ectester/{reader => common}/Util.java (99%) rename src/cz/crcs/ectester/{reader => common}/output/TeeOutputStream.java (94%) create mode 100644 src/cz/crcs/ectester/scripts/ectester-reader.bat rename src/cz/crcs/ectester/scripts/{ectester.sh => ectester-reader.sh} (90%) delete mode 100644 src/cz/crcs/ectester/scripts/ectester.bat diff --git a/.gitignore b/.gitignore index fe6a5d3d..47241345 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ /dist/lib/ -/dist/ECTester.jar -/dist/ECTester-dist.jar -/dist/ectester.sh -/dist/ectester.bat \ No newline at end of file +/dist/ECTesterReader.jar +/dist/ECTesterReader-dist.jar +/dist/ectester-reader.sh +/dist/ectester-reader.bat +/dist/ECTesterStandalone.jar +/dist/ECTesterStandalone-dist.jar \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 3959c4d5..d599dfb8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,16 +2,19 @@ language: java jdk: - oraclejdk8 script: -- ant -f jcbuild.xml build -- ant -f build.xml package +- ant -f build-applet.xml build +- ant -f build-reader.xml package +- ant -f build-standalone.xml package deploy: provider: releases api_key: secure: q2aJvu32K+nfbMR60nFCEkn+jYCKprlCRlIoPjuRz1HySX233Ccwpx1CAdNzEjY6FDFcoReKAg6r5vdPjJ4FRPAQ23TxffIYZPkykL5K/pUZJbM5xkazJY0Fp8i6Vyl0JfeanVib1PTyOSugplhCttFk5nb9JUFV36Tre66XntOl5y80Trn94F5aTlRjfW26UH65W7Aa6WZ0N4OX/ZsX+vEOJPAu+RLfOq9oBOx/loB8ntYM/e/6bEwJp6EedRQLDsiS4NavP3svH+GXsPLs5p3soyRXYsvvGKVnVjcjZURxDDdxv5YuCWUUfl9PbNB+Mqmx/HQxl50BKoKFqwap1+TnlbuTAiWaXeh3zdXuGB+TPg8KE8h6ueDneHd3Lpivgq79IvPWIH+N4b3Pa952+rD+JKBZ807efB+97OtWrkQL7/sLZESQUdIszE724HHOiArKpNajIX+kN6NJdul5xFCiQQHG+O7iDFQBavCGM9fk63mZRyGPxZQzS06BV2vIIHg0yx3igN+OKKMFCH+P3hYR1zL6o65OlgbL1ifTZ18GDvmVRNdi53/fxQ2n/mQmI4tQpn4ZB7Ddoxx4GlpjFjzdKk/P9nKwng0M9wrp8row/vb5S+1aPwSxp9/4ASP9dkvLcNjTkWhmGPrWe+82Y9JPK47uesx0YeaVI2C7IR0= file: - - "dist/ECTester-dist.jar" - - "dist/ECTester.jar" + - "dist/ECTesterReader-dist.jar" + - "dist/ECTesterReader.jar" - "!uploader/ectester.cap" + - "dist/ECTesterStandalone-dist.jar" + - "dist/ECTesterStandalone.jar" skip_cleanup: true on: tags: true diff --git a/README.md b/README.md index 5096bd3b..0ec59b78 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,9 @@ Tests support and behavior of smartcards with JavaCard platform with focus on El ECTester uses ant. ```bash -ant package # To build the reader tool (jar). -ant -f jcbuild.xml build # To build the applet (cap). +ant -f build-reader.xml package # To build the reader tool (jar). +ant -f build-standalone.xml package # To build the standalone tool (jar). +ant -f build-applet.xml build # To build the applet (cap). ``` ## Usage diff --git a/jcbuild.xml b/build-applet.xml similarity index 100% rename from jcbuild.xml rename to build-applet.xml diff --git a/build.xml b/build-reader.xml similarity index 68% rename from build.xml rename to build-reader.xml index f89b743c..ec62f6ff 100644 --- a/build.xml +++ b/build-reader.xml @@ -7,9 +7,10 @@ - - Builds, tests, and runs the project ECTester. - + + Builds, tests, and runs the project ECTesterReader. + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + diff --git a/build-standalone.xml b/build-standalone.xml new file mode 100644 index 00000000..0ba7f935 --- /dev/null +++ b/build-standalone.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + Builds, tests, and runs the project ECTesterStandalone. + + + + + + + + diff --git a/dist/README.TXT b/dist/README.TXT index 5d6fa172..64c76a6d 100644 --- a/dist/README.TXT +++ b/dist/README.TXT @@ -2,31 +2,15 @@ BUILD OUTPUT DESCRIPTION ======================== -When you build an Java application project that has a main class, the IDE -automatically copies all of the JAR -files on the projects classpath to your projects dist/lib folder. The IDE -also adds each of the JAR files to the Class-Path element in the application -JAR files manifest file (MANIFEST.MF). +After building (with package target) this directory should contain the files: -To run the project from the command line, go to the dist folder and -type the following: +- ECTesterReader.jar +- ECTesterReader-dist.jar +- ECTesterStandalone.jar +- ECTesterStandalone-dist.jar +- ectester-reader.sh +- ectester-reader.bat -java -jar "ECTester.jar" +The *-dist.jar variants of JAR files are self-contained executable JAR files with +all the dependencies inside them. -To distribute this project, zip up the dist folder (including the lib folder) -and distribute the ZIP file. - -Notes: - -* If two JAR files on the project classpath have the same name, only the first -JAR file is copied to the lib folder. -* Only JAR files are copied to the lib folder. -If the classpath contains other types of files or folders, these files (folders) -are not copied. -* If a library on the projects classpath also has a Class-Path element -specified in the manifest,the content of the Class-Path element has to be on -the projects runtime path. -* To set a main class in a standard Java project, right-click the project node -in the Projects window and choose Properties. Then click Run and enter the -class name in the Main Class field. Alternatively, you can manually type the -class name in the manifest Main-Class element. diff --git a/nbproject/copylibstask.jar b/nbproject/copylibstask.jar index ad1d2ac6d5dba53327282693212cef3c7f285cf7..45fdbe13032842369cd1224a03378d388c346cb6 100644 GIT binary patch literal 11902 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 J8O^WOe*rgto1g#y literal 22335 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 diff --git a/nbproject/dist-build.xml b/nbproject/dist-build.xml new file mode 100644 index 00000000..b980e2d7 --- /dev/null +++ b/nbproject/dist-build.xml @@ -0,0 +1,34 @@ + + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nbproject/build-impl.xml b/nbproject/reader/build-impl.xml similarity index 99% rename from nbproject/build-impl.xml rename to nbproject/reader/build-impl.xml index 3b01c7f1..f7c43a29 100644 --- a/nbproject/build-impl.xml +++ b/nbproject/reader/build-impl.xml @@ -19,7 +19,7 @@ is divided into following sections: - cleanup --> - + @@ -51,7 +51,7 @@ is divided into following sections: - + diff --git a/manifest.mf b/nbproject/reader/manifest.mf similarity index 100% rename from manifest.mf rename to nbproject/reader/manifest.mf diff --git a/nbproject/project.properties b/nbproject/reader/project.properties similarity index 93% rename from nbproject/project.properties rename to nbproject/reader/project.properties index 8c65b4e0..6cd17605 100644 --- a/nbproject/project.properties +++ b/nbproject/reader/project.properties @@ -3,7 +3,7 @@ annotation.processing.enabled.in.editor=false annotation.processing.processors.list= annotation.processing.run.all.processors=true annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output -application.title=ECTester +application.title=ECTesterReader application.vendor=xsvenda build.classes.dir=${build.dir}/classes build.classes.excludes=**/*.java,**/*.form @@ -25,12 +25,12 @@ debug.test.classpath=\ dist.archive.excludes= # This directory is removed when the project is cleaned: dist.dir=dist -dist.jar=${dist.dir}/ECTester.jar +dist.jar=${dist.dir}/ECTesterReader.jar dist.javadoc.dir=${dist.dir}/javadoc libs.CopyLibs.classpath=nbproject/copylibstask.jar endorsed.classpath= excludes= -includes=** +includes=**/applet/**,**/common/**,**/data/**,**/reader/** jar.compress=false javac.classpath=\ lib/jcardsim-3.0.4-SNAPSHOT.jar:\ @@ -60,7 +60,7 @@ javadoc.use=true javadoc.version=false javadoc.windowtitle= main.class=cz.crcs.ectester.reader.ECTesterReader -manifest.file=manifest.mf +manifest.file=nbproject/reader/manifest.mf meta.inf.dir=${src.dir}/META-INF mkdist.disabled=false platform.active=default_platform diff --git a/nbproject/project.xml b/nbproject/reader/project.xml similarity index 92% rename from nbproject/project.xml rename to nbproject/reader/project.xml index 6e5a48eb..aebe2175 100644 --- a/nbproject/project.xml +++ b/nbproject/reader/project.xml @@ -3,7 +3,7 @@ org.netbeans.modules.java.j2seproject - ECTester + ECTesterReader diff --git a/nbproject/standalone/build-impl.xml b/nbproject/standalone/build-impl.xml new file mode 100644 index 00000000..a1f91c2c --- /dev/null +++ b/nbproject/standalone/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nbproject/standalone/manifest.mf b/nbproject/standalone/manifest.mf new file mode 100644 index 00000000..316e3088 --- /dev/null +++ b/nbproject/standalone/manifest.mf @@ -0,0 +1,4 @@ +Manifest-Version: 1.0 +Class-Path: lib/jcardsim-3.0.4-SNAPSHOT.jar lib/commons-cli-1.3.1.jar lib/snakeyaml-1.19.jar +Main-Class: cz.crcs.ectester.standalone.ECTesterStandalone + diff --git a/nbproject/standalone/project.properties b/nbproject/standalone/project.properties new file mode 100644 index 00000000..1952f1da --- /dev/null +++ b/nbproject/standalone/project.properties @@ -0,0 +1,79 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +application.title=ECTesterStandalone +application.vendor=xsvenda +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# Files in build.classes.dir which should be excluded from distribution jar +dist.archive.excludes= +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/ECTesterStandalone.jar +dist.javadoc.dir=${dist.dir}/javadoc +libs.CopyLibs.classpath=nbproject/copylibstask.jar +endorsed.classpath= +excludes= +includes=**/common/**,**/standalone/**,**/data/**,**/applet/* +jar.compress=false +javac.classpath=\ + lib/jcardsim-3.0.4-SNAPSHOT.jar:\ + lib/commons-cli-1.3.1.jar:\ + lib/snakeyaml-1.19.jar +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.8 +javac.target=1.8 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=cz.crcs.ectester.standalone.ECTesterStandalone +manifest.file=nbproject/standalone/manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/nbproject/standalone/project.xml b/nbproject/standalone/project.xml new file mode 100644 index 00000000..2f2fb3f6 --- /dev/null +++ b/nbproject/standalone/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + ECTesterStandalone + + + + + + + + + diff --git a/src/cz/crcs/ectester/reader/Util.java b/src/cz/crcs/ectester/common/Util.java similarity index 99% rename from src/cz/crcs/ectester/reader/Util.java rename to src/cz/crcs/ectester/common/Util.java index 001f58c2..01364932 100644 --- a/src/cz/crcs/ectester/reader/Util.java +++ b/src/cz/crcs/ectester/common/Util.java @@ -1,4 +1,4 @@ -package cz.crcs.ectester.reader; +package cz.crcs.ectester.common; import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; diff --git a/src/cz/crcs/ectester/common/ec/EC_Data.java b/src/cz/crcs/ectester/common/ec/EC_Data.java index da972089..d3082613 100644 --- a/src/cz/crcs/ectester/common/ec/EC_Data.java +++ b/src/cz/crcs/ectester/common/ec/EC_Data.java @@ -1,6 +1,6 @@ package cz.crcs.ectester.common.ec; -import cz.crcs.ectester.reader.Util; +import cz.crcs.ectester.common.Util; import java.io.*; import java.util.*; diff --git a/src/cz/crcs/ectester/common/ec/EC_KAResult.java b/src/cz/crcs/ectester/common/ec/EC_KAResult.java index b215d0ef..3b74c577 100644 --- a/src/cz/crcs/ectester/common/ec/EC_KAResult.java +++ b/src/cz/crcs/ectester/common/ec/EC_KAResult.java @@ -1,6 +1,6 @@ package cz.crcs.ectester.common.ec; -import cz.crcs.ectester.reader.Util; +import cz.crcs.ectester.common.Util; /** * A result of EC based Key agreement operation. diff --git a/src/cz/crcs/ectester/common/ec/EC_Params.java b/src/cz/crcs/ectester/common/ec/EC_Params.java index 5b8295e6..d50ebb05 100644 --- a/src/cz/crcs/ectester/common/ec/EC_Params.java +++ b/src/cz/crcs/ectester/common/ec/EC_Params.java @@ -1,7 +1,7 @@ package cz.crcs.ectester.common.ec; import cz.crcs.ectester.applet.EC_Consts; -import cz.crcs.ectester.reader.Util; +import cz.crcs.ectester.common.Util; import java.io.ByteArrayOutputStream; import java.util.ArrayList; diff --git a/src/cz/crcs/ectester/common/output/OutputLogger.java b/src/cz/crcs/ectester/common/output/OutputLogger.java index b876c5b1..09b8f734 100644 --- a/src/cz/crcs/ectester/common/output/OutputLogger.java +++ b/src/cz/crcs/ectester/common/output/OutputLogger.java @@ -1,7 +1,5 @@ package cz.crcs.ectester.common.output; -import cz.crcs.ectester.reader.output.TeeOutputStream; - import java.io.*; import java.util.LinkedList; import java.util.List; diff --git a/src/cz/crcs/ectester/reader/output/TeeOutputStream.java b/src/cz/crcs/ectester/common/output/TeeOutputStream.java similarity index 94% rename from src/cz/crcs/ectester/reader/output/TeeOutputStream.java rename to src/cz/crcs/ectester/common/output/TeeOutputStream.java index 2a1af999..2401fcef 100644 --- a/src/cz/crcs/ectester/reader/output/TeeOutputStream.java +++ b/src/cz/crcs/ectester/common/output/TeeOutputStream.java @@ -1,4 +1,4 @@ -package cz.crcs.ectester.reader.output; +package cz.crcs.ectester.common.output; import java.io.IOException; import java.io.OutputStream; diff --git a/src/cz/crcs/ectester/common/test/Test.java b/src/cz/crcs/ectester/common/test/Test.java index 5973d0fc..750a410b 100644 --- a/src/cz/crcs/ectester/common/test/Test.java +++ b/src/cz/crcs/ectester/common/test/Test.java @@ -39,6 +39,13 @@ public boolean ok() { return result.ok(); } + public boolean error() { + if (!hasRun) { + return false; + } + return result.compareTo(Value.ERROR); + } + public abstract String getDescription(); public boolean hasRun() { diff --git a/src/cz/crcs/ectester/reader/CardMngr.java b/src/cz/crcs/ectester/reader/CardMngr.java index e11bcb3a..ad5b368e 100644 --- a/src/cz/crcs/ectester/reader/CardMngr.java +++ b/src/cz/crcs/ectester/reader/CardMngr.java @@ -2,6 +2,7 @@ import com.licel.jcardsim.io.CAD; import com.licel.jcardsim.io.JavaxSmartCardInterface; +import cz.crcs.ectester.common.Util; import javacard.framework.AID; import javax.smartcardio.*; diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index 99b2f839..e13a6838 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -23,6 +23,7 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; +import cz.crcs.ectester.common.Util; import cz.crcs.ectester.common.ec.EC_Category; import cz.crcs.ectester.common.ec.EC_Data; import cz.crcs.ectester.common.ec.EC_Params; diff --git a/src/cz/crcs/ectester/reader/command/Command.java b/src/cz/crcs/ectester/reader/command/Command.java index 3668fbb8..9d23322e 100644 --- a/src/cz/crcs/ectester/reader/command/Command.java +++ b/src/cz/crcs/ectester/reader/command/Command.java @@ -6,7 +6,7 @@ import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTesterReader; import cz.crcs.ectester.reader.response.Response; -import cz.crcs.ectester.reader.Util; +import cz.crcs.ectester.common.Util; import cz.crcs.ectester.common.ec.EC_Curve; import cz.crcs.ectester.common.ec.EC_Key; import cz.crcs.ectester.common.ec.EC_Keypair; diff --git a/src/cz/crcs/ectester/reader/output/ResponseWriter.java b/src/cz/crcs/ectester/reader/output/ResponseWriter.java index c3572332..0f5b6e89 100644 --- a/src/cz/crcs/ectester/reader/output/ResponseWriter.java +++ b/src/cz/crcs/ectester/reader/output/ResponseWriter.java @@ -1,6 +1,6 @@ package cz.crcs.ectester.reader.output; -import cz.crcs.ectester.reader.Util; +import cz.crcs.ectester.common.Util; import cz.crcs.ectester.reader.response.Response; import java.io.PrintStream; diff --git a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java index f35e467d..24a308c8 100644 --- a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java @@ -1,7 +1,7 @@ package cz.crcs.ectester.reader.output; import cz.crcs.ectester.common.test.CompoundTest; -import cz.crcs.ectester.reader.Util; +import cz.crcs.ectester.common.Util; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.response.Response; import cz.crcs.ectester.common.test.Test; diff --git a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java index 15c05227..c637a13e 100644 --- a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java @@ -1,7 +1,7 @@ package cz.crcs.ectester.reader.output; import cz.crcs.ectester.common.test.CompoundTest; -import cz.crcs.ectester.reader.Util; +import cz.crcs.ectester.common.Util; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.response.Response; import cz.crcs.ectester.common.test.Test; diff --git a/src/cz/crcs/ectester/reader/response/Response.java b/src/cz/crcs/ectester/reader/response/Response.java index b816a97f..4158ac33 100644 --- a/src/cz/crcs/ectester/reader/response/Response.java +++ b/src/cz/crcs/ectester/reader/response/Response.java @@ -2,7 +2,7 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; -import cz.crcs.ectester.reader.Util; +import cz.crcs.ectester.common.Util; import javacard.framework.ISO7816; import javacard.security.KeyPair; diff --git a/src/cz/crcs/ectester/reader/test/TestVectorSuite.java b/src/cz/crcs/ectester/reader/test/TestVectorSuite.java index 742661d3..668056ba 100644 --- a/src/cz/crcs/ectester/reader/test/TestVectorSuite.java +++ b/src/cz/crcs/ectester/reader/test/TestVectorSuite.java @@ -8,7 +8,7 @@ import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTesterReader; -import cz.crcs.ectester.reader.Util; +import cz.crcs.ectester.common.Util; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.common.ec.*; import cz.crcs.ectester.reader.response.Response; diff --git a/src/cz/crcs/ectester/scripts/ectester-reader.bat b/src/cz/crcs/ectester/scripts/ectester-reader.bat new file mode 100644 index 00000000..876fda75 --- /dev/null +++ b/src/cz/crcs/ectester/scripts/ectester-reader.bat @@ -0,0 +1,34 @@ +@ECHO OFF +SETLOCAL enabledelayedexpansion + +SET n=0 +:loop +IF NOT "%1"=="" ( + IF "%1"=="--dangerous" ( + SET dangerous=1 + ) ELSE ( + SET positional[!n!]=%1 + SET /A n+=1 + ) + SHIFT + GOTO :loop +) + +IF NOT "%n%"=="1" ( + ECHO "One argument expected:" + ECHO " ./ectester-reader.bat [--dangerous] CARD_NAME" +) + +SET card=!positional[%%0]! + +SET tests="default test-vectors" +java -jar ECTesterReader.jar -t default -a --format yaml -l %card%.default +java -jar ECTesterReader.jar -t test-vectors -a --format yaml -l %card%.test-vectors +IF "%dangerous%"=="1" ( + SET tests=%tests% "invalid wrong composite" + java -jar ECTesterReader.jar -t invalid -a --format yaml -l %card%.invalid + java -jar ECTesterReader.jar -t wrong -a --format yaml -l %card%.wrong + java -jar ECTesterReader.jar -t composite -a --format yaml -l %card%.composite +) + +zip %card%.zip %tests% diff --git a/src/cz/crcs/ectester/scripts/ectester.sh b/src/cz/crcs/ectester/scripts/ectester-reader.sh similarity index 90% rename from src/cz/crcs/ectester/scripts/ectester.sh rename to src/cz/crcs/ectester/scripts/ectester-reader.sh index 8040096c..e6458c9d 100755 --- a/src/cz/crcs/ectester/scripts/ectester.sh +++ b/src/cz/crcs/ectester/scripts/ectester-reader.sh @@ -22,7 +22,7 @@ set -- "${positional[@]}" if [[ $# -lt 1 ]]; then echo "At least one argument expected:" >&2 - echo " ./ectester.sh [--dangerous] CARD_NAME [ECTester args]" >&2 + echo " ./ectester-reader.sh [--dangerous] CARD_NAME [ECTester args]" >&2 exit 1 fi diff --git a/src/cz/crcs/ectester/scripts/ectester.bat b/src/cz/crcs/ectester/scripts/ectester.bat deleted file mode 100644 index e20b8552..00000000 --- a/src/cz/crcs/ectester/scripts/ectester.bat +++ /dev/null @@ -1,34 +0,0 @@ -@ECHO OFF -SETLOCAL enabledelayedexpansion - -SET n=0 -:loop -IF NOT "%1"=="" ( - IF "%1"=="--dangerous" ( - SET dangerous=1 - ) ELSE ( - SET positional[!n!]=%1 - SET /A n+=1 - ) - SHIFT - GOTO :loop -) - -IF NOT "%n%"=="1" ( - ECHO "One argument expected:" - ECHO " ./ectester.bar [--dangerous] CARD_NAME" -) - -SET card=!positional[%%0]! - -SET tests="default test-vectors" -java -jar ECTester.jar -t default -a --format yaml -l %card%.default -java -jar ECTester.jar -t test-vectors -a --format yaml -l %card%.test-vectors -IF "%dangerous%"=="1" ( - SET tests=%tests% "invalid wrong composite" - java -jar ECTester.jar -t invalid -a --format yaml -l %card%.invalid - java -jar ECTester.jar -t wrong -a --format yaml -l %card%.wrong - java -jar ECTester.jar -t composite -a --format yaml -l %card%.composite -) - -zip %card%.zip %tests% From e97e68677d0141af52e0c5be291d147cbe58c5b1 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sun, 12 Nov 2017 17:18:28 +0100 Subject: [PATCH 06/91] Add ANSI curves. --- src/cz/crcs/ectester/data/categories.xml | 5 ++ src/cz/crcs/ectester/data/x962/curves.xml | 48 +++++++++++++++++++ src/cz/crcs/ectester/data/x962/prime192v1.csv | 1 + src/cz/crcs/ectester/data/x962/prime192v2.csv | 1 + src/cz/crcs/ectester/data/x962/prime192v3.csv | 1 + src/cz/crcs/ectester/data/x962/prime239v1.csv | 1 + src/cz/crcs/ectester/data/x962/prime239v2.csv | 1 + src/cz/crcs/ectester/data/x962/prime239v3.csv | 1 + src/cz/crcs/ectester/data/x962/prime256v1.csv | 1 + 9 files changed, 60 insertions(+) create mode 100644 src/cz/crcs/ectester/data/x962/curves.xml create mode 100644 src/cz/crcs/ectester/data/x962/prime192v1.csv create mode 100644 src/cz/crcs/ectester/data/x962/prime192v2.csv create mode 100644 src/cz/crcs/ectester/data/x962/prime192v3.csv create mode 100644 src/cz/crcs/ectester/data/x962/prime239v1.csv create mode 100644 src/cz/crcs/ectester/data/x962/prime239v2.csv create mode 100644 src/cz/crcs/ectester/data/x962/prime239v3.csv create mode 100644 src/cz/crcs/ectester/data/x962/prime256v1.csv diff --git a/src/cz/crcs/ectester/data/categories.xml b/src/cz/crcs/ectester/data/categories.xml index 750fa8ca..d7f0f7e0 100644 --- a/src/cz/crcs/ectester/data/categories.xml +++ b/src/cz/crcs/ectester/data/categories.xml @@ -51,4 +51,9 @@ test Test vectors + + x962 + x962 + ANSI X9.62 example curves. + \ No newline at end of file diff --git a/src/cz/crcs/ectester/data/x962/curves.xml b/src/cz/crcs/ectester/data/x962/curves.xml new file mode 100644 index 00000000..eee64ad1 --- /dev/null +++ b/src/cz/crcs/ectester/data/x962/curves.xml @@ -0,0 +1,48 @@ + + + + prime192v1 + 192 + prime + prime192v1.csv + + + prime192v2 + 192 + prime + prime192v2.csv + + + prime192v3 + 192 + prime + prime192v3.csv + + + + prime239v1 + 239 + prime + prime239v1.csv + + + prime239v2 + 239 + prime + prime239v2.csv + + + prime239v3 + 239 + prime + prime239v3.csv + + + + prime256v1 + 256 + prime + prime256v1.csv + + \ No newline at end of file diff --git a/src/cz/crcs/ectester/data/x962/prime192v1.csv b/src/cz/crcs/ectester/data/x962/prime192v1.csv new file mode 100644 index 00000000..07f91549 --- /dev/null +++ b/src/cz/crcs/ectester/data/x962/prime192v1.csv @@ -0,0 +1 @@ +0xfffffffffffffffffffffffffffffffeffffffffffffffff,0xfffffffffffffffffffffffffffffffefffffffffffffffc,0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1,0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012,0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811,0xffffffffffffffffffffffff99def836146bc9b1b4d22831,0x1 \ No newline at end of file diff --git a/src/cz/crcs/ectester/data/x962/prime192v2.csv b/src/cz/crcs/ectester/data/x962/prime192v2.csv new file mode 100644 index 00000000..ee6f1a2a --- /dev/null +++ b/src/cz/crcs/ectester/data/x962/prime192v2.csv @@ -0,0 +1 @@ +0xfffffffffffffffffffffffffffffffeffffffffffffffff,0xfffffffffffffffffffffffffffffffefffffffffffffffc,0xcc22d6dfb95c6b25e49c0d6364a4e5980c393aa21668d953,0xeea2bae7e1497842f2de7769cfe9c989c072ad696f48034a,0x6574d11d69b6ec7a672bb82a083df2f2b0847de970b2de15,0xfffffffffffffffffffffffe5fb1a724dc80418648d8dd31,0x1 \ No newline at end of file diff --git a/src/cz/crcs/ectester/data/x962/prime192v3.csv b/src/cz/crcs/ectester/data/x962/prime192v3.csv new file mode 100644 index 00000000..f80fd5bb --- /dev/null +++ b/src/cz/crcs/ectester/data/x962/prime192v3.csv @@ -0,0 +1 @@ +0xfffffffffffffffffffffffffffffffeffffffffffffffff,0xfffffffffffffffffffffffffffffffefffffffffffffffc,0x22123dc2395a05caa7423daeccc94760a7d462256bd56916,0x7d29778100c65a1da1783716588dce2b8b4aee8e228f1896,0x38a90f22637337334b49dcb66a6dc8f9978aca7648a943b0,0xffffffffffffffffffffffff7a62d031c83f4294f640ec13,0x1 \ No newline at end of file diff --git a/src/cz/crcs/ectester/data/x962/prime239v1.csv b/src/cz/crcs/ectester/data/x962/prime239v1.csv new file mode 100644 index 00000000..c9d704b9 --- /dev/null +++ b/src/cz/crcs/ectester/data/x962/prime239v1.csv @@ -0,0 +1 @@ +0x7fffffffffffffffffffffff7fffffffffff8000000000007fffffffffff,0x7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc,0x6b016c3bdcf18941d0d654921475ca71a9db2fb27d1d37796185c2942c0a,0x0ffa963cdca8816ccc33b8642bedf905c3d358573d3f27fbbd3b3cb9aaaf,0x7debe8e4e90a5dae6e4054ca530ba04654b36818ce226b39fccb7b02f1ae,0x7fffffffffffffffffffffff7fffff9e5e9a9f5d9071fbd1522688909d0b,0x1 \ No newline at end of file diff --git a/src/cz/crcs/ectester/data/x962/prime239v2.csv b/src/cz/crcs/ectester/data/x962/prime239v2.csv new file mode 100644 index 00000000..100e60be --- /dev/null +++ b/src/cz/crcs/ectester/data/x962/prime239v2.csv @@ -0,0 +1 @@ +0x7fffffffffffffffffffffff7fffffffffff8000000000007fffffffffff,0x7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc,0x617fab6832576cbbfed50d99f0249c3fee58b94ba0038c7ae84c8c832f2c,0x38af09d98727705120c921bb5e9e26296a3cdcf2f35757a0eafd87b830e7,0x5b0125e4dbea0ec7206da0fc01d9b081329fb555de6ef460237dff8be4ba,0x7fffffffffffffffffffffff800000cfa7e8594377d414c03821bc582063,0x1 \ No newline at end of file diff --git a/src/cz/crcs/ectester/data/x962/prime239v3.csv b/src/cz/crcs/ectester/data/x962/prime239v3.csv new file mode 100644 index 00000000..ce8b38a7 --- /dev/null +++ b/src/cz/crcs/ectester/data/x962/prime239v3.csv @@ -0,0 +1 @@ +0x7fffffffffffffffffffffff7fffffffffff8000000000007fffffffffff,0x7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc,0x255705fa2a306654b1f4cb03d6a750a30c250102d4988717d9ba15ab6d3e,0x6768ae8e18bb92cfcf005c949aa2c6d94853d0e660bbf854b1c9505fe95a,0x1607e6898f390c06bc1d552bad226f3b6fcfe48b6e818499af18e3ed6cf3,0x7fffffffffffffffffffffff7fffff975deb41b3a6057c3c432146526551,0x1 \ No newline at end of file diff --git a/src/cz/crcs/ectester/data/x962/prime256v1.csv b/src/cz/crcs/ectester/data/x962/prime256v1.csv new file mode 100644 index 00000000..c5a24409 --- /dev/null +++ b/src/cz/crcs/ectester/data/x962/prime256v1.csv @@ -0,0 +1 @@ +0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff,0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc,0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b,0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296,0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5,0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551,0x1 \ No newline at end of file From e329190e496ecf847cfd7afa886ac08cacb2fc92 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sun, 12 Nov 2017 17:23:04 +0100 Subject: [PATCH 07/91] Add BouncyCastle library. Sketch out ECTesterStandalone. --- docs/LIBS.md | 16 ++++ lib/bcprov-jdk15on-1.58.jar | Bin 0 -> 3955990 bytes nbproject/standalone/manifest.mf | 2 +- nbproject/standalone/project.properties | 1 + src/cz/crcs/ectester/common/ec/EC_Data.java | 8 +- src/cz/crcs/ectester/common/ec/EC_Params.java | 43 +++++++++ .../crcs/ectester/reader/ECTesterReader.java | 2 +- .../ectester/reader/test/TestVectorSuite.java | 4 +- .../standalone/ECTesterStandalone.java | 86 ++++++++++++++++++ .../standalone/libs/BouncyCastleLib.java | 21 +++++ 10 files changed, 175 insertions(+), 8 deletions(-) create mode 100644 docs/LIBS.md create mode 100644 lib/bcprov-jdk15on-1.58.jar create mode 100644 src/cz/crcs/ectester/standalone/libs/BouncyCastleLib.java diff --git a/docs/LIBS.md b/docs/LIBS.md new file mode 100644 index 00000000..97a80ecb --- /dev/null +++ b/docs/LIBS.md @@ -0,0 +1,16 @@ +# Libraries + +Libraries with at least some ECC support: + + - [BouncyCastle](https://bouncycastle.org/java.html) + - [Botan](https://botan.randombit.net/) + - [Crypto++](https://cryptopp.com/) + - [libgcrypt](https://www.gnupg.org/related_software/libgcrypt/) + - [libtomcrypt](http://www.libtom.net/LibTomCrypt/) + - [mbedTLS](https://tls.mbed.org/) + - [Nettle](http://www.lysator.liu.se/~nisse/nettle/) + - [OpenSSL](https://www.openssl.org/) + - [OpenSSL (FIPS mode)](https://www.openssl.org/docs/fipsnotes.html) + - [Sun EC](https://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html#SunEC) + - [Microsoft CNG](https://msdn.microsoft.com/en-us/library/windows/desktop/aa376210(v=vs.85).aspx) + - [Microsoft .NET crypto](https://docs.microsoft.com/en-us/dotnet/standard/security/cryptography-model) \ No newline at end of file diff --git a/lib/bcprov-jdk15on-1.58.jar b/lib/bcprov-jdk15on-1.58.jar new file mode 100644 index 0000000000000000000000000000000000000000..dae02cbc315b84fc2f055127233d47cbfd1c8070 GIT binary patch literal 3955990 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

H-5w^|P>R|V-9x!UX@q4?u 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 z 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

CSIJ%GeW`IVJK>pXJz2^O1*PL}U0 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%0AW_RiLemBJzMTLv+-~JEhI8H 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Ν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%0D)PP$zAD#zVk+sa>5FuS|EzQj4i*@o zl7)~Bh3`5fh~Oa!KTdR?yY+Ah2(lq)<{?KUa`X^ySy7o74LwzQ+HpR0s2 z06IXGEjekaaol2K*~%6Y2N64G%d=}ES|ya2L}-~6b;SK&+> zPFoxu2?cm#X-v-f$%UNe%M?Sc7neegHo<7Zzv(~-PX@q0nNy@N_!}e=gq4#X@K!Ov zKghW*K^`*4pWx+>xL0Ki@2XxXcLRqwKI4(9B)!;CGz8|4W+p8PS??2*++AG~_aAui z5fOS?puR47dc32pdF!||(>nZ$N39<4vSEb;8Pe59;>ve!c~L0@;&hi1n>zauPeeDc zTxig<1WgStj zj&W!iBG5P@MR0`v#N^c2;;hFiFgwK}O=6vJIgfzM?~h7?Utr;uk6^gsc3Z(*S2_nT z25tAHcI}sh3$7UTlKXE4Z*5qZ5O5$_Yr^Flt^gab{s%S5#*-PN0U48aVrAQ4JXa;T z5rD60#1n%eueU{%FWA5T4l@p+*3aBLLtp+6O4RIG{4&Zq9xi& zMfp_5``erFoLekgR6(P{u;%*A{_gDbHC@8%{Unj)m%xK~4+(hi>YH8IPyMzEykyKR zF^ZowwdCoP8;2Ae3{uxacusPzvPSVv({~yh@r6TfHJq{}$frpap_4IIn-{lVnpw?e zPx#1$0?Lr%+jw{w%d;-}gM7Ux0p$hQv#HPxDpNpSJ8W%5;S~8aLm1c5Ry+BJh%%@C zslBXI35*rKa;t!CyB|O$U;7Gc*EsjCThYUaD1`*>lXYNT>2%ar)FPc&%y203ZVV~H zqZr)@>XQbgYpM0J6=?(9caF-VlbFFlM3)lzp72 z<#WmwUc=yzhjMe8QH&J|#BlXR^t1w@N0O|^z~!&YD=P^L2s1DgT1wR-eOkb0#kPWN zDWG-nVDVxlL1j*s&hxICKRhK`k_Ud*Zap=5>1WYdcbE^EF2U%*o<> z!{zPr+(`euA?n7kmTG8ohG#^}Z3$#1Ruq|)MONc`(n*kLzt-biorCnVjVr9u3jx-l zl1F6<{4J!4`ig5zLx}ZA;MmlWn(qwfVsSz5`+b3IJ3`tll)~i<`2D9vAI_l`03UE~Xws&Y9c4S z?_>WOUbZhG&Z-pCfE zveSt$#VFbYub(TZL+utCu%VtlKQX|KTPmZ-z1{{-JVr!L=UqRG&0l|9x3cOfhKN^* zO-V&jK1Qv_V`2N;)1VkXi3dG0!vZ9uX~~8$#a8}KVvnb=pB&m6g7%`!O7aVx{UDc1 zbV@c2#(Mu`mKjThT$}Ko<}O35)EyyI+rogAvMqTez!?fgnP?qCHB)TeTgbGeLPNZm zh9k`Na_1--rSeN=Ey;W5t#ZQ^Y}&ciTxK1tSd4enL^lNo>G#5#fV)PvTCZ+?PW50| z2^*P#Wqv1Cxzx3f&g<8K&b=cYW?B?)|19c9h-5wE_$ThX5cqlGXWmAa_p8UIA)b!j zH4+)wP!F8Y5jKXzyc9Eq04L#6C-*nF6^Ne`l++Ije(>8&7y#(Ayd{hcjOkli{0FF< z9+EeRzjVFP@f&LY57MRoV`b)lhjd~JGVHAEECvj+3JU*z#VY>^>!Gd$Iy-oq;i``$>l>dep&)Gzk7CKXe_!537 zD7#!y2GO78R}FiK*$I?G00KK-kGKvxQvZZkeCE~ke$4!^N#C!!PrPQ@Z$!L3Z*hH^ z?cp`J97KrO(qyoR;j8tL)%>ov*kh9p+k2dHTTY}Vc2ETO5$R7k3Tj^_SeW|#G>^dk zQB#+Lzhn`ONot;A$*^fpBbJBM&w%+6hH9~(*C9z{`hbM4-LlXqB~!TFk(UsH>B&-+ ztt~PrS_$W@mz&PIx~55;eFxNB0C8}v2#g4wy@#ddQoW&869ymR=9u2XZj8^N$keVW2qTk>flqi*m{PBPUB z8!x6217!YU#29hw6%|V5TQUh^GP5V_b)r3dY=JGw4p@#=fmKMC1rEH&t9pu|UCTM_ zzC(a|#VkZQI^)g}<0)Qpi>%9SAF3u+7_$SYXMf8=_L+p_YPOr0qCnL+T(G7hpadFj zGeoZngi~yCpRf_8*YPe2z(Bm}us-ZP)L>}Pev;8F76sHPR!DpVN z?~u0x2pEtUP&7m;{0Kx%he=;0h?@j`C5Tl>x>krk@^7h;>cp!wd?|^VIEYk; zyUd_Ch+PW5Y9jd)|28ho@!VgoMt)p;OSr}`elSYY-KR{6Q(CC&>^RO|R^Zl@h;$Wl zG-=_kjA66X?OHh*CV-=+0E{_s0bz}({s(F27#(Tft@-ZQHaqUvPP${;wr$(CI<{?h zl8SAsV%wa&@0po(=B!!IoVBLD-1nFIP`hf?z4!iK*Y6TK6H+V-IXG0U@w`1~yeC_* zMT0*bDQ3H93F-5qObL-GFd*dipBp&;3r53pTP)*SX6ppe9C`8CvE4e9FnMc-=l7mP9 z!G)p&D*=(WqpbaALRpK125zC(43di44`rc`@TV1B4YmlTGN=tE6Z96%jGTjTv!X{N zfXOWf#1v2kqxG$Ya{Ak)>ecHbC=5$4B)S?1p~AM-6T_c%nZb@MJ7%w>Z9_0Ziq^nw zRInV;kpd;OI&!M(n8iRzL-!?L) z5z%Epm0c`s^UM+3Q$4Ip4*(2OyB4*Z&#x*&Z#_8M5$qA!D}GxN>=pWg;)$wP5G=NR zd*jL(^DLldBH;Y$M{hq(E5QZXF!H+S6?y<9l*kpgu{)OtVa(VZW%+tABD-ov2)#Jk z7`4x4dxWh!#AIJElU^Wh@7TwIAoLr0g(-AD(3bDBQ_g1Q0lmpoqcJ?cxi7z~y0og% zj2*K{8N<51RNH9g0ki2>B-=m}S-%*0e6|#^>K~yUrf}>Yqo6T1x~bh=>ekMv(;6Vk zT)@b^mlu4hs{IP!yxL?o`dSc!_ygP%^hW@w@%V3ut%s$Uo(3OhuD;G_&eRzMDe!*-RoHQWz^{fW!RpJL;j?-d)CF%_2 zSo=lGKV4vX?Z!i@A$~i zJysZARq%zD9}K7&Qf97)=dCnB8riEORP$GD%(w5KE0VJ}c)C{)*W$zu|7^yzKv zgHV&zSL%U>i__&2TVVf1QX_(dI3QDAo<8a}KfJIp5$UB9tPr`Tv)k(#vC`o$%mfrHBiH`! z)ey>0Ew7{nh?|8kI|qG6Yt1Nke4XOQ!LubbjwldwID-gibg>7^@hkLgK}9JBkkg+p z>SfV31mDVzJ1UcSMC)&_`?2Vl|jh|gKvF^)J@DjN+jo? zKo(O4#&3?)IviE}RAAw6#E7%_bI>|JZ?a=AEs5gDgnrAqtE3*Bk9fg%qBzrz5*Z*J z0w!yDE=H)VltCB&OcbV;NXzK)Llh?EGsz@(4aa`WIcW5m)%fJ2J|b5HIDn`gp#nP8 zkRx@5C8QGBkUw06Ct+E88N-<^fs6?}wcdhlM{5VMI-rue)hIjcv>wUHBU1-k{mghS zQ_OW`*T~70I9azpoW*WbDuG;jVj~5ewm;4D3j?ODv^??@rrB-p+AHiQ6jiMmi!(f_zs3a8 z&^{aMz}YUs9Y0`6-e}9kSZOaC_Ef`a1sChCi!iqig?L`R~D`bXk8_pG17;?4n+cY8kB z>(OcJbD^=ndvw{~0uBLGI<#Fjzm$Kv(hEV98?>!S&+1HKm2r)NqXjRa|9*WQC-@+9 z5aug&U_Wnlc6H^ebkOa=d7yG-wd5#Y|Fsxbz7DG{SnbfE4v03aUr8tjvp`$y`DDLh z%^tEi5^`TBxl!PoN)pVsLwkG7wkY-GNV z`rGij;dsgWn0=YKkn{0;!Q!{@RDd}3RNEUW`|>3%@FCQR`_a-!4t{~usu?gl+g_3( z&F+|;!pkaIpi?iNoqr>k5bE`SDr+!%?Ma?ErIv+4dIOK};7aDn{`fcPY;7~+OdLT% zO)2jsagF`aT4STzhAmZ%j7Sa$k$tW~tM7l>yPNgkGn9fu( zaq4Fvds0*vWbVLMnJSFV7k16XY&N>-lzX?M%s6L`5T>=3!!swbO-nb1Gn#dup!(Af zJ{Pi(ER8uH#hS2Iz8{t@J5OFW&v$_C@i^zH%TI4CDGVKXT(l*Ij(}5~r>bg_%C9(P z#90bXqG2EDsT+*S4>`V9g|E?UbY*Do_i(ZU{%8r=)LfY&+hYAIlS!mXiijRKgOf3C z65W_`&NNq)8Q-EMLv6wduja&+Iz*f*y2&()r&Bv z+?FZIsyK$e_5#_S%|6(C8>x?NaxG|rHgGf0yw}rQvh*u!dhPt3ROmArJ0{Kiy;yyd zj5^W!bO)wLf2-77=_HoG9PtFJz=Y`Q@8BtyvqFcbSf1rb;8Z$LC~hm?II_RG85GK~ z&FJV?Bx#bM6E9HEgeb>_^vArMJjA&zy46SmNRBwVaAZnV_V z&{Zb0RaxR#LdxRi>l(;RUdjrMZ$P?6Lc@C&o4{O(ib_X~?eugaZO38MAVMp-Yu!S6 zN^Ha?zPNQk7`Ic$eUZuig?Xb9o6{x#MRg20E4+t)1%VRaW-t9vTodhXjyQlt^fx zrIrzf62^nHFPCLPDd1t&POqjo*(lFI+7V|#ftSbDP%u13kR*w%IN>n`c;V5z61U>x zu{3?>_L;N=Brd2eTuCDPbQmHy$<2bQ{>mX z+)D$TZY`>r8!6K^>z&^5W>VSx9q5R&mAm#~gXr~;2A4z~tPY_2`_v^2v?TQoAnfE< zk@lG}NZwqf2;kl;Yu)ylB})xxr|K-X!_Vdc)QYVn{EtUxc6m|8kFjp&@xx$)HQY>k@%pHhk?Dg(C@4d&4Cc`H<;&V&ZC|2s! z*IZi*?;qWv`4r{SlMi76yGVMYhkmBE)cUFlZjk!8Q($DM+_~8Shjmb7BXpPp3Ju(L&`v>QW`L=eSy;WTXdD^3FD9cYEF9P`3+ z*7YY?+|=+1x|2`78v7zUC7;!0%|V`59B9M22@hIZXxU*@g}aulVKRGCP69YW&fp=E zQI1LBAW+js2dToN`f&zt)Ftr-E#Vo8DnMrcoqoxe+F3AJcdOjWk$8 z>s#|mJ850KaJB&o2L2Ncx-IIhS6EvVYl~*k1MrLu*je^L^(*iQapH_d`bXZE!Z9xv z9aoe@uiB1MOwj|?aJsSXPTW=}Od@i+>my;)I|JiLj3<2KZoyHdk?e|tOKkVRb@i$x zW&SM)`P4CI;Y%mFH=f`RTx{-Vc{nPMs|P*ojDX&V22&eTM9Y1v>Bp0B{w0v{EG*JG z+QW>3LB?5@LIitU6yVyd(oWf2;}~SK;nsrauwJTbvb4hE<-a5QS}b9w_OgtW^V3BeND}Oksn;cP_+kiR;AIJGmNgIrly- zDay;Anri?6>#`YU+8Zhyg?%9zW{)u&5gKZOziQYu%DBAKDhBg(D#SRv^|WSWd85#} z!=jp*y}OJzH}L1t>>dK$9Fzk-u{lAiGNnV_Xj?ggCuJuX1{0iIdd&*`pSN94XB2fT zJ9q3S#EMPk=+J{$YDuHYvuivr!A)@V;Wfa;2#{k}tE{6ONt1GRi66So>63{pOAiOJ z9FMGs&si04L!}fG1l?Ar1pk57sHZpxPyJdVE28~V=l9>SIDd71N)GzwR$s)w|6ue* zCuu9LsUU@H1xk}fK@C5D{1lf+UzJfDfWSpnjIcD5M`mmiH#>qv7r`

K|reeoKDy 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

yf>g6^4yQHfXujVB{7`kSam4_rinsFCqOLBh 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�*XiP96+L+=1C=1T6|rH!*`7 zAz*G9CB~Tqf1WT|#57IrqUwH`^s9|2sY_sV=5b`5z53AHBLHjOvnFK2Bv(<{=k?_% zXYCQX{NQ$df=O@JT!ZtOkMnnRo6q9Xqowgt^)*&AyuRrXpJThQd8pmiXG}?nDRMFg zm7u?d5<-~psFVBZh)(l`z$A0mG1785?|f{bg}m$dwsW(1cogqRE-tGYD<0gRyJY@` zSKR6LHh_xdO8c*-e)g8J6gS|;1dCpcD>+v#n$tGKx-&0Ilou^88G%8UwYDL{EU+9L+Sjzrd5!thSshO`^*sV#|@L01z z+iZq44=o}vkmg6fU9{1$)0*B#$OV;*v+j_%j}kPU+1f_+=qRfaEN?R}G7p

rY0c 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�b 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

1%Q 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

WE+I-h8N+x*zs`v8IQphSCLs(Cxt zc=fQk`A{16V7+pquKg-NWk1)*{wxms_!LO*HUssv=t+ojNY}$tHg&Xg zd!qyF75wCphZq^&a3YOY&=30}qCpSZ=DW%lD~_)xu6uXBD|?-> zmq5+BLG5d)PK-&1TVGl`OqeIA)__`zeH*2P8N5?&qkUnjj$aPx1W2uv%k8gm{knNW zQhkqXy3czPMHPA|e*ki;c%nBkMB^7z8EZd^mti6X?jy026K;H$j+Bcg5Cyd%y9o^h zFm-h>^~Ln#`McS>5y_@CP~!m}u zhYoREll?pitmOsw$IeY%Y3$7DTK&WJqK!=iyGA9Ya?tUR{3=hyX8c!Vx|5SuMK;R zVGEYau!T~o#%bsmm+zW#%+^gL^N0PrR#J`2#{C$HZ(9OyzrRrg#;2k%w}$3qW~Qut zUE9x|vn;i;pN(H_E3z591w^PIl!t(N*d0(0m&{(Lzv!I6?Hts9XEF5~6kh;tPl92kSs3@qW;R<_6d6=E? zDPcK`0eo~#w28v~r=DL+8C-8jY4lYlx`1++F#89ppuA5$@9StynqV~39bOBLcS;7- z;7W=PE_b(h@DnQ8VhXAV?LUdWC(=J7Kh{+KHsJoqzkdgAVYk}RkppP4xEn9VWYx~f z884hMPesy`y#%}`+yb2dkeQU4Xf%aJMq6DRb za)FrjV?eC0!wCR)@?`=QD)f0M2~fwB%Y%a5s{PjBMR6%WeEKn0qyWup-OHJJdM|_+ zy~_r&2~mXE1am67vj`k_3peDb(2LO1dM8n}O#IQTXA zDE)V#3(N1C3pcSg8fCf8N&gAK&Q!G%%m%@g*r!EHkCKa@j9Wtp#-rq71b?@m{_Otb z2l)CkPFSsFEXJ#ojzBdTD%I~;%}sb`!5#%dr1A~q2m;%+1~ z9&T=!PAGTUSb{bAN+{M`OB-)vFGQMk$l#p$5cwJ)n%?LX7qk;-wRQbW(wTuYKZo~k`K z#n*|j9*i8v&>8|EweETr^tu1$^VS(KYaGKJRBIXw>1tv;a4}i2`XypdQ$}U52e71F zLBYt+Ruj!|G$2Kc6t<5BjQxrcASe+R5x#q*x81r7L zs?KHLtl%a(7!h=j7Yni9M8+fY-}twg{nyR%U(Mbu1xOd2_F6$pt%3*Pl@UO!_j?|< z?(9thTX%R93Vr?XI}k|8^j(k;Qaa9d;l`pa$AEE%oId)8C@yl&lIx>T^_ze~n^B^`8FlboYD3TA0i?M>UP|dq`<7KBkP(MxDUX%pD;U zqmpZlc(qgO44q?ylC4jD#@v1z_XOinS_8+$_NG6D)$sHvzd(Bk9oD!fyd2m{Cc zzp@7e!;$OyaMXiX==Rgn50X29ZHQ531A;CQ%oojHQG#uFoI~1H#g|w)eXO}F}M@ZG^%nvGNI{Kc$9cG_A1s7JO1N}#t%im}9U)RF#Rxfj0FmsgtY4w1a;=g8f zyzfx0MVw^ExiK&o_QeLTNkZ(o4Wq6FPC^R{h5?bw|3}+fMb(*g+oDNucXxMp5AN;+ zcXua1ShxgtcXzko?he7-H4r>-R#Nrb-e+gus&?+fYP81V_~sma4(Yv9kEBDfB>Qr zz$Oi^3wYLDZh{7c+k(inq)*$+E85gRa6njVg7<$(tz|Uz!2R!0=lXjo=8x`p!NON1 zpkpfdrZ4IvreL49o_#+XvKpEw^Lvp9#gHd}Fs6~AgdwuR>fH~M_Sz8`APcqjnPm#8 z$i?`Q`c=;}iQwr|SCeU1$)c9C4E>a@P)1pSg>}`=4|m#x?B*U=G?p za;GN`J(h&|-wILTWm3uo3GnZU;X?$~Z zQ_t@e%o4Pe_oerqrtwf_61X6=dkPT+6B zncM;VHEJ$>{s6o3=g*7MlIb+3xW76$7rj?5QVW)c3;2&+bH-EKID2~=tREl9$0^3D z9|Ex8$v@68^5RFVaN@zPa@utC8nPd7nL1?}T_3azQsTyo}eYZzg9~AW3i1ii7UJ zW4~A#r=fEImtk{RgoKcFLg$tdX3Y_!uooDl$LGqkga-EHGoa3^cyVYCW zX>>wPR(tX%&2)$oDqW@2=}T0JN>ouxR3QrNJPYh>3heYtbV8Nd*7IFe+29YZeTK(9 z_GN*02U~J>304qfGoB0e+Zk7rBeo|TF1@dBRtMp0BkqOJ^aSs^*==Dx-%k<#Y z<4%Szkh9dlI^TYW@ZCJWdk}CRCg8A##Dn#K%!!kmqEF3TbB?`L$O8H`973fQQXBz= z8dz>n$7g15-k#-gc?QW%`=k~rYGu>Y&Afe#hMy^L4oS3#P&?G*mJL3F(WMbv`zbMfu|LML1 z+csayh=wK#0dU1rKtk11ShC-?58*bd#T1x3H%+uYn{kDCqI!APX-S-hv@=S90yN!T zh2OWAm?P)AYv(;k_nP24c#1;EdLy%=h#AAU%Q(S&Q+ibdOT_j<+doyrFAb%bTi1`5 z++;o4DcgKw97|N&p6KQHuzYihD;#ynY0`0*#5rm(DsgNcRE0VlX@#TU zjE|6wYf@q6jq-{YD?ogY@Wa_FgaJMMi+=8#Tm%VhGSECH1uH|*69ivaJ43lZoE+vpqY!Rs7UmxG-{1w*W$du!po~q{J2gdWK zWA(F=Zsm!R?^eDl@)u)bkPID!T)Zq!2kTE`t7fLLzOPRwc5guL>B2NnEm6JlrZBZo zhAo05h`G{Cmg17f!wgo?Mr!~DK`dBpyPj(HMZ6a7Vkr=-G%C$lZmWdn4zqMz3w*lm zxMrNJi3~FRlLZj;umeuBS1xW@TWXc9T+2IdNwiTIJAODAB8dhc_@i)$t84KwIWnC% zaMm6~ZNXv1?RW;-$3?@w2eLje)rY_}U?o7ig~3w0NhS6=^$k=r;L5ZFcGaaL3qJu4 z66+d1nek2*$GC+;zPp`T~F~>hwV!ES!ftO8okJYc-waG%LDn zrLxF8F`i4O8oAjdGY2vwY^UTBm6Dz#irwvJWMjB24zjNudt%5Q*o_w)@qF8(Cn#{( z92(tT(2>-fg@l!x%>Wc=Icm;4!W_bqY;nOVKsTmLX@f#QLhI z^w4U?k}cZB!PlT4F1B(cge`4gaHOs~1Rcjewp}*p#;sjBkO1Tl(5c^PL?519sW;h` zcld~3w@iH>2Kd~3E0kDZ*(e~B1a4+ht=myhGgd@zr0ve4gWRSow;*e=AHhUw#DyuA zS#c5VCAxUt!?Kkyt<2$I5MDTc~@XPdSDPV}(p)n=EKa_8+?1!$$AL`c+XuWuWer zy3*e$7mVqZHPb7Z^jU+?zU#<6Xg;cJvTJ#YLGr9UlD7YW<7cfk;m}Nxu*V;%ynS+0 zRuIUqLiRPURdEHJTuSVoM%>Z7vZDla9DknTu8YsQxfY$F}k^ZueRups7SValN;*QVB?Wz_=Hr1^YC^o zraHulmrHv%e-^7|&bqLEIkn)m4}*A?$M>#idqruK5Kugf%h|NK3H)8g7cBYe)tyCm z1oim!}3qKjdtx+u`hnV(rhl}%pK7*NmwJ4#n1hNM3jeZu+942+)zees zOq^t1qxw{4QZVA$vB$s;II4Cg}i1w?EiD<=uv>HIjh_WlSdMZoaf^pWvAJxXF z#QHg}PeBjGPQV_-f6AO@g~!KD(2K~2TWWpF>v-_d5@j^-xXh&|-(jP~_1}Ssnl{hbN znB_v(REaHVor-VO=;__<~S9*D9FwzZzYp!s;y55hMmHr zPc;`(QAy&kDyN8wHibuMK?6y8Cz8VRp$o+Rg#f>{CUdd**s$T8-f4}n^c?)E06Odl z`-hsHDdhq7N;3=V*blVf$cvoxSRdwljFeKr6TUD6n*<9p2sM(9`;14E*-&nrA=^~s z(PaXtAsm7U&67(m(_^Oh&@^kUWuc@K@uBJ#WH?E120vL#?_J@ zmD(a-lCCdBwsTon)4-zD-P4l919^tkx<@OrgfG~mz%;d@6Bze~O6Pj38)_xCWL4=o zokCs+ni`9Zsph=R2J2V0@IW0rPal$G zF8M)7I~6C>EN&YQx`qg=b15|mu74N11?j(?kWJ(8rKRRdr%JPj*bC(h@kDwX5ym+o z!uCv@DU=XmN}g$un-*#bN!%lII+z?%l)~99!ZsjUZzv=}LM~drNroibOqlx?Bjq+W z1SHw8EJ^gV*96InX}mgx8g?szy3ZjYR2}R_5X~N$>TMAtL-qz*034$OcAbp2Q4ccX zP&FngdF;E1EjDsnNX#JeP0_=5U1KlB8u3VDOa>|>(5=2! zQk6J*5%kWFk895_gfbB)t%ls6m1*^8M0w>q%c&2unw{19==sXJnG7Y@3!A(HoNiG4 z%kHV~VVDtWZr+?$`GufJc&%uv&p=;72)k&*XSJaVObv>!d*|DUB$$1;5Z(13yQzCJ zk)hz5)$P$(y49x)mcLNA$K~(njO;jaNzc^n|KRcwzDdH3Cb&txroDy^{rf_AgG_Q% zrn<0ijwv3Kl>VD#!JW_Pln&PjfT=EKd-5=@ftOK;)W#paqTVzul zz#d}rYxgEaf_(;ALkhqs-oGTNz(Oxle)v*#toO62YNW0=Qv-Zw`@#MWCjR2=;9oES z6g&OLE~d`USzXY^X<4IM27$62gswAjz;Kse?hG+AV!Hx(Te)U($`9hBfEU^-=s!k2 zbN~>nVyO1vVUH}*1E3#C$J;~0tn6dwAkfb&NTD~{!I>vWQyOxI!o1-c10NH>fpT-=(tve@r}ziu0Sn?CGp7C6 zQd(FKYOp7t@a$KD(`?$KZG=Nww6`wa{TMIS*{0dH*#=#V)k2$`9HW-HU2@^)u0CdX z&Oz+dgn{K4wFccHvw%QZ7^@}XVvp7g&|AW==9_nVRFzXf6?OfDo@!ES^NKhwUqG~i zoiy^e#uOvZaCyc@aVwG-^ySM6)N#s+d!Bz;`xKrdClCNTtvJ73!2H{YE$rxF?`)^w zX!mae9iWjZkh$!=GFKT|l7&$vgiw)GpjDiGGet-Y2`$xcvSTd(9XfTfA-@6?L7t$tY909p?NxGMcCWkoEj7dyM3)hW*1R0p=D-<2tq!^ z)O3l&odmWf_Hp?n>7aFld6hzCN#dq`#m~dg>Jz3a8f5)n_khZ@icO1Vm@ncBkK3ON zE`v#~g-i^Sxl8jyM+k--L2+Fo(IUZx%e=2vK&U0E4Os5(&lSWG2`6 zie9IEx!1O;l}zLohxdZyYlGgeYwVL1I3vEqL%itxv_V(h(KRqjVYgzmYZanuP4xV0 z*TDFApZOgy?q7a8SNPjk;GZ7yKgVZ4+t`85`UZ=|@2~x3n+7LjD$wYtfjVK30EmK3 z2if4%R@p>jn$v$!XOne6!LG8g?oG+Bf9S_H-5sdE@jhi_&09~-@y@NMmhgAe}EJzdHSSuMdyc=pA_*g4k6$gKqUnD zg?HtK8952bp|63LLjQLm?0eko6P-1L zpP7aiZtl$!utiq-+c5t{EtY>}8gXGUp+8d%Q0nOCTEN%+?N;uCyMype;UbA-SQT<= zI&N?P!iauU!?>yGVq`taEl>%L^Ah4dug@7;c>q*)Xn1^_Yjw26?t-D}&Bzk51Wp0C z;H}C%F*nK3TscjgzCg5%E5VJo+2)eLuEYM2AOm#rSG$Jh-O3}di99k-1a0JM3+wZy zz)4}Xww5nEy!7gk^x{wee~U2NP4bWPeNoT}P(Fh-Jn&|GSiDe4(&+H5I{1=X5#c~Z zU-8B#i|z-4`X3VRWA(x>6&7Kz{jj2m0HradU7#?PXK9U*30sQ91IF<#Z0UC;VR2|u zKf`x0*sQb`Lq>}JnIhL3YS#_%-JqUpcP;h2Jg^=ic&KxBwIRzTNVdgEZ%c{wz3d<> zxB@EWIVs zY(8=#oSp4Oq+IKlmoLMkqbAYWcmAp0fKP3j&pwGp2FVqsEL#z~W$!=_Uc0q~ZFJ1# z81F#@+-mhPTF~B(8$Xc3ii#)}Y2=wB)-Nx1p5aF;CC^S!io%f&dA-c!QGk=Y%q6y-={ z@rqokbr$eaumXQ*WCQ^C-xE-$&cDl%W(z(L0O>qi!!*osg}_5mD8 zqcN-LaC~G0O^Pc-??%&I*wCU6Nn)A7GO^?y6j{O8hohN_j*tQabvG`<#20w{>2^e6U;x53fHg%&9G*=&}E zupZ4&a8pS%qd21YqThy~SsrA6sBp*0tfahrdMTEx!cV085Ma@{`eohec6D$);q~Pp zs`Cx%^!ELy9qK{YLAJ;fTnK9HX8Tra`jG{<#)m(rSZ!BK2tT6aDv(cI+NiI1R?F#|<$ zuuNz+S|f^(X>L)))<0t{tVmZOY{a#;^7Xs+EIU3yikfmWECTML0`^2q1;L5dU|m42 z%V};dgy2eLUf)&|4qcAdd|@@8(?&izOF2BA?U9x=1~lGBo7fIy^onA|Gp%0a21p|f z&x5OpDJA#)iqnn;(8|w60U7v#olF9n`b%lN?r%9+43Io+1VW=q5k5pSU zP$p0}txh=p-tD9c07>#yPQ7mx7c-z zXNP6bb_|5mE>s_+C3QSZaBP@ep?V!CcGEo8mdeFtrf4@DVL?O*PJv#YGwLVCXU-6S z_Nod{eG?lhQW?U&IU%lySg7GCLhO9^)&=VW(U=@lm{a`=b5`3k#e!~zke5Gjqpd}e znZo=z@(0q`!NftONapHyV$XAAq>asBltU4D%Lp>o!no}CHw=Am$-zO|7YPUp_hKy% zkS#Id2u~o|YQM66rBCL9fu(r??%u`JOAx&lvA(zypWVd~%72P$Dd~b?hyl7nM-~Ba zz-yB(cR>YSgFNqY5uSCl%G}?fr2GMGkv}xwI0HwgvXH+^pxl2G+Wy>RP(4waRX}_Z zf}x-j&0gzk`U)f4q!p~O;nOWeM{D5mFdMwnqq8h zf-HtgurKAHXC$gNOd)M5SwB@FKaonn2a7wdKVhmmLhebebXu{!I5~-%vfXtWjy;3z zdxQvftl3Jpv`NaC$yFWccM4A}urY4FmT&4CUY(0;kyUGPd0wL%wHb7>)?934EhtU_ zBm2@g;lkViJzHpmnt(O_!dR6+#_GYILsHn-ZK29O2B6ESG2Z24Q>uj?(XyDGYjPQP z4bz^suG5c~DRJLqm_9}a-90xY`N=o~58Yz!MGLZmUBt3wTs3a)w@=%G z7v|~J34#yug3W-{K~7Z;26t2ul0UvL2{%K3jEcl+DMFyY#=oW;)D)PV;7uD26es$kgXhMEv(I z1~Y+F7==0#LD_`oLc|eI$xwL^ET0eiY1jOM>EjgUB{=Y~uCld8oR|qxc)#+D$7s&( zCTh)DrzyYhec?*@;)F7S38w7CPAAvt1C0hUM|64%0c98HDb!ja6-Dx1f-lx2g|?y( z*}?mcKGQb`Ov_m0%K5?}+#M3sE&7F4jd@A%l0s_##rxSWGeM{QKCItg)e|C|M?=24$*2f&;M*moo& zrLJ2oG=kicsvq>7=yEg@&qPNfD_9mk(^Je?rRF6h52nkc9K8caZrt;f6TO373EOAu zHE#JzxkcluBB1hBj@3@ReAVS!Yo^Wz2J52^WoeSvZsZS>p z@j~87jBH6aYuyeOKvK*E10%!qB~^CPrzaT>w&1;)v6aSQbqE7VDULDqFR6x!pXfU% zc*bW^-lWJ`jHuB}3Fh{Oo$V0YEP8hsYpe&EszIKzmY4oWW;f{N3sYua9dN-2*HTrM z9j7i9T=j-Cwh%Wn(dCA2^dqN>Lc=7pukfo_N(t-GncPlRmG`e{RW)v<*i-@;agQ`W z+eYghyE>_4WrZJ2>r<1Tvntl~)o4`I+hhK+jk#WVtdx12t66<1b4Nv);&25p62`fxsrIrlzS=wtNH$sJ`@m1fMUP8C$D z3@yi3RztR}p_+3Ixf3ebSEYigN^5J#F?ho2{yzLSu*zLyT(C68igvDRx0Z1glaR|Y zijtW+Kx;tF1cU`kT@jH!D`H)YtDq1hBqpRh;sKF}@MJ^>;lB6~4$)QQD|A`;0Xf zFiK9D?6$qZ?ck&Un1jiBSL=x=-H=(-KQ=O#Y7`GUSzOy2J`rE|DNwEd2Z4aBlk_dl zLFq9UeWq<@EC$AdeY>favGao1y4CbhT|?=MP^$7&xEmU*;}x?Am?C{E5mhsE%0(-x z%nlz|6>-TX^t$>bJI31m`)=8Mv>OA_ZbUV-b^roe@epNmqzhQm6=Q^^bwEs)IP>`? z3%#SZ^=NYU0kcIN^Zu2@fRN6|?m+q-`bOh+e?Ww&IrH{?a=0u#KTt-uIjTK^?4y)# z5ERegt9_(y0DVDBw%1!vtm|EKikYZy#JeAszt2!lEi*L+f2-OgfJ#DypA+stR>;h` z=jgl5n!)U<=JIvkYQJ!HJ{WY44QpOQ&v&yRy$wIvx<|0T*!LOd8x$#c@-B5Cd|dR@#E zeyQ)n3J9(7-K9x>1$dG>IvpFQwydrnSLs4}C%v-Sr;Ecyxo&zT;~(ybB8_MwjY5K= z+(M{oaAf!f`Fx!D2#7#d%d|yD(1_D&;f4DS=Li2ak`%8cxOb?}knW1xb2YP>33)zn z4~j~{kI^B{=Q}4G3gu03ufNioo-0JH4REAc1NFPN#9uAO91SdNf&12^KPQ@hHjtva ze>UoXO^HRIGAvMTP4;r?R=-#mIxHkyqB~9D5_48T*)@(#GSHh=9_*JrN1dw3PqDRE z0g!7ZpsW;7H6Un-EX4B%l;D$!#U4;-?Q=#APu)~5`s#xav%$#-4*7Q(i=(B4Jt>4J zv81xh&3gz&jF0rBW#t|U$`&bQqe`A-eHhY=j}R{Q-8vfXFA&aKs@>S910RM*wN>wC zltfUO`msgR^rzZh&h{>*hMNV3r`}l@lYogP68Dn}K0BzTr&&~6mp9aVbZ5lDKS}f` zppY6{6|Cf}2%}PGv$%tQ(aD`1Ph9eRP6sYqfXi1$(#QTG5=9xt^ay;9RsOatd;b?- zZ2ySzfA%8&G*V_GxQn^o$xTEDh{l?RvKxw!st4$E6Y00uCOSopp4T)%X&>m-0#%cN z44&;ENNDzB*mf3>i(c64+m~nP>?mOZ7l2j~51F~H6xkV?p8&H=>B|w9pnO{V`U!B` z+N@w4Y_E{IyfBm&KcEF^UV_pfc|K_KG?;6Lb_aki#;_-Ysik(^QZ45A*s#4#FgI+< z)cu`cGcbV*uU6?}=dy6G@T~tqHwC6EIo1c}RF;I958@@xjG50b5dP<^LU13fzQQBv zQ-}oU06cTe0EE~y2QrRoiMh@M8`Yd*qhA*UwYk?VR%FG^o8d#eY>;=Zz`ECgB0$>EMV#} zk6G)bmm#8&i5ieZ(7;qxgf5#KFcxEs#2b~VvcM!t-h?7-<{|EAOAsY|`$Rh)F{wQ< zae6wbx8d`qSYJ<6PEZzFWX>o!h-R@@_X7+ zNR{ZMv?I~ghRHe*H8Z?RTJ%O5gdH{7Wesib;yZQkAR!6T!fbh_Jq2}LM0ePhUauFO zO>D;t#J~@{d<#~EkkXgJARojZ^rPg+0q8v6XL0SIH!Dd|H?}y(nvve>!Oiw1&Yk}i zs1)HaPl|g}r7!1~qp#Zy0EmJ~!wy_^Dwi_TY80Gof}Gs@f~(8A8I7iv^M>Zf@GOeR z;aj;Esp4^;A5*@cc7VBarY+hAXLnxhGkt62p1sA6Z>iyz5++_!&05}@-j8R^WPFk% z9G*`ARv-TZFP7EK#TjfVoA~4g9y1UHOB1U$G-em&F^yzg;-HbC<_YRB7~R45(3UV9 zYi7PS<{>fxA&JsgtRxuEKjv`jO8pXcMC{h?U<~abyI5)?#HnNw()?QE%-{(|iey_V zELOLd`c~oommYfkj|II8;L+*>J`VrqcGh29D;NLsZvUA)qdVn#8G%y{5{tFOH*}0l zEN{Y9HA+hjvxNf@4UOE^ly@mzhZ~9ADyE^-SN8;zCo}`U=;uf%mccw>S1Lik1HgsVmdJVN$}sFsZPuvf+3m;PQ`LQS(y<)4s*AZ6dk<@|A6N5ie*ZOdh;KAh`C#jZ(ZDTM_U zaagipc&;qt>Bf({3%kRQyvfGqeyp__0AlGF!(hS}Zkma4*7$!ylDGt*1PZyfVc`oS z9x*iD6kZ2_zkKSk5656wUXd?8gVq0cw`_rkbS1ljXx0|aR0lnbAL!6~uu^KX;MCiMF;*Htn|P{eC}7yP z)t)<2as{XJvr*{)if*abv2}p52tIcyliuN*R|3piQzXl!l_8&yHxNX`xX5!Td>Ek9 zA|7T+_Ev%4FV<^0#aC9?1wVSOTMf#ancu^QJmDd4bP~C1lj!ao?yY#8vfVVCeFyFS z#X>XatP=e+8pISKhrW)Tt!|5#OR!%rND^3*6^~L(#S(P9sW& z__WtAIwn=>EZYwIB&J3bhYEBNnDDN_WRnmLuyP&TwDTRDy*z(EgZM<9SwdM%SvsX6 z!-6`-mk9~p|B=oU4vBfU{2PwajiG?_LWoEQ3XE0yg57jr z;jjbU8!V3I3~CS5-z!}%1&o|(+m@=yS>!F5f#WV-icxHvx#^sp%1C5XJPrr>K_xL; zeVsvA{P^myU~Jo+m>`p6ERS>~>0azHi`8y$;SPKcXR${g2@I}gLP00>L7FaZGR-`W zuAz)BiIEtY5Rt5z4O|DY_G*uyGx@GA7xX*veeiF|#OEpzt8TQuoWgr7Bi`0n5fTLQ z9X%5{hP$tts;0yOAheooF%q`0L6<>Qa0;j1}}~E4=DS zBChkP8jUTW&J#c4`Yhi5%J=YoL4;h}_WimOhnaly@+WUbm$Q%fXvl#oIYm?I3RsQr zNnopmC47AoCrS&nzh>Ownihn{y(vrSt_>9bjMHqi5P684#Z<@(|K?OXj25J2`~ z7Gga^g4%i5WWj>2kxgg+LHf9IM_DAUnTyvl@msK@{87Tv^Dxb74l0pFL2UHt?;KfU)ysvPc zgKum$*vya|Y#6Cngbu*oTP-<3SueI`VaAxNNlgov=vyIq$mD|5-LrE@m)m=@OZdlT z5enI)!;TluyDtMBVoPFShd4ihKBaB#%})?2_-%y$BGCU4;s1o7KN-KxE;?Up4T)U*gz+lX9dFnSH$+__RC#3-p+R4j*bn1 zw>J)}A{p5WM{5sp9dfZ zB`gD_yqV0>O|++a4g=Gng>BfU^pbdfZm9zQ>HF7Ngw{Anw$pNB4v|k^5Rq=7jzcq{0p|JXEW;@cJ*}cu zn(4WF)@8!loWPRki`-@l?5~pOJ4p8|GK6%W9nN*m?9>`vkvOE!uac-&iE17W81sqW z#{DmX{~vMxFA${UD?h7`=%ag^r&B@G44NNvqWv zNV_6^(y(OCCHHwF5P#L`k{uaY21FbT4~2;$QXphjBeq4OiR%2^Jsm6 z=NEWl3!#hpbflQ}oI4wnGpgW_d+C4SvJ){EcSJKyZdFPa35FnY=)i+0*~93&?-4iP zb9mDv!$****uw(Il(sQzk1imTi^-xU^ngHl8dP z$F%0JS63EZUdzj4)_P0XbUjw%h!!UWBbyRBO@)Iaak!}!oVB}U@vc*v1JLl29NGY6 ztJC&yZfvw&V|`y_G_Vs5WPYB zx|33Rb=&R+_%p|0*|YKv=^`_Xfa}Vkt00L6-{|f;9t24KJJRS!K zZp697sBQ2@^hr5ko<9EW4;E65)mP_BUv4h1Gh)+(qh@flh z0ofh}^^PQf*`Bc_<(jEn?zP2^RqMe{}_ROhWLL+plLtP9FZhGOXgP+CVh$Q=9zrhm`q4s9`ez9gX-pt3D>l~$)cau8 zZGxYRK{QHT)w#%QJ2+o|y1G7bdxPViotvLqE~Lyfp}^cEN{oei9e8>^5}l*3y1`rw zM{y}E;60*XyBlQtbVhTzj$#}M}8rdZTx+IDoxq?l9j zzWa{bLF{<=Cc!+0Z5nkD06~1yj2A*`kj!`8E@>oi)5znqIg*@%)Q>L^!JRYfA`%N8 z%YirTOlmhcT_cakpS|fiK?)Dz5j}{xz#t>vT9HU97knVh_ppe1P4-!uZx%O-VeBm5 zr%PVlWuZ7#%zqe7hMEyohALUjUbP#R&iD1=#~fB+#j(dZoz<(an%d;K!B^}G-s9ou zvI9aOK}xT#Qg{#!4~>$$a8`BRUd=WS-i#Gr}cb9pvh9i zL$)*4oqxkCAfK&;|9`-re`=Wg>}CA2rTTaLLDK^IPW=Oah=|q#)_#XS6V>t| zk&#(YKgw43#@P(ClM|*398!EzF|2WVEcRIVs&vzBDxhSCTdNDJ%dPY(zJYn+E$_wR zWPR{X%9J+?uu$K<8~`QPcK(Gw;=k~xbwURnl{ir2R{;dY{<8oQ4SDrJE1DOo++F9o zwXpbm_*0T@(f+^VkKkW}b4d|V!T(OrPxuEtpT?C2#Un|b3cB@k(z~!?LMRYJ(>HLW zef{!_=UUQ@D}`t1x8cvFp|+tc-=_P3%?i2;_|ThPzPt46^r!SD;Iav@S;1A_=Rg9V zK$IwT!Bk(kZYu0y^fl47x+i;gfkO?eb|vyWNoVouo#K>wc;e32?%)}#^Q&0MfTj~@ zW#0>TPsqhJlsa1|Dqj4h$aI544!&*>2khO0d;)t5Xh$fEuS)HlfGmGTbMZ>tJ>f7i z0NvKpYA#`ar1jcUd(UU$q{JEreP|A2BTU}9^LP{eq&}_#joq6-%|hl=wN8ClqOYfnn-nHe^cfs$m(x0XD;WmY0dAZ_NxEexqE z4!lBxd1T*mXH-{JrYpA-!{E^}s9RNTiVsz%2N~NRE;8wuZt`c+%=}l$94%s6IOeV4 z7G1YNedf)ne8|6J&|(knS>f@uyJKznDt>8)pI051xFB=DF_Nq&M#q;zUfY@uYRmCt z2nDj7LUw%KYJZXPKbDWlKx63z^2>0hXBAa0x-;Tyax;iIa4DDq__?9GK{WTJQ{&qthRWVG-s1DTyC zY@cv_LN>oZ8Y1C--qZj^LDDvWESSN8-6^>-^&?7OriHv4vYBQ6;sL$8m}KSzi?Y0C z$lp@RbAychyJf$t%tg_% z{*+H+KU`Fp=BR+d5MQHDja=R`%A#g*te z8eK2_HM9RJjD-qrZ%yX)knSDsY^lPeN~dnY#O}x&3Ykc;us+$O{Gqk$(L?2dF>+x; zX}jZ6i?U^@tCsGQOp6coUkECW)kM$oAcW}_ci4i;e1`VK{7EfJ=#Ppm)#Bo5E|A;^ zui~?L)!~X%?@m9}+>v5VsM-iup+CJleexW3r9Nh9Gr*z~cKbrD?y@*ilFK(<$|2&W zU9?S)AMt^rqS@pUByL_N={PqoGDt5cHEvT;{{pFGKDkJPZSom1iT?(udc@FGwIl9 z7`|f`k6YqJsc@8DK+Y2hlQRDnbb{w)Upcqw=koyaER>lO+++qBux1pzc0E z0$2e{iZnrPFy_RzJ1lcPrW_G+uZ4lJh>--O6EXqJ-7MzBrYEe!YRDF|Z78OL{HAMs z<&p;$6{<^SS2!mCj163UNES`5a>Kv~XE`dTuGnry0jHy{+2*eTcxXGJWMdWHra#8_4=~s*I>2(8$^?eVW@W)&9VG_O!mng_! zND@1ed8`F(T1xkee(7C9F9oiJ?2Bua%Suh>nkzd~Quf39o$%W%JIlK2WXwJhu-y#6 zV-upCs@v=L3M~eG7RK@7BsK@z4*``+E))WD$ZwcB>}BelCmFzI%SKFz;>wR>jFaE$>p z-n%-plv)A|@NmJjSzafudjdM|nZ41Ei8et`vkWHuxiDx|hs)BT`0ewXE#i^2J$@T+N}{G;G&flq%@nR z`-9+M(%5mWk)}2-nx2g<#ZDu3G$;jN>(Q|X53wq>`%c9Qy!Kr~8cROC=tEi6inuB1 zx4rM|npi>Tu$yByn>?g1xBFT4eZRn$!vuZ;kl%iSzjONkNeE1k|C4^XV2iVJ2jl}1 zotYp-N%i;PLTAF@@35aV~N{}sc zD$`9>f|?Jqab^LmkrBrBba_L$$<{|nq2<t{4YLp0x0r0V^BtRp&n=fJ9sc1f|1zTe z*_4S}AFdDBFbb~@_YTrE-QT)%FJ=2$PMb~=%)+`-sBtJ4E-sjni-U<6wZY`Rw5jjk zyGXF%&_y{0*}IATN1w=w3v2ia_zF)0#`b?+LHLWislSf)fA%nbg*IrTfxu$sKBiP0 z0oW)?>JLvspB9VJw-f5#Y1J_lYK2O(A>w$A1v+K|XNhETp%C5S8G&xDo8G3b2iGTO zAYELMJm$=-kN#M~Ug?K@y3DM3X)9Ji2DXMT@eB>+`II(=&8(^hPWa^gbf-W-mh!hGTW@_>e_%XwjeE>7jb->= zDE{cq0gLs(0M3{PdvR%~5(2{=-{WKkyVs)< z^M_a*6lr9h-2HWty%-2>GeJqaXU3kM5$uTkZ8No=UrFk&8zI9+F!MXYr`b zzfh-B4#R^5B0lm*)c>7m{tq(w$1rhKGA8fwf;1RHO)%Ydw?9$xq9A{jK-4ktLTQ{O z@IvVi8rionFK@i#o1ySQhk>;r;~-a?pp>ffDA_j{K<0$lmj&&>N%{I?J~1i+1vWl& z%A`TewL4|lfWL*VR#W~bo5SL5M4gE^%6zaSB9Fkq4wT2Fe!(6-5k7F^cqUJ_XW92N zRtK{A~`4kdzOzce0PO_rCzqLIg#SW_@WnZFT!5 z&NwI2h)O^k4b4Kmc(tj&;vbBMfU`(?AY^WybrdzDctBx10O_xA->89AvtD}nMS1XG z8TJ4n@q$dUIS%<5*`4(JhWBAGIya7Ic^=%|uZhaF=8#!*An;Fr1pjaLE&dAme>IR2 zlwOsAo2*_$yiQ0g%Yx%nz%vdJ0F#Oq?&%xdaKa zC*kfg^}f#C?AIj<7-0H=3PP1-S(oxfm6K13h`aa`iipz3Dm*48j5&|R67 zBncK&^3qRdNx}FW9g+k)QZIcD-+S=!n`ymwqi#wM>53^k=myMMa)a z$QH|WkWR+mkL6zJNI3<V)Df*-d6O11K&OzG; z62<1-(f4D6$TDzW;X_3n>pH0Mf@&s16X}KP43@L+&qRE=n6GmE<}Qi_DqwfcWr>e! ztfN4FwA>jZiRQKzE_|}DXC5wFr>}@7VAQM-?~TE~tbp_%;usWH5bju~PJ$F_qdn#5 z4X|xmg@4YkAuS(BR7)ayLlTkLVZiboPu!6?UnK_|kZu)*Ay5~vHt8VQ>`+0DpkkhB zu>5(u(`@c}e$A2{&Z@1!1_w{DIg^xmYnk0@!U4|8e{|1D0b9F;&T3*6P;v(==^0%} zm>M*@EOQJdZeK5#P$;_H*GO6>A5r-Pv1M%%HNFIZqdjqZiHCH{K4n1@SI6LiT)UH! za)Yg2rp_#An=9e$W%$y8M1mA)Z?-FiiMI`8M5I+0bTb7>GI5*UpEx zUB%7*!JT&$zK&etx+qa`_fTDAH9OB|irurRQ8uq|7d{ zs=8l64@ic*8$u7N|TWY#cWs)EE-FRbdO98UsH#&;}gfIdsWM*|~tuLi=H8^dqjl_!6QKg|E9p zVwHy%JhuLhGPVuj>G?4^kD2HFl9@l=>QqVgwF5~>e6tMtrlcU?w~Jg z3U&|Q!03sxczByDBVOEAPp1qr!;{@|_Hf)aC^U*yi`9$Osv%p~2DO}RhAQ3j$RyrV zv)RfG=Dfq9g^;d?r0RS?QCP4%S7Xn`9Az3|I2dYo3r+ z4dig~)mox>a3JJE`uvlS3CJ8`YMJ5bn-^J8wh^gw6=92XdL!GF9g%VkIGY(~DBJNF zWZE6!&L{29pYCYpPs`OZgO`6ThtQgezas*En6H2QILv?lOCoLDqU zZ8SetzH2Z)mPF*I4vQX87w*f=o|thchO+t?t9meTC4TX1(MeSa^?@Lh@6%XxdI}>s ztLy|q)EgFg!w}Rk71&G98J6dFsYgZ`=EC#}+$i9J1ISuAjlg5Z6UT{69^i9!Y36G! z4WBa!xw=S|Mi3JT=OT|C#)2G_survzH<;mWzg6b~P68FbH7M7SX--v2r0LyNnMdhS zm$N|XlGh&__VuxV?!6kJZ62< zmh*Vd{5ZHDVs9G>8r&1}P0TKz9h^OgEr^`~cZmu7ODtwLm*A0x3Z+hKfVW3i@fj0| z;A3B7L0MD4zPKB{_XOuAJgsG0xoYL71Y!P_PilNfXe3A^h2WEX0+t>e z)=|g$?u|=pEH@YrrJ;?X%vYw{Q4HgB1wO(=Pao{ZM_I4OQc|98pH>jwz^I1j5Q7I2 z#!8(s){}3PL$n&qB{p^qRJZILXqTuuXzF~sDRLdLvwHR1LUVTIzwcS22HNra&5x19 zJdmPC{U}jDOJ4JAB{JPW4%;h;e+F$8V+>YX#EmDZ@O@HrB5nWm&KE{R@Y}_NoYDh* zC~plH{3Z$t^WetyciMX*nUW)mTuj1%O(RU6hO@+c8;m}zeW8P!0JU6JrHJ`Kr1KxH zQX+}2>*Eaq8f4f9jJvj09;3zF_c-yWP+Mug5Dk5Fxxr~nj98*xChrHI-J_W9U^{+@`UasEPbzCN8dlprjk)ILE6f z71Cy~({^S#tJQCzD=7~?+G_C&@HhG4gLy(fqQQQMuzqf{r-t<$o}E8ry9?1&H$0PV zRQE^ALnWuR9IM0=j`c%M4qgnO5c3UqE=rT% zu@xM4Ayc0%c_i@G46MFLKccY`tbt6wm@T$272*ulK(sQHN%3Ti{sC7L%oH5CXjjVe zs_n7_EwNcGj_a9gPcLZy5o9N%svPn#TB~E6asJ8-GuI<7aF?YWhE)!5Eg;ggIUey6 zzH;w#9%3E#HYOUDFmBvu!>U7c(r22Od;Ap%@9rP64h6@UWAoKFXxF|*tzi&{nT=HV z))TXU#EeS4mN0jMn8gwU3QmoF0l08c#w?0`HuM@HV2gMbs8T>IepS&-4^@Ry(h2UueI0D*AHNuuyKR}0v|HCk-_Z?lsv^T*RZ|x z@}fR^a~fw*k0I=JHcIRV*c;ei8Y**Wm`u-+h7-jJ4{Xn+iqI}WH&s%7Ka+Cc4|w=K zIjoejAx=##+Pn^;Ggpdgwqs_X^sH&c&}@861WP1@6co^Vcv2Ys8MR=x<^E||*zZjT zl2f&0$ZH2a-DoV7cq#LWFlB~8utEKJqgyum&3r#}5)*H647T5odR0NEz}kI%>7%&`7}H_)#k0sL+%m6rw@W{94L3yqFe zjuk*h5lkZ|zzvcAa#~oNwLNa^K}H(JYm!i=3c|N^YvV33MBg!WS zIX4Mky`Ds)q&{>Xloo@He6RBHibjgKqGf>aNZHWY=q|-RX|c{?s!@>d(j_#*qAdq4qb8 zpa1lYet#ip;6fpO#Bv#Z;OL%8y9?SUv3A(Y_X0wC82tQw3SV|O%p79Jq>`5)AAmLl z81I)TWOB(b*XnS>7+Q0;&)1h=x<14LbqfSY%Sp=zS5!l3G^FWjcSKpIJ;eoIJ=Lny zi#>8x$1^-<44kIvO&IAil&`w4;wuQ#7Z4oF8pB_~+TQgzem=;Z4V1Ei3nz>eS z0-^P#^= zjan#wsV6sR8U!aM!;8dQQQg(k{WP!uwFdklea{7%_kgdUFhOtqjuqpKC1XVU~uosDk7NYPW!;*Yqx2gRE$~;ez(y7)AqRdGi zlAp-n!FJrZBG6E3F~sy1JCNVyd>gALDK@$!&cc~De@fpZiOXx9ui0%#%h`TMkI4fi zZTmfVecvk!hGq7M{Q!Dwlr2oC{N2knw%_%VFoaI1iG1Ytdqe3B$h7cWK7gn^aAx8f zmDJDenU4CnDg?u9=dP|~-b2F7P~qh`eXe=PH@`Z*=MywFJZ?D$g+Z@xI5R}JYSYH4 z8U)ClvP4eDB&!JKtXxgg;d`gO!e)aqK{Wk1N;V=@wNvX zSS=d^SAR(U=BMVr=2y-~zdU{D_3-HIe8<+W2jdt7oL|v1)dse1k@`EA9fsEH1Ls$+ zAh=b;6GEo<`cM?ml&@9MqYSN!Tgik)RIM<_Uy|#D452Q6_72Bx0b93Xm>ITsamHDL zW#%ogDp_=aty>-x5|5sB!9l@=5EFvodW(1_`h+fYieJxvw{9W8y2T+fTUHoy`b1^C zA#}nzs>wtaWcxUdwVz8<;&85A$0o9}q}=^;oO1B5amq(L^sNWD7ohVdDMY^k9H;ax zvnqnP_^Zb=5T(EQXYcUrAKwN3fA1asSM#kv@vkK$@PT_wLUdsK-8jeva)g>fv&z-8 zACV~VQtWO_#G*(sV`Z>yA61W}up9>nG9 z?2Qc3@cR;tT*Xl66171pTADF>#v9fX4(t%AF1<~=UIwcf4I{__ivbd?v*to)TSZDj zuC0$jwvH2a`wVR*6|>esdhOh$E{{>Kny+8k1ggd0yuLkrB_ zZQdE+h7s%(3vBfPB!U1z1mrfC*j7PW6q_SbN8gi$uFa7U~5rFGFCDESj?WqUlK z6p)Evw@$B7!lx{R3OQR)Vopb30ed$4iuuobPEiExD}=Qf%BP;8YlD)tPXyW-$yCk0 zu3*HN%C;CV(1o6MD3Z`;n>l_Os>-%FBZQ+{F%ei?iAeon^qKcWWGIMt{ft=H%5Il$ zWDg0V9X{1>e=U^OQ8j7I7dUHzeKQ>lTF$=zoeK zCRtB`ARyHY|51GYn?WyUW9bTD{J{MCRfzsozYTglq?L|Xa9b(KmIK2o3keSk2gmRW zqs|#&!#k=UmP!^6A$>p*Q}kh70cmReHK(;y2I`P1HeX z%2PsdteLKboKD4^Pj617HXslulFpDpT9T^?ANVbZhl*!UVtxFhUmgPwd`ixB=l*Lm z5{ziXj8GXXU^6w9CepPO>^HlU zCIA*UZ1_dUv$zdm92Q#PcxjJ&TCn z5l6IXVSz;&tv+0dKZfOe_nz`vt0NG4-zqH*Uy8y8i8YQg1VPy%_8!;xlEL>%dBA@` zn{={KsA`{rQ>qX@p`FLq&BZ&C24a7b%^?z3G&AoDU`+m7GNmpwO)#=D)|CPC{3|Mr z)g#`pT(i6ccp-U@+_d?3R{rIKhW^XVn~srhKiU9cLN&!Uu}b)(KBH6A^V(kUmQ#y9 zL2Ap|!IA9S;C7kGM0AKVeZt!;cA?FJnq32MIFp0GnUeOzu1Q!&c zIA#}>kbC%6(M9!2NtMpz74qIS=pKXy~PI+8iwCL0+t{b({bCaF_ zV1S@ik;098cLi1r>;7D;h=2-wO#ZUuAhux<3B%95$Ju2KMZPb(>wEpq#r3~&s(f(rm>Rgu{CszL?Rz{N?_?o{@QQUK)x)|k{v zetrA>;MZ+x^-PwK7w~q1HvBH4GdD|a_yI1{=7O!pAYnM?pSxxO-%`8kl#EnsBv@Mz z%J*IoRi$MN7E;f+PQ@9hSq){P5?-w40)nJbu9KPdwktz-g$(UB0(=F~k6mc+SFxSKUgg)-*DxVNO(sCqhwuE{Q9<;EM31XXwH()-(GM7ESQTI3b_ z)I|J1jN&ygnQn`95w9YS@-+1RCC6($Jnc4sA(iyUkP`fRqVQir>Q`X>&PNrk>{o;k zy(;a9mE_gUKMD|9Wi0IskVZo;D&ED1lTh0y`9=YQ;hxQ!es=O~B zV(AqPTE?S?F<8F(7xZNBvVO%eDj*oMQPdwfpj~j@#S21F@?QDAYHXe2d`#$!Ioc5Y zbo(e#(cW$wrN^Zm9vaJa8r>)z1a;P=nMH4x1*37r;S8DtTci=H?+fFc#%j@6y`uRE z36O4Srzyz?XBh7~d_sH$n+7%t#u>^->_2!O^@a|oV|+ImEE8>wl+wGJd&bShy~p0z?z z2Ci+225)*T+VAi4-r~J?&OcT&;@mdFIbVWTk|begL?r`9&`!d1;*z3>+c}ks?G5}8 zqA4yk+Tz|f!XD;&sIfW(NSBu1xUe1%r*wJqfz1Dt%2g~P3)q~|hoRyvB{&7_aZ|Rk zt@I!>xP4~LNn80|3vBHoz%Yh#X2F(pu8@~%8JR<@@vZHMVkZYKB_R_S4b}Dakepp_ zu;vL0#Q;I z*+55>qU^L}#cj686c?zV&>4yL2mnge7bbwe9ZFqu<$D|I%g9g~>*VAw(hY3|4$iQn zTiox26T!@ z*_J=PIn+Tn<9n+&Znkf3F3%9CzH1V@*GJ8fb0(8p8Z;D3b#22Wvd|)0kJHXtM6-A6#=AbF@{Sp#C1-e{!q$crVn<8{O^#P}=oChuRU8Wh$Ng zXi7~2oq;Nv&4U^Vbt>MXFYtK69W1V=Z+Ln1vO)$&M{opvfkRS%5lhYhmj*9Z$s67I zN}C>*Ir339n{ldh_N|-y&nKEczV&ql$d*=rR8)Vn)B`MV|6)Ee%emCm!baCKye_yAR+5os%oP1jX~bJBte`W8Ld0!& zL0OKvG=l@_^S!>>r~v^sS6z1HYChwU2U>8~UdOdC-c0?)wb5NxxCyq+w|9-yt5U8% z+DdmXKT_E$^o%fAj_gwsH>9}Nw=)O|@+g_P-Bb3`wPm8Uvzel`x<9SLVuGjg6j24W z6pc#`KChcKc%QjJi12OYzOTz@evFU^` z;khI#kXg0#-yqXMM-pI04x9Pw3+qLE`IJH0bQIksRBP2+m}1G^9jT`>{K4!YeC3#t zdP^j&&;My4Cr6`FdvU0X!Bsf=gC;^j<5v7FEm1wZOZca6I!1l5W$I3$?y!P6L5n&E z>}8s^Alm5LhjJ(ObrNbk)1Fi@+P3f|6a|cq7NK?u&F$0D=f%j)F@q0Oj1fzfW{VHT zR1;=4E!t`uc^=84g;WC9!q7a71YEyJQ zLAt8DRzsZM~A8zTbpdL$_EvLvN6U(Z2&zHEqzTr973sh6yxu zS(KKaaM{D_-Lo)1FhEo9+_$#@dK#v5M7Cwfz0Sx31;sTRpnNv?US4^ zGJ;}+E}^fQM?PO~sgEqGA(#{qxvtWeRKFEf#Sf&Y96adNG`hmw^~utrb+TYw$QP=F z)1+@*--3ZT^A$+duSR8(x}6`Ka(ZHj6{6z?yX&#EMA==n3wBXQbULUDr0ki8kgCH? zQaE&|VCg%qC+DjEop6hAV5`rzeLK6fz&;EXg_&sWvT+3H{`OvDR#L9u4a#t^>8&J^xd zVdkpHb6NeO2v|}X92Xzz7Q{E#=ph`Y7N+`31EqJ5(7v}T+a*g??Wfr6$Hh%%4c3Psuew$W+LM@{B_yvSvC zjW?i~Uh&dQw>F$fAqYDGg@$c%DC-y6$NQ6O`1}_z9)XMv_+v-S-_&mZ!8QMC>18Nd z$O11Ua|`;eB`W2&qoSe8eYH0Olh>GZT7llu6GS1%8g*(b*GRIeYa`uK!2(dqBmc?; zis-9p5uZO9e_yq?8PDLX>+*WNhk73&jl@m#g9wD^5ffy_Ze*x9((QoZUZBnft1sC& zrSZ_}!_B}^n%zg*ep&@bsL#0uZdveUYOO__XUM&(5ad(r77bandC5SX8DjDc9P30@J!~ylOp7fgo!!3~4ApWopPi{4`97 zpQ5N#*%F)3%Fb+ZnBo?px4Z0ccONa&2ViE86Js9NfA*d(bUw^4*80@pWaYKQNc-SH zC*3Ppkp2=`yk{A2NVrNhE#BwtTmHBH zAVHw8FqlXmz9O!g;hDwj=@nfw?JRZJ9={joK}|hXB*izUzeYfbyb=YVm{+Zi+wN`) z8;u#(uPHxwifG(?=14js6>}j0u3M9A?$wLv)q=lc3pq%zg<(WKvv2lQgJJ~?>a9mX zsD7*NPn+(0}UP|pu z-3~vYXe7mpBhFZ!(FMV7IwIMNazC~}zqJg%i7M#MW-81MD$FNpRSThj$rJnhWl}`U zK0`2^jp}t%mN7N;q7R`97q7oEmVEn8&_JMtl>A3W?{6;A{%6$x7Ac>le-_RHbyBj% z`{Yq<-Z#s!N`EN;mr_JTGTH5%HVeWxb_+TKL>sgqYr4EaAXWDBJ67a>zFb$)*&xVz zLxzdMVX{yEYga)AvItm}YSM}Qb2~-38B~(v&~2{Qt+5qbW5HbDR*&jhfZJ{&%RzG` z)e5+Y154Y8aa7YCN{<7^%As_M32t*(z;VVK*;S_TefgZcNu>kI8-)|!Ah|_yl2;yw z{o85eX^3;HJ-cWKXeMi|DjWqtQ2sRP`w)4PmJ5*kxjclGS{2NUDW2ImVcZC1ragj zpU$Q1q)n4lT|60BgJa>c8pH{hTCR*;&>sY;CZh<#t zktrk&;%o&4x&qRW!AYbb55fi*c+MaXA_trlK-_ZMDCxdWr(Wu0VkU0U#;i!VY53He ztvC(ig+nf`Nfb0OiBdB}u`eOd5W_!pTC&j)T%JHiF)+>8stJW#7R;+C6HLcO#-}1# z3o*hp8n{68D;IP)4>`zw;bYueCDA<#bTnMzRjqh=YE+ozl30+M_63d+BqS$b*v6@W z_3B%UN@}!bnB>Rel)_r6eEA%7u{!PsTvH5sbIR!iP`Xr|wyTGB#ZVWhii@t%l&y0R z!P!GDnB(egOgya>_8>Z}O%=C^)pO-cRU;d$-Xg1;KrVY3NDBo=XfTjwwq&kL@hYf8 zCP%UzTu4n-l4}Z`q^L#Tx!@fDmn^kRcHM)-yrS*%$}Wr$7`RgPEi>_G7`b6k>d0-K zWnebIQ;565cwCI#!AEc{IFc#&w)8nsfRkRqSuP8g|n_S>)l7CKps5*y)_h98j!#om;g zPUPHOMnQ*8hf>VbqaJ2%lur&{oa}s7s7D9K_rosRPIP2E^?rnSl+FNqz`HR-UL-4C zM#vmX4!sIap;RqN7jN2{ZEw*jL$=<5+3+iV_{#5_uZu_s=FA4mzt?&Uz3no(!J}x4 zK|qN)0D_>QXp2KY4Y`8?Ml2TiA=n5jPIbSU&>*arNtwOe{$4XEtUdzET1+>vw+NRf z?h;Xh!MKHOq+g9|r+QdVgKUo(9t&R9Xw*Q7uXwljNW1VjzH*k`c1{^JWAEpChCucv2dhh4Dr?h!JVoYI2fgq49i(SLYV=F zN-xHih0-^&QWqIXG@bcs`@OorFBVhT>X5}Ep&<&lgOu49#Q830CqiscpVmcVM_285 zhOn|Qg|Wh;hNLGGJj<>tDF>Q1br{Q(J_$_|3?* z)(IZutQ!Qp?cfdG3Ihg=vy!cTHH{NmE_mp9g8D-0)isLPH*s=>j_^^s?{8Rt8J+vO zEHuF7#(95KHo||;mHG$AGyK}2@++ZY_-#@vAOAeo`bryMSxcvmRNt7*U$Pen!-MEs zN&+eED)xE$zQ@5;**z}#*^2fl*wa-&SN(RbB&S6r6lJJZ|RKv^_u|Q z@WA0E_lf7{arV1(`|~p$?^iDjK2B>Fx#MmTgzxUQU;O<+N}qjI`6HohAKsY|_lqj} zw287h>=*l_uDdXay!Z7=(;p~Lokr>8PyAezLZ*8TEuBPfAceCh+{@}#x=~aZTUfvu z$H-IbzUSaw^hSJ+$#{j<%E}5v2qdDIF=BP83qP30tc9pMY=jU7dM(kuW_a93@%_ZliwmNn>^K zT`p3Q5%bd1{N&tak+#^(c}pXQ57@k}USVc3H2f>mQg3Sf`F7k z7Q7!Zi%K1!sl$!5(hkg+o~8Uu*$+MG1d6K(6W2JZmcdZ6xP-NwU4ZdXu5ztLG^asG zF)e}Cp|V#X=R=HX4JgRtyfkT7zcRU3S1Eg;urYl30_=l#Ky&Eary%gzSPOYcIAtn{ znn9LANwC|RlzPFfGnur;vxB6E2FX`Le|UM+3vRP170&O<+9>MSao+a|9B-T{PP5pAa`QUE!no2j{O4`bPXz4I^B0{coT#q%(VM*EL@#>yvQiv(( ztlJ>LciiKbS; z$|7Z1Sq6*40zQD&Qx+hmYq6L3@q7w&z;ISD(Jmx>%tb^5PoKfbw&v}`*Tuemr)DFr z?tU3Mk`RW}&6rD)b_R|QLym%)5krf9aSZsq#SvC6G6OqoqB3nGGy+ikPDi3;oOWQMs(yWx1FQv z?{oO*E!mAHixilIF;MFs?l9NDOv%bTZ|qcsU*ng0iaReHeD5*I9%#po%(SItWk1Xw zeBGJR`SQx9pC7O&eoW_P4HaaqM;Ar!_qoZAebE6YDNGjw`vN3|yc+R+Zg8e_&eK5) zoh3AFwh3E$uc){F9am)3wJW@ef7f>Hv8am;;S0qBRm=|&FjI<=Ksp#0m7ndZn*k>a^d-=xPQ(8}JYUp3+=`7XvFps;88 z;|11#Go@wt-^yFSGgvA>Rl3$RIWCPYEI_+#P9Q-V-@`;$Z)(a6l`o`S69;k|7&ja( z!y&ajDu=;4(u%Hir2g3PLY`z|eAOzo4BD0M&hDP&IYHff?EQKV!-q^aC><%w#V?P{jj4+_%n1hTS(e6Y=uqZ+0ai^UTl7=(atE(XH7M!xk14`??QG$!Ic>4oZ%0P1?bBr(ra!`>102JX)9 zV&CfVSYVe5HqKX5ew#cGKRaqlyexHUvqqJ&NjF1^0@KeOG|bvQV7o)> zTCZ3Lk-x0fqv0QZrDB1Z*<|Uj{ax8=Tm?6hy}qz(RuJ%9fS-%6V+Wa8g`rS3H$G$* zVP03Fp%fG{Ukx9z98aV_Az%yADO;)C#D4Uk)j=Eo=(w6fpL*L5$AlB2lbsupbs^Xi}stU@J+C{?Sy_9U>Bv35+L_6ke}ZEPz5Ch zaghei1G)EwjJ)yb)@9%0wC_5R#S4+q-3Pth(5(-)ao6T>u6YL$^ZIL6g4JsKJ_cxN zegETK3-Nzf`u!#QoPpzFYy#qnzq5VmpPhoJ>C80`AC%#?wJs*z)KC!w`UP?YCI$Hq zJ=f^$1Y2X)>Zh}I#V>wM{#TjuS9u~B?{$y1PgLC@ydf78yoc4U;x#_dG|gL)M9w?; zezX_ARbE5tZD}k*mv3uT;X*1*iss!orYRf0YYoUKoi`sAUAm=W(Ij_@hbmHrdr*ht zy~$lEx-NHttj5Yld9TZMu%@I>=Rzwrd`@Zfm4AwW{Gu9-SfB^-)$@FROb9>{2>80! zU@OBOboT0ntDm9;pLbi$-z>PmVFUKS9pzP@>8=hk{0@>Zn>F zwH9No#i4#yYQy zkgW}L2L{i%_kN5sihhad37V58S`)j9rsn8%DW>(`9OAXAtdi0eWf+Y6IP{w3dk{Ll z?wPspda<1smPA<*WFlm37JI7Hvge^GfZ=HrQMtLUr}WuYqYw&7AwEBM4bc^!((>e1#J9G zWK6MNgRg*KC;bs@$^Y-s3>)Yko+0k#x6x@s20I}b&w=rL_i+32b`#d@P1cv=?_{7EFa=8Phe7gQ z-u7uoH#iElgT|HpA8l9WW0m|=1ZquYXl50$jg#t9EI%V##v?2=mPuQZvp0Rp_^?W` z6|AlJ#MId~Udz+ZA{^|8jO$21)wx-|*J^06KeOv9e?tb~IuU|ILJ{)jy?_`~MD7cm zpN2IDZh{0Iennv$_}W3Wz1*AF>)C|Y|Ig76{EC-eZXn!#hNA8(i%1B2^5IeRP|wAEbk z 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%0DXHaTj!rq@vm`lS5MxH;}_6`w_NnxbV3&S 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

W5~d1NEl9uK#Iw@7>$W=0A+6t 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
  • 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
      m(1!qKX`wu69u z%RJSI^;+_gPy!RC%>K`b^IKxHF=UmGFF=X9UPpuc1ZFHK0jjgU=ejEbh}mH5UjeAU zg0_UQGkG;v@9G0$eEZwlPS|H%rFz5ijP5ctGPu+iyu>Pbs%fGxXMM%!xIcb9VRz8+ zZ&{qaPCQzIG54!EyPUSm?xOz{gy*QTH>B^%)93$W^(p_KDI-nf|C*_U!js4+ zqk_P8wcZ9nyD5=h4J{JK-xs1IGm;N>?`YaEsz*T{3C;H_7RiiIM;!e*2mEAn==0C( z2atUvaNx0hQyNwq_7>9Wz|dlz(d^5#N7j&~v_7UuBk>G-KoVKi`YWTHJGNOckP%uovSju>_fJa!5^`V?!&>g{Y_O_ z*BciIPvXkt{HCbTwNEu%a|^R;&@dNR-x&DQ_N*V^Z&|4sJzIIEJk+j&TA>*ipx(bC zFh%b#gz)|Lz5g}>wEtZg#>C{`dJH8SxdnL?-x@8qPQ~UtA?Pw-#0mHE@IXdk6GNN? zbD#ixJnymoip zY7xAmzs%G9>FvY;mDa3dZ>fTY5QQsZq&sx0ZjM%g=7(nZQ~!|Ma|){Ja@KqDw;ZTp zytpmyz#k#lm8>$&L!oqb6a_Df)`EV`rQ3^HZ{v`quq-5w9&{v(%R%aqM(dv)Nc795 zWPzNgjOXntwD*rsIFV}+IH`0CzJ0NhG-U{7&A(bTFs4_ChP_JnWF-di^2lp8>#aa( z?^!Fo(^1GMm?LE)X(O3X%qSR9wop#Ur|%)LrNpLQ^uxYl*n1i1Vz%0Dt3DABcRx!9 z9WoPQV_mfzzM|sLl^vigP`l-oA0P>WARGjTEQmoQD^9cy)oqL1F)fJ4;KYiwk-!pwb2gB{P9BlV8rXteBeey(WZhK>KUz$agP+p zkfP_`m-CyMzs8M-vlbYZC)g z17qWVkFb>g=TuU$fEIaFkPk^|ZudO*Rr}k5+kQx+{UQ4uTeVI_;_5aOtTELHu=#$f<6gDZ#ViGB@JoB z+7#sw+pN%L>l@2{C#RO0!4gduTFY}S5MiFb*Wt{gw(V~WZA7;}lZAdLEO=WU&J9s{ zqI!mcqk@ILqrPo46TPFIK?C6oy#M3fhw@$;p?@DW!~aK)o4?-uKOy_#@0R@nKZ4KC z%c^ddNNASbdBGQ1r3`uAsKq-11xUo;!2l@bfTXqv3#jtMVOj)82Ph=)7##k6f65}= zHhjQpfLq`;`+acxV?KG)EoF#7f?)Qwbd8xVk9*hq*O7NQfMNRt0SS0L6Z(afnWL57 z0guqZ@^*b%&VgUFj2OCwdn{7To{0n;=ing~*IU$^)glBzyys#ev(FPS-Kca`C^29m zdGyyIt(a9>+dt^k9s}1lkJ7b#Dc)?(C7Gf=JSbeIn4-_o~1~-9NXszKAP2; zaA~JU1r_CFX-$j}6lVlKS>=P1iN@w8>eB}d*)w|{W}sv~I8``}TbY7)NHgO? z(jSWXW*iB>Qmfmf3Z-%e8=yTe=g|I$WzniYc3iEg2qF8(%aH4nI$JZ&1!a@AjEnT; zLBa}=BCXm45}Ew!!wvAgK&^8S*T;T>{5IwzIQha6ZBDlKt{hHph+NAENnNIn37c1Uz*2emWtz!TTqGI-|}{gi+=eBoT1|U zU}J<+!iE}v(Y@7A_#~6c1r~ws-Z+ubr zZ+S8Q-IT6o=lpLTnv#qhvH}XvfHUVp{;B{*(Yz#ZK{1Uo$Xr=psAzs@5j0k~!yM-L zD%$U+7Els`sy9CA4uZL4Z2aLD;LUcH8kx;E;KBD}p~^XsAz9BIj{7T~=bYztH$A;x zQ2G#ToR`xVC~$^1d)`C?ann;?AIw{Zef{1b%qjbuZQ9JEV;u09_$6ywj$UC-*0cge zY!h@cGWFLXfDw1xhjmY^+dr2`JHl>$}!Pu zWmf3uL&CAm!X(pnOICJaImJe68K;89CCfzRSIutmafdol?H`{zjL~$wJrA1AzWYW3Jre#@J^#Y z7xW{XMEc!~fd7Ay_RhhTFWk0h$F^b^P%3hNtaX=iGF&4;G z^G@eWo#_aceGe_j)Rc$W#nq&gHXw)h3Opz&%k}pX65afNE~koS5M03bap^j77nkS7 ztz?LD9xH{AOlew6XD;nU)Y0wM2-Q+k2axFg(XvBSlDO#0cnV4MBiTWZvtD3>5tUyILJz!207 z&gbSsAWE!laZGmvEfqI1k6_z?T)Rjl)R3Dc9GP9ga6^!egA7rKesarwVMz(a zeUE~q#db~2njuxm^3%oV;dE98$M@|i?@q6mEsI<*f6sFuD0AsL$-rS`+62R&pg3f6 zq>wUmWc?|~zh?SW^#O-%q5I^qI+&0LXgX;sjSa?RZ1&j9X`Nf7u@~6L4auFY^kqQx zK4(rj4Yc#X+Adfip-!+d%*iZN`~*SBWaxGpAWGAfqRoc+QV}gI>Fk*&njK3>;V#jh5#*TD{gG)l(CFrN??RR(gN2ZsBss^&C_*cmoA*VL7cTu3E<{I> zizU?D4Abj6Q-z4wtTjaXTID0o7cRV$>DjVbCA?y+EtIf`0Qar9M580IDxEVV!*N)Oz9<&`pn}<*3s1JG zae2SOi@8)gKFP-#f3?j^a~4ZtWdN5=*;y^RGJ{)sWG7o@g^hzECo?a~gC0L2(@#3K zmjr4(CVhEbH1&5DvV;Mt&Ucryl7354y0M?iNWvA7uBOmnB1;iUrIF0yMG4bw#u9c~Wf5Qd4Ip+AP|!53NfNV55FmE3 zZuC~*@1vrcWCPYn^r!%0q+i5UNJiC=_(&@ebCd&KNSUH-n!#|ywn#>mkZF+)8IWmF z4k3`6qKcwx^nn_nd5{&5JffB;KpZ`5NuK%);-7q26zopqUh-Ux2^uHk9f6HW@~W`X z1`d%bG9#<PQA}BJ>90@M|_h~sDzjfiNW~29zXUl249b?hIq`5d(akUgP-5TAaP#Q?=&vEMdI7=U%Q+ZVL{KraByWo}6p&3a0_P1D%9A z6sd=8G$f8l9;=Jql}#rdG!Fz%mjz+Rnh8?IstEzY!bMC2dy~EVzVpMLOMeW_>v_vm|SS&rJh(1!h5__hF1p zz%XY6F-$msWXA)<1G4~8zvpC_mypi`(#*p9HOA6vCw3_yk!1rkOv?klkIez?Bm%5G zC8Q-#ZF+hJ1K9lqtKz>B_m7+`$rrU%_?9v6cLiveZ+XU`t0wCpFf)7wM zp`@Wo5oO8hbPB>;yd_)z^P5y_8XDplXb5Nts0w5$a()2+GgbdAK@TKVh$~6_+|5>fHX+k1~h)~A0*Eb zK)m02NjzG=@lV}C%7UT?W`JE2@&xq>F+%j-CVlQg(mWHuhtLGR2?Py&E;R5UDh|@T zNs|hH(*EYKu>&H*hN;xF4|BZ2`US--8$`JlQ2*!JnFryrFM0%9yd!ubr&aTa(=R?w zAVPuV=twE!&P{ydS><`xD*jv`1_2*-{G;sJN($$bmH#1>k5{XXZo~rG2aD`dtO6F4 z(THbD3(JCI&l!Xt0z6}r%fvs0D+K7!XX3fm5ZY%;ksBuEm;m$-Wl4o~C*v5s?9VRi za#|5In3kiiw8%Rvb#s=de$pVvgvDUzr#v5>))a}7?`x-Qr2@yercv1`AXTZ^)ebYb zh6gMbxFLHPhx(N1Op6xqe2^i74jML6+k`wvTt|$!ws@vTaCOq81j0@S-ztR~aK_C* zrc#j0nU|s1f#mM{VehM~G4bu23pCE+8aM9@?|=dx@_bm#iZiq6_VLSp`3^fgc@1vy zb#y8;YTsgRLOWq^I^Ab&c!JpCy91p}2&pUh5o?La8=pls!ieW*y$$K3agXB(c6h~C z6H~;~k_bdYs+YPU^kVMXgbJuQl7QMC7;*kOt*R2fU{k=>-#@98$uKXF1!`$IML`|> zqb)Ne)NpC%1T*LWDyHq4Fe$McPVWS!?C5p^ z$*cUGeOb#E9SB5cem!kf09HbYsEWoVwogf~0EQ}yY{q!)BD@ijJ%BUH7$v%~n-kN* zTRguOX?kfvC4@x7SpA|1enDe7Dzw#&Xa;plkJz`P*VG&0p>BwpsE3=FVLnX)y;ZrFY=&M&rzYw9_RH3Jx;$I7;E!xQyEH_v zH6mCr3Z8ckgnBUdm4nUO5PV9Zb?H5W%A;($odu9(-FV46%XRH8&K=oX zUfElAfz$81m?iwcVTs&VILyQx!|UkQ95DQipL`^mm814tBQx~t(<0|y8!;d1{Izv4 zneRd8nT{>tvlO;6Q=E^s?^o>eUroBnyORNaZPWCg!rdGVF`;=>@piUIn#8z^9(x>56lWtaj8mJ)Q+YVYVqooXSt&nHI6Q zxt^!#cIia9V9B`bU6}*V-rPuH1u-QBv3W@`C5_go4i&5kcO$8+Q_?Kc#(SfolBUeu z!R2rjvm|6QJPQmQ85x|~dMT@~JL@to2_VS&3UMbmGj{Ox9o*xh5K(fcLEO2)o3w#+ zy^X#)Im_m3vBs1K&W99-OMg{~^!)Lax-KJ^!!BTEcBVs_6 z#as6LgoQJeGwS>Z+maDa0cec3AQABf_i36>YVkY)GkYT=n7g6`uVMm{W4jMC3 z#+q@!*JpLc00n^OGUN6mv@-3fI!{i-O$S6&E8HGdUxNe^qzQ>YL6eYM7sPN#={wfCcG506C>`A~&9IgksF0z2&>FI zJa1XJT@oaBmaVQZ$+Y5%hpFgCXI+dTF+p<{9x%@l)$p=57oy4VQfGT`I!U)i2WO)z zQ@g9at)Q4=Wac0)Z*@m+6Znwq0_Qh*RMH5Avw^d;z>}0Yb+S*AU=b$#4B-YEqXO9}oC{s3Rz-CW5Ikid2 z7JKyPb1c8=m9=f+FwIdyLhW4CTuw>`p!p{&8TG$x#A&b8Pv;{n?7g1ZD( zinaw9+4jSQ_OZ`10|UM1LSakS-|p`!x7=r!yN({D^^*yV5B@g=P$ zk3aA6sgIs1)H+lbD#9Wwj4bc9n@sP0q}XiK;5I1>y7M_wJ~rE$Shouag5)?w*?=_C zNDby~QFvKFRz}E;MlOr)?n$i$2A`20^P+_$SfB_zf!*llY)|e(e00A1hCS3j#xtD5 zaeNVz;uVy5eBBA&*p80c_AQd%9N;a`pRGQjMo{^a7(*DyNDu0GL*mGOi6>j+Nv4l1 zO8tm#8u)O7DZBPWvHAh%AMZr?h#qbY$r|K`wjZ_KJ8LnKrb~XIPJG|eAB`zyIIrCA zhWE5l>`As<%l90rntxUdDWYF-oAcBLyOfc7(EB&goAnIN1e zC2rUPT3`&Dr#eufh~@;&n`$?ut~GX2)oYVQWqRKOetxV;*>*Nh`gwc40N&MwUFDt} zTSv=cpU;PN{{uoIMSD?cOClQ}O2SeBBe%!HmF5@)3x|I!GuP)FH|#vhY>#3={!k0G zNtuIs^G5C)m@CF%?=}4QjC(>@n@QwrUqtLHO#lB6(SHq{{@T+1j|QB^i#v)d;wPW3<)<(z$`MG`5L(dh+bus!73PRTjdbKp) z4RGAk+jOs3_PXr?=&4L0?;m}B7M`8#ZbY*65H00^223M&fc?E4(+nR|?FPd8U3#FOyJUZ(-hmsLr^tZ z#id+*8UHW7r2^%dXY6=8fvxX(vs&(4t5HkR+sH;!X)}e|mU1+2h}Ayys@r$9z2r+(iR2bl zI@!xTRg2mYwSuDg6u(J2d6R`>D0hlQFCRkstklwAmCb!X8&iBkBH)965w?{!j(fOd z5RI|6ocjzdd*FNKc2{)gPm?)kzA-Kqh6dyl6hnL%nNDHc z6D}jFOKltw9zslyQZG4lKwN`3PgP|dVwuX{w57gvv zt>$C3#aTvfneQ_y$gJEMVhSqv7XwPm+#@n?o`?D{U4y&+Wyuabj#Hj616NJQ0XfG9 zvkm>08OsmglsuN@-v>zp^z=m)GM{OtLhC#8=~u4Ingl58*i!4FUCr-VD73ANAZ zN7C#tYbXrHU@U7!wSf@W>UgrH0TO^qC>E>*GbrYaQTnh0dlxdPs&qPt(m?z5O_9OC zOFFF)R0kQYSv+FeTxf7G8*F91WceUE6wMro5!s-1sMT?b1Dh%oQm9Rx+JK8~k^|W* zX*QVN!0;M9fErUx6CtVJSd!(}lmm=NFTpCnNT9|dd=Fn>& z9)SR<&@#+_{iz_leIE#H91HK!DEY4u2ZF(O*xBcLtXY;WK?D5uD>8-3yJe-V%q2OQ zmBvpUNhCduXmvSuxscD#hzhN*&}eui$qQ*=a{*EpZYEcBzv3|CBO|Quv7i0ajMZxA#!+yv z(K%cQys^U<74LjF{z$a(Kr)dzLyj99;Z3v`+9NLC3w3qWnp(W>ig6tQZa~3wmTXXZXWh9TY0cwc6rj)^@q zMs8baXlz=dCJVqcq|3oxkHtZ-$;lZCCzn!mOuFT+yM-_^cXH|{X)FGuhjSHEP$Xq* z3+v(Wu-VSuWA&wjLvCQwhf&TOoR?XFZQI2hE)d?u9V*8j3t9pB2sm?u!nh>!Nrt1| zSi1rzd%TcUG~a1*^gq$b4b~`vP5&`C@~0_VCbX+ZTpvUY=mycxz5;u=G#zEWF=PCR z7|2=?T=}!GE}0imP^ZQ1yw^R_dENtpJ8rA z4dR@Fzb-*8WwR3&^Da-l+uIu^>E?bN#Pe7+3d8YQ!Pyf-@L=~p`@dt`acFm8!We@KM9AgH(R|dZ<63%lUJ2fIE9WM(PdQd^ zCE9tDK%H3Hq1Xv#vbntTcr32kSu%cnyuTxSLwehd{}w?sbWJIe4nP$NCYqQVottIs zV;sB297G)4hgD#NWf{U0$CPK`9d`%?{B?Fz=?gtNe)(ChdAeb`sYj?$B+(4xG~*!S zq(d%1D-;G9H(=M4NI#kILE5msxTb{dt|_=wlPVz`AT67H5d#m49MoWWB}l3*TQ)*6 zU(nqoc&wQ&Pg;7E3e8(VJ1qg8MqXH!I#T%1_n~e0qkHBfh}(+27ZI0~QQ27!=Asf} zBP5ZiIYiz6(eX(rVGg>^zD)0!pAuC&VB_n}6k(Xw&QwL5H3OI`bZd|^H+AR(!2m^^ z4Gn}QnCeDXyL{hY+&Zh^D;Hlswz}Gt>y`VSy`u7&nX)a`aJyOQNV&nhl@ipXSHyZNyEG?$&0l(|lZ zYMeZ?PRxu;m4RZZEKxbS&Fm>Ow@L&~mjSB zcH5!VRFO~bU>GMxuZWkyD`hi_2CApXqQzELDpz6&%o0g`xhgJ6C26|n!T~jMU&3*Vv`{mk7yNwSKRnCEwQA@Ao zgUJWTv73cat6T9Tb3tl~qG#j-_!0J8N(gZB6n${*HI~r6LYnF(?1YV-`t}d?B7Lzc@K@ugrnl;RLODCk$*D_ z9YV^_V#Srgty1$^q9L~t@eu>pHpofts$WAxbv7a4Nk zq5-m_y}>xI27QUM&#n*wT`+z?0UQM~!FTw$D9D^J++4y*mK?trNF9hf#6Y)0Ac8^d zLm)yxx5L6jVYkEgg@LbzpqPRh_W;cM>^;wD98nC?Z-4i5+Bz!Ie||9oW#IoQ8nXR6 z{ha?T8vehrP)+aeSeOQtk;Ry76s!)jWZ6t!&ncH2erp6H76Gb^Lp#iXJAepI&SJ&< zGr#BM5aC+mc~_$#rFrRJq0k*UQ4qZO&f)M^_w4#pwzI{```MMj50LnQRb-I#C6Ieb zWI`z-LedA|Ze>hJ8D>Hm++AhRa7iUX>IWd-L|{r>28XUG$C!PzSWbyRlJOhrQP)_< z*i}xKSR7ocSk}=q-0u#ujFLB^E3HqMYn&i?^c$%ro{g}8lhQ#-VS3taYy}0=%xzI> zx%%I9bj1rv6g9I5I|lTq?3Ov`H#jywr$&rVN4TE3ZcY|&nsoBzab`jH%Us@+L0q_R zWEuU$DcWk~c~PSOaEIzSRi?J8=rc{2+nSRfF4<*`*r`&NHVz|Fsml$rq)mZvrzf5u ziLrl2ay47^usm)7B;TV+ckFA&TBu_@Mwt&c>V^r~LHy=$pC%?VuoeNUwdN{m?=btG zp;j?uahhv(c2{Gk!fLgI3BLJUsI;lYP7V8RH)RlJx4KoCMABYZ2V?5Y-(YRKK^}Ce zF7sNd;~ohiR&=;ts_&_|6tx@_d35^cKwGZY&K}2g6Gi3LJL=OyoJO@`>1TaG=FW^> zqcWRK={{BrlEbXs{Wznd`^05xvt2}Hxh>ZB$@D}fIur4cs%Ur9smZqK{DT>JtH=fC zvP^Q*2Ug~-oD}bgo-%VOH_BYdjZb6VO}HomS5ExsxRJ&!;pu(yZkrsdm{}9*c{nCg zko(4aP<1YR)u~=pq^LYBn?jqZb?2ua8z;=N;H>YxBl)}N`pVbz{ECcWozOMJrMrAp z&{rZxmsDeha{Z*2G#)5t#xDthVm?)dKzZWvqZR|UkawP_TDD?0{Lz%D*ybvjD(N|t zPIZNv=%V;yM$*2T{Vj~0umzs(QGS(@{nT8c8nu}&M!%(^0q~@{=xB+bXnLf4l!7SD zNwpETCwSz^k)`1bR&2sF9fpkYyn$J`p26L}A0+C21bYy-MJQwjaFZ>(2UU&>%>Rf! z?{GVSoVgMx$i~IO!-3};!BD8%2@;6^>{p15WMWOyutZ4Ub?1J;lsS_qCq+xO* zEj;BZqL^8WV8JE6LPWscfc*}5DSagDK4}pBev5JLyHk8(32fP!FnvR8443IEVHZ*P zxM@PGLibQo>?RcRvx2);{AY>D?^U)^D+!NhPzdCejV3SQC(BvTIT4DcVmQ}1kW)D| zyde&|hj@0}q1NBt%~3)=G6Ge4r@PCI!;>40KrS*lHnU)JbT{E{?LqkG)ch4Opf_|c z{C2G2-%n^ZG_!udURfmLOj6gn5X(}LD9L8wi{q8Y;74?Yd=(PHVphekq97# z-9BCq*t-v2gKyB$ShwoiC5#IzdzvlUV4)><&6Hcy75Y-p;!&3s!MDB`*&e##L-NYb zx7xLp6E?)5%e`r0{r#NCu|R{iHYtuSEe}FrBWkdV-OU@{qe&N%XPJZ}4Un(LPzT3o z-GI?oEj=IqmU)m}oQBN$dc4)I*Z=(k_@6E&{tYhw`v)NGYGrHspQn{dRImQpH{eUN zbE!0oCXfe1O(?V@v$A*-Y>+B^4j_BA3O*iP=&_X(hp@u{{J0Gwr;Z^10QyiG`6K-$ z+ixh5_3O!gmg_2ayQjyXxAzltu8+LHF#S((;e6_#3k_tDX_lZ};Hg(`xXG4dc2qG@ z(n3Gu@gL9M3iiyrDg>1!8x9XUz{f}e~#B0yN~ZFvDPTU9Br>U9KSOl@0DCh zbRhz?^dq(jZ4c196V=5;*SgeSFYU@$TAp|j-U}l$9WL~cT)d$Qh?Croqfmq&MBz2AO)Emp0NDoG_%1r7t8R@Ww{MaNg@E}_8NOnc}hv7%Jn8g~V z^YYIL>fnr>)H)prjc_%x+~1%qphsvlFkCp1QUA?p{5tlI&@`^c?k z2|D(ICY7y5*J)b2*=a9->o(3e3y+N z2d|;J&Mo}ez5$L{ZjRQ72%CSo1uLcz??P|jBZ+|3G2pqMU^k9Aw-bZVF+#qF_lTG8 zsr~4ev;2>b*AEaus9DUt_O9{xu>%BZSmhbs^7I$q(BCk#PtP>q;z~c&w>Ow~dP8MC3(hXv^!MXgC_(IBW4)&s_g}j3Rl7!7 zt~^p_4MB}WJ`tOIJ56+uzIS+?jjdeNE$#*Qy-`Kp3$R*nHnH=f#L}rsBI;U;Hr_XQ`y%?Go{8pGGEG zr5~3ZRTqPiVHevNx)e!+F@gtL85p^ZW>+5?%M^?j#)A;WlG&b^A)n9$iUwHS?3Z}# zh!^|2D4T=st9L~Jf#c-SAN58#T_)chxJo&i$X}4)daa@=IfOJw3+ho=``|af!Fv3g zC^O%h$~!HNyxFCcDpKV6$y; z8mQoO_<<;|VrG1iv?nCq>$br$0PAZ&8q6(~G-jAY-z_%%OO~?t@8B;j170fl#TUi? zM;qn(cWm@aPQ}dhuK@Vpv_V6Zb-n~uF!`9Ql%@T(h3GhFFizm03&AGEehw&tnVnNI z`a;XW_Qx-gs-1QU3{VjGE@Ndxa*O3<-$-y>wphtXB#)au{h7&iemtM~czrJcHiVYZ zckxEL-K)S5fn9U>O%>GQK%O>JLekC(!tW!nkKXP=o@hikw`VGby6vFCSc{d}IOeZK z^hph3@4BTfB?WpuVgmenTUzpKQFYi2QqL`FMjJ_66B0{IkD>`Xep#R9>;8%EJZwat zi1&gFRe?-s=GbvZq4aBF3HlS-pcela4VVNA9C(o2f{1a8k#%U1CI#dNIbeP!H<1De zTuw&rJY9^$U_z#)h$f;-jhfTE5Wo4#AeinBE9j(G9fsl7b)>(?jsl;OOiVxJd<#vu zkjWN2fkjQ{Z2cTXf`sCU$Gqb=rJJ@&8k|@tsBS=9&BzAg2qzx759Wv*f%q|FWN@5e z62BGCJ<{+!5o4cG=KPgdkVwzvoW9#$7N^B(Brj73S-qa)zyo15evxH{DtYP8t zEZt3tB_$RWhNxAaV@C+K;T_DT@JDqBQ-zh-(HTr?E*ICYGu(a26&?zNk~*v9b)!@? z2C4SA;fAPvqN+~O9-78xI7}OBX#K3e{V0deuI#v`(7pb<%8D;>Tx|Msjm3Z5!TPtV zEZP4PD2n{Apr{qu3ls?>aBl>r_@qqRSoyAUt+M_48@@EG2Qb88zscddXU{iOOqky> zJvL^|mCFUTV=lll1lDS=SuEZ2zqFJumMKwQTkcLBjnq3$2({JJ2+e^WR(~i-LPm%h z6Ebdcn(*c6b(dZKrU^J%;exiQ%!s(-5|_M@0mjNO#>^O&C)~rPo9+3l-L`Fkq@Did z^Yj0Ri2kQ*$A2TD|MKYn4G#TlA1aH})#O*a;=)2|tzdqORb7xEu(Dd96QME}S;cPp zM&%Ik+OV7GpFB=~P*vavg1$K6sg9Z~Xqn;uu#6nvD^GKGi>KAAD*>RUd2>qZSNfo0 z*O07D7e0;+V?#Y~Gs8_@*sN5u9Po>i-2g~wZxr`)#xW862MPPJud97PN3*yTgvcV3 z2%(3$0ypO(-iYER_Lse_ay*>B;(YFQ^)NGeES}Bj{gPI$Df9N)DbpcfagI*)dru!0 z2JjCH^30WpC*Bh~2bG2t(S=r>pMgXkf^cGHYPyL_Usc{hk|H!o_5)$nMgpTFqoZIy zW@y>$a%(3x>Sol#01>6L<>nsJdXEHqSS8#K4G#=z3Kysc-q|Y5YNwl8GSgHx?)Q3V z(4=T;M%DwUN{UJ&nV4I&CRlJr_E63`LU`_I*jq|gpbrM+g>u4%ksfq!CLK^d{5A!pphK*e4kA3GK}x^j4#rHz zSBr3kujY^3ag-=Sd|C`!|64L5dLxv!bX&IEoXP-i4Mi|nq^Q^g!qN`rIV4qB3k^VZ z@6}3fRPzDMhy%GQ)sSo-=Mr!5juNo(H%^k>ZI{*L2{@3|j5E@XM%z?N|E*#5J?-R8 zTk!<9CSS~=Ta@Yj5aBPAJ8GNMg8uThxqnPVEdNd-`rl3NUq~tEKatY*gmeJ2k|FUk zvy07o2XS~LlMzgWjJfcDFso069Se?m)PILcn=!3zqN8a?UA%uIrK|UcKcfoY$Xl=y zhn0hf)M)WmFpG`%>sBc77)|v(dqxdd82ekcuP&I!QtdjGRLj*X(*iu%G%@;RHxH)O zk2`o`QIu1SBAJPAMjkc@xPq9YaeDT18D+iszk{*WcAxR&9-!>BlQTdVZ9XHq_;y<8 zAYHYM+*oYZ4Q?|bL?Z_2=pKOaN^iTXIH-d~0qnT76O>uuiPtT)O!TC-E$TC z5Q`>eA54AGF6y2sjE_|;v|mga0QOt7^Y@YHXnjtcU8tsYygGlGWD%v1o7SR2{m&B% z#y^xWo!b&(Yh}KeJN|9pIUeOK3DK^V8&vF>8}7-jYJ7t%x6~cn9M`aVdV~s}+{u%q z_+u6(2$C=dX+(Tni8a}a6OtR@R%)~!oW;&d86HPij-{vh?p{T~o)bq_#)=e{&rxfI za#!#BL@XlmA`P&|5OzhNFXA)5a}I*EwDDFrZ2rw zK3dcB`iCKdIYzdio{F$v&MxbCO3mK2xJ z83YL0E*j$y1tgav2ZJO;au!$Y9&@YPQms{AK)(K$EHEM$QnI%@I5pGt$Q_1n_Gu3foZT>{ zdhgnRaAW1=WO*TN(a1D22e33VsqO82HTBBe-XS}OJ1MK9LgBm~)S2bt=JcgiJ3%zA z*Cxo0`@qLgByrfKvFmY+FHLSJyf&#$*$=4cS&TxZ2!@sLU$w~t5P1KN$e?l z5jUY2<6NpqR#7-DY>Duu?qoKTlO0nrHSD0Ds9e;f~|x}7Z!M`yq90Hv>)habVXhKlw$=$ggfKI~g}I}F8dIP#?lSQrM{ zb#bkk#M5oM4KQlZr;P@9@~@!=7`M``ZrZVfNHftk;p%tBOQ{@&ptVRucuIF!KGAlERT|9)cd+_k&$|B#TMy*LpVqmU(9cuiyAYo05Pgf=BbD+bd= zalm5&g9)c$UDJU!2c3eJ+->paY1HiJ1L6WYV-BF-2fqb|24=;oY-2DK8NtS%)4%0l(R4(uX9uiR91j|kT!@*PfFzfghh!(g zj<=3lzeHH=Bb*?v6n&mqnzxrwn%93mi0IZBS6GMehte0RHcZuJuV6-$ccI#*Y;9w; zXJAh40XA-&=Ja%-kLKi*+4J?Nz$bSI8+gsS*+e2cqKSW|R^H;(=P@>g(r<1R*L0TUiiSk0+DR zCUZL;RVzb;whGV}B#K`sg|HKm`Rz|sOhMNT)BQbmo38sx*uqVNX56j*+|OYD`N#L8 z>8UIZmhXqYey<0kvA~+7pk}nm_1YsgX1cUR8Y3ypHHih|;gfS_q-MpYx^yITCW7MP z;_Bi;{*|sqtr0eIU8??T9S$~W-#FlSBdaUXYxWAVu(ntkmlr!)Sl2hq8sK`hEG^>jHGvv;g-_PjEK$V{GPflV!kfj7$* zYQ!D6>=XO8X{<`6(EP*!K18fBCCiBrm7h(rW>8WuN%YE9x8S+kUb4?oU3?1B?%6Ri z2VYprkg8g|)kwN{+v=TO*errO;|fbj^KxNUZy=A#UN@GR4VCLw6SrM*+VJll9nrNe zGe2%h`4-X(<9nj|>+N2{uV&l~!b@d5+8ouXgU-4}%fdeY%F%w8#BSoGqw#^4*p^&} zy%feXOhb?*Nd-$}RteTUtL5Zgs7C<~*4%kYbii39BbXm`3O(A;O{b1QXN)wQI_X!5 zcE^`Aaf9CG&*qY5*@kMKoRuW)4wf`p*kde{2Sr^1R%NYQMH4WTi}c@ir;|;tnez<0 zL(E3LL^<2(Y%!H{3yS7zbFF%DD!g$tNnSC!)Jf-iO~wz-(2PM6~}P;Wmg~{Px?*e%fb%=#d}ksE|K%$xw6 z5Rvm!akbe=Q$bs*?a}9y4grsD6 zr4q5eHKp0%&G81Gm8pX2%pR2vhDNbLc44n(?<8Lz=_)vws!`&Xan4Zx859|ia8c;6 zmQ&ULI^kZDSjiHRES{SXQ>E5k?tT6{u_GW0uDNrm1rX_?>aIq`Pm?|khA}L;Uz0p< zuyu9F__Kn2iKV2WGDCTJYwGvUbIsDsNbx-`0m!?&U==c5LVz&T7V?U8+gFP(*cEw2 zW{nhp43#FmMhjqu(jnEQH>wO?mGbBgrUA{~VhIXdQ%d?Zv>@U%ecyGGG3RF~RIOjf z9VwM3c`!QDwIc0CW4^y`M=g*6ynI^OffDgz$JB^cJ*9las$hM&BwJg3nb@>gDS3>_ zY!rxLi=eq0nvUKiKfE~oNS7n4A(z0p%KF_JaO$^c)PtXvcs@m%Rxe<&w$E+Ndsz(S zGDG@NB^2-bi-~2vdZnn-S({v8fph$s#b#b7W$#$3BZI2bZKMGp)#$fQ>h2Ea zC_&NbR_nCWvYPCHvJHf{sG#1_$73D-$D`gV*lQ0b3_d+`emXNk1{C+Lm+S7wU1T7r zyjoq15y++DTo?~pc0@ZgIt#54XB5#$T`~YS)ER37OP#sOXl-UL!V@}B5iL8;94rVO zw~R1&AI&z{pdX7tqiCW(DvH15~H>>0TxA$Z)S9ApY* z_~U@WKYPtO$l=q5MPR`>rD%$2hH2uF2uR{TH(T$1Mjvd&>KVM|3%z1_^9O|SH(a5> z=9zhf0^_kJ=6^g|;w)PCSzr~Id}0AG zjo0Kp5rDJ%L#N!my$Rbud~IoW@}eX4(q^CBPkMlBL)z^j`YjS+VFXHqxm>my>xyG! zhRFc#5uyU(RRCer+$xyEpqPn-C2B9UK*+jDo1;vUJ8G{FGb(>H#-Nzd%IzGc{f2O3 zXx~>IfyodI95)$u)5XU7RQGT@K;5(^T}zr$)wHU_8HE-a7mD8>RqP<3QoFgpYJn=? z%dEV2!=zx!tH5_xM>QKpJY!D$dShh6LZtAWpCLxdg2i!R+FZl#uwLHsW~x4Py(qA0 z8x2K|sr9r)3c?|idPCQkxT1pqO}>1PN!MU#7FlC>2&vWKI>kb*UZ^Gg)NY$Z*!f2g zZ#rgV1PX?IW*CQQ+%Co+$qBBtzWfK{cj| zys~vUyOS}JVf>UHR4IbIheR&D#9cq1OdWc)nLUInyyH$YSg}ZZkJHFagU%y8)oPRA zIM&t?T^oo_O+}Vwz!}U$mL@`v+iW$j(xkMCDW_DrqfR`wBlp$tI}>xmGd=f8f)L^W z>@*6LIfvSw%AizfGLXo&fYqPMUJfvJPZZ^pS z%*Eb92aho-iH|U%o;4zfnaJjxQcNy`+<@CO8xHK-2E&8_f-reOu-~87@J+~CCOxeG zM3F|6IGg@sTUz`agOT8j=f&u^*jh?t&sY#sH}2{ zH{wI*V1-2l^#y!*giYM;k=UD2V_x7(XX+ooO((+7#BrH}#V(G~@S#*_ii|@)|LF69 zcej|61|DhKQ!fh*_D5k(Y0Kac{>S?L7Bfd$ry^7kUWf|SPv-+tbVgcNJH)OGQB3)E3-ANGKs1XN3)clTZ9%YGbUn|(w%rq8WYSz^IIi0B$XAU-{gb`oB zX~nUn-jVkF-ckn5Ic0Fp-(S^~O^U{0)m`v$G%S1xsfy(xJh9F)gXTz%2{})xk&;6{ zi2@x8U$TD|xvxzNe}mqRY=s0;dilF6H!g?GU-+dV5{vy$qw#-hbL>Ci@BcTHBdL(Ap>-W|ws-}3<$0Y` zmh_*R>tPyPtEf@$& z1UXiklN>+-MIggTPef#-IRF_HFO5O$ofTk)SuC|!ug8;aew<;;8BIL2@GC{u{#3Uss-&q)UN9DBMWd09&`PKOf3fzB(V1vlwx?oSUu@g9ZQHh4 zVWnc*wr$&}q++vT`=!q9+oQW*-}6q7eq-bt`H?^Q_E>xEHP@PJPI4)($7b&ld&(?3 z@Mt#lNEs>)mPBWv;asFh%SFdeO|2q3fIo|!jRF%Y6@J*SIGKg-WJB;F=NPskdc?DJ zX6^p_)4VK|mik__fpakGEAED=#JoR(B>nB$6U%eY5@@n1zo*dG;P?zVVTToAvxNAQ z@|rE+(qX8CbdjP}dSOq$&=QMXx*L2OMI$mET(+kUQJAhi!qPoT(<)Mc#+It~wL2;5 zR)OVyJ2tH>603LU(_BzL;p@MkPLNb6k%uiU@6}uwmnlEdVi|{x@cdBRT1+=Sf?t=Z zw)V5S2`Di|EEdT?y!sw0Cz65cAUoiJnC~n-_ybWUro%nQNYEBrm~>TT5Z=PmFwGIJ zXfBhLFO9OH|FscU(q-tIQt-WSWMGlE*~9n=-H>n_j-j~Qh#tA~h)iv&Y~!mG;;8bt z_`D5K)?4uzpLq?;F3$6t9&$|VP)-E&qhLq~oe8!-q0lh#Ls3g=k^_+5sQ6A@M0`tM zvYLr^2mk<>xF?LRZf%{K)Xq4sGsNaV*=bQ{+qAFmnRLX?-WA0*$`~=qN-q>@2@Gua5DKx1GQs&ADC~Rr7ed{YCJbAq1;QVlKi) z@!W`0Vfh`M+#;W@<{Il!P84bh(;wg*XseYmw~=Ru{*&eI63+JH3Z}VX;BrK&qPs62 z<6ZcDNgVS~$XvX77EYVfSH3Mg+={Cu-)1*!MTWFCvOSim<1iwoKC;nMG(_ph&KNs~ z>E8G2k(F#y3E1&P?<)kZ{x zJr^AX&L`{|HpUpjF|CUqeSQS?zDfS2YLOV*qI@h?{;H6)o(idMilUe}@AHze+Wf+M zuv`4G`Gp;lCQKa#7>H+7xhj$klyKCVa-4LywyVC##`6#a1inF2rnwwQj4I8BE33|Y zMWrxhoH9JBTv6bAkN=qGy8|wuEsiAjQ8PQ8{2lgNWA5S&{T(oSDO?p51j?= zexZNQh|w7yjgduD?5IYPt@)1zE9NAZ)pQTdS*xsL`IBB)1>Kt@kPucN(366_1|>fR zqAmh*Ue5}(lFLr4+`7ZGCWl%BO_i$L;hkq9)pmDQWNYj|tQ?-Fas{Huej6B$s#uRb z=3is=VX6<*JW3APi`-=MKQn7-1ir zo*bV-hQHz6VRvi!XUes~^Y`&W@<~2Q^!Y-96Guq0Q*Va`J$!<~iqkPiaZ(z_diU71jF@m&Us2U-u7<1g%{e>7qK9BL+mN0;cp`#bq)a@}> z>|wmy3|bDA%(;vlKn@U+Hkk(`ZJSMLd6Nv-y}tf8Ag;A01!41h3kdFlS*=?`te+nX zDr=H{Jw2Fn(BEy!Q~aun(p!p(v|2WWbt8w6S&h<^A$9|JZ;0!>5g|d96!JU~bR<0=U%MEUqNf@Q_>p8+ygto%aQy&x* z?C8bOlbym^(;d8fsP5^8xZirniNrAm{i!>3$(ZA|wS@4j`As&5ENJQjYsO3HxD~FG zDS_7cNGI31R_Fq*P>MHl`uFwB@{M?6|Gb{te|bHH{wF=Ae=YKysW@)?+umlrpz)Nm zFevHTT#%gZ@XL9ij(8!Ox-u-YVvc-UT1sz=qqUKoWT5&raz)H?4Jaf85QPrm6~G&U z-UtYe3PE=*)#;o=?f&ZR`pgKghmf|My=*5XY?o3NsUTvnByIm0R|{5Xg=AzoLeI$>?W*V|2(q%rXg-cc$bL6s&+YGCg?{Iw^ zT4c-k#8#|{rUBblSL5)qz)E+!pjotIQ*T@U`;Ok5n;mm{ zbL(yxHIPLFRHJ4uvK|Q`jPEq@2r0h8UdV`Qay?L@2iY6sc{QZxCAulzw=OgE5N`O_ z8kyDr3eaz;#;Di|^p*M{`a>mT09KD9cUKi#{>73Hu^5$B5-m(>3_F9<_~xcpTbmqA_TJ zQxK*aImP0TFd&7vw26E~H=iCm)W_R90{iHg-)F(8dGQcRQ;w21jkbde4w~wZaVfz| z6SWIJke(!MC0Hl<(xw&n79Xlf7|f1w#_aI3nPvF_9it8G-`N-Ev=V}kTq=70Eb|ib z?&lCcyPU3{QTVSJkb?iC2>e$H*Z&~^cS#FjEj(CCDd-Lr*1&5dv`RtIQ2j-rP$bo& z01;HftoI<81992TJ|ocU)7nKl@?xSHFWc)6G<%UD z1^}6HMgjv3kzCA77?#2sA;ym|F0NA$B22l#7Z69~*PSGrCDU?kOo2gX?&K;^|5<_& z^#q-I8qB(ow+Kg?VU`o52p+~hEt}y|ucmQxe)@JRZU*OJdm5j9hY}NZEB{4Xg=C#g zrqXHa=ys@D^B!(|jA+pGNgYeZ01~>I+oC1c$ta7UiQKl2<%P+dT_(9rtKeK;w;R{| z^M?L5L=2iS@DPykk8?{loYf8iuE6^py|V{fR!p~)vrCo7K8!LdsqJ2J|RD}EJClpB+(n8UHMMleJc*oX!wikQ3Ng|YsGTR%}u9drf0 zpn@_HmXK4jM?w>tLrvun3#Q_GEPC-XOy5!Zje%$|WT**=Uke%~3=q<#jY;AZvhtb7o!!SOypY-p(N6A_voWLZrn&iT%cuOW-xai?f*oF2+#urCuu z8XeN!r1@Pa18&;aQs`0 zno66`6}9*4(wFqLS`Zev6F1lzAbVX9q zUdmvL<1c-?90BYnI~ql+QfaF!wtTmJBH!GMvC_H zWoF}$n*>L?Vb~MI2tMZibe$!e=cwV&7;LuUWp!D)wf5A#jzhs5Kn%w^b`bS+a*CAK@^blAWE7< zS%tko!}X_z$S0b+d|;aBt96B2>?okS7%KL{K@8$hq%o>7BBDL@78BdvU?R#)DX0P> z6oK1o6P7I{cPz+_>oO?z2!Lv1SJoJZns^F6?)UZWCnb2@>L&?zT_`SPm zJClvWIj@Os&^)co0PYTnEVI6PZQpMmww}lwmw);;%k`CHVSh%T|6fKR)!#{ozZVVv zF@CI6gY?2$MCI8X0hln#TF1+;Dar#|n2d_bXdshOxT+$PF{na}Soqi8Qp*uqB&5dH znnMMjQ?IK@NHyqWs1--fC;Wu>#H+=$O!}|3Cdgl2G#=DQ?R<7`J;Kf zb>AbE^E_b*E3u~Uxb)U>&S{kENk$j zwV3N1ZXi?DBW7A#WeUM~Y7Y2;_scu*=(hH#WALkjN;dn6M^tqCP2zdas!1p?jlsHs zjiS_EgCHwI%J}z+q*J!~!VdCfuA;d-^HWiQzC`FCY@#pUsVtFRBwN>Na?z~~z(7{4 zfL?~-!kJsUCQ|DL6EbsBGzFZ>Z~E#QDnhM)B2mQfKtlFUkPbyC66nZUC1oOiZ_uD! z5zX7AJiO^+y}M=YWG9$7X?3HUA;*<@(Nyvnmt5#;?#lgz;}tIfnVud;1l7JqoIlBa zOh}Hgckpbw=mDMu*^It`27f7oI`CL@VEy>Odh~u!SoWi1 zIGwQ<^lKrV9==Z9op#E-7w2T$ezlHqgT-zqRo zxWpW-4#}3Bb2U`md7fyNUn?R#7=DYhi_XI|4fPvU`T4q+xvtmVJN0cR>y^b^` zJ-P{lwMw~mx{Gda-D?199l7b=?6sBIUw!C?rq!L%=Vjb z+u;rhy}+n-8aUbHpCd=HvsAm707yV}@)a0hX{<$d=#J4g#vwl<{kO`DglKleBx94j zD=de}6w+~A>FU049G79xRNu&hLKz&3PLa5$kkRo|;#cSAw1rZqYzZ%=_!a1CB8uur zxWzHwI7?@O)!~bGtNeB7N!^yL_(rR|{BXE2?JJKQ!gpH=wwo$bgC z7HVDU0U293%}bwX4o^DBUS&X}c}&Xr+l ztiQQAH*tLPBR-#Fs(i@_vth5;am7}+65Uh2C8{dE2Bd>z+yO#>KeoN#we!pgi$RI@2)d_ln%-Ml0Q17sU0VR`!r;$8|2f0J>or<{Aia|1LR0bFDL77?yd2Ocr46R$K4Ld0 zR|MD%XZ0%8v+MM_jrO_S4|!6SWC)mo&97zh1YQ9$h;xx|xpjIUvf!1>KBYxbxlf zQ8h-Z^&{@s-#+H=bEgH0*EVXr5>KsGZmFTZCiKPJ75Rx-zsvVtumyX5cT_8ZGt*=r zhlZATU_7ppH~QgKvtr}}T??ns-Z-Y|=pj4P`f6b(H=^=x1ut?k{qhL&et-i`H{(esN)xr-PL75hx#!)!XddLT;H7Jgot-YIlWQW&PtJ=HqsxXrkV}O^_Tk5I z&i;bVL*V#i>PZ`XVq*r|h}5`|rFZ$gGp`E7;iHlYu@9$ZI-Z@MNH%T#N=X+YTR*K- z`7lhwJHIIyjcj$DKimH8E%ebR+q#T^Ub?jnc&f)%sXGzQ)$G=IzN)R{gc$EG|BQmWWbIkL zISF~sCl6t|$marI`!%9QESs!>O59Q$Sc#|O=e*`#&R^a@r)c408hn(2izU*YAaHDi z2xd#D+?)86RU=YYmdXb@ZSGrbBJx#E4fF4_@2eEmG|tw5S754=AJI-Pe816o>k;>G z-KPyE0QIl1(f`W|^G_n&?^58OB*6c|f}2(R4a!#wU||t~C^Z!jsaJw5p&oPk=mWVM zldf`czAZ8Tr0`GqL9Fs3$C=NhYUcgherdR!A|%YmB6VV;-Ry$H&Cb>C`t%_>`w!OI z$ru{In zCeN%3Msgcmw&>1K0lwPJpGkJ$Hm545L0k+JvL1eX_V8y%2?94~yzmb?Yz4$H`?AYT znwh#=w>Vs3KDI8KoJq*{?GD4wm!x48`Te3qg?y<&y50m~y9E8#*p6AGvAe#>OcR|C zJG;q5g~x`u?{XeDhNT{~s`SL9O{5q1hVz2^WJZ15qJ30IX9>`Y_`;v=WM`P6{|BlzYisg>YwP zQ>^!lL#ac9CBo%pPjh~#QuH2{E?3R2?#RB1BFYh0LM=IKo`&eJH1`#zE6)IxojvoJ zL1fKu!iYKgzQaUHm_5ulzzKsB^vU4Mk3hs0cKX4gf_1{W;>w6@lXmW}9NX3;>EZ*O z-@Pc*^2F@bgnvM=-@KPi+@ zR2b60n$6ii&1<;3R(S4KYhq!s#?cpIsXC+#zMbZC~ zg7mj$F#jO{|H+8^ZGnWrlbnbuY5;tQ74Q}AOtogUCmAx$dH_D1D2+c9GF#HC9>tPt zb!zz|=sPJb?Wa@1tHRKss}tNE^keR!2ggIk%bZvD$Ky3DKcpN6l4TdJ5z!DZn8YOB z4-Df*U-k0vkP22X4aZg2vr7tKB3L4kF?tzXkXFOm$9D2awEbB_A(VLA9q5>Nl@RzI!g(OpKBE&Mh0hMkhshjY4vM51bIUYVBTLLV=Sv zpI$tiO`k@A2JdtlWDPiPg$8q&#e&sn!5t?rqQqshl~M#}T0InA0@t^EClnDdvUer<umN7B0Y^hR5PgqGRK#4pmT_p z^ghA`l%yO;b>te_&xNw_5oq!mA3#=n!>)$2O+wqLqu($?z*q1&C;-hIaE!UDCbEf> zp@@Sv#==i_Qj3U)RsH2KJZT^!6gBAVT7?j{gc}!m#5;ksx6%CEgWNto z9>I(RdehW?ndWG`xg{i??!pop@m?kJigS#T-Gx@Epkod2wK8ZHjK`}JLjZbOY*}#U zkPN?BBcZle-Xb&bG`_{c`7b;-a+(+OFsnfnVN%Yv(Ioq1zjL6W%hdwWX9)8B3^OXJN@Z^hA`AE^D*#)xiO2|Q#!8(C7MQ;J5)UvgIss%Op(yE`P_D}Lj^Q^ zs~7w-cR)s-GBl47#+&KpEyUl$!^abBMl3pqW5U=J9+H#EU|70dTRj){i;AZx-J;-i z0FzNQ=zd#@mWZ5)19id7gsG%2X^39v6YNLMxuen1phlW+__son^-F~t1+t@P-$qwh zI0)DLS=4ru1&FShR2p+lD2J&%<^8~TcR_oE!4GxrsCSq*X9;e|nI6$U0#u=S16b3J z5Eh~rlv_R?tAem>lWB{&iy>KcY+EhCSIEuaOiP`c&Uc@XV5w zRgAs`YX_|aHJ0^+OG%+R%ahecSV*$EzNo3eT~QaSHV$CH-lIxwF83_xe z)gOc$lOv+4is^(hdA(&L|3DDp8Dx3eHPZ-Ot_{}EP}GX_^|8vi#s%XRlXXsnajfGa z?Fgy0V;*4}3-k4!4nip}KQTQ071ku#)VVyy!{jwJ0lvC6`?9Y|rZyACj72r%3FSJB zA$i^g0fK3qaUO0IxW&lS3$%)K7?a6Pg-V=cIktKHw!k=7Nzi~<2~PE9j&_>#m!{cpM zOmvKP|=dlk7dSobJSWG#wdSQ7(o3-5==*jh>F&Ye@28oAgEmN_JhOtg29`57)7xis6QEn zc%TZY%Wn@>@v2{6JXzJ$VLnpe zNS~*cQr~k*AO!V168l*`MV`pqhVOs|=~uM)Mm?{wMTb zr68KWoAG6o|E=CoJJv!rL-?SfwpK?&EUQ#5FI~h0Vkp!_1)*}!)kYGYZE}UQQiqjT zTgO-T+SKi&EAO+VJW_gA?!NPQ7P~v1u#Hj)0DFq@FuTuu>U8R0YJYm@=KBDf z`D%sx$i2MPD+-^+ZGN9K7&r`y@?yDavqHyzyNGLzDu2SYY{`VgFmP|y3Jf%6J+&>x zcFeGDiMXWzYqMHgfQc&4n6i*B1ax3!^u5L44&%AR(xSc5;Y;GN*l2GFu4|TXLy9T; z3s0FXguJ$#^cNKXLxGrKSt2v@7gWT_l`=8rd8lJDaay8QF_s0yx#U#0C~3RpZycg< zcyr8-a)hmHxXmEc__lV2q0}L3Q%Uo?KI=ZYS>|)j3lDA~f=yzqX4xegX}!fKMA#|2 zj;%yN)T`jJOvL&>5nYsFMHkhHmp`{u5LqlQ?69D%Af=**L8vD!oJsO$vs!S8?34Rm zGXx*D5NV`K!heY+v6_O8;>^RUapa{IVa|3;PHtdqLqZHiirdp?MFbD`msyB3>Mvu+ zsb6iOIe7;WGThpyXJPz^u%@vr)*y}wW>PgGDgsQ9m@neEa9Cve0BJ%k5VN_m4;Fu2 z`?(>{{>N}E*mossW`}5GW9R zHe=88bXvSV&FNA_8pJd_m}`a@lx`{(gzMWk*raaN`$6SavQu9{*rkC}i{V5X1*F*PmH zgsWH!YmU-N!(nT@Dlt9!Hmoymx8bmk=?Y&4^&&7OlsbPpAp}W9T#;~D6QqJQcaQ34;f+A zNl>kQ3y``^<(ju!E$IW;;M7gy`kAHJ^cDil=vr~)Zm6Y4%i{cX-vp!;%T0ekCAQAe zw)ceQX2dg-wCJk!u1$v%=kR_3m&~3Ke)gF(QTFW;YF_psW5qP`3eF^Z%Va$}{RfX_ zDyZN_dP977J%vNX=@nnl z$mL>vo_i{H7+@&Y?XLkg>?K>g?kLK6(!GWwP)YPZ`}TAbsN5040-j3bXT}PU( zlA&@36{lb;$_Eysu1)WKA(hIdR1XqRg`+CzLqL}4RmE1_5(#1pL2VFFtHBl#*{Nr}*LPa1V%bTv{YO+-)apvXtA9zQZnq|MNGR1{@HlGcr% z1rGc^IuKV2PRHPpI*P^U>Cv3*=HHP4A&Qq}zd?k2idr z&hc`G-!%B`XpzLMTke>rs$tkXs8K{^enI-#Z%!ch4-)bnO$4<8ks3A1m`+8HUx}2$ zRvaL*=(BnfCn2GRnyatz?#1VL%F+hI{4TS^8(rts={**HI#B4O_EUO%{z~r@zW^oa z1Lzdq9R5tiA?h6oeQwC?x#rxSuMGomfXC{CpOfxtl*FypO)3J9x}*!GcU~QAzA-L-EZ!at6zNT-T^T zp)0v(6S4PanfYkJk=XdAMo5`=#=y3v1XfLplTbT!L`V@VaSVHl+36HVhId>wS_$n%YQ4b~WWv?Vv*eARPP)#juZZY| zH#8Y{qG9vBkauso{Ro%6R6C)l=*XAnXU!Bent9(qX?B z_RzG}PFtf`4H$9}D62|}_eelI$rJsUed5!tg@1|kCB*qD+if{=Y>zfWIg?iP^AIq6 zK3eX;8f?de$qYA#sbUd{Bx`KybtNsP?aVApEkq38(+bmbAzV(u;Z-tNJr@k8z%>8- zXKMxLJ#q%>lk|Xw@K=wF@ZW!A{vW_XPU;g_3~mH*lDyR!{t9Tv@44@Un z?zpVek{G(4o~uqYE0#duzW(7$?tqK}ohJ?e+n~RAz({F+NLKp;{0M0wS}ApfSHOz& z7sos`vZ}cde`3}wRbveI;lwhQKMT=iHUtH8eQ8{|@CP_U_rBhOk10$iHp%GG z&eB&|gE7^rONA>15_ar&re~}(#9tx(R<6S(h~BwM>GK5$h7)_rCY|%ay2;Cd|i%W##n00p>jdJU;| zJOten$s^&WWmnmb{?X|E{a&bb=+Ab-JDX|_@TV#b^k0IDzqQ!;8(hdJ|M&2sQ|;Id zSq0@oCf#(!Kt0R~QNG49tqIInPBPbmMp?52#9y=7;#wNKo`LC002luGO9)|0zHh&i zv1io2`{OUNk3T-pq93M+j~g0Hfex3Qp1m%*-25&!9?s{Evp-(n!N1-;iU=B&7>)D> zA_3(_U9|)i&A4ZXq>8$s{hD=ZTa?m57U7AHt6`>b?3-@gC|BpqY+n^p8J}GR+Km+7q=#OU89N=a(o_X8IpwhBSJf46#$()}Uoy0SfcoC(BPYmY12uU?S_-^TTA}3~d&Lc(A&nv~QZ)`Pnixs9JuHi6 z50*3@VM}X1Rjk2ClQ@5WF4hNGOgJt{m0hYx91V7zQUr+`5%ojUaVH3sP9q>HbT87` zm{4zmL`q_^fsrtdSrU{A@0dwSrbo0JS0vO*4p{=+##_XOFacI3YgG9$yZ+^Vj|!^ zO$IWNRN?5>0u7N^VU{x82Q)9DS;Ff%7ZmzY6-(-2k*ti&1?GTEFn9S>wrAwexa5Oy z_FZl~?(uvQ)=ut)N^hG}fHQTJqrnZz|`&wMlKi-6W(e%`d~wu^+Te z8(*=H>BTil)OV9(YiZy$b)b6I|5ShFJ5#9_5n&5acHTxrO|KCfBowDq4#CG%rWVK# zQw`aNX{N8>=N~*XSFAToLw5xMzAO`QCTYe!6qp|48jLWQ zVT>rI41IT%Ui@;HyaD^TZ4c1)9IE9=?zeIIw=#%ZE7 z^ZbqY>%rgxnH2TSVfc5%5#EIrsXh^r%r-^GJ=LRFAI`GY#yRPrDCUy0ZvRxQeRAYO z^%hDro_6oC{UcjO)72$Eqy3E(e#xx z>kdTNxv^FiZohG(_(f~&f^8-&bZxG~)c{uCnk!T$Yi}7}SUIB_>8GNOm(KFn%t$-2 zqFR@Vawn*2Jy+Y69t-6zi?FOvJI@yH)HAAT){DZYQd=xD3tZTm88mV!nJ8h|ti(Kl z=hXyi z;w^idgehWXG*5U9L9(bHBknB-ee4zU|r!NKA=En3~I`NKz$8`8UxrkE4?sH0t*|H%dVErynF) zuoqbYEQS%2jwfDJTk+Snez?k_0I%ksv^@xXE{+n4L9S%91b=@9@$ed-f~L6yn*aX1 z_?`plvCn@a(%Z1kt+sLCzG1gd2)kT=gCy(GWm4f~!qyzmB;`*OkB5M4U+H32k8k{hVCrg= zBBFXDl@?9ahk&pk0+~^E3?qSoc-IL~Y@CslD>1_)lgQ7MQHYife6b|O>r*;A@$NDT z)^(;?z#Ge1vA@J3efh!X=g2E2cS(){jwQhYie;B@BP1q!Y{m=ru|Z#ycE!!yCmpC! z__QQk6G&&EI!Gp7c4Wr*HJmbpp(+m;5|uKZmXt@@xS@`0jO1DMGyzOJCs~WID!CoX&60KPrC-Nicu@}N zEwzAT2f1PT)JuI1+^x0*{*17)dtiBGYXe?H6^iiYoC2*yRriLaT z($N%cmmgeEuZ220T1ZzE+RoQw{~z76Pe?>ooitt}9k>|O?||`P!k-eas8j{&SIiOj zQp*VI2AY;54r{n8Br95Xel-|hjyDT)IdD=v$n{w1H+|94kMWJ1^sHs;S_8hRfZ%u< z4Xo6+1Vm|qf+IYXvD|w@ICN{8s=+cK5Vh@aQmR+!lk{!l{JycE;r6XEpERJH&l%vq zZpI4z{UY_hKRmRfsViSl9|?h%aN zSa;X&XL8%Mtj89H@Mw|MJnr&j4k9q*Vc_^*NtUm)D53*i>Ny}IerVR~{Mf^8cMjlf zdn6IWUKXLFhr|&KVo^`?{*$A(WbeFI^!cUFK0p8ZSS0?J$MT=1q@Ai(a`XBqz8ehG zpHADE;e=r|s3sBZj`6Vmu%sgc=8p@BU}8h8s{uWDmrE(;guUiF@RwqMX@Cul1SEO* z+hxW>$8_t%+5Ta*9p4`VwWRXM-@A}nP&DL(myjD$M$m75BzzTz25~2=uuQW}(|LP) z^Gj$^16)!D>Y9v{!+0ekRx_Tc45^on+oWhnH9GsRtjTuO2z02Dquv4f8PbXZj7!_#Z`*OICsk-M4(`xmaBx^fu<|8_%jO$aA zsYHE~k*H5zsLFC}Pm^p@fa1|F&%>aJ>2|WWWL<>tJ*&vARJ-`yDki>^+}i()937Lb zidm{_lg)?5EJTtKWp$aHp_yvsB$K}=8&9}KMNN+sEHDqz&J^<6LcJITpb5~rr z8nPsjL8hxGQ)J0rt_$DcCDu-~m+5nXWFuZfIr=o&aVZ{%(8NW@;9l*`YT+`w4$GcC z4Vo6;!&AKKXTkZNwK{*OE`Jg%{wzq45w8NNlE|;%$x~2<61K@m;rm6UbTE^0@vd3y zYO8zyj$;GSWb>u^VPpPl1Qo>C=R$LYY6xqH zYse~04`B^H%u{eue!x0ya9MaI_GRg zxg;7c#v~-bMcs_D9`)te*as>))YZ(rpwh8N8aaI^r#D#5dz4KESUFuNrzcoBf#=)y z4znV$HSA%o4W`)4h%&n^n1iRP;X1xV86X?lHsM#2ue#lKC=4K~QnJdpv;-Nf7Nrue zE>P;lIG95M^WJs{Ep6Arzpdp8-98-8d`ZrFF`qZs+zO9+Fwx^Yo2jGg+?u)TavsaY zqTdsuC|xIf_ZDQL=x4yqpIY=2BUf_c?hFMbWu_YGT%4R`@v;|t za2LkuZguNi$JerP8>4U+d$L*L`5IJ4R868kBhl`>Rr%+S5-K%>hH80vnww)56M=q~ zc;x5Yr4=!fQKq6`*OM-$q?{PV>%Pn^rxgAi7_m$;J(1Mq6N*5aWQJu@ojnTH zj&P0C*tc1-if<|{xo@O(Oj~az+Z|GstLO2Qt^XCV%P4;1D>I#mUnK0<7PCl7A&mq+ zy6J0EX6>ZTkmxY^LwY>kqm)^g0bTX(}K zlW8a-4~J>UFkiGbhUBo$mV*Ji5axTwd4Z#*#Zu(`ZEk0L8LPo5Sf=5`>_MVnm5-Zl zZG}Mp#_&DvSP>;j=ClC#YjY?mvVegM&mTALe zgM$?gTNg8bW0;kvx|H>u3}xLDJ$6Apq4u^UwD1Fy``zb35~FdiXsjg zh4RT*5>JvdA}A;mT~EV)T{PWwd_8hmBRpQsbdv-}BHt|e8d8UFdi))=M89N*Ou7uv zMt$c`F#nU4dD{b%ciscN&Sf#bq`Ar$QD7Pi{dm?<8>mU6V5?Zc1%nDfonbXJ(vsm! zSz&aTvY_Io1hhc~rQ-(bQ3o}cZ2)zdq`F?q;HyhhFV2{af8>7ZzD4YHV4F|gN^JnQ z%c>&q_{I;S+PpO{OpT7VCuW^OO05y^o5UC7TA_hV!VO|Vl02;eSwtQ}*Y7P-1L-2S zVMoZdS_8OWn(OT6p2~2$4=+DEzF>g277fufgRcgB{iiwO%i-~iO`rY~R6*Gh^HplJ;02%LRlWWFvu{)#?}E8ySD0#n)>xs zb%M`&H1<12T3+wO$9 zFmmVX2gl$Yxy(g~+BG8R$lU(q9R_rf*wA@3m7xEk7SU!e~jPrd>^A$JGaj@!Ri+&nN0(~`wtN&h1|AKvj?yza^ zbjE!^Tb~yc&eQN--`hm>2oKp^PG3N|D<+}0yhI+wEcsNxmj)voZ^%p`65qRGOg@VS z7yJhOxQjg%>@&dE{1qL~1n&WkZE0e+bi9Li2MHMZaUMI%xHJz5XAv}sl5$ib)2uWP zinGijNn9kYNord@DWQ~;fJE#B?Q+R1w_vYcJ-aM=A^9?}9wM<2Pt;kV4tM{>pMxKP~$al-S&1il@!s_rq^gjQck zgYRDcEz^ZSv41!Lt5j7_z{=Z7t=$Z~iAY9-PN0@+`=wGT&PlCV>~zJ%5ze8Gd=DLH z)#od&BT{cIX|rDk<19zV>$T~4BPDAdAWSeYrDsD5mB*Ij8iJh~<3=-Ql|sF>dqw}q zHyhrSy1nMVa|Us2ExQD=RFK=9w_X3`%toUoDmPx0R8UQFY?ll4lO5?ka;EWyCEVaD zFCoq{9(%9#2*@`ZN~9pvsn`z=JfCP(UpTLjOlNQ?Y$u=`U#;rETV%J|ya*>Uri{qL z^oyUwq66p%Vk)IR;sZPz^bNUA(OHS$JFC!l?ug+_kiwBtg<)qUtGqo>%s1>E<}GSF ztub$&$c|q@tzY>jS|YfTOtdfQIg?B>9_TrfO{D1)p>JC zyLkk)3BpDS*>X(K(}v3a$0+v6xmO11Ia!jthW#XYjSHmS zexf0HZ3@EUYG(=XoZ(tuPqV1j#036MbJN0oDtaU5Mk2)nABn`Ggz6`D`SBazIFO7L zH-CZ~9+bbT5HvYyp;14q@YXbrW>Lr0zm_jxZ z@o5Ey)dyQ&xDzlg!F(U#akD>uTLCCaL&k-y0}`cGZq-=>xB?nkQE6PNAA3?=6lczd zDA|x-+Xu^isB;%KoA8C$~u(VRF+A%ly@Oa zJV-*;Cr)S@#FLOhTuFT$VH#Lwy3h1~T+~AH`xD+2=>0%1{49)4{}SGa{|`#1|K?Es z6S}EXUj1CmMBqv1bTM3u138N1D$wVmk;NPUuB43ZLJ<%V{=@%yucdrvtTFKHkM}>` z!HLTVV;=wDg*FKbO*tSKzMGU)8)kJv=1jZOx zIXc$%$#a2sk~R$kgZWetR}&2v);0+PS#qyRD$WJ9xdu96CZjy^%9xzTBX?HA)87Dh zhmVH_CkG`u2!v1?$qsdVisddI?w*%*r^MmVtqNP|M5Dj%9B^Wup5 zD7DWe4r{M+&NJ+`&LIpOjH@>dfrJ1i-#OsU4gs$p$o7sLnkURK!8eB*L(eOPiin|* z_uyJQVs_ZrAwN2Hgm8k6x|3;{VgimdSs<-xZE#NlT6*O%>W-K@JYA?y6e;Oj$WolW zsd-Dnts03&&W75NH|4?^qeb4^pH>1!jNW~}IiQe#xgyN}zY52H6!MiSI!>#~2s~jV zQVxl6DH!w)VdS~Xa6=A4FfKbNTrxQG-U`iy1az^9SW6;F+7cltZoc5rKEVJ<#uZHQli~YIhEMZKgNO6;pH3GWIudm6uXiB)U|dies`Q2WqP;IbKv%*VUoqr< zp|w6!I>_6U4^*lF}Yzy~?^>sN6xv9T?&F$NAT3K(s$!OS3>Hp!!Ev=QkU*{WOkj&r)a+Lq6jGK}49 z)m&z}UP9kQ$4~mwWTSMj|LvL0b7i4Yv&}lKq9`4-_=hF^xE2qy`h59n(pM>;8Pjp* z=Cd}D4&bj9qZMfn{Ppk+rgm7BvyMEKW6bv@h3RQ#Rz3?|e(GPGe3FF@0i-6qu9nAT z>va)Lx$Rk_b0PD#o~~`9(5~~K&FeXBnQac?jb6$4_&3oV2SmHf4>j9u$1hlkV?&v} zUgNOoyXZVEcqDY0JRYP(Ige1sgR1Lmha!jH2ut0Y`ftldo66u*w-Y_w;GF}(C>WIA zb*gRW9^EkUw+zj4_ixffb_wxU08nREKYrjIRozz_X|YV+eX>xnQ>13EzFh~H-F$i2 z1P0iRhK_}frX)E?3~@0s11`o|sP%o{{McL+_=&qV@Q$El!c?^OE-nPQ9Z0(ry^k6` z&J+Ct8gC4Cva|1> zVk8U6#&2H`p^lSBdk}xb*AKV6f$Z;1lYd0jZpN%Z#((@^I)4Pk@(8oDDazV4rKTFH zQxuL6_xh=SLX7n4-;c~?a0QXg_i00GOi3s-V7LVfa_GJ-D()gwlFyZ5^Ou5b9GW;4_Zdc_ z(g4;+7&$CH;bTj9$`RqCtO*}CoaJQkx_t^J>K3fj6t2NdL)pvvh}eQ<1Qjz0#ajQ- zpHl^CWC4QOPoN(H@mEjy-&&ac$5i3p*Jc0ta3}uz!_D%Khg-cG9}aFX7p}?zrj~@1 zMPg8QvKQE$oM8*{^%9Sp_v25s`V^!+nr^3}R)t^k&59rajV@t}O>Bk;Yv42*ZphLt zxzI^GRU7q68Y=s>mI>RrZgKiI7bYt52w_2n!Zpi)+)BF$N|Tmlre1Hm2xqOy&SYLa z!vK_S;+$BDp;(PyFvL}}*T4SctML}H9A|u{zyA*&KL7Ou{?jX6sPdaIkK%hiL{25b zhT#200L6vMl8qn3PH79-SeVF?*_%=)kR(62N$K&+J2tWmF^0_Rmv{1Aj&)W0O9QRs zUmbkY91r&!_tTr%-Cy=#q)a~mq)37 zv=R2ps-}G<>;07(?rsAMuwZ~m%P?41KF-CjtVbJ1OUt{5q(;j#??q;iqO~BY0}x2- z02O!qBFY$Rh(ANk6b<=cZRJQ^s?@76P1uQwjOI8srElX8eblNiq9-29 zIqc}{X#8K%)S0ohaDBK!6BRf!d4qej7p=z(*zv zsbx+bAj_(mQ9DpOP?s7-A8Lp|;7X(iV00 zs3$9lCslg}{eaLKe&?|9wX>g#;}}Y*e(=W{S%3nBB!wC~--0Ej*2y~}MUyEKmM)5I z7lo zOU?y}w1L6(IZ;VXdzTi+C+8hwnqjO;&fP`cWXGSAuE}!%3GcN@r|EruRpY_H&As>` z^1tE*wZAew^x8xUD(*6-+5-HI&ie)P)z* z{ozmncQui^p33NG65aLjnVkIXelO2In*v?QPOkR?5pz!)0}jre?PwPQ!q07al%E8w z4OR?%h%s0VGYoIc?N;vXAZK`Fz=+|z@);W{wGc!U>Vlc7A1CH#>?o>AnFdQa=hS0X zR@U#lW|!J}m)dfd+H^D+4H{8$X;heav$KPaa!%2U{Q!}VoJ2;Z@Vcqr0C64l`KEiX zAb%EF7xiB*-Z9ost)fLm*qeznRnx5?)Mr%)tcT7|zOlGqx6a~lTyr12t%c$^MS zP6JePWr-@oaM4j7-<_7jsbnpu=nln6S>C*wJ(x_;HdDA!(i_56qRs<%-P|M1i};P@ zp&gdB+JEi>6xX~o<`ybE84S}rbQqsdZU-?o9pI*nAJms?$ghsdX7wjClkBvW>9m+8 z5!P$S3?fA(7k5Su$hjpkY#xM!m+9hl7K5RK3#^sRi{g|Vl}|K5sIFqPUGTFH7>$qX z)ArLm93GumQmH4V+gu!MhV0`O9WKh&o0@Vux6cNt**qJTii>5kB`k^0H%i7Ibs$)6 zSIlFI`HKCwl#9B+Tf~QO zF<8f2ghe#I5aUjUKgQ4_Ey_dI4dXMv{Z8}GcpG-prF2r6{T`Rlj4#apfRd^F>aaAs zQ1u;%efA*l#w|biD)QIddcBEgbt0N9vibuxRw^V!Z%X&Ifn}dRSq*qAm;Tv*P;uMT zy1xl;A@?a8?=g9MDcw|_o>k>#b2{I2w$a=lSlv>%GC8Y?3w(cb-5cwmBu%1gNcE`f zHhV1U(;l_T+8T($dOCktb6IY~XuqZP?}2TAI3HH=`|(`Z!}BKb6Ohvbhv7X?lbMTB z#|ISFg98rb#D{VslHZdF50q(!xB@WoJF`#haW+E`(--&&8R4e5dZ@-0D=sXf>6v($$)q9e3}q4INC(T~XO*`aHJ7Df?tQyA3eDlkZCC2Y|h z1pjgjDc&PHQr-x7MW3RZpy!&r&XD;2k+a9OUEVr2|`(Iqt~68e=KQ4B}seE$~?RqOrvEE z`aX-7|3;i4^v!w$%)@Q1g&VgJ);%Fjhy^WV+h3PZNQ{|i)Sb^Gh6`kNb%5a`VMV@A zG~A8&21MtDHH}8kt;2epLFY3JMAEH2`yLP4Rd?vqv-g*znW2KW-`HUv-@!FO%uSl=%9G@5-A=9v|Q&#z7^@>*gn>4Zu_;x|JCTE^i#D0B?nA*^sVH2HSg&R}jdJA)0l zhht;UK3oQOs@-|wH|9;TG{@PYJGC``!-_n3sO=Ba?}l2*PvlSpP^WxMb{LtnJ%v$; zfj=@t2rzRp(Q-&QXeb6^FM?0?nA|W35MUG_q0FkpPaLmg{RaYeU4gdcNYg@fXwZIL zm0>XlkMuF%Z8Vz^$nkrKrS@wiDrV+dcJO# z+^WBLvd(zjO)pD4$qDE?zs&S03~qfX(N7NVN?g+2|vfsCozkZksd)XXf@`yV<*8B~WQ-LG_){cn{r z|B@lhe_mn#Va2Eh;ij~R@?py`n%>b-K{qSE0Ffg@()-=-8xkMV5+7ndKi!;loV!$( zjLDEYBcC04v7Q*9%ZwpDp$s*qt~lZs~h)oa()t4{9m#*@h?fjfU!^k>$u ztJN#_G~FDo+yAfz9CkD}0AKPFp`H-Iuu334~&B8ZL6ym=Wy0${FP9u$M zel=qduXn0iqrel%V@3&$Z14?*%&M`cgunsjJu*I^s0vb3VTb42BlJ7D3vFBRk)j|L zgdbY62%>lhB_dLhYm-DC8hnFmxZ`o>_RRwp&_ms9*|>!)%saoN61o~?l{u>>gk|YO z@`=T-5rU6fE}J2+vsvjUQ*J`MVjoDYj%L}7+bFoRibcLd4Y*sTcO^_0vv5VOzX_AJ zw(KalDvF7#GfY7ZhV-(lM5(w{gZ5(w=z>NYa7Uqk$9f78D{_a1bTKEQ z(}cAHn*QAPCQO+aD_DlBQW>6~R3%icN7Z$f$0Ljh7qA+i7t6Oz>|VkSGqerX9*1dr zb=F3tE)yeVcNMi)SF_PslUdo+PX|bq4%sop8n~=!>ecY;62w0eKfZt>rn&{HXlp?l zMS(>H5-?9t_m48E&p<13hWOsu*2aM<5`s?nc9E= z<$|Hb!`$Cy4#;n_?FZG(XoykTp!m*78j4Imh-8i@YAL4_%odm!s>C$%f{u*=oqn2v zE44+3jx7~QG#{Gd)bP&7R_LlZ#xBlrs_wy28qi;aQ6L4;z@{HB($+u9?iqWI9ErP% z%M#p#h;$5qrDrQfPJ|n85G7EWB&s#ZLX_leA-3C)c9b}>SQKYs-`XR{;xyL!%Hvfg zgFE4eAw>-~+rzjm9Vy~JW5NpsWeSZ=(?~ita_!_q^6nn6qCjDGu=n%BnMjn~aQ@EM-Xqwd%7H&6&)Ss-0LI zip#*-myG6N|)J$aqtqPOx22< z7xNi&%+d>FCOh(bZKS2*h&V}d83c~HOnOfpip|Imx#K@Umh6e&Oinp=HQt@$>Wu1+gUCF6=U^#+7oTfWQl|N?K40Vy3zCj( zrBWl@s{+D_e6BQ8n4`%b?N5n(Ptl^#s|@)E`CP%S(SH;2k*r08zuVsulNh-SF6DH8K;V`IJ@Pu$v$idpiL@Z}-u(A0$wQFm9$Gc00wdv$^N{q*Ou zY1M7K`yVV?Tb;o{?t5Ndc}=GuGN z;law4oRJje+`#LTvHA>IX=&nhGXvuGw>0=$zTNW}l$?#8EX6W+Tlnvm86gv%cVeTR zIF8{mUPBF|+q`EugS@XlLZGWN4}Fikm)T_HW*rM7;nqUy>$&U;&Z8KUv@aGG&871e z`CUvx>}_b$gL_wB$0?36Z(-8c)Ap$*Z&e6hBHysyUdYsr7Hqxw?4Ml5c&Rz>P(7wZ z_78A`Ng`j;4|o+OKFhZzo2GP?oKE`bhElQNsslLE9b?d zOsN6xc#-o}q}>oO_*8Q>vAf^4a`eC1F4W-I&e4s)_sYW%vK8$Tlwi`BfYUw8m-a$Q z_ZyeY*+G;s17oPrRT!xa)&TH_?AR@snDSNnEf&ntMLGd4R5LT6(V%#kOc??7Oc~>L z-=~&p&~2COaJTvZTV?tXTSfZp{XuS=)tv$ATc!GVTZQ`MTa~#GSF<&!!^{QOIwtPf zfV&%S7}lL1m<(=w{S2NltULv|Ab3ZcV9Z1}F`!6zvoR)We$f_c!NIAv5$bhPk(MC_ z0{#2|VBFanyl9ISA4242?5=uEk9%#x%#i!0n?10e!Hg7-GL;4#h*%hqEW5aZ#?%7A|^RdUp;ZWEES48SL(jYL$f%f~};h*ue{adEDc%;q?nTn>l z!B8FC6M?x&yYYl9WroN7(kR4Xe zRhVUsp`;90zsI+9ZfmsZX=QNIbQrQF-W4H0QQJz`_57gnzr;h(l%N+~-Z-Ub`r`cY?p86VcpN6?!mP9{ zXZ~t~fE;mASxiHT8rNL!fpd+xYVkVPSAi_ZT-d9~iciBER@mV3N6rNJXCjv>aK7{2 zb7`d3)O1{o8>CK^Xe`P{UK$UqE8k28F|GSd)gT*Yg$AYM=GAa2q zO|t!aeFhah1qv&sw| z#)2<-j0wg0xhiU1b?lVhDWQQQgv`!mOa({uy5>>ktwq)t#4K)^OXHH8#Vu)7y>D^R z&sjNrtY&ZrQr8pa$J}X?r6$EmQe8S`4M9=IYOTh227C_Om{rbqAsuAIJedI0YA9iC?P|MK7ALo6`16Y#{PBNDvn)cn+M#QO9xi(62%p26hs(UB~<&ys#Df!x0 zSsfSq?@G4+lCjWV;jN6V(Z7v0j8yoyK4Lo3{u~o9aLWc%qjWfVwXhhIFah{la0x<* zES76x8-tFaZ5hCJ?>o`jzqJwD>3_QYmf&RMbmVfJs`7bz`-9ViiA%4<-EDgwlY8{i zjs*=<-QAu$4HMll$`v)Q#;vaxXiSSv!J!$Amp67wWSIz9Tv=$ z3SU&Kd(;N@786_x4Mq^{j@W&iANX66B=gz{`_ZYHx)d~?D!vu**K`y?Y^hoi^hI~g z#jIaQNiOZ3JzHEnQ<_MJTqt(rh{w-N_+lZpa=?JNA3V5 za_iJKZby*1C~DOJ^@zHGno8|Nt%Yxm>+|pvco{>5+{+~H40fvD!482M3^pYIlmhlh zZc%=+mwf?erDe-M9BXZ(!5*dAI?Tr0Q8b;{`f^omK-*&}3xRhz-aOas&#U-3?~}$% z^^O7(V7w&mDo^}Ia89k4*og^0j57`Cg~K8Z0$+fmHLx@;8%|~y?2o#LRvtF zkmfUrqxW~kY?}Fy9mw-Pyr`Pgncxn)4#3aVO#A^+kEOlRX)dmISqwqasq>A9&9wX z3-$nUV@hM3HrT$p=n@#FA(Li=rpt#R(eHKOu*8oh_>Lj;TZBiWn^Pk5nt+$&coiey zg{n_AYYz!I60B7g!_BgHM8haLX*fL;L+7uu6Bo~tMkw+34{3|^g{~AA-_JH6)zTud z?8nCF!>3ZL$%ZSYDjtxVwR+JZFb|QNuU#%qLL+EnjHf-v^>^9Lg}oq-mc%|rn#?89 zT0KYfV`SE8*~{_fv8H$!6yTes4TabMs5Tkah6#sKP-GF?%kqSqZ3cn4^`WnW=N32B!Su)lWhh0Bl9}qNPVJ>(pr1NR^37w^!$T zE)Qco4QYIbbyGET8JxQ{KIpA%N$rE`7T)fH?Ig(sLNTd4oxwW`#Lvj z^nG5fr_La1h16-NnL~m|`q|X$`3!Q`baNavQqpXO#3>RJwCKJ{h0`8doq@*>wleel zE??#Oh_c(XKE*gyBQSMu>?zq^K}Z#HH?>|15N1dVlnQyd;vAjcd`L{>3gsFZ{(S!j zNEYzx=k~BWv^s^G0Wl=r;Pv<3v?@-VERyf(@5U|L9DD~DWM>EK(!#C7TWc2wtxed| zakxaumB#d)(%U9pu3NQNwjZ~SR%!jt8yrK%Zpo;5r4tEmLuAq2mo~UTBd(kGGIR4g zeigeqfLHVmXi1DD`U<^kdaiH6f+!o9W%9YZ`~Yg$63ok9PZ&w`vK(_YUkMl}jI!$j zz{N_XK3M-dxH))Ew)1-hp;{C-CaPgIpmL=+H&h?%(Q+lQSc!=+HxI-f5I~{fz78k} zbHUb|!RUiVK*4#-{UHvZ2Yh+?U<_f9C~D~r`qwz= z!*QwY66Q}@Lo|@9-muolb(w-LawG9pZ*`HZHaP*w)hlj{&0IG7%1NYF9U{3pq>Yh^ z2kU~syiZ{dEM0XsE_@Wm6vwG!!bJ|Tr5T14$0=j5iuNQ$4q2sIMigkNW9&tB{Yn{r zrCMW3qm0U7Qi%kL#KTIX^vc*pb5c@?T#AJwO5_a64pJz=rA$8*2UFK*SzC#tIUnOW z<#yK!Jd~n;A&z&V;3l@6SVp&PQ6goq&HE@E`cbD;=pjY_DxongOi+8zslLzZzOv|4iT+K-N>%^;_$l~)Kil%bHLX6EX@@yCO?*a~* ze^o;AA2u$W54OuZprD|FpfVz$CNR>nBA`w83y7Z+$RePA6$5ob?->IfPF|k{6$=N5 zBA}6Pc~0*IZ*v_7V+R9!aT!YQ{(VO82YF-uah~sC8+!)t;M+TTH8xRkZ#!{$6CF-2 zpe8P$s3M>UFw%H|q44aMEFz#Tpe&&9dO&6R26{%{N{x+ozCnEdN8ig=EqW&O>lHG; zp8uUn`Iiht|B9;qKX9Frx*`%k{0AsFR$m@EO0=60pEN2F#TIs09^&Dg+u**w_|W8U z6IK$eYEz$}=s!E*a2muyg%Y@xx5>|x3zx?DYC<8Jjk-@#KAU&a)0c104-Z(rgl_Oc zlJJ`TE2J~%;iTLh#4}uGYek$?Kh4UhDYexn(wj2qF3N$h>Wc6sZJf-=ERv}ub2eix zLyXyk=O+(IA3BiDa!ci-MPA0e$2?DmhYHLO$d-h760JxWX)Xp=8gv%!i2YPRnMZmYORn#*rO^6!?`$$9yMdA{OH&^_yzgU5iG} z5QkCHI3q7M#eU4?NLYlnHA%`Sj25ygUd=+q044XDs9wk;i#8E4|29{rX@e7~bOAXz zqB>pP+Q4UX;}A6Y_w0ayiiuN#gUsrfi1mvSYCe0XT#SpZZZ_X_>V8s7mwzQB2eOr7 zjdm{$NIS~8e2prOxzH;nAwH6o;tN>p7>DwTty{gieTF7lio- zmue2&h|9mj7W+ArEC-ogd~SW77a8*=6q)ZAzLZ+=%xj4S#jxZ)K3zX3SOn#319Fi% zDG1mK2tr6uDEdVJbb^dP6apuPw7GdG!K<8Qc{sx>oK*&-G7ULkq!=>v876E<0%#%v zCnhV?cHc||Lv|Iw?IRepp!xg%VV2SF4uHa^pzEOGhbaZGLwMatN&hNP5G$ zyN9LD-|FnvfR)#cs2A)>cJASchr9#ybO^E3I<;Yx6h!UNAcgeRGB6(R?HZ7_YUurl z_g6Q1R7$vr@k^cp^0x@xzs#Zh9YB{E&i@xcCq$}Yjna$T8}vF;*n*5kFet!kGyhyl zZLJWmcD|_P_6?30w8QVm-46Z4>z(I!F*?H#%UP%`aOGP?`FJO2ENcm!llHg(mmu0lj z;QZKq0Xmj4P~If+kc0{412OA9N7SSWa8SY^7gV9B08a?&QBGa*S{f(1@L?fkNXc(O0HLo$!3tTc+!?U5XzK%vvqJFV~>Y zJsGPqv1r4mb3Rwze-_Q_3%&+JrU$tPis1gKOV z-!UPL&M0X!wjP-%<#Zk3mKQ{0+-<%Y%w@UZwBPK1XT9dwmGJ4?aXZe}DNb2QYmv z-RO0KewcomK0rTd7o*>i_Yd8%C@<<;4F6S7^F4L7&Peg8BgLR2yR_~I1t1sWq$r2y z&rM}MXem!6*G8FfDdV`yYEyqxW>aAi^}5Y#r-~=ki7Iw9gl-(G#SaIt;!mf(9?!j6*>+Proius!UT+ zx*+|tJ+=ol z0^~2jOl^g;%W|l8l!5>|)FFjvF7OxvBnYCJks_%J=FcF7%XA09+zq*?=A~O3 z3Zd2mRhKqumbBPmGMP43Fv!`u#;JamS#c+`^otbY$|%6q0Y(<+_e_k+h=N+DI;C}a z6G={$>a;brk#l3svKWfhSgWhrG?M7lL8SkZP1^4g-?Rw%5%}(%6{=Bm!F-(jCX>eX zOfRn_5ff(h$vG+Q$+Kp}d~rtU{)hx-4}7#-YC_bj)Ch33vdER9wA#;gahZC~rh?5G z3-c!7Y4fB^mkdzzF2Q-n_kjd48I-y;a1e<-nlbrF^TJUZ2k!t8dCJRy{c1_(MgD(4 zb8t^b4^kTQWQMUvzn}v;XbH$Gjin;roi0{M^lDWV^K^^uJ`fC7qR_o!bqrf#h>M*) zdbcc{65ta3XQ)YMyqw^zoaMMHhMWnres6HZ%>t}8e<}>j9xV#cbg@@!EZOvL4Z(6J zP*Nr+@l=25QQA|na2Ft(f}IAb;^NzbYxDY6xHG0*F_5cGJix~(1G)P_H1X~=bam9F z)=9K2!O+4@Ak}PBTG{XfOqlXDTy(-sCuZ^2L*Q;gHE&!jonm0O78pGX4mIItxW;Wx zhgb(sP<$_EUqN+LTbqC)Rs044WRt!qB7iG-RQgjqfF-m=X5db^A^Zfs zR(${!K~vZYsaAUc7J(dLIlP6xN13zSoU#%~gGMUjWo6Vv-O02NCP_!I{LZpFq8rkr zdUjfSp`0d@s8n!vRpUb`1hI4Md09#D5PE|~l*F=}IW_ja?L-*Mp5lylYvM)2qMT!d zT>~qqy>iX#Q`FSz@T%>_UI@cF8%Z#-NpysTX@ih%+ zX1IxQ4CVIq-tg*4Nr`Rplm5@*1rzR#{JYwldAr#?B_C$i@n!}*=gJ(Uabzd@jggw* z-Bh*;J<=#LH4yb)M+_ClK)HN9)_y3AD*j4;n3DY{M%UIzduKmFnVVCYLDR>u?^BqUBmYS_nTv&ZcSe6 z0G{YOvUh(#KaJLWnexzG>bE3!O%`=qd8J2E`4ksG{>AI5nWJiu4FtgJ5%_vkf%}S- zA((c|;&5)(j^mVinpN}yb@A7IaGpeS5mDvcw58ZW>xNch4%^D?YMt|E`~q%78gX8x z#qLKdR+AraT{n9lZdc77?iO>an*diq-4L-2vN-TkR z5ny(W*mr%Z$z0Oz)`LDS7H}BZj*l@Ef&>}5307nqS5PPBpfCwFPCO`?s!>t_!C54d z#DipO6%(y9Wu1RMLb4;dL?smz_R3`juqO-CVAKA zb$myuQrr7OUTl7eZ10l<9r$AcMycfkk(F;$#&H_{=~$eeib1u)?gw#|STWsXCedYe zyn-4B95HGV8<ZOvmk&F? zJN95^OE|;9M9EcKDs`cJj=V#@*Ec)#vtq|5hN-CiCsM7UHg*g}+@VEBhAB66%VQ%c z8Ae}po!<;eEzrE88ZI;b$?zIVJ)rTSMPuPqkL_UNPTAQIrT2Q}oT&gGhA^0-*Sai#p?XFU|6xG`93HSVcZuvO(`FPz zPVmM61QS6A5g~Z|Qy(U2;2()sx@sm<-q+h6e?9+uz$fy5`5ylz@A@C8z8%T%{U*2& z6>x=81(1*saNytZ`&D6-%dky94q|zMLd(F3czmM;CP?fRLWLl6y;H`g*ct2V&)y$i zUuD0su%H()y`%IuG^s8=l^I#N`z3Q3jeyJAYb6icwVP=Z}~(BEx1rMICbX`aN{mk8B3+dZXj0Mb@CSSTBbnWou5lRvn65m>_E4MenV6 zyjSQ{H)3`j^Xy)vA+d{c?aEJF>nT{Qnz%91w^FbS5q>d!$h1h)#eOWpKo%U^Qi^j{ zZ7!LPm+c50m&VeFm&~QF@2#yXkSd9%oo!qGE@<92mLsI^SH1*M$!*>oF=lD zZ({P2+S>k6P{z5hg2VkWImNw+fcE(5NZ&A(mk)9Dc?$hoCabroUr9c&AdhGO1Rt^` z&j9j^>5HhbIjjv_7f1+FL*0w=ci&L1`KH}#{1?;L9n;kBHI;J-`aQbIi!{nTB3&r0 zcv&RxEBC61AX}a-%%X8|!oA1dr5I(tO)}>e^q6Jq$t+yN5E2HO37ld8ca7a@mrlD6i zq*_t5Yp#Wd$TC;M#ncf8a1`t}S=;6qMSSQIIyO{n4lfA(r>#R70bC>MS10f0Z*3iT z{tqkh-y3`X8_*|xHjwL*R#0S)XrY05i>TgeuWU4$XcXeUpM1TdnvzTOBlEs;q6cng zo9;XjXT5(o;zkIr-PLtE>(|qz#Gi}lY}xMzHRU_fAdHYl$Q_hF6Qq=ZLq->LQp;%- z;D7_;e;xLyn8}ykCm8|n8qc%5qkK2yf}e#6aNpYK>l4@>fx%P-iyZ8sqZ&3LUS3=W zDuOOvrD^s$N_@NM7mR)ZDq4-b`VIJGeG9WS<3K7`oGj`e2Amb31nTz)I+NP1i&2l+-92^pN zBU}M0zi8?Zcmtcgb%UYuhmMs!Syrv6Nqk@ZFFrMYf*&a8|RAb3lhH*Qgj>ap%u91A9UaOb9(n}5)3vsGtky%jf97GAR`&hdGlnj zM+SB8UoY4waSf5u3b?aphK|zT0B3XeTX(HpwH5R<-XQ-PXjFvX-;6(+`Uqm_%I&r2<4A8J_0qjI8G=vx!M`TYG2A*MiqQ@Co@d8EMBXYDSu__7K~`AJpNYA{TqGLRGG(0q$gkHP=SDATz=_gMzVdl<%a51R+mMR|Edf^Nok5w|4e`NUxWSK0HS0h zZk8=omg5W~+kamKjZwrFJ`&z7jua|_yn|{+vgJ^ zCq&)Ph~`rwhqhT^sye}(!IV9z`)7&MmC=Cm%?o+3VFJB?lp5L1Ynwcl!dO!sAnFAe63 zi-f77zGRhdPMEZAsj3uSrydE6+kQOD+L6VRZ5i5nWvzw*w|*I;hwbBM=ZySG?SXI0 zy=Dj{12lbTC4Em6Cis4)wXH(Ya`4?pp;I}pcy@%rDVQs>zR&4%(m(QHLZV-59jS-g zW9=bIPDG=_n5N3n`#@0CwUlB5zibd7vb3cQk=;=-!y!;z8PJC|p+#~`=>Wfg#k ztqg60vTpXj5!@(j;tawHZV9*cV3bN5l3!~86Z>aBa#*nK-s$W9WBS`g{x6%H{P#uv zZ)G=?bw?y+^v^9nTpI^InQ)f+@EB`l~-aUk0iLOwu^w`a@iAU9YZPcbQiilhr<6K3IIT zJaD_M@NxL}e|Dk=>v6Ll@!`W|VPD~i`by!)Wndk>$XM7jCOufD;(8kU^j4|bG4R$} zdar`SJb0$DO-*HGr^9B}$?lmU-?gsKf`EvZ%5BWGTqSv|#xxUOcHNWN1us`7BKo!P znrhgWm+oxh*K`li@v+;`y8H?R4+$JMv|bqQ@TG1MRA`b$6n}arq%t42*qqhFQcJ&? zZhB4|$Mo zHQHQT&`B+vp%-M4g@Rco!7H~hwQI3TM%TXhoME{tmCd4dL011(VS4X5uFWo7EIF@U zDr@vBGPG!3KK{$*zH-XJcsA}*h;}teJ%VG)4a~v_j#S=~q|GxrkHip!^tZ;WIjS*Q zSzGT*oGU_0wk0Fab=6>X0;`SF9gTWb{cknl5dxMFHvu7~0T%>LAue)*;*eq?F6uoD z1bPH}1PFw7AudTr?lun{u#%?PhiRmshb>;KhXgsPHuHzxC5P)$>=C&R#PK1~blak0 z-SWt6%eiB%b}Lk{=lvCg@al_x8-=C~h}-RE+)rg|^bl^j9ixlR<)wO?{m_SI#FnE8 zfF{{vH%;mCb!@OqU$^cs9>@5aVl|KF6c|TDfTf6CXL9cc9))chC`P)ymA)(Be+3+b{)-VRFDZ7-|3>~39Uhun{bl-Q_A7tX_1C)q!DSL8BF}-KlP7q&x z$$p~Xyg>Yn<7-f`fc}a=1S!W6(U`t+Y)I@A5Y#I#3n0R+X8EZ!l6q0-O?z}NsJ^GQ zunVPa@0lRKY!!gPjP^beO@tQxE*4<&0Z%~ z2~n5eA)1w1UsovXHo-ZkR;@4VJoBF=pfaeIlu~ikhHpWgnUH0@?ayuP-MZiCumkjnTlstq;gH8!<*4Q(~8xgC5+iOcr1&*cU+TO{B-_1qP` zyGjEoJVMuz9_GaUpuUNIru|%4i>yBJCCbxX;N)m2%g-$I2(ETYV$j}H)Zl}7gO>n# zPvi5j{GP0krwc`nuUwGjT*j}gB;XZhhlEEaaGXG*1v88Ld9Ov*bN{;opq-&A(0r|r zkwNH$+cn>3l!O7B-J z_()(2J%N|L8V3LT$7B)mL~dx@uM`9T{dWoRzf21MXOQu4Wr6=TI3RdxD2pE(J4_I5 znF+9h`2QaG1N@%@es@Plofy3Lth?vST?|m-iqf~q) z&f*6<5z`a=F+z3p=D5P-8Ajs9IAW@yL#;>k~NI=$X8J}bb zq6i)F`$rxDR?(=J4_Er+B{6$!hF1OWdYMUv4B_T;VCdRLfblZ8@mf`XG57R}3Hp(y zpJ@ueIp@xY6W!-+;WPxN+HvoX@~QV6i_Rlx@i9F6@-7)m`>^Adc^Vby>6L2?8MzLo zZner4m@$JS#eGd^G;aoPW~X(#-+$r()~Z_L5G}0j#z)}ea~p=y6(E6}3L7vCc^x#>~eD)nzQ7RxwAX0A^n z!iM)ElLsp8qIWf9-@IVz-w}o!pxjbGr$33tHz2WyV{)#D)_+R*SP+NtynBl5&vmj)t0 z91}%Iu+i@N2Zlqpw(=b3_2d*CJs!1Ux+N*n7GyI@70iiVEu~7Y9lP*8f0DPP{?=@Q zcPmZ?1jCRvW*}V6-mGMv=4w|xmFfAM36yQnTI!AqM4LLtP~vWm?$;02bFIFX;uLx9 zuWY^^9-8qXLklX{K|p{Qwp8s9LX)u(PsGp#gpjfMmH5YpkcaF8{25zHcbIHKnW}dj zJxlp|abjhNbN938o`O=7>_MW93a%R?m~cmCo{M5hb1jK8&7*$ z(jvi%AWqf-gSj;vPb@4=$*}ywA9H)~X+d2mGp>L{rF3neSyG$dNmP4QK1}Q$Op3~q z$fPxhomo0%9p5CRqi3LjL}hIpf=HgN<_-4Fw%-^dKA1|C0|>f~&`D7>wl^C72gB^` z@(9v9?_b+pRjF+v=qs^8hWNYf&h-C#yZ_55{;2&qtpY72Q8`VA|tFO6@bnJS|DIA0VH>ZPP@2 z9n?RL^sl@gU%DJ0w~o&lUrw8^qP|7sQWy#e{31w=hZiGatw;1P2s8=ZFkwmFh=G@| zGI=LYjWFDf(8t)y01i#DHc*&#%51-!IXO8w)tkUODYCwCAD%5k^lDJ$6Pszg#4=U1#grUlM%&8Ix6lGcaLvN?rI1=Za|^sQmL* zc4TJUY*THnGE1{ui+OqiyV#18sG`o6&6#f94@UNakQoBec@?G4-Z z*CfE2XnNsp;?iU;O{UuI1?V5p0noIJ9ewboZi%}<{g%*z(AA6`z1Jjy{`jLYaq!{? zagxQ8O0rHG&*>fR)ASW{4Q>`5NHEXhnh0)z8PvL-eY)&WANMp!jE<;Bqpe8xc_@3? zn!#$TLY4(SXF%OX^VBrAaOWGJ2J>5t$EM-aVlNx_^|wQ0S}5<}<>-LCJTPktkDwEz zJ!*U%q4uzF@RAVxk~}1Q6m30_(LzK$^PI*L3s_$6if_L96GR}g1j zC=^ve^r2@0o;g1wVS;#iT#+LT)q8(RF+p;Yj0t9#W;O_43?(VL^A!q`PyEX2?-QC^Y-66OW^dtN1d+z(r zJA2>r#(NC?SCXNU`~vqcq}0dyq_9zlS3Ilos{4c&gw7K)Pjq%V>JSM0XYW z>L-Qc)0>A~U%(Z-a;d&Op?K#)+;LFkdi(4lA)S*#)E^XagdsP5ZY>jrS}T0=1miq| z+4RY;oH+Y?G)1e6PA6#W%dT%KJmMPDnxEuq?oNx)faD{>Z)~daU%udaSKM3wTWn(d zKf$JdcDt)XX`mip`KY6tVGV>y#L8N%=GSWqtZJaZezp{3%n9yQMXnVOT+1|db~Q^* z7OlEBJbz;2onEPx)t(s^5-P68mYja#oBrME?(yi&4B7$-1-kdu{q5MZ5Kx`*IodlrVmP+wG!~r#&}L zl&WzrAoSt8YXh-jP;=W1Z)~JHuO4u%oWF3f6f4Dv*m9$NWIVbkgLg#;@|_Z-HNQYu zBZVm<{wJjWtFVSF@rojxc?A&77I=s`T;c&)!qkn3E=f`c3$;&+Ts96_Kzj}g-7_We z-3*(zm{|havfbO7>8KGpamu0uh*Tdp8#&z=+rJV3#B#QnnLTHj-iADlYvzW45K<_d zA)N*B)yp?*;MhJvCC(_vpHr&oMgpEjUB5H~rJ!T(oX-^_YLoLO?KfD4hWC6bR%F6# zfyuNEhTycMqQl6g8xfJg(sArZ_|iD}^J}nQ+STW-yRRRBYo2ku9_x3z z1!6PBgH?ia?L$#SmI-w>fJ!qCB&3dMX^8Wq$c|1bL=LKoIouV; zy!mDdKcvCb(7|2r2~a7Q*B#xc&MiE0q-!j5P7n_qMAa7SQ;@3W=aU4RgRR}a-uN46 zk(eaOg|E#FM&#lGBk~g@?LR0HQ_i_M#|*;dAyZnD93(-xwb%x!N}pWCJE?#jX+Bw$ z5^Ju=DF}||uA=3hhTOQ$;jfAboiODQGSY{|j-}N*FXwm%R9b!yuRHZZU5Z)$n%u{g zs(&}HJ4B-HjYyzTe`CW6ZY)C(taJv~)p$147VP2u`6qtNc!5asE=dDjs5H}HogO}_hM)-YWFKlzkX_9gOqo~Y9Zr=;#R4uhIMxAke)FfK>`c%Mf#EC2I zjNuQ~1e*%X{loD1T}{qXPXFi8uTk2h2rmtmocBi@a+#jV1qqZqaFQ%rw;LTwo77oik!*_$YK7EUYLU>e06+)TLh^p# z(Pjt9DJ&4#HK7-0{QAm#4!K*$LNG%U?SIM(TDsL=lAghzL2@M~HTjYJP2s=1ZIYZ67V?4AZ%H#dCQ$J#YKB4oW1R@DpT7 zn4RyvHF)}fxN39x_qvbAYS~-)0g-)0>nS8QnZR+dwCq*7@OgvhFuU=v}XlUE=KJ^m-k75s~aTvS*cJq z#uJ80YaG>}&2Dl+mcZ8qn%>chjq0aI}UW=#5`M zgUk0(qw(NXDB0um@U?0Q^7klTV1rZXm3)p|P&LA=Fn0&-!NFSZy)X-GV8Bg`=@vKn zfd$s{VVzF6N8A**Hwg1AHv2j)GKx8TcyJpO*6nv0OD!zud4l1#YhVLYT5L?u3g(%C zJ4R0n)_RY9Y<4FDopG>epoU5Cfz4`K9yMR-pazB!nR6pc94fa;v;3nP;iu0o|TWjBoWwtZ+&1t=;x~=wNe3)UVAf$hE zC1B)ZR{h+UBB50v^nh(q=qgZZ*cQc3ThOZ*r`vbR0i>D3Wv zVLDr^jxVmP>yCPGJS^r=ZnvhnD|RWMyGF^w5GvU~yBU<**trG+&ZE<*F7EIKHOsWc zgAyoq`MH8mqf_1-N-nt_nVM%N+arF44oORyKg1LT(OXrz|00>Wm&+HoWNDLxE>)np zqSy#FlW*s4xar_@4+7ll4F8!Jurr!pSG~R5pv}9oQOwB}$-j061MvF(o}W3N!_~&Z z8PJD*5OVWpzg7f8TgxNW z@?>1Y^4*KTY2d;d`N38gq$5lU{5iXE>7$Qc=frroWu$%9#MJOExCp0A9Qbn~$uc=& z5zG_^Hsz)|`Aa9Bz48zzwES4t2k5f5 zX`GiITwXCXd*#1>(R@DOkRq1=`!5grgU@|k8Zo~~Z79{DmRSU=sfqVrE|_srVO+p% z40F7?CY}rOW*m4{#uVE@)h$F%a`G?fmXE;3-IBi~IsXz???P@j_5yDpJOQ4rKhCrx zxY@@ld#g@k;&av573XyOh@$0QRwhQDD|fcko-L(pZm9D(Est(ld|&{M^i&18&i2BD^p`9j? zKUP3Nm`xY5?~U4&Q7U7qN|(MdMw=Iw|=S*WT98#Q>J1g8@=8zO#~ICIXe8 za&JrJ>~Q7|Qc0=waYt-mlHg?E`J99Uu*C5%^I3`=zkRQuOfuJich4&F{q@&rp#QiT z`@g$ty;YB$aMaP>Y;P75N;yJ}IYVwQ$hHWjT@yGW7&%;x2k2ss#XIeS<38$1TYpvl zsy<(i%$*Gdo(QHz5g;I`rDxa0qXX$x2}(IGZuT&`(Fv<;#^tq1y}vrA%WI_UxxenI z*Wq-xy3zEw;``PLz6pje@$duC2mk<3kef-;fRp6e`rTil;*j%6c<8rAkj+R6Kk8iG z)wby&Zbmlf_jjqaZJ;)BCD~Q@#dY#*Fw|1|Ej! zVDbs`Z?tP+7JlrHoLU z`g9D44h{Pa)I(J*m@-RKw>ng+-{a#db0U56^+!L>IqboM@Eo%-`fzHPcuV@Cz!Q@= z*ZmJexy4M0^EE$}G}EYxsW5O3(45kwIKEgk=b<09u(WBZF+=SdNIPbq2#MBN(P-#V zOpzZ3l1>y?m+zxWw+vrd=0|vcZ|9-@T%5e~v+jE=YsF6>kdR!Mze3}Br#MA*Xx(H5 zB8Y6p**KEPQM9S}2Me*PrKA>pe5qtfAr%ausfS0g+Uf)X*VDtuoiZ0)Lk=Ve@3i*> zjn#OLuzr5!6=C%kkxS>)a6MbaVbknVt5M2M;BBembPX$3l$!4JFCG^PeudEl^g<+7 zIa}^DGFl?d2yx>%<8UtW&uXf(tGcoxl|L0;v$)W_zvmzPR2|9Bn-;IzRpm7wtC4On z88KjA*&rt<=$gQ3q62vfzGPIiL`7~2uRW54 zTNhId#9}mwE2P44s3d$f@R{JRFWMq4!GcKUqOc*D=$ECz6QLaBM6^aCy-q}8qTwN! z7>tD5e!=v?jTA;&0v67RT}Np46nc!au!i)WiwNqnb<7s;+%~7V@>eO7LYL`U`|Twe zJ~&#gGc^PN^gI7r?ZC(0J$%08Bx}uWatA7qf$dy^v6b~Z=MRbY#NY72Kp(*FASTDq z!DT^o`a$x;z@h=T0`!rLm((_2DZkNgn|;t+h2FIEV*Mt+bv#;$+zDedw24MgzFkj% z-F`ZN<`qX<@fb7UwsghIkA6X0-`WK{f6CsG<%fRACJ3{k+-BvMajn*{fpUA%=sxzL z+2Qul8HmERhjUxJ0`;I7pSD1Jp{9=wA>OrJ3WpXn&=)&CmoRD(Xd$l(spDUS=ktOe zTgC0ce}qWUDbQY9DDXV*Y9NBNUU`G6aN5ws-EWugf)iWGjk(Xe4CY=rg>TvrDrDY` zT>ENFg&wcxVb<5yR{v5l4#9JG4SBujwwY(KITqPrbWWT!BfBp9eC05p#)1>CmR!uR zw!6{G9mSnfWiSz8Ho8VM8CmE_hR&mh#!J#)l9MRXL={ScUmS`Y(p8LUvaS>%bEadD zJtGK5iLolb=V5s+HH&tF1MB7~lwogTh87eFmbWJ|=;X*>|E2xvYBMwl`#y^J+@Z7p zaZjTFazxbAlUL2?*xPb;4nxwW%t)UpHaIO!Ye^XKO^&Znz$;u>=QHGdM@+Bq^CP}E z(g=lbS1agDmq9b6+w>fP={x(5gjn+;qtqdt&|ByD<-JrS3E#LAtWr$rs2y;J?|CRi zg$@`>&M9F5_K4Wggb-!D*8fznvNa-!yXVde=x>};)V}7!Ido0}33v_m3}FCyaRn`5 zJLP-l%ngjnCE*Y@p5=-1Ob~?U(CztC3I-4O_*8_<-I~_e%CwEYHDsA(OJf>$?Yh^X(XVxW09HX?M95&RL zZPTmYrPI3tyNhO9@mW!f#QdUWk;WuYTxdhg4>@|omMKFT_gY;QVQ^BCVa4HuNmz-E z$Y&@Gn}f`@jfUrFiN9E?7Cy=y|zwIw)Pf@_5S z3!8CLi)Kqh7mW#QJ2eht4sb{rDUm@tcPH`I0p?1PD114bai$CF>eQyz1nSxf>D<&x z5F<*bFxwuiO*-px}R>RmUyb$so z+|-pL{LU?{(yWTRUdcs?@GwGR**5ghzKAS70_aY3%3XlR@u(DwGbk)YOGi^nDan;e zEXeNK-Pi@ug@-j8*{4~oNHR#O(xI!EP$@zrX<63b1ELBt1+4yie%3_C!t{HwXL7)C zAUa!ogXy>m+ZVN(qS2xz15Io#aA8+ImK&n`m@3JBVesnDP;YF$)N-X&i zcQG-EcTr_mtcl^n=qbt_PN-LfTHA})#PzW|Wb4s77v`n0o(9%(o&P2y6!ZP`?fZ@yB!tI9A=MJOSSW!OeTJw(H=#pR8o#-ol=s>uCD*_~v{o4X2#Vp|uOkD6F z#{AEriCD<6DA1AJrV`W~pVGT*y00aqq7!`x-5+c8U#(_Y0@l7*L=xkIF-oX!%HzFE zb-*Lr#nc9>g{Xab;xY3b<9eus&uuzwmc2Qh6S0;aNWX*S8`%uYth54I%PqUTZgg+B z{xa_&rhUB6=)}HBS%_Q$b4ZXr@B||NiNO3~i|A4FnZ-ZqYMUHOXJXS|^u~pi=Cjba z`t|q%I?@n#MwDL)-!0UQv#Q#8H(^*-``N1=c|-M= z9%@*$AgRnRJoqR=)Exz1q&|JAdLtI%8WC7kZ}ldh!el}Vlj8bNMnx7r#d&npSMmu?~TI%T6C z34X&a$7&@B@_VU)+@G-f-gEgLX;SMTNxz3(|NMF9!}|A4&sN5UR>r3EzvHui|4H)y z;ggpC6@5DW@etGxkdTlcdbR)mU(fWPKSWMK+Vtx`uKw_bf47|@if#GY*w)|T2Xtve z`ehh$h394eNckaDzTXXcqo8!8?bCXD|LY@150V!Bmo3Te&inOLvu?`*ljdGVjCL(T zXD8go%)~5F(!HUFUrKjWdJzNBw0t78m#0@7c!OJ;3ao%ntdQa-w!ddHK|sL#%lkk3 z_5JnNF)Qc)$#DL=jr<>@iiqNd?p8n)J+~OW_BS{}Mg;^lg2Mt5Twj4L@_0I=TI-!k)81&QF0g@)K zDglXozW`^Lk;=bZi9!z$rIg>2`k6MNY55asg#V|^Q~d>K5GA4I za#~G(g^R+Gm#LR8MIu!mHbz~;9hntgLE_6+t*rkJgKID@8KYq+CK!f~f(T{+{?#7^ zOKvj6rN8quzlZ(T`(EJv-G57+@Nb6fZ0Kw%=w|3>`p@#6e=NOs^pIQ+17hHS0yf1{ z`;3P1Tl&`u`{=ib6vu7yJT_~ zG>y>RSUjdo_j~srVTFk6P)ym!qRxKACAw(NYS8MFL5=S;9Ji_N;7ka_!Y0na@j-)H z-@|*TIAO^Qc(rd)ej{CbBWDcYo%fFQy>jEPSNt!lHvab&|4r@l&mArrUIp*RfC;Gh z_Srwg9{~g=qNc=OECLk1JnvVTt;Cd)tUD_NL1z#Xa7g>C{Y&G-{q3hpk#R(fJs_d_ zF8hzUIp)!BKF*vvwONP^oJ-VJG_^}(V~J0yE^?Roo*JAIQ%}H$Q@W;@Zi($>4@V5b zqJslr-E)hsJ|={fI1HwqKxZp`0e&yQD`p}3jD_4+^{C8Kx& zd}>5EyY=A#DP=H(L?4PIRNJlpF}LK+iH5fXH2m3ADS}g0cx$H?(z02{@UF!X`Xdt< zq1tL=C+4bDTTbTFB&8>*D7n4NQB6)*v^PLAQDY>p3oryA^?1encxzeJw4Gf(Hx@ZW z0lMxA0M8}6 z;aIa0Tf!}U%bY3q3y6o@@R`6kb+)DCMD{OwX0EQ(>YSb7@?Io@5mU}sb$0d;72bCWiiC;`_3Gtrey<2 z{E_XPkr7aXx~{|!o?CZida}CvksU*ZVC@J<9`0)S1;IVjy-zuQCSaQsHXil_ivovX z(X%@27i;#^k=!dk)XdJfUH@8g05m);ssMUuC3WHUARwd}3T6Nhi}Nd1p=FLJ968V5 zGntMk(_qb#)|mY!R)nl^mk$L18f|M1d>#sTULMV0uwop?tZ}=I6gvkUQ#T2!j9ONk z*_BD7ZewTRo61SlQR<`|Kt@m*&@}7HvC`}M!&&6Kaa$C6H+qHl7J%& zS%cn7M^(h7xPKIDmZeOImC9XdF9>hRgro||a@8tw;pjQ@J)usm{VuvVkkCo}Ux_!K`mXG@lsLMd6iUi$d>CF7W|OlStrrMGs1zu;Yf9RBw1dTvPWF{i+b`-|#HwDml@ZGK^0BUEDad=TSK0r$`z6ZnNxL!Z=AQSB-8 zpRHC(TUy7mwH?Le zf2OstnC%xs@!YtNS--zDf3tk_sj0!>7V+Bs>fZ5d{hZh5{B~@7?~T_JU4Z(PI7_J$ z8e{>g5d8uhqykNWcvB379jXwmQmk|A<4JU4eRL_+y{^I=!|KJA>H#iXX2V2FWj{D^-Wi;09Vd@tKzBvVa=A? z&7X&7KTi?PmX=WVD`{FdCl`F02#bpv=N2lurHqJf-&D)yj;=@Qt66d== z-Tatpao9L0+Fy+h~TvMF;l~=JwNdyKy^#x(kGqjatQ0 zM$_Cl zvm=WcNsFTsa3GW~lc<sO7z*9kL zKmDo}j#3;dT9`CS#c0mJ!o^Y15M5^OrE7gWw;GvUMK>4H$&>}ep)jpyNZ@9CE6CXx z;`oBc7>zTA=M0Y1jzKIS#>mirdpNFH&3*mZw2<*lj`C}?S(-oj0E}5&BgMeGV$z-AJj6)g z!E6e$mKe{qy+gQCav6GhJab@zYePORl$NgC-pnXf`80y zUmM^A(=HcntH0HPE6oFjlg}biG6I`=q;@D>1xb(AqmhvV#tgVDQ*&O?V0n2(Ots%u zZbz?L^w)=S;|AdIb$Jds2X|cYTil(m54VuEr$%z42JG-(c)EGcwl6*KzieKL;X}B$ zh6ME*e}h;H$8S;ZjXm>&A{w7R3viVt8@5@fT=Az-nVWN4(bICSZ`~|iI8ifFpGR|A zl5SPt32PQu-L7VT3k`SgViklQfrhtu3^^dqc%g6s2$xwRHZ>6k)Lm1JvX}mtRczSw zT9(bk0;Wfl916|!TeZZG(V}eW8mmLK#ID&GPl_ezY#2%I>)s@1g5gy!G1tTYw86D$ zsCYuF)M?xG@w{j2s7{*Nr`|2yY-_ZPY?YQ@k~o*6JH^5m1gZs!d> zHI*CEIc;4U)uW){zx>s@44*OemAG&g6VTLNZjph`=7eMOX#QOpv%aKr zPQ-3yvO&M9{1gT&m)1l^1n&$5$)Gok49U~JBY4hTpck%DPb5CZwh*}r3n8=-8^`AAcTj?h+v&K2ksoL3jW-@bwK3d z0tCtPk}#&7SDxvrF&NHWs8@`KG6#>q(24*pd((K2Bk=tVN-@5%K@Q?f2g1MttY3aG z#2h<9xN&s2W+WjKOiW#aoMPiG1_tv1sO{U`6x?k%Gjy$3`i@()57jXD2K}O9`~!m+ zSYIP!YQl94cCEu(H@h9uT(`i;);Rnon6JWd#2NbrYu^9dk15ymE=({yczuJznuS1h zQliA}TaWFTrxAKreuCh6*M>WL=rnY~eK)0!ua=u)G8u%U7PErN(TZkjU*$M;;K5mf zSEgF3SF2XDoqSBS?eqY_o0#Qyr=sbhC&WWVHPta=2bXpuG7VQ?@4z{$+{ofjFuv{n z!|+oFZv??fDwqt+ROvW$d48p0-uWIA6dPG;XRW z6O;cri`>qWEUR^hhg7i4PD{aMDw}x14pF@tXZ~fxbz^}cHb0KIbgC125HT>roKo_D zG7-7RQEtc6#PHJwpPMfw`|GfA99X9~Ts;<7(*XnEUNia`Y*LciupJkQcf-pNx13G< zI)G}RNs^1o{{uT-3#G6fGrmW`jz7>b$%rnmu7r>tS{_R{F47RY!yVU}sQ|yLn@fC` z#C?DRH&0$0zVMnB;?zC~UJDyrwkg#NX+rF5NWkutM*0qnRE1+2C90{^H9G@AM}VcKsBPmh7eMXX;1=v_H{q<;r;Y=AWdEBB2>62- z3#Z-O9gP-^U)D}+mE+kg3;P9z$#aSUU&|fYR5`~t%I;=Mto2sdYy zepo;WLaRyvUmW{r!+Z{}%yd$^Fu=WKY;wmaE{!OctrZRO-sAK8prRtC8 z+l>4$iZ3~%-cCm7z4vqZJ1z>DPI4eN^H8rs`i+L=53=|{bbMNbQ$@@kjT(E9Whm(|TtQPlw#A8q;L#k6Clb1ZD< z9L#XkuwkJBC$W5he6xz?UM~IWZ&5p+Vg;bWiLdPMch_so&)3#ko}XWCxxZnx=5xq0 zN;w1?g&U=9)AVtMLWN$VVo(^NVo=g4>f{G2527wmm{FKfmMgDjHA*^!eMZe({mj8p zftAuGVJ|W@%)KgQGArKPuPSF>JXWJaYlU{FM~rD1_G8S}tV$&$Wbvq8V}2G^du^*l zh8$DodYMVtcBYsVGP1#oH4*P@GhHoym!``iNP)Se3Vv#Sw4b~8-jtmPQZrwZdUX>W zr4?A(-_pOjO4f{=f~9vjY&pg}pHN4?LNRg>=h0Qm;#oifADb|;I*1~oGUHx=Rt$6k zh}Msoq+@||nro*hY7|>}WN3rc?k1w&X5}y`4u)EyA+MOtDOgjLEON=m^B0EX42Kqf z12&aFeHW43yXEw;8>eGo=TJuvFnN`>+(4hbW%Hc5zUy#c3{awRXOj9dZ3|xDp$3Ki zlrK*EMg%@$+h($~zFT8Sih=6d3iib_-bU{y{BRk&j~>nE2D;Dey{7Uyb~@gg4&2{t zk9m&!A!B{h_3Bu4<B#c99Y9w3|FCc>@e@UlZYFev7^fl(nib1YRPF2 zg)fKZ?h=I?<1VvC`O`Ynu6><2@m1hGaQB_5YhreF7-;VWQ>}MAxpaRi$_R%LZ6zVW ziZez9DasgehEi)djP5|IFTZ7i@DN-dTg|4xC;% zDK_%qFgof}9wCOPx4sD1&m0f}MFPC|$QFu|U+sp5$IKa$FP`p~Q1bT|UI7XUab!N#WU3SqLNl(6ECPw#Ci@d%EtPqgg_t;UG?-{G5cPsqs0QN7{ z8ve=x|6zCukrPrq0*L(`M;$*{=jzv6q3~7gG3fQE^n?QZL=`FY8dgY2dSyrLVEBOK zUH%B0!XYyfQzfvYUd*HCslT2*-agnzdJA1Yn8+RKPN?X za#n%HhlSTEnFLcS6pS3aEVL|?&!5BXeE5AY(CEX7Sp;~Ur^su!jfM&y9Sqae=O9)ypxo1ZI*wJMzi(eymMzNMVsXF?m44YAQm3yE$2=X zKlJ${4=nF^bo}-n4Z8nM61?9D{rl^j|0y~4PlS_`_*ZOG`BO)Qr7o^nK=%xFS;%ra ze-W;th$=uLI+zWv7|^>jzut($>8jBp`isUr>mvz?-Y<&YMOk{5n9tn^+%+{$Xj?x|ak){KQ;rGhgcjY{SWl1N9S z&w8`5e>{C%ZfH`e5c!Ns?qoGa64s^Lutr>URM_&&53oBiY{1!b~&|A#OSJ*pK z0sc$DvocepT(9uCueW4<>!OM5Tvu&ow4g8hPls&(QiOt}E^T#Z8BBdf-u zEnwgZ_L)Uv$rgT3|2U*?iluFbYEz0;!cT4N+srJ%Ig`(!dFgcg`}Gr`6YB+JV0tdI zvF@)A6DwpxwlXqt?W9!R%!dHf;VK1(l(O$Q8f?))cAMB4n2k{hJowv|ATS!V21t1y zft6hT5EM)@bHa)Hix!_)P+T&_W3tGzGTT1UpcsG*C4xw6Sk_svi^s-{mSq~e82=P_ z!{Ncl|3Vx@Gjw3eY%J&7RYNmuHa{DP&FoZk2Pb_lS6S7f_X=Qjvf5!DHrHV*1CI@J z2gvUF{;>%$kFS3cz9%f6-WzxRdK1$Ar%4MriGP@PMC6DRs34-~mp#@vjwzC}RVY6M z`{hzJc7LNz4CpS~f|+n;*tH#J@@?}bWSs{PpLmTBFkLCZHSNA8QE#6%-w&8ZaS9tN z1SneM$wSYSsVglt*HfU`i6c#@0W3w0$-7!#yR*xt-Hpt}+9-~^vUjc|`OJp)UvCFtQ0wXFBSyYTp6Lu#kIMWMVgY6OSo;wS(6x77bKh>X z$sq(cD~O{jL|mmTdq_6VK_5XdV$|=%!X&0HNtiwpiCAuDj1%@*U{MGU$vUb4TgbJx zaip#*^>rF#%%8oqk;-3P^Cy|T|Y3 zjb^3g)nmDbtt(bqDYCd+L$GQsovt1h9a%Le9ShaIrNDN;BUfBB{Rn)G*=b1Q%?~I~ zN@;S~r~=Kp4McFR>`5BrzJxHS#TM_ox^a={foR!l+Zr}cGbKgFz-Q={h8FxzE zxD=6H7$%y7c&{#!G11v2QCWS!c>;^JdxAxoWePctCI3br$&a;r3!Zm!lP8rT1z~mQ z)|J2vyM{*cj(c})_9mC$qLu7D*)be#G6Ylo8eIOBsJ4CkP_1;bJAQM%D#|UsSmb`) z;6{cmq1gZ@4(cr?Gt%DZSO&i)#BKM@?p7ECUH4rfu5e0|?xcPcjEulv`l@D#aqcu( z{N}(1Px?K$*Uf#Z*?QL3z36^%fZ`bg`27MzS6keUbUECm>gKV)4J19^R|qhjuJ8_B zK}3-D_NXC089rhH0hzNn;SAJ>p%+I1_=RZRUgU*Ojcgh{*Ujj=DJsI{Uknp5`&9*OUPx4|D z;^N)E0OqJ;CEc4nv>CRy^YekE875Bh@T4GfB?izvqooE7-HttkFi`9Xg-ZR@SuMyL z=GmHEzt09@mrSEbSg5wN-DsWqkMw3dqT@ zK3R5j20ZoG$|lBnMyXGmSMM036tNJ-XesBEfiTgd*O-nt1avfuX%5c56IJ-Gv1;ED z2O3vEhOuGg<1Hv9rn{^ZVy|A0YeJeSZ?K=ANmoL6;nuNuN?ruLd~sfX#(?t>kyu zxnPh8d#yiMTjgvlESog;t|v44)?y)7EE|CYfHQNPAEeRgr|=XKG`jhRLM<=q1cZm7%! zcJFo#X?s^4Qv!FuY}ec(R=8$Vkir#Azk!!&a;Ck&f@ zghcgAV#DZ>fInQH%zZ7+ZU@bRt=cr4+ngUR0q`Z}X!}z8p|-ko)yd_;+PtP>OVRed ztq&tG`+W%X^Q{v73zxd_h;ncK=WD~o!!lOhwY;@F&OGjbsj>5wkP<8on8^>flcJfE zp~J~!H@VXqU3Ug_n_-mVc$}2iA?sG^w^?4(RwXyzWR+%4WY_P$!J&9$T9@6?Z+qo^+rPysX zL>>f8;r%GMwSh{QT@ONrXGNd3oLzV_DtvwCET#ZX7xS!XIA%U3u&J%g_XuN!D7hcj zDN?L4_h>T{l`-`6IcrU<6(Jo0p5h$`^ed%_6``G41f+h}NEM%Piq;txsu!0;04*Qt z@{b#+HC+osqSwyO^D+84bC8dj|OR*s!zHtHe@<~9X# z8L|YM#1$*naM7MX_eATCI?{VB3x%y_gt*SXH#42308fAA zw^*?k&4z{`n@ribdO;QJtmkvwkNq$}sN4ciKQZ4?;sYS4$^|?VZuO`X4kIX5nea=F zGf6S=#a%Xqb7GnJQ10Y}R~*Kc!*=AMor+bxb&fcXFkbORqi?oALP!%}wvJk>uCXhuX=HE&WuYXvsewSbBY}=EOCuh(vz6X3kt1%ntW} zzy630rh{y+*~$Kq>SH-%A@qY<=P^fWPmspgmUZbKLqMt~jgf9AEeOuXb_{#%PCO8P z$OpzS>j$}S`36vKXgUKEAKB1oV4T3+1{~1%r@~5HQ*R(h)twHx-wT#9%%?$3B)@iY zUTOI~;Q5mf5uL=a3YLkShAahHydcR%Um)4__Q*#QLKyH*kn+8fHyaOLGiJbe)_nEx zGyiq;VGP0|jx>%H%YeF?$s`@hKn$Juxb6eG=2xHa4rFV*g9>~L%4d^r`pC2a@?aJu zTG0Gx0`j$}H=l0=zIS+80psoo5oNl*p{MI6|tufag$V^9^; zXM{cg2=lEeVAcc{NtQOYu+$Uw|6gFaT})%Rf^2Ov_+XlTO#jZmbZ?%4!zF4+Ka3@ph|%qS$ccG})|5D!`O z?ZqQxy47m$gsf6)=4P?^B%jHsJu_?W8}47n`4XRR@821kdoS9+G`nGtQK59-eZjQ& zi&(%6@;D@-2}sw4hK7K)JFukv0&mSe$@Fmig>-BhI-G13DIAtew@GSoa8qkl*(8p5 zi1mI%_cW%CV*yXcNnt=W-BFkLX6%=Wlt6HaeN}D70`rz<=?OZ5EHiJz5n#;5eaUDP z9|ncqFfiw!mZ=7E%ExVYIzSNwguOtGhRN9f)97Flj?A}M1x;@b8;rtw&9Z(u^4*gWc_AOjM#@z7zKiO5SW zLkeFMLly1SbNlWz=B%L(ZPWTk;N{oF>(TKJRAK7Jenoq{Y>r!K4GK@9mdL=VwL!5s$%~p7; zM$VqJb*PzM5Xu5>QtCLxI0w*MHBmD*{*;o{cN(6UNf0HhIU6J0fV>`?8Iv`;CH#@4 z;=7e}uso1`fq1I(et3$=suo9BTszRtw6+Wuj@C)M!280n7v%|^fLqCCXzH43OI-qn zV*z#Nu`SGK=_kudUX9MG8?2{|*^!n{0%EgeDGB+JJNN$WtdPynG)!~u`6Ou^?hH5Y z=>?x(FcMO6Fbt6q(K@n&V($tOT}UI%HXf3?NO&kF%4PYtt)_X1P>iLHD6lBj9)u0j zP)>ZTv=!g!p;ZD&wv`tgfisX$t|Tq*7eMPG^smfPx*6q%j-Ce`E__ZSjq4_-oeA-j z76%Ptp!O`cdl-CIb46KwhB;ltji4ohhg4*e2W|N#)gv0Lp=1|>9i=^ zYHOe#c!d+v-Zq$!PHW*NO(bl9_EuYwf=*tfJh`@=p_S&Jo-(B$szXxu{$m z;UimSoI>HN8O9Nk*b~MUX0c%4o*xWRJ!~IMNIZQP#wCn7tS}%)&H5g7M6eZD-@HXV zfmn*uego^5`C=&Wu$P$`XrH#^ z|Hsb~68^6%Mqyz=rhjcjcxP5qUQt7Q1%O}?W5)`_lC|ZrltoCQ3KJ4eeq&6;WJuz| zlvw^m2wxvggQc0@xUeCZc{QKNGbv}yWtuF5EHub$7Rk6Qwf|6XI8C1G+Pjm?E=`j z)pwGOY4D>%(%jr`Jv_NDik7(0Rgsv~65Y{xUQD7o)(AT71Na>HH zR_vm-Jzd{C(|>9TyOK6pT1gzB`rIgsj_jf|ShRq-p7MMvGr-0oPSc-$!wttjpLWe8 zSMJcwve!0JA}<4}diJTd)Te;^byta4bRTqdb)F^VZgorOv(Dypt+)B$l~rQ)?Ry4CC)&pTZ3ZSC-UBi64|Q1&n$dEujnqk zh;-YAvMPT;#SrdfUc&aI9VOe)^#n;!5$Yz`mqxITdKDFNLa>f9O}NdCz$(;6yZr@$ z9|8Zf_sx0$x-_+rPI?T&XGYR3Qw)UbIh=IgD|IYLZp0}R=y`I5IUGVkJN6~9oEKCq z5>ZmARiO;bk!b^VSxEI%jh{HeX?Gzm1&-H3VC{%cm7&`O^o z-&$qY0UGHjveEFwV>W?P{lmmE6%I3DCXfeH1o%IGBkJ^`Z(t?aA<#o+B*)ufC?eA6 zY4o6s*`0lX#0hbx4oWxHtUs}~v&uaY`Mp~_4v6ec!nOg1LqAKl z5~g2>(%xs6u{xZkN|##nRX?Q9R}jq_>G@DLkl+pbtlq%?aFIwm=aod`OM9@|14m@DCPnd3Ma`)4v!`zl5UL@wIizA1zAVV?72SSWxQ;XA4638Z zuSjy;rcQ%mj@!1+1%_YxUS!t-0u#bks39op>Qdy8`RjOccvVpjk49sUF9H197r~9} z{s*cT&LG5g6m;)f-!OH9o4);@1`$gj)qzkv8=?TBaH3NG%KK@-8CY>nl=z2f={WH? zb$)X^gPRAl`*{lIyQcK8U$e%Io4Jb|wnl6BWs8s+psjZd^RJ^G?5f>5?dj!RI+cOB z2O}_zAiSyOkvRH#k$5pbBk)4;0EHK7rat^v@M)ohx0SCUld#z|*!VRrwHNSMH(OBg z0be80Do@b|>`O6s+XkUoaGG@C)fT9H|3SU%|I}UgkNvm* zqv7>`quzg@%m0{7W+<;Ie)v$nQ-5Z$Ld%X{(TD}BXU6YBjn~M^iTNt^L<5?A7clN1 zj>_7q?;5ZxJ6+iEGz0F$#Ky357!LO)A9Y}2E8zDPoB`-~(R^^?>f?ET&inrM2L3}o zz6TlYX6vr zeb0G=8IFLov#Z;{Wnoe{JtO3&VZ3=-h69AK;Zc}Y(iC=NdvfB`^HQC(Z`^mT*r^V^ zJSrfD6HvYk{P z8rm()VsS=EQuAwzZ%q47h{!92R#CF(CfG?D1WI*3VG^6a39JjzIG{YhmeDDf4Z!v|l1Q!ZbIpJ;}x7t{xcQ-ln|1oa> zs#dPCvTjc#G%1X3Q@qKk(L=SHteG9~GC8W-T{x(v*tk#(hgnwd6c;q<>i^k-{}O0)JM5-9;K{I_ zWUo5_&XB`k!0>F`XAC`r9#2oCuh;R$Csj@Z`!nBHpl8hef$~x|)JEiBvI8Ee`T(&d zxB98J614e2X!c;T|3tuq+9QSKF_2Nj8572(tBz$a;To{W4U<`tf1=b1^$mN_j2ru% z6$YSB=kYNcg}!3eCzo4luni(YnUtSdt(G5Xq)nDoMuLwfU0BK2Z~U!)L3y<|9tvib z!XvBXaBrIi4S|MZs$!eEEqj{;k-~gBX`?6ulX5J>PTUupLv10a)};p zo!l4aFVCfTNe7RmW#w>{?=R|Bp$BcL<(01ovO)IvbyTa&?kYZb_c-&O zBExypF>WLFo+N{Hy5trQe-`f@Hk56TO_s7V&ww zN8VX`pLJ|1Q)9&TLrj{lkYkaAV4ld__f$%zTjzD8qmnc)8%otLhqlUs=6S-0U>fA; zVz`C|ieJO!5YVXZZ7-v$B-eOXUNAI8hiI@3tsKAme08+1idfysaS~$}HA5`Cl+Pc@ z;K(Jw3%i)%Ohy?v=~?QbguLNIxNk&H|tX8N*^Su5)pUZWhKjXkKevsZD za!T_u)=-y7n#-6}rsqWaqaeSW)u@N2k8^FA{l&AEItRcan;AuH9l1g%8MV4;C}tAY1H&rMH>yIhfK zoN952C7BT4tDDa?%zaTMSA=IY-2p#&6q`b11JuGt_2ETTL&-ZJ{KG#H7%pG=)ifpM z9a8s8tc;B59t2NziDUZhU3IP{r%|fwsW;(xI-@C2zH1{-XX(KU%kqI~`wZ}9YF`ElSt6kI3gUu+H zTN}D?IMqjLizeF9##l7cO1kQZfHPW+xyp`6W8jIKrv9iG8;!gOb`&wg+}}gf#E8Kr zAKat_ZVB4gNq|WcmoHDj=2SH_*@W1|9AfgOWzf^}cHH9E4^w39C3kvmcZ#G?{n*62 z=pN24$kr>Q8f&h*;?Tc|uXKTIDvcSekw&Zv!P@geaeDzCRNe(~T2fPK@6z673&)P- ziyKRwW5Q3SLcbU=E&}IpqxyAni)>wT7mo+tEuC0QV^Kgaw!VStN06Hd^6_&9)4-0K zDP?7e^F!=twHIcgAVIBf*+BxKIN+71hPN1SDVoB_C(`!mX8k$c=KS^h1P(>HzM??F zmf}Ny$LN7y5O{>H#olM5a&Q~N@7E9QWe7%r)eRh)rwV3=jb_hdqq0}q=WCm!pVY?( zAkakG9nmD6JDA5y=Bj1Ae_fA$$uF`-(HeJ9Wpa$(B4Ixg{qkDfEbRt^Fcfncp;HKR zm`$r3x~sBcIq;?D<65zKr{99yBz?#E(JKlTuRELa5XF_d%v&)9OhqNKM7r$B!0ds8b_^o)A+6sX*K73B7w ztm!LLbQCa{Y`qsgP`Ihoi&vyx-W>AFng=-OK~D*{7150YHDdeVzKny-R(3>3;-=sx zS&hs(FG%oUbfR&hajI^1Ay#u#a}~(n!G}cSB;z!e4m;nNz$lzAIL^i@%y^J8Fgn*g zC@G(t)bpzlq2@gr02d{9XNdPDcVq0_+CAqc#9Z8Q1TTzrS+NVGr05z*`obgx6%eF3 z5C=U6^ehLmbXE6^3(;5B+h310d@txT`*gF|@o}d2I>m4CVue((g+am(dl46^`6(xN ztbab)upz$lR%~{#Ss?{WbCt2Z{i&A$wv`K0KIoADpC*B#{|X)cV*>bBxs1|?XuAPG(zwfBgko$z{$gSX+3uB2NZbNnkNgP*E* z^+;kY5m$f#lcvO4ZhGvAyn@KMk|75X?!OGcfOgH*+Qq0=qiP2Ap- zDeS-M^l3|4v}3bU$7FvMoT&R$6Y*#7wDm&57Xe|vRfwjOQ=Osp8k5%%EK;@!F#K>Y2|iRW6A!oKT_m zOml~k4#ZH-QJYOQmrqww0>BZ%Kv$~VYnK~Uedn{x%la|~ zr4AgcroME2gwONp?!#b~vE^csGk_ zzf!9I95Db&E7GpVm{YOsC{-%99}!KRCX-^wZ`cZXq?R_xnnr1H&mX3ycC3F8VzC%LvEbk0?TMk zTO&Hz5pb_j;~XyQ5Pf$ag{@zcJ!X&9_oA`s5QBh0F`$t$k-?qT5UzpO&L`fyIC$PPl^MJze)aDkO{86LsI=^@-& z!FQOALg*Z49Rti;u`-==@*beguc~!}>wTC{53H0-{`cSC{m#>R^bHMB8^fec?p1o@ zMO2gbr}+oE=J3yLAPn^>PGPI0hu4?gzKy6(;ushhvN?Yu4qmmyX$&==i%2NqlGjEha;T(Td_Jr(mcud!BcU6^$Gv;iCXFZHc$P(J9{6y=OX%s zAFiP8igxCI6F>6R!hNxoQQk&_7~@+(Z#m;zLFqd}Xnrj#u?=y* z4*4KP7^n{3}7Vo;LukJ&taL!9ps1Qa5a?AG|*=dswo4 zoHz`tMQ_DXY&27&ZOw&lZ%*HnA!89AKI(sKRizrsF{u^hH2awaPDA+=pLCmBLH$(@ z`)<>|3%dR2!Ws}VwdT^9Pdr9EL`h!IKExM>8+UFebq6Zua9Otlx)Y1VSgNvmI}9=d>4Fg83w_nCQ6ew#<{`z(xtLG!2(-zA8x`wJa=IVVn3 z?qEB|VF5CP8gI4~Il@|4AFOkRd_7Sm&R*{(DEvVI<2)4BJ^vi5)GJ8Hc2byg+a(y`c`m+`Jv@>OiRCty-xuCzK#4n$YHKsg zU^aHkg9}`B0(jRFQ@|Nhz_!TVF>$C+{4L6|S?CFHUlvgqlW(@uSRP@Xd>o4SaediJ zlrqA~S_J4?Jy0L!qB>O1V2WYw*0|Y72yiB-K&Te|Fv_$PK1HdP?fdwQW*-ppO28rH z6c!T3MwTNf)EI(`V2g@?WS<+NgWyf@EDRmOMr0t@Cw)seuj&OjN1B>zd=U)TJUPL7 z4wJE*u_>aJXIT~KEDbz{PAS}|3L!ceA!w@Hlbo6Vsypx`3O#Nd`*|zAaH1R;AM0_T zLCWeRu1qo`(8$TqyLi0c%AVG^Ivk&J?ErW2Jj*PZD!Yl45KP+>!nUuTUNiL8sqvn& z&cXD)e2HdDTWQE<66zF;nKRa*o$|Xnu39MZny(aPHYM03cf1^Q?uKTd+9^Q}49zMI z|D7(#-39&cuuJt!hDQ%PUAMqtOsW}3Guj{zR=D>Tc>`c2CBqqHQGPzn=e?BsvawJr z?l|KO1s*DQRWiv&UOW9nJmOcY@*n!2|I~uhwWTUz+ zA%%=Za+1CbBg(-)L{*!ZU%%|Vb0W|j6G3sn7-9dQ%*B{z&`>)ykpHGG@`Yxru%4kp zL}I{3YIrGZmZ4!QA|it-NPW&gV_@8^HKOzq7DLdjFrt@gJ;b&8e2w8)y{@{b-&3tk zRfNz6SdDW5oDO>!HR}O)+jPOG9K@mGAu|L&H@T80c|_;UFut-M@OFTKUM1Wj>loVh zfh2rP2WVcZLk`-}hW}RQ>f6?b9K0fiwB7O3d@@I7q&f#?T>^V#DR^l0v2~NOwnnKs zy0?EL%4||1Za-3lgR8yp^?c>&-=3wyHM+t<-7vo5Mm2{7a&d%CR=LIWH>!_`i|Oh3 zhpI!Oc97$T+KN|Q^;)!{FwUd*E|%CM>SkTclX-hin{s%6y)3Nq6rxwSrP<@T#MX#b zL{9jWu|hJ}o&EOn6U8NJS+=Q$Sls(}Y3e(WJLO*om%!jI--IS?JQ6av&M^3rB3&~t z>=Ed5^R`dKk-E36<2#}5FFu=}=g!Kty2=UDC}!1?du1niBOEzr9rmjr2L z$9GUfh(%HLJciKJ+xoVRQGL?~btktjK=v<>vELX*0nW-}iTJu*)v@ecDxy<^81E2w z=IN$*^f1A!d)aNQJhdW0;B+)Q%L=>tzQpT4T3@Pk19k(w zGkb6|y4#WO%`kaydf#9I+nuXTOT8v(9vw|;E>EmbIS%)R-P^iEP%((xsJME!%~2<7 z+%o$esor8H2Y>Eg9!T-19NfsOR$ov3vge#o@C6^P70#X|#pl@y_F+9zk@v+4v>DeM z^@w1}zskjcrq*-HyTaBnZ1mxg>=n0F8-~8n_z{Qowr7>?s8Hn?2p>Bq-9M2#G)&ku z>*|2jtj7Op;&RO+hGANQX}+>U=xn)vxzoQeSlkYYcU4|lm{YOq8x*G~dzIS35JN4a zQHWODE_AkslONa|a!XcEd4>Pei8lcn*nn^ZJh){2JoeJV=h7W|hG8MA=$W{3Gna|< zaz~w0-iOk>rzVN169uK;K!%q9ad6#T6!vM(ezWtBev#I4lG@wHFyYfbJyNguuO=RH z`sNOz#x}+d`XBknzo#D`t)p2!cpq3wKXf5bAuoR9csU)Au*&ZWP-gl45(wqn!SFT` zRn`WW=qHsk7{rV&16#GcBlfg`3M)NoFH`N~>*uwTHa3p0uLlRTp9~+T0JG4AbABPT zs_2-c<7G!O^mTm^&2_^tJlL?o=X7-iZi$>NqiAkC6=|@7j$y5}CSeC!L7$H3!BP^N z3~hj#_PibSi7b)ZZw%BR>8pJP$L2TRnj>wFf3+m;3?v%1xKqci6-3_2aTrhEh>%op zdIYturu??D`^8*NB{;YhgP41sdT%PcjmoaYa~cB=r8`r5q7sC8IW0qPmI$0#C@U|E zWxY*L+fUuvwO*VNX!Z&UVJkpjIfFTmui>c-tK!A@EsqiKTYK*Q7kP_#wr5^Zx`H2j z(3E%Oz)`dHvpRDY)Zn=b)L(u~`J z$m6!^d5h2@FnFWl7%uoQ4$m&>dY*l)&q#}#;V^{#9>~o>l0vQJXv{t;%bo8fPq-&O zFhz>U4ykrW^{nVm`2wOg1Ps~(M zAiDgNKRswi2I5UEKKR->&#Vg2&Oj2r<^&NOm|fq3Ee|!GR1m->Le_ zBGTMwa#fc+5D*PSM1H!R_Qpr}j19}t(-MXZ3P?d*0c^Ue>SdBLwOYmx*_9roq|x_G%uO0y=ZnPT1!!sxV{yB!QM-G}|qH^vKR*I}K5zO&DpK91K@9 z0i4z9GqL?SQP@&A?#Ul+LaMnJ{1>{b@ZZSfOkS`+!@tF~%NCkzV3Zr?6H@ugd_p^H z_KPKIxZSG|5V*J-Xc3kDeVO9kBEpbVn%2t7fS~zfBE0qJ1Uz%)+f=@i1EiW_xKZYg$ zEP~25lA)z(WF-JE3vPLpUInvY3tKr8gl;%Zj{>tUsKIfE2?wyv#MH3E~c(|2?kmYXefhB3s4G01-gj5DtB4$pT@y6pvvJ87N;1Wp0kTgTu8<) z{3ImLBh24j5@k+BuBK9zv%^?+G_=zag;6$DnCr1Ki+1iVQQ>2bt=Ru#OZ3^*pGvW{ zwlnuJPjHB@cW-?U8)4Q+cCx|V*3+jV^0&%}n6}wYa3}riW6XR1Cm(Y%U+g50myIGx zMI&G0w|i%Q&R<`RDTUn@C6Lw|1|VIjtUDsX7y8oarw3e-M@P_iL<%Cc>la|w#4yYS ze}CD~R3|hv`n9Bp*3^CA>1AW|d$g>3vi_=^Ipyu!tf%3??u5?B(0N--BOBj(OWZ?b zT;p_X<8rKPDWUDj-Egnt9{~zr)12V^5uj@SY13WjfBe`*oGr{9^)1Z>&F##L|HvkZ z{vNvi{>$IGTjeq1ADj9g&T`h4h6Z(azFQLZu}(-WQ4ombP%RY5YZ!%s8JIw}6bN@J zRTR(9w27_^#?_mQes@n_AJC}*lI-IqZUJxEK7lhNDiZf1w};&I*5F(_0Mifvq=a0w!Tcsr9%5LWB5Sz0Y(8w2Do2pQ+)1X z8zXKNM;oXX8lNKzEbfT&ldX9IJoV8^oJBiyq-~72ktvMcei1RV1t@gpp|1~TB z&%2I)hvVOX`U@A8HB}^4_;+eZbqGqRez-0;t8x;4ZMkAlVVC)TV$hyc0u?4*pI2NPqjwVRxvyrVzqSD4(Q+<9;emw>A?QVNDD zks7X1>SOa>EGO3}28v~DrOg_dPd)ak#*I~a4&J{_xCXuA;$K4gp>MdTMZcw>vWi6- zpiWN>`zLfoCuP|HrPZ=ehvFJ?idR(z!+5Zqwad{B?z9W`h_S!jOOKBfW6T<{kB>bA zYz&l5qb98-1$48v=-W3PI*UxoP{wx$ic)IL+mkE1HVhoRM3KU*!Y8uNIMRmW?5ZqE z)5#&Z4NR3`402_66q!v86En(;oq+7-5w4TZOjw(XRV{>)YxTjYm9YF`7Mj~aK#HnC#|XFpgvYq zv6WbtccT_0TN;E!qAV-z0-Bxe-5Sq6L3KCXZ(v&w0-c)x&F{mrp~pCosvE=3-3J96 z$0#@P21zH2;ooeYMu?eO#tfARs5`WebdRI`>#de$%QLwW?BN0al7jjki^cR(k!Qn)45{bq~5i4by; z|1EyWCYu2i59%(L5$M5Go*plQz{NLEaQgDBFN_B6g8ZB&C|&^CwAcY_{&NTi)fi8E zt*-R%H~y<=yZYE)+>i%jz7sx@L{U!dp!a{_??4nnGQy9dNB6H{Ykua4f*h;gWY|9v zB*bYW+DS-)9oHr{oL-b%`M8ua?V#%%L|(+yZ1!;&4__cXr|_Z?EcV9_MTrnrLWy_H zm`mz%nK%=Go2ms)ztROIRe?+=h^+Ny&kIMQ4*tWpK3PO|DC?FX!FV^zW7S;`I6QSh zo@>$BQ8`<@Bj&Fj>2(Hu7kME0^PU2}F#B?Kw^dT7_P6Z!@CO;w%x<)Sc~|VPNyO)) z*#j`p)ld3;3N+1XQ9kp71k)2o23Pqk|m; ztDtKkSucU^+V1(yqFQtHxZv(s6s%bh0g}O*q!t0LdD4jbd6yEXm7ra~@OmfRBhre% zn616@zG+>MXjlT<=`AJ{Ern@lgm&Kh!!0%`j|}MTm(=$^7sn+{$nGCLa^Rgo>Ptd=s5aIXQ7zX^KS~Pr zf!rV^X)^bhrBgI|lA^!Q@4e4(&OD2p&(`}ZR}YoDTCkV|9bx01Vh{B{|BA*K0aOIx zFme?SjEggKaV%k-95X(CTr|57f{4j3=O&4wgWG`DJYe89x zxUsDlT3Tqq6jE7>*w0lZ4L&pONv>-8n%LzuGUE6`Lx&D3^t5GN=^iq|Mb0!)g&lw@n{z89ed{TM)OKPmeW z$zH$nA@H;pa#)ZDl_NRDe9fOgT+)p0gQMFw0_*=a>x=8pd`IaBjH+ zn43?eHaa=Fs!Eiz7X2YK`KIBX>?1vYR2_y3&K38WF+o8@I-{UGd$CBL zGYmnMdn`*d7A`8lla9nqlsb^Mv7BucU0fUjh)q2T2-vzkxfN=V~Pq9g+%t;>4DHZ9O-DMU$w(|5?BUL5vds@l+j*H6$ayS&27Tmh}3yX%2-n z&tW2N4ER_J3OI~#4x4y^X9-)P&5`^Nbzno9boyWj)`_;WLa>Cf5vK`rRQvS*5_6iw zg_QczgrURG5$UNu?xP_ft0_$1>F1bzTiG+_T<$c8-*)`f2GTJ+ zh_*rF04C{_{+#_o($5!(td{)rI|B~H67#5cE+ylcZU$2GnrNcn=u_2cVH?3(q~EvN zYqB*34f@_|9;l{#13mr&{w^w?SC1q_f;06LN0f66p&9RHB4PJ)$d#-;Jb*;206eCO zyTxPudnd|;F%IUtZtnIMc@b7C4C|uU>hOLYROc9DrY$I+mG6e&*ciWK601Mv4GEgG z2k23q*+_R#$3~W-8b?F6a2TR$+`g<2x3~^3jpx8#m|Wpva9-(Pc&g29!D5UzDT;uf z$4w9CfL;KvG}?algB#Ut=Tc47KC*?&RxKAU2o4q!r+1;LuhQy6|4g!@JO|n#{xr1b z4R=R{6K4yg6?emeTOE+yX-eu({~Guc*(Yr08zRY-GbBaF*mfEfZlWEgZfs1Ks=8M| zKOAwoehIl(P(L?SNAI>LRmbEuKPs=@6(Qs-bjpCKx>s6%G%-J6{6O3J z&GM#3Fr-J!SDdr_PL*5QbesE^gGKg=LvxR$>-P;SjSmmO61XZRR#7k+<$(6qU^(ApgQNdexB5Bsx)_LM!w$Wwy)&l5@$LCHw z_fL1=C8+klmi9}aX^gIB2XRFjr~@{PFMmP%Fb8McUf+V~=qp)RAq0hch4zn9y~X$I z*0?!mvL7$f`wcdR01ef-G-P82(Hr@^!Fcugu0GTpY78n9yJ{UWzADuEB>;8Z^LSm6 z;#@Rv7xys10{l8L-WAP*wkVryPTeA$W;kU{Hf*(-x%W@retja81PQ?;s4HpjcBfLo^gPXy16T3+rGHbEmm9{QJB6gi_;FUE#p-qUqJ6!inPC zdPwx+0#03MY0-v^4EOlA=Mga*#u4ocX`&X*5`XYZdXJhJ~v%JE;QJIdOBm^^XECQ{Rf z`4?po_)C!C@$zDZssiw$t7@A^dzRE|rHp*qm4Mf0k zr|qsgo;Rnpk6-Ze`hIo;JmAk!7R`F*ATA<*y)#oPyF=i#Jorfo(O=$NH%?uVMc-e$ z%6RjFLQ9p_Q20G&`>6>eA<=kpJv+u9%)YigwxQg?D*-iI*xaCcyzVt{2CQ)mXLiWm z@>lH*C}HYacGtcW$KKRy@L0`J3P$F^`l@MotNX8E3Nv=`;wCfRn0 z=b;fbEt^#PCQl(wI-zo<)KPM`ebs`JMtR+rorJq7i!;e@`i6hzI$ zW?`vCN0(FSa~$*Wu}l}G(j;F5_PV_9$FjK#l;TYd{zL8>>`9u+;JG#UkYV&%CT2!W zJ$4D%DO;F=-+G;cu%KBnG%!}sZRl53=rDd)-Z1hj<`3?=<&9g7h)wZN7LfGu@|CV5 zaXMCo%w~%k)|*PqfZvutFW((Kp~6V^z|Y^X19pwnD#c6a9cq@A*!#6&Q#n;`9{uv; zZcO8EIoW6W(si?EKjcf1lE#)eHhG*Pwb;Hpi|x?H!`W4PSa%>CaX+` zvZH8ktD|LpOIEVSL!xM*&lMOflb{g#wp09r{`1bQcB(VWkz$@o2R(b-NjB6E0p4Rj zI=)4tpLQANsrLK>YE9zg2KHz%!*lSULOld`C|S&iG})BueKT-l!JgqE_veJzwAqa6 z0^r=f>OHSU8@TH;w&fwL!hK0S8}u8U!Fx3p*IAD^#k_WUS!u^#17i_;h;D4ir6T4l zA)>%t$ccrDRYM4*=x_022#S&lz=Q+2+oJByx8`|p`^+QHcD58C&vqqc@6lq(vN@Mk z`y>#)ZR8=m{8OlyT*=aEqp3S(RMKit~cR5G*ua2La;88|f~Z0N}x@Y#bzt`U*)ookwa z5x;_=sli`jPEZ?XJ&vjtB#b=Y`OtX;U5Vpwxo2f)52PrG!%x4t)btFw7yMilkJB^> zlTc@80Gy;njaTiunR{;xFN>^is&62+{9d1ep}lyH%A^;XVr^gT!i>zxNwl=UMt}KH zRB?bkBkYD!y{A^cdI9x>6?=WB)f7_$VqaUCas3MLDqIo;)rP8|JXEn0?3M=QhVnpJ zH8>1`wtaD6c7)D2$PtEtauqJgb!agqYcE+>*jdX$^(If7lmoWk%!;Ne);C>unl!zu zG)ig8)g++)#$86s1|$tXX+@#YqtW){H4eBikTmWt4?{PW zNynj=&Ucl_nIDt$s*mtuy^JJ}Yj^B%Dwpgvx3-a;g!JtsHO2Uz9Om0xzsFH9abX2S?#+DMuS2?>4+Vs;`Z;qMIza*41wjG2m{hf$@Yxgk+n?KVVl zy%Ot*539QENlv_!62{9cIvmUi`z$5lMy9XQlMZl)lqIGrLhpn2ZZnh#<5@mlMq`pB zco5TiJMK2>2UH#wN2-We8s2^##R~wC6uJFq(ev~}JTc3N@af&8PtDb(Z=zS=+wLWQ zzL!B*=j^_@Zvj!s1?_`UBdGk5fK=uUS?4meEAO4R^0hs$MWRC~gLvN0Fe2`_Yk>Uu zLF|cGJzXlZM!G?~LAb%kAFVt4tSpGb=g-wZPi@BMPam%??;|Y!*L_ce|9MEXHTY0Y z#jW-KlNPn)zy0>_P3kZ7e>SNHqjKk;8}0I&%vv#8Dxeflz@3%JAZ!@Si^yk(nSfB< ze{WMWDy!xqcYn2!X*%Exzqx;VfyxTh7N}l7L>LieNZbc(I#4Ggtc}j1W*6Uf!Oaux zD^4gNLH;~3H;Ct@XSkl+<;&amx6i$ew@YUvHGG4KXbQ>O?CIP(aJ0`CC{U*}s38P; zWIaKXtop#}4&tWZg&fhM}rNJ+txnKY8 ztXs6Xfj_8T5^M|f5?ZT+Gstj5jCajGDRY4>zD4ilRAVo1|*jz&P_=zVz zxwyq5AA-crv4?vjF#Y3TP1|R-E*5;s-2>_4l-tO!l)G&0u znrE}}3l_Wdhr$_#WhL2qR5j1Qz-(i^RjKJD^t!;+pU1HN}=&Yx&@cVBn* zV7hQwAfF`ag~@P-)l!lCC+qb@m}q4m;9wz{^IQ2fVGMY7shDFSns7-(K)(>?Zc4cb zThO4hO29!5BJJ;f0Ow6Z@HgPpw2E0~%ce~k;)mO(00T-LgX)t8p(@cegtw>sxFZpNs*nbO}z>JX+OcG;=h37$ktBTOF8`j&ZB}7{I#u zH-6M{{5(YRzYZKD+yCdm{RiMeXaFVOa}DHG1N|w*XXO+Nfb{>7Bg_Bd$krI(Lv#}B zC(k9KUCMdXY&Rl9a~TMpMSqOxHm)^ZuJ3d4=U~>%Ax|;2b3z209?9q^&=C>-jLRq= zH-J~kxQVc3lY!uGUv8T}Xp*35>%h=He?_WRDR(%r2KPwRR4q6& zl6ceaM)g)8H&$eTe*inUFgUD!p+fr`b#Z0PF~G$*(X{40>C?%4Vl?)UD6UTdD)(6K zZg+niINT^epopW#$AK^^5SB2pfPgr@umk>=TGgK~uBqbJFH|U%&-p8iDmq*1QB@p0 zEC2T5e*A{~gDGvtgzWzJfn%os>$F$-f6kOjcFHJu6sRA;ttpNPhS`_{gRz({daopB z^UI^0LBVlJ0zq=uIOKyDn#1+m)iqdFl(j&I!Wlf2C_~&waC7_!ZfB#jz0aSs3!Hcl zOXT|$ClHasew;9|P@rRAfSK0NB06?A$#W26%cksn;0E0ck^d)dNcQ)!vzr+ zfh2V%*Iy>UP{Zpz;<>XA;4B8?>>g}u?+ZOyFwvsILD4|bX!I-p!VME(W1MN)@_`%H zeAHjKC2~{c>}H3cz~QPu$|&9eUUyZHA=jYQ<3a#(nNI?z2Ez)=1g(z17IRxpyD|`o zdegG@95>E^XLKytjfI->Om0TEZ~d}=;HJxMZub7F{%=XgKS;6lswb*Qq91+* zkW_sr@gJL9ZhczHadAfP5I+dR<|KyQBLD`?OA(? z|M>NbZJ}4ah(2DQsO&Q8Zpk1P3|~_z1;bvy|Fg1Uxy)w}^)eiV=WPnbr60JlFzoR$ z^I55FUC^JEYxIZAg=GuK)rg!ksZdPKjpNBhILvXR)raFzR4VB-B1-5@G?1A}9!gWO zNtp{!imXHEBQa|FMWCJimp(~G%WZzGZQ8kOo>wBOptwQfrZEA) zkw92}o!F~~g9==+g%4j<3CH{kReQGp%xJtZx}L?7?CS?`W_$p3n%)B zsWWECnsIV8F^44Hk1M18#(6)EBFm;*fh89N^KrzeYvS{nLR8eybWutF^@|EAL-V*X zE#**tg@7#Vk-UU^txX>Y0(U;SxiCvP+qa>D1w=6&rLnFdJ~}TZh6!X!WaHHQOw|uO{jZk@8V;nXq$- zv8kW(bzEG%6xmpZoZsm<6j-a~4IG2@{w5MTSzGF>@Yx`Wd-_;h5Kp#9iacVdyH;a2 ze9V-uV;#IaTQL;dP3O~!N)yTEszQsc^;-KJ!pZ}cJ)ogovOV}dQRTDtJB7fA!j7K} zV@4LCZPCbxSttAYk1r1EeLX4;Mh+?X> zYOI7v@nGyG12YSW0Wf5o08_{cp<21GmY^YYi6%!LAPdm#lR=Osa0!J7F+-gu$Wazb z3t1yr5k5t@;$pt*7H;L?Zh{F2Z~U&nu2ghQgqFrtcFh92&y5?;NiDKHzb-)TyRgW1 zt(8=Gvew=C)x}*l36KWKvKVb8%YOmXr#-ZAQPbs_kV3nFKtWjEAj&4dm*m%~8mGgn zlHzUHaz&Hu1Bp#BlE}L3hXF3#Bj_9&o-?1BQ9;hTlkZP>_^1>)4MMe<;B6P$VUlNX z9MJLXiSItK{f=kXZZkn_iy@l(AyUsqt`90Bt_Ic!@J>G!ZU(%jI|;;JVp9;GZti{} z%_xeqgU5xmq#qfVkyMLjL_D@r5n$HYuW>|F5lpNCi>1H@-Pz?LrI(>`vxA@@-AV6b z7q@d54xmxPb=s)`=dYNVEELuAp!*>X7nEh6;~2MX)Dxhe$KJe+KZ(XJ?qJ|%2Xf2+ zpp)4s;Q#G84E+6;1+E5Ve%p-|FVW&PC;@|DTUDd%7PrLC_0GR;|^l% z_BnWqK&JoyVeT!1B3+v;(Z;=TDH?ZgTpDTI-QC^Yt&zgry>WMUcXyWp8h2=*Y2>o^ z`DEtYZ}yz;#N3$sr-CRV-XCvP=99UeTx)$N{AAKWz+McGnnHB7i}I3g$}O%$)YZ!o z_}QnPll4pB^5w4O))n^ER}KJmv;qR4HPlYee7`%wsw>OwTJu|LkJVXfHKm#D?qZjo z!=hfd1Fl``g_9dB7Nt)T zs!lLGj4j(Wb2k4nJ|#LWwnn+w!Z*L3Z5u}uz zHm;r+X1G0dnh~Ygn$}vdYEE4@g#(Y9rYVo}&iAr%$mPg}`IA&1Ulf0zZNLMh(w@DHfJZ!quyOnb;lrVD$nO`_OMKyb$ja9xB-NQlPT;pSM;D;{>_%|#;i>?7l(G?= z^4T^0dZ2P|{ku;0@q!&=dnIBC^A;JNypHjNTi5zq4?eHD9|GI!Q`4n_Oa9sQbj({` z?QcrDLz61{J+`WDJ+3o1w$_tN(0Ng*hy2s=n-=cxkv&+Q^h^0*?67Sz-$+g_k<>@} z-Qln||1!TnCoXL$vwL*t4MvAy-jxBtV`er)^hCBK@2FCgh zQ*she(Aj3Xx|VTHvW5;0mP~;p5R~#*kT~CB;iPXMJkSs)_^}`$VwP;7??=uNJJtb@ z?1GDMA0!xvkmg1wdf@(i)nNSTV2AH7vh=;*{$FDe|NV`C|LIl#Z4i2QUs!)%jK!jb z#lsY2AS3GxN>+U{u4qnHKKz01g3;p>IFK832_1YG!GYJQV*&>sjen?7((G{LdP&7Pj!c&I+UNF zdt>3kTC-@jG%`hmKmJR!WCrFOBNa0uka*NFx7n-j%F?#jx;NVRu<4Ouncg<#XK)$u zMvt>KuvGp8!DyHzFg?53t<@y?pt4TrH)WD3h7Co&jto^#6HCgM=>|vB7I*$d@l;UR zg7QyBU9ssK#cwH+MLM?q_?MjV&2$O}s!NWMHX2z?fo3!vnl&vJ&0iShQM;zc^E3*9 z-!<~6hiOkUrlM^Y5HDboXIky_mN#wsmreZCIGTe{_oeziPUOgdeujs~A}W!qwY z#9D31uD41KTE-mIa}y*2AI(A(PHxW@o@E2Tzd?+tA1Y;e(T-&GG~9V~tLEmp7oqAl ziaNmPOgFr{l|-Gp#C#GQ1Yio$OqFpK?{eC>Y1^)Bn^ zrT&6`Q>>5TCP6xFY~dFEIC)1)rn}Qyaf3}k7)6yZef?4q?+H{f5ndhklw`;;ut27r zb#y=;cj*|uyCm;$@Rl@(7!h9KK*{HgB|4kd-FXdXjg%okh$_R+B@dHoK(N+GFL+SU ze#Q5p4N^;W$HfA%auHeuipRx~w7ZfGtgZ9QpEIE^I>&O75^#@a13}EptpLz8N{qzU zW53u(Bq0SEJpoD%2nEc2S-C; zaNMHfXykO#YK!WzUK0TI;_s`>s#(cOW6rR_)z5p_lllAU{tjH9P%B8fbc1C7qe_K! z7K(U(pX2RWi6$?Ra>H>@a~t7!E=Fk-XQFAUI{tlSc%RWCXdxTkq7i_0qO`xS>kD^5 zCKgT}qIP2pUey?0d3M7ujFjZOio#%udslG8rDJ%<-?;kRSDHo@@c6a96Ci{g6H*c4 zfy{+WV9>1G^~_Ki^W73s<0*`V_f09Z(UG zEvM;xsBpTYB-PX_scX%V@t#oC0fkS0XH%RDER`}r?Nj9QB&-!_#aC}d4xNWhUM%c5 zzdzMwcAJL0$le3z_TxB~gFRw#=c3=#H(9gQ$S7F_*V>Hu z!5_XLiYLh;Uh&aORRmOP>0~Jv+^~iS+X(0A__-U>EuM5RzMs~E8G2cBP}Q~Nb6%U| z7i(B-C8Rb*=PU-MwrWjlU(kX$hQM>q>QrKG#IVp*e`JWpd*s^x7P+!NBggd~xkX17 zerOD$2>l=|?}^+U(ijm!zGT?eHrv|uI}g12QZW)4E^>_GH&m@ux4KzkwKNAkr)rsf zJaG6VF}km$ek=oHDCNjG3ogq(ZZQKQ``dqV=*XgF7XJWT{%=R_pBU%Aid?8BBoIYa z83Qt4#u4}PmmAO9bPo8}3RO{ouiptVqy8w9=?HF9_S0O9hh1H~ogY>P-@z0b4!HUd z8r3FI*a8ECRtMJxw;H(;^ZAc?3?43GAJ)t?SA=Z{=JCdArX&X4|vaJ0TtVF5+dF^M)tpsEs zc+WQ$0#jc1pmW7vH|-640cB{$$COk1&vL}7N|A zgSPXB4iiNLVXQwA_HoI{~~r>}Y|F8`5pXn)VS zRn4ET|9^5H%PNUJ%jJ@R*^Eln`)Af6Ov%^T-RzPH*R zB0gk7I9;5s&m;KLG{L4Rwu+44m#MFQA&vzG|2SBk6>!OspDjY)I`O3oQ7mBJl}|S? zbXjSpfsauMQSzcGSTq$ck&8?4`bFN7fJdE-r#qSe*Rn*@R5uQR%BDPLBGi&z`OtMq_X+-8o~kXnHSIh7`?Wj5?R|cg#v}UP2UdYkI~V(!-kQ67hF=kAV}G z8xGQnsG8R+iB0ECw+D4?;aB`WPPqxGn&kg|v6TNmddmGr3(~0iKY*MO>KIUjl}ltL z2m;>zB1HUAINyWH9xYQgiRmcXPcNXud{!RbX6$@VvA@nZ!LQ8CuT{U~dwQDH!^Mzg zYQkr3v^yP6UA`VnO=SH#z0~uAnF+o;MMXn_6|+Tv1(H65v`7l0fuHm}gmg5C6NW*$ zm3;PgFxq6>oZ0jR18;4jSd5FDQf9X}0hUkIi;$x)S9+MD-&xy6Z>V&y7BDSNXUK zjsDiw$)MH%%hK)cU&yR%_uw*+mvw$uN@OqP&7qI`q@kGhxa>_f`Kpm@5T=ddEbFGYU7yVa7PDfy)2w{DeU=5eOcdIp#hQi3(geU# zR|Suw-*}Lz&G@wTWF*1pdST!UTxm0C2vIF(KJ8o?ziwgPL#0b9uP=7bM9BN8|J5{1 z#p&u+RlVAxY2P;8)U8nfOAmQhPaEs-W93|;p*cmRiQg*KX_zKnno3&p!;f9!&|w&( zjOLu%q7Rs|v*sfHP%0YV9g=MrPH^kX6&;FXVvv|xe{K7ZQ5DkZ^yI%GpE(E1f{krK zhYm7a_(Wz)c@gCQ9^0DEFQ%o?-_aW!Y4sE(aK6!4du^)P8kt@j+@t!wWco3GuYHmSMLg)J?d9cDEsvg=7oeK~-2?SXfwDI3(1G zWGbSCNDyn5dS{>#f82?1aX^b38^;kq<>rxZB!v>v7YCjYX;@$aFRPL=VHYx9`5a(# zeO^c+8`2!3H-z2yP8$1e{QKifayNj&|@{OJ+&qz({n}g^#_9+sZ z9F(EeJC8 z9?4KbOJ}495%F2_8NyUw zC4K3r(=H9Pq&8ufmA0A*v4V{)dY%jH02Z&zCpym|!7A?B3iV)bIq~wp^`sr)@oe6iC_yHnO9NZY&-W7_Tn+ft3*ZW%iJ}tnjT2Q z&K`f+Of&FsdB?MWrF+K-EK@tS-b-@?iBdrfCB-4^!$;B|{aJ-%w>KLQ&zqDQ{>!QA(HtC=M%;^yVp3Ct9xpM z4>~!d`RdKNC7SX`dmYiPk&+g4Q}9YYeVQYTeNDbYn%m9=5<>Re!>qVMBfRaE|m> z=o8n!U6fUvEv)}W!%k9JcYUW}Z_bm6vs)5Vr)*K#YL*y@8&jqV3R=imhp+E6IJ9tT zV_L`$sgRM5C-VG6etPE*x!bp;H|}J`oSXnO9Px(1b{iX9rm}seRjA)=ZFgF(JI=-- zoe$vD=18}d{j5yeD%)Kr0x?KRJV*&05m8tuIqrZ{7r3l5i+Cs5+P1MB*W_SnA4d5) zgFW87)xBfE=cRC&EmnQJxjl2of%~nv860$!rPOAb`t8t;apDY(gCN6mll6omxa&c9 zrt0{V!VQx00J@P#&T?mvJIkt-kApX(i=|mH;)kJR3pFiXJhPz}_3TfM3`5S={31P` z3`KiIFpwJj5T~$}57#F`WfXk%!wPX$u8|D}h*|v0<>8C1JU!XV;XADc^5r|a_Yn|e ziUG5>vh73RCgs(-UVo6KRR&_wp1Eob`b?G?dsP@j#$YMVzi5wGkIS5za7>OgeBB9D z&|YGs02#rFk>MrT<9ro=R0v0alg`iVL6k(Rl6;itYlNK2O&uVsqGSrrNtn5oLel`4 z)DjtJ^hJ@qXw3)`V8U@EaK?zhbxS_V^u-6!^j~$DITT#s|4hgs_8j5G!3!5Xei!hI zf9L&S=kgCywxH3!MS<*pRZrkp?e(%m+7jz|g|&ZnutJZ?HXGtQDztMu&ed&ODh%;D zPGaDlliChDqL*H3imkNS1*Ogb({hWEjL;u+#rVDsdhg#(kC-J0XPz}0@CM!>pB>`w zx=L4w2-8yt3s(#X^O9T)3|w+&;vI24d*A-ZTi8?_B!zd3XW(xeZ2#I8 zDC@vD)H{IWpeIOR{VfhpVy0%g`lx8!w(dJGy}jhe;!WpSzd4aN!FBFrcXFW6`5rgR zgYWjn@CM-R*K{?^2T^_C43=QKKR;)D*=UEqKBr>p4KVWqbtbKJVT&#zcG2U?h?wne zf-;#}{XSF7d71?n;Bn?#pR&ZbX8TgzR_hE zV(OH^3EwURZ@!pK4Si;p-ul4vR9?er3~o(_f4Hovv=mtQPK5jHtm=X^jxnP;ugY3q zF!i~bIg7_l8F9I?ra*(0)oFGti9XxkxX#Y3g2u+VzfS6;uF>E`tL*?qaS_i+IBUX0 z)RO6k_Bx{!_|xfLQ367-e%w>dN%}>J#`?;FwrE=M1g2Dvyw6$0EXd(!Nl7UQi;mHt zzALZb&(@2$x)^lbp<(y3gUvR`&8@PwWJz)=CAfu&2?zZ~QUlv4?{WqYm1R|zB3z1Z zs;pUD#gE{-hqYx*jTRVbKKouY4(Xe}vAp`(Xif@jth6xZ7M~6(imDZqR9}283&Z+l zZPyPN*Jo%v#v-2fB`njQ`aoGV=7n+%A+VRE;_h;NztQ*-?RDOlj6b3A#oH?hstXDW zDho>Y@IPg4dF(Onf>Ue(^&VM6w=iY9S2rDe-MIVX(4ni5;d~Po%tF-K3)UQiQ5BKi za(Ev5nVhlmWiysxA$|s2qs!qeGS|x$K7F5h#r}-x_IOtTJKd&zjer?phhOdX@lfUJ z(Ib?$1^62t`ij4o91_!6NZCFq!fm#MKX?F%7z*E9@e0fs%E$cRi%73Y0~O8yh8{)B zqjWEKszo1uK|0DXDWI8=b`O2Rp_a@DLjzzW?i6>pTN=6ks6E8VtW7s2>_uk;&c%>D z(h}mqfOQlz=w+^jrh2~VdaG#?xO6k?bSls6a3emAh)Wel+%VT6_)rYik3nZ5;gsf_ zauvIeTiG_c)YCYt4%GCK->IuPzvLG?{-ib|uBUH6*qq|qSFdvv63r3_WBAME$d-|j z!Zj=qW;@@jMhfp7&Na-?19?bF;Ssdmeb3ayS`#x{n7zZ$wKeFNPIEPRkN0a=mL;_~ zvUQr)1>BMou_PtnDl)5!Xw7OkG%5Z18-zxvNH~d?-SL8ox-zAkVq~JS;w(T!>=K23y1?ztnb52s$QbU(O zdHsSy0SLiF89dF~CFj7GpB-$Wf}0g?r5;1|u>?{8WK+Wu!mM7yyL(|=V*<>$%%-1q z1HX>dFS6KRxd>;4l$}&vmX}qPULX^`y~6b15Rlh=1`EukO{#))49n$C^3~K2EzZW; zH~ns*MJls|4$S`4Wb``$@r*&px=K2A7<*WZ5(jMqz0izamohfCZB$=5_^V2FTlV=f z`#TydxQ@L)J4(lu+)kqkh;L{)_x!YhO#LA2_07v$2!y3cJHK&=*a^zB)dICu*HehL zB$Zs7R*D+{K33cwZZzoBGwXR8gaPf^KRN_#esL>1cphu3p(;EG{W@kFNL8#;ZCTYq zKWwShal9NnnlY8irQ<1I^CGfcpGDI@Xg-5*60pi;ZKA^2)oF?l)4LH^vjQJ}l$p0% z(W*d=J6#dmXy1*q^x_9?IWJ7sd$WeL&35e0_9dH3?VSz*Y?%x8lKmFI4Qc1;VywfVE^EDP;y1QuvEO26fu(7m zLufu&+q9uOBY6%O4`-CTVtBWczRWe-?)46HUoJoEW;A1|R@mzEW>B`f z-bpedlT&;8;$w_;i`b?ug@E+L!GPm z#wkuTyX*(1N3bjz^}@*tKnJwLKq3fKfME_Z-kC9u@>EcGOR4TRh*bGd-{4TGAjh{q zfpS6*MR<|-cIEher{I5m$u0QrrtCYrMZnC_#KgwL*7+Zzf=Q|x?}lX$Ls7@F>6wtH`LJ{IQl5I1PR#}7Zv2cbtRg|C4Pm( zCoUS#nmRADnT0*m*hWXxG3J_5iH2ZN2B?$HM;l{)a&iN(2whZR(v&upvrtm(xI(1Y zr=l~{a~Rj3*V(c}D@06~GzqD;F8i|Cv8WmsjSn|fs&Yq#g9BHjD!-?DBrCeCi)pg| zFjnF~1Y5r0^B4_*i@lxj>7$|c^)2R;Nva1{&F1;jvdUm9XZ%=F&X>OOzxV}MRdiDx zBtn;*V^r5=o3q`dqit<7i7z)2Zrg3Cpwgeya!gfia%s*Zo5Ww7adIHFo9&R7W>Z`- zG-;p@j&{YpRh&JO9BoW=?ycJt_Heol%JNFiQma#4U7$%nX@R!t>1^YY+$hBuZ9Wg) zU`a>jm5Q|Sdm_5YwPy-jx~}DYb3JrQa-^wip|O6-a&0jCtNx) z0Sdq;^gx4sn34$osb&Mbo?5wi*W=Ws1A%C_C{&9?R5<9}uJKWQzy>uZ^ig@hjD!yx z6$=#=6_bfV-||O%VK}2zEU9wp~&6vUb64YvxwC zIi}622U8U5bmUx|j$fKPFizvxBfu{j`nxJwuh~U-IXEIF+Vk#=`SN6{ct5TE`qj;u zVN+&5wJrwYy(Ho(9$@`(hD|CnZZ{ef35Ph+5)i^{tFJr6*%dz<;~yz-H}V)7LF8%D z0TXBEJt?9+1S39zGZYYcs-AdFocuUM3Q)UFjp>TJ=F7e_!rFGM9UD|)P((9SPx!vm z8YIEj7NJMBA(S401ov=_j}2g0BIoIe(SD{e!2K$bS{ji<&iqrl53lQR7v>4_vpUxk zn$+ZUMxa99Mq!Q+nDaHP#lqm;Ei2Ti1$<5e>^B&hI_Y`==Xuzp2xzEW;Ip2;nF*|f zq5S~sWSfLsWM{AV9m)d>oAtR+)GLz98SK1@y2|rCOx4_0;DkHUppWsXsVk4t9hxV! zns*?_h_-)&bLgmaO*?RMS;qOZK@pV-SVx2jVfXRga){q>53ymIz8X^NvVtRDJ#y4k zoKK)b)sbF#o^#OWGDfw0bQO&I>s=HU0Pcy{V;%6klj>_rOhq4&e~sIiU*xlb)Z?pN z+yx0f*<1t!C#|*{VGsT~H>ye2;$c0>z@bI^aqcj%)zjs}5|P*KS2@mT(8shE(E(4J zs)U2a<1kf&WgpO=wmfL*!wzxpJm##DE&9Z$qQB~mg`tpMOfpp}_elrA%@R@Jp3Pd3!MAR}kg9B?ThLaAyj_NQD z1f=I20WYSQ@2qiu13k>|E^e)>jT~gQ7ugmUWsJ&FKo>=z0{Za=o$QjBmLDQ58WAiT zRmE73ri*ngar#HQqKX`kBpfZ3ZQlJ$EUfbUF?^i~b8Nt-x-}ipDvn9-jDm7!gG#>y zY9b;chpWvkQM}8qOq+7&?esge4QWro-|-t!Mashlu@+zK%uNH7fb`Dw)|^$A=KD)U z+)mN?lt?a=gV>=#xlVGECE>O-tk>S05Dg#lSVe+c03lwXI$bhdaEWhuK(G~}AFEjlP^E8rUmr$tmo z$=82$R-2aJ4E(9E)OA2rn5{TqVzg{5e_|99svTB{Ai}`@GO?!-HJn{^VWC}X&62Nl zoYYWWoXAD#W#3auZZchBVa#b`YdPsG1ACgKiaxXxVkZ+p8+Wue=dp&Ur1rp2?GGAF z%3Mz7Ie%z1b;yu7in~e+nkM%q22};=!ug8Bs-PQ1O`Df_{m+9;!6Ff8`r2ukU4-`cIc#^!VE?Ab77?7+mK7)SOm2N)+` zL}C(Wg|D_CE2a!=!`>KGI{4asF>KZ6mZ(Et?{GHaB@?QZ#A_5SW*@SS#B11X_*(LT zCY0@QoIy9{p!FBB-BmZA1iheG*J)b)M8G+E%G>FovCa( zr|kE0%NV9}v@gM!GFeLEUMYOpyn{6U8Pky|tq5f{dWakM)?MqIR}$N1INnWd^!F3B z>25C1Spv-!qfUd3Rc}4`nS1Z!pR-sz^HZPs|F*9Em-)+o$D#hLYyVnRAWKCTyaamx3Bq6b zshE9)`}ncxh z`M^DxU#RwM-twZ_1=8_-U+dZkKq#`Xiry)6M>*xo5>FvHnxpC8TVJiVO;ysp306DSR{$Szih4 z9{d-^T>jnyaDWp07ZJ{YQxfS2`+NwYR8&whEEB+|g;WUh-3n~v2)iC^BiRAUiDY8D zC0qj#XlRGxCi3ou5C8>G*eJFe3`odD4$$@r^BQ0k7Urkb*+<(IOAd^CRzmy+cZ#uW z!6um&IrM6dO-qbQZ^Wq5H*Z5X@9bX`(_D*TvpKYT=pP8e8KPM^9UyfkIg|rlp^A+k zNx3v8qr4Hk1pHvGDgqvh!j*H2iwb#B+2)adKOzPfAWq3GYSWZ-f8-tUP+%&XTLh~l zdBnA8K;R*N9Yk(XPs(+$sE%)`4{RKm`I!C8|Hu?Y`_=xP>M>r*oL34$%T7U+h)TSw z2olQyS9pg015eQ_LYtF)AI>)a&tS=p1{Su4c5Z)xC5!%7=e)l^N>E7gKOXx329)0c z8a0ep3IL9{7*vuf#)4%dF_=+_rVbGrcs!LTtE7mh0W-jWQQDpvt_a(!{^57$i4dXB zb#GgE&535!eXh@u)|*hy6RG7xb{bJqn27q}`tP%sbD#Tn6law1?b#cfA4Bc5rt6~& z_;YVlK@=(Yfd0CA4rzR}I6?_AXrz`*i9Eg_tC8MfIi4bluCbSCSb2IZ)#~hBQuTz` zm#*v+d2&`$g;dd8v0>?>{|6B4H85sqe*HnIDfr5vger!=lnei^8?cc4Mop%uwSS5h40=$=)#w)Ixn>(iaFy zr9o|3{)}e7gAPsgI?*}K6zrPu3@?Yv3y8Qu2q{yx{<-Pn^kYm$CjplLpxi)K*5;v7 zBj^O|0*PVs;btwZGW`dDmXHbGcYx0eEJU?Wr)j9hkY+yJWVy+V9B?LOKc7jV!(VN- zl2|5PT9E!LK6`Ou@Ug39nD2p?PQ*Y|DFr*5qTD~(KIaM!G)pX4vUmk{h zfZWK+$c#S{GcMpB6dKvcNkbY$4B*~LsfEsqq%VoP#;`PL5R9))14%55t_;;c{A6Y) z?pZUc7_F!@v|;OK0<1e^Dj~5H0Av^UP=-!sL+XFx3|IhBfrmI#jFHSdg!~-3h~Hrj z!H))|5Py9zWCRa2`r_}~(PPi&4;INng$RI7A|8)L*kPmq6oDr?X9^gMFqR-{0P!Hm zWf;kO6Cst*q$U3NgNzjj2mJ(xmX(vEa^0a&gVB$x;3yImZ5B&|ZI6P6e_O9E_JrvP z=FQ0;IJL2KjAgxgG{w>8^u~J&pF~QdRlgMxJCSYIlHF?yug}2Ba0&dRiqbEVm7BV*o z^PWA5!$Q008Y_y!yrZ5hGQA(kii|q80`4VfS7up8XCK6%yph4XsXEv>$>LGETcmqy zKdrj4FhpQmzgy($vgs!X*}dK!>?cO_ObcC|H{?h9i~t=I##^a2Gr(=x9TkIhwS_6Z z>k|4J-YI+^!+Qo*=U3zJM%bWb{5I2X8~^eGm56=bkp>U_7L zVZn(0XDY&@X~#PK5B+gAYkT~9dgcDY>x*%|GSH=rEK-!Yz*wb0lo!NnW7pWPd8NHC z_0E$dqXYN@Vy&!Ip$MR#9vZp^1l35J0@im}3>$qDJi0QQ0+;4u?gZ6%?a^zA_6Z;N zekc#i%$4{w&tWf$yz$-{BgXDyHhU(La{k!S`=jU!8SLA#zhC?({G|}3$bY|5|0g6} zMMvwC3W{$E8Jz?+JZ1%kX2lC58MOrsCISZHH_J8tZy%C(#W*s^HMCs~>T{zA-Co1) zMK3+)5za}2hxzVjKYe~Ce}#83bwhVghl~qhd3O@%xSU9HnmU;7_Va)u`ewIoUxs7{ zdld{bAFYkLgN$4y(@H~2#2?;>A)9dUMh64cR{%FRmi}V6;;`wKtgXj*Mv^(`FgbGu z2L{fyHs`cjxUX#qoLGm{Nn|56<0D)05?Zd_LYe7{LeR`4BWXUqcB2U_D+!+7*B9+j?iMm{6j8@}QOKk=~ z*yG*AuC~T96e8RG*SxJEtKV{mD*a1KY>SqVD{HFSGtYu!^hZS5UjP;#uRh+&x1u8j zVwTsLWH^i?RR>OvCwG*t$u@!ZP!erqs_W?HwR?<(R)8dSRIH5?`1IA9Y|qMNT{i=@ zIGGa|m!_S*7)1?*G%i|`b9w%+Uo!hM8t7UDc~L4)NG%>rWkW{hH5BP(mefjA(kY6YMX+ z6$iw922jm(xh)0ngIKD+1~a|-JBPp^bJaD8Ovm*pf!>lzUtOcFm#rJ%#{II=A#^Q2 z*lu-_8fIMrGv`%8TpIy4^=97ECymr_X7-AGT1W4id%S3#8f3BYGhr5RcKwvO5WaAS zGc+JNVK@l7FEbP%k^r7x&29g2f zDvIc}2JGG=Sx|<$aqWO%+MpyXddu|gJPI+E23@VXX>DJCKH=^yO8l8j9mnVvnOCuW z%pgq!+Y`X4yZW4Zo@%wupnAkpW6*;H@Xa52Msm^}S%>uvm@SO}w2)WI^r$W_Rf;ZZ z;(Ee06_*OijgEazuNZHbLcWwXMz$=l!*(QVLLhfE!Tu#)?T6i(vmqvt+7QAe7m78< z8+U}T!s=?yQ=qUF=z{Xt6fn&72-#QUjcRAg8D$s4r1VYUz-=hqjFf^i$ z`sqI#CN=eQndbWuVZ7ic$e~>EM!W(?HLAGo!H1B=?R{7`*M<*_w08!KZMapDl@d%Y zg!~X^-!OdjT#B)+qHqdXH=2nl@Gnn0l#R!HynlYT+(-VTd`il!oy~B!M;dcj&`i8d zo!gdzfRstELYb3tx^Fe~DXMeekw&c-%3fEtIYjV)TvRP*uh+@DHst53x-%hp3er-i=p20YB061^ep1-JkO?RbY``5DdR@yS35! z&~dxvb1Cz9y6w~rZr-26M|W=!hTO=v@Js%)epffszG1UJjo;qv_vN4t3YzcfxV9#K zp_;GQKUOT?W{H{w%l)A^j)50vC^aOucq|j>qWw(t^ZLcCDufFvgR?S5UV;8e4*jyl zibX%nA(BWLK1bOzQ_J+!N!mv1eJ@Z z)tQf7+Zx_=L}5#AwV9-t&d7r25Wpg!>76)J9U4B4D;~8{D17PJ6^3(h5p)W$`E~CJ z#%IZ$5N?A|@}sI0=_7$GEkt5JD1y>QK}CWFOM;funKaH-hq=|3X_1lI`2ve*cF$Ib z4Td%SQP2|>(3Fo;c7TM%Ec#`wsErK7d;(00G+oWEu+0L_o_}0_zdN1FS-78}gIYkQ zCY9vpfXEGOmn+i@j}TOH?UWc4hrF3D$+^K8q))pcI3t`>7VE)Oswy#>bq=uL<@!Dw zsoH91EhD4VmH-zkOJ0gR6OWC$Bpc&!TAMe~ET(`zpNBh_nO@ZWV^c+V(u5&TPmlOf zUd_ze%GUznlaWqv&z8)x4Q-T`k!BcwcN+UbWZ8OR z0D`3wvV^p(BBs3A44LtTE~X?5rf{Up3W^(W!JDRhO#FeCK*ol?I+wrh&YEqqo$dSQo{lKI=U zP5Q-TYDjBU2k$KG`%&Sm<7YoccKOE%u|ZxHZ^}kJx;pz3s=BzZqA57*lH2t+@>PMB zCW_G-C7oU-ih}LiFGn6I=~4`G&6|2$puG0M$t}K+vt9Z<3Ol+ge>dvploT4j_s;=2 zRqJGTKfbOP~ z=2Uoa>zxMt3NH*Wjcv}x-GYb3@4Z7_e%q(gjMXp9QubY)P~`)Z*Yb-Z2?MNl5@BO;?YbMl@ofR>TWh(4N$3;+Zm!Zq)J!L>U`_7S{m#eR-v$uxA22T{ZQ zzWN^Y@|+jpWuT7uAQ5W+xvvw#UARwxXW)HG7jjPpalwh{vv49>01^9n5o4HnJ`;yy z^uzYU0TU2Ei-$VcMmiZ~e%jl>IUM5T01o32q@b7uaH0>S5lullY>Zz81=;dUUPT5G zOdSn&BA|l56qTG5=ts^?x$!^*b^O zfIMierdOWT+lf9vI0A@FLK^x^9?m8RxkhS(6eAWa#(Y&G0TwuE$rt!8!l5 znb>vynBVQ-2k!OT(Y@8y7pt1h>{=14dI@e}dKdF!E|Z!Osb;Bu523Nj{xOLbG;cLo zn%bOH|9zX}Zbbn{NREbtF-G|jQ~aP-RXlRtql+ovmIv_TT}e_qFBeO#XTs_chEJ`3 zn^oT$adc)uf0`AgpYf7y`Z@A%0-&#HfosTQi(IL(Wq_(pTa<-<~0D2=t}f*ErO z6c9J)i;GK(<4dOxu~tfK8~-Y!+7quTfSiy6sr4X6n_Wp~_@2iYt|;LpJd)$f@a}c4 zclu;+cD66R{C?fk`#_;Th#IrUER>V3Z4z2K+DIqV-Ik1b(!;x68)yM7DrzxUla=>7 zv%#!k0Ds(-vtJ^DdxHi1HB~JIY27H6o`BBlo_!SuI=D`SZk=Lw&U>+lDj>-~9I;8E z$w!xDq3b?go`WOOM(Cln^~b7!%Ji4@2KjV)Er#RMjB%iu^^L#R?PqCSIO}Bt94pDR@%^t|Jj}dQ6$|?W5n@vkS2|>4z)QfrN>zww{ZUJ16zNE(wZP)+|P9 zORdY{9LwKIo-Ho&J38qXGPESVo02FCmQ&>r<3|-#=9R)81uB^3?c9IlM0|}i_yRBF zPP+z6;7q>47=@Hjl-+KV(z0xrKJIKhUmpHev?3Q`K#V37V>F_6rb{_%d_%i&#tGyB zlq%5(nu)92pTjk`^iC3iS_JyUoyCycC$&C3K*T(;sHZT}ft28KByi&1cVXwzx?=4` z`!wJV$ud*y1^PtbQgEgYJvju^K?WCZde(WZgmDKm*=WAPn^NyLV9D9VuTB*WkIGpJ z39VIGvZ+Doyk+cQIb`kws+7B0mU8md_$a*>c&Kzd_HXg;i(e+w3l-&EMrBi`Fs2|bd1LPP>cHp}d zV|(7=)n*LD?{d9x0|OO$q0~@9kD|R28w%fdssi=|5sByr{_yT&VhPP~CmN_gaS}8R za;GxF*dA*MzckiHuRl#q$=$6*;Q~m|jn4$h2&smO0I2CkTE0;-JJXHcrB5SVhZ3wr zYUQaZ+w#WnF(}1a-R(cj=fHn^RGvFSBVlkvi^HHd91maT^db>ZgLvzJ zd8X`3V3-=`R*$*CqdI=MU$HAwt*}CTa4ocA@HKwo$zx}9j+J{^XCcql?(s+8dBe&b zKh|=b!Z#FKj`=H8WKwlVb&ufD*!TmF-nAY`Oap>J`aAsRbg6TF8|*zfbMK~z+Cu0m zH0{rkiwf2|q6Qrw^P>s%LP~f3tPJGb=8ZY;Ag$wHcCr69vii@;@SkL2v;Hm<+c?@b zMh{OQpv(?Z7Z8Ekhy5-}qJ|=J*IxtJHC&0xKuXW)>z?^6k)-V5{ZmZi-dd0fkswvF z`{GWzd)ev7?-;opFhr2bhhp#<9Lt~f6T@u4FT5S7w5^aryj;g@yrR0k=#Gm0Ehbu9 zkWf4csIKw3!~3q)*md!J_Z5}i=D}L`MYjxz4wX6=VKblN2%q~aHcZ!;e-zB32&qY~ z^c9vBDqeSte0E5=gq3SS%t}(|K04C(k#wKUts^vrjm?p`wNB2}07kE@X--{}EoxEp zrv+;F?OVwHlt~IQDR%Ug%wMQ58Vb(3(M`cIy1%%aF%bVE0KdocSsP7}O7}ZZQl~-# zF>2jA<&%YNaik-QOi0?`q>X_mB7R6|&|$nct65=!qr&E^xN0ib^34sj#7#p|LGW}Z zhsaPpUWUP(gVIn@Lj7dNXuYl`PFi!3LEEp$LmXR+jHnw|!uraExd92BvZid=mQ7TBdDS$>2b-qG_YYuz!p6{6wwLHN zfg*<5gs-AHGB984zt)R(iOfA0ZxR+dcJ2H^yFE+9Tm9I5*6!CFYA*e-tq*5NS(@Ys zG2Ez-M6=DUD3y4qR<#AvP|!(o)!^8>%xB7)yqsCIkJ&;u)G0OO)>v*7&3N3{N`&qyfc^}}^cnJxV;LEj=mqXQ`C|Wa zeeJ*OUikN8S;@l8*1*}t(c}*cGdBxob0u?we{k@#LaGtvu^U+Lta5MDp{C8jp`;+4U6^-Oqmq+K2SJpTp7j{pPt zLzIQQM0-SVO)5aC@V2Fz0xHMB^h|s}dwNK9Fl{2ZmO{3wdhNV^%aO#qa&#E^c|I?V z?#U8&yOJ}`gP67VS4=jsnb3viyPhb;UCL^EYL1Wu_TBP8hI8)rbu z6UjwVa?4?n5M&j^|HIo`2FJN&%YwFSF*7qWGcz+YGc(JQELMq`nVDG@gT>5jF*8}x z)H!{-U*Ddd^ZL$Ayo#uZ`t|+E+H0>bS7xpga_H$-&SvyduGKW-$7A8{O9q!S{?dX6 zxIYkJj}U=@0{XR2f#3gU0pb5Y2>jhl|IY~AH*AVtO-IzKD8xn(oD23QKttor*(?_) zPW*2W!1n&SZ$?cBL_i0KfN@bnY0VI4juQ|85gmExihLEbJ`Lo-C3W%=^R7XWX}vh~ zKM@#zwL;pU$P{fPjsH6nU^?xX$Xj>xJYkHLjU1e2&hotPq_M0(2)Q@!G| z%8L)E6-!cAAOe-4xuv0{UZsZL369ED5a#Wj$j_rw8T$}|w!n8k>77Kjs%vdWXFMRb z!dc)<2ws{mXBM1TScjaKz&}^_PuG3q2CQ=bfxzJ}oBsbp2>ino|L+h$;idSOGr%fI z`=*%Dn!{KidPu&j~dlg|^tX#+0waQs#>KQO4LTNqxA?rmlOgL( zz=ThgBl-q+M(#x-I+8!mK!14ScaOiHfhgb^V6g|D0htxejX%zS)Com^hX%Z$BD~_g zLO+<`v}zea>DDi~Ra{2nAVP>A@B^Pa=g}Q&8hdcr&xsvyr#aHUZ%);6iZ9G8!mP>T z-{^+s8Gi_VY5FrJBx^FO{QnRF|1h`zGXj6FLYlqbRlZunLuKn|T&0@zvlZDanyk&{ z?3Wqz;%~QL^2_OQTl$UG^- ziA1>6kgsA$#cU{rJjA|qIHPILi6~-yvm5tKizUHRU$*}hb(m=^7-+qiVg6+^Vq38w zQY`c>Eh{p~n08kP>F)iUH~Xg(0(>fOcD~e(qK(2lMEv50eVRHY_vz~oA-7dYf2gqU zviK+gG40>Mnjt!?r9cH8GPEt-2LOm6Js*4s;topc1KmH79?x7LrrZQ>O+LRc3_pOl zN^?7(@%fHC(!L~bfXlLM{uvv=Kq!g}{l6_k{Qpxf@t-e(|4PkK(*`=F5Z;4eK?wUu zAqjPq2w0Z4jpzu2$z=OUB{u}}I0OQk!(-XS<|QIXgfqA1Lmx895@+W+@ALS}OPK4g zK(S|?cAa?|m|rJM&E3uKANhZLKpMc*oX(IDqJ)$Aw389ygxgIpWtf(+)w5!6Bq|JN z-t$N>XdMU!GV(wvJi^RfUCa@f76zZr==}6DN!1b)%3zoap~Qo>*K}^=-GLPEE9ztt zRFfpOm9n6uS`0Go96^OiFb!d+O6t;_n^^c>&+&8Y=)L58J&m}P`YU}k+ z$djYZQr8v*eMqM`39HY(m$P-WH&@I}*F8ifI>=!wv#ysU=LAt3zIjTuNIx>463b&@Ez7VX)L`Ti-y9N4Ixdu@msm!Lw~zighhiEz&Su$&}`;XU9-;_{cZ; z58v+i!-e;82EmSWM`v%8VM_Z`mCz*M8j?P_rAa+E2R(WRjRI?`{3o5@h*zqR>)?pf zQpK6D*a$+hoLn_ga1&J7Qu8{&K?oF7MjnH8K!n+N`O$zd8Zy=Dby9@2$E-gk4byY_ zXnY_?w<<#fEa;vL*;Q1aq)*8+6&SSiaK<%kU^-^9MJz9&Hn{iOMd zuhvlb( zdy6;}&wWe+)1r7l6Wi>&tvZ4vSq0F4S+f?56?=HIv3R0oTG(#*>=Qu}GE6Z~7wYwZ zt`*JLhPZc4sFxTDuMYnWw25@b`uCN|qU+ZRu>C7X{7rvGUz7`p`_?eU53qj_9&@!5}alU}!K@_! zn}B{t5wbqLg-1y!`Ia=&a&^>~>ePGyK5UEhJ>rRXmy_i;^dFb}x2UOUXW*

      A$AJ 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 X!q2c>Bu^7Jn|wCG9$syn8Z`Jn8o6vb literal 0 HcmV?d00001 diff --git a/nbproject/standalone/manifest.mf b/nbproject/standalone/manifest.mf index 316e3088..02f1e3e0 100644 --- a/nbproject/standalone/manifest.mf +++ b/nbproject/standalone/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 -Class-Path: lib/jcardsim-3.0.4-SNAPSHOT.jar lib/commons-cli-1.3.1.jar lib/snakeyaml-1.19.jar +Class-Path: lib/bcprov-jdk15on-1.58.jar lib/jcardsim-3.0.4-SNAPSHOT.jar lib/commons-cli-1.3.1.jar lib/snakeyaml-1.19.jar Main-Class: cz.crcs.ectester.standalone.ECTesterStandalone diff --git a/nbproject/standalone/project.properties b/nbproject/standalone/project.properties index 1952f1da..367ec514 100644 --- a/nbproject/standalone/project.properties +++ b/nbproject/standalone/project.properties @@ -33,6 +33,7 @@ excludes= includes=**/common/**,**/standalone/**,**/data/**,**/applet/* jar.compress=false javac.classpath=\ + lib/bcprov-jdk15on-1.58.jar:\ lib/jcardsim-3.0.4-SNAPSHOT.jar:\ lib/commons-cli-1.3.1.jar:\ lib/snakeyaml-1.19.jar diff --git a/src/cz/crcs/ectester/common/ec/EC_Data.java b/src/cz/crcs/ectester/common/ec/EC_Data.java index d3082613..acd282a8 100644 --- a/src/cz/crcs/ectester/common/ec/EC_Data.java +++ b/src/cz/crcs/ectester/common/ec/EC_Data.java @@ -55,12 +55,12 @@ public byte[][] getData() { return data; } - public boolean hasData() { - return data != null; + public byte[] getData(int index) { + return data[index]; } - public byte[] getParam(int index) { - return data[index]; + public boolean hasData() { + return data != null; } public byte[] flatten() { diff --git a/src/cz/crcs/ectester/common/ec/EC_Params.java b/src/cz/crcs/ectester/common/ec/EC_Params.java index d50ebb05..3fada93d 100644 --- a/src/cz/crcs/ectester/common/ec/EC_Params.java +++ b/src/cz/crcs/ectester/common/ec/EC_Params.java @@ -44,6 +44,49 @@ public short getParams() { return params; } + public byte[][] getParam(short param) { + if (!hasParam(param)) { + return null; + } + if (Integer.bitCount(param) != 1) { + return null; + } + short paramMask = EC_Consts.PARAMETER_FP; + byte[][] result = null; + int i = 0; + while (paramMask <= EC_Consts.PARAMETER_S) { + short masked = (short) (this.params & param & paramMask); + short shallow = (short) (this.params & paramMask); + if (masked != 0) { + if (masked == EC_Consts.PARAMETER_F2M) { + result = new byte[4][]; + result[0] = data[i].clone(); + result[1] = data[i+1].clone(); + result[2] = data[i+2].clone(); + result[3] = data[i+3].clone(); + break; + } + if (masked == EC_Consts.PARAMETER_G || masked == EC_Consts.PARAMETER_W) { + result = new byte[2][]; + result[0] = data[i].clone(); + result[1] = data[i+1].clone(); + break; + } + result = new byte[1][]; + result[0] = data[i].clone(); + } + if (shallow == EC_Consts.PARAMETER_F2M) { + i += 4; + } else if (shallow == EC_Consts.PARAMETER_G || shallow == EC_Consts.PARAMETER_W) { + i += 2; + } else if (shallow != 0) { + i++; + } + paramMask = (short) (paramMask << 1); + } + return result; + } + public boolean hasParam(short param) { return (params & param) != 0; } diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index e13a6838..0bbe8f77 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -63,7 +63,7 @@ public class ECTesterReader { private Options opts = new Options(); private static final String VERSION = "v0.1.0"; - private static final String DESCRIPTION = "ECTesterReader " + VERSION + ", a javacard Elliptic Curve Cryptograhy support tester/utility."; + private static final String DESCRIPTION = "ECTesterReader " + VERSION + ", a javacard Elliptic Curve Cryptography support tester/utility."; private static final String LICENSE = "MIT Licensed\nCopyright (c) 2016-2017 Petr Svenda "; private static final String CLI_HEADER = "\n" + DESCRIPTION + "\n\n"; private static final String CLI_FOOTER = "\n" + LICENSE; diff --git a/src/cz/crcs/ectester/reader/test/TestVectorSuite.java b/src/cz/crcs/ectester/reader/test/TestVectorSuite.java index 668056ba..3f11a79c 100644 --- a/src/cz/crcs/ectester/reader/test/TestVectorSuite.java +++ b/src/cz/crcs/ectester/reader/test/TestVectorSuite.java @@ -72,8 +72,8 @@ public void setup(CardMngr cardManager) throws IOException { return new Result(Value.FAILURE, "ECDH was unsuccessful."); if (!dh.hasSecret()) return new Result(Value.FAILURE, "ECDH response did not contain the derived secret."); - if (!Util.compareBytes(dh.getSecret(), 0, result.getParam(0), 0, dh.secretLength())) { - int firstDiff = Util.diffBytes(dh.getSecret(), 0, result.getParam(0), 0, dh.secretLength()); + if (!Util.compareBytes(dh.getSecret(), 0, result.getData(0), 0, dh.secretLength())) { + int firstDiff = Util.diffBytes(dh.getSecret(), 0, result.getData(0), 0, dh.secretLength()); return new Result(Value.FAILURE, "ECDH derived secret does not match the test, first difference was at byte " + String.valueOf(firstDiff) + "."); } return new Result(Value.SUCCESS); diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index cae4bb9e..d2cbce1e 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -1,8 +1,90 @@ package cz.crcs.ectester.standalone; +import cz.crcs.ectester.common.Util; +import cz.crcs.ectester.applet.EC_Consts; +import cz.crcs.ectester.common.ec.EC_Curve; +import cz.crcs.ectester.data.EC_Store; +import org.apache.commons.cli.*; + +import java.io.IOException; + +/** + * Standalone part of ECTester, a tool for testing Elliptic curve implementations in software libraries. + * + * @author Jan Jancar johny@neuromancer.sk + * @version v0.1.0 + */ public class ECTesterStandalone { + private EC_Store dataStore; + private Config cfg; + + private Options opts = new Options(); + private static final String VERSION = "v0.1.0"; + private static final String DESCRIPTION = "ECTesterStandalone " + VERSION + ", an Elliptic Curve Cryptography support tester/utility."; + private static final String LICENSE = "MIT Licensed\nCopyright (c) 2016-2017 Petr Svenda "; + private static final String CLI_HEADER = "\n" + DESCRIPTION + "\n\n"; + private static final String CLI_FOOTER = "\n" + LICENSE; + private void run(String[] args) { + try { + CommandLine cli = parseArgs(args); + + if (cli.hasOption("help")) { + help(); + return; + } else if (cli.hasOption("version")) { + version(); + return; + } + + cfg = new Config(); + dataStore = new EC_Store(); + + if (cli.hasOption("generate")) { + generate(); + } + + } catch (ParseException | IOException ex) { + System.err.println(ex.getMessage()); + } + } + + private CommandLine parseArgs(String[] args) throws ParseException { + OptionGroup actions = new OptionGroup(); + actions.setRequired(true); + actions.addOption(Option.builder("V").longOpt("version").desc("Print version info.").build()); + actions.addOption(Option.builder("h").longOpt("help").desc("Print help.").build()); + actions.addOption(Option.builder("g").longOpt("generate").desc("Generate [amount] of EC keys.").hasArg().argName("amount").optionalArg(true).build()); + opts.addOptionGroup(actions); + + CommandLineParser parser = new DefaultParser(); + return parser.parse(opts, args); + } + + /** + * Prints help. + */ + private void help() { + HelpFormatter help = new HelpFormatter(); + help.setOptionComparator(null); + help.printHelp("ECTesterStandalone.jar", CLI_HEADER, opts, CLI_FOOTER, true); + } + + /** + * Prints version info. + */ + private void version() { + System.out.println(DESCRIPTION); + System.out.println(LICENSE); + } + + /** + * + */ + private void generate() { + EC_Curve curve = dataStore.getObject(EC_Curve.class, "secg/secp192r1"); + byte[] fp = curve.getParam(EC_Consts.PARAMETER_FP)[0]; } @@ -10,4 +92,8 @@ public static void main(String[] args) { ECTesterStandalone app = new ECTesterStandalone(); app.run(args); } + + public static class Config { + + } } diff --git a/src/cz/crcs/ectester/standalone/libs/BouncyCastleLib.java b/src/cz/crcs/ectester/standalone/libs/BouncyCastleLib.java new file mode 100644 index 00000000..78da737f --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/BouncyCastleLib.java @@ -0,0 +1,21 @@ +package cz.crcs.ectester.standalone.libs; +import org.bouncycastle.jce.provider.BouncyCastleProvider; + +import java.security.Security; + +public class BouncyCastleLib { + + public BouncyCastleLib() { + + } + + public boolean setUp() { + try { + Security.addProvider(new BouncyCastleProvider()); + } catch (NullPointerException | SecurityException ignored) { + return false; + } + return true; + } + +} From 9e615b101398bd4c8e2678bf86337e2756a8ee7a Mon Sep 17 00:00:00 2001 From: J08nY Date: Sun, 12 Nov 2017 23:39:35 +0100 Subject: [PATCH 08/91] Implement collecting of supported KeyAgreement and Signature objects. --- .../standalone/ECTesterStandalone.java | 26 +++++- .../ectester/standalone/consts/Ident.java | 41 +++++++++ .../standalone/consts/KeyAgreementIdent.java | 53 ++++++++++++ .../standalone/consts/SignatureIdent.java | 77 +++++++++++++++++ .../standalone/libs/BouncyCastleLib.java | 19 ++--- .../ectester/standalone/libs/CECLibrary.java | 31 +++++++ .../ectester/standalone/libs/ECLibrary.java | 21 +++++ .../standalone/libs/JavaECLibrary.java | 85 +++++++++++++++++++ .../ectester/standalone/libs/SunECLib.java | 14 +++ 9 files changed, 353 insertions(+), 14 deletions(-) create mode 100644 src/cz/crcs/ectester/standalone/consts/Ident.java create mode 100644 src/cz/crcs/ectester/standalone/consts/KeyAgreementIdent.java create mode 100644 src/cz/crcs/ectester/standalone/consts/SignatureIdent.java create mode 100644 src/cz/crcs/ectester/standalone/libs/CECLibrary.java create mode 100644 src/cz/crcs/ectester/standalone/libs/ECLibrary.java create mode 100644 src/cz/crcs/ectester/standalone/libs/JavaECLibrary.java create mode 100644 src/cz/crcs/ectester/standalone/libs/SunECLib.java diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index d2cbce1e..47b7121b 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -1,12 +1,15 @@ package cz.crcs.ectester.standalone; -import cz.crcs.ectester.common.Util; import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.common.ec.EC_Curve; import cz.crcs.ectester.data.EC_Store; +import cz.crcs.ectester.standalone.libs.BouncyCastleLib; +import cz.crcs.ectester.standalone.libs.ECLibrary; +import cz.crcs.ectester.standalone.libs.SunECLib; import org.apache.commons.cli.*; import java.io.IOException; +import java.util.Arrays; /** * Standalone part of ECTester, a tool for testing Elliptic curve implementations in software libraries. @@ -16,6 +19,7 @@ */ public class ECTesterStandalone { + private ECLibrary[] libs = new ECLibrary[]{new SunECLib(), new BouncyCastleLib()}; private EC_Store dataStore; private Config cfg; @@ -40,9 +44,17 @@ private void run(String[] args) { cfg = new Config(); dataStore = new EC_Store(); + for (ECLibrary lib : libs) { + lib.initialize(); + lib.getECKAs(); + lib.getECSigs(); + } + System.out.println(Arrays.toString(libs)); if (cli.hasOption("generate")) { generate(); + } else if (cli.hasOption("libs")) { + listLibraries(); } } catch (ParseException | IOException ex) { @@ -56,6 +68,7 @@ private CommandLine parseArgs(String[] args) throws ParseException { actions.addOption(Option.builder("V").longOpt("version").desc("Print version info.").build()); actions.addOption(Option.builder("h").longOpt("help").desc("Print help.").build()); actions.addOption(Option.builder("g").longOpt("generate").desc("Generate [amount] of EC keys.").hasArg().argName("amount").optionalArg(true).build()); + actions.addOption(Option.builder("ls").longOpt("libs").desc("List supported libraries.").build()); opts.addOptionGroup(actions); CommandLineParser parser = new DefaultParser(); @@ -88,6 +101,17 @@ private void generate() { } + /** + * + */ + private void listLibraries() { + for (ECLibrary lib : libs) { + if (lib.isInitialized()) { + System.out.println(lib.name()); + } + } + } + public static void main(String[] args) { ECTesterStandalone app = new ECTesterStandalone(); app.run(args); diff --git a/src/cz/crcs/ectester/standalone/consts/Ident.java b/src/cz/crcs/ectester/standalone/consts/Ident.java new file mode 100644 index 00000000..3228c370 --- /dev/null +++ b/src/cz/crcs/ectester/standalone/consts/Ident.java @@ -0,0 +1,41 @@ +package cz.crcs.ectester.standalone.consts; + +import java.util.Arrays; +import java.util.Collections; +import java.util.Set; +import java.util.TreeSet; + +public abstract class Ident { + private Set idents; + + public Ident(String... names) { + this.idents = new TreeSet<>(String.CASE_INSENSITIVE_ORDER); + this.idents.addAll(Arrays.asList(names)); + } + + public Set getIdents() { + return Collections.unmodifiableSet(idents); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof Ident)) { + return false; + } + Ident other = (Ident) obj; + return idents.equals(other.getIdents()); + } + + @Override + public int hashCode() { + return idents.hashCode() + 37; + } + + @Override + public String toString() { + return "(" + String.join("|", idents) + ")"; + } +} diff --git a/src/cz/crcs/ectester/standalone/consts/KeyAgreementIdent.java b/src/cz/crcs/ectester/standalone/consts/KeyAgreementIdent.java new file mode 100644 index 00000000..9dc9797e --- /dev/null +++ b/src/cz/crcs/ectester/standalone/consts/KeyAgreementIdent.java @@ -0,0 +1,53 @@ +package cz.crcs.ectester.standalone.consts; + +import java.util.LinkedList; +import java.util.List; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class KeyAgreementIdent extends Ident { + private static final List ALL = new LinkedList<>(); + + static { + //https://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html + // Basic ECDH and ECDHC (plain/raw) + ALL.add(new KeyAgreementIdent("ECDH")); + ALL.add(new KeyAgreementIdent("ECDHC", "ECCDH")); + // ECDH and ECDHC with SHA as KDF, OIDs from RFC 3278 + ALL.add(new KeyAgreementIdent("ECDHwithSHA1KDF", "1.3.133.16.840.63.0.2")); + ALL.add(new KeyAgreementIdent("ECCDHwithSHA1KDF", "1.3.133.16.840.63.0.3")); + ALL.add(new KeyAgreementIdent("ECDHwithSHA224KDF", "1.3.132.1.11.0")); + ALL.add(new KeyAgreementIdent("ECCDHwithSHA224KDF", "1.3.132.1.14.0")); + ALL.add(new KeyAgreementIdent("ECDHwithSHA256KDF", "1.3.132.1.11.1")); + ALL.add(new KeyAgreementIdent("ECCDHwithSHA256KDF", "1.3.132.1.14.1")); + ALL.add(new KeyAgreementIdent("ECDHwithSHA384KDF", "1.3.132.1.11.2")); + ALL.add(new KeyAgreementIdent("ECCDHwithSHA384KDF", "1.3.132.1.14.2")); + ALL.add(new KeyAgreementIdent("ECDHwithSHA512KDF", "1.3.132.1.11.3")); + ALL.add(new KeyAgreementIdent("ECCDHwithSHA512KDF", "1.3.132.1.14.3")); + // ECMQV + ALL.add(new KeyAgreementIdent("ECMQV")); + ALL.add(new KeyAgreementIdent("ECMQVwithSHA1CKDF", "1.3.133.16.840.63.0.16")); + ALL.add(new KeyAgreementIdent("ECMQVwithSHA224CKDF", "1.3.132.1.15.0")); + ALL.add(new KeyAgreementIdent("ECMQVwithSHA256CKDF", "1.3.132.1.15.1")); + ALL.add(new KeyAgreementIdent("ECMQVwithSHA384CKDF", "1.3.132.1.15.2")); + ALL.add(new KeyAgreementIdent("ECMQVwithSHA512CKDF", "1.3.132.1.15.3")); + // ECVKO + ALL.add(new KeyAgreementIdent("ECVKO", "ECGOST3410", "1.2.643.2.2.19", "GOST-3410-2001", "1.2.643.2.2.96")); + ALL.add(new KeyAgreementIdent("ECVKO256", "ECGOST3410-2012-256", "1.2.643.7.1.1.6.1", "1.2.643.7.1.1.1.1")); + ALL.add(new KeyAgreementIdent("ECVKO512", "ECGOST3410-2012-512", "1.2.643.7.1.1.6.2", "1.2.643.7.1.1.1.2")); + } + + public static KeyAgreementIdent get(String ident) { + for (KeyAgreementIdent ka : ALL) { + if (ka.getIdents().contains(ident)) { + return ka; + } + } + return null; + } + + private KeyAgreementIdent(String... names) { + super(names); + } +} diff --git a/src/cz/crcs/ectester/standalone/consts/SignatureIdent.java b/src/cz/crcs/ectester/standalone/consts/SignatureIdent.java new file mode 100644 index 00000000..b41e9e46 --- /dev/null +++ b/src/cz/crcs/ectester/standalone/consts/SignatureIdent.java @@ -0,0 +1,77 @@ +package cz.crcs.ectester.standalone.consts; + +import java.util.LinkedList; +import java.util.List; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class SignatureIdent extends Ident { + private static final List ALL = new LinkedList<>(); + + static { + //https://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html + // ECDSA + ALL.add(new SignatureIdent("ECDSA", "SHA1withECDSA", "ECDSAwithSHA1", "1.2.840.10045.4.1", "1.3.36.3.3.2.1")); + ALL.add(new SignatureIdent("NONEwithECDSA")); + ALL.add(new SignatureIdent("SHA224withECDSA", "SHA224/ECDSA", "1.2.840.10045.4.3.1")); + ALL.add(new SignatureIdent("SHA256withECDSA", "SHA256/ECDSA", "1.2.840.10045.4.3.2")); + ALL.add(new SignatureIdent("SHA384withECDSA", "SHA384/ECDSA", "1.2.840.10045.4.3.3")); + ALL.add(new SignatureIdent("SHA512withECDSA", "SHA512/ECDSA", "1.2.840.10045.4.3.4")); + ALL.add(new SignatureIdent("SHA3-224withECDSA", "SHA3-224/ECDSA", "2.16.840.1.101.3.4.3.9")); + ALL.add(new SignatureIdent("SHA3-256withECDSA", "SHA3-256/ECDSA", "2.16.840.1.101.3.4.3.10")); + ALL.add(new SignatureIdent("SHA3-384withECDSA", "SHA3-384/ECDSA", "2.16.840.1.101.3.4.3.11")); + ALL.add(new SignatureIdent("SHA3-512withECDSA", "SHA3-512/ECDSA", "2.16.840.1.101.3.4.3.12")); + ALL.add(new SignatureIdent("RIPEMD160withECDSA", "RIPEMD160/ECDSA", "1.3.36.3.3.2.2")); + // ECNR + ALL.add(new SignatureIdent("SHA1withECNR")); + ALL.add(new SignatureIdent("SHA224withECNR")); + ALL.add(new SignatureIdent("SHA256withECNR")); + ALL.add(new SignatureIdent("SHA512withECNR")); + // CVC-ECDSA + ALL.add(new SignatureIdent("SHA1withCVC-ECDSA", "SHA1/CVC-ECDSA", "0.4.0.127.0.7.2.2.2.2.1")); + ALL.add(new SignatureIdent("SHA224withCVC-ECDSA", "SHA224/CVC-ECDSA", "0.4.0.127.0.7.2.2.2.2.2")); + ALL.add(new SignatureIdent("SHA256withCVC-ECDSA", "SHA256/CVC-ECDSA", "0.4.0.127.0.7.2.2.2.2.3")); + ALL.add(new SignatureIdent("SHA384withCVC-ECDSA", "SHA384/CVC-ECDSA", "0.4.0.127.0.7.2.2.2.2.4")); + ALL.add(new SignatureIdent("SHA512withCVC-ECDSA", "SHA512/CVC-ECDSA", "0.4.0.127.0.7.2.2.2.2.5")); + // PLAIN-ECDSA + ALL.add(new SignatureIdent("SHA1withPLAIN-ECDSA", "SHA1/PLAIN-ECDSA", "0.4.0.127.0.7.1.1.4.1.1")); + ALL.add(new SignatureIdent("SHA224withPLAIN-ECDSA", "SHA224/PLAIN-ECDSA", "0.4.0.127.0.7.1.1.4.1.2")); + ALL.add(new SignatureIdent("SHA256withPLAIN-ECDSA", "SHA256/PLAIN-ECDSA", "0.4.0.127.0.7.1.1.4.1.3")); + ALL.add(new SignatureIdent("SHA384withPLAIN-ECDSA", "SHA384/PLAIN-ECDSA", "0.4.0.127.0.7.1.1.4.1.4")); + ALL.add(new SignatureIdent("SHA512withPLAIN-ECDSA", "SHA512/PLAIN-ECDSA", "0.4.0.127.0.7.1.1.4.1.5")); + ALL.add(new SignatureIdent("RIPEMD160withPLAIN-ECDSA", "RIPEMD160/PLAIN-ECDSA", "0.4.0.127.0.7.1.1.4.1.6")); + // ECGOST + ALL.add(new SignatureIdent("ECGOST3410", "ECGOST-3410", "GOST-3410-2001")); + ALL.add(new SignatureIdent("GOST3411withECGOST3410", "GOST3411/ECGOST3410", "1.2.643.2.2.3")); + ALL.add(new SignatureIdent("ECGOST3410-2012-256", "GOST-3410-2012-256")); + ALL.add(new SignatureIdent("GOST3411-2012-256withECGOST3410-2012-256", "GOST3411-2012-256/ECGOST3410-2012-2560", "1.2.643.7.1.1.3.2")); + ALL.add(new SignatureIdent("ECGOST3410-2012-512", "GOST-3410-2012-512")); + ALL.add(new SignatureIdent("GOST3411-2012-512withECGOST3410-2012-512", "GOST3411-2012-512/ECGOST3410-2012-5120", "1.2.643.7.1.1.3.3")); + ALL.add(new SignatureIdent("SM3withSM2")); + // ECDDSA + ALL.add(new SignatureIdent("ECDDSA", "DETECDSA", "ECDETDSA")); + ALL.add(new SignatureIdent("SHA1withECDDSA", "SHA1withDETECDSA")); + ALL.add(new SignatureIdent("SHA224withECDDSA", "SHA224withDETECDSA")); + ALL.add(new SignatureIdent("SHA256withECDDSA", "SHA256withDETECDSA")); + ALL.add(new SignatureIdent("SHA384withECDDSA", "SHA384withDETECDSA")); + ALL.add(new SignatureIdent("SHA512withECDDSA", "SHA512withDETECDSA")); + ALL.add(new SignatureIdent("SHA3-224withECDDSA", "SHA3-224withDETECDSA")); + ALL.add(new SignatureIdent("SHA3-256withECDDSA", "SHA3-256withDETECDSA")); + ALL.add(new SignatureIdent("SHA3-384withECDDSA", "SHA3-384withDETECDSA")); + ALL.add(new SignatureIdent("SHA3-512withECDDSA", "SHA3-512withDETECDSA")); + } + + public static SignatureIdent get(String ident) { + for (SignatureIdent sig : ALL) { + if (sig.getIdents().contains(ident)) { + return sig; + } + } + return null; + } + + private SignatureIdent(String... names) { + super(names); + } +} diff --git a/src/cz/crcs/ectester/standalone/libs/BouncyCastleLib.java b/src/cz/crcs/ectester/standalone/libs/BouncyCastleLib.java index 78da737f..73cd1976 100644 --- a/src/cz/crcs/ectester/standalone/libs/BouncyCastleLib.java +++ b/src/cz/crcs/ectester/standalone/libs/BouncyCastleLib.java @@ -1,21 +1,14 @@ package cz.crcs.ectester.standalone.libs; -import org.bouncycastle.jce.provider.BouncyCastleProvider; -import java.security.Security; +import org.bouncycastle.jce.provider.BouncyCastleProvider; -public class BouncyCastleLib { +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class BouncyCastleLib extends JavaECLibrary { public BouncyCastleLib() { - - } - - public boolean setUp() { - try { - Security.addProvider(new BouncyCastleProvider()); - } catch (NullPointerException | SecurityException ignored) { - return false; - } - return true; + super(new BouncyCastleProvider()); } } diff --git a/src/cz/crcs/ectester/standalone/libs/CECLibrary.java b/src/cz/crcs/ectester/standalone/libs/CECLibrary.java new file mode 100644 index 00000000..82a45557 --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/CECLibrary.java @@ -0,0 +1,31 @@ +package cz.crcs.ectester.standalone.libs; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public abstract class CECLibrary implements ECLibrary { + + private String resourcePath; + private String libname; + + public CECLibrary(String resourcePath, String libname) { + this.resourcePath = resourcePath; + this.libname = libname; + } + + @Override + public boolean initialize() { + // load the library here. + return false; + } + + @Override + public String name() { + return libname; + } + + @Override + public String toString() { + return name(); + } +} diff --git a/src/cz/crcs/ectester/standalone/libs/ECLibrary.java b/src/cz/crcs/ectester/standalone/libs/ECLibrary.java new file mode 100644 index 00000000..b2792bd3 --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/ECLibrary.java @@ -0,0 +1,21 @@ +package cz.crcs.ectester.standalone.libs; + +import cz.crcs.ectester.standalone.consts.KeyAgreementIdent; +import cz.crcs.ectester.standalone.consts.SignatureIdent; + +import java.util.Set; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public interface ECLibrary { + boolean initialize(); + + boolean isInitialized(); + + Set getECKAs(); + + Set getECSigs(); + + String name(); +} diff --git a/src/cz/crcs/ectester/standalone/libs/JavaECLibrary.java b/src/cz/crcs/ectester/standalone/libs/JavaECLibrary.java new file mode 100644 index 00000000..f8848da7 --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/JavaECLibrary.java @@ -0,0 +1,85 @@ +package cz.crcs.ectester.standalone.libs; + +import cz.crcs.ectester.standalone.consts.KeyAgreementIdent; +import cz.crcs.ectester.standalone.consts.SignatureIdent; + +import java.security.Provider; +import java.security.Security; +import java.util.HashSet; +import java.util.Set; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public abstract class JavaECLibrary implements ECLibrary { + private Provider provider; + private boolean initialized; + + public JavaECLibrary(Provider provider) { + this.provider = provider; + this.initialized = false; + } + + @Override + public boolean initialize() { + try { + int result = Security.addProvider(provider); + if (result == -1) { + provider = Security.getProvider(provider.getName()); + } + initialized = true; + } catch (NullPointerException | SecurityException ignored) { + initialized = false; + } + return initialized; + } + + @Override + public boolean isInitialized() { + return initialized; + } + + @Override + public Set getECKAs() { + Set results = new HashSet<>(); + for (Provider.Service service : provider.getServices()) { + if (service.getType().equals("KeyAgreement")) { + KeyAgreementIdent id = KeyAgreementIdent.get(service.getAlgorithm()); + if (id != null) { + results.add(id); + } + } + } + System.out.println(results); + return results; + } + + @Override + public Set getECSigs() { + Set results = new HashSet<>(); + for (Provider.Service service : provider.getServices()) { + if (service.getType().equals("Signature")) { + SignatureIdent id = SignatureIdent.get(service.getAlgorithm()); + if (id != null) { + results.add(id); + } + } + } + System.out.println(results); + return results; + } + + @Override + public String name() { + return provider.getInfo(); + } + + public Provider getProvider() { + return provider; + } + + @Override + public String toString() { + return name(); + } +} diff --git a/src/cz/crcs/ectester/standalone/libs/SunECLib.java b/src/cz/crcs/ectester/standalone/libs/SunECLib.java new file mode 100644 index 00000000..408908e5 --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/SunECLib.java @@ -0,0 +1,14 @@ +package cz.crcs.ectester.standalone.libs; + +import sun.security.ec.SunEC; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class SunECLib extends JavaECLibrary { + + public SunECLib() { + super(new SunEC()); + } + +} From cccf2c9c382fa63c68a6c3821d587bc2caa72b05 Mon Sep 17 00:00:00 2001 From: J08nY Date: Mon, 13 Nov 2017 18:03:00 +0100 Subject: [PATCH 09/91] Add KeyAgreement/KeyGeneration/Signature tests. Implement KeyAgreementTest. --- .../ectester/common/test/TestCallback.java | 11 +++ .../reader/output/TextTestWriter.java | 6 +- .../ectester/reader/output/XMLTestWriter.java | 6 +- .../reader/output/YAMLTestWriter.java | 6 +- .../{SimpleTest.java => CommandTest.java} | 8 +- .../reader/test/CompositeCurvesSuite.java | 10 +-- .../ectester/reader/test/DefaultSuite.java | 8 +- .../reader/test/InvalidCurvesSuite.java | 10 +-- .../crcs/ectester/reader/test/TestSuite.java | 22 ++--- .../ectester/reader/test/TestVectorSuite.java | 12 +-- .../ectester/standalone/consts/Ident.java | 13 ++- .../standalone/consts/KeyAgreementIdent.java | 11 ++- .../standalone/consts/SignatureIdent.java | 11 ++- .../standalone/test/KeyAgreementTest.java | 55 +++++++++++++ .../standalone/test/KeyAgreementTestable.java | 80 +++++++++++++++++++ .../standalone/test/KeyGenerationTest.java | 19 +++++ .../standalone/test/SignatureTest.java | 19 +++++ 17 files changed, 256 insertions(+), 51 deletions(-) create mode 100644 src/cz/crcs/ectester/common/test/TestCallback.java rename src/cz/crcs/ectester/reader/test/{SimpleTest.java => CommandTest.java} (85%) create mode 100644 src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java create mode 100644 src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java create mode 100644 src/cz/crcs/ectester/standalone/test/KeyGenerationTest.java create mode 100644 src/cz/crcs/ectester/standalone/test/SignatureTest.java diff --git a/src/cz/crcs/ectester/common/test/TestCallback.java b/src/cz/crcs/ectester/common/test/TestCallback.java new file mode 100644 index 00000000..488e2f2f --- /dev/null +++ b/src/cz/crcs/ectester/common/test/TestCallback.java @@ -0,0 +1,11 @@ +package cz.crcs.ectester.common.test; + +import java.util.function.Function; + +/** + * + * @param + */ +public abstract class TestCallback implements Function { + +} diff --git a/src/cz/crcs/ectester/reader/output/TextTestWriter.java b/src/cz/crcs/ectester/reader/output/TextTestWriter.java index 07b2a2f8..dc285b5b 100644 --- a/src/cz/crcs/ectester/reader/output/TextTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/TextTestWriter.java @@ -2,7 +2,7 @@ import cz.crcs.ectester.common.test.CompoundTest; import cz.crcs.ectester.common.test.Test; -import cz.crcs.ectester.reader.test.SimpleTest; +import cz.crcs.ectester.reader.test.CommandTest; import cz.crcs.ectester.reader.test.TestSuite; import java.io.PrintStream; @@ -33,8 +33,8 @@ private String testString(Test t, int offset) { } StringBuilder out = new StringBuilder(); - if (t instanceof SimpleTest) { - SimpleTest test = (SimpleTest) t; + if (t instanceof CommandTest) { + CommandTest test = (CommandTest) t; out.append(test.ok() ? "OK " : "NOK "); out.append("━ "); int width = BASE_WIDTH - (offset + out.length()); diff --git a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java index 24a308c8..0a5155b1 100644 --- a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java @@ -5,7 +5,7 @@ import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.response.Response; import cz.crcs.ectester.common.test.Test; -import cz.crcs.ectester.reader.test.SimpleTest; +import cz.crcs.ectester.reader.test.CommandTest; import cz.crcs.ectester.reader.test.TestSuite; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -91,8 +91,8 @@ private Element responseElement(Response r) { private Element testElement(Test t) { Element testElem = doc.createElement("test"); - if (t instanceof SimpleTest) { - SimpleTest test = (SimpleTest) t; + if (t instanceof CommandTest) { + CommandTest test = (CommandTest) t; testElem.setAttribute("type", "simple"); testElem.appendChild(commandElement(test.getCommand())); testElem.appendChild(responseElement(test.getResponse())); diff --git a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java index c637a13e..84f1eacf 100644 --- a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java @@ -5,7 +5,7 @@ import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.response.Response; import cz.crcs.ectester.common.test.Test; -import cz.crcs.ectester.reader.test.SimpleTest; +import cz.crcs.ectester.reader.test.CommandTest; import cz.crcs.ectester.reader.test.TestSuite; import org.yaml.snakeyaml.DumperOptions; import org.yaml.snakeyaml.Yaml; @@ -66,8 +66,8 @@ private Map responseObject(Response r) { private Map testObject(Test t) { Map testObj = new HashMap<>(); - if (t instanceof SimpleTest) { - SimpleTest test = (SimpleTest) t; + if (t instanceof CommandTest) { + CommandTest test = (CommandTest) t; testObj.put("type", "simple"); testObj.put("command", commandObject(test.getCommand())); testObj.put("response", responseObject(test.getResponse())); diff --git a/src/cz/crcs/ectester/reader/test/SimpleTest.java b/src/cz/crcs/ectester/reader/test/CommandTest.java similarity index 85% rename from src/cz/crcs/ectester/reader/test/SimpleTest.java rename to src/cz/crcs/ectester/reader/test/CommandTest.java index 067f43e3..b7728b6b 100644 --- a/src/cz/crcs/ectester/reader/test/SimpleTest.java +++ b/src/cz/crcs/ectester/reader/test/CommandTest.java @@ -13,24 +13,24 @@ * A simple test that runs one Command to get and evaluate one Response * to get a Result and compare it with the expected one. */ -public class SimpleTest extends Test { +public class CommandTest extends Test { private BiFunction callback; private Command command; private Response response; - public SimpleTest(Command command, BiFunction callback) { + public CommandTest(Command command, BiFunction callback) { this.command = command; this.callback = callback; } - public SimpleTest(Command command, Result.ExpectedValue expected, String ok, String nok) { + public CommandTest(Command command, Result.ExpectedValue expected, String ok, String nok) { this(command, (cmd, resp) -> { Result.Value resultValue = Result.Value.fromExpected(expected, resp.successful(), resp.error()); return new Result(resultValue, resultValue.ok() ? ok : nok); }); } - public SimpleTest(Command command, Result.ExpectedValue expected) { + public CommandTest(Command command, Result.ExpectedValue expected) { this(command, expected, null, null); } diff --git a/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java b/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java index 2e711a22..77df7d6f 100644 --- a/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java @@ -41,12 +41,12 @@ public void setup(CardMngr cardManager) { continue; } if ((curve.getBits() == cfg.bits || cfg.all)) { - tests.add(new SimpleTest(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); - tests.add(new SimpleTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.ANY)); - tests.add(new SimpleTest(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.ANY)); + tests.add(new CommandTest(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); + tests.add(new CommandTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.ANY)); + tests.add(new CommandTest(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.ANY)); Command ecdhCommand = new Command.ECDH_direct(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, EC_Consts.KA_ECDH, key.flatten()); - tests.add(new SimpleTest(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected to do ECDH over a composite order curve.", "Card incorrectly does ECDH over a composite order curve, leaks bits of private key.")); - tests.add(new SimpleTest(new Command.Cleanup(cardManager), ExpectedValue.ANY)); + tests.add(new CommandTest(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected to do ECDH over a composite order curve.", "Card incorrectly does ECDH over a composite order curve, leaks bits of private key.")); + tests.add(new CommandTest(new Command.Cleanup(cardManager), ExpectedValue.ANY)); } } } diff --git a/src/cz/crcs/ectester/reader/test/DefaultSuite.java b/src/cz/crcs/ectester/reader/test/DefaultSuite.java index fb8fdabe..0e25312d 100644 --- a/src/cz/crcs/ectester/reader/test/DefaultSuite.java +++ b/src/cz/crcs/ectester/reader/test/DefaultSuite.java @@ -23,7 +23,7 @@ public DefaultSuite(EC_Store dataStore, ECTesterReader.Config cfg) { @Override public void setup(CardMngr cardManager) throws IOException { - tests.add(new SimpleTest(new Command.Support(cardManager), ExpectedValue.ANY)); + tests.add(new CommandTest(new Command.Support(cardManager), ExpectedValue.ANY)); if (cfg.namedCurve != null) { String desc = "Default tests over the " + cfg.namedCurve + " curve category."; if (cfg.primeField) { @@ -59,11 +59,11 @@ public void setup(CardMngr cardManager) throws IOException { } private void defaultTests(CardMngr cardManager, short keyLength, byte keyType) throws IOException { - tests.add(new SimpleTest(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, keyLength, keyType), ExpectedValue.SUCCESS)); + tests.add(new CommandTest(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, keyLength, keyType), ExpectedValue.SUCCESS)); Command curve = Command.prepareCurve(cardManager, dataStore, cfg, ECTesterApplet.KEYPAIR_BOTH, keyLength, keyType); if (curve != null) - tests.add(new SimpleTest(curve, ExpectedValue.SUCCESS)); + tests.add(new CommandTest(curve, ExpectedValue.SUCCESS)); tests.add(defaultCurveTests(cardManager, ExpectedValue.SUCCESS, ExpectedValue.SUCCESS, ExpectedValue.ANY, ExpectedValue.SUCCESS, "Default tests.")); - tests.add(new SimpleTest(new Command.Cleanup(cardManager), ExpectedValue.ANY)); + tests.add(new CommandTest(new Command.Cleanup(cardManager), ExpectedValue.ANY)); } } diff --git a/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java b/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java index 1f71ad58..e4afb5d4 100644 --- a/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java @@ -55,16 +55,16 @@ public void setup(CardMngr cardManager) throws IOException { EC_Curve curve = e.getKey(); List keys = e.getValue(); - tests.add(new SimpleTest(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); - tests.add(new SimpleTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.SUCCESS)); - tests.add(new SimpleTest(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.SUCCESS)); + tests.add(new CommandTest(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); + tests.add(new CommandTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.SUCCESS)); + tests.add(new CommandTest(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.SUCCESS)); List ecdhTests = new LinkedList<>(); for (EC_Key.Public pub : keys) { Command ecdhCommand = new Command.ECDH_direct(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, EC_Consts.KA_ANY, pub.flatten()); - ecdhTests.add(new SimpleTest(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected point on invalid curve." , "Card incorrectly accepted point on invalid curve.")); + ecdhTests.add(new CommandTest(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected point on invalid curve." , "Card incorrectly accepted point on invalid curve.")); } tests.add(CompoundTest.all(ExpectedValue.SUCCESS, "Invalid curve test of " + curve.getId(), ecdhTests.toArray(new Test[0]))); - tests.add(new SimpleTest(new Command.Cleanup(cardManager), ExpectedValue.ANY)); + tests.add(new CommandTest(new Command.Cleanup(cardManager), ExpectedValue.ANY)); } } } diff --git a/src/cz/crcs/ectester/reader/test/TestSuite.java b/src/cz/crcs/ectester/reader/test/TestSuite.java index dc8167bf..034f5793 100644 --- a/src/cz/crcs/ectester/reader/test/TestSuite.java +++ b/src/cz/crcs/ectester/reader/test/TestSuite.java @@ -64,14 +64,14 @@ public String getDescription() { Test defaultCurveTests(CardMngr cardManager, ExpectedValue generateExpected, ExpectedValue ecdhExpected, ExpectedValue ecdhCompressExpected, ExpectedValue ecdsaExpected, String description) { List tests = new LinkedList<>(); - tests.add(new SimpleTest(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_BOTH), generateExpected)); - tests.add(new SimpleTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, EC_Consts.KA_ECDH), ecdhExpected)); - tests.add(new SimpleTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_COMPRESS, EC_Consts.KA_ECDH), ecdhExpected)); - tests.add(new SimpleTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_ONE, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); - tests.add(new SimpleTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_ZERO, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); - tests.add(new SimpleTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_MAX, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); - tests.add(new SimpleTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_FULLRANDOM, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); - tests.add(new SimpleTest(new Command.ECDSA(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, null), ecdsaExpected)); + tests.add(new CommandTest(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_BOTH), generateExpected)); + tests.add(new CommandTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, EC_Consts.KA_ECDH), ecdhExpected)); + tests.add(new CommandTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_COMPRESS, EC_Consts.KA_ECDH), ecdhExpected)); + tests.add(new CommandTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_ONE, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); + tests.add(new CommandTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_ZERO, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); + tests.add(new CommandTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_MAX, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); + tests.add(new CommandTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_FULLRANDOM, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); + tests.add(new CommandTest(new Command.ECDSA(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, null), ecdsaExpected)); return CompoundTest.function((testArray) -> { Function shouldHave = (expected) -> { @@ -126,10 +126,10 @@ List defaultCategoryTests(CardMngr cardManager, String category, byte fiel for (Map.Entry entry : curves.entrySet()) { EC_Curve curve = entry.getValue(); if (curve.getField() == field && (curve.getBits() == cfg.bits || cfg.all)) { - tests.add(new SimpleTest(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), field), ExpectedValue.SUCCESS)); - tests.add(new SimpleTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), setExpected)); + tests.add(new CommandTest(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), field), ExpectedValue.SUCCESS)); + tests.add(new CommandTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), setExpected)); tests.add(defaultCurveTests(cardManager, generateExpected, ecdhExpected, ecdhCompressedExpected, ecdsaExpected, description)); - tests.add(new SimpleTest(new Command.Cleanup(cardManager), ExpectedValue.ANY)); + tests.add(new CommandTest(new Command.Cleanup(cardManager), ExpectedValue.ANY)); } } diff --git a/src/cz/crcs/ectester/reader/test/TestVectorSuite.java b/src/cz/crcs/ectester/reader/test/TestVectorSuite.java index 3f11a79c..77653d1f 100644 --- a/src/cz/crcs/ectester/reader/test/TestVectorSuite.java +++ b/src/cz/crcs/ectester/reader/test/TestVectorSuite.java @@ -61,12 +61,12 @@ public void setup(CardMngr cardManager) throws IOException { } List testVector = new LinkedList<>(); - testVector.add(new SimpleTest(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); - testVector.add(new SimpleTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.SUCCESS)); + testVector.add(new CommandTest(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); + testVector.add(new CommandTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.SUCCESS)); //tests.add(new Test.Simple(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_BOTH), ExpectedValue.SUCCESS)); - testVector.add(new SimpleTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_LOCAL, EC_Consts.CURVE_external, EC_Consts.PARAMETER_S, onekey.flatten(EC_Consts.PARAMETER_S)), ExpectedValue.SUCCESS)); - testVector.add(new SimpleTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_REMOTE, EC_Consts.CURVE_external, EC_Consts.PARAMETER_W, otherkey.flatten(EC_Consts.PARAMETER_W)), ExpectedValue.SUCCESS)); - testVector.add(new SimpleTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_TRUE, EC_Consts.CORRUPTION_NONE, result.getKA()), (command, response) -> { + testVector.add(new CommandTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_LOCAL, EC_Consts.CURVE_external, EC_Consts.PARAMETER_S, onekey.flatten(EC_Consts.PARAMETER_S)), ExpectedValue.SUCCESS)); + testVector.add(new CommandTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_REMOTE, EC_Consts.CURVE_external, EC_Consts.PARAMETER_W, otherkey.flatten(EC_Consts.PARAMETER_W)), ExpectedValue.SUCCESS)); + testVector.add(new CommandTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_TRUE, EC_Consts.CORRUPTION_NONE, result.getKA()), (command, response) -> { Response.ECDH dh = (Response.ECDH) response; if (!dh.successful()) return new Result(Value.FAILURE, "ECDH was unsuccessful."); @@ -79,7 +79,7 @@ public void setup(CardMngr cardManager) throws IOException { return new Result(Value.SUCCESS); })); tests.add(CompoundTest.all(ExpectedValue.SUCCESS, "Test vector " + result.getId(), testVector.toArray(new Test[0]))); - tests.add(new SimpleTest(new Command.Cleanup(cardManager), ExpectedValue.ANY)); + tests.add(new CommandTest(new Command.Cleanup(cardManager), ExpectedValue.ANY)); } } diff --git a/src/cz/crcs/ectester/standalone/consts/Ident.java b/src/cz/crcs/ectester/standalone/consts/Ident.java index 3228c370..eaea0e3b 100644 --- a/src/cz/crcs/ectester/standalone/consts/Ident.java +++ b/src/cz/crcs/ectester/standalone/consts/Ident.java @@ -6,11 +6,18 @@ import java.util.TreeSet; public abstract class Ident { - private Set idents; + Set idents; + String name; - public Ident(String... names) { + public Ident(String name, String... aliases) { + this.name = name; this.idents = new TreeSet<>(String.CASE_INSENSITIVE_ORDER); - this.idents.addAll(Arrays.asList(names)); + this.idents.add(name); + this.idents.addAll(Arrays.asList(aliases)); + } + + public String getName() { + return name; } public Set getIdents() { diff --git a/src/cz/crcs/ectester/standalone/consts/KeyAgreementIdent.java b/src/cz/crcs/ectester/standalone/consts/KeyAgreementIdent.java index 9dc9797e..22b03a48 100644 --- a/src/cz/crcs/ectester/standalone/consts/KeyAgreementIdent.java +++ b/src/cz/crcs/ectester/standalone/consts/KeyAgreementIdent.java @@ -1,5 +1,8 @@ package cz.crcs.ectester.standalone.consts; +import javax.crypto.KeyAgreement; +import java.security.NoSuchAlgorithmException; +import java.security.Provider; import java.util.LinkedList; import java.util.List; @@ -47,7 +50,11 @@ public static KeyAgreementIdent get(String ident) { return null; } - private KeyAgreementIdent(String... names) { - super(names); + private KeyAgreementIdent(String name, String... aliases) { + super(name, aliases); + } + + public KeyAgreement getInstance(Provider provider) throws NoSuchAlgorithmException { + return KeyAgreement.getInstance(name, provider); } } diff --git a/src/cz/crcs/ectester/standalone/consts/SignatureIdent.java b/src/cz/crcs/ectester/standalone/consts/SignatureIdent.java index b41e9e46..dc554e21 100644 --- a/src/cz/crcs/ectester/standalone/consts/SignatureIdent.java +++ b/src/cz/crcs/ectester/standalone/consts/SignatureIdent.java @@ -1,5 +1,8 @@ package cz.crcs.ectester.standalone.consts; +import java.security.NoSuchAlgorithmException; +import java.security.Provider; +import java.security.Signature; import java.util.LinkedList; import java.util.List; @@ -71,7 +74,11 @@ public static SignatureIdent get(String ident) { return null; } - private SignatureIdent(String... names) { - super(names); + private SignatureIdent(String name, String... aliases) { + super(name, aliases); + } + + public Signature getInstance(Provider provider) throws NoSuchAlgorithmException { + return Signature.getInstance(name, provider); } } diff --git a/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java b/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java new file mode 100644 index 00000000..9c761fa5 --- /dev/null +++ b/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java @@ -0,0 +1,55 @@ +package cz.crcs.ectester.standalone.test; + +import cz.crcs.ectester.common.test.Result; +import cz.crcs.ectester.common.test.Test; +import cz.crcs.ectester.common.test.TestCallback; +import cz.crcs.ectester.common.test.TestException; + +import java.util.Arrays; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class KeyAgreementTest extends Test { + private KeyAgreementTestable ka; + private TestCallback callback; + + private KeyAgreementTest(KeyAgreementTestable ka, TestCallback callback) { + this.ka = ka; + this.callback = callback; + } + + public static KeyAgreementTest match(KeyAgreementTestable ka, byte[] expectedSecret) { + return new KeyAgreementTest(ka, new TestCallback() { + @Override + public Result apply(KeyAgreementTestable ka) { + if (Arrays.equals(ka.getSecret(), expectedSecret)) { + return new Result(Result.Value.SUCCESS); + } else { + return new Result(Result.Value.FAILURE); + } + } + }); + } + + public static KeyAgreementTest expect(KeyAgreementTestable ka, Result.ExpectedValue expected) { + return new KeyAgreementTest(ka, new TestCallback() { + @Override + public Result apply(KeyAgreementTestable keyAgreementTestable) { + return new Result(Result.Value.fromExpected(expected, keyAgreementTestable.ok(), keyAgreementTestable.error())); + } + }); + } + + @Override + public String getDescription() { + return null; + } + + @Override + public void run() throws TestException { + ka.run(); + result = callback.apply(ka); + hasRun = true; + } +} diff --git a/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java b/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java new file mode 100644 index 00000000..51c295c8 --- /dev/null +++ b/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java @@ -0,0 +1,80 @@ +package cz.crcs.ectester.standalone.test; + +import cz.crcs.ectester.common.test.TestException; +import cz.crcs.ectester.common.test.Testable; + +import javax.crypto.KeyAgreement; +import java.security.InvalidKeyException; +import java.security.interfaces.ECPrivateKey; +import java.security.interfaces.ECPublicKey; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class KeyAgreementTestable implements Testable { + private KeyAgreement ka; + private ECPrivateKey privateKey; + private ECPublicKey publicKey; + private byte[] secret; + private boolean hasRun; + private boolean error; + private boolean ok; + + public KeyAgreementTestable(KeyAgreement ka, ECPrivateKey privateKey, ECPublicKey publicKey) { + this.ka = ka; + this.privateKey = privateKey; + this.publicKey = publicKey; + } + + public byte[] getSecret() { + if (!hasRun) { + return null; + } + return secret; + } + + @Override + public boolean hasRun() { + return hasRun; + } + + @Override + public void run() throws TestException { + try { + ka.init(privateKey); + } catch (InvalidKeyException ikex) { + throw new TestException(ikex); + } + + try { + ka.doPhase(publicKey, true); + } catch (InvalidKeyException ikex) { + throw new TestException(ikex); + } catch (IllegalStateException isex) { + error = true; + ok = false; + hasRun = true; + return; + } + + try { + secret = ka.generateSecret(); + } catch (IllegalStateException isex) { + error = true; + ok = false; + hasRun = true; + return; + } + ok = true; + } + + @Override + public boolean ok() { + return ok; + } + + @Override + public boolean error() { + return error; + } +} diff --git a/src/cz/crcs/ectester/standalone/test/KeyGenerationTest.java b/src/cz/crcs/ectester/standalone/test/KeyGenerationTest.java new file mode 100644 index 00000000..7a96ba11 --- /dev/null +++ b/src/cz/crcs/ectester/standalone/test/KeyGenerationTest.java @@ -0,0 +1,19 @@ +package cz.crcs.ectester.standalone.test; + +import cz.crcs.ectester.common.test.Test; +import cz.crcs.ectester.common.test.TestException; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class KeyGenerationTest extends Test { + @Override + public String getDescription() { + return null; + } + + @Override + public void run() throws TestException { + + } +} diff --git a/src/cz/crcs/ectester/standalone/test/SignatureTest.java b/src/cz/crcs/ectester/standalone/test/SignatureTest.java new file mode 100644 index 00000000..2102db08 --- /dev/null +++ b/src/cz/crcs/ectester/standalone/test/SignatureTest.java @@ -0,0 +1,19 @@ +package cz.crcs.ectester.standalone.test; + +import cz.crcs.ectester.common.test.Test; +import cz.crcs.ectester.common.test.TestException; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class SignatureTest extends Test { + @Override + public String getDescription() { + return null; + } + + @Override + public void run() throws TestException { + + } +} From 35bdac1fff6e98485d5fbef870d6438fdbbd00c3 Mon Sep 17 00:00:00 2001 From: J08nY Date: Mon, 13 Nov 2017 22:49:41 +0100 Subject: [PATCH 10/91] Implement basic lib tests. --- .../standalone/test/KeyAgreementTest.java | 4 + .../standalone/test/KeyAgreementTestable.java | 5 +- .../standalone/test/KeyGenerationTest.java | 27 ++++- .../test/KeyGenerationTestable.java | 67 ++++++++++++ .../standalone/test/SignatureTest.java | 13 ++- .../standalone/test/SignatureTestable.java | 102 ++++++++++++++++++ 6 files changed, 213 insertions(+), 5 deletions(-) create mode 100644 src/cz/crcs/ectester/standalone/test/KeyGenerationTestable.java create mode 100644 src/cz/crcs/ectester/standalone/test/SignatureTestable.java diff --git a/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java b/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java index 9c761fa5..a24346e1 100644 --- a/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java +++ b/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java @@ -41,6 +41,10 @@ public Result apply(KeyAgreementTestable keyAgreementTestable) { }); } + public static KeyAgreementTest function(KeyAgreementTestable ka, TestCallback callback) { + return new KeyAgreementTest(ka, callback); + } + @Override public String getDescription() { return null; diff --git a/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java b/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java index 51c295c8..ef363c32 100644 --- a/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java +++ b/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java @@ -17,7 +17,7 @@ public class KeyAgreementTestable implements Testable { private ECPublicKey publicKey; private byte[] secret; private boolean hasRun; - private boolean error; + private boolean error = false; private boolean ok; public KeyAgreementTestable(KeyAgreement ka, ECPrivateKey privateKey, ECPublicKey publicKey) { @@ -51,7 +51,6 @@ public void run() throws TestException { } catch (InvalidKeyException ikex) { throw new TestException(ikex); } catch (IllegalStateException isex) { - error = true; ok = false; hasRun = true; return; @@ -60,12 +59,12 @@ public void run() throws TestException { try { secret = ka.generateSecret(); } catch (IllegalStateException isex) { - error = true; ok = false; hasRun = true; return; } ok = true; + hasRun = true; } @Override diff --git a/src/cz/crcs/ectester/standalone/test/KeyGenerationTest.java b/src/cz/crcs/ectester/standalone/test/KeyGenerationTest.java index 7a96ba11..0ec47412 100644 --- a/src/cz/crcs/ectester/standalone/test/KeyGenerationTest.java +++ b/src/cz/crcs/ectester/standalone/test/KeyGenerationTest.java @@ -1,12 +1,35 @@ package cz.crcs.ectester.standalone.test; +import cz.crcs.ectester.common.test.Result; import cz.crcs.ectester.common.test.Test; +import cz.crcs.ectester.common.test.TestCallback; import cz.crcs.ectester.common.test.TestException; /** * @author Jan Jancar johny@neuromancer.sk */ public class KeyGenerationTest extends Test { + private KeyGenerationTestable kg; + private TestCallback callback; + + private KeyGenerationTest(KeyGenerationTestable kg, TestCallback callback) { + this.kg = kg; + this.callback = callback; + } + + public static KeyGenerationTest expect(KeyGenerationTestable kg, Result.ExpectedValue expected) { + return new KeyGenerationTest(kg, new TestCallback() { + @Override + public Result apply(KeyGenerationTestable keyGenerationTestable) { + return new Result(Result.Value.fromExpected(expected, keyGenerationTestable.ok(), keyGenerationTestable.error())); + } + }); + } + + public static KeyGenerationTest function(KeyGenerationTestable ka, TestCallback callback) { + return new KeyGenerationTest(ka, callback); + } + @Override public String getDescription() { return null; @@ -14,6 +37,8 @@ public String getDescription() { @Override public void run() throws TestException { - + kg.run(); + result = callback.apply(kg); + hasRun = true; } } diff --git a/src/cz/crcs/ectester/standalone/test/KeyGenerationTestable.java b/src/cz/crcs/ectester/standalone/test/KeyGenerationTestable.java new file mode 100644 index 00000000..10d02cba --- /dev/null +++ b/src/cz/crcs/ectester/standalone/test/KeyGenerationTestable.java @@ -0,0 +1,67 @@ +package cz.crcs.ectester.standalone.test; + +import cz.crcs.ectester.common.test.TestException; +import cz.crcs.ectester.common.test.Testable; + +import java.security.InvalidAlgorithmParameterException; +import java.security.KeyPair; +import java.security.KeyPairGenerator; +import java.security.spec.AlgorithmParameterSpec; + +public class KeyGenerationTestable implements Testable { + + private KeyPair kp; + private KeyPairGenerator kpg; + private int keysize; + private AlgorithmParameterSpec spec; + private boolean hasRun; + private boolean error = false; + private boolean ok; + + public KeyGenerationTestable(KeyPairGenerator kpg, int keysize) { + this.kpg = kpg; + this.keysize = keysize; + } + + public KeyGenerationTestable(KeyPairGenerator kpg, AlgorithmParameterSpec spec) { + this.kpg = kpg; + this.spec = spec; + } + + public KeyPair getKeyPair() { + return kp; + } + + @Override + public boolean hasRun() { + return hasRun; + } + + @Override + public void run() throws TestException { + try { + if (spec != null) { + kpg.initialize(spec); + } else { + kpg.initialize(keysize); + } + } catch (InvalidAlgorithmParameterException e) { + hasRun = true; + ok = false; + return; + } + kp = kpg.genKeyPair(); + hasRun = true; + ok = true; + } + + @Override + public boolean ok() { + return ok; + } + + @Override + public boolean error() { + return error; + } +} diff --git a/src/cz/crcs/ectester/standalone/test/SignatureTest.java b/src/cz/crcs/ectester/standalone/test/SignatureTest.java index 2102db08..828b84fd 100644 --- a/src/cz/crcs/ectester/standalone/test/SignatureTest.java +++ b/src/cz/crcs/ectester/standalone/test/SignatureTest.java @@ -1,12 +1,21 @@ package cz.crcs.ectester.standalone.test; import cz.crcs.ectester.common.test.Test; +import cz.crcs.ectester.common.test.TestCallback; import cz.crcs.ectester.common.test.TestException; /** * @author Jan Jancar johny@neuromancer.sk */ public class SignatureTest extends Test { + private SignatureTestable sig; + private TestCallback callback; + + private SignatureTest(SignatureTestable sig, TestCallback callback) { + this.sig = sig; + this.callback = callback; + } + @Override public String getDescription() { return null; @@ -14,6 +23,8 @@ public String getDescription() { @Override public void run() throws TestException { - + sig.run(); + result = callback.apply(sig); + hasRun = true; } } diff --git a/src/cz/crcs/ectester/standalone/test/SignatureTestable.java b/src/cz/crcs/ectester/standalone/test/SignatureTestable.java new file mode 100644 index 00000000..5f58b4ac --- /dev/null +++ b/src/cz/crcs/ectester/standalone/test/SignatureTestable.java @@ -0,0 +1,102 @@ +package cz.crcs.ectester.standalone.test; + +import cz.crcs.ectester.common.test.TestException; +import cz.crcs.ectester.common.test.Testable; + +import java.security.InvalidKeyException; +import java.security.Signature; +import java.security.SignatureException; +import java.security.interfaces.ECPrivateKey; +import java.security.interfaces.ECPublicKey; + +public class SignatureTestable implements Testable { + + private Signature sig; + private ECPrivateKey signKey; + private ECPublicKey verifyKey; + private byte[] data; + private byte[] signature; + private boolean verified; + + private boolean hasRun; + private boolean error; + private boolean ok; + + public SignatureTestable(Signature sig, ECPrivateKey signKey, ECPublicKey verifyKey, byte[] data) { + this.sig = sig; + this.signKey = signKey; + this.verifyKey = verifyKey; + this.data = data; + } + + public byte[] getSignature() { + return signature; + } + + public boolean getVerified() { + return verified; + } + + @Override + public boolean hasRun() { + return hasRun; + } + + @Override + public void run() throws TestException { + try { + sig.initSign(signKey); + } catch (InvalidKeyException e) { + throw new TestException(e); + } + + try { + sig.update(data); + } catch (SignatureException e) { + ok = false; + hasRun = true; + return; + } + + try { + signature = sig.sign(); + } catch (SignatureException e) { + ok = false; + hasRun = true; + return; + } + + try { + sig.initVerify(verifyKey); + } catch (InvalidKeyException e) { + throw new TestException(e); + } + + try { + sig.update(data); + } catch (SignatureException e) { + ok = false; + hasRun = true; + return; + } + + try { + verified = sig.verify(signature); + } catch (SignatureException e) { + ok = false; + hasRun = true; + } + ok = true; + hasRun = true; + } + + @Override + public boolean ok() { + return ok; + } + + @Override + public boolean error() { + return error; + } +} From 80e14c7d3f9eeec34f0236bfb8c595033142756a Mon Sep 17 00:00:00 2001 From: J08nY Date: Mon, 13 Nov 2017 23:18:35 +0100 Subject: [PATCH 11/91] Add KeyPairGenerator idents. --- .../standalone/ECTesterStandalone.java | 25 +++++++++++-- .../consts/KeyPairGeneratorIdent.java | 36 +++++++++++++++++++ .../ectester/standalone/libs/ECLibrary.java | 3 ++ .../standalone/libs/JavaECLibrary.java | 35 +++++++++--------- 4 files changed, 79 insertions(+), 20 deletions(-) create mode 100644 src/cz/crcs/ectester/standalone/consts/KeyPairGeneratorIdent.java diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index 47b7121b..016d0958 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -3,12 +3,17 @@ import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.common.ec.EC_Curve; import cz.crcs.ectester.data.EC_Store; +import cz.crcs.ectester.standalone.consts.KeyPairGeneratorIdent; import cz.crcs.ectester.standalone.libs.BouncyCastleLib; import cz.crcs.ectester.standalone.libs.ECLibrary; +import cz.crcs.ectester.standalone.libs.JavaECLibrary; import cz.crcs.ectester.standalone.libs.SunECLib; import org.apache.commons.cli.*; import java.io.IOException; +import java.security.KeyPair; +import java.security.KeyPairGenerator; +import java.security.NoSuchAlgorithmException; import java.util.Arrays; /** @@ -45,9 +50,23 @@ private void run(String[] args) { cfg = new Config(); dataStore = new EC_Store(); for (ECLibrary lib : libs) { - lib.initialize(); - lib.getECKAs(); - lib.getECSigs(); + if (lib instanceof JavaECLibrary) { + JavaECLibrary jlib = (JavaECLibrary) lib; + lib.initialize(); + lib.getECKAs(); + lib.getECSigs(); + for (KeyPairGeneratorIdent ident : lib.getKPGs()) { + try { + KeyPairGenerator kpg = ident.getInstance(jlib.getProvider()); + kpg.initialize(192); + KeyPair kp = kpg.genKeyPair(); + System.out.println(kp); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + } + } + } System.out.println(Arrays.toString(libs)); diff --git a/src/cz/crcs/ectester/standalone/consts/KeyPairGeneratorIdent.java b/src/cz/crcs/ectester/standalone/consts/KeyPairGeneratorIdent.java new file mode 100644 index 00000000..f806282d --- /dev/null +++ b/src/cz/crcs/ectester/standalone/consts/KeyPairGeneratorIdent.java @@ -0,0 +1,36 @@ +package cz.crcs.ectester.standalone.consts; + +import java.security.KeyPairGenerator; +import java.security.NoSuchAlgorithmException; +import java.security.Provider; +import java.util.LinkedList; +import java.util.List; + +public class KeyPairGeneratorIdent extends Ident { + private static final List ALL = new LinkedList<>(); + + static { + ALL.add(new KeyPairGeneratorIdent("EC")); + ALL.add(new KeyPairGeneratorIdent("ECDH")); + ALL.add(new KeyPairGeneratorIdent("ECDSA")); + ALL.add(new KeyPairGeneratorIdent("ECDHC")); + ALL.add(new KeyPairGeneratorIdent("ECMQV")); + } + + public static KeyPairGeneratorIdent get(String ident) { + for (KeyPairGeneratorIdent kg : ALL) { + if (kg.getIdents().contains(ident)) { + return kg; + } + } + return null; + } + + public KeyPairGeneratorIdent(String name, String... aliases) { + super(name, aliases); + } + + public KeyPairGenerator getInstance(Provider provider) throws NoSuchAlgorithmException { + return KeyPairGenerator.getInstance(name, provider); + } +} diff --git a/src/cz/crcs/ectester/standalone/libs/ECLibrary.java b/src/cz/crcs/ectester/standalone/libs/ECLibrary.java index b2792bd3..7e26dbed 100644 --- a/src/cz/crcs/ectester/standalone/libs/ECLibrary.java +++ b/src/cz/crcs/ectester/standalone/libs/ECLibrary.java @@ -1,6 +1,7 @@ package cz.crcs.ectester.standalone.libs; import cz.crcs.ectester.standalone.consts.KeyAgreementIdent; +import cz.crcs.ectester.standalone.consts.KeyPairGeneratorIdent; import cz.crcs.ectester.standalone.consts.SignatureIdent; import java.util.Set; @@ -17,5 +18,7 @@ public interface ECLibrary { Set getECSigs(); + Set getKPGs(); + String name(); } diff --git a/src/cz/crcs/ectester/standalone/libs/JavaECLibrary.java b/src/cz/crcs/ectester/standalone/libs/JavaECLibrary.java index f8848da7..5689b2b2 100644 --- a/src/cz/crcs/ectester/standalone/libs/JavaECLibrary.java +++ b/src/cz/crcs/ectester/standalone/libs/JavaECLibrary.java @@ -1,12 +1,15 @@ package cz.crcs.ectester.standalone.libs; +import cz.crcs.ectester.standalone.consts.Ident; import cz.crcs.ectester.standalone.consts.KeyAgreementIdent; +import cz.crcs.ectester.standalone.consts.KeyPairGeneratorIdent; import cz.crcs.ectester.standalone.consts.SignatureIdent; import java.security.Provider; import java.security.Security; import java.util.HashSet; import java.util.Set; +import java.util.function.Function; /** * @author Jan Jancar johny@neuromancer.sk @@ -39,34 +42,32 @@ public boolean isInitialized() { return initialized; } - @Override - public Set getECKAs() { - Set results = new HashSet<>(); + private Set getIdents(String type, Function getter) { + Set results = new HashSet<>(); for (Provider.Service service : provider.getServices()) { - if (service.getType().equals("KeyAgreement")) { - KeyAgreementIdent id = KeyAgreementIdent.get(service.getAlgorithm()); + if (service.getType().equals(type)) { + T id = getter.apply(service.getAlgorithm()); if (id != null) { results.add(id); } } } - System.out.println(results); return results; } + @Override + public Set getECKAs() { + return getIdents("KeyAgreement", KeyAgreementIdent::get); + } + @Override public Set getECSigs() { - Set results = new HashSet<>(); - for (Provider.Service service : provider.getServices()) { - if (service.getType().equals("Signature")) { - SignatureIdent id = SignatureIdent.get(service.getAlgorithm()); - if (id != null) { - results.add(id); - } - } - } - System.out.println(results); - return results; + return getIdents("Signature", SignatureIdent::get); + } + + @Override + public Set getKPGs() { + return getIdents("KeyPairGenerator", KeyPairGeneratorIdent::get); } @Override From 82a0399051d3bc059deb6923512092b31971d352 Mon Sep 17 00:00:00 2001 From: J08nY Date: Tue, 14 Nov 2017 03:04:10 +0100 Subject: [PATCH 12/91] Extract common CLI methods to CLITools. --- src/cz/crcs/ectester/common/CLITools.java | 56 +++++++++++++++++++ .../crcs/ectester/reader/ECTesterReader.java | 41 ++------------ .../standalone/ECTesterStandalone.java | 38 ++++++------- .../test/KeyGenerationTestable.java | 6 +- 4 files changed, 80 insertions(+), 61 deletions(-) create mode 100644 src/cz/crcs/ectester/common/CLITools.java diff --git a/src/cz/crcs/ectester/common/CLITools.java b/src/cz/crcs/ectester/common/CLITools.java new file mode 100644 index 00000000..57cea64a --- /dev/null +++ b/src/cz/crcs/ectester/common/CLITools.java @@ -0,0 +1,56 @@ +package cz.crcs.ectester.common; + +import cz.crcs.ectester.common.ec.EC_Category; +import cz.crcs.ectester.common.ec.EC_Data; +import cz.crcs.ectester.data.EC_Store; +import org.apache.commons.cli.HelpFormatter; +import org.apache.commons.cli.Options; + +import java.util.Map; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class CLITools { + + /** + * Print help. + */ + public static void help(String prog, String header, Options options, String footer, boolean usage) { + HelpFormatter help = new HelpFormatter(); + help.setOptionComparator(null); + help.printHelp(prog, header, options, footer, usage); + } + + /** + * Print version info. + */ + public static void version(String description, String license) { + System.out.println(description); + System.out.println(license); + } + + /** + * List categories and named curves. + */ + public static void listNamed(EC_Store dataStore, String named) { + Map categories = dataStore.getCategories(); + if (named == null) { + // print all categories, briefly + for (EC_Category cat : categories.values()) { + System.out.println(cat); + } + } else if (categories.containsKey(named)) { + // print given category + System.out.println(categories.get(named)); + } else { + // print given object + EC_Data object = dataStore.getObject(EC_Data.class, named); + if (object != null) { + System.out.println(object); + } else { + System.err.println("Named object " + named + " not found!"); + } + } + } +} diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index 0bbe8f77..c51430d3 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -23,6 +23,7 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; +import cz.crcs.ectester.common.CLITools; import cz.crcs.ectester.common.Util; import cz.crcs.ectester.common.ec.EC_Category; import cz.crcs.ectester.common.ec.EC_Data; @@ -79,11 +80,10 @@ private void run(String[] args) { //if help, print and quit if (cli.hasOption("help")) { - help(); + CLITools.help("ECTesterReader.jar", CLI_HEADER, opts, CLI_FOOTER, true); return; } else if (cli.hasOption("version")) { - System.out.println(DESCRIPTION); - System.out.println(LICENSE); + CLITools.version(DESCRIPTION, LICENSE); return; } cfg = new Config(); @@ -96,7 +96,7 @@ private void run(String[] args) { dataStore = new EC_Store(); //if list, print and quit if (cli.hasOption("list-named")) { - list(); + CLITools.listNamed(dataStore, cli.getOptionValue("list-named")); return; } @@ -311,39 +311,6 @@ private CommandLine parseArgs(String[] args) throws ParseException { return parser.parse(opts, args); } - /** - * Prints help. - */ - private void help() { - HelpFormatter help = new HelpFormatter(); - help.setOptionComparator(null); - help.printHelp("ECTesterReader.jar", CLI_HEADER, opts, CLI_FOOTER, true); - } - - /** - * List categories and named curves. - */ - private void list() { - Map categories = dataStore.getCategories(); - if (cfg.listNamed == null) { - // print all categories, briefly - for (EC_Category cat : categories.values()) { - System.out.println(cat); - } - } else if (categories.containsKey(cfg.listNamed)) { - // print given category - System.out.println(categories.get(cfg.listNamed)); - } else { - // print given object - EC_Data object = dataStore.getObject(EC_Data.class, cfg.listNamed); - if (object != null) { - System.out.println(object); - } else { - System.err.println("Named object " + cfg.listNamed + " not found!"); - } - } - } - /** * Exports default card/simulation EC domain parameters to output file. * diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index 016d0958..e8998ff3 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -1,6 +1,7 @@ package cz.crcs.ectester.standalone; import cz.crcs.ectester.applet.EC_Consts; +import cz.crcs.ectester.common.CLITools; import cz.crcs.ectester.common.ec.EC_Curve; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.standalone.consts.KeyPairGeneratorIdent; @@ -40,15 +41,21 @@ private void run(String[] args) { CommandLine cli = parseArgs(args); if (cli.hasOption("help")) { - help(); + CLITools.help("ECTesterStandalone.jar", CLI_HEADER, opts, CLI_FOOTER, true); return; } else if (cli.hasOption("version")) { - version(); + CLITools.version(DESCRIPTION, LICENSE); return; } cfg = new Config(); dataStore = new EC_Store(); + + if (cli.hasOption("list-named")) { + CLITools.listNamed(dataStore, cli.getOptionValue("list-named")); + return; + } + for (ECLibrary lib : libs) { if (lib instanceof JavaECLibrary) { JavaECLibrary jlib = (JavaECLibrary) lib; @@ -72,7 +79,7 @@ private void run(String[] args) { if (cli.hasOption("generate")) { generate(); - } else if (cli.hasOption("libs")) { + } else if (cli.hasOption("list-libs")) { listLibraries(); } @@ -86,31 +93,20 @@ private CommandLine parseArgs(String[] args) throws ParseException { actions.setRequired(true); actions.addOption(Option.builder("V").longOpt("version").desc("Print version info.").build()); actions.addOption(Option.builder("h").longOpt("help").desc("Print help.").build()); + actions.addOption(Option.builder("e").longOpt("export").desc("Export the defaut curve parameters of the card(if any).").build()); actions.addOption(Option.builder("g").longOpt("generate").desc("Generate [amount] of EC keys.").hasArg().argName("amount").optionalArg(true).build()); - actions.addOption(Option.builder("ls").longOpt("libs").desc("List supported libraries.").build()); + actions.addOption(Option.builder("t").longOpt("test").desc("Test ECC support. [test_suite]:\n- default:\n- invalid:\n- wrong:\n- composite:\n- test-vectors:").hasArg().argName("test_suite").optionalArg(true).build()); + actions.addOption(Option.builder("dh").longOpt("ecdh").desc("Do ECDH, [count] times.").hasArg().argName("count").optionalArg(true).build()); + actions.addOption(Option.builder("dhc").longOpt("ecdhc").desc("Do ECDHC, [count] times.").hasArg().argName("count").optionalArg(true).build()); + actions.addOption(Option.builder("dsa").longOpt("ecdsa").desc("Sign data with ECDSA, [count] times.").hasArg().argName("count").optionalArg(true).build()); + actions.addOption(Option.builder("ln").longOpt("list-named").desc("Print the list of supported named curves and keys.").hasArg().argName("what").optionalArg(true).build()); + actions.addOption(Option.builder("ls").longOpt("list-libs").desc("List supported libraries.").build()); opts.addOptionGroup(actions); CommandLineParser parser = new DefaultParser(); return parser.parse(opts, args); } - /** - * Prints help. - */ - private void help() { - HelpFormatter help = new HelpFormatter(); - help.setOptionComparator(null); - help.printHelp("ECTesterStandalone.jar", CLI_HEADER, opts, CLI_FOOTER, true); - } - - /** - * Prints version info. - */ - private void version() { - System.out.println(DESCRIPTION); - System.out.println(LICENSE); - } - /** * */ diff --git a/src/cz/crcs/ectester/standalone/test/KeyGenerationTestable.java b/src/cz/crcs/ectester/standalone/test/KeyGenerationTestable.java index 10d02cba..8ad425bd 100644 --- a/src/cz/crcs/ectester/standalone/test/KeyGenerationTestable.java +++ b/src/cz/crcs/ectester/standalone/test/KeyGenerationTestable.java @@ -6,14 +6,14 @@ import java.security.InvalidAlgorithmParameterException; import java.security.KeyPair; import java.security.KeyPairGenerator; -import java.security.spec.AlgorithmParameterSpec; +import java.security.spec.ECParameterSpec; public class KeyGenerationTestable implements Testable { private KeyPair kp; private KeyPairGenerator kpg; private int keysize; - private AlgorithmParameterSpec spec; + private ECParameterSpec spec; private boolean hasRun; private boolean error = false; private boolean ok; @@ -23,7 +23,7 @@ public KeyGenerationTestable(KeyPairGenerator kpg, int keysize) { this.keysize = keysize; } - public KeyGenerationTestable(KeyPairGenerator kpg, AlgorithmParameterSpec spec) { + public KeyGenerationTestable(KeyPairGenerator kpg, ECParameterSpec spec) { this.kpg = kpg; this.spec = spec; } From 7758239163e6c81f985fa4e33ad1c0cb57627f0e Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 15 Nov 2017 01:00:13 +0100 Subject: [PATCH 13/91] Add Tree-like CLI parsing utilities. --- .../ectester/common/{ => cli}/CLITools.java | 36 ++++- .../ectester/common/cli/ParserOptions.java | 25 ++++ .../ectester/common/cli/TreeCommandLine.java | 134 ++++++++++++++++++ .../crcs/ectester/common/cli/TreeParser.java | 75 ++++++++++ .../crcs/ectester/reader/ECTesterReader.java | 4 +- .../standalone/ECTesterStandalone.java | 5 +- 6 files changed, 272 insertions(+), 7 deletions(-) rename src/cz/crcs/ectester/common/{ => cli}/CLITools.java (50%) create mode 100644 src/cz/crcs/ectester/common/cli/ParserOptions.java create mode 100644 src/cz/crcs/ectester/common/cli/TreeCommandLine.java create mode 100644 src/cz/crcs/ectester/common/cli/TreeParser.java diff --git a/src/cz/crcs/ectester/common/CLITools.java b/src/cz/crcs/ectester/common/cli/CLITools.java similarity index 50% rename from src/cz/crcs/ectester/common/CLITools.java rename to src/cz/crcs/ectester/common/cli/CLITools.java index 57cea64a..8f34f623 100644 --- a/src/cz/crcs/ectester/common/CLITools.java +++ b/src/cz/crcs/ectester/common/cli/CLITools.java @@ -1,11 +1,14 @@ -package cz.crcs.ectester.common; +package cz.crcs.ectester.common.cli; import cz.crcs.ectester.common.ec.EC_Category; import cz.crcs.ectester.common.ec.EC_Data; import cz.crcs.ectester.data.EC_Store; +import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Options; +import java.io.PrintWriter; +import java.io.StringWriter; import java.util.Map; /** @@ -22,6 +25,37 @@ public static void help(String prog, String header, Options options, String foot help.printHelp(prog, header, options, footer, usage); } + private static void help(HelpFormatter help, PrintWriter pw, CommandLineParser cli, int depth) { + if (cli instanceof TreeParser) { + TreeParser tp = (TreeParser) cli; + tp.getParsers().forEach((key, value) -> { + help.printWrapped(pw, HelpFormatter.DEFAULT_WIDTH, String.format("%" + String.valueOf(depth) + "s" + key + ":", " ")); + help.printOptions(pw, HelpFormatter.DEFAULT_WIDTH, value.getOptions(), HelpFormatter.DEFAULT_LEFT_PAD + depth, HelpFormatter.DEFAULT_DESC_PAD); + pw.println(); + CLITools.help(help, pw, value.getParser(), depth + 1); + }); + } + } + + /** + * Print tree help. + */ + public static void help(String prog, String header, Options baseOpts, TreeParser baseParser, String footer, boolean usage) { + HelpFormatter help = new HelpFormatter(); + help.setOptionComparator(null); + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + if (usage) { + help.printUsage(pw, HelpFormatter.DEFAULT_WIDTH, prog, baseOpts); + } + help.printWrapped(pw, HelpFormatter.DEFAULT_WIDTH, header); + help.printOptions(pw, HelpFormatter.DEFAULT_WIDTH, baseOpts, HelpFormatter.DEFAULT_LEFT_PAD, HelpFormatter.DEFAULT_DESC_PAD); + pw.println(); + help(help, pw, baseParser, 1); + help.printWrapped(pw, HelpFormatter.DEFAULT_WIDTH, footer); + System.out.println(sw.toString()); + } + /** * Print version info. */ diff --git a/src/cz/crcs/ectester/common/cli/ParserOptions.java b/src/cz/crcs/ectester/common/cli/ParserOptions.java new file mode 100644 index 00000000..4216ce3b --- /dev/null +++ b/src/cz/crcs/ectester/common/cli/ParserOptions.java @@ -0,0 +1,25 @@ +package cz.crcs.ectester.common.cli; + +import org.apache.commons.cli.CommandLineParser; +import org.apache.commons.cli.Options; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class ParserOptions { + private CommandLineParser parser; + private Options options; + + public ParserOptions(CommandLineParser parser, Options options) { + this.parser = parser; + this.options = options; + } + + public CommandLineParser getParser() { + return parser; + } + + public Options getOptions() { + return options; + } +} diff --git a/src/cz/crcs/ectester/common/cli/TreeCommandLine.java b/src/cz/crcs/ectester/common/cli/TreeCommandLine.java new file mode 100644 index 00000000..ef6079e0 --- /dev/null +++ b/src/cz/crcs/ectester/common/cli/TreeCommandLine.java @@ -0,0 +1,134 @@ +package cz.crcs.ectester.common.cli; + +import org.apache.commons.cli.CommandLine; +import org.apache.commons.cli.Option; +import org.apache.commons.cli.ParseException; + +import java.util.Iterator; +import java.util.Properties; +import java.util.function.BiFunction; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class TreeCommandLine extends CommandLine { + private String name = ""; + private TreeCommandLine next; + private CommandLine cli; + + public TreeCommandLine(CommandLine cli, TreeCommandLine next) { + this.cli = cli; + this.next = next; + } + + public TreeCommandLine(String name, CommandLine cli, TreeCommandLine next) { + this(cli, next); + this.name = name; + } + + public void setName(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public String getNextName() { + if (next != null) { + return next.getName(); + } + return null; + } + + public TreeCommandLine getNext() { + return next; + } + + public CommandLine getThis() { + return cli; + } + + private T getOption(String opt, BiFunction getter, T defaultValue) { + if (opt.contains(".")) { + String[] parts = opt.split(".", 2); + if (next != null && parts[0].equals(next.getName())) { + return getter.apply(next, parts[1]); + } + return defaultValue; + } + return getter.apply(cli, opt); + } + + @Override + public boolean hasOption(String opt) { + return getOption(opt, CommandLine::hasOption, false); + } + + @Override + public boolean hasOption(char opt) { + return cli.hasOption(opt); + } + + @Override + public Object getParsedOptionValue(String opt) throws ParseException { + if (opt.contains(".")) { + String[] parts = opt.split(".", 2); + if (next != null && parts[0].equals(next.getName())) { + return next.getParsedOptionValue(parts[1]); + } + return null; + } + return cli.getParsedOptionValue(opt); + } + + @Override + public Object getOptionObject(char opt) { + return cli.getOptionObject(opt); + } + + @Override + public String getOptionValue(String opt) { + return getOption(opt, CommandLine::getOptionValue, null); + } + + @Override + public String getOptionValue(char opt) { + return cli.getOptionValue(opt); + } + + @Override + public String[] getOptionValues(String opt) { + return getOption(opt, CommandLine::getOptionValues, null); + } + + @Override + public String[] getOptionValues(char opt) { + return cli.getOptionValues(opt); + } + + @Override + public String getOptionValue(String opt, String defaultValue) { + return getOption(opt, CommandLine::getOptionValue, defaultValue); + } + + @Override + public String getOptionValue(char opt, String defaultValue) { + return cli.getOptionValue(opt, defaultValue); + } + + @Override + public Properties getOptionProperties(String opt) { + return getOption(opt, CommandLine::getOptionProperties, new Properties()); + } + + @Override + public Iterator

      * The data can be read from a byte array via readBytes(), from a CSV via readCSV(). * The data can be exported to a byte array via flatten() or to a string array via expand(). + * * @author Jan Jancar johny@neuromancer.sk */ public abstract class EC_Data { @@ -67,7 +68,7 @@ public byte[] flatten() { ByteArrayOutputStream out = new ByteArrayOutputStream(); for (byte[] param : data) { byte[] length = new byte[2]; - Util.setShort(length, 0, (short) param.length); + ByteUtil.setShort(length, 0, (short) param.length); out.write(length, 0, 2); out.write(param, 0, param.length); @@ -79,7 +80,7 @@ public byte[] flatten() { public String[] expand() { List out = new ArrayList<>(count); for (byte[] param : data) { - out.add(Util.bytesToHex(param, false)); + out.add(ByteUtil.bytesToHex(param, false)); } return out.toArray(new String[out.size()]); @@ -97,9 +98,9 @@ private static byte[] pad(byte[] data) { private static byte[] parse(String param) { byte[] data; if (param.startsWith("0x") || param.startsWith("0X")) { - data = Util.hexToBytes(param.substring(2)); + data = ByteUtil.hexToBytes(param.substring(2)); } else { - data = Util.hexToBytes(param); + data = ByteUtil.hexToBytes(param); } if (data == null) return new byte[0]; @@ -141,12 +142,16 @@ public boolean readCSV(InputStream in) { } public boolean readBytes(byte[] bytes) { + if (bytes == null) { + return false; + } + int offset = 0; for (int i = 0; i < count; i++) { if (bytes.length - offset < 2) { return false; } - short paramLength = Util.getShort(bytes, offset); + short paramLength = ByteUtil.getShort(bytes, offset); offset += 2; if (bytes.length < offset + paramLength) { return false; @@ -158,6 +163,18 @@ public boolean readBytes(byte[] bytes) { return true; } + public boolean readByteArray(byte[][] bytes) { + if (bytes == null || count != bytes.length) { + return false; + } + + for (int i = 0; i < count; ++i) { + data[i] = new byte[bytes[i].length]; + System.arraycopy(bytes[i], 0, data[i], 0, bytes[i].length); + } + return true; + } + public void writeCSV(OutputStream out) throws IOException { Writer w = new OutputStreamWriter(out); w.write(String.join(",", expand())); diff --git a/src/cz/crcs/ectester/common/ec/EC_KAResult.java b/src/cz/crcs/ectester/common/ec/EC_KAResult.java index 3b74c577..a7b3cd51 100644 --- a/src/cz/crcs/ectester/common/ec/EC_KAResult.java +++ b/src/cz/crcs/ectester/common/ec/EC_KAResult.java @@ -1,6 +1,6 @@ package cz.crcs.ectester.common.ec; -import cz.crcs.ectester.common.Util; +import cz.crcs.ectester.common.util.CardUtil; /** * A result of EC based Key agreement operation. @@ -56,7 +56,7 @@ public String getDesc() { @Override public String toString() { - String algo = Util.getKA(ka); + String algo = CardUtil.getKA(ka); return "<" + getId() + "> " + algo + " result over " + curve + ", " + oneKey + " + " + otherKey + (desc == null ? "" : ": " + desc); } diff --git a/src/cz/crcs/ectester/common/ec/EC_Params.java b/src/cz/crcs/ectester/common/ec/EC_Params.java index 3fada93d..1c066e72 100644 --- a/src/cz/crcs/ectester/common/ec/EC_Params.java +++ b/src/cz/crcs/ectester/common/ec/EC_Params.java @@ -1,7 +1,7 @@ package cz.crcs.ectester.common.ec; import cz.crcs.ectester.applet.EC_Consts; -import cz.crcs.ectester.common.Util; +import cz.crcs.ectester.common.util.ByteUtil; import java.io.ByteArrayOutputStream; import java.util.ArrayList; @@ -125,12 +125,12 @@ public byte[] flatten(short params) { byte[] param = data[i]; if (masked == EC_Consts.PARAMETER_F2M) { //add m, e_1, e_2, e_3 - param = Util.concatenate(param, data[i + 1]); - if (!Util.allValue(data[i + 2], (byte) 0)) { - param = Util.concatenate(param, data[i + 2]); + param = ByteUtil.concatenate(param, data[i + 1]); + if (!ByteUtil.allValue(data[i + 2], (byte) 0)) { + param = ByteUtil.concatenate(param, data[i + 2]); } - if (!Util.allValue(data[i + 3], (byte) 0)) { - param = Util.concatenate(param, data[i + 3]); + if (!ByteUtil.allValue(data[i + 3], (byte) 0)) { + param = ByteUtil.concatenate(param, data[i + 3]); } if (!(param.length == 4 || param.length == 8)) throw new RuntimeException("PARAMETER_F2M length is not 8.(should be)"); @@ -138,14 +138,14 @@ public byte[] flatten(short params) { if (masked == EC_Consts.PARAMETER_G || masked == EC_Consts.PARAMETER_W) { //read another param (the y coord) and put into X962 format. byte[] y = data[i + 1]; - param = Util.concatenate(new byte[]{4}, param, y); //<- ugly but works! + param = ByteUtil.concatenate(new byte[]{4}, param, y); //<- ugly but works! } if (param.length == 0) throw new RuntimeException("Empty parameter read?"); //write length byte[] length = new byte[2]; - Util.setShort(length, 0, (short) param.length); + ByteUtil.setShort(length, 0, (short) param.length); out.write(length, 0, 2); //write data out.write(param, 0, param.length); @@ -175,15 +175,15 @@ public String[] expand() { byte[] param = data[index]; if (masked == EC_Consts.PARAMETER_F2M) { for (int i = 0; i < 4; ++i) { - out.add(Util.bytesToHex(data[index + i], false)); + out.add(ByteUtil.bytesToHex(data[index + i], false)); } index += 4; } else if (masked == EC_Consts.PARAMETER_G || masked == EC_Consts.PARAMETER_W) { - out.add(Util.bytesToHex(param, false)); - out.add(Util.bytesToHex(data[index + 1], false)); + out.add(ByteUtil.bytesToHex(param, false)); + out.add(ByteUtil.bytesToHex(data[index + 1], false)); index += 2; } else { - out.add(Util.bytesToHex(param, false)); + out.add(ByteUtil.bytesToHex(param, false)); index++; } } diff --git a/src/cz/crcs/ectester/common/util/ByteUtil.java b/src/cz/crcs/ectester/common/util/ByteUtil.java new file mode 100644 index 00000000..939e4877 --- /dev/null +++ b/src/cz/crcs/ectester/common/util/ByteUtil.java @@ -0,0 +1,122 @@ +package cz.crcs.ectester.common.util; + +/** + * Utility class, some byte/hex manipulation, convenient byte[] methods. + * + * @author Petr Svenda petr@svenda.com + * @author Jan Jancar johny@neuromancer.sk + */ +public class ByteUtil { + public static short getShort(byte[] array, int offset) { + return (short) (((array[offset] & 0xFF) << 8) | (array[offset + 1] & 0xFF)); + } + + public static void setShort(byte[] array, int offset, short value) { + array[offset + 1] = (byte) (value & 0xFF); + array[offset] = (byte) ((value >> 8) & 0xFF); + } + + public static int diffBytes(byte[] one, int oneOffset, byte[] other, int otherOffset, int length) { + for (int i = 0; i < length; ++i) { + byte a = one[i + oneOffset]; + byte b = other[i + otherOffset]; + if (a != b) { + return i; + } + } + return length; + } + + public static boolean compareBytes(byte[] one, int oneOffset, byte[] other, int otherOffset, int length) { + return diffBytes(one, oneOffset, other, otherOffset, length) == length; + } + + public static boolean allValue(byte[] array, byte value) { + for (byte a : array) { + if (a != value) + return false; + } + return true; + } + + public static byte[] hexToBytes(String hex) { + return hexToBytes(hex, true); + } + + public static byte[] hexToBytes(String hex, boolean bigEndian) { + hex = hex.replace(" ", ""); + int len = hex.length(); + StringBuilder sb = new StringBuilder(); + + if (len % 2 == 1) { + sb.append("0"); + ++len; + } + + if (bigEndian) { + sb.append(hex); + } else { + for (int i = 0; i < len / 2; ++i) { + if (sb.length() >= 2) { + sb.insert(sb.length() - 2, hex.substring(2 * i, 2 * i + 2)); + } else { + sb.append(hex.substring(2 * i, 2 * i + 2)); + } + + } + } + + String data = sb.toString(); + byte[] result = new byte[len / 2]; + for (int i = 0; i < len; i += 2) { + result[i / 2] = (byte) ((Character.digit(data.charAt(i), 16) << 4) + + (Character.digit(data.charAt(i + 1), 16))); + } + return result; + } + + public static String byteToHex(byte data) { + return String.format("%02x", data); + } + + public static String bytesToHex(byte[] data) { + return bytesToHex(data, true); + } + + public static String bytesToHex(byte[] data, boolean addSpace) { + return bytesToHex(data, 0, data.length, addSpace); + } + + public static String bytesToHex(byte[] data, int offset, int len) { + return bytesToHex(data, offset, len, true); + } + + public static String bytesToHex(byte[] data, int offset, int len, boolean addSpace) { + StringBuilder buf = new StringBuilder(); + for (int i = offset; i < (offset + len); i++) { + buf.append(byteToHex(data[i])); + if (addSpace && i != (offset + len - 1)) { + buf.append(" "); + } + } + return (buf.toString()); + } + + public static byte[] concatenate(byte[]... arrays) { + int len = 0; + for (byte[] array : arrays) { + if (array == null) + continue; + len += array.length; + } + byte[] out = new byte[len]; + int offset = 0; + for (byte[] array : arrays) { + if (array == null || array.length == 0) + continue; + System.arraycopy(array, 0, out, offset, array.length); + offset += array.length; + } + return out; + } +} diff --git a/src/cz/crcs/ectester/common/Util.java b/src/cz/crcs/ectester/common/util/CardUtil.java similarity index 70% rename from src/cz/crcs/ectester/common/Util.java rename to src/cz/crcs/ectester/common/util/CardUtil.java index 01364932..a94c773d 100644 --- a/src/cz/crcs/ectester/common/Util.java +++ b/src/cz/crcs/ectester/common/util/CardUtil.java @@ -1,4 +1,4 @@ -package cz.crcs.ectester.common; +package cz.crcs.ectester.common.util; import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; @@ -7,127 +7,7 @@ import static cz.crcs.ectester.applet.ECTesterApplet.*; -/** - * Utility class, some byte/hex manipulation, convenient byte[] methods. - * - * @author Petr Svenda petr@svenda.com - * @author Jan Jancar johny@neuromancer.sk - */ -public class Util { - - public static short getShort(byte[] array, int offset) { - return (short) (((array[offset] & 0xFF) << 8) | (array[offset + 1] & 0xFF)); - } - - public static void setShort(byte[] array, int offset, short value) { - array[offset + 1] = (byte) (value & 0xFF); - array[offset] = (byte) ((value >> 8) & 0xFF); - } - - public static int diffBytes(byte[] one, int oneOffset, byte[] other, int otherOffset, int length) { - for (int i = 0; i < length; ++i) { - byte a = one[i + oneOffset]; - byte b = other[i + otherOffset]; - if (a != b) { - return i; - } - } - return length; - } - - public static boolean compareBytes(byte[] one, int oneOffset, byte[] other, int otherOffset, int length) { - return diffBytes(one, oneOffset, other, otherOffset, length) == length; - } - - public static boolean allValue(byte[] array, byte value) { - for (byte a : array) { - if (a != value) - return false; - } - return true; - } - - public static byte[] hexToBytes(String hex) { - return hexToBytes(hex, true); - } - - public static byte[] hexToBytes(String hex, boolean bigEndian) { - hex = hex.replace(" ", ""); - int len = hex.length(); - StringBuilder sb = new StringBuilder(); - - if (len % 2 == 1) { - sb.append("0"); - ++len; - } - - if (bigEndian) { - sb.append(hex); - } else { - for (int i = 0; i < len / 2; ++i) { - if (sb.length() >= 2) { - sb.insert(sb.length() - 2, hex.substring(2 * i, 2 * i + 2)); - } else { - sb.append(hex.substring(2 * i, 2 * i + 2)); - } - - } - } - - String data = sb.toString(); - byte[] result = new byte[len / 2]; - for (int i = 0; i < len; i += 2) { - result[i / 2] = (byte) ((Character.digit(data.charAt(i), 16) << 4) - + (Character.digit(data.charAt(i + 1), 16))); - } - return result; - } - - public static String byteToHex(byte data) { - return String.format("%02x", data); - } - - public static String bytesToHex(byte[] data) { - return bytesToHex(data, true); - } - - public static String bytesToHex(byte[] data, boolean addSpace) { - return bytesToHex(data, 0, data.length, addSpace); - } - - public static String bytesToHex(byte[] data, int offset, int len) { - return bytesToHex(data, offset, len, true); - } - - public static String bytesToHex(byte[] data, int offset, int len, boolean addSpace) { - StringBuilder buf = new StringBuilder(); - for (int i = offset; i < (offset + len); i++) { - buf.append(byteToHex(data[i])); - if (addSpace && i != (offset + len - 1)) { - buf.append(" "); - } - } - return (buf.toString()); - } - - public static byte[] concatenate(byte[]... arrays) { - int len = 0; - for (byte[] array : arrays) { - if (array == null) - continue; - len += array.length; - } - byte[] out = new byte[len]; - int offset = 0; - for (byte[] array : arrays) { - if (array == null || array.length == 0) - continue; - System.arraycopy(array, 0, out, offset, array.length); - offset += array.length; - } - return out; - } - +public class CardUtil { public static String getSWSource(short sw) { switch (sw) { case ISO7816.SW_NO_ERROR: diff --git a/src/cz/crcs/ectester/reader/CardMngr.java b/src/cz/crcs/ectester/reader/CardMngr.java index ad5b368e..cea46bc5 100644 --- a/src/cz/crcs/ectester/reader/CardMngr.java +++ b/src/cz/crcs/ectester/reader/CardMngr.java @@ -2,7 +2,7 @@ import com.licel.jcardsim.io.CAD; import com.licel.jcardsim.io.JavaxSmartCardInterface; -import cz.crcs.ectester.common.Util; +import cz.crcs.ectester.common.util.ByteUtil; import javacard.framework.AID; import javax.smartcardio.*; @@ -80,7 +80,7 @@ public boolean connectToCard() throws CardException { //reset the card if (verbose) - System.out.println(Util.bytesToHex(card.getATR().getBytes())); + System.out.println(ByteUtil.bytesToHex(card.getATR().getBytes())); cardFound = true; } @@ -109,7 +109,7 @@ public boolean connectToCardSelect() throws CardException { try { card = terminal.connect("*"); ATR atr = card.getATR(); - System.out.println(terminalIndex + " : " + terminal.getName() + " - " + Util.bytesToHex(atr.getBytes())); + System.out.println(terminalIndex + " : " + terminal.getName() + " - " + ByteUtil.bytesToHex(atr.getBytes())); terminalIndex++; } catch (CardException ex) { ex.printStackTrace(System.out); @@ -227,7 +227,7 @@ public ResponseAPDU sendAPDU(CommandAPDU apdu) throws CardException { System.out.println(">>>>"); System.out.println(apdu); - System.out.println(Util.bytesToHex(apdu.getBytes())); + System.out.println(ByteUtil.bytesToHex(apdu.getBytes())); } long elapsed = -System.nanoTime(); @@ -238,7 +238,7 @@ public ResponseAPDU sendAPDU(CommandAPDU apdu) throws CardException { if (verbose) { System.out.println(responseAPDU); - System.out.println(Util.bytesToHex(responseAPDU.getBytes())); + System.out.println(ByteUtil.bytesToHex(responseAPDU.getBytes())); } if (responseAPDU.getSW1() == (byte) 0x61) { @@ -248,7 +248,7 @@ public ResponseAPDU sendAPDU(CommandAPDU apdu) throws CardException { responseAPDU = channel.transmit(apduToSend); if (verbose) - System.out.println(Util.bytesToHex(responseAPDU.getBytes())); + System.out.println(ByteUtil.bytesToHex(responseAPDU.getBytes())); } if (verbose) { @@ -277,7 +277,7 @@ public ResponseAPDU sendAPDUSimulator(CommandAPDU apdu) { if (verbose) { System.out.println(">>>>"); System.out.println(apdu); - System.out.println(Util.bytesToHex(apdu.getBytes())); + System.out.println(ByteUtil.bytesToHex(apdu.getBytes())); } ResponseAPDU response = simulator.transmitCommand(apdu); @@ -285,7 +285,7 @@ public ResponseAPDU sendAPDUSimulator(CommandAPDU apdu) { if (verbose) { System.out.println(response); - System.out.println(Util.bytesToHex(responseBytes)); + System.out.println(ByteUtil.bytesToHex(responseBytes)); System.out.println("<<<<"); } diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index 2c571077..d32d9d84 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -24,10 +24,10 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.common.cli.CLITools; -import cz.crcs.ectester.common.Util; import cz.crcs.ectester.common.ec.EC_Params; import cz.crcs.ectester.common.output.OutputLogger; import cz.crcs.ectester.common.test.TestException; +import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.output.*; @@ -385,8 +385,8 @@ private void generate() throws CardException, IOException { } respWriter.outputResponse(response); - String pub = Util.bytesToHex(export.getParameter(ECTesterApplet.KEYPAIR_LOCAL, EC_Consts.PARAMETER_W), false); - String priv = Util.bytesToHex(export.getParameter(ECTesterApplet.KEYPAIR_LOCAL, EC_Consts.PARAMETER_S), false); + String pub = ByteUtil.bytesToHex(export.getParameter(ECTesterApplet.KEYPAIR_LOCAL, EC_Consts.PARAMETER_W), false); + String priv = ByteUtil.bytesToHex(export.getParameter(ECTesterApplet.KEYPAIR_LOCAL, EC_Consts.PARAMETER_S), false); String line = String.format("%d;%d;%s;%s\n", generated, elapsed / 1000000, pub, priv); keysFile.write(line); keysFile.flush(); @@ -507,7 +507,7 @@ private void ecdh() throws IOException, CardException { } if (out != null) { - out.write(String.format("%d;%d;%s\n", done, perform.getDuration() / 1000000, Util.bytesToHex(perform.getSecret(), false))); + out.write(String.format("%d;%d;%s\n", done, perform.getDuration() / 1000000, ByteUtil.bytesToHex(perform.getSecret(), false))); } ++done; @@ -584,7 +584,7 @@ private void ecdsa() throws CardException, IOException { } if (out != null) { - out.write(String.format("%d;%d;%s\n", done, perform.getDuration() / 1000000, Util.bytesToHex(perform.getSignature(), false))); + out.write(String.format("%d;%d;%s\n", done, perform.getDuration() / 1000000, ByteUtil.bytesToHex(perform.getSignature(), false))); } ++done; diff --git a/src/cz/crcs/ectester/reader/command/Command.java b/src/cz/crcs/ectester/reader/command/Command.java index 9d23322e..b60db531 100644 --- a/src/cz/crcs/ectester/reader/command/Command.java +++ b/src/cz/crcs/ectester/reader/command/Command.java @@ -2,11 +2,11 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; +import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTesterReader; import cz.crcs.ectester.reader.response.Response; -import cz.crcs.ectester.common.Util; import cz.crcs.ectester.common.ec.EC_Curve; import cz.crcs.ectester.common.ec.EC_Key; import cz.crcs.ectester.common.ec.EC_Keypair; @@ -174,7 +174,7 @@ public static Command prepareKey(CardMngr cardManager, EC_Store dataStore, ECTes if (privkey == null) { throw new IOException("Couldn't read the private key file correctly."); } - data = Util.concatenate(data, privkey); + data = ByteUtil.concatenate(data, privkey); } return new Command.Set(cardManager, keyPair, EC_Consts.CURVE_external, params, data); } @@ -203,7 +203,7 @@ public Allocate(CardMngr cardManager, byte keyPair, short keyLength, byte keyCla this.keyClass = keyClass; byte[] data = new byte[]{0, 0, keyClass}; - Util.setShort(data, 0, keyLength); + ByteUtil.setShort(data, 0, keyLength); this.cmd = new CommandAPDU(ECTesterApplet.CLA_ECTESTERAPPLET, ECTesterApplet.INS_ALLOCATE, keyPair, 0x00, data); } @@ -296,7 +296,7 @@ public Set(CardMngr cardManager, byte keyPair, byte curve, short params, byte[] int len = external != null ? 2 + external.length : 2; byte[] data = new byte[len]; - Util.setShort(data, 0, params); + ByteUtil.setShort(data, 0, params); if (external != null) { System.arraycopy(external, 0, data, 2, external.length); } @@ -337,7 +337,7 @@ public Corrupt(CardMngr cardManager, byte keyPair, byte key, short params, byte this.corruption = corruption; byte[] data = new byte[3]; - Util.setShort(data, 0, params); + ByteUtil.setShort(data, 0, params); data[2] = corruption; this.cmd = new CommandAPDU(ECTesterApplet.CLA_ECTESTERAPPLET, ECTesterApplet.INS_CORRUPT, keyPair, key, data); @@ -403,7 +403,7 @@ public Export(CardMngr cardManager, byte keyPair, byte key, short params) { this.params = params; byte[] data = new byte[2]; - Util.setShort(data, 0, params); + ByteUtil.setShort(data, 0, params); this.cmd = new CommandAPDU(ECTesterApplet.CLA_ECTESTERAPPLET, ECTesterApplet.INS_EXPORT, keyPair, key, data); } @@ -446,7 +446,7 @@ public ECDH(CardMngr cardManager, byte pubkey, byte privkey, byte export, short this.type = type; byte[] data = new byte[]{export, 0,0, type}; - Util.setShort(data, 1, corruption); + ByteUtil.setShort(data, 1, corruption); this.cmd = new CommandAPDU(ECTesterApplet.CLA_ECTESTERAPPLET, ECTesterApplet.INS_ECDH, pubkey, privkey, data); } @@ -489,7 +489,7 @@ public ECDH_direct(CardMngr cardManager, byte privkey, byte export, short corrup this.pubkey = pubkey; byte[] data = new byte[3 + pubkey.length]; - Util.setShort(data, 0, corruption); + ByteUtil.setShort(data, 0, corruption); data[2] = type; System.arraycopy(pubkey, 0, data, 3, pubkey.length); @@ -526,7 +526,7 @@ public ECDSA(CardMngr cardManager, byte keyPair, byte export, byte[] raw) { int len = raw != null ? raw.length : 0; byte[] data = new byte[2 + len]; - Util.setShort(data, 0, (short) len); + ByteUtil.setShort(data, 0, (short) len); if (raw != null) { System.arraycopy(raw, 0, data, 2, len); } diff --git a/src/cz/crcs/ectester/reader/output/ResponseWriter.java b/src/cz/crcs/ectester/reader/output/ResponseWriter.java index 0f5b6e89..1dbfdfa9 100644 --- a/src/cz/crcs/ectester/reader/output/ResponseWriter.java +++ b/src/cz/crcs/ectester/reader/output/ResponseWriter.java @@ -1,6 +1,6 @@ package cz.crcs.ectester.reader.output; -import cz.crcs.ectester.common.Util; +import cz.crcs.ectester.common.util.CardUtil; import cz.crcs.ectester.reader.response.Response; import java.io.PrintStream; @@ -20,11 +20,11 @@ public String responseSuffix(Response r) { for (int j = 0; j < r.getNumSW(); ++j) { short sw = r.getSW(j); if (sw != 0) { - suffix.append(" ").append(Util.getSWString(sw)); + suffix.append(" ").append(CardUtil.getSWString(sw)); } } if (suffix.length() == 0) { - suffix.append(" [").append(Util.getSW(r.getNaturalSW())).append("]"); + suffix.append(" [").append(CardUtil.getSW(r.getNaturalSW())).append("]"); } return String.format("%4d ms ┃ %s", r.getDuration() / 1000000, suffix); } diff --git a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java index 0a5155b1..ebc93ac4 100644 --- a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java @@ -1,7 +1,7 @@ package cz.crcs.ectester.reader.output; import cz.crcs.ectester.common.test.CompoundTest; -import cz.crcs.ectester.common.Util; +import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.response.Response; import cz.crcs.ectester.common.test.Test; @@ -51,7 +51,7 @@ private Element commandElement(Command c) { Element commandElem = doc.createElement("command"); Element apdu = doc.createElement("apdu"); - apdu.setTextContent(Util.bytesToHex(c.getAPDU().getBytes())); + apdu.setTextContent(ByteUtil.bytesToHex(c.getAPDU().getBytes())); commandElem.appendChild(apdu); return commandElem; @@ -62,7 +62,7 @@ private Element responseElement(Response r) { responseElem.setAttribute("successful", r.successful() ? "true" : "false"); Element apdu = doc.createElement("apdu"); - apdu.setTextContent(Util.bytesToHex(r.getAPDU().getBytes())); + apdu.setTextContent(ByteUtil.bytesToHex(r.getAPDU().getBytes())); responseElem.appendChild(apdu); Element naturalSW = doc.createElement("natural-sw"); diff --git a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java index 84f1eacf..d8350acb 100644 --- a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java @@ -1,7 +1,7 @@ package cz.crcs.ectester.reader.output; import cz.crcs.ectester.common.test.CompoundTest; -import cz.crcs.ectester.common.Util; +import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.response.Response; import cz.crcs.ectester.common.test.Test; @@ -44,14 +44,14 @@ public void begin(TestSuite suite) { private Map commandObject(Command c) { Map commandObj = new HashMap<>(); - commandObj.put("apdu", Util.bytesToHex(c.getAPDU().getBytes())); + commandObj.put("apdu", ByteUtil.bytesToHex(c.getAPDU().getBytes())); return commandObj; } private Map responseObject(Response r) { Map responseObj = new HashMap<>(); responseObj.put("successful", r.successful()); - responseObj.put("apdu", Util.bytesToHex(r.getAPDU().getBytes())); + responseObj.put("apdu", ByteUtil.bytesToHex(r.getAPDU().getBytes())); responseObj.put("natural_sw", Short.toUnsignedInt(r.getNaturalSW())); List sws = new LinkedList<>(); for (int i = 0; i < r.getNumSW(); ++i) { diff --git a/src/cz/crcs/ectester/reader/response/Response.java b/src/cz/crcs/ectester/reader/response/Response.java index 4158ac33..d8edf9ee 100644 --- a/src/cz/crcs/ectester/reader/response/Response.java +++ b/src/cz/crcs/ectester/reader/response/Response.java @@ -2,7 +2,8 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; -import cz.crcs.ectester.common.Util; +import cz.crcs.ectester.common.util.ByteUtil; +import cz.crcs.ectester.common.util.CardUtil; import javacard.framework.ISO7816; import javacard.security.KeyPair; @@ -36,7 +37,7 @@ void parse(int numSW, int numParams) { //parse SWs in response for (int i = 0; i < numSW; ++i) { if (getLength() >= (offset + 2)) { - short sw = Util.getShort(data, offset); + short sw = ByteUtil.getShort(data, offset); offset += 2; sws[i] = sw; if (sw != ISO7816.SW_NO_ERROR) { @@ -62,7 +63,7 @@ void parse(int numSW, int numParams) { error = true; break; } - short paramLength = Util.getShort(data, offset); + short paramLength = ByteUtil.getShort(data, offset); offset += 2; if (data.length < offset + paramLength) { error = true; @@ -140,7 +141,7 @@ public AllocateKeyAgreement(ResponseAPDU response, long time, byte kaType) { @Override public String getDescription() { - return String.format("Allocated KeyAgreement(%s) object", Util.getKATypeString(this.kaType)); + return String.format("Allocated KeyAgreement(%s) object", CardUtil.getKATypeString(this.kaType)); } } @@ -289,7 +290,7 @@ public Corrupt(ResponseAPDU response, long time, byte keyPair, byte key, short p @Override public String getDescription() { - String corrupt = Util.getCorruption(corruption); + String corrupt = CardUtil.getCorruption(corruption); String pair; if (keyPair == ECTesterApplet.KEYPAIR_BOTH) { @@ -476,7 +477,7 @@ public int secretLength() { @Override public String getDescription() { - String algo = Util.getKA(type); + String algo = CardUtil.getKA(type); String pub = pubkey == ECTesterApplet.KEYPAIR_LOCAL ? "local" : "remote"; String priv = privkey == ECTesterApplet.KEYPAIR_LOCAL ? "local" : "remote"; @@ -485,7 +486,7 @@ public String getDescription() { if (corruption == EC_Consts.CORRUPTION_NONE) { validity = "unchanged"; } else { - validity = Util.getCorruption(corruption); + validity = CardUtil.getCorruption(corruption); } return String.format("%s of %s pubkey and %s privkey(%s point)", algo, pub, priv, validity); } diff --git a/src/cz/crcs/ectester/reader/test/TestVectorSuite.java b/src/cz/crcs/ectester/reader/test/TestVectorSuite.java index 77653d1f..98172f3c 100644 --- a/src/cz/crcs/ectester/reader/test/TestVectorSuite.java +++ b/src/cz/crcs/ectester/reader/test/TestVectorSuite.java @@ -5,10 +5,10 @@ import cz.crcs.ectester.common.test.CompoundTest; import cz.crcs.ectester.common.test.Result; import cz.crcs.ectester.common.test.Test; +import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTesterReader; -import cz.crcs.ectester.common.Util; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.common.ec.*; import cz.crcs.ectester.reader.response.Response; @@ -72,8 +72,8 @@ public void setup(CardMngr cardManager) throws IOException { return new Result(Value.FAILURE, "ECDH was unsuccessful."); if (!dh.hasSecret()) return new Result(Value.FAILURE, "ECDH response did not contain the derived secret."); - if (!Util.compareBytes(dh.getSecret(), 0, result.getData(0), 0, dh.secretLength())) { - int firstDiff = Util.diffBytes(dh.getSecret(), 0, result.getData(0), 0, dh.secretLength()); + if (!ByteUtil.compareBytes(dh.getSecret(), 0, result.getData(0), 0, dh.secretLength())) { + int firstDiff = ByteUtil.diffBytes(dh.getSecret(), 0, result.getData(0), 0, dh.secretLength()); return new Result(Value.FAILURE, "ECDH derived secret does not match the test, first difference was at byte " + String.valueOf(firstDiff) + "."); } return new Result(Value.SUCCESS); diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index 049626ef..9f100d01 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -2,6 +2,7 @@ import cz.crcs.ectester.common.cli.*; import cz.crcs.ectester.common.ec.EC_Curve; +import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.standalone.consts.KeyAgreementIdent; import cz.crcs.ectester.standalone.consts.KeyPairGeneratorIdent; @@ -21,6 +22,7 @@ import java.security.KeyPairGenerator; import java.security.NoSuchAlgorithmException; import java.security.interfaces.ECPrivateKey; +import java.security.interfaces.ECPublicKey; import java.security.spec.ECParameterSpec; import java.util.*; import java.util.stream.Collectors; @@ -49,12 +51,12 @@ private void run(String[] args) { try { cli = parseArgs(args); - if (cli.hasOption("help") || cli.getNext() == null) { - CLITools.help("ECTesterStandalone.jar", CLI_HEADER, opts, optParser, CLI_FOOTER, true); - return; - } else if (cli.hasOption("version")) { + if (cli.hasOption("version")) { CLITools.version(DESCRIPTION, LICENSE); return; + } else if (cli.hasOption("help") || cli.getNext() == null) { + CLITools.help("ECTesterStandalone.jar", CLI_HEADER, opts, optParser, CLI_FOOTER, true); + return; } @@ -209,12 +211,19 @@ private void generate() throws NoSuchAlgorithmException, InvalidAlgorithmParamet } kpg.initialize(curve.toSpec()); } + System.out.println("index;time;pubW;privS"); int amount = Integer.parseInt(cli.getOptionValue("generate.amount", "1")); for (int i = 0; i < amount; ++i) { + long elapsed = -System.nanoTime(); KeyPair kp = kpg.genKeyPair(); + elapsed += System.nanoTime(); + ECPublicKey publicKey = (ECPublicKey) kp.getPublic(); ECPrivateKey privateKey = (ECPrivateKey) kp.getPrivate(); - System.out.println(privateKey); + + String pub = ByteUtil.bytesToHex(publicKey.getEncoded(), false); + String priv = ByteUtil.bytesToHex(privateKey.getEncoded(), false); + System.out.println(String.format("%d;%d;%s;%s", i, elapsed / 1000000, pub, priv)); } } } @@ -253,6 +262,8 @@ private void export() throws NoSuchAlgorithmException { ECPrivateKey privateKey = (ECPrivateKey) kp.getPrivate(); ECParameterSpec params = privateKey.getParams(); System.out.println(params); + EC_Curve curve = EC_Curve.fromSpec(params); + System.out.println(curve); } } } diff --git a/src/cz/crcs/ectester/standalone/test/KeyGenerationTestable.java b/src/cz/crcs/ectester/standalone/test/KeyGenerationTestable.java index 8ad425bd..381ce709 100644 --- a/src/cz/crcs/ectester/standalone/test/KeyGenerationTestable.java +++ b/src/cz/crcs/ectester/standalone/test/KeyGenerationTestable.java @@ -12,12 +12,16 @@ public class KeyGenerationTestable implements Testable { private KeyPair kp; private KeyPairGenerator kpg; - private int keysize; - private ECParameterSpec spec; + private int keysize = 0; + private ECParameterSpec spec = null; private boolean hasRun; private boolean error = false; private boolean ok; + public KeyGenerationTestable(KeyPairGenerator kpg) { + this.kpg = kpg; + } + public KeyGenerationTestable(KeyPairGenerator kpg, int keysize) { this.kpg = kpg; this.keysize = keysize; @@ -42,7 +46,7 @@ public void run() throws TestException { try { if (spec != null) { kpg.initialize(spec); - } else { + } else if (keysize != 0) { kpg.initialize(keysize); } } catch (InvalidAlgorithmParameterException e) { From 7737039d8c1ad743ed1f5dc5e40224e297acd08d Mon Sep 17 00:00:00 2001 From: J08nY Date: Sun, 26 Nov 2017 23:50:00 +0100 Subject: [PATCH 24/91] Export generated keys in ANSI X9.62 uncompressed format. --- .../crcs/ectester/common/util/CardUtil.java | 4 ++ src/cz/crcs/ectester/common/util/ECUtil.java | 37 +++++++++++++++++++ .../standalone/ECTesterStandalone.java | 5 ++- 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 src/cz/crcs/ectester/common/util/ECUtil.java diff --git a/src/cz/crcs/ectester/common/util/CardUtil.java b/src/cz/crcs/ectester/common/util/CardUtil.java index a94c773d..edcb5105 100644 --- a/src/cz/crcs/ectester/common/util/CardUtil.java +++ b/src/cz/crcs/ectester/common/util/CardUtil.java @@ -7,6 +7,10 @@ import static cz.crcs.ectester.applet.ECTesterApplet.*; +/** + * @author Petr Svenda petr@svenda.com + * @author Jan Jancar johny@neuromancer.sk + */ public class CardUtil { public static String getSWSource(short sw) { switch (sw) { diff --git a/src/cz/crcs/ectester/common/util/ECUtil.java b/src/cz/crcs/ectester/common/util/ECUtil.java new file mode 100644 index 00000000..713effef --- /dev/null +++ b/src/cz/crcs/ectester/common/util/ECUtil.java @@ -0,0 +1,37 @@ +package cz.crcs.ectester.common.util; + +import java.math.BigInteger; +import java.security.spec.ECPoint; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class ECUtil { + public static byte[] toX962Compressed(ECPoint point) { + if (point.equals(ECPoint.POINT_INFINITY)) { + return new byte[]{0}; + } + byte[] x = point.getAffineX().toByteArray(); + byte marker = (byte) (0x02 | point.getAffineY().mod(BigInteger.valueOf(2)).byteValue()); + return ByteUtil.concatenate(new byte[]{marker}, x); + } + + public static byte[] toX962Uncompressed(ECPoint point) { + if (point.equals(ECPoint.POINT_INFINITY)) { + return new byte[]{0}; + } + byte[] x = point.getAffineX().toByteArray(); + byte[] y = point.getAffineY().toByteArray(); + return ByteUtil.concatenate(new byte[]{0x04}, x, y); + } + + public static byte[] toX962Hybrid(ECPoint point) { + if (point.equals(ECPoint.POINT_INFINITY)) { + return new byte[]{0}; + } + byte[] x = point.getAffineX().toByteArray(); + byte[] y = point.getAffineY().toByteArray(); + byte marker = (byte) (0x06 | point.getAffineY().mod(BigInteger.valueOf(2)).byteValue()); + return ByteUtil.concatenate(new byte[]{marker}, x, y); + } +} diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index 9f100d01..af01a468 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -3,6 +3,7 @@ import cz.crcs.ectester.common.cli.*; import cz.crcs.ectester.common.ec.EC_Curve; import cz.crcs.ectester.common.util.ByteUtil; +import cz.crcs.ectester.common.util.ECUtil; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.standalone.consts.KeyAgreementIdent; import cz.crcs.ectester.standalone.consts.KeyPairGeneratorIdent; @@ -221,8 +222,8 @@ private void generate() throws NoSuchAlgorithmException, InvalidAlgorithmParamet ECPublicKey publicKey = (ECPublicKey) kp.getPublic(); ECPrivateKey privateKey = (ECPrivateKey) kp.getPrivate(); - String pub = ByteUtil.bytesToHex(publicKey.getEncoded(), false); - String priv = ByteUtil.bytesToHex(privateKey.getEncoded(), false); + String pub = ByteUtil.bytesToHex(ECUtil.toX962Uncompressed(publicKey.getW()), false); + String priv = ByteUtil.bytesToHex(privateKey.getS().toByteArray(), false); System.out.println(String.format("%d;%d;%s;%s", i, elapsed / 1000000, pub, priv)); } } From 6841b6bbbbbed114cd4f5444d10181439cadba8e Mon Sep 17 00:00:00 2001 From: J08nY Date: Mon, 27 Nov 2017 00:09:05 +0100 Subject: [PATCH 25/91] Export default lib curves in CSV. --- src/cz/crcs/ectester/common/ec/EC_Curve.java | 9 ++++++--- src/cz/crcs/ectester/standalone/ECTesterStandalone.java | 4 ++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/cz/crcs/ectester/common/ec/EC_Curve.java b/src/cz/crcs/ectester/common/ec/EC_Curve.java index 19228dc2..173fd293 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 static EC_Curve fromSpec(ECParameterSpec spec) { 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 static EC_Curve fromSpec(ECParameterSpec spec) { } 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(); diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index af01a468..76b98ce2 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -240,7 +240,7 @@ private void test() { /** * */ - private void export() throws NoSuchAlgorithmException { + private void export() throws NoSuchAlgorithmException, IOException { if (cfg.selected instanceof JavaECLibrary) { JavaECLibrary jlib = (JavaECLibrary) cfg.selected; KeyPairGeneratorIdent ident = null; @@ -264,7 +264,7 @@ private void export() throws NoSuchAlgorithmException { ECParameterSpec params = privateKey.getParams(); System.out.println(params); EC_Curve curve = EC_Curve.fromSpec(params); - System.out.println(curve); + curve.writeCSV(System.out); } } } From 9bce1e13ec136c06650868acf3438e789e366d5f Mon Sep 17 00:00:00 2001 From: J08nY Date: Mon, 27 Nov 2017 23:19:48 +0100 Subject: [PATCH 26/91] Add a basic NativeECLibrary interface. --- build-standalone.xml | 5 + nbproject/reader/project.properties | 2 +- nbproject/standalone/project.properties | 2 +- .../standalone/ECTesterStandalone.java | 10 +- .../standalone/libs/BouncyCastleLib.java | 2 +- .../ectester/standalone/libs/CECLibrary.java | 31 ----- .../standalone/libs/NativeECLibrary.java | 131 ++++++++++++++++++ ...aECLibrary.java => ProviderECLibrary.java} | 8 +- .../ectester/standalone/libs/SunECLib.java | 2 +- .../ectester/standalone/libs/TomcryptLib.java | 16 +++ src/cz/crcs/ectester/standalone/libs/native.h | 21 +++ 11 files changed, 188 insertions(+), 42 deletions(-) delete mode 100644 src/cz/crcs/ectester/standalone/libs/CECLibrary.java create mode 100644 src/cz/crcs/ectester/standalone/libs/NativeECLibrary.java rename src/cz/crcs/ectester/standalone/libs/{JavaECLibrary.java => ProviderECLibrary.java} (92%) create mode 100644 src/cz/crcs/ectester/standalone/libs/TomcryptLib.java create mode 100644 src/cz/crcs/ectester/standalone/libs/native.h diff --git a/build-standalone.xml b/build-standalone.xml index 0ba7f935..05dc1741 100644 --- a/build-standalone.xml +++ b/build-standalone.xml @@ -75,4 +75,9 @@ + + + + + diff --git a/nbproject/reader/project.properties b/nbproject/reader/project.properties index 6cd17605..ac98170c 100644 --- a/nbproject/reader/project.properties +++ b/nbproject/reader/project.properties @@ -6,7 +6,7 @@ annotation.processing.source.output=${build.generated.sources.dir}/ap-source-out application.title=ECTesterReader application.vendor=xsvenda build.classes.dir=${build.dir}/classes -build.classes.excludes=**/*.java,**/*.form +build.classes.excludes=**/*.java,**/*.form,**/*.c,**/*.h # This directory is removed when the project is cleaned: build.dir=build build.generated.dir=${build.dir}/generated diff --git a/nbproject/standalone/project.properties b/nbproject/standalone/project.properties index 367ec514..868bcfa7 100644 --- a/nbproject/standalone/project.properties +++ b/nbproject/standalone/project.properties @@ -6,7 +6,7 @@ annotation.processing.source.output=${build.generated.sources.dir}/ap-source-out application.title=ECTesterStandalone application.vendor=xsvenda build.classes.dir=${build.dir}/classes -build.classes.excludes=**/*.java,**/*.form +build.classes.excludes=**/*.java,**/*.form,**/*.c,**/*.h # This directory is removed when the project is cleaned: build.dir=build build.generated.dir=${build.dir}/generated diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index 76b98ce2..e36ffcda 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -10,7 +10,7 @@ import cz.crcs.ectester.standalone.consts.SignatureIdent; import cz.crcs.ectester.standalone.libs.BouncyCastleLib; import cz.crcs.ectester.standalone.libs.ECLibrary; -import cz.crcs.ectester.standalone.libs.JavaECLibrary; +import cz.crcs.ectester.standalone.libs.ProviderECLibrary; import cz.crcs.ectester.standalone.libs.SunECLib; import org.apache.commons.cli.DefaultParser; import org.apache.commons.cli.Option; @@ -186,8 +186,8 @@ private void ecdsa() { * */ private void generate() throws NoSuchAlgorithmException, InvalidAlgorithmParameterException { - if (cfg.selected instanceof JavaECLibrary) { - JavaECLibrary jlib = (JavaECLibrary) cfg.selected; + if (cfg.selected instanceof ProviderECLibrary) { + ProviderECLibrary jlib = (ProviderECLibrary) cfg.selected; KeyPairGeneratorIdent ident = null; String algo = cli.getOptionValue("generate.type", "EC"); for (KeyPairGeneratorIdent kpIdent : jlib.getKPGs()) { @@ -241,8 +241,8 @@ private void test() { * */ private void export() throws NoSuchAlgorithmException, IOException { - if (cfg.selected instanceof JavaECLibrary) { - JavaECLibrary jlib = (JavaECLibrary) cfg.selected; + if (cfg.selected instanceof ProviderECLibrary) { + ProviderECLibrary jlib = (ProviderECLibrary) cfg.selected; KeyPairGeneratorIdent ident = null; String algo = cli.getOptionValue("export.type", "EC"); for (KeyPairGeneratorIdent kpIdent : jlib.getKPGs()) { diff --git a/src/cz/crcs/ectester/standalone/libs/BouncyCastleLib.java b/src/cz/crcs/ectester/standalone/libs/BouncyCastleLib.java index 73cd1976..aaf76bec 100644 --- a/src/cz/crcs/ectester/standalone/libs/BouncyCastleLib.java +++ b/src/cz/crcs/ectester/standalone/libs/BouncyCastleLib.java @@ -5,7 +5,7 @@ /** * @author Jan Jancar johny@neuromancer.sk */ -public class BouncyCastleLib extends JavaECLibrary { +public class BouncyCastleLib extends ProviderECLibrary { public BouncyCastleLib() { super(new BouncyCastleProvider()); diff --git a/src/cz/crcs/ectester/standalone/libs/CECLibrary.java b/src/cz/crcs/ectester/standalone/libs/CECLibrary.java deleted file mode 100644 index 82a45557..00000000 --- a/src/cz/crcs/ectester/standalone/libs/CECLibrary.java +++ /dev/null @@ -1,31 +0,0 @@ -package cz.crcs.ectester.standalone.libs; - -/** - * @author Jan Jancar johny@neuromancer.sk - */ -public abstract class CECLibrary implements ECLibrary { - - private String resourcePath; - private String libname; - - public CECLibrary(String resourcePath, String libname) { - this.resourcePath = resourcePath; - this.libname = libname; - } - - @Override - public boolean initialize() { - // load the library here. - return false; - } - - @Override - public String name() { - return libname; - } - - @Override - public String toString() { - return name(); - } -} diff --git a/src/cz/crcs/ectester/standalone/libs/NativeECLibrary.java b/src/cz/crcs/ectester/standalone/libs/NativeECLibrary.java new file mode 100644 index 00000000..40691e66 --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/NativeECLibrary.java @@ -0,0 +1,131 @@ +package cz.crcs.ectester.standalone.libs; + +import cz.crcs.ectester.standalone.consts.KeyAgreementIdent; +import cz.crcs.ectester.standalone.consts.KeyPairGeneratorIdent; +import cz.crcs.ectester.standalone.consts.SignatureIdent; + +import java.io.File; +import java.io.IOException; +import java.net.URL; +import java.net.URLConnection; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; +import java.security.Provider; +import java.util.Collections; +import java.util.Set; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public abstract class NativeECLibrary implements ECLibrary { + private ProviderECLibrary loaded; + private String resource; + private String libname; + + public NativeECLibrary(String resource, String libname) { + this.resource = resource; + this.libname = libname; + } + + @Override + public boolean initialize() { + try { + String suffix; + Path appData; + if (System.getProperty("os.name").startsWith("Windows")) { + suffix = "dll"; + appData = Paths.get(System.getenv("AppData")); + } else { + suffix = "so"; + if (System.getProperty("os.name").startsWith("Linux")) { + appData = Paths.get(System.getenv("XDG_DATA_HOME")); + if (appData == null) { + appData = Paths.get(System.getProperty("user.home"), ".local", "share"); + } + } else { + appData = Paths.get(System.getProperty("user.home"), ".local", "share"); + } + } + Path libDir = appData.resolve("ECTesterStandalone"); + File libDirFile = libDir.toFile(); + Path libPath = libDir.resolve(libname + "." + suffix); + File libFile = libPath.toFile(); + + URL jarURL = NativeECLibrary.class.getResource("/cz/crcs/ectester/standalone/libs/" + resource + "." + suffix); + if (jarURL == null) { + return false; + } + URLConnection jarConnection = jarURL.openConnection(); + + boolean write = false; + if (libDirFile.isDirectory() && libFile.isFile()) { + long jarModified = jarConnection.getLastModified(); + + long libModified = Files.getLastModifiedTime(libPath).toMillis(); + if (jarModified > libModified) { + write = true; + } + } else { + libDir.toFile().mkdirs(); + libFile.createNewFile(); + write = true; + } + + if (write) { + Files.copy(jarConnection.getInputStream(), libPath, StandardCopyOption.REPLACE_EXISTING); + } + jarConnection.getInputStream().close(); + + System.load(libPath.toString()); + + loaded = new ProviderECLibrary(getProvider()); + return true; + } catch (IOException ignored) { + + } + return false; + } + + public abstract Provider getProvider(); + + @Override + public boolean isInitialized() { + return loaded != null && loaded.isInitialized(); + } + + @Override + public Set getECKAs() { + if (!isInitialized()) { + return Collections.emptySet(); + } + return loaded.getECKAs(); + } + + @Override + public Set getECSigs() { + if (!isInitialized()) { + return Collections.emptySet(); + } + return loaded.getECSigs(); + } + + @Override + public Set getKPGs() { + if (!isInitialized()) { + return Collections.emptySet(); + } + return loaded.getKPGs(); + } + + @Override + public String name() { + return loaded.name(); + } + + @Override + public String toString() { + return name(); + } +} diff --git a/src/cz/crcs/ectester/standalone/libs/JavaECLibrary.java b/src/cz/crcs/ectester/standalone/libs/ProviderECLibrary.java similarity index 92% rename from src/cz/crcs/ectester/standalone/libs/JavaECLibrary.java rename to src/cz/crcs/ectester/standalone/libs/ProviderECLibrary.java index 5689b2b2..879cc164 100644 --- a/src/cz/crcs/ectester/standalone/libs/JavaECLibrary.java +++ b/src/cz/crcs/ectester/standalone/libs/ProviderECLibrary.java @@ -14,11 +14,11 @@ /** * @author Jan Jancar johny@neuromancer.sk */ -public abstract class JavaECLibrary implements ECLibrary { +public class ProviderECLibrary implements ECLibrary { private Provider provider; private boolean initialized; - public JavaECLibrary(Provider provider) { + public ProviderECLibrary(Provider provider) { this.provider = provider; this.initialized = false; } @@ -44,6 +44,10 @@ public boolean isInitialized() { private Set getIdents(String type, Function getter) { Set results = new HashSet<>(); + if (!initialized) { + return results; + } + for (Provider.Service service : provider.getServices()) { if (service.getType().equals(type)) { T id = getter.apply(service.getAlgorithm()); diff --git a/src/cz/crcs/ectester/standalone/libs/SunECLib.java b/src/cz/crcs/ectester/standalone/libs/SunECLib.java index 408908e5..b64b7406 100644 --- a/src/cz/crcs/ectester/standalone/libs/SunECLib.java +++ b/src/cz/crcs/ectester/standalone/libs/SunECLib.java @@ -5,7 +5,7 @@ /** * @author Jan Jancar johny@neuromancer.sk */ -public class SunECLib extends JavaECLibrary { +public class SunECLib extends ProviderECLibrary { public SunECLib() { super(new SunEC()); diff --git a/src/cz/crcs/ectester/standalone/libs/TomcryptLib.java b/src/cz/crcs/ectester/standalone/libs/TomcryptLib.java new file mode 100644 index 00000000..31d6812b --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/TomcryptLib.java @@ -0,0 +1,16 @@ +package cz.crcs.ectester.standalone.libs; + +import java.security.Provider; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class TomcryptLib extends NativeECLibrary { + + public TomcryptLib() { + super("tomcrypt", "libtomcrypt"); + } + + @Override + public native Provider getProvider(); +} diff --git a/src/cz/crcs/ectester/standalone/libs/native.h b/src/cz/crcs/ectester/standalone/libs/native.h new file mode 100644 index 00000000..979f04a0 --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/native.h @@ -0,0 +1,21 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ +#include +/* Header for class cz_crcs_ectester_standalone_libs_TomcryptLib */ + +#ifndef _Included_cz_crcs_ectester_standalone_libs_TomcryptLib +#define _Included_cz_crcs_ectester_standalone_libs_TomcryptLib +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: cz_crcs_ectester_standalone_libs_TomcryptLib + * Method: getProvider + * Signature: ()Ljava/security/Provider; + */ +JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_getProvider + (JNIEnv *, jobject); + +#ifdef __cplusplus +} +#endif +#endif From e22139e18d28906f9533a1dc31e0622080b5f35c Mon Sep 17 00:00:00 2001 From: J08nY Date: Tue, 28 Nov 2017 00:25:54 +0100 Subject: [PATCH 27/91] Add ECDH testing to standalone part. --- .../standalone/ECTesterStandalone.java | 112 +++++++++++++----- .../ectester/standalone/libs/ECLibrary.java | 4 +- .../standalone/libs/NativeECLibrary.java | 54 +-------- .../standalone/libs/ProviderECLibrary.java | 15 ++- .../ectester/standalone/libs/TomcryptLib.java | 2 +- 5 files changed, 100 insertions(+), 87 deletions(-) diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index e36ffcda..ec681c76 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -17,11 +17,9 @@ import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; +import javax.crypto.KeyAgreement; import java.io.IOException; -import java.security.InvalidAlgorithmParameterException; -import java.security.KeyPair; -import java.security.KeyPairGenerator; -import java.security.NoSuchAlgorithmException; +import java.security.*; import java.security.interfaces.ECPrivateKey; import java.security.interfaces.ECPublicKey; import java.security.spec.ECParameterSpec; @@ -87,9 +85,13 @@ private void run(String[] args) { export(); } - } catch (ParseException | NoSuchAlgorithmException | IOException ex) { + } catch (ParseException | IOException ex) { System.err.println(ex.getMessage()); } catch (InvalidAlgorithmParameterException e) { + System.err.println("Invalid algorithm parameter: " + e.getMessage()); + } catch (NoSuchAlgorithmException nsaex) { + System.err.println("Algorithm not supported by the selected library: " + nsaex.getMessage()); + } catch (InvalidKeyException e) { e.printStackTrace(); } } @@ -103,6 +105,9 @@ private TreeCommandLine parseArgs(String[] args) throws ParseException { Options ecdhOpts = new Options(); ecdhOpts.addOption(Option.builder("t").longOpt("type").desc("Set KeyAgreement object [type].").hasArg().argName("type").optionalArg(false).build()); + ecdhOpts.addOption(Option.builder("n").longOpt("amount").hasArg().argName("amount").optionalArg(false).desc("Do ECDH [amount] times.").build()); + ecdhOpts.addOption(Option.builder("b").longOpt("bits").hasArg().argName("n").optionalArg(false).desc("What size of curve to use.").build()); + ecdhOpts.addOption(Option.builder("nc").longOpt("named-curve").desc("Use a named curve, from CurveDB: ").hasArg().argName("cat/id").build()); ParserOptions ecdh = new ParserOptions(new DefaultParser(), ecdhOpts); actions.put("ecdh", ecdh); @@ -156,11 +161,11 @@ private void listLibraries() { if (!kpgs.isEmpty()) { System.out.println("\t\t- KeyPairGenerators: " + String.join(",", kpgs.stream().map(KeyPairGeneratorIdent::getName).collect(Collectors.toList()))); } - Set eckas = lib.getECKAs(); + Set eckas = lib.getKAs(); if (!eckas.isEmpty()) { System.out.println("\t\t- KeyAgreements: " + String.join(",", eckas.stream().map(KeyAgreementIdent::getName).collect(Collectors.toList()))); } - Set sigs = lib.getECSigs(); + Set sigs = lib.getSigs(); if (!eckas.isEmpty()) { System.out.println("\t\t- Signatures: " + String.join(",", sigs.stream().map(SignatureIdent::getName).collect(Collectors.toList()))); } @@ -171,8 +176,68 @@ private void listLibraries() { /** * */ - private void ecdh() { + private void ecdh() throws NoSuchAlgorithmException, InvalidAlgorithmParameterException, InvalidKeyException { + if (cfg.selected instanceof ProviderECLibrary) { + ProviderECLibrary lib = (ProviderECLibrary) cfg.selected; + + String algo = cli.getOptionValue("ecdh.type", "ECDH"); + KeyAgreementIdent kaIdent = null; + for (KeyAgreementIdent ident : lib.getKAs()) { + if (ident.contains(algo)) { + kaIdent = ident; + break; + } + } + + KeyPairGeneratorIdent kpIdent = null; + for (KeyPairGeneratorIdent ident : lib.getKPGs()) { + if (ident.contains("EC")) { + kpIdent = ident; + break; + } + } + + if (kaIdent == null || kpIdent == null) { + throw new NoSuchAlgorithmException(algo); + } else { + KeyAgreement ka = kaIdent.getInstance(lib.getProvider()); + KeyPairGenerator kpg = kpIdent.getInstance(lib.getProvider()); + if (cli.hasOption("ecdh.bits")) { + int bits = Integer.parseInt(cli.getOptionValue("ecdh.bits")); + kpg.initialize(bits); + } else if (cli.hasOption("ecdh.named-curve")) { + String curveName = cli.getOptionValue("ecdh.named-curve"); + EC_Curve curve = dataStore.getObject(EC_Curve.class, curveName); + if (curve == null) { + System.err.println("Curve not found: " + curveName); + return; + } + kpg.initialize(curve.toSpec()); + } + System.out.println("index;nanotime;pubW;privS;secret"); + + int amount = Integer.parseInt(cli.getOptionValue("ecdh.amount", "1")); + for (int i = 0; i < amount; ++i) { + KeyPair one = kpg.genKeyPair(); + KeyPair other = kpg.genKeyPair(); + + ECPrivateKey privkey = (ECPrivateKey) one.getPrivate(); + ECPublicKey pubkey = (ECPublicKey) other.getPublic(); + + long elapsed = -System.nanoTime(); + ka.init(privkey); + ka.doPhase(pubkey, true); + elapsed += System.nanoTime(); + byte[] result = ka.generateSecret(); + + String pub = ByteUtil.bytesToHex(ECUtil.toX962Uncompressed(pubkey.getW()), false); + String priv = ByteUtil.bytesToHex(privkey.getS().toByteArray(), false); + String dh = ByteUtil.bytesToHex(result, false); + System.out.println(String.format("%d;%d;%s;%s;%s", i, elapsed, pub, priv, dh)); + } + } + } } /** @@ -187,10 +252,10 @@ private void ecdsa() { */ private void generate() throws NoSuchAlgorithmException, InvalidAlgorithmParameterException { if (cfg.selected instanceof ProviderECLibrary) { - ProviderECLibrary jlib = (ProviderECLibrary) cfg.selected; + ProviderECLibrary lib = (ProviderECLibrary) cfg.selected; KeyPairGeneratorIdent ident = null; String algo = cli.getOptionValue("generate.type", "EC"); - for (KeyPairGeneratorIdent kpIdent : jlib.getKPGs()) { + for (KeyPairGeneratorIdent kpIdent : lib.getKPGs()) { if (kpIdent.contains(algo)) { ident = kpIdent; break; @@ -199,7 +264,7 @@ private void generate() throws NoSuchAlgorithmException, InvalidAlgorithmParamet if (ident == null) { throw new NoSuchAlgorithmException(algo); } else { - KeyPairGenerator kpg = ident.getInstance(jlib.getProvider()); + KeyPairGenerator kpg = ident.getInstance(lib.getProvider()); if (cli.hasOption("generate.bits")) { int bits = Integer.parseInt(cli.getOptionValue("generate.bits")); kpg.initialize(bits); @@ -212,7 +277,7 @@ private void generate() throws NoSuchAlgorithmException, InvalidAlgorithmParamet } kpg.initialize(curve.toSpec()); } - System.out.println("index;time;pubW;privS"); + System.out.println("index;nanotime;pubW;privS"); int amount = Integer.parseInt(cli.getOptionValue("generate.amount", "1")); for (int i = 0; i < amount; ++i) { @@ -224,7 +289,7 @@ private void generate() throws NoSuchAlgorithmException, InvalidAlgorithmParamet String pub = ByteUtil.bytesToHex(ECUtil.toX962Uncompressed(publicKey.getW()), false); String priv = ByteUtil.bytesToHex(privateKey.getS().toByteArray(), false); - System.out.println(String.format("%d;%d;%s;%s", i, elapsed / 1000000, pub, priv)); + System.out.println(String.format("%d;%d;%s;%s", i, elapsed, pub, priv)); } } } @@ -242,10 +307,10 @@ private void test() { */ private void export() throws NoSuchAlgorithmException, IOException { if (cfg.selected instanceof ProviderECLibrary) { - ProviderECLibrary jlib = (ProviderECLibrary) cfg.selected; + ProviderECLibrary lib = (ProviderECLibrary) cfg.selected; KeyPairGeneratorIdent ident = null; String algo = cli.getOptionValue("export.type", "EC"); - for (KeyPairGeneratorIdent kpIdent : jlib.getKPGs()) { + for (KeyPairGeneratorIdent kpIdent : lib.getKPGs()) { if (kpIdent.contains(algo)) { ident = kpIdent; break; @@ -254,7 +319,7 @@ private void export() throws NoSuchAlgorithmException, IOException { if (ident == null) { throw new NoSuchAlgorithmException(algo); } else { - KeyPairGenerator kpg = ident.getInstance(jlib.getProvider()); + KeyPairGenerator kpg = ident.getInstance(lib.getProvider()); if (cli.hasOption("export.bits")) { int bits = Integer.parseInt(cli.getOptionValue("export.bits")); kpg.initialize(bits); @@ -287,23 +352,14 @@ public Config(ECLibrary[] libs) { } boolean readOptions(TreeCommandLine cli) { - if (cli.isNext("generate")) { - if (!cli.hasArg(-1)) { - System.err.println("Missing library name argument."); - return false; - } - - if (cli.hasOption("generate.bits") && cli.hasOption("generate.named-curve")) { - System.err.println("You can only specify bitsize or a named curve, nor both."); - return false; - } - } else if (cli.isNext("export")) { + if (cli.isNext("generate") || cli.isNext("export") || cli.isNext("ecdh")) { if (!cli.hasArg(-1)) { System.err.println("Missing library name argument."); return false; } - if (cli.hasOption("export.bits") && cli.hasOption("export.named-curve")) { + String next = cli.getNextName(); + if (cli.hasOption(next + ".bits") && cli.hasOption(next + ".named-curve")) { System.err.println("You can only specify bitsize or a named curve, nor both."); return false; } diff --git a/src/cz/crcs/ectester/standalone/libs/ECLibrary.java b/src/cz/crcs/ectester/standalone/libs/ECLibrary.java index 7e26dbed..1e73e61a 100644 --- a/src/cz/crcs/ectester/standalone/libs/ECLibrary.java +++ b/src/cz/crcs/ectester/standalone/libs/ECLibrary.java @@ -14,9 +14,9 @@ public interface ECLibrary { boolean isInitialized(); - Set getECKAs(); + Set getKAs(); - Set getECSigs(); + Set getSigs(); Set getKPGs(); diff --git a/src/cz/crcs/ectester/standalone/libs/NativeECLibrary.java b/src/cz/crcs/ectester/standalone/libs/NativeECLibrary.java index 40691e66..44fb47ba 100644 --- a/src/cz/crcs/ectester/standalone/libs/NativeECLibrary.java +++ b/src/cz/crcs/ectester/standalone/libs/NativeECLibrary.java @@ -1,9 +1,5 @@ package cz.crcs.ectester.standalone.libs; -import cz.crcs.ectester.standalone.consts.KeyAgreementIdent; -import cz.crcs.ectester.standalone.consts.KeyPairGeneratorIdent; -import cz.crcs.ectester.standalone.consts.SignatureIdent; - import java.io.File; import java.io.IOException; import java.net.URL; @@ -13,14 +9,11 @@ import java.nio.file.Paths; import java.nio.file.StandardCopyOption; import java.security.Provider; -import java.util.Collections; -import java.util.Set; /** * @author Jan Jancar johny@neuromancer.sk */ -public abstract class NativeECLibrary implements ECLibrary { - private ProviderECLibrary loaded; +public abstract class NativeECLibrary extends ProviderECLibrary { private String resource; private String libname; @@ -80,52 +73,13 @@ public boolean initialize() { System.load(libPath.toString()); - loaded = new ProviderECLibrary(getProvider()); - return true; + provider = createProvider(); + return super.initialize(); } catch (IOException ignored) { } return false; } - public abstract Provider getProvider(); - - @Override - public boolean isInitialized() { - return loaded != null && loaded.isInitialized(); - } - - @Override - public Set getECKAs() { - if (!isInitialized()) { - return Collections.emptySet(); - } - return loaded.getECKAs(); - } - - @Override - public Set getECSigs() { - if (!isInitialized()) { - return Collections.emptySet(); - } - return loaded.getECSigs(); - } - - @Override - public Set getKPGs() { - if (!isInitialized()) { - return Collections.emptySet(); - } - return loaded.getKPGs(); - } - - @Override - public String name() { - return loaded.name(); - } - - @Override - public String toString() { - return name(); - } + abstract Provider createProvider(); } diff --git a/src/cz/crcs/ectester/standalone/libs/ProviderECLibrary.java b/src/cz/crcs/ectester/standalone/libs/ProviderECLibrary.java index 879cc164..9108eaf2 100644 --- a/src/cz/crcs/ectester/standalone/libs/ProviderECLibrary.java +++ b/src/cz/crcs/ectester/standalone/libs/ProviderECLibrary.java @@ -14,13 +14,16 @@ /** * @author Jan Jancar johny@neuromancer.sk */ -public class ProviderECLibrary implements ECLibrary { - private Provider provider; - private boolean initialized; +public abstract class ProviderECLibrary implements ECLibrary { + Provider provider; + private boolean initialized = false; + + public ProviderECLibrary() { + + } public ProviderECLibrary(Provider provider) { this.provider = provider; - this.initialized = false; } @Override @@ -60,12 +63,12 @@ private Set getIdents(String type, Function gett } @Override - public Set getECKAs() { + public Set getKAs() { return getIdents("KeyAgreement", KeyAgreementIdent::get); } @Override - public Set getECSigs() { + public Set getSigs() { return getIdents("Signature", SignatureIdent::get); } diff --git a/src/cz/crcs/ectester/standalone/libs/TomcryptLib.java b/src/cz/crcs/ectester/standalone/libs/TomcryptLib.java index 31d6812b..fe4a79d3 100644 --- a/src/cz/crcs/ectester/standalone/libs/TomcryptLib.java +++ b/src/cz/crcs/ectester/standalone/libs/TomcryptLib.java @@ -12,5 +12,5 @@ public TomcryptLib() { } @Override - public native Provider getProvider(); + native Provider createProvider(); } From 5913cd5cb0940623d3bb2ee0861a1fdcfe08f08b Mon Sep 17 00:00:00 2001 From: J08nY Date: Tue, 28 Nov 2017 16:29:39 +0100 Subject: [PATCH 28/91] Implement ECDSA for standalone libs. --- .../standalone/ECTesterStandalone.java | 132 +++++++++++++++--- .../ectester/standalone/consts/Ident.java | 25 ++++ .../standalone/consts/KeyAgreementIdent.java | 8 +- .../consts/KeyPairGeneratorIdent.java | 10 +- .../standalone/consts/SignatureIdent.java | 8 +- 5 files changed, 163 insertions(+), 20 deletions(-) diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index ec681c76..3ec11ed1 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -18,10 +18,14 @@ import org.apache.commons.cli.ParseException; import javax.crypto.KeyAgreement; +import java.io.File; +import java.io.FileNotFoundException; import java.io.IOException; +import java.nio.file.Files; import java.security.*; import java.security.interfaces.ECPrivateKey; import java.security.interfaces.ECPublicKey; +import java.security.spec.AlgorithmParameterSpec; import java.security.spec.ECParameterSpec; import java.util.*; import java.util.stream.Collectors; @@ -93,6 +97,8 @@ private void run(String[] args) { System.err.println("Algorithm not supported by the selected library: " + nsaex.getMessage()); } catch (InvalidKeyException e) { e.printStackTrace(); + } catch (SignatureException e) { + e.printStackTrace(); } } @@ -113,6 +119,8 @@ private TreeCommandLine parseArgs(String[] args) throws ParseException { Options ecdsaOpts = new Options(); ecdsaOpts.addOption(Option.builder("t").longOpt("type").desc("Set Signature object [type].").hasArg().argName("type").optionalArg(false).build()); + ecdsaOpts.addOption(Option.builder("n").longOpt("amount").hasArg().argName("amount").optionalArg(false).desc("Do ECDSA [amount] times.").build()); + ecdsaOpts.addOption(Option.builder("f").longOpt("file").hasArg().argName("file").optionalArg(false).desc("Input [file] to sign.").build()); ParserOptions ecdsa = new ParserOptions(new DefaultParser(), ecdsaOpts); actions.put("ecdsa", ecdsa); @@ -181,27 +189,26 @@ private void ecdh() throws NoSuchAlgorithmException, InvalidAlgorithmParameterEx ProviderECLibrary lib = (ProviderECLibrary) cfg.selected; String algo = cli.getOptionValue("ecdh.type", "ECDH"); - KeyAgreementIdent kaIdent = null; - for (KeyAgreementIdent ident : lib.getKAs()) { - if (ident.contains(algo)) { - kaIdent = ident; - break; - } - } + KeyAgreementIdent kaIdent = lib.getKAs().stream() + .filter((ident) -> ident.contains(algo)) + .findFirst() + .orElse(null); + + KeyPairGeneratorIdent kpIdent = lib.getKPGs().stream() + .filter((ident) -> ident.contains(algo)) + .findFirst() + .orElse(lib.getKPGs().stream() + .filter((ident) -> ident.contains("EC")) + .findFirst() + .orElse(null)); - KeyPairGeneratorIdent kpIdent = null; - for (KeyPairGeneratorIdent ident : lib.getKPGs()) { - if (ident.contains("EC")) { - kpIdent = ident; - break; - } - } if (kaIdent == null || kpIdent == null) { throw new NoSuchAlgorithmException(algo); } else { KeyAgreement ka = kaIdent.getInstance(lib.getProvider()); KeyPairGenerator kpg = kpIdent.getInstance(lib.getProvider()); + AlgorithmParameterSpec spec = null; if (cli.hasOption("ecdh.bits")) { int bits = Integer.parseInt(cli.getOptionValue("ecdh.bits")); kpg.initialize(bits); @@ -212,7 +219,8 @@ private void ecdh() throws NoSuchAlgorithmException, InvalidAlgorithmParameterEx System.err.println("Curve not found: " + curveName); return; } - kpg.initialize(curve.toSpec()); + spec = curve.toSpec(); + kpg.initialize(spec); } System.out.println("index;nanotime;pubW;privS;secret"); @@ -226,10 +234,15 @@ private void ecdh() throws NoSuchAlgorithmException, InvalidAlgorithmParameterEx ECPublicKey pubkey = (ECPublicKey) other.getPublic(); long elapsed = -System.nanoTime(); - ka.init(privkey); + if (spec != null) { + ka.init(privkey, spec); + } else { + ka.init(privkey); + } ka.doPhase(pubkey, true); elapsed += System.nanoTime(); byte[] result = ka.generateSecret(); + ka = kaIdent.getInstance(lib.getProvider()); String pub = ByteUtil.bytesToHex(ECUtil.toX962Uncompressed(pubkey.getW()), false); String priv = ByteUtil.bytesToHex(privkey.getS().toByteArray(), false); @@ -243,8 +256,93 @@ private void ecdh() throws NoSuchAlgorithmException, InvalidAlgorithmParameterEx /** * */ - private void ecdsa() { + private void ecdsa() throws NoSuchAlgorithmException, InvalidAlgorithmParameterException, InvalidKeyException, IOException, SignatureException { + byte[] data; + String dataString; + if (cli.hasOption("ecdsa.file")) { + String fileName = cli.getOptionValue("ecdsa.file"); + File in = new File(fileName); + long len = in.length(); + if (len == 0) { + throw new FileNotFoundException(fileName); + } + data = Files.readAllBytes(in.toPath()); + dataString = ""; + } else { + SecureRandom random = new SecureRandom(); + data = new byte[128]; + random.nextBytes(data); + dataString = ByteUtil.bytesToHex(data, false); + } + + if (cfg.selected instanceof ProviderECLibrary) { + ProviderECLibrary lib = (ProviderECLibrary) cfg.selected; + + String algo = cli.getOptionValue("ecdsa.type", "ECDSA"); + SignatureIdent sigIdent = lib.getSigs().stream() + .filter((ident) -> ident.contains(algo)) + .findFirst() + .orElse(null); + + KeyPairGeneratorIdent kpIdent = lib.getKPGs().stream() + .filter((ident) -> ident.contains(algo)) + .findFirst() + .orElse(lib.getKPGs().stream() + .filter((ident) -> ident.contains("EC")) + .findFirst() + .orElse(null)); + + if (sigIdent == null || kpIdent == null) { + throw new NoSuchAlgorithmException(algo); + } else { + Signature sig = sigIdent.getInstance(lib.getProvider()); + KeyPairGenerator kpg = kpIdent.getInstance(lib.getProvider()); + AlgorithmParameterSpec spec = null; + if (cli.hasOption("ecdsa.bits")) { + int bits = Integer.parseInt(cli.getOptionValue("ecdsa.bits")); + kpg.initialize(bits); + } else if (cli.hasOption("ecdsa.named-curve")) { + String curveName = cli.getOptionValue("ecdsa.named-curve"); + EC_Curve curve = dataStore.getObject(EC_Curve.class, curveName); + if (curve == null) { + System.err.println("Curve not found: " + curveName); + return; + } + spec = curve.toSpec(); + kpg.initialize(spec); + } + + System.out.println("index;data;signtime;verifytime;pubW;privS;signature;verified"); + + int amount = Integer.parseInt(cli.getOptionValue("ecdsa.amount", "1")); + for (int i = 0; i < amount; ++i) { + KeyPair one = kpg.genKeyPair(); + + ECPrivateKey privkey = (ECPrivateKey) one.getPrivate(); + ECPublicKey pubkey = (ECPublicKey) one.getPublic(); + sig.initSign(privkey); + sig.update(data); + + long signTime = -System.nanoTime(); + byte[] signature = sig.sign(); + signTime += System.nanoTime(); + + sig.initVerify(pubkey); + sig.update(data); + + long verifyTime = -System.nanoTime(); + boolean verified = sig.verify(signature); + verifyTime += System.nanoTime(); + + + String pub = ByteUtil.bytesToHex(ECUtil.toX962Uncompressed(pubkey.getW()), false); + String priv = ByteUtil.bytesToHex(privkey.getS().toByteArray(), false); + String sign = ByteUtil.bytesToHex(signature, false); + System.out.println(String.format("%d;%s;%d;%d;%s;%s;%s;%d", i, dataString, signTime, verifyTime, pub, priv, sign, verified ? 1 : 0)); + } + } + } } /** diff --git a/src/cz/crcs/ectester/standalone/consts/Ident.java b/src/cz/crcs/ectester/standalone/consts/Ident.java index 84cce2d5..e2556c52 100644 --- a/src/cz/crcs/ectester/standalone/consts/Ident.java +++ b/src/cz/crcs/ectester/standalone/consts/Ident.java @@ -1,9 +1,12 @@ package cz.crcs.ectester.standalone.consts; +import java.security.NoSuchAlgorithmException; +import java.security.Provider; import java.util.Arrays; import java.util.Collections; import java.util.Set; import java.util.TreeSet; +import java.util.function.BiFunction; public abstract class Ident { Set idents; @@ -28,6 +31,28 @@ public boolean contains(String other) { return name.equals(other) || idents.contains(other); } + T getInstance(BiFunction getter, Provider provider) throws NoSuchAlgorithmException { + T instance = null; + try { + instance = getter.apply(name, provider); + } catch (Exception ignored) { + } + + if (instance == null) { + for (String alias : idents) { + try { + instance = getter.apply(alias, provider); + } catch (Exception ignored) { + } + } + } + + if (instance == null) { + throw new NoSuchAlgorithmException(name); + } + return instance; + } + @Override public boolean equals(Object obj) { if (this == obj) { diff --git a/src/cz/crcs/ectester/standalone/consts/KeyAgreementIdent.java b/src/cz/crcs/ectester/standalone/consts/KeyAgreementIdent.java index c0d1e27c..724f3c6a 100644 --- a/src/cz/crcs/ectester/standalone/consts/KeyAgreementIdent.java +++ b/src/cz/crcs/ectester/standalone/consts/KeyAgreementIdent.java @@ -55,7 +55,13 @@ private KeyAgreementIdent(String name, String... aliases) { } public KeyAgreement getInstance(Provider provider) throws NoSuchAlgorithmException { - KeyAgreement instance = KeyAgreement.getInstance(name, provider); + KeyAgreement instance = getInstance((algorithm, provider1) -> { + try { + return KeyAgreement.getInstance(algorithm, provider1); + } catch (NoSuchAlgorithmException e) { + return null; + } + }, provider); instance.getProvider(); return instance; } diff --git a/src/cz/crcs/ectester/standalone/consts/KeyPairGeneratorIdent.java b/src/cz/crcs/ectester/standalone/consts/KeyPairGeneratorIdent.java index d0526f74..50b7135b 100644 --- a/src/cz/crcs/ectester/standalone/consts/KeyPairGeneratorIdent.java +++ b/src/cz/crcs/ectester/standalone/consts/KeyPairGeneratorIdent.java @@ -15,6 +15,8 @@ public class KeyPairGeneratorIdent extends Ident { ALL.add(new KeyPairGeneratorIdent("ECDSA")); ALL.add(new KeyPairGeneratorIdent("ECDHC")); ALL.add(new KeyPairGeneratorIdent("ECMQV")); + ALL.add(new KeyPairGeneratorIdent("ECGOST3410")); + ALL.add(new KeyPairGeneratorIdent("ECGOST3410-2012")); } public static KeyPairGeneratorIdent get(String ident) { @@ -31,7 +33,13 @@ public KeyPairGeneratorIdent(String name, String... aliases) { } public KeyPairGenerator getInstance(Provider provider) throws NoSuchAlgorithmException { - KeyPairGenerator instance = KeyPairGenerator.getInstance(name, provider); + KeyPairGenerator instance = getInstance((algorithm, provider1) -> { + try { + return KeyPairGenerator.getInstance(algorithm, provider1); + } catch (NoSuchAlgorithmException e) { + return null; + } + }, provider); instance.getProvider(); return instance; } diff --git a/src/cz/crcs/ectester/standalone/consts/SignatureIdent.java b/src/cz/crcs/ectester/standalone/consts/SignatureIdent.java index c027bf12..f322cc59 100644 --- a/src/cz/crcs/ectester/standalone/consts/SignatureIdent.java +++ b/src/cz/crcs/ectester/standalone/consts/SignatureIdent.java @@ -79,7 +79,13 @@ private SignatureIdent(String name, String... aliases) { } public Signature getInstance(Provider provider) throws NoSuchAlgorithmException { - Signature instance = Signature.getInstance(name, provider); + Signature instance = getInstance((algorithm, provider1) -> { + try { + return Signature.getInstance(algorithm, provider1); + } catch (NoSuchAlgorithmException e) { + return null; + } + }, provider); instance.getProvider(); return instance; } From cd117b707bfae0271b86b5c647d2fbc72dd3676c Mon Sep 17 00:00:00 2001 From: J08nY Date: Tue, 28 Nov 2017 22:23:31 +0100 Subject: [PATCH 29/91] Implement a basic NativeProvider using libtomcrypt. --- .gitignore | 6 ++- build-standalone.xml | 3 +- nbproject/reader/project.properties | 2 +- nbproject/standalone/project.properties | 2 +- .../standalone/ECTesterStandalone.java | 11 ++-- .../standalone/libs/NativeECLibrary.java | 22 +++++--- .../ectester/standalone/libs/TomcryptLib.java | 2 +- .../ectester/standalone/libs/jni/Makefile | 48 +++++++++++++++++ .../standalone/libs/jni/NativeProvider.java | 25 +++++++++ .../standalone/libs/jni/TomCryptProvider.java | 11 ++++ .../ectester/standalone/libs/jni/native.h | 54 +++++++++++++++++++ .../ectester/standalone/libs/jni/tomcrypt.c | 40 ++++++++++++++ src/cz/crcs/ectester/standalone/libs/native.h | 21 -------- 13 files changed, 206 insertions(+), 41 deletions(-) create mode 100644 src/cz/crcs/ectester/standalone/libs/jni/Makefile create mode 100644 src/cz/crcs/ectester/standalone/libs/jni/NativeProvider.java create mode 100644 src/cz/crcs/ectester/standalone/libs/jni/TomCryptProvider.java create mode 100644 src/cz/crcs/ectester/standalone/libs/jni/native.h create mode 100644 src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c delete mode 100644 src/cz/crcs/ectester/standalone/libs/native.h diff --git a/.gitignore b/.gitignore index 47241345..8390d097 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,8 @@ /dist/ectester-reader.sh /dist/ectester-reader.bat /dist/ECTesterStandalone.jar -/dist/ECTesterStandalone-dist.jar \ No newline at end of file +/dist/ECTesterStandalone-dist.jar + +/src/**/*.a +/src/**/*.o +/src/**/*.so diff --git a/build-standalone.xml b/build-standalone.xml index 05dc1741..447b9b15 100644 --- a/build-standalone.xml +++ b/build-standalone.xml @@ -76,8 +76,9 @@ - + + diff --git a/nbproject/reader/project.properties b/nbproject/reader/project.properties index ac98170c..d372fd5e 100644 --- a/nbproject/reader/project.properties +++ b/nbproject/reader/project.properties @@ -6,7 +6,7 @@ annotation.processing.source.output=${build.generated.sources.dir}/ap-source-out application.title=ECTesterReader application.vendor=xsvenda build.classes.dir=${build.dir}/classes -build.classes.excludes=**/*.java,**/*.form,**/*.c,**/*.h +build.classes.excludes=**/*.java,**/*.form,**/*.c,**/*.h,**/*.a # This directory is removed when the project is cleaned: build.dir=build build.generated.dir=${build.dir}/generated diff --git a/nbproject/standalone/project.properties b/nbproject/standalone/project.properties index 868bcfa7..7714914d 100644 --- a/nbproject/standalone/project.properties +++ b/nbproject/standalone/project.properties @@ -6,7 +6,7 @@ annotation.processing.source.output=${build.generated.sources.dir}/ap-source-out application.title=ECTesterStandalone application.vendor=xsvenda build.classes.dir=${build.dir}/classes -build.classes.excludes=**/*.java,**/*.form,**/*.c,**/*.h +build.classes.excludes=**/*.java,**/*.form,**/*.c,**/*.h,**/*.a # This directory is removed when the project is cleaned: build.dir=build build.generated.dir=${build.dir}/generated diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index 3ec11ed1..de9953a4 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -8,10 +8,7 @@ import cz.crcs.ectester.standalone.consts.KeyAgreementIdent; import cz.crcs.ectester.standalone.consts.KeyPairGeneratorIdent; import cz.crcs.ectester.standalone.consts.SignatureIdent; -import cz.crcs.ectester.standalone.libs.BouncyCastleLib; -import cz.crcs.ectester.standalone.libs.ECLibrary; -import cz.crcs.ectester.standalone.libs.ProviderECLibrary; -import cz.crcs.ectester.standalone.libs.SunECLib; +import cz.crcs.ectester.standalone.libs.*; import org.apache.commons.cli.DefaultParser; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; @@ -37,7 +34,7 @@ * @version v0.1.0 */ public class ECTesterStandalone { - private ECLibrary[] libs = new ECLibrary[]{new SunECLib(), new BouncyCastleLib()}; + private ECLibrary[] libs = new ECLibrary[]{new SunECLib(), new BouncyCastleLib(), new TomcryptLib()}; private EC_Store dataStore; private Config cfg; @@ -297,7 +294,6 @@ private void ecdsa() throws NoSuchAlgorithmException, InvalidAlgorithmParameterE } else { Signature sig = sigIdent.getInstance(lib.getProvider()); KeyPairGenerator kpg = kpIdent.getInstance(lib.getProvider()); - AlgorithmParameterSpec spec = null; if (cli.hasOption("ecdsa.bits")) { int bits = Integer.parseInt(cli.getOptionValue("ecdsa.bits")); kpg.initialize(bits); @@ -308,8 +304,7 @@ private void ecdsa() throws NoSuchAlgorithmException, InvalidAlgorithmParameterE System.err.println("Curve not found: " + curveName); return; } - spec = curve.toSpec(); - kpg.initialize(spec); + kpg.initialize(curve.toSpec()); } System.out.println("index;data;signtime;verifytime;pubW;privS;signature;verified"); diff --git a/src/cz/crcs/ectester/standalone/libs/NativeECLibrary.java b/src/cz/crcs/ectester/standalone/libs/NativeECLibrary.java index 44fb47ba..5d1b9d7b 100644 --- a/src/cz/crcs/ectester/standalone/libs/NativeECLibrary.java +++ b/src/cz/crcs/ectester/standalone/libs/NativeECLibrary.java @@ -15,11 +15,13 @@ */ public abstract class NativeECLibrary extends ProviderECLibrary { private String resource; - private String libname; + private String[] requriements; - public NativeECLibrary(String resource, String libname) { + public static String LIB_RESOURCE_DIR = "/cz/crcs/ectester/standalone/libs/jni/"; + + public NativeECLibrary(String resource, String... requirements) { this.resource = resource; - this.libname = libname; + this.requriements = requirements; } @Override @@ -33,8 +35,10 @@ public boolean initialize() { } else { suffix = "so"; if (System.getProperty("os.name").startsWith("Linux")) { - appData = Paths.get(System.getenv("XDG_DATA_HOME")); - if (appData == null) { + String dataHome = System.getenv("XDG_DATA_HOME"); + if (dataHome != null) { + appData = Paths.get(dataHome); + } else { appData = Paths.get(System.getProperty("user.home"), ".local", "share"); } } else { @@ -43,10 +47,10 @@ public boolean initialize() { } Path libDir = appData.resolve("ECTesterStandalone"); File libDirFile = libDir.toFile(); - Path libPath = libDir.resolve(libname + "." + suffix); + Path libPath = libDir.resolve(resource + "." + suffix); File libFile = libPath.toFile(); - URL jarURL = NativeECLibrary.class.getResource("/cz/crcs/ectester/standalone/libs/" + resource + "." + suffix); + URL jarURL = NativeECLibrary.class.getResource(LIB_RESOURCE_DIR + resource + "." + suffix); if (jarURL == null) { return false; } @@ -71,6 +75,10 @@ public boolean initialize() { } jarConnection.getInputStream().close(); + for (String requirement : requriements) { + System.loadLibrary(requirement); + } + System.load(libPath.toString()); provider = createProvider(); diff --git a/src/cz/crcs/ectester/standalone/libs/TomcryptLib.java b/src/cz/crcs/ectester/standalone/libs/TomcryptLib.java index fe4a79d3..49e810c1 100644 --- a/src/cz/crcs/ectester/standalone/libs/TomcryptLib.java +++ b/src/cz/crcs/ectester/standalone/libs/TomcryptLib.java @@ -8,7 +8,7 @@ public class TomcryptLib extends NativeECLibrary { public TomcryptLib() { - super("tomcrypt", "libtomcrypt"); + super("tomcrypt_provider", "tommath", "tomcrypt"); } @Override diff --git a/src/cz/crcs/ectester/standalone/libs/jni/Makefile b/src/cz/crcs/ectester/standalone/libs/jni/Makefile new file mode 100644 index 00000000..837078c2 --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/jni/Makefile @@ -0,0 +1,48 @@ +ifeq ($(JAVA_HOME),) +ifeq ($(OS),Windows_NT) +which = $(shell where $1) +else +which = $(shell which $1) +endif +JAVAC ?= $(realpath $(call which,javac)) +JAVA_HOME = $(abspath $(dir $(JAVAC))..) +endif + +ifneq ($(JAVA_HOME),) +JNI_INCLUDEDIR ?= $(JAVA_HOME)/include +endif + +ifeq ($(JNI_INCLUDEDIR),) +$(error could not determine JNI include dir, try specifying either \ + JAVA_HOME or JNI_INCLUDEDIR) +endif + +TARGETTRIPLET := $(shell $(CC) -dumpmachine) +ifeq ($(JNI_PLATFORM),) +ifeq ($(findstring mingw,$(TARGETTRIPLET)),mingw) +JNI_PLATFORM:= win32 +else +ifeq ($(findstring linux,$(TARGETTRIPLET)),linux) +JNI_PLATFORM:= linux +# add more checks here +endif +endif +endif + +JNI_PLATFORMINCLUDEDIR ?= $(JNI_INCLUDEDIR)/$(JNI_PLATFORM) + + + +all: tomcrypt_provider.so + +tomcrypt_provider.so: tomcrypt.o + gcc -DLTM_DESC -DUSE_LTM -fPIC -shared -o $@ $< -ltommath -ltomcrypt + +%.o: %.c + gcc -fPIC -I"$(JNI_INCLUDEDIR)" -I"$(JNI_PLATFORMINCLUDEDIR)" -I. -c $< + +clean: + rm -rf *.o + rm -rf *.so + +.PHONY: all clean \ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeProvider.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeProvider.java new file mode 100644 index 00000000..43b78272 --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeProvider.java @@ -0,0 +1,25 @@ +package cz.crcs.ectester.standalone.libs.jni; + +import java.security.AccessController; +import java.security.PrivilegedAction; +import java.security.Provider; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public abstract class NativeProvider extends Provider { + + public NativeProvider(String name, double version, String info) { + super(name, version, info); + + AccessController.doPrivileged(new PrivilegedAction() { + public Object run() { + setup(); + return null; + } + }); + } + + abstract void setup(); + +} diff --git a/src/cz/crcs/ectester/standalone/libs/jni/TomCryptProvider.java b/src/cz/crcs/ectester/standalone/libs/jni/TomCryptProvider.java new file mode 100644 index 00000000..01e4c17f --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/jni/TomCryptProvider.java @@ -0,0 +1,11 @@ +package cz.crcs.ectester.standalone.libs.jni; + +public class TomCryptProvider extends NativeProvider { + + public TomCryptProvider(String name, double version, String info) { + super(name, version, info); + } + + @Override + native void setup(); +} diff --git a/src/cz/crcs/ectester/standalone/libs/jni/native.h b/src/cz/crcs/ectester/standalone/libs/jni/native.h new file mode 100644 index 00000000..83ef841c --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/jni/native.h @@ -0,0 +1,54 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ +#include +/* Header for class cz_crcs_ectester_standalone_libs_TomcryptLib */ + +#ifndef _Included_cz_crcs_ectester_standalone_libs_TomcryptLib +#define _Included_cz_crcs_ectester_standalone_libs_TomcryptLib +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: cz_crcs_ectester_standalone_libs_TomcryptLib + * Method: createProvider + * Signature: ()Ljava/security/Provider; + */ +JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_createProvider + (JNIEnv *, jobject); + +#ifdef __cplusplus +} +#endif +#endif +/* Header for class cz_crcs_ectester_standalone_libs_jni_TomCryptProvider */ + +#ifndef _Included_cz_crcs_ectester_standalone_libs_jni_TomCryptProvider +#define _Included_cz_crcs_ectester_standalone_libs_jni_TomCryptProvider +#ifdef __cplusplus +extern "C" { +#endif +#undef cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_serialVersionUID +#define cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_serialVersionUID 1421746759512286392LL +#undef cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_MAX_ARRAY_SIZE +#define cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_MAX_ARRAY_SIZE 2147483639L +#undef cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_KEYS +#define cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_KEYS 0L +#undef cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_VALUES +#define cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_VALUES 1L +#undef cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_ENTRIES +#define cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_ENTRIES 2L +#undef cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_serialVersionUID +#define cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_serialVersionUID 4112578634029874840LL +#undef cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_serialVersionUID +#define cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_serialVersionUID -4298000515446427739LL +/* + * Class: cz_crcs_ectester_standalone_libs_jni_TomCryptProvider + * Method: setup + * Signature: ()V + */ +JNIEXPORT void JNICALL Java_cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_setup + (JNIEnv *, jobject); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c new file mode 100644 index 00000000..43ae06be --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c @@ -0,0 +1,40 @@ +#include "native.h" +#include +#define LTM_DESC +#include + +JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_createProvider(JNIEnv *env, jobject this) { + jclass provider_class = (*env)->FindClass(env, "cz/crcs/ectester/standalone/libs/jni/TomCryptProvider"); + + jmethodID init = (*env)->GetMethodID(env, provider_class, "", "(Ljava/lang/String;DLjava/lang/String;)V"); + if (init == NULL) { + return NULL; + } + jstring name = (*env)->NewStringUTF(env, "libtomcrypt " SCRYPT); + double version = strtod(SCRYPT, NULL); + return (*env)->NewObject(env, provider_class, init, name, version, name); +} + +JNIEXPORT void JNICALL Java_cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_setup(JNIEnv *env, jobject this) { + ltc_mp = ltm_desc; + /* Just test ecc key generation at this time. */ + ecc_key mykey; + prng_state prng; + int err; + /* register yarrow */ + if (register_prng(&yarrow_desc) == -1) { + printf("Error registering Yarrow\n"); + return; + } + /* setup the PRNG */ + if ((err = rng_make_prng(128, find_prng("yarrow"), &prng, NULL)) != CRYPT_OK) { + printf("Error setting up PRNG, %s\n", error_to_string(err)); + return; + } + /* make a 192-bit ECC key */ + if ((err = ecc_make_key(&prng, find_prng("yarrow"), 24, &mykey)) != CRYPT_OK) { + printf("Error making key: %s\n", error_to_string(err)); + return; + } + return; +} \ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/libs/native.h b/src/cz/crcs/ectester/standalone/libs/native.h deleted file mode 100644 index 979f04a0..00000000 --- a/src/cz/crcs/ectester/standalone/libs/native.h +++ /dev/null @@ -1,21 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class cz_crcs_ectester_standalone_libs_TomcryptLib */ - -#ifndef _Included_cz_crcs_ectester_standalone_libs_TomcryptLib -#define _Included_cz_crcs_ectester_standalone_libs_TomcryptLib -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: cz_crcs_ectester_standalone_libs_TomcryptLib - * Method: getProvider - * Signature: ()Ljava/security/Provider; - */ -JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_getProvider - (JNIEnv *, jobject); - -#ifdef __cplusplus -} -#endif -#endif From 58271abb0977ef2179a8506bba41005bb2af2869 Mon Sep 17 00:00:00 2001 From: J08nY Date: Tue, 28 Nov 2017 23:46:00 +0100 Subject: [PATCH 30/91] Move TomCryptProvider into NativeProvider as a nested class. --- build-standalone.xml | 10 ++++- .../standalone/libs/NativeECLibrary.java | 2 +- .../standalone/libs/jni/NativeProvider.java | 9 +++++ .../standalone/libs/jni/TomCryptProvider.java | 11 ------ .../ectester/standalone/libs/jni/native.h | 38 +++++++++---------- .../ectester/standalone/libs/jni/tomcrypt.c | 19 +++++++++- 6 files changed, 54 insertions(+), 35 deletions(-) delete mode 100644 src/cz/crcs/ectester/standalone/libs/jni/TomCryptProvider.java diff --git a/build-standalone.xml b/build-standalone.xml index 447b9b15..300eec82 100644 --- a/build-standalone.xml +++ b/build-standalone.xml @@ -71,14 +71,20 @@ nbproject/build-impl.xml file. --> - + + + + + + + - + diff --git a/src/cz/crcs/ectester/standalone/libs/NativeECLibrary.java b/src/cz/crcs/ectester/standalone/libs/NativeECLibrary.java index 5d1b9d7b..e059c190 100644 --- a/src/cz/crcs/ectester/standalone/libs/NativeECLibrary.java +++ b/src/cz/crcs/ectester/standalone/libs/NativeECLibrary.java @@ -83,7 +83,7 @@ public boolean initialize() { provider = createProvider(); return super.initialize(); - } catch (IOException ignored) { + } catch (IOException | UnsatisfiedLinkError ignored) { } return false; diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeProvider.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeProvider.java index 43b78272..53f8b3c9 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/NativeProvider.java +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeProvider.java @@ -22,4 +22,13 @@ public Object run() { abstract void setup(); + public static class TomCrypt extends NativeProvider { + + public TomCrypt(String name, double version, String info) { + super(name, version, info); + } + + @Override + native void setup(); + } } diff --git a/src/cz/crcs/ectester/standalone/libs/jni/TomCryptProvider.java b/src/cz/crcs/ectester/standalone/libs/jni/TomCryptProvider.java deleted file mode 100644 index 01e4c17f..00000000 --- a/src/cz/crcs/ectester/standalone/libs/jni/TomCryptProvider.java +++ /dev/null @@ -1,11 +0,0 @@ -package cz.crcs.ectester.standalone.libs.jni; - -public class TomCryptProvider extends NativeProvider { - - public TomCryptProvider(String name, double version, String info) { - super(name, version, info); - } - - @Override - native void setup(); -} diff --git a/src/cz/crcs/ectester/standalone/libs/jni/native.h b/src/cz/crcs/ectester/standalone/libs/jni/native.h index 83ef841c..e4e5009d 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/native.h +++ b/src/cz/crcs/ectester/standalone/libs/jni/native.h @@ -19,33 +19,33 @@ JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_crea } #endif #endif -/* Header for class cz_crcs_ectester_standalone_libs_jni_TomCryptProvider */ +/* Header for class cz_crcs_ectester_standalone_libs_jni_NativeProvider_TomCrypt */ -#ifndef _Included_cz_crcs_ectester_standalone_libs_jni_TomCryptProvider -#define _Included_cz_crcs_ectester_standalone_libs_jni_TomCryptProvider +#ifndef _Included_cz_crcs_ectester_standalone_libs_jni_NativeProvider_TomCrypt +#define _Included_cz_crcs_ectester_standalone_libs_jni_NativeProvider_TomCrypt #ifdef __cplusplus extern "C" { #endif -#undef cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_serialVersionUID -#define cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_serialVersionUID 1421746759512286392LL -#undef cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_MAX_ARRAY_SIZE -#define cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_MAX_ARRAY_SIZE 2147483639L -#undef cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_KEYS -#define cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_KEYS 0L -#undef cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_VALUES -#define cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_VALUES 1L -#undef cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_ENTRIES -#define cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_ENTRIES 2L -#undef cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_serialVersionUID -#define cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_serialVersionUID 4112578634029874840LL -#undef cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_serialVersionUID -#define cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_serialVersionUID -4298000515446427739LL +#undef cz_crcs_ectester_standalone_libs_jni_NativeProvider_TomCrypt_serialVersionUID +#define cz_crcs_ectester_standalone_libs_jni_NativeProvider_TomCrypt_serialVersionUID 1421746759512286392LL +#undef cz_crcs_ectester_standalone_libs_jni_NativeProvider_TomCrypt_MAX_ARRAY_SIZE +#define cz_crcs_ectester_standalone_libs_jni_NativeProvider_TomCrypt_MAX_ARRAY_SIZE 2147483639L +#undef cz_crcs_ectester_standalone_libs_jni_NativeProvider_TomCrypt_KEYS +#define cz_crcs_ectester_standalone_libs_jni_NativeProvider_TomCrypt_KEYS 0L +#undef cz_crcs_ectester_standalone_libs_jni_NativeProvider_TomCrypt_VALUES +#define cz_crcs_ectester_standalone_libs_jni_NativeProvider_TomCrypt_VALUES 1L +#undef cz_crcs_ectester_standalone_libs_jni_NativeProvider_TomCrypt_ENTRIES +#define cz_crcs_ectester_standalone_libs_jni_NativeProvider_TomCrypt_ENTRIES 2L +#undef cz_crcs_ectester_standalone_libs_jni_NativeProvider_TomCrypt_serialVersionUID +#define cz_crcs_ectester_standalone_libs_jni_NativeProvider_TomCrypt_serialVersionUID 4112578634029874840LL +#undef cz_crcs_ectester_standalone_libs_jni_NativeProvider_TomCrypt_serialVersionUID +#define cz_crcs_ectester_standalone_libs_jni_NativeProvider_TomCrypt_serialVersionUID -4298000515446427739LL /* - * Class: cz_crcs_ectester_standalone_libs_jni_TomCryptProvider + * Class: cz_crcs_ectester_standalone_libs_jni_NativeProvider_TomCrypt * Method: setup * Signature: ()V */ -JNIEXPORT void JNICALL Java_cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_setup +JNIEXPORT void JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeProvider_00024TomCrypt_setup (JNIEnv *, jobject); #ifdef __cplusplus diff --git a/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c index 43ae06be..db1de885 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c +++ b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c @@ -4,7 +4,7 @@ #include JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_createProvider(JNIEnv *env, jobject this) { - jclass provider_class = (*env)->FindClass(env, "cz/crcs/ectester/standalone/libs/jni/TomCryptProvider"); + jclass provider_class = (*env)->FindClass(env, "cz/crcs/ectester/standalone/libs/jni/NativeProvider$TomCrypt"); jmethodID init = (*env)->GetMethodID(env, provider_class, "", "(Ljava/lang/String;DLjava/lang/String;)V"); if (init == NULL) { @@ -15,8 +15,23 @@ JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_crea return (*env)->NewObject(env, provider_class, init, name, version, name); } -JNIEXPORT void JNICALL Java_cz_crcs_ectester_standalone_libs_jni_TomCryptProvider_setup(JNIEnv *env, jobject this) { +JNIEXPORT void JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeProvider_00024TomCrypt_setup(JNIEnv *env, jobject this) { + + /* Initialize libtommath as the math lib. */ ltc_mp = ltm_desc; + + jclass provider_class = (*env)->FindClass(env, "cz/crcs/ectester/standalone/libs/jni/NativeProvider$TomCrypt"); + + jmethodID put = (*env)->GetMethodID(env, provider_class, "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"); + if (put == NULL) { + return; + } + const ltc_ecc_set_type * curve = ltc_ecc_sets; + while (curve->name != NULL) { + printf("%s\n", curve->name); + curve++; + } + /* Just test ecc key generation at this time. */ ecc_key mykey; prng_state prng; From 03265f4cf09b7bb59c09af722b8f44445a635d83 Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 29 Nov 2017 02:22:30 +0100 Subject: [PATCH 31/91] Add listing of supported curves to standalone libs. --- build-standalone.xml | 4 +- nbproject/reader/project.properties | 2 +- nbproject/standalone/project.properties | 2 +- .../standalone/ECTesterStandalone.java | 5 +++ .../standalone/libs/BouncyCastleLib.java | 14 +++++++ .../ectester/standalone/libs/ECLibrary.java | 2 + .../ectester/standalone/libs/SunECLib.java | 14 +++++++ .../ectester/standalone/libs/TomcryptLib.java | 4 ++ .../standalone/libs/jni/NativeProvider.java | 8 ++-- .../ectester/standalone/libs/jni/native.h | 8 ++++ .../ectester/standalone/libs/jni/tomcrypt.c | 41 +++++++++++-------- 11 files changed, 78 insertions(+), 26 deletions(-) diff --git a/build-standalone.xml b/build-standalone.xml index 300eec82..6e65c679 100644 --- a/build-standalone.xml +++ b/build-standalone.xml @@ -76,10 +76,10 @@ - + - + diff --git a/nbproject/reader/project.properties b/nbproject/reader/project.properties index d372fd5e..21441b3c 100644 --- a/nbproject/reader/project.properties +++ b/nbproject/reader/project.properties @@ -6,7 +6,7 @@ annotation.processing.source.output=${build.generated.sources.dir}/ap-source-out application.title=ECTesterReader application.vendor=xsvenda build.classes.dir=${build.dir}/classes -build.classes.excludes=**/*.java,**/*.form,**/*.c,**/*.h,**/*.a +build.classes.excludes=**/*.java,**/*.form,**/*.c,**/*.h,**/*.a,**/*.o,**/Makefile # This directory is removed when the project is cleaned: build.dir=build build.generated.dir=${build.dir}/generated diff --git a/nbproject/standalone/project.properties b/nbproject/standalone/project.properties index 7714914d..9fed4c25 100644 --- a/nbproject/standalone/project.properties +++ b/nbproject/standalone/project.properties @@ -6,7 +6,7 @@ annotation.processing.source.output=${build.generated.sources.dir}/ap-source-out application.title=ECTesterStandalone application.vendor=xsvenda build.classes.dir=${build.dir}/classes -build.classes.excludes=**/*.java,**/*.form,**/*.c,**/*.h,**/*.a +build.classes.excludes=**/*.java,**/*.form,**/*.c,**/*.h,**/*.a,**/*.o,**/Makefile # This directory is removed when the project is cleaned: build.dir=build build.generated.dir=${build.dir}/generated diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index de9953a4..9fca2b6c 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -174,6 +174,11 @@ private void listLibraries() { if (!eckas.isEmpty()) { System.out.println("\t\t- Signatures: " + String.join(",", sigs.stream().map(SignatureIdent::getName).collect(Collectors.toList()))); } + Set curves = lib.getCurves(); + if (!curves.isEmpty()) { + System.out.println("\t\t- Curves: " + String.join(",", curves)); + } + System.out.println(); } } } diff --git a/src/cz/crcs/ectester/standalone/libs/BouncyCastleLib.java b/src/cz/crcs/ectester/standalone/libs/BouncyCastleLib.java index aaf76bec..c6600f97 100644 --- a/src/cz/crcs/ectester/standalone/libs/BouncyCastleLib.java +++ b/src/cz/crcs/ectester/standalone/libs/BouncyCastleLib.java @@ -1,7 +1,12 @@ package cz.crcs.ectester.standalone.libs; +import org.bouncycastle.jce.ECNamedCurveTable; import org.bouncycastle.jce.provider.BouncyCastleProvider; +import java.util.Enumeration; +import java.util.Set; +import java.util.TreeSet; + /** * @author Jan Jancar johny@neuromancer.sk */ @@ -11,4 +16,13 @@ public BouncyCastleLib() { super(new BouncyCastleProvider()); } + @Override + public Set getCurves() { + Set result = new TreeSet<>(); + Enumeration names = ECNamedCurveTable.getNames(); + while (names.hasMoreElements()) { + result.add((String) names.nextElement()); + } + return result; + } } diff --git a/src/cz/crcs/ectester/standalone/libs/ECLibrary.java b/src/cz/crcs/ectester/standalone/libs/ECLibrary.java index 1e73e61a..0f819783 100644 --- a/src/cz/crcs/ectester/standalone/libs/ECLibrary.java +++ b/src/cz/crcs/ectester/standalone/libs/ECLibrary.java @@ -14,6 +14,8 @@ public interface ECLibrary { boolean isInitialized(); + Set getCurves(); + Set getKAs(); Set getSigs(); diff --git a/src/cz/crcs/ectester/standalone/libs/SunECLib.java b/src/cz/crcs/ectester/standalone/libs/SunECLib.java index b64b7406..3aec842e 100644 --- a/src/cz/crcs/ectester/standalone/libs/SunECLib.java +++ b/src/cz/crcs/ectester/standalone/libs/SunECLib.java @@ -2,6 +2,9 @@ import sun.security.ec.SunEC; +import java.util.Set; +import java.util.TreeSet; + /** * @author Jan Jancar johny@neuromancer.sk */ @@ -11,4 +14,15 @@ public SunECLib() { super(new SunEC()); } + @Override + public Set getCurves() { + String curves = provider.get("AlgorithmParameters.EC SupportedCurves").toString(); + String[] split = curves.split("\\|"); + Set result = new TreeSet<>(); + for (String curve : split) { + String body = curve.split(",")[0].substring(1); + result.add(body); + } + return result; + } } diff --git a/src/cz/crcs/ectester/standalone/libs/TomcryptLib.java b/src/cz/crcs/ectester/standalone/libs/TomcryptLib.java index 49e810c1..78db00e3 100644 --- a/src/cz/crcs/ectester/standalone/libs/TomcryptLib.java +++ b/src/cz/crcs/ectester/standalone/libs/TomcryptLib.java @@ -1,6 +1,7 @@ package cz.crcs.ectester.standalone.libs; import java.security.Provider; +import java.util.Set; /** * @author Jan Jancar johny@neuromancer.sk @@ -13,4 +14,7 @@ public TomcryptLib() { @Override native Provider createProvider(); + + @Override + public native Set getCurves(); } diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeProvider.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeProvider.java index 53f8b3c9..a2233e20 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/NativeProvider.java +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeProvider.java @@ -12,11 +12,9 @@ public abstract class NativeProvider extends Provider { public NativeProvider(String name, double version, String info) { super(name, version, info); - AccessController.doPrivileged(new PrivilegedAction() { - public Object run() { - setup(); - return null; - } + AccessController.doPrivileged((PrivilegedAction) () -> { + setup(); + return null; }); } diff --git a/src/cz/crcs/ectester/standalone/libs/jni/native.h b/src/cz/crcs/ectester/standalone/libs/jni/native.h index e4e5009d..e6077388 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/native.h +++ b/src/cz/crcs/ectester/standalone/libs/jni/native.h @@ -15,6 +15,14 @@ extern "C" { JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_createProvider (JNIEnv *, jobject); +/* + * Class: cz_crcs_ectester_standalone_libs_TomcryptLib + * Method: getCurves + * Signature: ()Ljava/util/Set; + */ +JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_getCurves + (JNIEnv *, jobject); + #ifdef __cplusplus } #endif diff --git a/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c index db1de885..7f8f3032 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c +++ b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c @@ -7,49 +7,56 @@ JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_crea jclass provider_class = (*env)->FindClass(env, "cz/crcs/ectester/standalone/libs/jni/NativeProvider$TomCrypt"); jmethodID init = (*env)->GetMethodID(env, provider_class, "", "(Ljava/lang/String;DLjava/lang/String;)V"); - if (init == NULL) { - return NULL; - } + jstring name = (*env)->NewStringUTF(env, "libtomcrypt " SCRYPT); double version = strtod(SCRYPT, NULL); + return (*env)->NewObject(env, provider_class, init, name, version, name); } JNIEXPORT void JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeProvider_00024TomCrypt_setup(JNIEnv *env, jobject this) { - /* Initialize libtommath as the math lib. */ ltc_mp = ltm_desc; jclass provider_class = (*env)->FindClass(env, "cz/crcs/ectester/standalone/libs/jni/NativeProvider$TomCrypt"); jmethodID put = (*env)->GetMethodID(env, provider_class, "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"); - if (put == NULL) { - return; - } - const ltc_ecc_set_type * curve = ltc_ecc_sets; - while (curve->name != NULL) { - printf("%s\n", curve->name); - curve++; - } - /* Just test ecc key generation at this time. */ +/* *//* Just test ecc key generation at this time. *//* ecc_key mykey; prng_state prng; int err; - /* register yarrow */ + *//* register yarrow *//* if (register_prng(&yarrow_desc) == -1) { printf("Error registering Yarrow\n"); return; } - /* setup the PRNG */ + *//* setup the PRNG *//* if ((err = rng_make_prng(128, find_prng("yarrow"), &prng, NULL)) != CRYPT_OK) { printf("Error setting up PRNG, %s\n", error_to_string(err)); return; } - /* make a 192-bit ECC key */ + *//* make a 192-bit ECC key *//* if ((err = ecc_make_key(&prng, find_prng("yarrow"), 24, &mykey)) != CRYPT_OK) { printf("Error making key: %s\n", error_to_string(err)); return; } - return; + return;*/ +} + +JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_getCurves(JNIEnv *env, jobject this) { + jclass hash_set_class = (*env)->FindClass(env, "java/util/TreeSet"); + + jmethodID hash_set_ctr = (*env)->GetMethodID(env, hash_set_class, "", "()V"); + jmethodID hash_set_add = (*env)->GetMethodID(env, hash_set_class, "add", "(Ljava/lang/Object;)Z"); + + jobject result = (*env)->NewObject(env, hash_set_class, hash_set_ctr); + const ltc_ecc_set_type * curve = ltc_ecc_sets; + while (curve->size != 0) { + jstring curve_name = (*env)->NewStringUTF(env, curve->name); + (*env)->CallBooleanMethod(env, result, hash_set_add, curve_name); + curve++; + } + + return result; } \ No newline at end of file From 80fb4a2dcc45ef66bf476e260b1107e0fa96b280 Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 29 Nov 2017 02:52:22 +0100 Subject: [PATCH 32/91] Sketch out native SPI classes. --- .../standalone/ECTesterStandalone.java | 9 ++-- .../libs/jni/NativeKeyAgreementSpi.java | 46 +++++++++++++++++ .../libs/jni/NativeKeyPairGeneratorSpi.java | 31 ++++++++++++ .../libs/jni/NativeSignatureSpi.java | 49 +++++++++++++++++++ .../ectester/standalone/libs/jni/tomcrypt.c | 35 +++++-------- 5 files changed, 143 insertions(+), 27 deletions(-) create mode 100644 src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java create mode 100644 src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java create mode 100644 src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index 9fca2b6c..8125485c 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -59,6 +59,9 @@ private void run(String[] args) { return; } + for (ECLibrary lib : libs) { + lib.initialize(); + } cfg = new Config(libs); if (!cfg.readOptions(cli)) { @@ -66,10 +69,6 @@ private void run(String[] args) { } dataStore = new EC_Store(); - for (ECLibrary lib : libs) { - lib.initialize(); - } - if (cli.isNext("list-libs")) { listLibraries(); } else if (cli.isNext("list-data")) { @@ -171,7 +170,7 @@ private void listLibraries() { System.out.println("\t\t- KeyAgreements: " + String.join(",", eckas.stream().map(KeyAgreementIdent::getName).collect(Collectors.toList()))); } Set sigs = lib.getSigs(); - if (!eckas.isEmpty()) { + if (!sigs.isEmpty()) { System.out.println("\t\t- Signatures: " + String.join(",", sigs.stream().map(SignatureIdent::getName).collect(Collectors.toList()))); } Set curves = lib.getCurves(); diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java new file mode 100644 index 00000000..d1b1f42f --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java @@ -0,0 +1,46 @@ +package cz.crcs.ectester.standalone.libs.jni; + +import javax.crypto.KeyAgreementSpi; +import javax.crypto.SecretKey; +import javax.crypto.ShortBufferException; +import java.security.*; +import java.security.spec.AlgorithmParameterSpec; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public abstract class NativeKeyAgreementSpi extends KeyAgreementSpi { + @Override + protected void engineInit(Key key, SecureRandom random) throws InvalidKeyException { + + } + + @Override + protected void engineInit(Key key, AlgorithmParameterSpec params, SecureRandom random) throws InvalidKeyException, InvalidAlgorithmParameterException { + + } + + @Override + protected Key engineDoPhase(Key key, boolean lastPhase) throws InvalidKeyException, IllegalStateException { + return null; + } + + @Override + protected byte[] engineGenerateSecret() throws IllegalStateException { + return new byte[0]; + } + + @Override + protected int engineGenerateSecret(byte[] sharedSecret, int offset) throws IllegalStateException, ShortBufferException { + return 0; + } + + @Override + protected SecretKey engineGenerateSecret(String algorithm) throws IllegalStateException, NoSuchAlgorithmException, InvalidKeyException { + return null; + } + + public static class TomCrypt extends NativeKeyAgreementSpi { + + } +} diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java new file mode 100644 index 00000000..6b4e5e04 --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java @@ -0,0 +1,31 @@ +package cz.crcs.ectester.standalone.libs.jni; + +import java.security.InvalidAlgorithmParameterException; +import java.security.KeyPair; +import java.security.KeyPairGeneratorSpi; +import java.security.SecureRandom; +import java.security.spec.AlgorithmParameterSpec; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public abstract class NativeKeyPairGeneratorSpi extends KeyPairGeneratorSpi { + @Override + public void initialize(int keysize, SecureRandom random) { + + } + + @Override + public void initialize(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException { + + } + + @Override + public KeyPair generateKeyPair() { + return null; + } + + public static class TomCrypt extends NativeKeyPairGeneratorSpi { + + } +} diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java new file mode 100644 index 00000000..0c6332ee --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java @@ -0,0 +1,49 @@ +package cz.crcs.ectester.standalone.libs.jni; + +import java.security.*; + +public abstract class NativeSignatureSpi extends SignatureSpi { + @Override + protected void engineInitVerify(PublicKey publicKey) throws InvalidKeyException { + + } + + @Override + protected void engineInitSign(PrivateKey privateKey) throws InvalidKeyException { + + } + + @Override + protected void engineUpdate(byte b) throws SignatureException { + + } + + @Override + protected void engineUpdate(byte[] b, int off, int len) throws SignatureException { + + } + + @Override + protected byte[] engineSign() throws SignatureException { + return new byte[0]; + } + + @Override + protected boolean engineVerify(byte[] sigBytes) throws SignatureException { + return false; + } + + @Override + protected void engineSetParameter(String param, Object value) throws InvalidParameterException { + + } + + @Override + protected Object engineGetParameter(String param) throws InvalidParameterException { + return null; + } + + public static class TomCrypt extends NativeSignatureSpi { + + } +} diff --git a/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c index 7f8f3032..f59c1bdf 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c +++ b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c @@ -20,28 +20,19 @@ JNIEXPORT void JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeProvider_ jclass provider_class = (*env)->FindClass(env, "cz/crcs/ectester/standalone/libs/jni/NativeProvider$TomCrypt"); - jmethodID put = (*env)->GetMethodID(env, provider_class, "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"); - -/* *//* Just test ecc key generation at this time. *//* - ecc_key mykey; - prng_state prng; - int err; - *//* register yarrow *//* - if (register_prng(&yarrow_desc) == -1) { - printf("Error registering Yarrow\n"); - return; - } - *//* setup the PRNG *//* - if ((err = rng_make_prng(128, find_prng("yarrow"), &prng, NULL)) != CRYPT_OK) { - printf("Error setting up PRNG, %s\n", error_to_string(err)); - return; - } - *//* make a 192-bit ECC key *//* - if ((err = ecc_make_key(&prng, find_prng("yarrow"), 24, &mykey)) != CRYPT_OK) { - printf("Error making key: %s\n", error_to_string(err)); - return; - } - return;*/ + jmethodID provider_put = (*env)->GetMethodID(env, provider_class, "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"); + + jstring ec = (*env)->NewStringUTF(env, "KeyPairGenerator.EC"); + jstring ec_value = (*env)->NewStringUTF(env, "cz.crcs.ectester.standalone.libs.jni.NativeKeyPairGeneratorSpi$TomCrypt"); + (*env)->CallObjectMethod(env, this, provider_put, ec, ec_value); + + jstring ecdh = (*env)->NewStringUTF(env, "KeyAgreement.ECDH"); + jstring ecdh_value = (*env)->NewStringUTF(env, "cz.crcs.ectester.standalone.libs.jni.NativeKeyAgreementSpi$TomCrypt"); + (*env)->CallObjectMethod(env, this, provider_put, ecdh, ecdh_value); + + jstring ecdsa = (*env)->NewStringUTF(env, "Signature.ECDSA"); + jstring ecdsa_value = (*env)->NewStringUTF(env, "cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$TomCrypt"); + (*env)->CallObjectMethod(env, this, provider_put, ecdsa, ecdsa_value); } JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_getCurves(JNIEnv *env, jobject this) { From 9250f269d6a8ffa7f3714d60a0437a112ad7a924 Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 29 Nov 2017 02:56:32 +0100 Subject: [PATCH 33/91] Fix Travis. --- .travis.yml | 7 +++++++ build-standalone.xml | 17 ++++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index d599dfb8..b95b1654 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,10 +1,17 @@ +addons: + apt: + packages: + - libtomcrypt-dev + - libtommath-dev language: java jdk: - oraclejdk8 + script: - ant -f build-applet.xml build - ant -f build-reader.xml package - ant -f build-standalone.xml package + deploy: provider: releases api_key: diff --git a/build-standalone.xml b/build-standalone.xml index 6e65c679..a745ca9d 100644 --- a/build-standalone.xml +++ b/build-standalone.xml @@ -71,16 +71,27 @@ nbproject/build-impl.xml file. --> - + + + + + + + - + + + + - + + From 5026cc9f03f11fc2a473124e32867f3302f901f7 Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 29 Nov 2017 20:43:57 +0100 Subject: [PATCH 34/91] Implement KeyPairGeneration for LibTomCrypt. --- build-standalone.xml | 6 +- src/cz/crcs/ectester/common/util/ECUtil.java | 95 +++++- .../standalone/ECTesterStandalone.java | 3 +- .../ectester/standalone/libs/jni/Makefile | 4 +- .../libs/jni/NativeECPrivateKey.java | 56 ++++ .../libs/jni/NativeECPublicKey.java | 57 ++++ .../libs/jni/NativeKeyPairGeneratorSpi.java | 57 +++- .../ectester/standalone/libs/jni/native.h | 65 ++++ .../ectester/standalone/libs/jni/tomcrypt.c | 299 +++++++++++++++++- 9 files changed, 626 insertions(+), 16 deletions(-) create mode 100644 src/cz/crcs/ectester/standalone/libs/jni/NativeECPrivateKey.java create mode 100644 src/cz/crcs/ectester/standalone/libs/jni/NativeECPublicKey.java diff --git a/build-standalone.xml b/build-standalone.xml index a745ca9d..7261eee7 100644 --- a/build-standalone.xml +++ b/build-standalone.xml @@ -71,7 +71,7 @@ nbproject/build-impl.xml file. --> - + @@ -87,6 +87,7 @@ + @@ -96,6 +97,9 @@ + + + diff --git a/src/cz/crcs/ectester/common/util/ECUtil.java b/src/cz/crcs/ectester/common/util/ECUtil.java index 713effef..80ba34ee 100644 --- a/src/cz/crcs/ectester/common/util/ECUtil.java +++ b/src/cz/crcs/ectester/common/util/ECUtil.java @@ -1,7 +1,7 @@ package cz.crcs.ectester.common.util; import java.math.BigInteger; -import java.security.spec.ECPoint; +import java.security.spec.*; /** * @author Jan Jancar johny@neuromancer.sk @@ -34,4 +34,97 @@ public static byte[] toX962Hybrid(ECPoint point) { byte marker = (byte) (0x06 | point.getAffineY().mod(BigInteger.valueOf(2)).byteValue()); return ByteUtil.concatenate(new byte[]{marker}, x, y); } + + private static boolean isResidue(BigInteger a, BigInteger p) { + BigInteger exponent = p.subtract(BigInteger.ONE).divide(BigInteger.valueOf(2)); + BigInteger result = a.modPow(exponent, p); + return result.intValueExact() == 1; + } + + private static BigInteger modSqrt(BigInteger a, BigInteger p) { + BigInteger q = p.subtract(BigInteger.ONE); + int s = 0; + while (q.mod(BigInteger.valueOf(2)).equals(BigInteger.ZERO)) { + q = q.divide(BigInteger.valueOf(2)); + s++; + } + + BigInteger z = BigInteger.ONE; + do { + z = z.add(BigInteger.ONE); + } while (isResidue(z, p)); + + BigInteger m = BigInteger.valueOf(s); + BigInteger c = z.modPow(q, p); + BigInteger t = a.modPow(q, p); + BigInteger rExponent = q.add(BigInteger.ONE).divide(BigInteger.valueOf(2)); + BigInteger r = a.modPow(rExponent, p); + + while (!t.equals(BigInteger.ONE)) { + int i = 0; + BigInteger exponent; + do { + exponent = BigInteger.valueOf(2).pow(++i); + } while (!t.modPow(exponent, p).equals(BigInteger.ONE)); + + BigInteger twoExponent = m.subtract(BigInteger.valueOf(i + 1)); + BigInteger b = c.modPow(BigInteger.valueOf(2).modPow(twoExponent, p), p); + m = BigInteger.valueOf(i); + c = b.modPow(BigInteger.valueOf(2), p); + t = t.multiply(c).mod(p); + r = r.multiply(b).mod(p); + } + return r; + } + + public static ECPoint fromX962(byte[] data, EllipticCurve curve) { + if (data == null) { + return null; + } + if (data[0] == 0x04 || data[0] == 0x06 || data[0] == 0x07) { + int len = (data.length - 1) / 2; + byte[] xbytes = new byte[len]; + System.arraycopy(data, 1, xbytes, 0, len); + byte[] ybytes = new byte[len]; + System.arraycopy(data, 1 + len, ybytes, 0, len); + return new ECPoint(new BigInteger(xbytes), new BigInteger(ybytes)); + } else if (data[0] == 0x02 || data[0] == 0x03) { + if (curve == null) { + throw new IllegalArgumentException(); + } + byte[] xbytes = new byte[data.length - 1]; + System.arraycopy(data, 1, xbytes, 0, data.length - 1); + BigInteger x = new BigInteger(xbytes); + BigInteger a = curve.getA(); + BigInteger b = curve.getB(); + + ECField field = curve.getField(); + if (field instanceof ECFieldFp) { + BigInteger p = ((ECFieldFp) field).getP(); + BigInteger alpha = x.modPow(BigInteger.valueOf(3), p); + alpha = alpha.add(x.multiply(a)); + alpha = alpha.add(b); + + BigInteger beta = modSqrt(alpha, p); + if (beta.getLowestSetBit() == 0) { + // rightmost bit is one + if (data[0] == 0x02) { + beta = beta.negate(); + } + } else { + // rightmost bit is zero + if (data[0] == 0x03) { + beta = beta.negate(); + } + } + + return new ECPoint(x, beta); + } else if (field instanceof ECFieldF2m) { + + } + return null; + } else { + throw new IllegalArgumentException(); + } + } } diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index 8125485c..8605158f 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -23,6 +23,7 @@ import java.security.interfaces.ECPrivateKey; import java.security.interfaces.ECPublicKey; import java.security.spec.AlgorithmParameterSpec; +import java.security.spec.ECGenParameterSpec; import java.security.spec.ECParameterSpec; import java.util.*; import java.util.stream.Collectors; @@ -87,7 +88,7 @@ private void run(String[] args) { } catch (ParseException | IOException ex) { System.err.println(ex.getMessage()); - } catch (InvalidAlgorithmParameterException e) { + } catch (InvalidAlgorithmParameterException | InvalidParameterException e) { System.err.println("Invalid algorithm parameter: " + e.getMessage()); } catch (NoSuchAlgorithmException nsaex) { System.err.println("Algorithm not supported by the selected library: " + nsaex.getMessage()); diff --git a/src/cz/crcs/ectester/standalone/libs/jni/Makefile b/src/cz/crcs/ectester/standalone/libs/jni/Makefile index 837078c2..8750dd54 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/Makefile +++ b/src/cz/crcs/ectester/standalone/libs/jni/Makefile @@ -36,10 +36,10 @@ JNI_PLATFORMINCLUDEDIR ?= $(JNI_INCLUDEDIR)/$(JNI_PLATFORM) all: tomcrypt_provider.so tomcrypt_provider.so: tomcrypt.o - gcc -DLTM_DESC -DUSE_LTM -fPIC -shared -o $@ $< -ltommath -ltomcrypt + gcc -DLTM_DESC -DUSE_LTM -fPIC -g -shared -o $@ $< -ltommath -ltomcrypt %.o: %.c - gcc -fPIC -I"$(JNI_INCLUDEDIR)" -I"$(JNI_PLATFORMINCLUDEDIR)" -I. -c $< + gcc -fPIC -g -I"$(JNI_INCLUDEDIR)" -I"$(JNI_PLATFORMINCLUDEDIR)" -I. -c $< clean: rm -rf *.o diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeECPrivateKey.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeECPrivateKey.java new file mode 100644 index 00000000..359b6b02 --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeECPrivateKey.java @@ -0,0 +1,56 @@ +package cz.crcs.ectester.standalone.libs.jni; + +import org.bouncycastle.util.Arrays; + +import java.math.BigInteger; +import java.security.interfaces.ECPrivateKey; +import java.security.spec.ECParameterSpec; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public abstract class NativeECPrivateKey implements ECPrivateKey { + private String algorithm; + private String format; + + public NativeECPrivateKey(String algorithm, String format) { + this.algorithm = algorithm; + this.format = format; + } + + @Override + public String getAlgorithm() { + return algorithm; + } + + @Override + public String getFormat() { + return format; + } + + public static class TomCrypt extends NativeECPrivateKey { + private byte[] keyData; + private ECParameterSpec params; + + public TomCrypt(byte[] keyData, ECParameterSpec params) { + super("EC", "raw"); + this.keyData = keyData; + this.params = params; + } + + @Override + public BigInteger getS() { + return new BigInteger(keyData); + } + + @Override + public byte[] getEncoded() { + return Arrays.clone(keyData); + } + + @Override + public ECParameterSpec getParams() { + return params; + } + } +} diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeECPublicKey.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeECPublicKey.java new file mode 100644 index 00000000..c3791c4b --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeECPublicKey.java @@ -0,0 +1,57 @@ +package cz.crcs.ectester.standalone.libs.jni; + +import cz.crcs.ectester.common.util.ECUtil; +import org.bouncycastle.util.Arrays; + +import java.security.interfaces.ECPublicKey; +import java.security.spec.ECParameterSpec; +import java.security.spec.ECPoint; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public abstract class NativeECPublicKey implements ECPublicKey { + private String algorithm; + private String format; + + public NativeECPublicKey(String algorithm, String format) { + this.algorithm = algorithm; + this.format = format; + } + + @Override + public String getAlgorithm() { + return algorithm; + } + + @Override + public String getFormat() { + return format; + } + + public static class TomCrypt extends NativeECPublicKey { + private byte[] keyData; + private ECParameterSpec params; + + public TomCrypt(byte[] keyData, ECParameterSpec params) { + super("EC", "ANSI X9.62"); + this.keyData = keyData; + this.params = params; + } + + @Override + public ECPoint getW() { + return ECUtil.fromX962(keyData, params.getCurve()); + } + + @Override + public byte[] getEncoded() { + return Arrays.clone(keyData); + } + + @Override + public ECParameterSpec getParams() { + return params; + } + } +} diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java index 6b4e5e04..d2cc59dc 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java @@ -1,31 +1,74 @@ package cz.crcs.ectester.standalone.libs.jni; -import java.security.InvalidAlgorithmParameterException; -import java.security.KeyPair; -import java.security.KeyPairGeneratorSpi; -import java.security.SecureRandom; +import java.security.*; import java.security.spec.AlgorithmParameterSpec; /** * @author Jan Jancar johny@neuromancer.sk */ public abstract class NativeKeyPairGeneratorSpi extends KeyPairGeneratorSpi { + private int keysize; + private SecureRandom random; + private AlgorithmParameterSpec params; + private boolean useKeysize; + private boolean useParams; + @Override public void initialize(int keysize, SecureRandom random) { - + if (!keysizeSupported(keysize)) { + throw new InvalidParameterException("Keysize " + keysize + " not supported."); + } + this.keysize = keysize; + this.random = random; + this.useKeysize = true; + this.useParams = false; } @Override public void initialize(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException { - + if (!paramsSupported(params)) { + throw new InvalidAlgorithmParameterException("not supported."); + } + this.params = params; + this.random = random; + this.useParams = true; + this.useKeysize = false; } @Override public KeyPair generateKeyPair() { + if (useKeysize) { + return generate(keysize, random); + } else if (useParams) { + return generate(params, random); + } return null; } + abstract boolean keysizeSupported(int keysize); + + abstract boolean paramsSupported(AlgorithmParameterSpec params); + + abstract KeyPair generate(int keysize, SecureRandom random); + + abstract KeyPair generate(AlgorithmParameterSpec params, SecureRandom random); + public static class TomCrypt extends NativeKeyPairGeneratorSpi { - + + public TomCrypt() { + initialize(256, new SecureRandom()); + } + + @Override + native boolean keysizeSupported(int keysize); + + @Override + native boolean paramsSupported(AlgorithmParameterSpec params); + + @Override + native KeyPair generate(int keysize, SecureRandom random); + + @Override + native KeyPair generate(AlgorithmParameterSpec params, SecureRandom random); } } diff --git a/src/cz/crcs/ectester/standalone/libs/jni/native.h b/src/cz/crcs/ectester/standalone/libs/jni/native.h index e6077388..da3a89c4 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/native.h +++ b/src/cz/crcs/ectester/standalone/libs/jni/native.h @@ -60,3 +60,68 @@ JNIEXPORT void JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeProvider_ } #endif #endif +/* Header for class cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_TomCrypt */ + +#ifndef _Included_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_TomCrypt +#define _Included_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_TomCrypt +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_TomCrypt + * Method: keysizeSupported + * Signature: (I)Z + */ +JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024TomCrypt_keysizeSupported + (JNIEnv *, jobject, jint); + +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_TomCrypt + * Method: paramsSupported + * Signature: (Ljava/security/spec/AlgorithmParameterSpec;)Z + */ +JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024TomCrypt_paramsSupported + (JNIEnv *, jobject, jobject); + +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_TomCrypt + * Method: generate + * Signature: (ILjava/security/SecureRandom;)Ljava/security/KeyPair; + */ +JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024TomCrypt_generate__ILjava_security_SecureRandom_2 + (JNIEnv *, jobject, jint, jobject); + +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_TomCrypt + * Method: generate + * Signature: (Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)Ljava/security/KeyPair; + */ +JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024TomCrypt_generate__Ljava_security_spec_AlgorithmParameterSpec_2Ljava_security_SecureRandom_2 + (JNIEnv *, jobject, jobject, jobject); + +#ifdef __cplusplus +} +#endif +#endif +/* Header for class cz_crcs_ectester_standalone_libs_jni_NativeECPublicKey_TomCrypt */ + +#ifndef _Included_cz_crcs_ectester_standalone_libs_jni_NativeECPublicKey_TomCrypt +#define _Included_cz_crcs_ectester_standalone_libs_jni_NativeECPublicKey_TomCrypt +#ifdef __cplusplus +extern "C" { +#endif +#ifdef __cplusplus +} +#endif +#endif +/* Header for class cz_crcs_ectester_standalone_libs_jni_NativeECPrivateKey_TomCrypt */ + +#ifndef _Included_cz_crcs_ectester_standalone_libs_jni_NativeECPrivateKey_TomCrypt +#define _Included_cz_crcs_ectester_standalone_libs_jni_NativeECPrivateKey_TomCrypt +#ifdef __cplusplus +extern "C" { +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c index f59c1bdf..f7dedcef 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c +++ b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c @@ -1,12 +1,28 @@ #include "native.h" #include +#include #define LTM_DESC #include +static prng_state ltc_prng; +static jclass provider_class; +static jclass ec_parameter_spec_class; +static jclass ecgen_parameter_spec_class; +static jclass pubkey_class; +static jclass privkey_class; +static jclass keypair_class; +static jclass elliptic_curve_class; +static jclass fp_field_class; +static jclass f2m_field_class; +static jclass point_class; +static jclass biginteger_class; + JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_createProvider(JNIEnv *env, jobject this) { - jclass provider_class = (*env)->FindClass(env, "cz/crcs/ectester/standalone/libs/jni/NativeProvider$TomCrypt"); + /* Create the custom provider. */ + jclass local_provider_class = (*env)->FindClass(env, "cz/crcs/ectester/standalone/libs/jni/NativeProvider$TomCrypt"); + provider_class = (*env)->NewGlobalRef(env, local_provider_class); - jmethodID init = (*env)->GetMethodID(env, provider_class, "", "(Ljava/lang/String;DLjava/lang/String;)V"); + jmethodID init = (*env)->GetMethodID(env, local_provider_class, "", "(Ljava/lang/String;DLjava/lang/String;)V"); jstring name = (*env)->NewStringUTF(env, "libtomcrypt " SCRYPT); double version = strtod(SCRYPT, NULL); @@ -14,12 +30,11 @@ JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_crea return (*env)->NewObject(env, provider_class, init, name, version, name); } + JNIEXPORT void JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeProvider_00024TomCrypt_setup(JNIEnv *env, jobject this) { /* Initialize libtommath as the math lib. */ ltc_mp = ltm_desc; - jclass provider_class = (*env)->FindClass(env, "cz/crcs/ectester/standalone/libs/jni/NativeProvider$TomCrypt"); - jmethodID provider_put = (*env)->GetMethodID(env, provider_class, "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"); jstring ec = (*env)->NewStringUTF(env, "KeyPairGenerator.EC"); @@ -33,6 +48,47 @@ JNIEXPORT void JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeProvider_ jstring ecdsa = (*env)->NewStringUTF(env, "Signature.ECDSA"); jstring ecdsa_value = (*env)->NewStringUTF(env, "cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$TomCrypt"); (*env)->CallObjectMethod(env, this, provider_put, ecdsa, ecdsa_value); + + int err; + /* register yarrow */ + if (register_prng(&yarrow_desc) == -1) { + fprintf(stderr, "Error registering Yarrow\n"); + return; + } + /* setup the PRNG */ + if ((err = rng_make_prng(128, find_prng("yarrow"), <c_prng, NULL)) != CRYPT_OK) { + fprintf(stderr, "Error setting up PRNG, %s\n", error_to_string(err)); + } + + jclass local_ec_parameter_spec_class = (*env)->FindClass(env, "java/security/spec/ECParameterSpec"); + ec_parameter_spec_class = (*env)->NewGlobalRef(env, local_ec_parameter_spec_class); + + jclass local_ecgen_parameter_spec_class = (*env)->FindClass(env, "java/security/spec/ECGenParameterSpec"); + ecgen_parameter_spec_class = (*env)->NewGlobalRef(env, local_ecgen_parameter_spec_class); + + jclass local_pubkey_class = (*env)->FindClass(env, "cz/crcs/ectester/standalone/libs/jni/NativeECPublicKey$TomCrypt"); + pubkey_class = (*env)->NewGlobalRef(env, local_pubkey_class); + + jclass local_privkey_class = (*env)->FindClass(env, "cz/crcs/ectester/standalone/libs/jni/NativeECPrivateKey$TomCrypt"); + privkey_class = (*env)->NewGlobalRef(env, local_privkey_class); + + jclass local_keypair_class = (*env)->FindClass(env, "java/security/KeyPair"); + keypair_class = (*env)->NewGlobalRef(env, local_keypair_class); + + jclass local_elliptic_curve_class = (*env)->FindClass(env, "java/security/spec/EllipticCurve"); + elliptic_curve_class = (*env)->NewGlobalRef(env, local_elliptic_curve_class); + + jclass local_fp_field_class = (*env)->FindClass(env, "java/security/spec/ECFieldFp"); + fp_field_class = (*env)->NewGlobalRef(env, local_fp_field_class); + + jclass local_f2m_field_class = (*env)->FindClass(env, "java/security/spec/ECFieldF2m"); + f2m_field_class = (*env)->NewGlobalRef(env, local_f2m_field_class); + + jclass local_biginteger_class = (*env)->FindClass(env, "java/math/BigInteger"); + biginteger_class = (*env)->NewGlobalRef(env, local_biginteger_class); + + jclass local_point_class = (*env)->FindClass(env, "java/security/spec/ECPoint"); + point_class = (*env)->NewGlobalRef(env, local_point_class); } JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_getCurves(JNIEnv *env, jobject this) { @@ -50,4 +106,239 @@ JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_getC } return result; +} + +JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024TomCrypt_keysizeSupported(JNIEnv *env, jobject this, jint keysize){ + const ltc_ecc_set_type * curve = ltc_ecc_sets; + while (curve->size != 0) { + if (curve->size * 8 == keysize) { + return JNI_TRUE; + } + curve++; + } + + return JNI_FALSE; +} + +JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024TomCrypt_paramsSupported(JNIEnv *env, jobject this, jobject params){ + if (params == NULL) { + return JNI_FALSE; + } + + if ((*env)->IsInstanceOf(env, params, ec_parameter_spec_class)) { + jmethodID get_curve = (*env)->GetMethodID(env, ec_parameter_spec_class, "getCurve", "()Ljava/security/spec/EllipticCurve;"); + jobject curve = (*env)->CallObjectMethod(env, params, get_curve); + + jmethodID get_field = (*env)->GetMethodID(env, elliptic_curve_class, "getField", "()Ljava/security/spec/ECField;"); + jobject field = (*env)->CallObjectMethod(env, curve, get_field); + + if ((*env)->IsInstanceOf(env, field, fp_field_class)) { + jmethodID get_p = (*env)->GetMethodID(env, fp_field_class, "getP", "()Ljava/math/BigInteger;"); + jobject p = (*env)->CallObjectMethod(env, field, get_p); + + jmethodID get_a = (*env)->GetMethodID(env, elliptic_curve_class, "getA", "()Ljava/math/BigInteger;"); + jobject a = (*env)->CallObjectMethod(env, curve, get_a); + + jmethodID biginteger_valueof = (*env)->GetStaticMethodID(env, biginteger_class, "valueOf", "(J)Ljava/math/BigInteger;"); + jobject three = (*env)->CallStaticObjectMethod(env, biginteger_class, biginteger_valueof, (jlong)3); + + jmethodID biginteger_add = (*env)->GetMethodID(env, biginteger_class, "add", "(Ljava/math/BigInteger;)Ljava/math/BigInteger;"); + jobject a_3 = (*env)->CallObjectMethod(env, a, biginteger_add, three); + + jmethodID biginteger_equals = (*env)->GetMethodID(env, biginteger_class, "equals", "(Ljava/lang/Object;)Z"); + jboolean eq = (*env)->CallBooleanMethod(env, p, biginteger_equals, a_3); + return eq; + } else if ((*env)->IsInstanceOf(env, field, f2m_field_class)) { + return JNI_FALSE; + } else { + return JNI_FALSE; + } + } else if ((*env)->IsInstanceOf(env, params, ecgen_parameter_spec_class)) { + jmethodID get_name = (*env)->GetMethodID(env, ecgen_parameter_spec_class, "getName", "()Ljava/lang/String;"); + jstring name = (*env)->CallObjectMethod(env, params, get_name); + const char *utf_name = (*env)->GetStringUTFChars(env, name, NULL); + const ltc_ecc_set_type * curve = ltc_ecc_sets; + while (curve->size != 0) { + if (strcasecmp(utf_name, curve->name) == 0) { + (*env)->ReleaseStringUTFChars(env, name, utf_name); + return JNI_TRUE; + } + curve++; + } + return JNI_FALSE; + } else { + return JNI_FALSE; + } +} + +static jobject create_ec_param_spec(JNIEnv *env, const ltc_ecc_set_type *curve) { + jstring p_string = (*env)->NewStringUTF(env, curve->prime); + jmethodID biginteger_init = (*env)->GetMethodID(env, biginteger_class, "", "(Ljava/lang/String;I)V"); + jobject p = (*env)->NewObject(env, biginteger_class, biginteger_init, p_string, (jint) 16); + + jmethodID fp_field_init = (*env)->GetMethodID(env, fp_field_class, "", "(Ljava/math/BigInteger;)V"); + jobject field = (*env)->NewObject(env, fp_field_class, fp_field_init, p); + + jmethodID biginteger_subtract = (*env)->GetMethodID(env, biginteger_class, "subtract", "(Ljava/math/BigInteger;)Ljava/math/BigInteger;"); + jmethodID biginteger_valueof = (*env)->GetStaticMethodID(env, biginteger_class, "valueOf", "(J)Ljava/math/BigInteger;"); + jobject three = (*env)->CallStaticObjectMethod(env, biginteger_class, biginteger_valueof, (jlong) 3); + jobject a = (*env)->CallObjectMethod(env, p, biginteger_subtract, three); + + jstring b_string = (*env)->NewStringUTF(env, curve->B); + jobject b = (*env)->NewObject(env, biginteger_class, biginteger_init, b_string, (jint) 16); + + jmethodID elliptic_curve_init = (*env)->GetMethodID(env, elliptic_curve_class, "", "(Ljava/security/spec/ECField;Ljava/math/BigInteger;Ljava/math/BigInteger;)V"); + jobject elliptic_curve = (*env)->NewObject(env, elliptic_curve_class, elliptic_curve_init, field, a, b); + + jstring gx_string = (*env)->NewStringUTF(env, curve->Gx); + jstring gy_string = (*env)->NewStringUTF(env, curve->Gy); + jobject gx = (*env)->NewObject(env, biginteger_class, biginteger_init, gx_string, (jint) 16); + jobject gy = (*env)->NewObject(env, biginteger_class, biginteger_init, gy_string, (jint) 16); + + jmethodID point_init = (*env)->GetMethodID(env, point_class, "", "(Ljava/math/BigInteger;Ljava/math/BigInteger;)V"); + jobject g = (*env)->NewObject(env, point_class, point_init, gx, gy); + + jstring n_string = (*env)->NewStringUTF(env, curve->order); + jobject n = (*env)->NewObject(env, biginteger_class, biginteger_init, n_string, (jint) 16); + + jmethodID ec_parameter_spec_init = (*env)->GetMethodID(env, ec_parameter_spec_class, "", "(Ljava/security/spec/EllipticCurve;Ljava/security/spec/ECPoint;Ljava/math/BigInteger;I)V"); + return (*env)->NewObject(env, ec_parameter_spec_class, ec_parameter_spec_init, elliptic_curve, g, n, (jint) 1); +} + +static char *biginteger_to_hex(JNIEnv *env, jobject big, jint bytes) { + jmethodID to_string = (*env)->GetMethodID(env, biginteger_class, "toString", "(I)Ljava/lang/String;"); + jstring big_string = (*env)->CallObjectMethod(env, big, to_string, (jint) 16); + + jsize len = (*env)->GetStringUTFLength(env, big_string); + char raw_string[len]; + (*env)->GetStringUTFRegion(env, big_string, 0, len, raw_string); + + char *result = calloc(bytes, 2); + if (len >= bytes) { + return strncpy(result, raw_string, 2*bytes); + } else { + jsize diff = bytes - len; + for (jint i = 0; i < diff*2; ++i) { + result[i] = '0'; + } + return strncpy(result + diff*2, raw_string, 2*bytes); + } +} + +static ltc_ecc_set_type* create_curve(JNIEnv *env, jobject params) { + jmethodID get_curve = (*env)->GetMethodID(env, ec_parameter_spec_class, "getCurve", "()Ljava/security/spec/EllipticCurve;"); + jobject elliptic_curve = (*env)->CallObjectMethod(env, params, get_curve); + + jmethodID get_field = (*env)->GetMethodID(env, elliptic_curve_class, "getField", "()Ljava/security/spec/ECField;"); + jobject field = (*env)->CallObjectMethod(env, elliptic_curve, get_field); + + jmethodID get_bits = (*env)->GetMethodID(env, fp_field_class, "getFieldSize", "()I"); + jint bits = (*env)->CallIntMethod(env, field, get_bits); + jint bytes = (bits + (8 - bits % 8)) / 8; + + jmethodID get_b = (*env)->GetMethodID(env, elliptic_curve_class, "getB", "()Ljava/math/BigInteger;"); + jobject b = (*env)->CallObjectMethod(env, elliptic_curve, get_b); + + jmethodID get_p = (*env)->GetMethodID(env, fp_field_class, "getP", "()Ljava/math/BigInteger;"); + jobject p = (*env)->CallObjectMethod(env, field, get_p); + + jmethodID get_g = (*env)->GetMethodID(env, ec_parameter_spec_class, "getGenerator", "()Ljava/security/spec/ECPoint;"); + jobject g = (*env)->CallObjectMethod(env, params, get_g); + + jmethodID get_x = (*env)->GetMethodID(env, point_class, "getAffineX", "()Ljava/math/BigInteger;"); + jobject gx = (*env)->CallObjectMethod(env, g, get_x); + + jmethodID get_y = (*env)->GetMethodID(env, point_class, "getAffineY", "()Ljava/math/BigInteger;"); + jobject gy = (*env)->CallObjectMethod(env, g, get_y); + + jmethodID get_n = (*env)->GetMethodID(env, ec_parameter_spec_class, "getOrder", "()Ljava/math/BigInteger;"); + jobject n = (*env)->CallObjectMethod(env, params, get_n); + + ltc_ecc_set_type *curve = calloc(sizeof(ltc_ecc_set_type), 1); + curve->size = bytes; + curve->name = ""; + curve->prime = biginteger_to_hex(env, p, bytes); + curve->B = biginteger_to_hex(env, b, bytes); + curve->order = biginteger_to_hex(env, n, bytes); + curve->Gx = biginteger_to_hex(env, gx, bytes); + curve->Gy = biginteger_to_hex(env, gy, bytes); + + return curve; +} + +static jobject generate_from_curve(JNIEnv *env, const ltc_ecc_set_type *curve) { + ecc_key key; + int err; + if ((err = ecc_make_key_ex(<c_prng, find_prng("yarrow"), &key, curve)) != CRYPT_OK) { + printf("Error making key: %s\n", error_to_string(err)); + return NULL; + } + unsigned long key_len = 2*curve->size + 1; + jbyteArray pub_bytes = (*env)->NewByteArray(env, key_len); + jbyte *key_pub = (*env)->GetByteArrayElements(env, pub_bytes, NULL); + ecc_ansi_x963_export(&key, key_pub, &key_len); + (*env)->ReleaseByteArrayElements(env, pub_bytes, key_pub, 0); + + jobject ec_param_spec = create_ec_param_spec(env, curve); + + jobject ec_pub_param_spec = (*env)->NewLocalRef(env, ec_param_spec); + jmethodID ec_pub_init = (*env)->GetMethodID(env, pubkey_class, "", "([BLjava/security/spec/ECParameterSpec;)V"); + jobject pubkey = (*env)->NewObject(env, pubkey_class, ec_pub_init, pub_bytes, ec_param_spec); + + jbyteArray priv_bytes = (*env)->NewByteArray(env, curve->size); + jbyte *key_priv = (*env)->GetByteArrayElements(env, priv_bytes, NULL); + mp_to_unsigned_bin(key.k, key_priv); + (*env)->ReleaseByteArrayElements(env, priv_bytes, key_priv, 0); + + jobject ec_priv_param_spec = (*env)->NewLocalRef(env, ec_param_spec); + jmethodID ec_priv_init = (*env)->GetMethodID(env, privkey_class, "", "([BLjava/security/spec/ECParameterSpec;)V"); + jobject privkey = (*env)->NewObject(env, privkey_class, ec_priv_init, priv_bytes, ec_priv_param_spec); + + jmethodID keypair_init = (*env)->GetMethodID(env, keypair_class, "", "(Ljava/security/PublicKey;Ljava/security/PrivateKey;)V"); + + ecc_free(&key); + return (*env)->NewObject(env, keypair_class, keypair_init, pubkey, privkey); +} + +JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024TomCrypt_generate__ILjava_security_SecureRandom_2(JNIEnv *env, jobject this, jint keysize, jobject random){ + int key_bytes = keysize / 8; + + const ltc_ecc_set_type *curve = ltc_ecc_sets; + while (curve->size != 0) { + if (curve->size == key_bytes) { + break; + } + curve++; + } + + if (curve->size == 0) { + return NULL; + } + + return generate_from_curve(env, curve); +} + +JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024TomCrypt_generate__Ljava_security_spec_AlgorithmParameterSpec_2Ljava_security_SecureRandom_2(JNIEnv *env, jobject this, jobject params, jobject random){ + if ((*env)->IsInstanceOf(env, params, ec_parameter_spec_class)) { + ltc_ecc_set_type *curve = create_curve(env, params); + jobject result = generate_from_curve(env, curve); + free(curve); + return result; + } else if ((*env)->IsInstanceOf(env, params, ecgen_parameter_spec_class)) { + jmethodID get_name = (*env)->GetMethodID(env, ecgen_parameter_spec_class, "getName", "()Ljava/lang/String;"); + jstring name = (*env)->CallObjectMethod(env, params, get_name); + const char* utf_name = (*env)->GetStringUTFChars(env, name, NULL); + const ltc_ecc_set_type* curve = ltc_ecc_sets; + while (curve->size != 0) { + if (strcasecmp(utf_name, curve->name) == 0) { + break; + } + curve++; + } + (*env)->ReleaseStringUTFChars(env, name, utf_name); + + return generate_from_curve(env, curve); + } else { + return NULL; + } } \ No newline at end of file From 715dd7f068dfc9e5b90ce0c1e2d3aad0a9fe982a Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 30 Nov 2017 16:06:35 +0100 Subject: [PATCH 35/91] Implement ECDH for TomCrypt. --- build-standalone.xml | 1 + .../ectester/standalone/libs/TomcryptLib.java | 2 +- .../ectester/standalone/libs/jni/Makefile | 4 +- .../libs/jni/NativeKeyAgreementSpi.java | 62 +++++++++++++++++-- .../ectester/standalone/libs/jni/native.h | 19 ++++++ .../ectester/standalone/libs/jni/tomcrypt.c | 52 +++++++++++++++- 6 files changed, 130 insertions(+), 10 deletions(-) diff --git a/build-standalone.xml b/build-standalone.xml index 7261eee7..8098ce2e 100644 --- a/build-standalone.xml +++ b/build-standalone.xml @@ -100,6 +100,7 @@ + diff --git a/src/cz/crcs/ectester/standalone/libs/TomcryptLib.java b/src/cz/crcs/ectester/standalone/libs/TomcryptLib.java index 78db00e3..57b273a0 100644 --- a/src/cz/crcs/ectester/standalone/libs/TomcryptLib.java +++ b/src/cz/crcs/ectester/standalone/libs/TomcryptLib.java @@ -9,7 +9,7 @@ public class TomcryptLib extends NativeECLibrary { public TomcryptLib() { - super("tomcrypt_provider", "tommath", "tomcrypt"); + super("tomcrypt_provider", "tommath", "tomcrypt"); } @Override diff --git a/src/cz/crcs/ectester/standalone/libs/jni/Makefile b/src/cz/crcs/ectester/standalone/libs/jni/Makefile index 8750dd54..b60452f2 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/Makefile +++ b/src/cz/crcs/ectester/standalone/libs/jni/Makefile @@ -36,10 +36,10 @@ JNI_PLATFORMINCLUDEDIR ?= $(JNI_INCLUDEDIR)/$(JNI_PLATFORM) all: tomcrypt_provider.so tomcrypt_provider.so: tomcrypt.o - gcc -DLTM_DESC -DUSE_LTM -fPIC -g -shared -o $@ $< -ltommath -ltomcrypt + gcc -fPIC -g -shared -o $@ $< -L. -ltommath -ltomcrypt %.o: %.c - gcc -fPIC -g -I"$(JNI_INCLUDEDIR)" -I"$(JNI_PLATFORMINCLUDEDIR)" -I. -c $< + gcc -DLTM_DESC -fPIC -g -I"$(JNI_INCLUDEDIR)" -I"$(JNI_PLATFORMINCLUDEDIR)" -I. -c $< clean: rm -rf *.o diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java index d1b1f42f..fee0ea82 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java @@ -1,46 +1,98 @@ package cz.crcs.ectester.standalone.libs.jni; +import cz.crcs.ectester.common.util.ECUtil; + import javax.crypto.KeyAgreementSpi; import javax.crypto.SecretKey; import javax.crypto.ShortBufferException; import java.security.*; +import java.security.interfaces.ECPrivateKey; +import java.security.interfaces.ECPublicKey; import java.security.spec.AlgorithmParameterSpec; +import java.security.spec.ECParameterSpec; /** * @author Jan Jancar johny@neuromancer.sk */ public abstract class NativeKeyAgreementSpi extends KeyAgreementSpi { + private ECPrivateKey privateKey; + private ECPublicKey publicKey; + private ECParameterSpec params; + @Override protected void engineInit(Key key, SecureRandom random) throws InvalidKeyException { - + if (!(key instanceof ECPrivateKey)) { + throw new InvalidKeyException + ("Key must be instance of PrivateKey"); + } + privateKey = (ECPrivateKey) key; + this.params = privateKey.getParams(); } @Override protected void engineInit(Key key, AlgorithmParameterSpec params, SecureRandom random) throws InvalidKeyException, InvalidAlgorithmParameterException { - + if (!(params instanceof ECParameterSpec)) { + throw new InvalidAlgorithmParameterException(); + } + engineInit(key, random); + this.params = (ECParameterSpec) params; } @Override protected Key engineDoPhase(Key key, boolean lastPhase) throws InvalidKeyException, IllegalStateException { + if (privateKey == null) { + throw new IllegalStateException("Not initialized"); + } + if (publicKey != null) { + throw new IllegalStateException("Phase already executed"); + } + if (!lastPhase) { + throw new IllegalStateException + ("Only two party agreement supported, lastPhase must be true"); + } + if (!(key instanceof ECPublicKey)) { + throw new InvalidKeyException + ("Key must be a PublicKey with algorithm EC"); + } + ECParameterSpec publicParams = ((ECPublicKey) key).getParams(); + if (!(params.getCurve().equals(publicParams.getCurve()) && + params.getGenerator().equals(publicParams.getGenerator()) && + params.getOrder().equals(publicParams.getOrder()) && + params.getCofactor() == publicParams.getCofactor())) { + throw new IllegalStateException("Mismatched parameters."); + } + publicKey = (ECPublicKey) key; return null; } @Override protected byte[] engineGenerateSecret() throws IllegalStateException { - return new byte[0]; + byte[] pubkey = ECUtil.toX962Uncompressed(publicKey.getW()); + byte[] privkey = privateKey.getS().toByteArray(); + return generateSecret(pubkey, privkey, params); } @Override protected int engineGenerateSecret(byte[] sharedSecret, int offset) throws IllegalStateException, ShortBufferException { - return 0; + byte[] secret = engineGenerateSecret(); + if (sharedSecret.length < offset + secret.length) { + throw new ShortBufferException(); + } + System.arraycopy(secret, 0, sharedSecret, offset, secret.length); + return secret.length; } @Override protected SecretKey engineGenerateSecret(String algorithm) throws IllegalStateException, NoSuchAlgorithmException, InvalidKeyException { - return null; + throw new NoSuchAlgorithmException(algorithm); } + abstract byte[] generateSecret(byte[] pubkey, byte[] privkey, ECParameterSpec params); + + public static class TomCrypt extends NativeKeyAgreementSpi { + @Override + native byte[] generateSecret(byte[] pubkey, byte[] privkey, ECParameterSpec params); } } diff --git a/src/cz/crcs/ectester/standalone/libs/jni/native.h b/src/cz/crcs/ectester/standalone/libs/jni/native.h index da3a89c4..7f63f616 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/native.h +++ b/src/cz/crcs/ectester/standalone/libs/jni/native.h @@ -125,3 +125,22 @@ extern "C" { } #endif #endif +/* Header for class cz_crcs_ectester_standalone_libs_jni_NativeKeyAgreementSpi_TomCrypt */ + +#ifndef _Included_cz_crcs_ectester_standalone_libs_jni_NativeKeyAgreementSpi_TomCrypt +#define _Included_cz_crcs_ectester_standalone_libs_jni_NativeKeyAgreementSpi_TomCrypt +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeKeyAgreementSpi_TomCrypt + * Method: generateSecret + * Signature: ([B[BLjava/security/spec/ECParameterSpec;)[B + */ +JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyAgreementSpi_00024TomCrypt_generateSecret + (JNIEnv *, jobject, jbyteArray, jbyteArray, jobject); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c index f7dedcef..b43b05a6 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c +++ b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c @@ -1,7 +1,6 @@ #include "native.h" #include #include -#define LTM_DESC #include static prng_state ltc_prng; @@ -287,7 +286,7 @@ static jobject generate_from_curve(JNIEnv *env, const ltc_ecc_set_type *curve) { jbyteArray priv_bytes = (*env)->NewByteArray(env, curve->size); jbyte *key_priv = (*env)->GetByteArrayElements(env, priv_bytes, NULL); - mp_to_unsigned_bin(key.k, key_priv); + ltc_mp.unsigned_write(key.k, key_priv); (*env)->ReleaseByteArrayElements(env, priv_bytes, key_priv, 0); jobject ec_priv_param_spec = (*env)->NewLocalRef(env, ec_param_spec); @@ -341,4 +340,53 @@ JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPai } else { return NULL; } +} + +JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyAgreementSpi_00024TomCrypt_generateSecret(JNIEnv *env, jobject this, jbyteArray pubkey, jbyteArray privkey, jobject params){ + ltc_ecc_set_type *curve = create_curve(env, params); + + jsize pub_size = (*env)->GetArrayLength(env, pubkey); + jbyte *pub_data = (*env)->GetByteArrayElements(env, pubkey, NULL); + jsize pub_half = (pub_size - 1) / 2; + + ecc_key pub; + pub.type = PK_PUBLIC; + pub.idx = -1; + pub.dp = curve; + ltc_init_multi(&pub.pubkey.x, &pub.pubkey.y, &pub.pubkey.z, NULL); + ltc_mp.set_int(pub.pubkey.z, 1); + ltc_mp.unsigned_read(pub.pubkey.x, pub_data + 1, (unsigned long) pub_half); + ltc_mp.unsigned_read(pub.pubkey.y, pub_data + 1 + pub_half, (unsigned long) pub_half); + + (*env)->ReleaseByteArrayElements(env, pubkey, pub_data, JNI_ABORT); + + jsize priv_size = (*env)->GetArrayLength(env, privkey); + jbyte *priv_data = (*env)->GetByteArrayElements(env, privkey, NULL); + + ecc_key priv; + priv.type = PK_PRIVATE; + priv.idx = -1; + priv.dp = curve; + ltc_mp.init(&priv.k); + ltc_mp.unsigned_read(priv.k, priv_data, (unsigned long) priv_size); + + (*env)->ReleaseByteArrayElements(env, privkey, priv_data, JNI_ABORT); + + unsigned char result[pub_half]; + + unsigned long output_len = pub_half; + int err; + if ((err = ecc_shared_secret(&priv, &pub, result, &output_len)) != CRYPT_OK) { + printf("Error during shared secret computation: %s\n", error_to_string(err)); + free(curve); + return NULL; + } + + jbyteArray output = (*env)->NewByteArray(env, pub_half); + jbyte *output_data = (*env)->GetByteArrayElements(env, output, NULL); + memcpy(output_data, result, pub_half); + (*env)->ReleaseByteArrayElements(env, output, output_data, JNI_COMMIT); + + free(curve); + return output; } \ No newline at end of file From d571f404e51356239cdb7d23de95074b271016e1 Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 30 Nov 2017 19:42:20 +0100 Subject: [PATCH 36/91] Fix NativeKeyAgreement keysize mismatch on BigInteger conversion. --- src/cz/crcs/ectester/common/util/ECUtil.java | 62 ++++++++++++++++--- .../standalone/ECTesterStandalone.java | 7 +-- .../libs/jni/NativeKeyAgreementSpi.java | 4 +- .../ectester/standalone/libs/jni/tomcrypt.c | 51 ++++++++++----- 4 files changed, 94 insertions(+), 30 deletions(-) diff --git a/src/cz/crcs/ectester/common/util/ECUtil.java b/src/cz/crcs/ectester/common/util/ECUtil.java index 80ba34ee..662720a5 100644 --- a/src/cz/crcs/ectester/common/util/ECUtil.java +++ b/src/cz/crcs/ectester/common/util/ECUtil.java @@ -7,34 +7,75 @@ * @author Jan Jancar johny@neuromancer.sk */ public class ECUtil { - public static byte[] toX962Compressed(ECPoint point) { + + public static byte[] toByteArray(BigInteger what, int bits) { + byte[] raw = what.toByteArray(); + int bytes = (bits + 7) / 8; + if (raw.length < bytes) { + byte[] result = new byte[bytes]; + System.arraycopy(raw,0, result, bytes - raw.length, raw.length); + return result; + } + if (bytes < raw.length) { + byte[] result = new byte[bytes]; + System.arraycopy(raw, raw.length - bytes, result, 0, bytes); + return result; + } + return raw; + } + + public static byte[] toX962Compressed(ECPoint point, int bits) { if (point.equals(ECPoint.POINT_INFINITY)) { return new byte[]{0}; } - byte[] x = point.getAffineX().toByteArray(); + byte[] x = toByteArray(point.getAffineX(), bits); byte marker = (byte) (0x02 | point.getAffineY().mod(BigInteger.valueOf(2)).byteValue()); return ByteUtil.concatenate(new byte[]{marker}, x); } - public static byte[] toX962Uncompressed(ECPoint point) { + public static byte[] toX962Compressed(ECPoint point, EllipticCurve curve) { + return toX962Compressed(point, curve.getField().getFieldSize()); + } + + public static byte[] toX962Compressed(ECPoint point, ECParameterSpec spec) { + return toX962Compressed(point, spec.getCurve()); + } + + public static byte[] toX962Uncompressed(ECPoint point, int bits) { if (point.equals(ECPoint.POINT_INFINITY)) { return new byte[]{0}; } - byte[] x = point.getAffineX().toByteArray(); - byte[] y = point.getAffineY().toByteArray(); + byte[] x = toByteArray(point.getAffineX(), bits); + byte[] y = toByteArray(point.getAffineY(), bits); return ByteUtil.concatenate(new byte[]{0x04}, x, y); } - public static byte[] toX962Hybrid(ECPoint point) { + public static byte[] toX962Uncompressed(ECPoint point, EllipticCurve curve) { + return toX962Uncompressed(point, curve.getField().getFieldSize()); + } + + public static byte[] toX962Uncompressed(ECPoint point, ECParameterSpec spec) { + return toX962Uncompressed(point, spec.getCurve()); + } + + public static byte[] toX962Hybrid(ECPoint point, int bits) { if (point.equals(ECPoint.POINT_INFINITY)) { return new byte[]{0}; } - byte[] x = point.getAffineX().toByteArray(); - byte[] y = point.getAffineY().toByteArray(); + byte[] x = toByteArray(point.getAffineX(), bits); + byte[] y = toByteArray(point.getAffineY(), bits); byte marker = (byte) (0x06 | point.getAffineY().mod(BigInteger.valueOf(2)).byteValue()); return ByteUtil.concatenate(new byte[]{marker}, x, y); } + public static byte[] toX962Hybrid(ECPoint point, EllipticCurve curve) { + return toX962Hybrid(point, curve.getField().getFieldSize()); + } + + public static byte[] toX962Hybrid(ECPoint point, ECParameterSpec spec) { + return toX962Hybrid(point, spec.getCurve()); + } + private static boolean isResidue(BigInteger a, BigInteger p) { BigInteger exponent = p.subtract(BigInteger.ONE).divide(BigInteger.valueOf(2)); BigInteger result = a.modPow(exponent, p); @@ -64,7 +105,7 @@ private static BigInteger modSqrt(BigInteger a, BigInteger p) { int i = 0; BigInteger exponent; do { - exponent = BigInteger.valueOf(2).pow(++i); + exponent = BigInteger.valueOf(2).pow(++i); } while (!t.modPow(exponent, p).equals(BigInteger.ONE)); BigInteger twoExponent = m.subtract(BigInteger.valueOf(i + 1)); @@ -120,7 +161,8 @@ public static ECPoint fromX962(byte[] data, EllipticCurve curve) { return new ECPoint(x, beta); } else if (field instanceof ECFieldF2m) { - + //TODO + throw new UnsupportedOperationException(); } return null; } else { diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index 8605158f..3ad71417 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -23,7 +23,6 @@ import java.security.interfaces.ECPrivateKey; import java.security.interfaces.ECPublicKey; import java.security.spec.AlgorithmParameterSpec; -import java.security.spec.ECGenParameterSpec; import java.security.spec.ECParameterSpec; import java.util.*; import java.util.stream.Collectors; @@ -246,7 +245,7 @@ private void ecdh() throws NoSuchAlgorithmException, InvalidAlgorithmParameterEx byte[] result = ka.generateSecret(); ka = kaIdent.getInstance(lib.getProvider()); - String pub = ByteUtil.bytesToHex(ECUtil.toX962Uncompressed(pubkey.getW()), false); + String pub = ByteUtil.bytesToHex(ECUtil.toX962Uncompressed(pubkey.getW(), pubkey.getParams()), false); String priv = ByteUtil.bytesToHex(privkey.getS().toByteArray(), false); String dh = ByteUtil.bytesToHex(result, false); System.out.println(String.format("%d;%d;%s;%s;%s", i, elapsed, pub, priv, dh)); @@ -336,7 +335,7 @@ private void ecdsa() throws NoSuchAlgorithmException, InvalidAlgorithmParameterE verifyTime += System.nanoTime(); - String pub = ByteUtil.bytesToHex(ECUtil.toX962Uncompressed(pubkey.getW()), false); + String pub = ByteUtil.bytesToHex(ECUtil.toX962Uncompressed(pubkey.getW(), pubkey.getParams()), false); String priv = ByteUtil.bytesToHex(privkey.getS().toByteArray(), false); String sign = ByteUtil.bytesToHex(signature, false); System.out.println(String.format("%d;%s;%d;%d;%s;%s;%s;%d", i, dataString, signTime, verifyTime, pub, priv, sign, verified ? 1 : 0)); @@ -385,7 +384,7 @@ private void generate() throws NoSuchAlgorithmException, InvalidAlgorithmParamet ECPublicKey publicKey = (ECPublicKey) kp.getPublic(); ECPrivateKey privateKey = (ECPrivateKey) kp.getPrivate(); - String pub = ByteUtil.bytesToHex(ECUtil.toX962Uncompressed(publicKey.getW()), false); + String pub = ByteUtil.bytesToHex(ECUtil.toX962Uncompressed(publicKey.getW(), publicKey.getParams()), false); String priv = ByteUtil.bytesToHex(privateKey.getS().toByteArray(), false); System.out.println(String.format("%d;%d;%s;%s", i, elapsed, pub, priv)); } diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java index fee0ea82..47eeabd0 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java @@ -67,8 +67,8 @@ protected Key engineDoPhase(Key key, boolean lastPhase) throws InvalidKeyExcepti @Override protected byte[] engineGenerateSecret() throws IllegalStateException { - byte[] pubkey = ECUtil.toX962Uncompressed(publicKey.getW()); - byte[] privkey = privateKey.getS().toByteArray(); + byte[] pubkey = ECUtil.toX962Uncompressed(publicKey.getW(), params.getCurve()); + byte[] privkey = ECUtil.toByteArray(privateKey.getS(), params.getCurve().getField().getFieldSize()); return generateSecret(pubkey, privkey, params); } diff --git a/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c index b43b05a6..d32c6a6d 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c +++ b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c @@ -15,6 +15,7 @@ static jclass fp_field_class; static jclass f2m_field_class; static jclass point_class; static jclass biginteger_class; +static jclass illegal_state_exception_class; JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_createProvider(JNIEnv *env, jobject this) { /* Create the custom provider. */ @@ -88,6 +89,9 @@ JNIEXPORT void JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeProvider_ jclass local_point_class = (*env)->FindClass(env, "java/security/spec/ECPoint"); point_class = (*env)->NewGlobalRef(env, local_point_class); + + jclass local_illegal_state_exception_class = (*env)->FindClass(env, "java/lang/IllegalStateException"); + illegal_state_exception_class = (*env)->NewGlobalRef(env, local_illegal_state_exception_class); } JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_getCurves(JNIEnv *env, jobject this) { @@ -233,7 +237,7 @@ static ltc_ecc_set_type* create_curve(JNIEnv *env, jobject params) { jmethodID get_bits = (*env)->GetMethodID(env, fp_field_class, "getFieldSize", "()I"); jint bits = (*env)->CallIntMethod(env, field, get_bits); - jint bytes = (bits + (8 - bits % 8)) / 8; + jint bytes = (bits + 7) / 8; jmethodID get_b = (*env)->GetMethodID(env, elliptic_curve_class, "getB", "()Ljava/math/BigInteger;"); jobject b = (*env)->CallObjectMethod(env, elliptic_curve, get_b); @@ -265,18 +269,23 @@ static ltc_ecc_set_type* create_curve(JNIEnv *env, jobject params) { return curve; } +static void throw_new(JNIEnv *env, const char *class, const char *message) { + jclass clazz = (*env)->FindClass(env, class); + (*env)->ThrowNew(env, clazz, message); +} + static jobject generate_from_curve(JNIEnv *env, const ltc_ecc_set_type *curve) { ecc_key key; int err; if ((err = ecc_make_key_ex(<c_prng, find_prng("yarrow"), &key, curve)) != CRYPT_OK) { - printf("Error making key: %s\n", error_to_string(err)); + throw_new(env, "java/security/GeneralSecurityException", error_to_string(err)); return NULL; } unsigned long key_len = 2*curve->size + 1; jbyteArray pub_bytes = (*env)->NewByteArray(env, key_len); jbyte *key_pub = (*env)->GetByteArrayElements(env, pub_bytes, NULL); ecc_ansi_x963_export(&key, key_pub, &key_len); - (*env)->ReleaseByteArrayElements(env, pub_bytes, key_pub, 0); + (*env)->ReleaseByteArrayElements(env, pub_bytes, key_pub, JNI_COMMIT); jobject ec_param_spec = create_ec_param_spec(env, curve); @@ -287,7 +296,7 @@ static jobject generate_from_curve(JNIEnv *env, const ltc_ecc_set_type *curve) { jbyteArray priv_bytes = (*env)->NewByteArray(env, curve->size); jbyte *key_priv = (*env)->GetByteArrayElements(env, priv_bytes, NULL); ltc_mp.unsigned_write(key.k, key_priv); - (*env)->ReleaseByteArrayElements(env, priv_bytes, key_priv, 0); + (*env)->ReleaseByteArrayElements(env, priv_bytes, key_priv, JNI_COMMIT); jobject ec_priv_param_spec = (*env)->NewLocalRef(env, ec_param_spec); jmethodID ec_priv_init = (*env)->GetMethodID(env, privkey_class, "", "([BLjava/security/spec/ECParameterSpec;)V"); @@ -347,7 +356,13 @@ JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKey jsize pub_size = (*env)->GetArrayLength(env, pubkey); jbyte *pub_data = (*env)->GetByteArrayElements(env, pubkey, NULL); - jsize pub_half = (pub_size - 1) / 2; + + if (curve->size != (pub_size - 1) / 2) { + throw_new(env, "java/lang/IllegalStateException", "Curve size does not match the public key size."); + (*env)->ReleaseByteArrayElements(env, pubkey, pub_data, JNI_ABORT); + free(curve); + return NULL; + } ecc_key pub; pub.type = PK_PUBLIC; @@ -355,38 +370,46 @@ JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKey pub.dp = curve; ltc_init_multi(&pub.pubkey.x, &pub.pubkey.y, &pub.pubkey.z, NULL); ltc_mp.set_int(pub.pubkey.z, 1); - ltc_mp.unsigned_read(pub.pubkey.x, pub_data + 1, (unsigned long) pub_half); - ltc_mp.unsigned_read(pub.pubkey.y, pub_data + 1 + pub_half, (unsigned long) pub_half); + ltc_mp.unsigned_read(pub.pubkey.x, pub_data + 1, (unsigned long) curve->size); + ltc_mp.unsigned_read(pub.pubkey.y, pub_data + 1 + curve->size, (unsigned long) curve->size); (*env)->ReleaseByteArrayElements(env, pubkey, pub_data, JNI_ABORT); + jsize priv_size = (*env)->GetArrayLength(env, privkey); jbyte *priv_data = (*env)->GetByteArrayElements(env, privkey, NULL); + if (curve->size != priv_size) { + throw_new(env, "java/lang/IllegalStateException", "Curve size does not match the private key size."); + (*env)->ReleaseByteArrayElements(env, privkey, priv_data, JNI_ABORT); + free(curve); + return NULL; + } + ecc_key priv; priv.type = PK_PRIVATE; priv.idx = -1; priv.dp = curve; ltc_mp.init(&priv.k); - ltc_mp.unsigned_read(priv.k, priv_data, (unsigned long) priv_size); + ltc_mp.unsigned_read(priv.k, priv_data, (unsigned long) curve->size); (*env)->ReleaseByteArrayElements(env, privkey, priv_data, JNI_ABORT); - unsigned char result[pub_half]; - - unsigned long output_len = pub_half; + unsigned char result[curve->size]; + unsigned long output_len = curve->size; int err; if ((err = ecc_shared_secret(&priv, &pub, result, &output_len)) != CRYPT_OK) { - printf("Error during shared secret computation: %s\n", error_to_string(err)); + throw_new(env, "java/security/GeneralSecurityException", error_to_string(err)); free(curve); return NULL; } - jbyteArray output = (*env)->NewByteArray(env, pub_half); + jbyteArray output = (*env)->NewByteArray(env, curve->size); jbyte *output_data = (*env)->GetByteArrayElements(env, output, NULL); - memcpy(output_data, result, pub_half); + memcpy(output_data, result, curve->size); (*env)->ReleaseByteArrayElements(env, output, output_data, JNI_COMMIT); + ltc_cleanup_multi(&pub.pubkey.x, &pub.pubkey.y, &pub.pubkey.z, &priv.k, NULL); free(curve); return output; } \ No newline at end of file From c33faeed138b3cbb0324878fa24481916791ec50 Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 30 Nov 2017 23:57:09 +0100 Subject: [PATCH 37/91] Implement ECDSA for LibTomCrypt. --- build-standalone.xml | 1 + .../standalone/ECTesterStandalone.java | 6 +- .../libs/jni/NativeKeyAgreementSpi.java | 4 +- .../libs/jni/NativeSignatureSpi.java | 57 ++++++-- .../ectester/standalone/libs/jni/native.h | 27 ++++ .../ectester/standalone/libs/jni/tomcrypt.c | 135 ++++++++++++++---- 6 files changed, 188 insertions(+), 42 deletions(-) diff --git a/build-standalone.xml b/build-standalone.xml index 8098ce2e..ef6ab2a9 100644 --- a/build-standalone.xml +++ b/build-standalone.xml @@ -101,6 +101,7 @@ + diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index 3ad71417..5ecff9b6 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -116,6 +116,8 @@ private TreeCommandLine parseArgs(String[] args) throws ParseException { Options ecdsaOpts = new Options(); ecdsaOpts.addOption(Option.builder("t").longOpt("type").desc("Set Signature object [type].").hasArg().argName("type").optionalArg(false).build()); ecdsaOpts.addOption(Option.builder("n").longOpt("amount").hasArg().argName("amount").optionalArg(false).desc("Do ECDSA [amount] times.").build()); + ecdsaOpts.addOption(Option.builder("b").longOpt("bits").hasArg().argName("n").optionalArg(false).desc("What size of curve to use.").build()); + ecdsaOpts.addOption(Option.builder("nc").longOpt("named-curve").desc("Use a named curve, from CurveDB: ").hasArg().argName("cat/id").build()); ecdsaOpts.addOption(Option.builder("f").longOpt("file").hasArg().argName("file").optionalArg(false).desc("Input [file] to sign.").build()); ParserOptions ecdsa = new ParserOptions(new DefaultParser(), ecdsaOpts); actions.put("ecdsa", ecdsa); @@ -271,7 +273,7 @@ private void ecdsa() throws NoSuchAlgorithmException, InvalidAlgorithmParameterE dataString = ""; } else { SecureRandom random = new SecureRandom(); - data = new byte[128]; + data = new byte[32]; random.nextBytes(data); dataString = ByteUtil.bytesToHex(data, false); } @@ -449,7 +451,7 @@ public Config(ECLibrary[] libs) { } boolean readOptions(TreeCommandLine cli) { - if (cli.isNext("generate") || cli.isNext("export") || cli.isNext("ecdh")) { + if (cli.isNext("generate") || cli.isNext("export") || cli.isNext("ecdh") || cli.isNext("ecdsa")) { if (!cli.hasArg(-1)) { System.err.println("Missing library name argument."); return false; diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java index 47eeabd0..913f73ee 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java @@ -23,7 +23,7 @@ public abstract class NativeKeyAgreementSpi extends KeyAgreementSpi { protected void engineInit(Key key, SecureRandom random) throws InvalidKeyException { if (!(key instanceof ECPrivateKey)) { throw new InvalidKeyException - ("Key must be instance of PrivateKey"); + ("Key must be instance of ECPrivateKey"); } privateKey = (ECPrivateKey) key; this.params = privateKey.getParams(); @@ -52,7 +52,7 @@ protected Key engineDoPhase(Key key, boolean lastPhase) throws InvalidKeyExcepti } if (!(key instanceof ECPublicKey)) { throw new InvalidKeyException - ("Key must be a PublicKey with algorithm EC"); + ("Key must be an instance of ECPublicKey"); } ECParameterSpec publicParams = ((ECPublicKey) key).getParams(); if (!(params.getCurve().equals(publicParams.getCurve()) && diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java index 0c6332ee..a9ec8a62 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java @@ -1,49 +1,86 @@ package cz.crcs.ectester.standalone.libs.jni; +import cz.crcs.ectester.common.util.ECUtil; + +import java.io.ByteArrayOutputStream; import java.security.*; +import java.security.interfaces.ECPrivateKey; +import java.security.interfaces.ECPublicKey; +import java.security.spec.ECParameterSpec; +/** + * @author Jan Jancar johny@neuromancer.sk + */ public abstract class NativeSignatureSpi extends SignatureSpi { + private ECPublicKey verifyKey; + private ECPrivateKey signKey; + private ECParameterSpec params; + + private ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + @Override protected void engineInitVerify(PublicKey publicKey) throws InvalidKeyException { - + if (!(publicKey instanceof ECPublicKey)) { + throw new InvalidKeyException + ("Key must be an instance of ECPublicKey"); + } + verifyKey = (ECPublicKey) publicKey; + params = verifyKey.getParams(); + buffer.reset(); } @Override protected void engineInitSign(PrivateKey privateKey) throws InvalidKeyException { - + if (!(privateKey instanceof ECPrivateKey)) { + throw new InvalidKeyException + ("Key must be an instance of ECPrivateKey"); + } + signKey = (ECPrivateKey) privateKey; + params = signKey.getParams(); + buffer.reset(); } @Override protected void engineUpdate(byte b) throws SignatureException { - + buffer.write(b); } @Override protected void engineUpdate(byte[] b, int off, int len) throws SignatureException { - + buffer.write(b, off, len); } @Override protected byte[] engineSign() throws SignatureException { - return new byte[0]; + return sign(buffer.toByteArray(), ECUtil.toByteArray(signKey.getS(), params.getCurve().getField().getFieldSize()), params); } @Override protected boolean engineVerify(byte[] sigBytes) throws SignatureException { - return false; + return verify(sigBytes, buffer.toByteArray(), ECUtil.toX962Uncompressed(verifyKey.getW(), params), params); } @Override protected void engineSetParameter(String param, Object value) throws InvalidParameterException { - + throw new UnsupportedOperationException("setParameter() not supported"); } @Override protected Object engineGetParameter(String param) throws InvalidParameterException { - return null; + throw new UnsupportedOperationException("getParameter() not supported"); } - public static class TomCrypt extends NativeSignatureSpi { - + abstract byte[] sign(byte[] data, byte[] privkey, ECParameterSpec params); + + abstract boolean verify(byte[] signature, byte[] data, byte[] pubkey, ECParameterSpec params); + + public static class TomCryptRaw extends NativeSignatureSpi { + + @Override + native byte[] sign(byte[] data, byte[] privkey, ECParameterSpec params); + + @Override + native boolean verify(byte[] signature, byte[] data, byte[] pubkey, ECParameterSpec params); + } } diff --git a/src/cz/crcs/ectester/standalone/libs/jni/native.h b/src/cz/crcs/ectester/standalone/libs/jni/native.h index 7f63f616..852dd53f 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/native.h +++ b/src/cz/crcs/ectester/standalone/libs/jni/native.h @@ -144,3 +144,30 @@ JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKey } #endif #endif +/* Header for class cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_TomCryptRaw */ + +#ifndef _Included_cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_TomCryptRaw +#define _Included_cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_TomCryptRaw +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_TomCryptRaw + * Method: sign + * Signature: ([B[BLjava/security/spec/ECParameterSpec;)[B + */ +JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_00024TomCryptRaw_sign + (JNIEnv *, jobject, jbyteArray, jbyteArray, jobject); + +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_TomCryptRaw + * Method: verify + * Signature: ([B[B[BLjava/security/spec/ECParameterSpec;)Z + */ +JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_00024TomCryptRaw_verify + (JNIEnv *, jobject, jbyteArray, jbyteArray, jbyteArray, jobject); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c index d32c6a6d..629ffc1c 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c +++ b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c @@ -45,8 +45,8 @@ JNIEXPORT void JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeProvider_ jstring ecdh_value = (*env)->NewStringUTF(env, "cz.crcs.ectester.standalone.libs.jni.NativeKeyAgreementSpi$TomCrypt"); (*env)->CallObjectMethod(env, this, provider_put, ecdh, ecdh_value); - jstring ecdsa = (*env)->NewStringUTF(env, "Signature.ECDSA"); - jstring ecdsa_value = (*env)->NewStringUTF(env, "cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$TomCrypt"); + jstring ecdsa = (*env)->NewStringUTF(env, "Signature.NONEwithECDSA"); + jstring ecdsa_value = (*env)->NewStringUTF(env, "cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$TomCryptRaw"); (*env)->CallObjectMethod(env, this, provider_put, ecdsa, ecdsa_value); int err; @@ -112,9 +112,10 @@ JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_getC } JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024TomCrypt_keysizeSupported(JNIEnv *env, jobject this, jint keysize){ + int key_bytes = (keysize + 7) / 8; const ltc_ecc_set_type * curve = ltc_ecc_sets; while (curve->size != 0) { - if (curve->size * 8 == keysize) { + if (curve->size == key_bytes) { return JNI_TRUE; } curve++; @@ -309,7 +310,7 @@ static jobject generate_from_curve(JNIEnv *env, const ltc_ecc_set_type *curve) { } JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024TomCrypt_generate__ILjava_security_SecureRandom_2(JNIEnv *env, jobject this, jint keysize, jobject random){ - int key_bytes = keysize / 8; + int key_bytes = (keysize + 7) / 8; const ltc_ecc_set_type *curve = ltc_ecc_sets; while (curve->size != 0) { @@ -351,49 +352,63 @@ JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPai } } -JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyAgreementSpi_00024TomCrypt_generateSecret(JNIEnv *env, jobject this, jbyteArray pubkey, jbyteArray privkey, jobject params){ - ltc_ecc_set_type *curve = create_curve(env, params); +static jboolean privkey_from_bytes(JNIEnv *env, jbyteArray privkey, const ltc_ecc_set_type *curve, ecc_key *out) { + jsize priv_size = (*env)->GetArrayLength(env, privkey); + jbyte *priv_data = (*env)->GetByteArrayElements(env, privkey, NULL); + if (curve->size != priv_size) { + throw_new(env, "java/lang/IllegalStateException", "Curve size does not match the private key size."); + (*env)->ReleaseByteArrayElements(env, privkey, priv_data, JNI_ABORT); + return JNI_FALSE; + } + + out->type = PK_PRIVATE; + out->idx = -1; + out->dp = curve; + ltc_mp.init(&out->k); + ltc_mp.unsigned_read(out->k, priv_data, (unsigned long) curve->size); + + (*env)->ReleaseByteArrayElements(env, privkey, priv_data, JNI_ABORT); + return JNI_TRUE; +} + +static jboolean pubkey_from_bytes(JNIEnv *env, jbyteArray pubkey, const ltc_ecc_set_type *curve, ecc_key *out) { jsize pub_size = (*env)->GetArrayLength(env, pubkey); jbyte *pub_data = (*env)->GetByteArrayElements(env, pubkey, NULL); if (curve->size != (pub_size - 1) / 2) { throw_new(env, "java/lang/IllegalStateException", "Curve size does not match the public key size."); (*env)->ReleaseByteArrayElements(env, pubkey, pub_data, JNI_ABORT); - free(curve); - return NULL; + return JNI_FALSE; } - ecc_key pub; - pub.type = PK_PUBLIC; - pub.idx = -1; - pub.dp = curve; - ltc_init_multi(&pub.pubkey.x, &pub.pubkey.y, &pub.pubkey.z, NULL); - ltc_mp.set_int(pub.pubkey.z, 1); - ltc_mp.unsigned_read(pub.pubkey.x, pub_data + 1, (unsigned long) curve->size); - ltc_mp.unsigned_read(pub.pubkey.y, pub_data + 1 + curve->size, (unsigned long) curve->size); + out->type = PK_PUBLIC; + out->idx = -1; + out->dp = curve; + ltc_init_multi(&out->pubkey.x, &out->pubkey.y, &out->pubkey.z, NULL); + ltc_mp.set_int(out->pubkey.z, 1); + ltc_mp.unsigned_read(out->pubkey.x, pub_data + 1, (unsigned long) curve->size); + ltc_mp.unsigned_read(out->pubkey.y, pub_data + 1 + curve->size, (unsigned long) curve->size); (*env)->ReleaseByteArrayElements(env, pubkey, pub_data, JNI_ABORT); + return JNI_TRUE; +} - jsize priv_size = (*env)->GetArrayLength(env, privkey); - jbyte *priv_data = (*env)->GetByteArrayElements(env, privkey, NULL); +JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyAgreementSpi_00024TomCrypt_generateSecret(JNIEnv *env, jobject this, jbyteArray pubkey, jbyteArray privkey, jobject params){ + ltc_ecc_set_type *curve = create_curve(env, params); - if (curve->size != priv_size) { - throw_new(env, "java/lang/IllegalStateException", "Curve size does not match the private key size."); - (*env)->ReleaseByteArrayElements(env, privkey, priv_data, JNI_ABORT); + ecc_key pub; + if (!pubkey_from_bytes(env, pubkey, curve, &pub)) { free(curve); return NULL; } ecc_key priv; - priv.type = PK_PRIVATE; - priv.idx = -1; - priv.dp = curve; - ltc_mp.init(&priv.k); - ltc_mp.unsigned_read(priv.k, priv_data, (unsigned long) curve->size); - - (*env)->ReleaseByteArrayElements(env, privkey, priv_data, JNI_ABORT); + if (!privkey_from_bytes(env, privkey, curve, &priv)) { + free(curve); + return NULL; + } unsigned char result[curve->size]; unsigned long output_len = curve->size; @@ -412,4 +427,68 @@ JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKey ltc_cleanup_multi(&pub.pubkey.x, &pub.pubkey.y, &pub.pubkey.z, &priv.k, NULL); free(curve); return output; +} + +JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_00024TomCryptRaw_sign(JNIEnv *env, jobject this, jbyteArray data, jbyteArray privkey, jobject params) { + ltc_ecc_set_type *curve = create_curve(env, params); + + ecc_key priv; + if (!privkey_from_bytes(env, privkey, curve, &priv)) { + free(curve); + return NULL; + } + + jsize data_size = (*env)->GetArrayLength(env, data); + jbyte *data_data = (*env)->GetByteArrayElements(env, data, NULL); + + unsigned char result[curve->size*4]; + unsigned long output_len = curve->size*4; + int err; + if ((err = ecc_sign_hash(data_data, data_size, result, &output_len, <c_prng, find_prng("yarrow"), &priv)) != CRYPT_OK) { + throw_new(env, "java/security/GeneralSecurityException", error_to_string(err)); + free(curve); + (*env)->ReleaseByteArrayElements(env, data, data_data, JNI_ABORT); + return NULL; + } + + (*env)->ReleaseByteArrayElements(env, data, data_data, JNI_ABORT); + + jbyteArray output = (*env)->NewByteArray(env, output_len); + jbyte *output_data = (*env)->GetByteArrayElements(env, output, NULL); + memcpy(output_data, result, output_len); + (*env)->ReleaseByteArrayElements(env, output, output_data, JNI_COMMIT); + + free(curve); + return output; +} + +JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_00024TomCryptRaw_verify(JNIEnv *env, jobject this, jbyteArray signature, jbyteArray data, jbyteArray pubkey, jobject params) { + ltc_ecc_set_type *curve = create_curve(env, params); + + ecc_key pub; + if (!pubkey_from_bytes(env, pubkey, curve, &pub)) { + free(curve); + return JNI_FALSE; + } + + jsize data_size = (*env)->GetArrayLength(env, data); + jbyte *data_data = (*env)->GetByteArrayElements(env, data, NULL); + + jsize sig_size = (*env)->GetArrayLength(env, signature); + jbyte *sig_data = (*env)->GetByteArrayElements(env, signature, NULL); + + int err; + int result; + if ((err = ecc_verify_hash(sig_data, sig_size, data_data, data_size, &result, &pub)) != CRYPT_OK) { + throw_new(env, "java/security/GeneralSecurityException", error_to_string(err)); + free(curve); + (*env)->ReleaseByteArrayElements(env, data, data_data, JNI_ABORT); + (*env)->ReleaseByteArrayElements(env, signature, sig_data, JNI_ABORT); + return JNI_FALSE; + } + + (*env)->ReleaseByteArrayElements(env, data, data_data, JNI_ABORT); + (*env)->ReleaseByteArrayElements(env, signature, sig_data, JNI_ABORT); + free(curve); + return result; } \ No newline at end of file From 018771cbd0b104918012c473a2590e0ef8e89a25 Mon Sep 17 00:00:00 2001 From: J08nY Date: Fri, 1 Dec 2017 00:24:25 +0100 Subject: [PATCH 38/91] Make sure byteArrays are of positive BigIntegers. --- src/cz/crcs/ectester/common/util/ECUtil.java | 6 +++--- .../ectester/standalone/libs/jni/NativeECPrivateKey.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/cz/crcs/ectester/common/util/ECUtil.java b/src/cz/crcs/ectester/common/util/ECUtil.java index 662720a5..973b8136 100644 --- a/src/cz/crcs/ectester/common/util/ECUtil.java +++ b/src/cz/crcs/ectester/common/util/ECUtil.java @@ -13,7 +13,7 @@ public static byte[] toByteArray(BigInteger what, int bits) { int bytes = (bits + 7) / 8; if (raw.length < bytes) { byte[] result = new byte[bytes]; - System.arraycopy(raw,0, result, bytes - raw.length, raw.length); + System.arraycopy(raw, 0, result, bytes - raw.length, raw.length); return result; } if (bytes < raw.length) { @@ -128,14 +128,14 @@ public static ECPoint fromX962(byte[] data, EllipticCurve curve) { System.arraycopy(data, 1, xbytes, 0, len); byte[] ybytes = new byte[len]; System.arraycopy(data, 1 + len, ybytes, 0, len); - return new ECPoint(new BigInteger(xbytes), new BigInteger(ybytes)); + return new ECPoint(new BigInteger(1, xbytes), new BigInteger(1, ybytes)); } else if (data[0] == 0x02 || data[0] == 0x03) { if (curve == null) { throw new IllegalArgumentException(); } byte[] xbytes = new byte[data.length - 1]; System.arraycopy(data, 1, xbytes, 0, data.length - 1); - BigInteger x = new BigInteger(xbytes); + BigInteger x = new BigInteger(1, xbytes); BigInteger a = curve.getA(); BigInteger b = curve.getB(); diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeECPrivateKey.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeECPrivateKey.java index 359b6b02..6f6cde3f 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/NativeECPrivateKey.java +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeECPrivateKey.java @@ -40,7 +40,7 @@ public TomCrypt(byte[] keyData, ECParameterSpec params) { @Override public BigInteger getS() { - return new BigInteger(keyData); + return new BigInteger(1, keyData); } @Override From da2f36d4d313dc4cc736d8789700d78e052d1fc8 Mon Sep 17 00:00:00 2001 From: J08nY Date: Fri, 1 Dec 2017 12:41:08 +0100 Subject: [PATCH 39/91] Remove ECParametersSPec check in NativeKeyAgreementSpi. - This check makes sense in a real KeyAgreement, however for purposes of testing this would stop the invalid curve test from working. --- .../standalone/libs/jni/NativeKeyAgreementSpi.java | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java index 913f73ee..a58c0c8e 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java @@ -54,13 +54,6 @@ protected Key engineDoPhase(Key key, boolean lastPhase) throws InvalidKeyExcepti throw new InvalidKeyException ("Key must be an instance of ECPublicKey"); } - ECParameterSpec publicParams = ((ECPublicKey) key).getParams(); - if (!(params.getCurve().equals(publicParams.getCurve()) && - params.getGenerator().equals(publicParams.getGenerator()) && - params.getOrder().equals(publicParams.getOrder()) && - params.getCofactor() == publicParams.getCofactor())) { - throw new IllegalStateException("Mismatched parameters."); - } publicKey = (ECPublicKey) key; return null; } From da09715d9ec955b4b139b45a1b2c5270ca0ebf2d Mon Sep 17 00:00:00 2001 From: J08nY Date: Sun, 3 Dec 2017 20:59:41 +0100 Subject: [PATCH 40/91] Introduce BaseTestable and Testable Metadata. --- .../{reader => common}/output/TestWriter.java | 2 +- .../common/output/TestableWriter.java | 39 +++++++++++++++ .../ectester/common/test/BaseTestable.java | 35 ++++++++++++++ src/cz/crcs/ectester/common/test/Test.java | 18 +++++-- .../crcs/ectester/common/test/Testable.java | 23 +++++++++ .../crcs/ectester/reader/ECTesterReader.java | 1 + .../reader/output/TextTestWriter.java | 1 + .../ectester/reader/output/XMLTestWriter.java | 1 + .../reader/output/YAMLTestWriter.java | 1 + .../ectester/reader/response/Response.java | 5 +- .../ectester/reader/test/CommandTestable.java | 47 +++++++++++++++++++ .../crcs/ectester/reader/test/TestRunner.java | 2 +- .../libs/jni/NativeSignatureSpi.java | 2 + .../standalone/test/KeyAgreementTestable.java | 21 +-------- .../test/KeyGenerationTestable.java | 23 +-------- .../standalone/test/SignatureTestable.java | 23 +-------- 16 files changed, 177 insertions(+), 67 deletions(-) rename src/cz/crcs/ectester/{reader => common}/output/TestWriter.java (86%) create mode 100644 src/cz/crcs/ectester/common/output/TestableWriter.java create mode 100644 src/cz/crcs/ectester/common/test/BaseTestable.java create mode 100644 src/cz/crcs/ectester/reader/test/CommandTestable.java diff --git a/src/cz/crcs/ectester/reader/output/TestWriter.java b/src/cz/crcs/ectester/common/output/TestWriter.java similarity index 86% rename from src/cz/crcs/ectester/reader/output/TestWriter.java rename to src/cz/crcs/ectester/common/output/TestWriter.java index d79252d7..0f3c4e60 100644 --- a/src/cz/crcs/ectester/reader/output/TestWriter.java +++ b/src/cz/crcs/ectester/common/output/TestWriter.java @@ -1,4 +1,4 @@ -package cz.crcs.ectester.reader.output; +package cz.crcs.ectester.common.output; import cz.crcs.ectester.common.test.Test; import cz.crcs.ectester.reader.test.TestSuite; diff --git a/src/cz/crcs/ectester/common/output/TestableWriter.java b/src/cz/crcs/ectester/common/output/TestableWriter.java new file mode 100644 index 00000000..20972549 --- /dev/null +++ b/src/cz/crcs/ectester/common/output/TestableWriter.java @@ -0,0 +1,39 @@ +package cz.crcs.ectester.common.output; + +import cz.crcs.ectester.common.test.BaseTestable; +import cz.crcs.ectester.common.test.Testable; + +import java.io.OutputStream; +import java.io.PrintStream; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class TestableWriter { + private PrintStream output; + + public TestableWriter(PrintStream output) { + this.output = output; + } + + public TestableWriter(OutputStream output) { + this(new PrintStream(output)); + } + + + public String outputTestableMeta(BaseTestable t) { + return null; + } + + public void writeTestableMeta(BaseTestable t) { + + } + + public String outputTestable(BaseTestable t) { + return null; + } + + public void writeTestable(BaseTestable t) { + + } +} diff --git a/src/cz/crcs/ectester/common/test/BaseTestable.java b/src/cz/crcs/ectester/common/test/BaseTestable.java new file mode 100644 index 00000000..6a63b131 --- /dev/null +++ b/src/cz/crcs/ectester/common/test/BaseTestable.java @@ -0,0 +1,35 @@ +package cz.crcs.ectester.common.test; + +import java.util.Collections; +import java.util.Map; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public abstract class BaseTestable implements Testable { + protected boolean hasRun; + protected boolean ok; + protected boolean error; + + protected Map meta; + + @Override + public boolean hasRun() { + return hasRun; + } + + @Override + public boolean ok() { + return ok; + } + + @Override + public boolean error() { + return error; + } + + @Override + public Map meta() { + return Collections.unmodifiableMap(meta); + } +} diff --git a/src/cz/crcs/ectester/common/test/Test.java b/src/cz/crcs/ectester/common/test/Test.java index 750a410b..5f553378 100644 --- a/src/cz/crcs/ectester/common/test/Test.java +++ b/src/cz/crcs/ectester/common/test/Test.java @@ -1,5 +1,8 @@ package cz.crcs.ectester.common.test; +import java.util.Collections; +import java.util.Map; + import static cz.crcs.ectester.common.test.Result.Value; /** @@ -8,8 +11,9 @@ * @author Jan Jancar johny@neuromancer.sk */ public abstract class Test implements Testable { - protected boolean hasRun = false; + protected boolean hasRun; protected Result result; + protected Map meta; public Result getResult() { if (!hasRun) { @@ -39,6 +43,7 @@ public boolean ok() { return result.ok(); } + @Override public boolean error() { if (!hasRun) { return false; @@ -46,12 +51,19 @@ public boolean error() { return result.compareTo(Value.ERROR); } - public abstract String getDescription(); - + @Override public boolean hasRun() { return hasRun; } + @Override + public Map meta() { + return Collections.unmodifiableMap(meta); + } + + public abstract String getDescription(); + + @Override public abstract void run() throws TestException; } diff --git a/src/cz/crcs/ectester/common/test/Testable.java b/src/cz/crcs/ectester/common/test/Testable.java index d05d31e6..e8eb3213 100644 --- a/src/cz/crcs/ectester/common/test/Testable.java +++ b/src/cz/crcs/ectester/common/test/Testable.java @@ -1,15 +1,38 @@ package cz.crcs.ectester.common.test; +import java.util.Map; + /** * @author Jan Jancar johny@neuromancer.sk */ public interface Testable { + /** + * @return Whether this testable was run. + */ boolean hasRun(); + /** + * Run this Testable. + * + * @throws TestException + */ void run() throws TestException; + /** + * @return Whether this Testable was OK. + */ boolean ok(); + /** + * @return Whether an error happened. + */ boolean error(); + + /** + * Get the metadata of this Testable. + * + * @return The metadata of the testable. + */ + Map meta(); } diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index d32d9d84..e6270994 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -26,6 +26,7 @@ import cz.crcs.ectester.common.cli.CLITools; import cz.crcs.ectester.common.ec.EC_Params; import cz.crcs.ectester.common.output.OutputLogger; +import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.common.test.TestException; import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.data.EC_Store; diff --git a/src/cz/crcs/ectester/reader/output/TextTestWriter.java b/src/cz/crcs/ectester/reader/output/TextTestWriter.java index dc285b5b..a4bb33e4 100644 --- a/src/cz/crcs/ectester/reader/output/TextTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/TextTestWriter.java @@ -1,5 +1,6 @@ package cz.crcs.ectester.reader.output; +import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.common.test.CompoundTest; import cz.crcs.ectester.common.test.Test; import cz.crcs.ectester.reader.test.CommandTest; diff --git a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java index ebc93ac4..1a949845 100644 --- a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java @@ -1,5 +1,6 @@ package cz.crcs.ectester.reader.output; +import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.common.test.CompoundTest; import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.reader.command.Command; diff --git a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java index d8350acb..e0038fd3 100644 --- a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java @@ -1,5 +1,6 @@ package cz.crcs.ectester.reader.output; +import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.common.test.CompoundTest; import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.reader.command.Command; diff --git a/src/cz/crcs/ectester/reader/response/Response.java b/src/cz/crcs/ectester/reader/response/Response.java index d8edf9ee..3b5d98bb 100644 --- a/src/cz/crcs/ectester/reader/response/Response.java +++ b/src/cz/crcs/ectester/reader/response/Response.java @@ -13,7 +13,6 @@ * @author Jan Jancar johny@neuromancer.sk */ public abstract class Response { - private ResponseAPDU resp; private long time; private short[] sws; @@ -88,6 +87,10 @@ public short getNaturalSW() { return (short) resp.getSW(); } + public short[] getSWs() { + return sws; + } + public short getSW(int index) { return sws[index]; } diff --git a/src/cz/crcs/ectester/reader/test/CommandTestable.java b/src/cz/crcs/ectester/reader/test/CommandTestable.java new file mode 100644 index 00000000..f09a7365 --- /dev/null +++ b/src/cz/crcs/ectester/reader/test/CommandTestable.java @@ -0,0 +1,47 @@ +package cz.crcs.ectester.reader.test; + +import cz.crcs.ectester.common.test.BaseTestable; +import cz.crcs.ectester.common.test.TestException; +import cz.crcs.ectester.reader.command.Command; +import cz.crcs.ectester.reader.response.Response; + +import javax.smartcardio.CardException; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class CommandTestable extends BaseTestable { + private Command command; + private Response response; + + public CommandTestable(Command command) { + this.command = command; + } + + public Command getCommand() { + return command; + } + + public Response getResponse() { + return response; + } + + @Override + public void run() throws TestException { + try { + response = command.send(); + } catch (CardException e) { + throw new TestException(e); + } + + hasRun = true; + if (response.error()) { + error = true; + } else if (response.successful()) { + ok = true; + } + meta.clear(); + meta.put("Natural SW", response.getNaturalSW()); + meta.put("SWs", response.getSWs()); + } +} diff --git a/src/cz/crcs/ectester/reader/test/TestRunner.java b/src/cz/crcs/ectester/reader/test/TestRunner.java index dcc78db9..e581aaa1 100644 --- a/src/cz/crcs/ectester/reader/test/TestRunner.java +++ b/src/cz/crcs/ectester/reader/test/TestRunner.java @@ -2,7 +2,7 @@ import cz.crcs.ectester.common.test.Test; import cz.crcs.ectester.common.test.TestException; -import cz.crcs.ectester.reader.output.TestWriter; +import cz.crcs.ectester.common.output.TestWriter; /** * @author Jan Jancar johny@neuromancer.sk diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java index a9ec8a62..76f01f0f 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java @@ -61,11 +61,13 @@ protected boolean engineVerify(byte[] sigBytes) throws SignatureException { } @Override + @Deprecated protected void engineSetParameter(String param, Object value) throws InvalidParameterException { throw new UnsupportedOperationException("setParameter() not supported"); } @Override + @Deprecated protected Object engineGetParameter(String param) throws InvalidParameterException { throw new UnsupportedOperationException("getParameter() not supported"); } diff --git a/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java b/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java index ef363c32..fedf519f 100644 --- a/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java +++ b/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java @@ -1,5 +1,6 @@ package cz.crcs.ectester.standalone.test; +import cz.crcs.ectester.common.test.BaseTestable; import cz.crcs.ectester.common.test.TestException; import cz.crcs.ectester.common.test.Testable; @@ -11,14 +12,11 @@ /** * @author Jan Jancar johny@neuromancer.sk */ -public class KeyAgreementTestable implements Testable { +public class KeyAgreementTestable extends BaseTestable { private KeyAgreement ka; private ECPrivateKey privateKey; private ECPublicKey publicKey; private byte[] secret; - private boolean hasRun; - private boolean error = false; - private boolean ok; public KeyAgreementTestable(KeyAgreement ka, ECPrivateKey privateKey, ECPublicKey publicKey) { this.ka = ka; @@ -33,11 +31,6 @@ public byte[] getSecret() { return secret; } - @Override - public boolean hasRun() { - return hasRun; - } - @Override public void run() throws TestException { try { @@ -66,14 +59,4 @@ public void run() throws TestException { ok = true; hasRun = true; } - - @Override - public boolean ok() { - return ok; - } - - @Override - public boolean error() { - return error; - } } diff --git a/src/cz/crcs/ectester/standalone/test/KeyGenerationTestable.java b/src/cz/crcs/ectester/standalone/test/KeyGenerationTestable.java index 381ce709..5a891b75 100644 --- a/src/cz/crcs/ectester/standalone/test/KeyGenerationTestable.java +++ b/src/cz/crcs/ectester/standalone/test/KeyGenerationTestable.java @@ -1,22 +1,18 @@ package cz.crcs.ectester.standalone.test; +import cz.crcs.ectester.common.test.BaseTestable; import cz.crcs.ectester.common.test.TestException; -import cz.crcs.ectester.common.test.Testable; import java.security.InvalidAlgorithmParameterException; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.spec.ECParameterSpec; -public class KeyGenerationTestable implements Testable { - +public class KeyGenerationTestable extends BaseTestable { private KeyPair kp; private KeyPairGenerator kpg; private int keysize = 0; private ECParameterSpec spec = null; - private boolean hasRun; - private boolean error = false; - private boolean ok; public KeyGenerationTestable(KeyPairGenerator kpg) { this.kpg = kpg; @@ -36,11 +32,6 @@ public KeyPair getKeyPair() { return kp; } - @Override - public boolean hasRun() { - return hasRun; - } - @Override public void run() throws TestException { try { @@ -58,14 +49,4 @@ public void run() throws TestException { hasRun = true; ok = true; } - - @Override - public boolean ok() { - return ok; - } - - @Override - public boolean error() { - return error; - } } diff --git a/src/cz/crcs/ectester/standalone/test/SignatureTestable.java b/src/cz/crcs/ectester/standalone/test/SignatureTestable.java index 5f58b4ac..8b6815b1 100644 --- a/src/cz/crcs/ectester/standalone/test/SignatureTestable.java +++ b/src/cz/crcs/ectester/standalone/test/SignatureTestable.java @@ -1,5 +1,6 @@ package cz.crcs.ectester.standalone.test; +import cz.crcs.ectester.common.test.BaseTestable; import cz.crcs.ectester.common.test.TestException; import cz.crcs.ectester.common.test.Testable; @@ -9,8 +10,7 @@ import java.security.interfaces.ECPrivateKey; import java.security.interfaces.ECPublicKey; -public class SignatureTestable implements Testable { - +public class SignatureTestable extends BaseTestable { private Signature sig; private ECPrivateKey signKey; private ECPublicKey verifyKey; @@ -18,10 +18,6 @@ public class SignatureTestable implements Testable { private byte[] signature; private boolean verified; - private boolean hasRun; - private boolean error; - private boolean ok; - public SignatureTestable(Signature sig, ECPrivateKey signKey, ECPublicKey verifyKey, byte[] data) { this.sig = sig; this.signKey = signKey; @@ -37,11 +33,6 @@ public boolean getVerified() { return verified; } - @Override - public boolean hasRun() { - return hasRun; - } - @Override public void run() throws TestException { try { @@ -89,14 +80,4 @@ public void run() throws TestException { ok = true; hasRun = true; } - - @Override - public boolean ok() { - return ok; - } - - @Override - public boolean error() { - return error; - } } From be9c68b2ec522f6e7efda9fad325ab88bd0e8a93 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sun, 3 Dec 2017 21:34:02 +0100 Subject: [PATCH 41/91] Introduce SimpleTest, implement other tests usign it. --- .../common/output/TestableWriter.java | 1 - .../crcs/ectester/common/test/SimpleTest.java | 19 +++++++ .../ectester/common/test/TestCallback.java | 1 + .../ectester/reader/test/CommandTest.java | 55 +++++++------------ .../standalone/test/KeyAgreementTest.java | 16 +++--- .../standalone/test/KeyAgreementTestable.java | 2 +- .../standalone/test/KeyGenerationTest.java | 44 --------------- .../standalone/test/KeyGeneratorTest.java | 42 ++++++++++++++ ...estable.java => KeyGeneratorTestable.java} | 8 +-- .../standalone/test/SignatureTest.java | 16 +++--- 10 files changed, 101 insertions(+), 103 deletions(-) create mode 100644 src/cz/crcs/ectester/common/test/SimpleTest.java delete mode 100644 src/cz/crcs/ectester/standalone/test/KeyGenerationTest.java create mode 100644 src/cz/crcs/ectester/standalone/test/KeyGeneratorTest.java rename src/cz/crcs/ectester/standalone/test/{KeyGenerationTestable.java => KeyGeneratorTestable.java} (80%) diff --git a/src/cz/crcs/ectester/common/output/TestableWriter.java b/src/cz/crcs/ectester/common/output/TestableWriter.java index 20972549..a15193a0 100644 --- a/src/cz/crcs/ectester/common/output/TestableWriter.java +++ b/src/cz/crcs/ectester/common/output/TestableWriter.java @@ -1,7 +1,6 @@ package cz.crcs.ectester.common.output; import cz.crcs.ectester.common.test.BaseTestable; -import cz.crcs.ectester.common.test.Testable; import java.io.OutputStream; import java.io.PrintStream; diff --git a/src/cz/crcs/ectester/common/test/SimpleTest.java b/src/cz/crcs/ectester/common/test/SimpleTest.java new file mode 100644 index 00000000..f68320ad --- /dev/null +++ b/src/cz/crcs/ectester/common/test/SimpleTest.java @@ -0,0 +1,19 @@ +package cz.crcs.ectester.common.test; + +/** + * @param + * @author Jan Jancar johny@neuromancer.sk + */ +public abstract class SimpleTest extends Test { + protected T testable; + protected TestCallback callback; + + public SimpleTest(T testable, TestCallback callback) { + this.testable = testable; + this.callback = callback; + } + + public T getTestable() { + return testable; + } +} diff --git a/src/cz/crcs/ectester/common/test/TestCallback.java b/src/cz/crcs/ectester/common/test/TestCallback.java index 488e2f2f..ce6000b8 100644 --- a/src/cz/crcs/ectester/common/test/TestCallback.java +++ b/src/cz/crcs/ectester/common/test/TestCallback.java @@ -4,6 +4,7 @@ /** * + * @author Jan Jancar johny@neuromancer.sk * @param */ public abstract class TestCallback implements Function { diff --git a/src/cz/crcs/ectester/reader/test/CommandTest.java b/src/cz/crcs/ectester/reader/test/CommandTest.java index b7728b6b..5f3dcacc 100644 --- a/src/cz/crcs/ectester/reader/test/CommandTest.java +++ b/src/cz/crcs/ectester/reader/test/CommandTest.java @@ -1,45 +1,42 @@ package cz.crcs.ectester.reader.test; import cz.crcs.ectester.common.test.Result; -import cz.crcs.ectester.common.test.Test; +import cz.crcs.ectester.common.test.SimpleTest; +import cz.crcs.ectester.common.test.TestCallback; import cz.crcs.ectester.common.test.TestException; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.response.Response; -import javax.smartcardio.CardException; -import java.util.function.BiFunction; - /** * A simple test that runs one Command to get and evaluate one Response * to get a Result and compare it with the expected one. */ -public class CommandTest extends Test { - private BiFunction callback; - private Command command; - private Response response; - - public CommandTest(Command command, BiFunction callback) { - this.command = command; - this.callback = callback; +public class CommandTest extends SimpleTest { + private CommandTest(CommandTestable command, TestCallback callback) { + super(command, callback); } - public CommandTest(Command command, Result.ExpectedValue expected, String ok, String nok) { - this(command, (cmd, resp) -> { - Result.Value resultValue = Result.Value.fromExpected(expected, resp.successful(), resp.error()); - return new Result(resultValue, resultValue.ok() ? ok : nok); + public CommandTest expect(CommandTestable command, Result.ExpectedValue expected, String ok, String nok) { + return new CommandTest(command, new TestCallback() { + @Override + public Result apply(CommandTestable commandTestable) { + Response resp = commandTestable.getResponse(); + Result.Value resultValue = Result.Value.fromExpected(expected, resp.successful(), resp.error()); + return new Result(resultValue, resultValue.ok() ? ok : nok); + } }); } - public CommandTest(Command command, Result.ExpectedValue expected) { - this(command, expected, null, null); + public CommandTest expect(CommandTestable command, Result.ExpectedValue expected) { + return expect(command, expected, null, null); } public Command getCommand() { - return command; + return testable.getCommand(); } public Response getResponse() { - return response; + return testable.getResponse(); } @Override @@ -47,25 +44,13 @@ public void run() throws TestException { if (hasRun) return; - try { - response = command.send(); - } catch (CardException e) { - throw new TestException(e); - } - if (callback != null) { - result = callback.apply(command, response); - } else { - if (response.successful()) { - result = new Result(Result.Value.SUCCESS); - } else { - result = new Result(Result.Value.FAILURE); - } - } + testable.run(); + result = callback.apply(testable); hasRun = true; } @Override public String getDescription() { - return response.getDescription(); + return null; } } diff --git a/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java b/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java index a24346e1..9604e757 100644 --- a/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java +++ b/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java @@ -1,7 +1,7 @@ package cz.crcs.ectester.standalone.test; import cz.crcs.ectester.common.test.Result; -import cz.crcs.ectester.common.test.Test; +import cz.crcs.ectester.common.test.SimpleTest; import cz.crcs.ectester.common.test.TestCallback; import cz.crcs.ectester.common.test.TestException; @@ -10,13 +10,9 @@ /** * @author Jan Jancar johny@neuromancer.sk */ -public class KeyAgreementTest extends Test { - private KeyAgreementTestable ka; - private TestCallback callback; - +public class KeyAgreementTest extends SimpleTest { private KeyAgreementTest(KeyAgreementTestable ka, TestCallback callback) { - this.ka = ka; - this.callback = callback; + super(ka, callback); } public static KeyAgreementTest match(KeyAgreementTestable ka, byte[] expectedSecret) { @@ -52,8 +48,10 @@ public String getDescription() { @Override public void run() throws TestException { - ka.run(); - result = callback.apply(ka); + if (hasRun) + return; + testable.run(); + result = callback.apply(testable); hasRun = true; } } diff --git a/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java b/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java index fedf519f..fc0f0075 100644 --- a/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java +++ b/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java @@ -14,7 +14,7 @@ */ public class KeyAgreementTestable extends BaseTestable { private KeyAgreement ka; - private ECPrivateKey privateKey; + private ECPrivateKey privateKey;a private ECPublicKey publicKey; private byte[] secret; diff --git a/src/cz/crcs/ectester/standalone/test/KeyGenerationTest.java b/src/cz/crcs/ectester/standalone/test/KeyGenerationTest.java deleted file mode 100644 index 0ec47412..00000000 --- a/src/cz/crcs/ectester/standalone/test/KeyGenerationTest.java +++ /dev/null @@ -1,44 +0,0 @@ -package cz.crcs.ectester.standalone.test; - -import cz.crcs.ectester.common.test.Result; -import cz.crcs.ectester.common.test.Test; -import cz.crcs.ectester.common.test.TestCallback; -import cz.crcs.ectester.common.test.TestException; - -/** - * @author Jan Jancar johny@neuromancer.sk - */ -public class KeyGenerationTest extends Test { - private KeyGenerationTestable kg; - private TestCallback callback; - - private KeyGenerationTest(KeyGenerationTestable kg, TestCallback callback) { - this.kg = kg; - this.callback = callback; - } - - public static KeyGenerationTest expect(KeyGenerationTestable kg, Result.ExpectedValue expected) { - return new KeyGenerationTest(kg, new TestCallback() { - @Override - public Result apply(KeyGenerationTestable keyGenerationTestable) { - return new Result(Result.Value.fromExpected(expected, keyGenerationTestable.ok(), keyGenerationTestable.error())); - } - }); - } - - public static KeyGenerationTest function(KeyGenerationTestable ka, TestCallback callback) { - return new KeyGenerationTest(ka, callback); - } - - @Override - public String getDescription() { - return null; - } - - @Override - public void run() throws TestException { - kg.run(); - result = callback.apply(kg); - hasRun = true; - } -} diff --git a/src/cz/crcs/ectester/standalone/test/KeyGeneratorTest.java b/src/cz/crcs/ectester/standalone/test/KeyGeneratorTest.java new file mode 100644 index 00000000..9032415a --- /dev/null +++ b/src/cz/crcs/ectester/standalone/test/KeyGeneratorTest.java @@ -0,0 +1,42 @@ +package cz.crcs.ectester.standalone.test; + +import cz.crcs.ectester.common.test.Result; +import cz.crcs.ectester.common.test.SimpleTest; +import cz.crcs.ectester.common.test.TestCallback; +import cz.crcs.ectester.common.test.TestException; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class KeyGeneratorTest extends SimpleTest { + private KeyGeneratorTest(KeyGeneratorTestable kg, TestCallback callback) { + super(kg, callback); + } + + public static KeyGeneratorTest expect(KeyGeneratorTestable kg, Result.ExpectedValue expected) { + return new KeyGeneratorTest(kg, new TestCallback() { + @Override + public Result apply(KeyGeneratorTestable keyGenerationTestable) { + return new Result(Result.Value.fromExpected(expected, keyGenerationTestable.ok(), keyGenerationTestable.error())); + } + }); + } + + public static KeyGeneratorTest function(KeyGeneratorTestable ka, TestCallback callback) { + return new KeyGeneratorTest(ka, callback); + } + + @Override + public String getDescription() { + return null; + } + + @Override + public void run() throws TestException { + if (hasRun) + return; + testable.run(); + result = callback.apply(testable); + hasRun = true; + } +} diff --git a/src/cz/crcs/ectester/standalone/test/KeyGenerationTestable.java b/src/cz/crcs/ectester/standalone/test/KeyGeneratorTestable.java similarity index 80% rename from src/cz/crcs/ectester/standalone/test/KeyGenerationTestable.java rename to src/cz/crcs/ectester/standalone/test/KeyGeneratorTestable.java index 5a891b75..ca7f1e75 100644 --- a/src/cz/crcs/ectester/standalone/test/KeyGenerationTestable.java +++ b/src/cz/crcs/ectester/standalone/test/KeyGeneratorTestable.java @@ -8,22 +8,22 @@ import java.security.KeyPairGenerator; import java.security.spec.ECParameterSpec; -public class KeyGenerationTestable extends BaseTestable { +public class KeyGeneratorTestable extends BaseTestable { private KeyPair kp; private KeyPairGenerator kpg; private int keysize = 0; private ECParameterSpec spec = null; - public KeyGenerationTestable(KeyPairGenerator kpg) { + public KeyGeneratorTestable(KeyPairGenerator kpg) { this.kpg = kpg; } - public KeyGenerationTestable(KeyPairGenerator kpg, int keysize) { + public KeyGeneratorTestable(KeyPairGenerator kpg, int keysize) { this.kpg = kpg; this.keysize = keysize; } - public KeyGenerationTestable(KeyPairGenerator kpg, ECParameterSpec spec) { + public KeyGeneratorTestable(KeyPairGenerator kpg, ECParameterSpec spec) { this.kpg = kpg; this.spec = spec; } diff --git a/src/cz/crcs/ectester/standalone/test/SignatureTest.java b/src/cz/crcs/ectester/standalone/test/SignatureTest.java index 828b84fd..272a3f72 100644 --- a/src/cz/crcs/ectester/standalone/test/SignatureTest.java +++ b/src/cz/crcs/ectester/standalone/test/SignatureTest.java @@ -1,19 +1,15 @@ package cz.crcs.ectester.standalone.test; -import cz.crcs.ectester.common.test.Test; +import cz.crcs.ectester.common.test.SimpleTest; import cz.crcs.ectester.common.test.TestCallback; import cz.crcs.ectester.common.test.TestException; /** * @author Jan Jancar johny@neuromancer.sk */ -public class SignatureTest extends Test { - private SignatureTestable sig; - private TestCallback callback; - +public class SignatureTest extends SimpleTest { private SignatureTest(SignatureTestable sig, TestCallback callback) { - this.sig = sig; - this.callback = callback; + super(sig, callback); } @Override @@ -23,8 +19,10 @@ public String getDescription() { @Override public void run() throws TestException { - sig.run(); - result = callback.apply(sig); + if (hasRun) + return; + testable.run(); + result = callback.apply(testable); hasRun = true; } } From 861c80be829b1160ee2d9e64076e7ead16312984 Mon Sep 17 00:00:00 2001 From: J08nY Date: Tue, 5 Dec 2017 18:28:25 +0100 Subject: [PATCH 42/91] Fix suites with new CommandTest. --- docs/LIBS.md | 5 +++ .../ectester/reader/test/CommandTest.java | 20 +++++++++-- .../reader/test/CompositeCurvesSuite.java | 10 +++--- .../ectester/reader/test/DefaultSuite.java | 8 ++--- .../reader/test/InvalidCurvesSuite.java | 10 +++--- .../crcs/ectester/reader/test/TestSuite.java | 22 ++++++------ .../ectester/reader/test/TestVectorSuite.java | 36 ++++++++++--------- .../standalone/test/KeyAgreementTestable.java | 2 +- 8 files changed, 69 insertions(+), 44 deletions(-) diff --git a/docs/LIBS.md b/docs/LIBS.md index 97a80ecb..10001d6a 100644 --- a/docs/LIBS.md +++ b/docs/LIBS.md @@ -3,14 +3,19 @@ Libraries with at least some ECC support: - [BouncyCastle](https://bouncycastle.org/java.html) + - Java - [Botan](https://botan.randombit.net/) - [Crypto++](https://cryptopp.com/) - [libgcrypt](https://www.gnupg.org/related_software/libgcrypt/) - [libtomcrypt](http://www.libtom.net/LibTomCrypt/) + - C + - Uses Jacobian coordinates. + - Sliding window scalar multiplication algorithm. - [mbedTLS](https://tls.mbed.org/) - [Nettle](http://www.lysator.liu.se/~nisse/nettle/) - [OpenSSL](https://www.openssl.org/) - [OpenSSL (FIPS mode)](https://www.openssl.org/docs/fipsnotes.html) - [Sun EC](https://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html#SunEC) + - Java + C - [Microsoft CNG](https://msdn.microsoft.com/en-us/library/windows/desktop/aa376210(v=vs.85).aspx) - [Microsoft .NET crypto](https://docs.microsoft.com/en-us/dotnet/standard/security/cryptography-model) \ No newline at end of file diff --git a/src/cz/crcs/ectester/reader/test/CommandTest.java b/src/cz/crcs/ectester/reader/test/CommandTest.java index 5f3dcacc..e88f4762 100644 --- a/src/cz/crcs/ectester/reader/test/CommandTest.java +++ b/src/cz/crcs/ectester/reader/test/CommandTest.java @@ -16,7 +16,15 @@ private CommandTest(CommandTestable command, TestCallback callb super(command, callback); } - public CommandTest expect(CommandTestable command, Result.ExpectedValue expected, String ok, String nok) { + public static CommandTest function(CommandTestable command, TestCallback callback) { + return new CommandTest(command, callback); + } + + public static CommandTest function(Command command, TestCallback callback) { + return function(new CommandTestable(command), callback); + } + + public static CommandTest expect(CommandTestable command, Result.ExpectedValue expected, String ok, String nok) { return new CommandTest(command, new TestCallback() { @Override public Result apply(CommandTestable commandTestable) { @@ -27,10 +35,18 @@ public Result apply(CommandTestable commandTestable) { }); } - public CommandTest expect(CommandTestable command, Result.ExpectedValue expected) { + public static CommandTest expect(Command command, Result.ExpectedValue expectedValue, String ok, String nok) { + return expect(new CommandTestable(command), expectedValue, ok, nok); + } + + public static CommandTest expect(CommandTestable command, Result.ExpectedValue expected) { return expect(command, expected, null, null); } + public static CommandTest expect(Command command, Result.ExpectedValue expectedValue) { + return expect(command, expectedValue, null, null); + } + public Command getCommand() { return testable.getCommand(); } diff --git a/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java b/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java index 77df7d6f..8a023812 100644 --- a/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java @@ -41,12 +41,12 @@ public void setup(CardMngr cardManager) { continue; } if ((curve.getBits() == cfg.bits || cfg.all)) { - tests.add(new CommandTest(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); - tests.add(new CommandTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.ANY)); - tests.add(new CommandTest(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.ANY)); + tests.add(CommandTest.expect(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); + tests.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.ANY)); + tests.add(CommandTest.expect(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.ANY)); Command ecdhCommand = new Command.ECDH_direct(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, EC_Consts.KA_ECDH, key.flatten()); - tests.add(new CommandTest(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected to do ECDH over a composite order curve.", "Card incorrectly does ECDH over a composite order curve, leaks bits of private key.")); - tests.add(new CommandTest(new Command.Cleanup(cardManager), ExpectedValue.ANY)); + tests.add(CommandTest.expect(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected to do ECDH over a composite order curve.", "Card incorrectly does ECDH over a composite order curve, leaks bits of private key.")); + tests.add(CommandTest.expect(new Command.Cleanup(cardManager), ExpectedValue.ANY)); } } } diff --git a/src/cz/crcs/ectester/reader/test/DefaultSuite.java b/src/cz/crcs/ectester/reader/test/DefaultSuite.java index 0e25312d..881480c7 100644 --- a/src/cz/crcs/ectester/reader/test/DefaultSuite.java +++ b/src/cz/crcs/ectester/reader/test/DefaultSuite.java @@ -23,7 +23,7 @@ public DefaultSuite(EC_Store dataStore, ECTesterReader.Config cfg) { @Override public void setup(CardMngr cardManager) throws IOException { - tests.add(new CommandTest(new Command.Support(cardManager), ExpectedValue.ANY)); + tests.add(CommandTest.expect(new Command.Support(cardManager), ExpectedValue.ANY)); if (cfg.namedCurve != null) { String desc = "Default tests over the " + cfg.namedCurve + " curve category."; if (cfg.primeField) { @@ -59,11 +59,11 @@ public void setup(CardMngr cardManager) throws IOException { } private void defaultTests(CardMngr cardManager, short keyLength, byte keyType) throws IOException { - tests.add(new CommandTest(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, keyLength, keyType), ExpectedValue.SUCCESS)); + tests.add(CommandTest.expect(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, keyLength, keyType), ExpectedValue.SUCCESS)); Command curve = Command.prepareCurve(cardManager, dataStore, cfg, ECTesterApplet.KEYPAIR_BOTH, keyLength, keyType); if (curve != null) - tests.add(new CommandTest(curve, ExpectedValue.SUCCESS)); + tests.add(CommandTest.expect(curve, ExpectedValue.SUCCESS)); tests.add(defaultCurveTests(cardManager, ExpectedValue.SUCCESS, ExpectedValue.SUCCESS, ExpectedValue.ANY, ExpectedValue.SUCCESS, "Default tests.")); - tests.add(new CommandTest(new Command.Cleanup(cardManager), ExpectedValue.ANY)); + tests.add(CommandTest.expect(new Command.Cleanup(cardManager), ExpectedValue.ANY)); } } diff --git a/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java b/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java index e4afb5d4..96e4ca27 100644 --- a/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java @@ -55,16 +55,16 @@ public void setup(CardMngr cardManager) throws IOException { EC_Curve curve = e.getKey(); List keys = e.getValue(); - tests.add(new CommandTest(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); - tests.add(new CommandTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.SUCCESS)); - tests.add(new CommandTest(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.SUCCESS)); + tests.add(CommandTest.expect(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); + tests.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.SUCCESS)); + tests.add(CommandTest.expect(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.SUCCESS)); List ecdhTests = new LinkedList<>(); for (EC_Key.Public pub : keys) { Command ecdhCommand = new Command.ECDH_direct(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, EC_Consts.KA_ANY, pub.flatten()); - ecdhTests.add(new CommandTest(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected point on invalid curve." , "Card incorrectly accepted point on invalid curve.")); + ecdhTests.add(CommandTest.expect(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected point on invalid curve." , "Card incorrectly accepted point on invalid curve.")); } tests.add(CompoundTest.all(ExpectedValue.SUCCESS, "Invalid curve test of " + curve.getId(), ecdhTests.toArray(new Test[0]))); - tests.add(new CommandTest(new Command.Cleanup(cardManager), ExpectedValue.ANY)); + tests.add(CommandTest.expect(new Command.Cleanup(cardManager), ExpectedValue.ANY)); } } } diff --git a/src/cz/crcs/ectester/reader/test/TestSuite.java b/src/cz/crcs/ectester/reader/test/TestSuite.java index 034f5793..e722960e 100644 --- a/src/cz/crcs/ectester/reader/test/TestSuite.java +++ b/src/cz/crcs/ectester/reader/test/TestSuite.java @@ -64,14 +64,14 @@ public String getDescription() { Test defaultCurveTests(CardMngr cardManager, ExpectedValue generateExpected, ExpectedValue ecdhExpected, ExpectedValue ecdhCompressExpected, ExpectedValue ecdsaExpected, String description) { List tests = new LinkedList<>(); - tests.add(new CommandTest(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_BOTH), generateExpected)); - tests.add(new CommandTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, EC_Consts.KA_ECDH), ecdhExpected)); - tests.add(new CommandTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_COMPRESS, EC_Consts.KA_ECDH), ecdhExpected)); - tests.add(new CommandTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_ONE, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); - tests.add(new CommandTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_ZERO, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); - tests.add(new CommandTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_MAX, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); - tests.add(new CommandTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_FULLRANDOM, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); - tests.add(new CommandTest(new Command.ECDSA(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, null), ecdsaExpected)); + tests.add(CommandTest.expect(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_BOTH), generateExpected)); + tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, EC_Consts.KA_ECDH), ecdhExpected)); + tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_COMPRESS, EC_Consts.KA_ECDH), ecdhExpected)); + tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_ONE, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); + tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_ZERO, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); + tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_MAX, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); + tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_FULLRANDOM, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); + tests.add(CommandTest.expect(new Command.ECDSA(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, null), ecdsaExpected)); return CompoundTest.function((testArray) -> { Function shouldHave = (expected) -> { @@ -126,10 +126,10 @@ List defaultCategoryTests(CardMngr cardManager, String category, byte fiel for (Map.Entry entry : curves.entrySet()) { EC_Curve curve = entry.getValue(); if (curve.getField() == field && (curve.getBits() == cfg.bits || cfg.all)) { - tests.add(new CommandTest(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), field), ExpectedValue.SUCCESS)); - tests.add(new CommandTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), setExpected)); + tests.add(CommandTest.expect(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), field), ExpectedValue.SUCCESS)); + tests.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), setExpected)); tests.add(defaultCurveTests(cardManager, generateExpected, ecdhExpected, ecdhCompressedExpected, ecdsaExpected, description)); - tests.add(new CommandTest(new Command.Cleanup(cardManager), ExpectedValue.ANY)); + tests.add(CommandTest.expect(new Command.Cleanup(cardManager), ExpectedValue.ANY)); } } diff --git a/src/cz/crcs/ectester/reader/test/TestVectorSuite.java b/src/cz/crcs/ectester/reader/test/TestVectorSuite.java index 98172f3c..c89cfa6b 100644 --- a/src/cz/crcs/ectester/reader/test/TestVectorSuite.java +++ b/src/cz/crcs/ectester/reader/test/TestVectorSuite.java @@ -2,15 +2,16 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; +import cz.crcs.ectester.common.ec.*; import cz.crcs.ectester.common.test.CompoundTest; import cz.crcs.ectester.common.test.Result; import cz.crcs.ectester.common.test.Test; +import cz.crcs.ectester.common.test.TestCallback; import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTesterReader; import cz.crcs.ectester.reader.command.Command; -import cz.crcs.ectester.common.ec.*; import cz.crcs.ectester.reader.response.Response; import javacard.security.KeyPair; @@ -61,25 +62,28 @@ public void setup(CardMngr cardManager) throws IOException { } List testVector = new LinkedList<>(); - testVector.add(new CommandTest(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); - testVector.add(new CommandTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.SUCCESS)); + testVector.add(CommandTest.expect(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); + testVector.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.SUCCESS)); //tests.add(new Test.Simple(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_BOTH), ExpectedValue.SUCCESS)); - testVector.add(new CommandTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_LOCAL, EC_Consts.CURVE_external, EC_Consts.PARAMETER_S, onekey.flatten(EC_Consts.PARAMETER_S)), ExpectedValue.SUCCESS)); - testVector.add(new CommandTest(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_REMOTE, EC_Consts.CURVE_external, EC_Consts.PARAMETER_W, otherkey.flatten(EC_Consts.PARAMETER_W)), ExpectedValue.SUCCESS)); - testVector.add(new CommandTest(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_TRUE, EC_Consts.CORRUPTION_NONE, result.getKA()), (command, response) -> { - Response.ECDH dh = (Response.ECDH) response; - if (!dh.successful()) - return new Result(Value.FAILURE, "ECDH was unsuccessful."); - if (!dh.hasSecret()) - return new Result(Value.FAILURE, "ECDH response did not contain the derived secret."); - if (!ByteUtil.compareBytes(dh.getSecret(), 0, result.getData(0), 0, dh.secretLength())) { - int firstDiff = ByteUtil.diffBytes(dh.getSecret(), 0, result.getData(0), 0, dh.secretLength()); - return new Result(Value.FAILURE, "ECDH derived secret does not match the test, first difference was at byte " + String.valueOf(firstDiff) + "."); + testVector.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_LOCAL, EC_Consts.CURVE_external, EC_Consts.PARAMETER_S, onekey.flatten(EC_Consts.PARAMETER_S)), ExpectedValue.SUCCESS)); + testVector.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_REMOTE, EC_Consts.CURVE_external, EC_Consts.PARAMETER_W, otherkey.flatten(EC_Consts.PARAMETER_W)), ExpectedValue.SUCCESS)); + testVector.add(CommandTest.function(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_TRUE, EC_Consts.CORRUPTION_NONE, result.getKA()), new TestCallback() { + @Override + public Result apply(CommandTestable testable) { + Response.ECDH dh = (Response.ECDH) testable.getResponse(); + if (!dh.successful()) + return new Result(Value.FAILURE, "ECDH was unsuccessful."); + if (!dh.hasSecret()) + return new Result(Value.FAILURE, "ECDH response did not contain the derived secret."); + if (!ByteUtil.compareBytes(dh.getSecret(), 0, result.getData(0), 0, dh.secretLength())) { + int firstDiff = ByteUtil.diffBytes(dh.getSecret(), 0, result.getData(0), 0, dh.secretLength()); + return new Result(Value.FAILURE, "ECDH derived secret does not match the test, first difference was at byte " + String.valueOf(firstDiff) + "."); + } + return new Result(Value.SUCCESS); } - return new Result(Value.SUCCESS); })); tests.add(CompoundTest.all(ExpectedValue.SUCCESS, "Test vector " + result.getId(), testVector.toArray(new Test[0]))); - tests.add(new CommandTest(new Command.Cleanup(cardManager), ExpectedValue.ANY)); + tests.add(CommandTest.expect(new Command.Cleanup(cardManager), ExpectedValue.ANY)); } } diff --git a/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java b/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java index fc0f0075..fedf519f 100644 --- a/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java +++ b/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java @@ -14,7 +14,7 @@ */ public class KeyAgreementTestable extends BaseTestable { private KeyAgreement ka; - private ECPrivateKey privateKey;a + private ECPrivateKey privateKey; private ECPublicKey publicKey; private byte[] secret; From 5e8b2e0886049fe43d991fafa94bebcbde6a1f02 Mon Sep 17 00:00:00 2001 From: J08nY Date: Tue, 5 Dec 2017 23:35:06 +0100 Subject: [PATCH 43/91] Specialize test suites in reader package to classes. --- .../ectester/common/output/TestWriter.java | 2 +- .../{reader => common}/test/TestRunner.java | 7 ++-- .../crcs/ectester/common/test/TestSuite.java | 36 +++++++++++++++++++ .../crcs/ectester/reader/ECTesterReader.java | 13 +++---- .../reader/output/TextTestWriter.java | 4 +-- .../ectester/reader/output/XMLTestWriter.java | 4 +-- .../reader/output/YAMLTestWriter.java | 4 +-- ...ite.java => CardCompositeCurvesSuite.java} | 4 +-- ...efaultSuite.java => CardDefaultSuite.java} | 4 +-- ...Suite.java => CardInvalidCurvesSuite.java} | 4 +-- .../{TestSuite.java => CardTestSuite.java} | 25 +++---------- ...torSuite.java => CardTestVectorSuite.java} | 4 +-- ...esSuite.java => CardWrongCurvesSuite.java} | 4 +-- 13 files changed, 67 insertions(+), 48 deletions(-) rename src/cz/crcs/ectester/{reader => common}/test/TestRunner.java (73%) create mode 100644 src/cz/crcs/ectester/common/test/TestSuite.java rename src/cz/crcs/ectester/reader/test/{CompositeCurvesSuite.java => CardCompositeCurvesSuite.java} (95%) rename src/cz/crcs/ectester/reader/test/{DefaultSuite.java => CardDefaultSuite.java} (96%) rename src/cz/crcs/ectester/reader/test/{InvalidCurvesSuite.java => CardInvalidCurvesSuite.java} (96%) rename src/cz/crcs/ectester/reader/test/{TestSuite.java => CardTestSuite.java} (92%) rename src/cz/crcs/ectester/reader/test/{TestVectorSuite.java => CardTestVectorSuite.java} (97%) rename src/cz/crcs/ectester/reader/test/{WrongCurvesSuite.java => CardWrongCurvesSuite.java} (90%) diff --git a/src/cz/crcs/ectester/common/output/TestWriter.java b/src/cz/crcs/ectester/common/output/TestWriter.java index 0f3c4e60..0ecfd5a1 100644 --- a/src/cz/crcs/ectester/common/output/TestWriter.java +++ b/src/cz/crcs/ectester/common/output/TestWriter.java @@ -1,7 +1,7 @@ package cz.crcs.ectester.common.output; import cz.crcs.ectester.common.test.Test; -import cz.crcs.ectester.reader.test.TestSuite; +import cz.crcs.ectester.common.test.TestSuite; /** * @author Jan Jancar johny@neuromancer.sk diff --git a/src/cz/crcs/ectester/reader/test/TestRunner.java b/src/cz/crcs/ectester/common/test/TestRunner.java similarity index 73% rename from src/cz/crcs/ectester/reader/test/TestRunner.java rename to src/cz/crcs/ectester/common/test/TestRunner.java index e581aaa1..8564d2c4 100644 --- a/src/cz/crcs/ectester/reader/test/TestRunner.java +++ b/src/cz/crcs/ectester/common/test/TestRunner.java @@ -1,8 +1,7 @@ -package cz.crcs.ectester.reader.test; +package cz.crcs.ectester.common.test; -import cz.crcs.ectester.common.test.Test; -import cz.crcs.ectester.common.test.TestException; import cz.crcs.ectester.common.output.TestWriter; +import cz.crcs.ectester.reader.test.CardTestSuite; /** * @author Jan Jancar johny@neuromancer.sk @@ -11,7 +10,7 @@ public class TestRunner { private TestSuite suite; private TestWriter writer; - public TestRunner(TestSuite suite, TestWriter writer) { + public TestRunner(CardTestSuite suite, TestWriter writer) { this.suite = suite; this.writer = writer; } diff --git a/src/cz/crcs/ectester/common/test/TestSuite.java b/src/cz/crcs/ectester/common/test/TestSuite.java new file mode 100644 index 00000000..74a24af1 --- /dev/null +++ b/src/cz/crcs/ectester/common/test/TestSuite.java @@ -0,0 +1,36 @@ +package cz.crcs.ectester.common.test; + +import cz.crcs.ectester.data.EC_Store; + +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public abstract class TestSuite { + protected String name; + protected String description; + protected List tests = new LinkedList<>(); + protected EC_Store dataStore; + + public TestSuite(EC_Store dataStore, String name, String description) { + this.dataStore = dataStore; + this.name = name; + this.description = description; + } + + public List getTests() { + return Collections.unmodifiableList(tests); + } + + public String getName() { + return name; + } + + public String getDescription() { + return description; + } + +} diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index e6270994..be01129a 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -28,6 +28,7 @@ import cz.crcs.ectester.common.output.OutputLogger; import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.common.test.TestException; +import cz.crcs.ectester.common.test.TestRunner; import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.command.Command; @@ -406,14 +407,14 @@ private void generate() throws CardException, IOException { * @throws IOException if an IO error occurs when writing to key file. */ private void test() throws IOException, TestException { - TestSuite suite; + CardTestSuite suite; switch (cfg.testSuite) { case "default": - suite = new DefaultSuite(dataStore, cfg); + suite = new CardDefaultSuite(dataStore, cfg); break; case "test-vectors": - suite = new TestVectorSuite(dataStore, cfg); + suite = new CardTestVectorSuite(dataStore, cfg); break; default: // These tests are dangerous, prompt before them. @@ -432,13 +433,13 @@ private void test() throws IOException, TestException { switch (cfg.testSuite) { case "wrong": - suite = new WrongCurvesSuite(dataStore, cfg); + suite = new CardWrongCurvesSuite(dataStore, cfg); break; case "composite": - suite = new CompositeCurvesSuite(dataStore, cfg); + suite = new CardCompositeCurvesSuite(dataStore, cfg); break; case "invalid": - suite = new InvalidCurvesSuite(dataStore, cfg); + suite = new CardInvalidCurvesSuite(dataStore, cfg); break; default: System.err.println("Unknown test suite."); diff --git a/src/cz/crcs/ectester/reader/output/TextTestWriter.java b/src/cz/crcs/ectester/reader/output/TextTestWriter.java index a4bb33e4..06b6ea8c 100644 --- a/src/cz/crcs/ectester/reader/output/TextTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/TextTestWriter.java @@ -4,7 +4,7 @@ import cz.crcs.ectester.common.test.CompoundTest; import cz.crcs.ectester.common.test.Test; import cz.crcs.ectester.reader.test.CommandTest; -import cz.crcs.ectester.reader.test.TestSuite; +import cz.crcs.ectester.reader.test.CardTestSuite; import java.io.PrintStream; @@ -23,7 +23,7 @@ public TextTestWriter(PrintStream output) { } @Override - public void begin(TestSuite suite) { + public void begin(CardTestSuite suite) { output.println("=== Running test suite: " + suite.getName() + " ==="); output.println("=== " + suite.getDescription()); } diff --git a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java index 1a949845..d889c3a5 100644 --- a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java @@ -7,7 +7,7 @@ import cz.crcs.ectester.reader.response.Response; import cz.crcs.ectester.common.test.Test; import cz.crcs.ectester.reader.test.CommandTest; -import cz.crcs.ectester.reader.test.TestSuite; +import cz.crcs.ectester.reader.test.CardTestSuite; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -38,7 +38,7 @@ public XMLTestWriter(OutputStream output) throws ParserConfigurationException { } @Override - public void begin(TestSuite suite) { + public void begin(CardTestSuite suite) { doc = db.newDocument(); Element rootElem = doc.createElement("testSuite"); rootElem.setAttribute("name", suite.getName()); diff --git a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java index e0038fd3..cd89b1a7 100644 --- a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java @@ -7,7 +7,7 @@ import cz.crcs.ectester.reader.response.Response; import cz.crcs.ectester.common.test.Test; import cz.crcs.ectester.reader.test.CommandTest; -import cz.crcs.ectester.reader.test.TestSuite; +import cz.crcs.ectester.reader.test.CardTestSuite; import org.yaml.snakeyaml.DumperOptions; import org.yaml.snakeyaml.Yaml; @@ -31,7 +31,7 @@ public YAMLTestWriter(PrintStream output) { } @Override - public void begin(TestSuite suite) { + public void begin(CardTestSuite suite) { output.println("---"); testRun = new HashMap<>(); testSuite = new HashMap<>(); diff --git a/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java b/src/cz/crcs/ectester/reader/test/CardCompositeCurvesSuite.java similarity index 95% rename from src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java rename to src/cz/crcs/ectester/reader/test/CardCompositeCurvesSuite.java index 8a023812..930a0d0d 100644 --- a/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardCompositeCurvesSuite.java @@ -17,9 +17,9 @@ /** * @author Jan Jancar johny@neuromancer.sk */ -public class CompositeCurvesSuite extends TestSuite { +public class CardCompositeCurvesSuite extends CardTestSuite { - public CompositeCurvesSuite(EC_Store dataStore, ECTesterReader.Config cfg) { + public CardCompositeCurvesSuite(EC_Store dataStore, ECTesterReader.Config cfg) { super(dataStore, cfg, "composite", "The composite suite tests ECDH over curves with composite order. This should generally fail, as using such a curve is unsafe."); } diff --git a/src/cz/crcs/ectester/reader/test/DefaultSuite.java b/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java similarity index 96% rename from src/cz/crcs/ectester/reader/test/DefaultSuite.java rename to src/cz/crcs/ectester/reader/test/CardDefaultSuite.java index 881480c7..06818d4a 100644 --- a/src/cz/crcs/ectester/reader/test/DefaultSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java @@ -15,9 +15,9 @@ /** * @author Jan Jancar johny@neuromancer.sk */ -public class DefaultSuite extends TestSuite { +public class CardDefaultSuite extends CardTestSuite { - public DefaultSuite(EC_Store dataStore, ECTesterReader.Config cfg) { + public CardDefaultSuite(EC_Store dataStore, ECTesterReader.Config cfg) { super(dataStore, cfg, "default", "The default test suite tests basic support of ECDH and ECDSA."); } diff --git a/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java b/src/cz/crcs/ectester/reader/test/CardInvalidCurvesSuite.java similarity index 96% rename from src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java rename to src/cz/crcs/ectester/reader/test/CardInvalidCurvesSuite.java index 96e4ca27..e4e55c9b 100644 --- a/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardInvalidCurvesSuite.java @@ -23,9 +23,9 @@ /** * @author Jan Jancar johny@neuromancer.sk */ -public class InvalidCurvesSuite extends TestSuite { +public class CardInvalidCurvesSuite extends CardTestSuite { - public InvalidCurvesSuite(EC_Store dataStore, ECTesterReader.Config cfg) { + public CardInvalidCurvesSuite(EC_Store dataStore, ECTesterReader.Config cfg) { super(dataStore, cfg, "invalid", "The invalid curve suite tests whether the card rejects points outside of the curve during ECDH."); } diff --git a/src/cz/crcs/ectester/reader/test/TestSuite.java b/src/cz/crcs/ectester/reader/test/CardTestSuite.java similarity index 92% rename from src/cz/crcs/ectester/reader/test/TestSuite.java rename to src/cz/crcs/ectester/reader/test/CardTestSuite.java index e722960e..e3cc1558 100644 --- a/src/cz/crcs/ectester/reader/test/TestSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardTestSuite.java @@ -6,6 +6,7 @@ import cz.crcs.ectester.common.test.CompoundTest; import cz.crcs.ectester.common.test.Result; import cz.crcs.ectester.common.test.Test; +import cz.crcs.ectester.common.test.TestSuite; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTesterReader; @@ -24,34 +25,16 @@ /** * @author Jan Jancar johny@neuromancer.sk */ -public abstract class TestSuite { - EC_Store dataStore; +public abstract class CardTestSuite extends TestSuite { ECTesterReader.Config cfg; - String name; - String description; - List tests = new LinkedList<>(); - TestSuite(EC_Store dataStore, ECTesterReader.Config cfg, String name, String description) { - this.dataStore = dataStore; + CardTestSuite(EC_Store dataStore, ECTesterReader.Config cfg, String name, String description) { + super(dataStore, name, description); this.cfg = cfg; - this.name = name; - this.description = description; } public abstract void setup(CardMngr cardManager) throws IOException; - public List getTests() { - return Collections.unmodifiableList(tests); - } - - public String getName() { - return name; - } - - public String getDescription() { - return description; - } - /** * @param cardManager cardManager to send APDU through * @param generateExpected expected result of the Generate command diff --git a/src/cz/crcs/ectester/reader/test/TestVectorSuite.java b/src/cz/crcs/ectester/reader/test/CardTestVectorSuite.java similarity index 97% rename from src/cz/crcs/ectester/reader/test/TestVectorSuite.java rename to src/cz/crcs/ectester/reader/test/CardTestVectorSuite.java index c89cfa6b..72e3cce5 100644 --- a/src/cz/crcs/ectester/reader/test/TestVectorSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardTestVectorSuite.java @@ -26,9 +26,9 @@ /** * @author Jan Jancar johny@neuromancer.sk */ -public class TestVectorSuite extends TestSuite { +public class CardTestVectorSuite extends CardTestSuite { - public TestVectorSuite(EC_Store dataStore, ECTesterReader.Config cfg) { + public CardTestVectorSuite(EC_Store dataStore, ECTesterReader.Config cfg) { super(dataStore, cfg, "test", "The test-vectors suite contains a collection of test vectors which test basic ECDH correctness."); } diff --git a/src/cz/crcs/ectester/reader/test/WrongCurvesSuite.java b/src/cz/crcs/ectester/reader/test/CardWrongCurvesSuite.java similarity index 90% rename from src/cz/crcs/ectester/reader/test/WrongCurvesSuite.java rename to src/cz/crcs/ectester/reader/test/CardWrongCurvesSuite.java index 76da7184..4c529da2 100644 --- a/src/cz/crcs/ectester/reader/test/WrongCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardWrongCurvesSuite.java @@ -12,9 +12,9 @@ /** * @author Jan Jancar johny@neuromancer.sk */ -public class WrongCurvesSuite extends TestSuite { +public class CardWrongCurvesSuite extends CardTestSuite { - public WrongCurvesSuite(EC_Store dataStore, ECTesterReader.Config cfg) { + public CardWrongCurvesSuite(EC_Store dataStore, ECTesterReader.Config cfg) { super(dataStore, cfg, "wrong", "The wrong curve suite tests whether the card rejects domain parameters which are not curves."); } From e14a28d7e6db9ad270e52a16b0ca3616cd8abfd5 Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 6 Dec 2017 00:18:45 +0100 Subject: [PATCH 44/91] Fix TestWriters. --- src/cz/crcs/ectester/reader/output/TextTestWriter.java | 3 ++- src/cz/crcs/ectester/reader/output/XMLTestWriter.java | 3 ++- src/cz/crcs/ectester/reader/output/YAMLTestWriter.java | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/cz/crcs/ectester/reader/output/TextTestWriter.java b/src/cz/crcs/ectester/reader/output/TextTestWriter.java index 06b6ea8c..b6cd51c7 100644 --- a/src/cz/crcs/ectester/reader/output/TextTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/TextTestWriter.java @@ -3,6 +3,7 @@ import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.common.test.CompoundTest; import cz.crcs.ectester.common.test.Test; +import cz.crcs.ectester.common.test.TestSuite; import cz.crcs.ectester.reader.test.CommandTest; import cz.crcs.ectester.reader.test.CardTestSuite; @@ -23,7 +24,7 @@ public TextTestWriter(PrintStream output) { } @Override - public void begin(CardTestSuite suite) { + public void begin(TestSuite suite) { output.println("=== Running test suite: " + suite.getName() + " ==="); output.println("=== " + suite.getDescription()); } diff --git a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java index d889c3a5..19c14f1d 100644 --- a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java @@ -2,6 +2,7 @@ import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.common.test.CompoundTest; +import cz.crcs.ectester.common.test.TestSuite; import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.response.Response; @@ -38,7 +39,7 @@ public XMLTestWriter(OutputStream output) throws ParserConfigurationException { } @Override - public void begin(CardTestSuite suite) { + public void begin(TestSuite suite) { doc = db.newDocument(); Element rootElem = doc.createElement("testSuite"); rootElem.setAttribute("name", suite.getName()); diff --git a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java index cd89b1a7..5107970a 100644 --- a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java @@ -2,6 +2,7 @@ import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.common.test.CompoundTest; +import cz.crcs.ectester.common.test.TestSuite; import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.response.Response; @@ -31,7 +32,7 @@ public YAMLTestWriter(PrintStream output) { } @Override - public void begin(CardTestSuite suite) { + public void begin(TestSuite suite) { output.println("---"); testRun = new HashMap<>(); testSuite = new HashMap<>(); From 9a13e3bb1792d2be7c438808ec1f5eb42272a038 Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 6 Dec 2017 00:27:32 +0100 Subject: [PATCH 45/91] Add new gcc version to Travis config. --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index b95b1654..a1bda6ad 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,11 @@ addons: apt: + sources: + - ubuntu-toolchain-r-test packages: - libtomcrypt-dev - libtommath-dev + - gcc-6 language: java jdk: - oraclejdk8 From 7302ddf38c3cc322b76bbba83a0ba6943cb16bf5 Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 6 Dec 2017 01:22:48 +0100 Subject: [PATCH 46/91] Fix CommandTest getDescription. --- .../ectester/common/test/BaseTestable.java | 3 +- .../crcs/ectester/reader/command/Command.java | 67 ++++++++++++++++++- .../ectester/reader/test/CommandTest.java | 6 +- 3 files changed, 71 insertions(+), 5 deletions(-) diff --git a/src/cz/crcs/ectester/common/test/BaseTestable.java b/src/cz/crcs/ectester/common/test/BaseTestable.java index 6a63b131..f8ebf486 100644 --- a/src/cz/crcs/ectester/common/test/BaseTestable.java +++ b/src/cz/crcs/ectester/common/test/BaseTestable.java @@ -2,6 +2,7 @@ import java.util.Collections; import java.util.Map; +import java.util.TreeMap; /** * @author Jan Jancar johny@neuromancer.sk @@ -11,7 +12,7 @@ public abstract class BaseTestable implements Testable { protected boolean ok; protected boolean error; - protected Map meta; + protected Map meta = new TreeMap<>(); @Override public boolean hasRun() { diff --git a/src/cz/crcs/ectester/reader/command/Command.java b/src/cz/crcs/ectester/reader/command/Command.java index b60db531..922a33aa 100644 --- a/src/cz/crcs/ectester/reader/command/Command.java +++ b/src/cz/crcs/ectester/reader/command/Command.java @@ -214,13 +214,19 @@ public Response.Allocate send() throws CardException { elapsed += System.nanoTime(); return new Response.Allocate(response, elapsed, keyPair, keyLength, keyClass); } + + @Override + public String toString() { + return "Allocate"; + } } - - public static class AllocateKeyAgreement extends Command { + /** + * + */ + public static class AllocateKeyAgreement extends Command { private byte kaType; - /** * Creates the INS_ALLOCATE_KA instruction. * @@ -241,6 +247,11 @@ public Response.AllocateKeyAgreement send() throws CardException { elapsed += System.nanoTime(); return new Response.AllocateKeyAgreement(response, elapsed, kaType); } + + @Override + public String toString() { + return "AllocateKeyAgreement"; + } } /** @@ -267,6 +278,11 @@ public Response.Clear send() throws CardException { elapsed += System.nanoTime(); return new Response.Clear(response, elapsed, keyPair); } + + @Override + public String toString() { + return "Clear"; + } } /** @@ -311,6 +327,11 @@ public Response.Set send() throws CardException { elapsed += System.nanoTime(); return new Response.Set(response, elapsed, keyPair, curve, params); } + + @Override + public String toString() { + return "Set"; + } } /** @@ -350,6 +371,11 @@ public Response.Corrupt send() throws CardException { elapsed += System.nanoTime(); return new Response.Corrupt(response, elapsed, keyPair, key, params, corruption); } + + @Override + public String toString() { + return "Corrupt"; + } } /** @@ -378,6 +404,11 @@ public Response.Generate send() throws CardException { elapsed += System.nanoTime(); return new Response.Generate(response, elapsed, keyPair); } + + @Override + public String toString() { + return "Generate"; + } } /** @@ -415,6 +446,11 @@ public Response.Export send() throws CardException { elapsed += System.nanoTime(); return new Response.Export(response, elapsed, keyPair, key, params); } + + @Override + public String toString() { + return "Export"; + } } /** @@ -458,6 +494,11 @@ public Response.ECDH send() throws CardException { elapsed += System.nanoTime(); return new Response.ECDH(response, elapsed, pubkey, privkey, export, corruption, type); } + + @Override + public String toString() { + return "ECDH"; + } } /** @@ -503,6 +544,11 @@ public Response.ECDH send() throws CardException { elapsed += System.nanoTime(); return new Response.ECDH(response, elapsed, ECTesterApplet.KEYPAIR_REMOTE, privkey, export, corruption, type); } + + @Override + public String toString() { + return "ECDH_direct"; + } } public static class ECDSA extends Command { @@ -541,6 +587,11 @@ public Response.ECDSA send() throws CardException { elapsed += System.nanoTime(); return new Response.ECDSA(response, elapsed, keyPair, export, raw); } + + @Override + public String toString() { + return "ECDSA"; + } } /** @@ -564,6 +615,11 @@ public Response.Cleanup send() throws CardException { elapsed += System.nanoTime(); return new Response.Cleanup(response, elapsed); } + + @Override + public String toString() { + return "Cleanup"; + } } /** @@ -587,6 +643,11 @@ public Response.Support send() throws CardException { elapsed += System.nanoTime(); return new Response.Support(response, elapsed); } + + @Override + public String toString() { + return "Support"; + } } } diff --git a/src/cz/crcs/ectester/reader/test/CommandTest.java b/src/cz/crcs/ectester/reader/test/CommandTest.java index e88f4762..a08d820b 100644 --- a/src/cz/crcs/ectester/reader/test/CommandTest.java +++ b/src/cz/crcs/ectester/reader/test/CommandTest.java @@ -67,6 +67,10 @@ public void run() throws TestException { @Override public String getDescription() { - return null; + if (hasRun) { + return testable.getResponse().getDescription(); + } else { + return testable.getCommand().toString(); + } } } From e069087e36540452ea03d4f3d97ca8f8f715c799 Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 6 Dec 2017 15:03:02 +0100 Subject: [PATCH 47/91] Extract TestWriters into common. --- .../common/output/TestableWriter.java | 35 ++++++++-- .../output/TextTestWriter.java | 44 +++++-------- .../output/XMLTestWriter.java | 65 +++++++++++++++++-- .../output/YAMLTestWriter.java | 54 +++++++++++++-- .../crcs/ectester/common/test/TestRunner.java | 3 +- .../crcs/ectester/reader/ECTesterReader.java | 3 +- .../reader/output/ResponseWriter.java | 8 ++- .../ectester/reader/test/CommandTestable.java | 4 +- 8 files changed, 167 insertions(+), 49 deletions(-) rename src/cz/crcs/ectester/{reader => common}/output/TextTestWriter.java (56%) rename src/cz/crcs/ectester/{reader => common}/output/XMLTestWriter.java (67%) rename src/cz/crcs/ectester/{reader => common}/output/YAMLTestWriter.java (62%) diff --git a/src/cz/crcs/ectester/common/output/TestableWriter.java b/src/cz/crcs/ectester/common/output/TestableWriter.java index a15193a0..98760645 100644 --- a/src/cz/crcs/ectester/common/output/TestableWriter.java +++ b/src/cz/crcs/ectester/common/output/TestableWriter.java @@ -1,6 +1,12 @@ package cz.crcs.ectester.common.output; import cz.crcs.ectester.common.test.BaseTestable; +import cz.crcs.ectester.reader.output.ResponseWriter; +import cz.crcs.ectester.reader.response.Response; +import cz.crcs.ectester.reader.test.CommandTestable; +import cz.crcs.ectester.standalone.test.KeyAgreementTestable; +import cz.crcs.ectester.standalone.test.KeyGeneratorTestable; +import cz.crcs.ectester.standalone.test.SignatureTestable; import java.io.OutputStream; import java.io.PrintStream; @@ -10,29 +16,50 @@ */ public class TestableWriter { private PrintStream output; + private ResponseWriter respWriter; public TestableWriter(PrintStream output) { this.output = output; + this.respWriter = new ResponseWriter(output); } public TestableWriter(OutputStream output) { this(new PrintStream(output)); } + public String outputTestableSuffix(BaseTestable t) { + if (t instanceof CommandTestable) { + Response r = ((CommandTestable) t).getResponse(); + return respWriter.responseSuffix(r); + } else if (t instanceof KeyAgreementTestable) { - public String outputTestableMeta(BaseTestable t) { + } else if (t instanceof KeyGeneratorTestable) { + + } else if (t instanceof SignatureTestable) { + + } return null; } - public void writeTestableMeta(BaseTestable t) { - + public void writeTestableSuffix(BaseTestable t) { + output.println(outputTestableSuffix(t)); } public String outputTestable(BaseTestable t) { + if (t instanceof CommandTestable) { + CommandTestable testable = (CommandTestable) t; + return respWriter.responseString(testable.getResponse()); + } else if (t instanceof KeyAgreementTestable) { + + } else if (t instanceof KeyGeneratorTestable) { + + } else if (t instanceof SignatureTestable) { + + } return null; } public void writeTestable(BaseTestable t) { - + output.println(outputTestable(t)); } } diff --git a/src/cz/crcs/ectester/reader/output/TextTestWriter.java b/src/cz/crcs/ectester/common/output/TextTestWriter.java similarity index 56% rename from src/cz/crcs/ectester/reader/output/TextTestWriter.java rename to src/cz/crcs/ectester/common/output/TextTestWriter.java index b6cd51c7..2691ccba 100644 --- a/src/cz/crcs/ectester/reader/output/TextTestWriter.java +++ b/src/cz/crcs/ectester/common/output/TextTestWriter.java @@ -1,11 +1,9 @@ -package cz.crcs.ectester.reader.output; +package cz.crcs.ectester.common.output; -import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.common.test.CompoundTest; +import cz.crcs.ectester.common.test.SimpleTest; import cz.crcs.ectester.common.test.Test; import cz.crcs.ectester.common.test.TestSuite; -import cz.crcs.ectester.reader.test.CommandTest; -import cz.crcs.ectester.reader.test.CardTestSuite; import java.io.PrintStream; @@ -14,13 +12,13 @@ */ public class TextTestWriter implements TestWriter { private PrintStream output; - private ResponseWriter respWriter; + private TestableWriter testableWriter; public static int BASE_WIDTH = 76; public TextTestWriter(PrintStream output) { this.output = output; - this.respWriter = new ResponseWriter(output); + this.testableWriter = new TestableWriter(output); } @Override @@ -35,27 +33,17 @@ private String testString(Test t, int offset) { } StringBuilder out = new StringBuilder(); - if (t instanceof CommandTest) { - CommandTest test = (CommandTest) t; - out.append(test.ok() ? "OK " : "NOK "); - out.append("━ "); - int width = BASE_WIDTH - (offset + out.length()); - String widthSpec = "%-" + String.valueOf(width) + "s"; - out.append(String.format(widthSpec, t.getDescription())); - out.append(" ┃ "); - out.append(String.format("%-9s", test.getResultValue().name())); - out.append(" ┃ "); - out.append(respWriter.responseSuffix(test.getResponse())); - } else { + out.append(t.ok() ? "OK " : "NOK "); + out.append("━ "); + int width = BASE_WIDTH - (offset + out.length()); + String widthSpec = "%-" + String.valueOf(width) + "s"; + out.append(String.format(widthSpec, t.getDescription())); + out.append(" ┃ "); + out.append(String.format("%-9s", t.getResultValue().name())); + out.append(" ┃ "); + + if (t instanceof CompoundTest) { CompoundTest test = (CompoundTest) t; - out.append(test.ok() ? "OK " : "NOK "); - out.append("┳ "); - int width = BASE_WIDTH - (offset + out.length()); - String widthSpec = "%-" + String.valueOf(width) + "s"; - out.append(String.format(widthSpec, t.getDescription())); - out.append(" ┃ "); - out.append(String.format("%-9s", test.getResultValue().name())); - out.append(" ┃ "); out.append(test.getResultCause()); out.append(System.lineSeparator()); Test[] tests = test.getTests(); @@ -70,8 +58,10 @@ private String testString(Test t, int offset) { out.append(System.lineSeparator()); } } + } else { + SimpleTest test = (SimpleTest) t; + out.append(testableWriter.outputTestableSuffix(test.getTestable())); } - return out.toString(); } diff --git a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java b/src/cz/crcs/ectester/common/output/XMLTestWriter.java similarity index 67% rename from src/cz/crcs/ectester/reader/output/XMLTestWriter.java rename to src/cz/crcs/ectester/common/output/XMLTestWriter.java index 19c14f1d..4139330e 100644 --- a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java +++ b/src/cz/crcs/ectester/common/output/XMLTestWriter.java @@ -1,14 +1,13 @@ -package cz.crcs.ectester.reader.output; +package cz.crcs.ectester.common.output; -import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.common.test.CompoundTest; +import cz.crcs.ectester.common.test.Test; import cz.crcs.ectester.common.test.TestSuite; import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.response.Response; -import cz.crcs.ectester.common.test.Test; import cz.crcs.ectester.reader.test.CommandTest; -import cz.crcs.ectester.reader.test.CardTestSuite; +import cz.crcs.ectester.standalone.test.*; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -23,6 +22,8 @@ import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import java.io.OutputStream; +import java.security.PrivateKey; +import java.security.PublicKey; /** * @author Jan Jancar johny@neuromancer.sk @@ -90,14 +91,68 @@ private Element responseElement(Response r) { return responseElem; } + private Element kaElement(KeyAgreementTestable kat) { + Element katElem = doc.createElement("key-agreement"); + + Element secret = doc.createElement("secret"); + secret.setTextContent(ByteUtil.bytesToHex(kat.getSecret())); + katElem.appendChild(secret); + + return katElem; + } + + private Element kgtElement(KeyGeneratorTestable kgt) { + Element kgtElem = doc.createElement("key-pair-generator"); + + Element keyPair = doc.createElement("key-pair"); + Element pubkey = doc.createElement("pubkey"); + PublicKey pkey = kgt.getKeyPair().getPublic(); + pubkey.setAttribute("algorithm", pkey.getAlgorithm()); + pubkey.setAttribute("format", pkey.getFormat()); + pubkey.setTextContent(ByteUtil.bytesToHex(pkey.getEncoded())); + keyPair.appendChild(pubkey); + + Element privkey = doc.createElement("privkey"); + PrivateKey skey = kgt.getKeyPair().getPrivate(); + privkey.setAttribute("algorithm", skey.getAlgorithm()); + privkey.setAttribute("format", skey.getFormat()); + privkey.setTextContent(ByteUtil.bytesToHex(skey.getEncoded())); + keyPair.appendChild(privkey); + + return kgtElem; + } + + private Element sigElement(SignatureTestable sig) { + Element sigElem = doc.createElement("signature"); + sigElem.setAttribute("verified", sig.getVerified() ? "true" : "false"); + + Element raw = doc.createElement("raw"); + raw.setTextContent(ByteUtil.bytesToHex(sig.getSignature())); + sigElem.appendChild(raw); + + return sigElem; + } + private Element testElement(Test t) { Element testElem = doc.createElement("test"); if (t instanceof CommandTest) { CommandTest test = (CommandTest) t; - testElem.setAttribute("type", "simple"); + testElem.setAttribute("type", "command"); testElem.appendChild(commandElement(test.getCommand())); testElem.appendChild(responseElement(test.getResponse())); + } else if (t instanceof KeyAgreementTest) { + KeyAgreementTest test = (KeyAgreementTest) t; + testElem.setAttribute("type", "key-agreement"); + testElem.appendChild(kaElement(test.getTestable())); + } else if (t instanceof KeyGeneratorTest) { + KeyGeneratorTest test = (KeyGeneratorTest) t; + testElem.setAttribute("type", "key-pair-generator"); + testElem.appendChild(kgtElement(test.getTestable())); + } else if (t instanceof SignatureTest) { + SignatureTest test = (SignatureTest) t; + testElem.setAttribute("type", "signature"); + testElem.appendChild(sigElement(test.getTestable())); } else if (t instanceof CompoundTest) { CompoundTest test = (CompoundTest) t; testElem.setAttribute("type", "compound"); diff --git a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java b/src/cz/crcs/ectester/common/output/YAMLTestWriter.java similarity index 62% rename from src/cz/crcs/ectester/reader/output/YAMLTestWriter.java rename to src/cz/crcs/ectester/common/output/YAMLTestWriter.java index 5107970a..ba9fa434 100644 --- a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java +++ b/src/cz/crcs/ectester/common/output/YAMLTestWriter.java @@ -1,18 +1,19 @@ -package cz.crcs.ectester.reader.output; +package cz.crcs.ectester.common.output; -import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.common.test.CompoundTest; +import cz.crcs.ectester.common.test.Test; import cz.crcs.ectester.common.test.TestSuite; import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.response.Response; -import cz.crcs.ectester.common.test.Test; import cz.crcs.ectester.reader.test.CommandTest; -import cz.crcs.ectester.reader.test.CardTestSuite; +import cz.crcs.ectester.standalone.test.*; import org.yaml.snakeyaml.DumperOptions; import org.yaml.snakeyaml.Yaml; import java.io.PrintStream; +import java.security.PrivateKey; +import java.security.PublicKey; import java.util.HashMap; import java.util.LinkedList; import java.util.List; @@ -65,14 +66,57 @@ private Map responseObject(Response r) { return responseObj; } + private Map kaObject(KeyAgreementTestable kat) { + Map katObject = new HashMap<>(); + katObject.put("secret", ByteUtil.bytesToHex(kat.getSecret())); + return katObject; + } + + private Map kgtObject(KeyGeneratorTestable kgt) { + Map kgtObject = new HashMap<>(); + Map pubObject = new HashMap<>(); + PublicKey pkey = kgt.getKeyPair().getPublic(); + pubObject.put("algorithm", pkey.getAlgorithm()); + pubObject.put("format", pkey.getFormat()); + pubObject.put("raw", ByteUtil.bytesToHex(pkey.getEncoded())); + kgtObject.put("pubkey", pubObject); + + Map privObject = new HashMap<>(); + PrivateKey skey = kgt.getKeyPair().getPrivate(); + privObject.put("algorithm", skey.getAlgorithm()); + privObject.put("format", skey.getFormat()); + privObject.put("raw", ByteUtil.bytesToHex(skey.getEncoded())); + kgtObject.put("privkey", privObject); + return kgtObject; + } + + private Map sigObject(SignatureTestable sig) { + Map sigObject = new HashMap<>(); + sigObject.put("verified", sig.getVerified()); + sigObject.put("raw", ByteUtil.bytesToHex(sig.getSignature())); + return sigObject; + } + private Map testObject(Test t) { Map testObj = new HashMap<>(); if (t instanceof CommandTest) { CommandTest test = (CommandTest) t; - testObj.put("type", "simple"); + testObj.put("type", "command"); testObj.put("command", commandObject(test.getCommand())); testObj.put("response", responseObject(test.getResponse())); + } else if (t instanceof KeyAgreementTest) { + KeyAgreementTest test = (KeyAgreementTest) t; + testObj.put("type", "key-agreement"); + testObj.put("key-agreement", kaObject(test.getTestable())); + } else if (t instanceof KeyGeneratorTest) { + KeyGeneratorTest test = (KeyGeneratorTest) t; + testObj.put("type", "key-pair-generator"); + testObj.put("key-pair-generator", kgtObject(test.getTestable())); + } else if (t instanceof SignatureTest) { + SignatureTest test = (SignatureTest) t; + testObj.put("type", "signature"); + testObj.put("signature", sigObject(test.getTestable())); } else if (t instanceof CompoundTest) { CompoundTest test = (CompoundTest) t; testObj.put("type", "compound"); diff --git a/src/cz/crcs/ectester/common/test/TestRunner.java b/src/cz/crcs/ectester/common/test/TestRunner.java index 8564d2c4..ef448c2c 100644 --- a/src/cz/crcs/ectester/common/test/TestRunner.java +++ b/src/cz/crcs/ectester/common/test/TestRunner.java @@ -1,7 +1,6 @@ package cz.crcs.ectester.common.test; import cz.crcs.ectester.common.output.TestWriter; -import cz.crcs.ectester.reader.test.CardTestSuite; /** * @author Jan Jancar johny@neuromancer.sk @@ -10,7 +9,7 @@ public class TestRunner { private TestSuite suite; private TestWriter writer; - public TestRunner(CardTestSuite suite, TestWriter writer) { + public TestRunner(TestSuite suite, TestWriter writer) { this.suite = suite; this.writer = writer; } diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index be01129a..6fa70686 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -25,8 +25,7 @@ import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.common.cli.CLITools; import cz.crcs.ectester.common.ec.EC_Params; -import cz.crcs.ectester.common.output.OutputLogger; -import cz.crcs.ectester.common.output.TestWriter; +import cz.crcs.ectester.common.output.*; import cz.crcs.ectester.common.test.TestException; import cz.crcs.ectester.common.test.TestRunner; import cz.crcs.ectester.common.util.ByteUtil; diff --git a/src/cz/crcs/ectester/reader/output/ResponseWriter.java b/src/cz/crcs/ectester/reader/output/ResponseWriter.java index 1dbfdfa9..f8837f83 100644 --- a/src/cz/crcs/ectester/reader/output/ResponseWriter.java +++ b/src/cz/crcs/ectester/reader/output/ResponseWriter.java @@ -29,11 +29,15 @@ public String responseSuffix(Response r) { return String.format("%4d ms ┃ %s", r.getDuration() / 1000000, suffix); } - public void outputResponse(Response r) { + public String responseString(Response r) { String out = ""; out += String.format("%-70s", r.getDescription()) + " ┃ "; out += responseSuffix(r); - output.println(out); + return out; + } + + public void outputResponse(Response r) { + output.println(responseString(r)); output.flush(); } } diff --git a/src/cz/crcs/ectester/reader/test/CommandTestable.java b/src/cz/crcs/ectester/reader/test/CommandTestable.java index f09a7365..4025c61a 100644 --- a/src/cz/crcs/ectester/reader/test/CommandTestable.java +++ b/src/cz/crcs/ectester/reader/test/CommandTestable.java @@ -41,7 +41,7 @@ public void run() throws TestException { ok = true; } meta.clear(); - meta.put("Natural SW", response.getNaturalSW()); - meta.put("SWs", response.getSWs()); + meta.put("natural-sw", response.getNaturalSW()); + meta.put("sws", response.getSWs()); } } From 9a1cfb31473c89c70dc603f7ae0298ea677577a0 Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 6 Dec 2017 15:11:38 +0100 Subject: [PATCH 48/91] Fix ant includes. --- nbproject/reader/project.properties | 3 ++- nbproject/standalone/project.properties | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/nbproject/reader/project.properties b/nbproject/reader/project.properties index 21441b3c..5eb8ae3e 100644 --- a/nbproject/reader/project.properties +++ b/nbproject/reader/project.properties @@ -30,9 +30,10 @@ dist.javadoc.dir=${dist.dir}/javadoc libs.CopyLibs.classpath=nbproject/copylibstask.jar endorsed.classpath= excludes= -includes=**/applet/**,**/common/**,**/data/**,**/reader/** +includes=**/applet/**,**/common/**,**/data/**,**/reader/**,**/standalone/** jar.compress=false javac.classpath=\ + lib/bcprov-jdk15on-1.58.jar:\ lib/jcardsim-3.0.4-SNAPSHOT.jar:\ lib/commons-cli-1.3.1.jar:\ lib/snakeyaml-1.19.jar diff --git a/nbproject/standalone/project.properties b/nbproject/standalone/project.properties index 9fed4c25..2d3a9ebd 100644 --- a/nbproject/standalone/project.properties +++ b/nbproject/standalone/project.properties @@ -30,7 +30,7 @@ dist.javadoc.dir=${dist.dir}/javadoc libs.CopyLibs.classpath=nbproject/copylibstask.jar endorsed.classpath= excludes= -includes=**/common/**,**/standalone/**,**/data/**,**/applet/* +includes=**/common/**,**/standalone/**,**/data/**,**/applet/*,**/reader/** jar.compress=false javac.classpath=\ lib/bcprov-jdk15on-1.58.jar:\ From 21da331c7a6e5db64ec5f1b59ce0ece624f6b760 Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 6 Dec 2017 19:07:44 +0100 Subject: [PATCH 49/91] Implement basic standalone testing. --- .../ectester/reader/test/CardTestSuite.java | 1 - .../standalone/ECTesterStandalone.java | 373 +++++++++--------- .../ectester/standalone/consts/Ident.java | 3 + .../standalone/test/KeyAgreementTest.java | 2 +- .../standalone/test/KeyAgreementTestable.java | 64 ++- .../standalone/test/KeyGeneratorTest.java | 2 +- .../standalone/test/SignatureTest.java | 16 +- .../standalone/test/SignatureTestable.java | 22 +- .../test/StandaloneDefaultSuite.java | 76 ++++ .../standalone/test/StandaloneTestSuite.java | 24 ++ 10 files changed, 386 insertions(+), 197 deletions(-) create mode 100644 src/cz/crcs/ectester/standalone/test/StandaloneDefaultSuite.java create mode 100644 src/cz/crcs/ectester/standalone/test/StandaloneTestSuite.java diff --git a/src/cz/crcs/ectester/reader/test/CardTestSuite.java b/src/cz/crcs/ectester/reader/test/CardTestSuite.java index e3cc1558..3da5158b 100644 --- a/src/cz/crcs/ectester/reader/test/CardTestSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardTestSuite.java @@ -13,7 +13,6 @@ import cz.crcs.ectester.reader.command.Command; import java.io.IOException; -import java.util.Collections; import java.util.LinkedList; import java.util.List; import java.util.Map; diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index 5ecff9b6..433e6a8b 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -2,6 +2,9 @@ import cz.crcs.ectester.common.cli.*; import cz.crcs.ectester.common.ec.EC_Curve; +import cz.crcs.ectester.common.output.TextTestWriter; +import cz.crcs.ectester.common.test.TestException; +import cz.crcs.ectester.common.test.TestRunner; import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.common.util.ECUtil; import cz.crcs.ectester.data.EC_Store; @@ -9,6 +12,8 @@ import cz.crcs.ectester.standalone.consts.KeyPairGeneratorIdent; import cz.crcs.ectester.standalone.consts.SignatureIdent; import cz.crcs.ectester.standalone.libs.*; +import cz.crcs.ectester.standalone.test.StandaloneDefaultSuite; +import cz.crcs.ectester.standalone.test.StandaloneTestSuite; import org.apache.commons.cli.DefaultParser; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; @@ -34,7 +39,7 @@ * @version v0.1.0 */ public class ECTesterStandalone { - private ECLibrary[] libs = new ECLibrary[]{new SunECLib(), new BouncyCastleLib(), new TomcryptLib()}; + private ProviderECLibrary[] libs = new ProviderECLibrary[]{new SunECLib(), new BouncyCastleLib(), new TomcryptLib()}; private EC_Store dataStore; private Config cfg; @@ -91,9 +96,7 @@ private void run(String[] args) { System.err.println("Invalid algorithm parameter: " + e.getMessage()); } catch (NoSuchAlgorithmException nsaex) { System.err.println("Algorithm not supported by the selected library: " + nsaex.getMessage()); - } catch (InvalidKeyException e) { - e.printStackTrace(); - } catch (SignatureException e) { + } catch (InvalidKeyException | SignatureException | TestException e) { e.printStackTrace(); } } @@ -103,6 +106,11 @@ private TreeCommandLine parseArgs(String[] args) throws ParseException { Options testOpts = new Options(); ParserOptions test = new ParserOptions(new DefaultParser(), testOpts); + testOpts.addOption(Option.builder("gt").longOpt("kpg-type").desc("Set the KeyPairGenerator object [type].").hasArg().argName("type").optionalArg(false).build()); + testOpts.addOption(Option.builder("kt").longOpt("ka-type").desc("Set the KeyAgreement object [type].").hasArg().argName("type").optionalArg(false).build()); + testOpts.addOption(Option.builder("st").longOpt("sig-type").desc("Set the Signature object [type].").hasArg().argName("type").optionalArg(false).build()); + testOpts.addOption(Option.builder("b").longOpt("bits").hasArg().argName("n").optionalArg(false).desc("What size of curve to use.").build()); + testOpts.addOption(Option.builder("nc").longOpt("named-curve").desc("Use a named curve, from CurveDB: ").hasArg().argName("cat/id").build()); actions.put("test", test); Options ecdhOpts = new Options(); @@ -188,70 +196,68 @@ private void listLibraries() { * */ private void ecdh() throws NoSuchAlgorithmException, InvalidAlgorithmParameterException, InvalidKeyException { - if (cfg.selected instanceof ProviderECLibrary) { - ProviderECLibrary lib = (ProviderECLibrary) cfg.selected; - - String algo = cli.getOptionValue("ecdh.type", "ECDH"); - KeyAgreementIdent kaIdent = lib.getKAs().stream() - .filter((ident) -> ident.contains(algo)) - .findFirst() - .orElse(null); - - KeyPairGeneratorIdent kpIdent = lib.getKPGs().stream() - .filter((ident) -> ident.contains(algo)) - .findFirst() - .orElse(lib.getKPGs().stream() - .filter((ident) -> ident.contains("EC")) - .findFirst() - .orElse(null)); - - - if (kaIdent == null || kpIdent == null) { - throw new NoSuchAlgorithmException(algo); - } else { - KeyAgreement ka = kaIdent.getInstance(lib.getProvider()); - KeyPairGenerator kpg = kpIdent.getInstance(lib.getProvider()); - AlgorithmParameterSpec spec = null; - if (cli.hasOption("ecdh.bits")) { - int bits = Integer.parseInt(cli.getOptionValue("ecdh.bits")); - kpg.initialize(bits); - } else if (cli.hasOption("ecdh.named-curve")) { - String curveName = cli.getOptionValue("ecdh.named-curve"); - EC_Curve curve = dataStore.getObject(EC_Curve.class, curveName); - if (curve == null) { - System.err.println("Curve not found: " + curveName); - return; - } - spec = curve.toSpec(); - kpg.initialize(spec); + ProviderECLibrary lib = cfg.selected; + + String algo = cli.getOptionValue("ecdh.type", "ECDH"); + KeyAgreementIdent kaIdent = lib.getKAs().stream() + .filter((ident) -> ident.contains(algo)) + .findFirst() + .orElse(null); + + KeyPairGeneratorIdent kpIdent = lib.getKPGs().stream() + .filter((ident) -> ident.contains(algo)) + .findFirst() + .orElse(lib.getKPGs().stream() + .filter((ident) -> ident.contains("EC")) + .findFirst() + .orElse(null)); + + + if (kaIdent == null || kpIdent == null) { + throw new NoSuchAlgorithmException(algo); + } else { + KeyAgreement ka = kaIdent.getInstance(lib.getProvider()); + KeyPairGenerator kpg = kpIdent.getInstance(lib.getProvider()); + AlgorithmParameterSpec spec = null; + if (cli.hasOption("ecdh.bits")) { + int bits = Integer.parseInt(cli.getOptionValue("ecdh.bits")); + kpg.initialize(bits); + } else if (cli.hasOption("ecdh.named-curve")) { + String curveName = cli.getOptionValue("ecdh.named-curve"); + EC_Curve curve = dataStore.getObject(EC_Curve.class, curveName); + if (curve == null) { + System.err.println("Curve not found: " + curveName); + return; } + spec = curve.toSpec(); + kpg.initialize(spec); + } - System.out.println("index;nanotime;pubW;privS;secret"); + System.out.println("index;nanotime;pubW;privS;secret"); - int amount = Integer.parseInt(cli.getOptionValue("ecdh.amount", "1")); - for (int i = 0; i < amount; ++i) { - KeyPair one = kpg.genKeyPair(); - KeyPair other = kpg.genKeyPair(); + int amount = Integer.parseInt(cli.getOptionValue("ecdh.amount", "1")); + for (int i = 0; i < amount; ++i) { + KeyPair one = kpg.genKeyPair(); + KeyPair other = kpg.genKeyPair(); - ECPrivateKey privkey = (ECPrivateKey) one.getPrivate(); - ECPublicKey pubkey = (ECPublicKey) other.getPublic(); + ECPrivateKey privkey = (ECPrivateKey) one.getPrivate(); + ECPublicKey pubkey = (ECPublicKey) other.getPublic(); - long elapsed = -System.nanoTime(); - if (spec != null) { - ka.init(privkey, spec); - } else { - ka.init(privkey); - } - ka.doPhase(pubkey, true); - elapsed += System.nanoTime(); - byte[] result = ka.generateSecret(); - ka = kaIdent.getInstance(lib.getProvider()); - - String pub = ByteUtil.bytesToHex(ECUtil.toX962Uncompressed(pubkey.getW(), pubkey.getParams()), false); - String priv = ByteUtil.bytesToHex(privkey.getS().toByteArray(), false); - String dh = ByteUtil.bytesToHex(result, false); - System.out.println(String.format("%d;%d;%s;%s;%s", i, elapsed, pub, priv, dh)); + long elapsed = -System.nanoTime(); + if (spec != null) { + ka.init(privkey, spec); + } else { + ka.init(privkey); } + ka.doPhase(pubkey, true); + elapsed += System.nanoTime(); + byte[] result = ka.generateSecret(); + ka = kaIdent.getInstance(lib.getProvider()); + + String pub = ByteUtil.bytesToHex(ECUtil.toX962Uncompressed(pubkey.getW(), pubkey.getParams()), false); + String priv = ByteUtil.bytesToHex(privkey.getS().toByteArray(), false); + String dh = ByteUtil.bytesToHex(result, false); + System.out.println(String.format("%d;%d;%s;%s;%s", i, elapsed, pub, priv, dh)); } } } @@ -278,70 +284,68 @@ private void ecdsa() throws NoSuchAlgorithmException, InvalidAlgorithmParameterE dataString = ByteUtil.bytesToHex(data, false); } - if (cfg.selected instanceof ProviderECLibrary) { - ProviderECLibrary lib = (ProviderECLibrary) cfg.selected; - - String algo = cli.getOptionValue("ecdsa.type", "ECDSA"); - SignatureIdent sigIdent = lib.getSigs().stream() - .filter((ident) -> ident.contains(algo)) - .findFirst() - .orElse(null); - - KeyPairGeneratorIdent kpIdent = lib.getKPGs().stream() - .filter((ident) -> ident.contains(algo)) - .findFirst() - .orElse(lib.getKPGs().stream() - .filter((ident) -> ident.contains("EC")) - .findFirst() - .orElse(null)); - - if (sigIdent == null || kpIdent == null) { - throw new NoSuchAlgorithmException(algo); - } else { - Signature sig = sigIdent.getInstance(lib.getProvider()); - KeyPairGenerator kpg = kpIdent.getInstance(lib.getProvider()); - if (cli.hasOption("ecdsa.bits")) { - int bits = Integer.parseInt(cli.getOptionValue("ecdsa.bits")); - kpg.initialize(bits); - } else if (cli.hasOption("ecdsa.named-curve")) { - String curveName = cli.getOptionValue("ecdsa.named-curve"); - EC_Curve curve = dataStore.getObject(EC_Curve.class, curveName); - if (curve == null) { - System.err.println("Curve not found: " + curveName); - return; - } - kpg.initialize(curve.toSpec()); + ProviderECLibrary lib = cfg.selected; + + String algo = cli.getOptionValue("ecdsa.type", "ECDSA"); + SignatureIdent sigIdent = lib.getSigs().stream() + .filter((ident) -> ident.contains(algo)) + .findFirst() + .orElse(null); + + KeyPairGeneratorIdent kpIdent = lib.getKPGs().stream() + .filter((ident) -> ident.contains(algo)) + .findFirst() + .orElse(lib.getKPGs().stream() + .filter((ident) -> ident.contains("EC")) + .findFirst() + .orElse(null)); + + if (sigIdent == null || kpIdent == null) { + throw new NoSuchAlgorithmException(algo); + } else { + Signature sig = sigIdent.getInstance(lib.getProvider()); + KeyPairGenerator kpg = kpIdent.getInstance(lib.getProvider()); + if (cli.hasOption("ecdsa.bits")) { + int bits = Integer.parseInt(cli.getOptionValue("ecdsa.bits")); + kpg.initialize(bits); + } else if (cli.hasOption("ecdsa.named-curve")) { + String curveName = cli.getOptionValue("ecdsa.named-curve"); + EC_Curve curve = dataStore.getObject(EC_Curve.class, curveName); + if (curve == null) { + System.err.println("Curve not found: " + curveName); + return; } + kpg.initialize(curve.toSpec()); + } - System.out.println("index;data;signtime;verifytime;pubW;privS;signature;verified"); + System.out.println("index;data;signtime;verifytime;pubW;privS;signature;verified"); - int amount = Integer.parseInt(cli.getOptionValue("ecdsa.amount", "1")); - for (int i = 0; i < amount; ++i) { - KeyPair one = kpg.genKeyPair(); + int amount = Integer.parseInt(cli.getOptionValue("ecdsa.amount", "1")); + for (int i = 0; i < amount; ++i) { + KeyPair one = kpg.genKeyPair(); - ECPrivateKey privkey = (ECPrivateKey) one.getPrivate(); - ECPublicKey pubkey = (ECPublicKey) one.getPublic(); + ECPrivateKey privkey = (ECPrivateKey) one.getPrivate(); + ECPublicKey pubkey = (ECPublicKey) one.getPublic(); - sig.initSign(privkey); - sig.update(data); + sig.initSign(privkey); + sig.update(data); - long signTime = -System.nanoTime(); - byte[] signature = sig.sign(); - signTime += System.nanoTime(); + long signTime = -System.nanoTime(); + byte[] signature = sig.sign(); + signTime += System.nanoTime(); - sig.initVerify(pubkey); - sig.update(data); + sig.initVerify(pubkey); + sig.update(data); - long verifyTime = -System.nanoTime(); - boolean verified = sig.verify(signature); - verifyTime += System.nanoTime(); + long verifyTime = -System.nanoTime(); + boolean verified = sig.verify(signature); + verifyTime += System.nanoTime(); - String pub = ByteUtil.bytesToHex(ECUtil.toX962Uncompressed(pubkey.getW(), pubkey.getParams()), false); - String priv = ByteUtil.bytesToHex(privkey.getS().toByteArray(), false); - String sign = ByteUtil.bytesToHex(signature, false); - System.out.println(String.format("%d;%s;%d;%d;%s;%s;%s;%d", i, dataString, signTime, verifyTime, pub, priv, sign, verified ? 1 : 0)); - } + String pub = ByteUtil.bytesToHex(ECUtil.toX962Uncompressed(pubkey.getW(), pubkey.getParams()), false); + String priv = ByteUtil.bytesToHex(privkey.getS().toByteArray(), false); + String sign = ByteUtil.bytesToHex(signature, false); + System.out.println(String.format("%d;%s;%d;%d;%s;%s;%s;%d", i, dataString, signTime, verifyTime, pub, priv, sign, verified ? 1 : 0)); } } } @@ -350,46 +354,44 @@ private void ecdsa() throws NoSuchAlgorithmException, InvalidAlgorithmParameterE * */ private void generate() throws NoSuchAlgorithmException, InvalidAlgorithmParameterException { - if (cfg.selected instanceof ProviderECLibrary) { - ProviderECLibrary lib = (ProviderECLibrary) cfg.selected; - KeyPairGeneratorIdent ident = null; - String algo = cli.getOptionValue("generate.type", "EC"); - for (KeyPairGeneratorIdent kpIdent : lib.getKPGs()) { - if (kpIdent.contains(algo)) { - ident = kpIdent; - break; - } + ProviderECLibrary lib = cfg.selected; + KeyPairGeneratorIdent ident = null; + String algo = cli.getOptionValue("generate.type", "EC"); + for (KeyPairGeneratorIdent kpIdent : lib.getKPGs()) { + if (kpIdent.contains(algo)) { + ident = kpIdent; + break; } - if (ident == null) { - throw new NoSuchAlgorithmException(algo); - } else { - KeyPairGenerator kpg = ident.getInstance(lib.getProvider()); - if (cli.hasOption("generate.bits")) { - int bits = Integer.parseInt(cli.getOptionValue("generate.bits")); - kpg.initialize(bits); - } else if (cli.hasOption("generate.named-curve")) { - String curveName = cli.getOptionValue("generate.named-curve"); - EC_Curve curve = dataStore.getObject(EC_Curve.class, curveName); - if (curve == null) { - System.err.println("Curve not found: " + curveName); - return; - } - kpg.initialize(curve.toSpec()); - } - System.out.println("index;nanotime;pubW;privS"); - - int amount = Integer.parseInt(cli.getOptionValue("generate.amount", "1")); - for (int i = 0; i < amount; ++i) { - long elapsed = -System.nanoTime(); - KeyPair kp = kpg.genKeyPair(); - elapsed += System.nanoTime(); - ECPublicKey publicKey = (ECPublicKey) kp.getPublic(); - ECPrivateKey privateKey = (ECPrivateKey) kp.getPrivate(); - - String pub = ByteUtil.bytesToHex(ECUtil.toX962Uncompressed(publicKey.getW(), publicKey.getParams()), false); - String priv = ByteUtil.bytesToHex(privateKey.getS().toByteArray(), false); - System.out.println(String.format("%d;%d;%s;%s", i, elapsed, pub, priv)); + } + if (ident == null) { + throw new NoSuchAlgorithmException(algo); + } else { + KeyPairGenerator kpg = ident.getInstance(lib.getProvider()); + if (cli.hasOption("generate.bits")) { + int bits = Integer.parseInt(cli.getOptionValue("generate.bits")); + kpg.initialize(bits); + } else if (cli.hasOption("generate.named-curve")) { + String curveName = cli.getOptionValue("generate.named-curve"); + EC_Curve curve = dataStore.getObject(EC_Curve.class, curveName); + if (curve == null) { + System.err.println("Curve not found: " + curveName); + return; } + kpg.initialize(curve.toSpec()); + } + System.out.println("index;nanotime;pubW;privS"); + + int amount = Integer.parseInt(cli.getOptionValue("generate.amount", "1")); + for (int i = 0; i < amount; ++i) { + long elapsed = -System.nanoTime(); + KeyPair kp = kpg.genKeyPair(); + elapsed += System.nanoTime(); + ECPublicKey publicKey = (ECPublicKey) kp.getPublic(); + ECPrivateKey privateKey = (ECPrivateKey) kp.getPrivate(); + + String pub = ByteUtil.bytesToHex(ECUtil.toX962Uncompressed(publicKey.getW(), publicKey.getParams()), false); + String priv = ByteUtil.bytesToHex(privateKey.getS().toByteArray(), false); + System.out.println(String.format("%d;%d;%s;%s", i, elapsed, pub, priv)); } } } @@ -397,39 +399,40 @@ private void generate() throws NoSuchAlgorithmException, InvalidAlgorithmParamet /** * */ - private void test() { - + private void test() throws NoSuchAlgorithmException, TestException { + StandaloneTestSuite suite = new StandaloneDefaultSuite(dataStore, cfg, cli); + TestRunner runner = new TestRunner(suite, new TextTestWriter(System.out)); + suite.setup(); + runner.run(); } /** * */ private void export() throws NoSuchAlgorithmException, IOException { - if (cfg.selected instanceof ProviderECLibrary) { - ProviderECLibrary lib = (ProviderECLibrary) cfg.selected; - KeyPairGeneratorIdent ident = null; - String algo = cli.getOptionValue("export.type", "EC"); - for (KeyPairGeneratorIdent kpIdent : lib.getKPGs()) { - if (kpIdent.contains(algo)) { - ident = kpIdent; - break; - } + ProviderECLibrary lib = (ProviderECLibrary) cfg.selected; + KeyPairGeneratorIdent ident = null; + String algo = cli.getOptionValue("export.type", "EC"); + for (KeyPairGeneratorIdent kpIdent : lib.getKPGs()) { + if (kpIdent.contains(algo)) { + ident = kpIdent; + break; } - if (ident == null) { - throw new NoSuchAlgorithmException(algo); - } else { - KeyPairGenerator kpg = ident.getInstance(lib.getProvider()); - if (cli.hasOption("export.bits")) { - int bits = Integer.parseInt(cli.getOptionValue("export.bits")); - kpg.initialize(bits); - } - KeyPair kp = kpg.genKeyPair(); - ECPrivateKey privateKey = (ECPrivateKey) kp.getPrivate(); - ECParameterSpec params = privateKey.getParams(); - System.out.println(params); - EC_Curve curve = EC_Curve.fromSpec(params); - curve.writeCSV(System.out); + } + if (ident == null) { + throw new NoSuchAlgorithmException(algo); + } else { + KeyPairGenerator kpg = ident.getInstance(lib.getProvider()); + if (cli.hasOption("export.bits")) { + int bits = Integer.parseInt(cli.getOptionValue("export.bits")); + kpg.initialize(bits); } + KeyPair kp = kpg.genKeyPair(); + ECPrivateKey privateKey = (ECPrivateKey) kp.getPrivate(); + ECParameterSpec params = privateKey.getParams(); + System.out.println(params); + EC_Curve curve = EC_Curve.fromSpec(params); + curve.writeCSV(System.out); } } @@ -443,15 +446,15 @@ public static void main(String[] args) { * */ public static class Config { - private ECLibrary[] libs; - public ECLibrary selected = null; + private ProviderECLibrary[] libs; + public ProviderECLibrary selected = null; - public Config(ECLibrary[] libs) { + public Config(ProviderECLibrary[] libs) { this.libs = libs; } boolean readOptions(TreeCommandLine cli) { - if (cli.isNext("generate") || cli.isNext("export") || cli.isNext("ecdh") || cli.isNext("ecdsa")) { + if (cli.isNext("generate") || cli.isNext("export") || cli.isNext("ecdh") || cli.isNext("ecdsa") || cli.isNext("test")) { if (!cli.hasArg(-1)) { System.err.println("Missing library name argument."); return false; @@ -466,8 +469,8 @@ boolean readOptions(TreeCommandLine cli) { String libraryName = cli.getArg(-1); if (libraryName != null) { - List matchedLibs = new LinkedList<>(); - for (ECLibrary lib : libs) { + List matchedLibs = new LinkedList<>(); + for (ProviderECLibrary lib : libs) { if (lib.name().toLowerCase().contains(libraryName.toLowerCase())) { matchedLibs.add(lib); } diff --git a/src/cz/crcs/ectester/standalone/consts/Ident.java b/src/cz/crcs/ectester/standalone/consts/Ident.java index e2556c52..40a44ac2 100644 --- a/src/cz/crcs/ectester/standalone/consts/Ident.java +++ b/src/cz/crcs/ectester/standalone/consts/Ident.java @@ -42,6 +42,9 @@ T getInstance(BiFunction getter, Provider provider) thr for (String alias : idents) { try { instance = getter.apply(alias, provider); + if (instance != null) { + break; + } } catch (Exception ignored) { } } diff --git a/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java b/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java index 9604e757..e273a44c 100644 --- a/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java +++ b/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java @@ -43,7 +43,7 @@ public static KeyAgreementTest function(KeyAgreementTestable ka, TestCallback cal super(sig, callback); } + public static SignatureTest expect(SignatureTestable kg, Result.ExpectedValue expected) { + return new SignatureTest(kg, new TestCallback() { + @Override + public Result apply(SignatureTestable signatureTestable) { + return new Result(Result.Value.fromExpected(expected, signatureTestable.ok(), signatureTestable.error())); + } + }); + } + + public static SignatureTest function(SignatureTestable ka, TestCallback callback) { + return new SignatureTest(ka, callback); + } + @Override public String getDescription() { - return null; + return "Signature test"; } @Override diff --git a/src/cz/crcs/ectester/standalone/test/SignatureTestable.java b/src/cz/crcs/ectester/standalone/test/SignatureTestable.java index 8b6815b1..564a6bff 100644 --- a/src/cz/crcs/ectester/standalone/test/SignatureTestable.java +++ b/src/cz/crcs/ectester/standalone/test/SignatureTestable.java @@ -2,9 +2,9 @@ import cz.crcs.ectester.common.test.BaseTestable; import cz.crcs.ectester.common.test.TestException; -import cz.crcs.ectester.common.test.Testable; import java.security.InvalidKeyException; +import java.security.SecureRandom; import java.security.Signature; import java.security.SignatureException; import java.security.interfaces.ECPrivateKey; @@ -14,6 +14,7 @@ public class SignatureTestable extends BaseTestable { private Signature sig; private ECPrivateKey signKey; private ECPublicKey verifyKey; + private KeyGeneratorTestable kgt; private byte[] data; private byte[] signature; private boolean verified; @@ -23,6 +24,20 @@ public SignatureTestable(Signature sig, ECPrivateKey signKey, ECPublicKey verify this.signKey = signKey; this.verifyKey = verifyKey; this.data = data; + if (data == null) { + SecureRandom random = new SecureRandom(); + this.data = new byte[32]; + random.nextBytes(this.data); + } + } + + public SignatureTestable(Signature sig, KeyGeneratorTestable kgt, byte[] data) { + this(sig, null, null, data); + this.kgt = kgt; + } + + public byte[] getData() { + return data; } public byte[] getSignature() { @@ -35,6 +50,11 @@ public boolean getVerified() { @Override public void run() throws TestException { + if (kgt != null) { + signKey = (ECPrivateKey) kgt.getKeyPair().getPrivate(); + verifyKey = (ECPublicKey) kgt.getKeyPair().getPublic(); + } + try { sig.initSign(signKey); } catch (InvalidKeyException e) { diff --git a/src/cz/crcs/ectester/standalone/test/StandaloneDefaultSuite.java b/src/cz/crcs/ectester/standalone/test/StandaloneDefaultSuite.java new file mode 100644 index 00000000..7056d69b --- /dev/null +++ b/src/cz/crcs/ectester/standalone/test/StandaloneDefaultSuite.java @@ -0,0 +1,76 @@ +package cz.crcs.ectester.standalone.test; + +import cz.crcs.ectester.common.cli.TreeCommandLine; +import cz.crcs.ectester.common.ec.EC_Curve; +import cz.crcs.ectester.common.test.Result; +import cz.crcs.ectester.data.EC_Store; +import cz.crcs.ectester.standalone.ECTesterStandalone; +import cz.crcs.ectester.standalone.consts.KeyAgreementIdent; +import cz.crcs.ectester.standalone.consts.KeyPairGeneratorIdent; +import cz.crcs.ectester.standalone.consts.SignatureIdent; + +import javax.crypto.KeyAgreement; +import java.security.KeyPairGenerator; +import java.security.NoSuchAlgorithmException; +import java.security.Signature; +import java.security.spec.ECParameterSpec; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class StandaloneDefaultSuite extends StandaloneTestSuite { + + public StandaloneDefaultSuite(EC_Store dataStore, ECTesterStandalone.Config cfg, TreeCommandLine cli) { + super(dataStore, cfg, cli, "default", "The default test suite tests basic support of ECDH and ECDSA."); + } + + @Override + public void setup() throws NoSuchAlgorithmException { + String kpgAlgo = cli.getOptionValue("test.kpg-type", "EC"); + String kaAlgo = cli.getOptionValue("test.ka-type"); + String sigAlgo = cli.getOptionValue("test.sig-type"); + + KeyPairGeneratorIdent kpgIdent = cfg.selected.getKPGs().stream() + .filter((ident) -> ident.contains(kpgAlgo)) + .findFirst().get(); + KeyPairGenerator kpg = kpgIdent.getInstance(cfg.selected.getProvider()); + + KeyGeneratorTestable kgtOne; + KeyGeneratorTestable kgtOther; + ECParameterSpec spec = null; + if (cli.hasOption("test.bits")) { + int bits = Integer.parseInt(cli.getOptionValue("test.bits")); + kgtOne = new KeyGeneratorTestable(kpg, bits); + kgtOther = new KeyGeneratorTestable(kpg, bits); + } else if (cli.hasOption("test.named-curve")) { + String curveName = cli.getOptionValue("test.named-curve"); + EC_Curve curve = dataStore.getObject(EC_Curve.class, curveName); + if (curve == null) { + System.err.println("Curve not found: " + curveName); + return; + } + spec = curve.toSpec(); + kgtOne = new KeyGeneratorTestable(kpg, spec); + kgtOther = new KeyGeneratorTestable(kpg, spec); + } else { + kgtOne = new KeyGeneratorTestable(kpg); + kgtOther = new KeyGeneratorTestable(kpg); + } + + tests.add(KeyGeneratorTest.expect(kgtOne, Result.ExpectedValue.SUCCESS)); + tests.add(KeyGeneratorTest.expect(kgtOther, Result.ExpectedValue.SUCCESS)); + + for (KeyAgreementIdent kaIdent : cfg.selected.getKAs()) { + if (kaAlgo == null || kaIdent.contains(kaAlgo)) { + KeyAgreement ka = kaIdent.getInstance(cfg.selected.getProvider()); + tests.add(KeyAgreementTest.expect(new KeyAgreementTestable(ka, kgtOne, kgtOther, spec), Result.ExpectedValue.SUCCESS)); + } + } + for (SignatureIdent sigIdent : cfg.selected.getSigs()) { + if (sigAlgo == null || sigIdent.contains(sigAlgo)) { + Signature sig = sigIdent.getInstance(cfg.selected.getProvider()); + tests.add(SignatureTest.expect(new SignatureTestable(sig, kgtOne, null), Result.ExpectedValue.SUCCESS)); + } + } + } +} diff --git a/src/cz/crcs/ectester/standalone/test/StandaloneTestSuite.java b/src/cz/crcs/ectester/standalone/test/StandaloneTestSuite.java new file mode 100644 index 00000000..5682cd59 --- /dev/null +++ b/src/cz/crcs/ectester/standalone/test/StandaloneTestSuite.java @@ -0,0 +1,24 @@ +package cz.crcs.ectester.standalone.test; + +import cz.crcs.ectester.common.cli.TreeCommandLine; +import cz.crcs.ectester.common.test.TestSuite; +import cz.crcs.ectester.data.EC_Store; +import cz.crcs.ectester.standalone.ECTesterStandalone; + +import java.security.NoSuchAlgorithmException; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public abstract class StandaloneTestSuite extends TestSuite { + TreeCommandLine cli; + ECTesterStandalone.Config cfg; + + public StandaloneTestSuite(EC_Store dataStore, ECTesterStandalone.Config cfg, TreeCommandLine cli, String name, String description) { + super(dataStore, name, description); + this.cfg = cfg; + this.cli = cli; + } + + public abstract void setup() throws NoSuchAlgorithmException; +} From ad5049198a295c4f918fe08211d860e64e1f73ac Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 6 Dec 2017 21:03:08 +0100 Subject: [PATCH 50/91] Add Botan library. --- build-standalone.xml | 7 + .../standalone/ECTesterStandalone.java | 2 +- .../ectester/standalone/libs/BotanLib.java | 20 ++ .../standalone/libs/NativeECLibrary.java | 28 ++- .../ectester/standalone/libs/jni/Makefile | 12 +- .../libs/jni/NativeECPrivateKey.java | 16 +- .../libs/jni/NativeECPublicKey.java | 16 +- .../libs/jni/NativeKeyAgreementSpi.java | 6 + .../libs/jni/NativeKeyPairGeneratorSpi.java | 19 ++ .../standalone/libs/jni/NativeProvider.java | 10 + .../libs/jni/NativeSignatureSpi.java | 8 + .../ectester/standalone/libs/jni/botan.cpp | 110 +++++++++++ .../ectester/standalone/libs/jni/native.h | 171 ++++++++++++++++++ 13 files changed, 417 insertions(+), 8 deletions(-) create mode 100644 src/cz/crcs/ectester/standalone/libs/BotanLib.java create mode 100644 src/cz/crcs/ectester/standalone/libs/jni/botan.cpp diff --git a/build-standalone.xml b/build-standalone.xml index ef6ab2a9..ea160c85 100644 --- a/build-standalone.xml +++ b/build-standalone.xml @@ -102,6 +102,13 @@ + + + + + + + diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index 433e6a8b..d9525e95 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -39,7 +39,7 @@ * @version v0.1.0 */ public class ECTesterStandalone { - private ProviderECLibrary[] libs = new ProviderECLibrary[]{new SunECLib(), new BouncyCastleLib(), new TomcryptLib()}; + private ProviderECLibrary[] libs = new ProviderECLibrary[]{new SunECLib(), new BouncyCastleLib(), new TomcryptLib(), new BotanLib()}; private EC_Store dataStore; private Config cfg; diff --git a/src/cz/crcs/ectester/standalone/libs/BotanLib.java b/src/cz/crcs/ectester/standalone/libs/BotanLib.java new file mode 100644 index 00000000..cd28791e --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/BotanLib.java @@ -0,0 +1,20 @@ +package cz.crcs.ectester.standalone.libs; + +import java.security.Provider; +import java.util.Set; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class BotanLib extends NativeECLibrary { + + public BotanLib() { + super("botan_provider", "botan-2"); + } + + @Override + native Provider createProvider(); + + @Override + public native Set getCurves(); +} diff --git a/src/cz/crcs/ectester/standalone/libs/NativeECLibrary.java b/src/cz/crcs/ectester/standalone/libs/NativeECLibrary.java index e059c190..0a420a14 100644 --- a/src/cz/crcs/ectester/standalone/libs/NativeECLibrary.java +++ b/src/cz/crcs/ectester/standalone/libs/NativeECLibrary.java @@ -2,6 +2,7 @@ import java.io.File; import java.io.IOException; +import java.lang.reflect.Field; import java.net.URL; import java.net.URLConnection; import java.nio.file.Files; @@ -27,6 +28,7 @@ public NativeECLibrary(String resource, String... requirements) { @Override public boolean initialize() { try { + /* Determine what OS are we running on and use appropriate suffix and path. */ String suffix; Path appData; if (System.getProperty("os.name").startsWith("Windows")) { @@ -56,6 +58,10 @@ public boolean initialize() { } URLConnection jarConnection = jarURL.openConnection(); + /* Only write the file if it does not exist, + * or if the existing one is older than the + * one in the JAR. + */ boolean write = false; if (libDirFile.isDirectory() && libFile.isFile()) { long jarModified = jarConnection.getLastModified(); @@ -75,16 +81,36 @@ public boolean initialize() { } jarConnection.getInputStream().close(); + /* + * Need to hack in /usr/local/lib to path. + * See: https://stackoverflow.com/questions/5419039/is-djava-library-path-equivalent-to-system-setpropertyjava-library-path/24988095#24988095 + */ + String path = System.getProperty("java.library.path"); + if (suffix.equals("so")) { + String newPath = path + ":/usr/local/lib"; + System.setProperty("java.library.path", newPath); + Field fieldSysPath; + try { + fieldSysPath = ClassLoader.class.getDeclaredField( "sys_paths" ); + fieldSysPath.setAccessible( true ); + fieldSysPath.set( null, null ); + } catch (NoSuchFieldException | IllegalAccessException ignored) { + } + } + for (String requirement : requriements) { System.loadLibrary(requirement); } + if (suffix.equals("so")) { + System.setProperty("java.library.path", path); + } + System.load(libPath.toString()); provider = createProvider(); return super.initialize(); } catch (IOException | UnsatisfiedLinkError ignored) { - } return false; } diff --git a/src/cz/crcs/ectester/standalone/libs/jni/Makefile b/src/cz/crcs/ectester/standalone/libs/jni/Makefile index b60452f2..78433c9a 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/Makefile +++ b/src/cz/crcs/ectester/standalone/libs/jni/Makefile @@ -31,16 +31,24 @@ endif JNI_PLATFORMINCLUDEDIR ?= $(JNI_INCLUDEDIR)/$(JNI_PLATFORM) +LOCAL_INCLUDES = /usr/local/include +LOCAL_LIBS = /usr/local/lib -all: tomcrypt_provider.so +all: tomcrypt_provider.so botan_provider.so tomcrypt_provider.so: tomcrypt.o gcc -fPIC -g -shared -o $@ $< -L. -ltommath -ltomcrypt -%.o: %.c +tomcrypt.o: tomcrypt.c gcc -DLTM_DESC -fPIC -g -I"$(JNI_INCLUDEDIR)" -I"$(JNI_PLATFORMINCLUDEDIR)" -I. -c $< +botan_provider.so: botan.o + g++ -fPIC -g -shared -o $@ $< -L. -L"$(LOCAL_LIBS)" -lbotan-2 -fstack-protector -m64 -pthread + +botan.o: botan.cpp + g++ -fPIC -g -I"$(LOCAL_INCLUDES)/botan-2" -I"$(JNI_INCLUDEDIR)" -I"$(JNI_PLATFORMINCLUDEDIR)" -I. -c $< + clean: rm -rf *.o rm -rf *.so diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeECPrivateKey.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeECPrivateKey.java index 6f6cde3f..22e53294 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/NativeECPrivateKey.java +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeECPrivateKey.java @@ -28,11 +28,11 @@ public String getFormat() { return format; } - public static class TomCrypt extends NativeECPrivateKey { + private static class Raw extends NativeECPrivateKey { private byte[] keyData; private ECParameterSpec params; - public TomCrypt(byte[] keyData, ECParameterSpec params) { + public Raw(byte[] keyData, ECParameterSpec params) { super("EC", "raw"); this.keyData = keyData; this.params = params; @@ -53,4 +53,16 @@ public ECParameterSpec getParams() { return params; } } + + public static class TomCrypt extends Raw { + public TomCrypt(byte[] keyData, ECParameterSpec params) { + super(keyData, params); + } + } + + public static class Botan extends Raw { + public Botan(byte[] keyData, ECParameterSpec params) { + super(keyData, params); + } + } } diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeECPublicKey.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeECPublicKey.java index c3791c4b..8fc47475 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/NativeECPublicKey.java +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeECPublicKey.java @@ -29,11 +29,11 @@ public String getFormat() { return format; } - public static class TomCrypt extends NativeECPublicKey { + private static class ANSIX962 extends NativeECPublicKey { private byte[] keyData; private ECParameterSpec params; - public TomCrypt(byte[] keyData, ECParameterSpec params) { + public ANSIX962(byte[] keyData, ECParameterSpec params) { super("EC", "ANSI X9.62"); this.keyData = keyData; this.params = params; @@ -54,4 +54,16 @@ public ECParameterSpec getParams() { return params; } } + + public static class TomCrypt extends ANSIX962 { + public TomCrypt(byte[] keyData, ECParameterSpec params) { + super(keyData, params); + } + } + + public static class Botan extends ANSIX962 { + public Botan(byte[] keyData, ECParameterSpec params) { + super(keyData, params); + } + } } diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java index a58c0c8e..8875948c 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java @@ -88,4 +88,10 @@ public static class TomCrypt extends NativeKeyAgreementSpi { @Override native byte[] generateSecret(byte[] pubkey, byte[] privkey, ECParameterSpec params); } + + public static class Botan extends NativeKeyAgreementSpi { + + @Override + native byte[] generateSecret(byte[] pubkey, byte[] privkey, ECParameterSpec params); + } } diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java index d2cc59dc..5b8a54ba 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java @@ -71,4 +71,23 @@ public TomCrypt() { @Override native KeyPair generate(AlgorithmParameterSpec params, SecureRandom random); } + + public static class Botan extends NativeKeyPairGeneratorSpi { + + public Botan() { + initialize(256, new SecureRandom()); + } + + @Override + native boolean keysizeSupported(int keysize); + + @Override + native boolean paramsSupported(AlgorithmParameterSpec params); + + @Override + native KeyPair generate(int keysize, SecureRandom random); + + @Override + native KeyPair generate(AlgorithmParameterSpec params, SecureRandom random); + } } diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeProvider.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeProvider.java index a2233e20..a0689d62 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/NativeProvider.java +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeProvider.java @@ -29,4 +29,14 @@ public TomCrypt(String name, double version, String info) { @Override native void setup(); } + + public static class Botan extends NativeProvider { + + public Botan(String name, double version, String info) { + super(name, version, info); + } + + @Override + native void setup(); + } } diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java index 76f01f0f..8894f846 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java @@ -83,6 +83,14 @@ public static class TomCryptRaw extends NativeSignatureSpi { @Override native boolean verify(byte[] signature, byte[] data, byte[] pubkey, ECParameterSpec params); + } + + public static class Botan extends NativeSignatureSpi { + @Override + native byte[] sign(byte[] data, byte[] privkey, ECParameterSpec params); + + @Override + native boolean verify(byte[] signature, byte[] data, byte[] pubkey, ECParameterSpec params); } } diff --git a/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp b/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp new file mode 100644 index 00000000..9c2394f7 --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp @@ -0,0 +1,110 @@ +#include "native.h" +#include +#include + +static jclass provider_class; + +/* + * Class: cz_crcs_ectester_standalone_libs_BotanLib + * Method: createProvider + * Signature: ()Ljava/security/Provider; + */ +JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_BotanLib_createProvider(JNIEnv *env, jobject self) { + /* Create the custom provider. */ + jclass local_provider_class = env->FindClass("cz/crcs/ectester/standalone/libs/jni/NativeProvider$Botan"); + provider_class = (jclass) env->NewGlobalRef(local_provider_class); + + jmethodID init = env->GetMethodID(local_provider_class, "", "(Ljava/lang/String;DLjava/lang/String;)V"); + + const char* info_str = Botan::version_cstr(); + const char* v_str = Botan::short_version_cstr(); + std::string name_str = Botan::short_version_string(); + name_str.insert(0, "Botan "); + + jstring name = env->NewStringUTF(name_str.c_str()); + double version = strtod(v_str, NULL); + jstring info = env->NewStringUTF(info_str); + + return env->NewObject(provider_class, init, name, version, info); +} + +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeProvider_Botan + * Method: setup + * Signature: ()V + */ +JNIEXPORT void JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeProvider_00024Botan_setup(JNIEnv *env, jobject self){ + +} + +/* + * Class: cz_crcs_ectester_standalone_libs_BotanLib + * Method: getCurves + * Signature: ()Ljava/util/Set; + */ +JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_BotanLib_getCurves(JNIEnv *env, jobject self){ + +} + +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_Botan + * Method: keysizeSupported + * Signature: (I)Z + */ +JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024Botan_keysizeSupported(JNIEnv *env, jobject self, jint keysize){ + +} + +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_Botan + * Method: paramsSupported + * Signature: (Ljava/security/spec/AlgorithmParameterSpec;)Z + */ +JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024Botan_paramsSupported(JNIEnv *env, jobject self, jobject params){ + +} + +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_Botan + * Method: generate + * Signature: (ILjava/security/SecureRandom;)Ljava/security/KeyPair; + */ +JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024Botan_generate__ILjava_security_SecureRandom_2(JNIEnv *env, jobject self, jint keysize, jobject random){ + +} + +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_Botan + * Method: generate + * Signature: (Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)Ljava/security/KeyPair; + */ +JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024Botan_generate__Ljava_security_spec_AlgorithmParameterSpec_2Ljava_security_SecureRandom_2(JNIEnv *env, jobject self, jobject params, jobject random){ + +} + +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeKeyAgreementSpi_Botan + * Method: generateSecret + * Signature: ([B[BLjava/security/spec/ECParameterSpec;)[B + */ +JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyAgreementSpi_00024Botan_generateSecret(JNIEnv *env, jobject self, jbyteArray pubkey, jbyteArray privkey, jobject params){ + +} + +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_Botan + * Method: sign + * Signature: ([B[BLjava/security/spec/ECParameterSpec;)[B + */ +JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_00024Botan_sign(JNIEnv *env, jobject self, jbyteArray data, jbyteArray privkey, jobject params){ + +} + +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_Botan + * Method: verify + * Signature: ([B[B[BLjava/security/spec/ECParameterSpec;)Z + */ +JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_00024Botan_verify(JNIEnv *env, jobject self, jbyteArray signature, jbyteArray data, jbyteArray pubkey, jobject params){ + +} \ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/libs/jni/native.h b/src/cz/crcs/ectester/standalone/libs/jni/native.h index 852dd53f..d714b39b 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/native.h +++ b/src/cz/crcs/ectester/standalone/libs/jni/native.h @@ -171,3 +171,174 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSigna } #endif #endif +/* Header for class cz_crcs_ectester_standalone_libs_BotanLib */ + +#ifndef _Included_cz_crcs_ectester_standalone_libs_BotanLib +#define _Included_cz_crcs_ectester_standalone_libs_BotanLib +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: cz_crcs_ectester_standalone_libs_BotanLib + * Method: createProvider + * Signature: ()Ljava/security/Provider; + */ +JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_BotanLib_createProvider + (JNIEnv *, jobject); + +/* + * Class: cz_crcs_ectester_standalone_libs_BotanLib + * Method: getCurves + * Signature: ()Ljava/util/Set; + */ +JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_BotanLib_getCurves + (JNIEnv *, jobject); + +#ifdef __cplusplus +} +#endif +#endif +/* Header for class cz_crcs_ectester_standalone_libs_jni_NativeProvider_Botan */ + +#ifndef _Included_cz_crcs_ectester_standalone_libs_jni_NativeProvider_Botan +#define _Included_cz_crcs_ectester_standalone_libs_jni_NativeProvider_Botan +#ifdef __cplusplus +extern "C" { +#endif +#undef cz_crcs_ectester_standalone_libs_jni_NativeProvider_Botan_serialVersionUID +#define cz_crcs_ectester_standalone_libs_jni_NativeProvider_Botan_serialVersionUID 1421746759512286392LL +#undef cz_crcs_ectester_standalone_libs_jni_NativeProvider_Botan_MAX_ARRAY_SIZE +#define cz_crcs_ectester_standalone_libs_jni_NativeProvider_Botan_MAX_ARRAY_SIZE 2147483639L +#undef cz_crcs_ectester_standalone_libs_jni_NativeProvider_Botan_KEYS +#define cz_crcs_ectester_standalone_libs_jni_NativeProvider_Botan_KEYS 0L +#undef cz_crcs_ectester_standalone_libs_jni_NativeProvider_Botan_VALUES +#define cz_crcs_ectester_standalone_libs_jni_NativeProvider_Botan_VALUES 1L +#undef cz_crcs_ectester_standalone_libs_jni_NativeProvider_Botan_ENTRIES +#define cz_crcs_ectester_standalone_libs_jni_NativeProvider_Botan_ENTRIES 2L +#undef cz_crcs_ectester_standalone_libs_jni_NativeProvider_Botan_serialVersionUID +#define cz_crcs_ectester_standalone_libs_jni_NativeProvider_Botan_serialVersionUID 4112578634029874840LL +#undef cz_crcs_ectester_standalone_libs_jni_NativeProvider_Botan_serialVersionUID +#define cz_crcs_ectester_standalone_libs_jni_NativeProvider_Botan_serialVersionUID -4298000515446427739LL +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeProvider_Botan + * Method: setup + * Signature: ()V + */ +JNIEXPORT void JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeProvider_00024Botan_setup + (JNIEnv *, jobject); + +#ifdef __cplusplus +} +#endif +#endif +/* Header for class cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_Botan */ + +#ifndef _Included_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_Botan +#define _Included_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_Botan +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_Botan + * Method: keysizeSupported + * Signature: (I)Z + */ +JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024Botan_keysizeSupported + (JNIEnv *, jobject, jint); + +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_Botan + * Method: paramsSupported + * Signature: (Ljava/security/spec/AlgorithmParameterSpec;)Z + */ +JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024Botan_paramsSupported + (JNIEnv *, jobject, jobject); + +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_Botan + * Method: generate + * Signature: (ILjava/security/SecureRandom;)Ljava/security/KeyPair; + */ +JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024Botan_generate__ILjava_security_SecureRandom_2 + (JNIEnv *, jobject, jint, jobject); + +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_Botan + * Method: generate + * Signature: (Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)Ljava/security/KeyPair; + */ +JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024Botan_generate__Ljava_security_spec_AlgorithmParameterSpec_2Ljava_security_SecureRandom_2 + (JNIEnv *, jobject, jobject, jobject); + +#ifdef __cplusplus +} +#endif +#endif +/* Header for class cz_crcs_ectester_standalone_libs_jni_NativeECPublicKey_Botan */ + +#ifndef _Included_cz_crcs_ectester_standalone_libs_jni_NativeECPublicKey_Botan +#define _Included_cz_crcs_ectester_standalone_libs_jni_NativeECPublicKey_Botan +#ifdef __cplusplus +extern "C" { +#endif +#ifdef __cplusplus +} +#endif +#endif +/* Header for class cz_crcs_ectester_standalone_libs_jni_NativeECPrivateKey_Botan */ + +#ifndef _Included_cz_crcs_ectester_standalone_libs_jni_NativeECPrivateKey_Botan +#define _Included_cz_crcs_ectester_standalone_libs_jni_NativeECPrivateKey_Botan +#ifdef __cplusplus +extern "C" { +#endif +#ifdef __cplusplus +} +#endif +#endif +/* Header for class cz_crcs_ectester_standalone_libs_jni_NativeKeyAgreementSpi_Botan */ + +#ifndef _Included_cz_crcs_ectester_standalone_libs_jni_NativeKeyAgreementSpi_Botan +#define _Included_cz_crcs_ectester_standalone_libs_jni_NativeKeyAgreementSpi_Botan +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeKeyAgreementSpi_Botan + * Method: generateSecret + * Signature: ([B[BLjava/security/spec/ECParameterSpec;)[B + */ +JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyAgreementSpi_00024Botan_generateSecret + (JNIEnv *, jobject, jbyteArray, jbyteArray, jobject); + +#ifdef __cplusplus +} +#endif +#endif +/* Header for class cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_Botan */ + +#ifndef _Included_cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_Botan +#define _Included_cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_Botan +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_Botan + * Method: sign + * Signature: ([B[BLjava/security/spec/ECParameterSpec;)[B + */ +JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_00024Botan_sign + (JNIEnv *, jobject, jbyteArray, jbyteArray, jobject); + +/* + * Class: cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_Botan + * Method: verify + * Signature: ([B[B[BLjava/security/spec/ECParameterSpec;)Z + */ +JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_00024Botan_verify + (JNIEnv *, jobject, jbyteArray, jbyteArray, jbyteArray, jobject); + +#ifdef __cplusplus +} +#endif +#endif From 95e1d7db217bd93d811aa7c363d87a91e67bd22e Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 6 Dec 2017 21:15:42 +0100 Subject: [PATCH 51/91] Make Makefile more general and make Travis work... --- .travis.yml | 11 +++++++---- src/cz/crcs/ectester/standalone/libs/jni/Makefile | 11 +++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index a1bda6ad..be275b2f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,14 +6,17 @@ addons: - libtomcrypt-dev - libtommath-dev - gcc-6 + - g++-6 language: java jdk: -- oraclejdk8 + - oraclejdk8 +env: + - CC=gcc-6 CXX=g++-6 script: -- ant -f build-applet.xml build -- ant -f build-reader.xml package -- ant -f build-standalone.xml package + - ant -f build-applet.xml build + - ant -f build-reader.xml package + - ant -f build-standalone.xml package deploy: provider: releases diff --git a/src/cz/crcs/ectester/standalone/libs/jni/Makefile b/src/cz/crcs/ectester/standalone/libs/jni/Makefile index 78433c9a..c6df0322 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/Makefile +++ b/src/cz/crcs/ectester/standalone/libs/jni/Makefile @@ -34,20 +34,23 @@ JNI_PLATFORMINCLUDEDIR ?= $(JNI_INCLUDEDIR)/$(JNI_PLATFORM) LOCAL_INCLUDES = /usr/local/include LOCAL_LIBS = /usr/local/lib +CC?=gcc +CXX?=g++ + all: tomcrypt_provider.so botan_provider.so tomcrypt_provider.so: tomcrypt.o - gcc -fPIC -g -shared -o $@ $< -L. -ltommath -ltomcrypt + $(CC) -fPIC -g -shared -o $@ $< -L. -ltommath -ltomcrypt tomcrypt.o: tomcrypt.c - gcc -DLTM_DESC -fPIC -g -I"$(JNI_INCLUDEDIR)" -I"$(JNI_PLATFORMINCLUDEDIR)" -I. -c $< + $(CC) -DLTM_DESC -fPIC -g -I"$(JNI_INCLUDEDIR)" -I"$(JNI_PLATFORMINCLUDEDIR)" -I. -c $< botan_provider.so: botan.o - g++ -fPIC -g -shared -o $@ $< -L. -L"$(LOCAL_LIBS)" -lbotan-2 -fstack-protector -m64 -pthread + $(CXX) -fPIC -g -shared -o $@ $< -L. -L"$(LOCAL_LIBS)" -lbotan-2 -fstack-protector -m64 -pthread botan.o: botan.cpp - g++ -fPIC -g -I"$(LOCAL_INCLUDES)/botan-2" -I"$(JNI_INCLUDEDIR)" -I"$(JNI_PLATFORMINCLUDEDIR)" -I. -c $< + $(CXX) -fPIC -g -I"$(LOCAL_INCLUDES)/botan-2" -I"$(JNI_INCLUDEDIR)" -I"$(JNI_PLATFORMINCLUDEDIR)" -I. -c $< clean: rm -rf *.o From 26ced2ccee2c83414f7c81dfad583400be0e91af Mon Sep 17 00:00:00 2001 From: J08nY Date: Sat, 9 Dec 2017 19:12:06 +0100 Subject: [PATCH 52/91] Add Botan library implementation of keygen and ECDH. --- .../standalone/ECTesterStandalone.java | 10 +- .../standalone/consts/KeyAgreementIdent.java | 14 +- .../consts/KeyPairGeneratorIdent.java | 4 + .../standalone/consts/SignatureIdent.java | 14 + .../ectester/standalone/libs/jni/Makefile | 23 +- .../libs/jni/NativeKeyAgreementSpi.java | 42 ++- .../libs/jni/NativeKeyPairGeneratorSpi.java | 34 +- .../ectester/standalone/libs/jni/botan.cpp | 327 +++++++++++++++++- .../ectester/standalone/libs/jni/c_utils.c | 61 ++++ .../ectester/standalone/libs/jni/c_utils.h | 15 + .../standalone/libs/jni/cpp_utils.cpp | 54 +++ .../standalone/libs/jni/cpp_utils.hpp | 16 + .../ectester/standalone/libs/jni/tomcrypt.c | 45 +-- 13 files changed, 594 insertions(+), 65 deletions(-) create mode 100644 src/cz/crcs/ectester/standalone/libs/jni/c_utils.c create mode 100644 src/cz/crcs/ectester/standalone/libs/jni/c_utils.h create mode 100644 src/cz/crcs/ectester/standalone/libs/jni/cpp_utils.cpp create mode 100644 src/cz/crcs/ectester/standalone/libs/jni/cpp_utils.hpp diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index d9525e95..c3dfbbe7 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -96,6 +96,7 @@ private void run(String[] args) { System.err.println("Invalid algorithm parameter: " + e.getMessage()); } catch (NoSuchAlgorithmException nsaex) { System.err.println("Algorithm not supported by the selected library: " + nsaex.getMessage()); + nsaex.printStackTrace(); } catch (InvalidKeyException | SignatureException | TestException e) { e.printStackTrace(); } @@ -208,9 +209,12 @@ private void ecdh() throws NoSuchAlgorithmException, InvalidAlgorithmParameterEx .filter((ident) -> ident.contains(algo)) .findFirst() .orElse(lib.getKPGs().stream() - .filter((ident) -> ident.contains("EC")) + .filter((ident) -> ident.contains("ECDH")) .findFirst() - .orElse(null)); + .orElse(lib.getKPGs().stream() + .filter((ident) -> ident.contains("EC")) + .findFirst() + .orElse(null))); if (kaIdent == null || kpIdent == null) { @@ -231,7 +235,7 @@ private void ecdh() throws NoSuchAlgorithmException, InvalidAlgorithmParameterEx } spec = curve.toSpec(); kpg.initialize(spec); - } + }//TODO: allow ECGenNamedSpec System.out.println("index;nanotime;pubW;privS;secret"); diff --git a/src/cz/crcs/ectester/standalone/consts/KeyAgreementIdent.java b/src/cz/crcs/ectester/standalone/consts/KeyAgreementIdent.java index 724f3c6a..a5d35788 100644 --- a/src/cz/crcs/ectester/standalone/consts/KeyAgreementIdent.java +++ b/src/cz/crcs/ectester/standalone/consts/KeyAgreementIdent.java @@ -28,13 +28,13 @@ public class KeyAgreementIdent extends Ident { ALL.add(new KeyAgreementIdent("ECCDHwithSHA384KDF", "1.3.132.1.14.2")); ALL.add(new KeyAgreementIdent("ECDHwithSHA512KDF", "1.3.132.1.11.3")); ALL.add(new KeyAgreementIdent("ECCDHwithSHA512KDF", "1.3.132.1.14.3")); - // ECMQV - ALL.add(new KeyAgreementIdent("ECMQV")); - ALL.add(new KeyAgreementIdent("ECMQVwithSHA1CKDF", "1.3.133.16.840.63.0.16")); - ALL.add(new KeyAgreementIdent("ECMQVwithSHA224CKDF", "1.3.132.1.15.0")); - ALL.add(new KeyAgreementIdent("ECMQVwithSHA256CKDF", "1.3.132.1.15.1")); - ALL.add(new KeyAgreementIdent("ECMQVwithSHA384CKDF", "1.3.132.1.15.2")); - ALL.add(new KeyAgreementIdent("ECMQVwithSHA512CKDF", "1.3.132.1.15.3")); + // ECMQV - Disable for now as it needs diferent params(too different from DH) + //ALL.add(new KeyAgreementIdent("ECMQV")); + //ALL.add(new KeyAgreementIdent("ECMQVwithSHA1CKDF", "1.3.133.16.840.63.0.16")); + //ALL.add(new KeyAgreementIdent("ECMQVwithSHA224CKDF", "1.3.132.1.15.0")); + //ALL.add(new KeyAgreementIdent("ECMQVwithSHA256CKDF", "1.3.132.1.15.1")); + //ALL.add(new KeyAgreementIdent("ECMQVwithSHA384CKDF", "1.3.132.1.15.2")); + //ALL.add(new KeyAgreementIdent("ECMQVwithSHA512CKDF", "1.3.132.1.15.3")); // ECVKO ALL.add(new KeyAgreementIdent("ECVKO", "ECGOST3410", "1.2.643.2.2.19", "GOST-3410-2001", "1.2.643.2.2.96")); ALL.add(new KeyAgreementIdent("ECVKO256", "ECGOST3410-2012-256", "1.2.643.7.1.1.6.1", "1.2.643.7.1.1.1.1")); diff --git a/src/cz/crcs/ectester/standalone/consts/KeyPairGeneratorIdent.java b/src/cz/crcs/ectester/standalone/consts/KeyPairGeneratorIdent.java index 50b7135b..8e67967b 100644 --- a/src/cz/crcs/ectester/standalone/consts/KeyPairGeneratorIdent.java +++ b/src/cz/crcs/ectester/standalone/consts/KeyPairGeneratorIdent.java @@ -17,6 +17,10 @@ public class KeyPairGeneratorIdent extends Ident { ALL.add(new KeyPairGeneratorIdent("ECMQV")); ALL.add(new KeyPairGeneratorIdent("ECGOST3410")); ALL.add(new KeyPairGeneratorIdent("ECGOST3410-2012")); + // ECKCDSA? Botan provides. + ALL.add(new KeyPairGeneratorIdent("ECKCDSA")); + // ECGDSA? Botan provides. + ALL.add(new KeyPairGeneratorIdent("ECGDSA")); } public static KeyPairGeneratorIdent get(String ident) { diff --git a/src/cz/crcs/ectester/standalone/consts/SignatureIdent.java b/src/cz/crcs/ectester/standalone/consts/SignatureIdent.java index f322cc59..d2f9f009 100644 --- a/src/cz/crcs/ectester/standalone/consts/SignatureIdent.java +++ b/src/cz/crcs/ectester/standalone/consts/SignatureIdent.java @@ -63,6 +63,20 @@ public class SignatureIdent extends Ident { ALL.add(new SignatureIdent("SHA3-256withECDDSA", "SHA3-256withDETECDSA")); ALL.add(new SignatureIdent("SHA3-384withECDDSA", "SHA3-384withDETECDSA")); ALL.add(new SignatureIdent("SHA3-512withECDDSA", "SHA3-512withDETECDSA")); + // ECKCDSA? Botan provides. + ALL.add(new SignatureIdent("ECKCDSA")); + ALL.add(new SignatureIdent("SHA1withECKCDSA", "1.2.410.200004.1.100.4.3")); + ALL.add(new SignatureIdent("SHA224withECKCDSA", "1.2.410.200004.1.100.4.4")); + ALL.add(new SignatureIdent("SHA256withECKCDSA", "1.2.410.200004.1.100.4.5")); + // ECGDSA? Botan provides. + ALL.add(new SignatureIdent("ECGDSA")); + ALL.add(new SignatureIdent("RIPEMD160withECGDSA", "1.3.36.3.3.2.5.4.1")); + ALL.add(new SignatureIdent("SHA1withECGDSA", "1.3.36.3.3.2.5.4.2")); + ALL.add(new SignatureIdent("SHA224withECGDSA", "1.3.36.3.3.2.5.4.3")); + ALL.add(new SignatureIdent("SHA224withECGDSA", "1.3.36.3.3.2.5.4.4")); + ALL.add(new SignatureIdent("SHA384withECGDSA", "1.3.36.3.3.2.5.4.5")); + ALL.add(new SignatureIdent("SHA512withECGDSA", "1.3.36.3.3.2.5.4.6")); + } public static SignatureIdent get(String ident) { diff --git a/src/cz/crcs/ectester/standalone/libs/jni/Makefile b/src/cz/crcs/ectester/standalone/libs/jni/Makefile index c6df0322..3530499b 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/Makefile +++ b/src/cz/crcs/ectester/standalone/libs/jni/Makefile @@ -37,20 +37,31 @@ LOCAL_LIBS = /usr/local/lib CC?=gcc CXX?=g++ +CFLAGS+=-fPIC -g -I"$(JNI_INCLUDEDIR)" -I"$(JNI_PLATFORMINCLUDEDIR)" -I. +CXXFLAGS+=-fPIC -g -I"$(JNI_INCLUDEDIR)" -I"$(JNI_PLATFORMINCLUDEDIR)" -I. + all: tomcrypt_provider.so botan_provider.so -tomcrypt_provider.so: tomcrypt.o - $(CC) -fPIC -g -shared -o $@ $< -L. -ltommath -ltomcrypt +c_utils.o: c_utils.c + $(CC) $(CFLAGS) -c $< + +cpp_utils.o: cpp_utils.cpp + $(CXX) $(CXXFLAGS) -c $< + + +tomcrypt_provider.so: tomcrypt.o c_utils.o + $(CC) -fPIC -g -shared -o $@ $^ -L. -ltommath -ltomcrypt tomcrypt.o: tomcrypt.c - $(CC) -DLTM_DESC -fPIC -g -I"$(JNI_INCLUDEDIR)" -I"$(JNI_PLATFORMINCLUDEDIR)" -I. -c $< + $(CC) -DLTM_DESC $(CFLAGS) -c $< + -botan_provider.so: botan.o - $(CXX) -fPIC -g -shared -o $@ $< -L. -L"$(LOCAL_LIBS)" -lbotan-2 -fstack-protector -m64 -pthread +botan_provider.so: botan.o cpp_utils.o + $(CXX) -fPIC -g -shared -o $@ $^ -L. -L"$(LOCAL_LIBS)" -lbotan-2 -fstack-protector -m64 -pthread botan.o: botan.cpp - $(CXX) -fPIC -g -I"$(LOCAL_INCLUDES)/botan-2" -I"$(JNI_INCLUDEDIR)" -I"$(JNI_PLATFORMINCLUDEDIR)" -I. -c $< + $(CXX) -I"$(LOCAL_INCLUDES)/botan-2" $(CFLAGS) -c $< clean: rm -rf *.o diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java index 8875948c..37c9add1 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi.java @@ -89,9 +89,49 @@ public static class TomCrypt extends NativeKeyAgreementSpi { native byte[] generateSecret(byte[] pubkey, byte[] privkey, ECParameterSpec params); } - public static class Botan extends NativeKeyAgreementSpi { + public abstract static class Botan extends NativeKeyAgreementSpi { + private String type; + public Botan(String type) { + this.type = type; + } @Override native byte[] generateSecret(byte[] pubkey, byte[] privkey, ECParameterSpec params); } + + public static class BotanECDH extends Botan { + public BotanECDH() { + super("ECDH"); + } + } + + public static class BotanECDHwithSHA1KDF extends Botan { + public BotanECDHwithSHA1KDF() { + super("ECDHwithSHA1KDF"); + } + } + + public static class BotanECDHwithSHA224KDF extends Botan { + public BotanECDHwithSHA224KDF() { + super("ECDHwithSHA224KDF"); + } + } + + public static class BotanECDHwithSHA256KDF extends Botan { + public BotanECDHwithSHA256KDF() { + super("ECDHwithSHA256KDF"); + } + } + + public static class BotanECDHwithSHA384KDF extends Botan { + public BotanECDHwithSHA384KDF() { + super("ECDHwithSHA384KDF"); + } + } + + public static class BotanECDHwithSHA512KDF extends Botan { + public BotanECDHwithSHA512KDF() { + super("ECDHwithSHA512KDF"); + } + } } diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java index 5b8a54ba..94612518 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java @@ -72,9 +72,11 @@ public TomCrypt() { native KeyPair generate(AlgorithmParameterSpec params, SecureRandom random); } - public static class Botan extends NativeKeyPairGeneratorSpi { + public static abstract class Botan extends NativeKeyPairGeneratorSpi { + private String type; - public Botan() { + public Botan(String type) { + this.type = type; initialize(256, new SecureRandom()); } @@ -90,4 +92,32 @@ public Botan() { @Override native KeyPair generate(AlgorithmParameterSpec params, SecureRandom random); } + + public static class BotanECDH extends Botan { + + public BotanECDH() { + super("ECDH"); + } + } + + public static class BotanECDSA extends Botan { + + public BotanECDSA() { + super("ECDSA"); + } + } + + public static class BotanECKCDSA extends Botan { + + public BotanECKCDSA() { + super("ECKCDSA"); + } + } + + public static class BotanECGDSA extends Botan { + + public BotanECGDSA() { + super("ECGDSA"); + } + } } diff --git a/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp b/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp index 9c2394f7..0b2928d8 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp +++ b/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp @@ -1,6 +1,14 @@ #include "native.h" #include #include +#include +#include +#include +#include +#include +#include +#include +#include "cpp_utils.hpp" static jclass provider_class; @@ -34,7 +42,49 @@ JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_BotanLib_createP * Signature: ()V */ JNIEXPORT void JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeProvider_00024Botan_setup(JNIEnv *env, jobject self){ + jmethodID provider_put = env->GetMethodID(provider_class, "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"); + jstring ecdh = env->NewStringUTF("KeyPairGenerator.ECDH"); + jstring ecdh_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeKeyPairGeneratorSpi$BotanECDH"); + env->CallObjectMethod(self, provider_put, ecdh, ecdh_value); + + jstring ecdsa = env->NewStringUTF("KeyPairGenerator.ECDSA"); + jstring ecdsa_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeKeyPairGeneratorSpi$BotanECDSA"); + env->CallObjectMethod(self, provider_put, ecdsa, ecdsa_value); + + jstring eckcdsa = env->NewStringUTF("KeyPairGenerator.ECKCDSA"); + jstring eckcdsa_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeKeyPairGeneratorSpi$BotanECKCDSA"); + env->CallObjectMethod(self, provider_put, eckcdsa, eckcdsa_value); + + jstring ecgdsa = env->NewStringUTF("KeyPairGenerator.ECGDSA"); + jstring ecgdsa_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeKeyPairGeneratorSpi$BotanECGDSA"); + env->CallObjectMethod(self, provider_put, ecgdsa, ecgdsa_value); + + jstring ecdh_ka = env->NewStringUTF("KeyAgreement.ECDH"); + jstring ecdh_ka_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeKeyAgreementSpi$BotanECDH"); + env->CallObjectMethod(self, provider_put, ecdh_ka, ecdh_ka_value); + + jstring ecdh_sha1_ka = env->NewStringUTF("KeyAgreement.ECDHwithSHA1KDF"); + jstring ecdh_sha1_ka_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeKeyAgreementSpi$BotanECDHwithSHA1KDF"); + env->CallObjectMethod(self, provider_put, ecdh_sha1_ka, ecdh_sha1_ka_value); + + jstring ecdh_sha224_ka = env->NewStringUTF("KeyAgreement.ECDHwithSHA224KDF"); + jstring ecdh_sha224_ka_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeKeyAgreementSpi$BotanECDHwithSHA224KDF"); + env->CallObjectMethod(self, provider_put, ecdh_sha224_ka, ecdh_sha224_ka_value); + + jstring ecdh_sha256_ka = env->NewStringUTF("KeyAgreement.ECDHwithSHA256KDF"); + jstring ecdh_sha256_ka_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeKeyAgreementSpi$BotanECDHwithSHA256KDF"); + env->CallObjectMethod(self, provider_put, ecdh_sha256_ka, ecdh_sha256_ka_value); + + jstring ecdh_sha384_ka = env->NewStringUTF("KeyAgreement.ECDHwithSHA384KDF"); + jstring ecdh_sha384_ka_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeKeyAgreementSpi$BotanECDHwithSHA384KDF"); + env->CallObjectMethod(self, provider_put, ecdh_sha384_ka, ecdh_sha384_ka_value); + + jstring ecdh_sha512_ka = env->NewStringUTF("KeyAgreement.ECDHwithSHA512KDF"); + jstring ecdh_sha512_ka_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeKeyAgreementSpi$BotanECDHwithSHA512KDF"); + env->CallObjectMethod(self, provider_put, ecdh_sha512_ka, ecdh_sha512_ka_value); + + init_classes(env, "Botan"); } /* @@ -43,7 +93,21 @@ JNIEXPORT void JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeProvider_ * Signature: ()Ljava/util/Set; */ JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_BotanLib_getCurves(JNIEnv *env, jobject self){ + jclass hash_set_class = env->FindClass("java/util/TreeSet"); + + jmethodID hash_set_ctr = env->GetMethodID(hash_set_class, "", "()V"); + jmethodID hash_set_add = env->GetMethodID(hash_set_class, "add", "(Ljava/lang/Object;)Z"); + + jobject result = env->NewObject(hash_set_class, hash_set_ctr); + + const std::set& curves = Botan::EC_Group::known_named_groups(); + for (auto it = curves.begin(); it != curves.end(); ++it) { + std::string curve_name = *it; + jstring name_str = env->NewStringUTF(curve_name.c_str()); + env->CallBooleanMethod(result, hash_set_add, name_str); + } + return result; } /* @@ -52,7 +116,7 @@ JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_BotanLib_getCurv * Signature: (I)Z */ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024Botan_keysizeSupported(JNIEnv *env, jobject self, jint keysize){ - + return JNI_TRUE; } /* @@ -61,7 +125,195 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPa * Signature: (Ljava/security/spec/AlgorithmParameterSpec;)Z */ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024Botan_paramsSupported(JNIEnv *env, jobject self, jobject params){ + if (params == NULL) { + return JNI_FALSE; + } + + if (env->IsInstanceOf(params, ec_parameter_spec_class)) { + jmethodID get_curve = env->GetMethodID(ec_parameter_spec_class, "getCurve", "()Ljava/security/spec/EllipticCurve;"); + jobject curve = env->CallObjectMethod(params, get_curve); + + jmethodID get_field = env->GetMethodID(elliptic_curve_class, "getField", "()Ljava/security/spec/ECField;"); + jobject field = env->CallObjectMethod(curve, get_field); + + if (env->IsInstanceOf(field, fp_field_class)) { + return JNI_TRUE; + } + } else if (env->IsInstanceOf(params, ecgen_parameter_spec_class)) { + const std::set& curves = Botan::EC_Group::known_named_groups(); + jmethodID get_name = env->GetMethodID(ecgen_parameter_spec_class, "getName", "()Ljava/lang/String;"); + jstring name = (jstring) env->CallObjectMethod(params, get_name); + const char *utf_name = env->GetStringUTFChars(name, NULL); + std::string str_name(utf_name); + env->ReleaseStringUTFChars(name, utf_name); + if (curves.find(str_name) != curves.end()) { + return JNI_TRUE; + } + } + return JNI_FALSE; +} + +static jobject biginteger_from_bigint(JNIEnv *env, const Botan::BigInt& bigint) { + std::vector bigint_data = Botan::BigInt::encode(bigint); + jbyteArray bigint_array = env->NewByteArray(bigint_data.size()); + jbyte * bigint_bytes = env->GetByteArrayElements(bigint_array, NULL); + std::copy(bigint_data.begin(), bigint_data.end(), bigint_bytes); + env->ReleaseByteArrayElements(bigint_array, bigint_bytes, JNI_COMMIT); + + jmethodID biginteger_init = env->GetMethodID(biginteger_class, "", "(I[B)V"); + return env->NewObject(biginteger_class, biginteger_init, (jint) 1, bigint_array); +} + +static Botan::BigInt bigint_from_biginteger(JNIEnv *env, jobject biginteger) { + jmethodID to_byte_array = env->GetMethodID(biginteger_class, "toByteArray", "()[B"); + jbyteArray byte_array = (jbyteArray) env->CallObjectMethod(biginteger, to_byte_array); + jsize byte_length = env->GetArrayLength(byte_array); + jbyte *byte_data = env->GetByteArrayElements(byte_array, NULL); + Botan::BigInt result((unsigned uint8_t*) byte_data, byte_length); + env->ReleaseByteArrayElements(byte_array, byte_data, JNI_ABORT); + return result; +} + +static Botan::EC_Group group_from_params(JNIEnv *env, jobject params) { + if (env->IsInstanceOf(params, ec_parameter_spec_class)) { + jmethodID get_curve = env->GetMethodID(ec_parameter_spec_class, "getCurve", "()Ljava/security/spec/EllipticCurve;"); + jobject elliptic_curve = env->CallObjectMethod(params, get_curve); + + jmethodID get_field = env->GetMethodID(elliptic_curve_class, "getField", "()Ljava/security/spec/ECField;"); + jobject field = env->CallObjectMethod(elliptic_curve, get_field); + + jmethodID get_bits = env->GetMethodID(fp_field_class, "getFieldSize", "()I"); + jint bits = env->CallIntMethod(field, get_bits); + jint bytes = (bits + 7) / 8; + + jmethodID get_a = env->GetMethodID(elliptic_curve_class, "getA", "()Ljava/math/BigInteger;"); + jobject a = env->CallObjectMethod(elliptic_curve, get_a); + + jmethodID get_b = env->GetMethodID(elliptic_curve_class, "getB", "()Ljava/math/BigInteger;"); + jobject b = env->CallObjectMethod(elliptic_curve, get_b); + + jmethodID get_p = env->GetMethodID(fp_field_class, "getP", "()Ljava/math/BigInteger;"); + jobject p = env->CallObjectMethod(field, get_p); + + jmethodID get_g = env->GetMethodID(ec_parameter_spec_class, "getGenerator", "()Ljava/security/spec/ECPoint;"); + jobject g = env->CallObjectMethod(params, get_g); + + jmethodID get_x = env->GetMethodID(point_class, "getAffineX", "()Ljava/math/BigInteger;"); + jobject gx = env->CallObjectMethod(g, get_x); + + jmethodID get_y = env->GetMethodID(point_class, "getAffineY", "()Ljava/math/BigInteger;"); + jobject gy = env->CallObjectMethod(g, get_y); + + jmethodID get_n = env->GetMethodID(ec_parameter_spec_class, "getOrder", "()Ljava/math/BigInteger;"); + jobject n = env->CallObjectMethod(params, get_n); + + jmethodID get_h = env->GetMethodID(ec_parameter_spec_class, "getCofactor", "()I"); + jint h = env->CallIntMethod(params, get_h); + + Botan::BigInt pi = bigint_from_biginteger(env, p); + Botan::BigInt ai = bigint_from_biginteger(env, a); + Botan::BigInt bi = bigint_from_biginteger(env, b); + Botan::CurveGFp curve(pi, ai, bi); + + Botan::BigInt gxi = bigint_from_biginteger(env, gx); + Botan::BigInt gyi = bigint_from_biginteger(env, gy); + Botan::PointGFp generator(curve, gxi, gyi); + + Botan::BigInt ni = bigint_from_biginteger(env, n); + Botan::BigInt hi(h); + + return Botan::EC_Group(curve, generator, ni, hi); + } else if (env->IsInstanceOf(params, ecgen_parameter_spec_class)) { + jmethodID get_name = env->GetMethodID(ecgen_parameter_spec_class, "getName", "()Ljava/lang/String;"); + jstring name = (jstring) env->CallObjectMethod(params, get_name); + const char *utf_name = env->GetStringUTFChars(name, NULL); + std::string curve_name(utf_name); + env->ReleaseStringUTFChars(name, utf_name); + return Botan::EC_Group(curve_name); + } + return Botan::EC_Group(); +} + +static jobject params_from_group(JNIEnv *env, Botan::EC_Group group) { + const Botan::CurveGFp& curve = group.get_curve(); + jobject p = biginteger_from_bigint(env, curve.get_p()); + jmethodID fp_field_init = env->GetMethodID(fp_field_class, "", "(Ljava/math/BigInteger;)V"); + jobject fp_field = env->NewObject(fp_field_class, fp_field_init, p); + + jobject a = biginteger_from_bigint(env, curve.get_a()); + jobject b = biginteger_from_bigint(env, curve.get_b()); + + jmethodID elliptic_curve_init = env->GetMethodID(elliptic_curve_class, "", "(Ljava/security/spec/ECField;Ljava/math/BigInteger;Ljava/math/BigInteger;)V"); + jobject elliptic_curve = env->NewObject(elliptic_curve_class, elliptic_curve_init, fp_field, a, b); + + const Botan::PointGFp& generator = group.get_base_point(); + jobject gx = biginteger_from_bigint(env, generator.get_affine_x()); + jobject gy = biginteger_from_bigint(env, generator.get_affine_y()); + + jmethodID point_init = env->GetMethodID(point_class, "", "(Ljava/math/BigInteger;Ljava/math/BigInteger;)V"); + jobject g = env->NewObject(point_class, point_init, gx, gy); + + const Botan::BigInt& order = group.get_order(); + jobject n = biginteger_from_bigint(env, order); + + const Botan::BigInt& cofactor = group.get_cofactor(); + jint h = (jint) cofactor.to_u32bit(); + + jmethodID ec_parameter_spec_init = env->GetMethodID(ec_parameter_spec_class, "", "(Ljava/security/spec/EllipticCurve;Ljava/security/spec/ECPoint;Ljava/math/BigInteger;I)V"); + return env->NewObject(ec_parameter_spec_class, ec_parameter_spec_init, elliptic_curve, g, n, h); +} + +static jobject generate_from_group(JNIEnv* env, jobject self, Botan::EC_Group group) { + Botan::AutoSeeded_RNG rng; + + jclass botan_kpg_class = env->FindClass("cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi$Botan"); + jfieldID type_id = env->GetFieldID(botan_kpg_class, "type", "Ljava/lang/String;"); + jstring type = (jstring) env->GetObjectField(self, type_id); + const char* type_data = env->GetStringUTFChars(type, NULL); + std::string type_str(type_data); + env->ReleaseStringUTFChars(type, type_data); + + std::unique_ptr skey; + if (type_str == "ECDH") { + skey = std::make_unique(rng, group); + } else if (type_str == "ECDSA") { + skey = std::make_unique(rng, group); + } else if (type_str == "ECKCDSA") { + skey = std::make_unique(rng, group); + } else if (type_str == "ECGDSA") { + skey = std::make_unique(rng, group); + } + + jobject ec_param_spec = params_from_group(env, group); + + const Botan::PointGFp& pub_point = skey->public_point(); + std::vector pub_data = Botan::unlock(Botan::EC2OSP(pub_point, Botan::PointGFp::UNCOMPRESSED)); + + jbyteArray pub_bytearray = env->NewByteArray(pub_data.size()); + jbyte *pub_bytes = env->GetByteArrayElements(pub_bytearray, NULL); + std::copy(pub_data.begin(), pub_data.end(), pub_bytes); + env->ReleaseByteArrayElements(pub_bytearray, pub_bytes, JNI_COMMIT); + + jobject ec_pub_param_spec = env->NewLocalRef(ec_param_spec); + jmethodID ec_pub_init = env->GetMethodID(pubkey_class, "", "([BLjava/security/spec/ECParameterSpec;)V"); + jobject pubkey = env->NewObject(pubkey_class, ec_pub_init, pub_bytearray, ec_pub_param_spec); + + const Botan::BigInt& priv_scalar = skey->private_value(); + std::vector priv_data = Botan::BigInt::encode(priv_scalar); + + jbyteArray priv_bytearray = env->NewByteArray(priv_data.size()); + jbyte *priv_bytes = env->GetByteArrayElements(priv_bytearray, NULL); + std::copy(priv_data.begin(), priv_data.end(), priv_bytes); + env->ReleaseByteArrayElements(priv_bytearray, priv_bytes, JNI_COMMIT); + + jobject ec_priv_param_spec = env->NewLocalRef(ec_param_spec); + jmethodID ec_priv_init = env->GetMethodID(privkey_class, "", "([BLjava/security/spec/ECParameterSpec;)V"); + jobject privkey = env->NewObject(privkey_class, ec_priv_init, priv_bytearray, ec_priv_param_spec); + + jmethodID keypair_init = env->GetMethodID(keypair_class, "", "(Ljava/security/PublicKey;Ljava/security/PrivateKey;)V"); + + return env->NewObject(keypair_class, keypair_init, pubkey, privkey); } /* @@ -70,7 +322,17 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPa * Signature: (ILjava/security/SecureRandom;)Ljava/security/KeyPair; */ JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024Botan_generate__ILjava_security_SecureRandom_2(JNIEnv *env, jobject self, jint keysize, jobject random){ - + const std::set& curves = Botan::EC_Group::known_named_groups(); + for (auto it = curves.begin(); it != curves.end(); ++it) { + Botan::EC_Group curve_group = Botan::EC_Group(*it); + size_t curve_size = curve_group.get_curve().get_p().bits(); + if (curve_size == keysize) { + //generate on this group. Even thou no default groups are present... + return generate_from_group(env, self, curve_group); + } + } + //TODO throw an exception here? InvalidAlgorithmParameters one? + return NULL; } /* @@ -79,7 +341,8 @@ JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPai * Signature: (Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)Ljava/security/KeyPair; */ JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPairGeneratorSpi_00024Botan_generate__Ljava_security_spec_AlgorithmParameterSpec_2Ljava_security_SecureRandom_2(JNIEnv *env, jobject self, jobject params, jobject random){ - + Botan::EC_Group curve_group = group_from_params(env, params); + return generate_from_group(env, self, curve_group); } /* @@ -88,7 +351,65 @@ JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPai * Signature: ([B[BLjava/security/spec/ECParameterSpec;)[B */ JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyAgreementSpi_00024Botan_generateSecret(JNIEnv *env, jobject self, jbyteArray pubkey, jbyteArray privkey, jobject params){ + Botan::EC_Group curve_group = group_from_params(env, params); + + jsize privkey_length = env->GetArrayLength(privkey); + jbyte *privkey_data = env->GetByteArrayElements(privkey, NULL); + Botan::BigInt privkey_scalar((unsigned uint8_t*) privkey_data, privkey_length); + env->ReleaseByteArrayElements(privkey, privkey_data, JNI_ABORT); + + Botan::AutoSeeded_RNG rng; + + Botan::ECDH_PrivateKey skey(rng, curve_group, privkey_scalar); + + jsize pubkey_length = env->GetArrayLength(pubkey); + jbyte *pubkey_data = env->GetByteArrayElements(pubkey, NULL); + Botan::PointGFp public_point = Botan::OS2ECP((uint8_t*) pubkey_data, pubkey_length, curve_group.get_curve()); + env->ReleaseByteArrayElements(pubkey, pubkey_data, JNI_ABORT); + + Botan::ECDH_PublicKey pkey(curve_group, public_point); + //TODO: do check_key here? + + jclass botan_ka_class = env->FindClass("cz/crcs/ectester/standalone/libs/jni/NativeKeyAgreementSpi$Botan"); + jfieldID type_id = env->GetFieldID(botan_ka_class, "type", "Ljava/lang/String;"); + jstring type = (jstring) env->GetObjectField(self, type_id); + const char *type_data = env->GetStringUTFChars(type, NULL); + std::string type_str(type_data); + env->ReleaseStringUTFChars(type, type_data); + + std::string kdf; + size_t key_len = 0; + if (type_str == "ECDH") { + kdf = "Raw"; + //key len unused + } else if (type_str == "ECDHwithSHA1KDF") { + kdf = "KDF1(SHA-1)"; + key_len = 20; + } else if (type_str == "ECDHwithSHA224KDF") { + kdf = "KDF1(SHA-224)"; + key_len = 28; + } else if (type_str == "ECDHwithSHA256KDF") { + kdf = "KDF1(SHA-256)"; + key_len = 32; + } else if (type_str == "ECDHwithSHA384KDF") { + kdf = "KDF1(SHA-384)"; + key_len = 48; + } else if (type_str == "ECDHwithSHA512KDF") { + kdf = "KDF1(SHA-512)"; + key_len = 64; + } else { + //TODO what? + } + + Botan::PK_Key_Agreement ka(skey, rng, kdf); + + std::vector derived = Botan::unlock(ka.derive_key(key_len, pkey.public_value()).bits_of()); + jbyteArray result = env->NewByteArray(derived.size()); + jbyte *result_data = env->GetByteArrayElements(result, NULL); + std::copy(derived.begin(), derived.end(), result_data); + env->ReleaseByteArrayElements(result, result_data, JNI_COMMIT); + return result; } /* diff --git a/src/cz/crcs/ectester/standalone/libs/jni/c_utils.c b/src/cz/crcs/ectester/standalone/libs/jni/c_utils.c new file mode 100644 index 00000000..230f516b --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/jni/c_utils.c @@ -0,0 +1,61 @@ +#include "c_utils.h" +#include + +jclass ec_parameter_spec_class; +jclass ecgen_parameter_spec_class; +jclass pubkey_class; +jclass privkey_class; +jclass keypair_class; +jclass elliptic_curve_class; +jclass fp_field_class; +jclass f2m_field_class; +jclass point_class; +jclass biginteger_class; +jclass illegal_state_exception_class; + +void init_classes(JNIEnv *env, const char* lib_name) { + jclass local_ec_parameter_spec_class = (*env)->FindClass(env, "java/security/spec/ECParameterSpec"); + ec_parameter_spec_class = (*env)->NewGlobalRef(env, local_ec_parameter_spec_class); + + jclass local_ecgen_parameter_spec_class = (*env)->FindClass(env, "java/security/spec/ECGenParameterSpec"); + ecgen_parameter_spec_class = (*env)->NewGlobalRef(env, local_ecgen_parameter_spec_class); + + const char *pubkey_base = "cz/crcs/ectester/standalone/libs/jni/NativeECPublicKey$"; + char pubkey_class_name[strlen(pubkey_base) + strlen(lib_name) + 1]; + pubkey_class_name[0] = 0; + strcat(pubkey_class_name, pubkey_base); + strcat(pubkey_class_name, lib_name); + + jclass local_pubkey_class = (*env)->FindClass(env, pubkey_class_name); + pubkey_class = (*env)->NewGlobalRef(env, local_pubkey_class); + + const char *privkey_base = "cz/crcs/ectester/standalone/libs/jni/NativeECPrivateKey$"; + char privkey_class_name[strlen(privkey_base) + strlen(lib_name) + 1]; + privkey_class_name[0] = 0; + strcat(privkey_class_name, privkey_base); + strcat(privkey_class_name, lib_name); + + jclass local_privkey_class = (*env)->FindClass(env, privkey_class_name); + privkey_class = (*env)->NewGlobalRef(env, local_privkey_class); + + jclass local_keypair_class = (*env)->FindClass(env, "java/security/KeyPair"); + keypair_class = (*env)->NewGlobalRef(env, local_keypair_class); + + jclass local_elliptic_curve_class = (*env)->FindClass(env, "java/security/spec/EllipticCurve"); + elliptic_curve_class = (*env)->NewGlobalRef(env, local_elliptic_curve_class); + + jclass local_fp_field_class = (*env)->FindClass(env, "java/security/spec/ECFieldFp"); + fp_field_class = (*env)->NewGlobalRef(env, local_fp_field_class); + + jclass local_f2m_field_class = (*env)->FindClass(env, "java/security/spec/ECFieldF2m"); + f2m_field_class = (*env)->NewGlobalRef(env, local_f2m_field_class); + + jclass local_biginteger_class = (*env)->FindClass(env, "java/math/BigInteger"); + biginteger_class = (*env)->NewGlobalRef(env, local_biginteger_class); + + jclass local_point_class = (*env)->FindClass(env, "java/security/spec/ECPoint"); + point_class = (*env)->NewGlobalRef(env, local_point_class); + + jclass local_illegal_state_exception_class = (*env)->FindClass(env, "java/lang/IllegalStateException"); + illegal_state_exception_class = (*env)->NewGlobalRef(env, local_illegal_state_exception_class); +} \ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/libs/jni/c_utils.h b/src/cz/crcs/ectester/standalone/libs/jni/c_utils.h new file mode 100644 index 00000000..edd0bdaa --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/jni/c_utils.h @@ -0,0 +1,15 @@ +#include "native.h" + +extern jclass ec_parameter_spec_class; +extern jclass ecgen_parameter_spec_class; +extern jclass pubkey_class; +extern jclass privkey_class; +extern jclass keypair_class; +extern jclass elliptic_curve_class; +extern jclass fp_field_class; +extern jclass f2m_field_class; +extern jclass point_class; +extern jclass biginteger_class; +extern jclass illegal_state_exception_class; + +void init_classes(JNIEnv *env, const char* lib_name); \ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/libs/jni/cpp_utils.cpp b/src/cz/crcs/ectester/standalone/libs/jni/cpp_utils.cpp new file mode 100644 index 00000000..ed59d51b --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/jni/cpp_utils.cpp @@ -0,0 +1,54 @@ +#include "cpp_utils.hpp" + +jclass ec_parameter_spec_class; +jclass ecgen_parameter_spec_class; +jclass pubkey_class; +jclass privkey_class; +jclass keypair_class; +jclass elliptic_curve_class; +jclass fp_field_class; +jclass f2m_field_class; +jclass point_class; +jclass biginteger_class; +jclass illegal_state_exception_class; + +void init_classes(JNIEnv *env, std::string lib_name) { + jclass local_ec_parameter_spec_class = env->FindClass("java/security/spec/ECParameterSpec"); + ec_parameter_spec_class = (jclass) env->NewGlobalRef(local_ec_parameter_spec_class); + + jclass local_ecgen_parameter_spec_class = env->FindClass("java/security/spec/ECGenParameterSpec"); + ecgen_parameter_spec_class = (jclass) env->NewGlobalRef(local_ecgen_parameter_spec_class); + + std::string pubkey_class_name("cz/crcs/ectester/standalone/libs/jni/NativeECPublicKey$"); + pubkey_class_name += lib_name; + + jclass local_pubkey_class = env->FindClass(pubkey_class_name.c_str()); + pubkey_class = (jclass) env->NewGlobalRef(local_pubkey_class); + + std::string privkey_class_name("cz/crcs/ectester/standalone/libs/jni/NativeECPrivateKey$"); + privkey_class_name += lib_name; + + jclass local_privkey_class = env->FindClass(privkey_class_name.c_str()); + privkey_class = (jclass) env->NewGlobalRef(local_privkey_class); + + jclass local_keypair_class = env->FindClass("java/security/KeyPair"); + keypair_class = (jclass) env->NewGlobalRef(local_keypair_class); + + jclass local_elliptic_curve_class = env->FindClass("java/security/spec/EllipticCurve"); + elliptic_curve_class = (jclass) env->NewGlobalRef(local_elliptic_curve_class); + + jclass local_fp_field_class = env->FindClass("java/security/spec/ECFieldFp"); + fp_field_class = (jclass) env->NewGlobalRef(local_fp_field_class); + + jclass local_f2m_field_class = env->FindClass("java/security/spec/ECFieldF2m"); + f2m_field_class = (jclass) env->NewGlobalRef(local_f2m_field_class); + + jclass local_biginteger_class = env->FindClass("java/math/BigInteger"); + biginteger_class = (jclass) env->NewGlobalRef(local_biginteger_class); + + jclass local_point_class = env->FindClass("java/security/spec/ECPoint"); + point_class = (jclass) env->NewGlobalRef(local_point_class); + + jclass local_illegal_state_exception_class = env->FindClass("java/lang/IllegalStateException"); + illegal_state_exception_class = (jclass) env->NewGlobalRef(local_illegal_state_exception_class); +} \ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/libs/jni/cpp_utils.hpp b/src/cz/crcs/ectester/standalone/libs/jni/cpp_utils.hpp new file mode 100644 index 00000000..d0bf8f29 --- /dev/null +++ b/src/cz/crcs/ectester/standalone/libs/jni/cpp_utils.hpp @@ -0,0 +1,16 @@ +#include "native.h" +#include + +extern jclass ec_parameter_spec_class; +extern jclass ecgen_parameter_spec_class; +extern jclass pubkey_class; +extern jclass privkey_class; +extern jclass keypair_class; +extern jclass elliptic_curve_class; +extern jclass fp_field_class; +extern jclass f2m_field_class; +extern jclass point_class; +extern jclass biginteger_class; +extern jclass illegal_state_exception_class; + +void init_classes(JNIEnv *env, std::string lib_name); \ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c index 629ffc1c..0fb69a35 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c +++ b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c @@ -2,20 +2,10 @@ #include #include #include +#include "c_utils.h" static prng_state ltc_prng; static jclass provider_class; -static jclass ec_parameter_spec_class; -static jclass ecgen_parameter_spec_class; -static jclass pubkey_class; -static jclass privkey_class; -static jclass keypair_class; -static jclass elliptic_curve_class; -static jclass fp_field_class; -static jclass f2m_field_class; -static jclass point_class; -static jclass biginteger_class; -static jclass illegal_state_exception_class; JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_createProvider(JNIEnv *env, jobject this) { /* Create the custom provider. */ @@ -60,38 +50,7 @@ JNIEXPORT void JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeProvider_ fprintf(stderr, "Error setting up PRNG, %s\n", error_to_string(err)); } - jclass local_ec_parameter_spec_class = (*env)->FindClass(env, "java/security/spec/ECParameterSpec"); - ec_parameter_spec_class = (*env)->NewGlobalRef(env, local_ec_parameter_spec_class); - - jclass local_ecgen_parameter_spec_class = (*env)->FindClass(env, "java/security/spec/ECGenParameterSpec"); - ecgen_parameter_spec_class = (*env)->NewGlobalRef(env, local_ecgen_parameter_spec_class); - - jclass local_pubkey_class = (*env)->FindClass(env, "cz/crcs/ectester/standalone/libs/jni/NativeECPublicKey$TomCrypt"); - pubkey_class = (*env)->NewGlobalRef(env, local_pubkey_class); - - jclass local_privkey_class = (*env)->FindClass(env, "cz/crcs/ectester/standalone/libs/jni/NativeECPrivateKey$TomCrypt"); - privkey_class = (*env)->NewGlobalRef(env, local_privkey_class); - - jclass local_keypair_class = (*env)->FindClass(env, "java/security/KeyPair"); - keypair_class = (*env)->NewGlobalRef(env, local_keypair_class); - - jclass local_elliptic_curve_class = (*env)->FindClass(env, "java/security/spec/EllipticCurve"); - elliptic_curve_class = (*env)->NewGlobalRef(env, local_elliptic_curve_class); - - jclass local_fp_field_class = (*env)->FindClass(env, "java/security/spec/ECFieldFp"); - fp_field_class = (*env)->NewGlobalRef(env, local_fp_field_class); - - jclass local_f2m_field_class = (*env)->FindClass(env, "java/security/spec/ECFieldF2m"); - f2m_field_class = (*env)->NewGlobalRef(env, local_f2m_field_class); - - jclass local_biginteger_class = (*env)->FindClass(env, "java/math/BigInteger"); - biginteger_class = (*env)->NewGlobalRef(env, local_biginteger_class); - - jclass local_point_class = (*env)->FindClass(env, "java/security/spec/ECPoint"); - point_class = (*env)->NewGlobalRef(env, local_point_class); - - jclass local_illegal_state_exception_class = (*env)->FindClass(env, "java/lang/IllegalStateException"); - illegal_state_exception_class = (*env)->NewGlobalRef(env, local_illegal_state_exception_class); + init_classes(env, "TomCrypt"); } JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_getCurves(JNIEnv *env, jobject this) { From 71ec5d56b21fa21caee2f32563b9f10755cf193a Mon Sep 17 00:00:00 2001 From: J08nY Date: Sat, 9 Dec 2017 21:02:19 +0100 Subject: [PATCH 53/91] Implement signatures in Botan(no verification yet). --- .../standalone/consts/SignatureIdent.java | 11 +- .../libs/jni/NativeSignatureSpi.java | 133 +++++++++++++++++- .../ectester/standalone/libs/jni/botan.cpp | 124 ++++++++++++++++ 3 files changed, 263 insertions(+), 5 deletions(-) diff --git a/src/cz/crcs/ectester/standalone/consts/SignatureIdent.java b/src/cz/crcs/ectester/standalone/consts/SignatureIdent.java index d2f9f009..42ff0505 100644 --- a/src/cz/crcs/ectester/standalone/consts/SignatureIdent.java +++ b/src/cz/crcs/ectester/standalone/consts/SignatureIdent.java @@ -64,14 +64,17 @@ public class SignatureIdent extends Ident { ALL.add(new SignatureIdent("SHA3-384withECDDSA", "SHA3-384withDETECDSA")); ALL.add(new SignatureIdent("SHA3-512withECDDSA", "SHA3-512withDETECDSA")); // ECKCDSA? Botan provides. - ALL.add(new SignatureIdent("ECKCDSA")); - ALL.add(new SignatureIdent("SHA1withECKCDSA", "1.2.410.200004.1.100.4.3")); + ALL.add(new SignatureIdent("ECKCDSA","SHA1withECKCDSA", "1.2.410.200004.1.100.4.3")); + ALL.add(new SignatureIdent("NONEwithECKCDSA")); + ALL.add(new SignatureIdent("RIPEMD160withECKCDSA")); ALL.add(new SignatureIdent("SHA224withECKCDSA", "1.2.410.200004.1.100.4.4")); ALL.add(new SignatureIdent("SHA256withECKCDSA", "1.2.410.200004.1.100.4.5")); + ALL.add(new SignatureIdent("SHA384withECKCDSA")); + ALL.add(new SignatureIdent("SHA512withECKCDSA")); // ECGDSA? Botan provides. - ALL.add(new SignatureIdent("ECGDSA")); + ALL.add(new SignatureIdent("ECGDSA", "SHA1withECGDSA", "1.3.36.3.3.2.5.4.2")); + ALL.add(new SignatureIdent("NONEwithECGDSA")); ALL.add(new SignatureIdent("RIPEMD160withECGDSA", "1.3.36.3.3.2.5.4.1")); - ALL.add(new SignatureIdent("SHA1withECGDSA", "1.3.36.3.3.2.5.4.2")); ALL.add(new SignatureIdent("SHA224withECGDSA", "1.3.36.3.3.2.5.4.3")); ALL.add(new SignatureIdent("SHA224withECGDSA", "1.3.36.3.3.2.5.4.4")); ALL.add(new SignatureIdent("SHA384withECGDSA", "1.3.36.3.3.2.5.4.5")); diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java index 8894f846..b212697c 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java +++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi.java @@ -85,7 +85,12 @@ public static class TomCryptRaw extends NativeSignatureSpi { native boolean verify(byte[] signature, byte[] data, byte[] pubkey, ECParameterSpec params); } - public static class Botan extends NativeSignatureSpi { + public abstract static class Botan extends NativeSignatureSpi { + private String type; + + public Botan(String type) { + this.type = type; + } @Override native byte[] sign(byte[] data, byte[] privkey, ECParameterSpec params); @@ -93,4 +98,130 @@ public static class Botan extends NativeSignatureSpi { @Override native boolean verify(byte[] signature, byte[] data, byte[] pubkey, ECParameterSpec params); } + + public static class BotanECDSAwithNONE extends Botan { + + public BotanECDSAwithNONE() { + super("NONEwithECDSA"); + } + } + + public static class BotanECDSAwithSHA1 extends Botan { + + public BotanECDSAwithSHA1() { + super("SHA1withECDSA"); + } + } + + public static class BotanECDSAwithSHA224 extends Botan { + + public BotanECDSAwithSHA224() { + super("SHA224withECDSA"); + } + } + + public static class BotanECDSAwithSHA256 extends Botan { + + public BotanECDSAwithSHA256() { + super("SHA256withECDSA"); + } + } + + public static class BotanECDSAwithSHA384 extends Botan { + + public BotanECDSAwithSHA384() { + super("SHA384withECDSA"); + } + } + + public static class BotanECDSAwithSHA512 extends Botan { + + public BotanECDSAwithSHA512() { + super("SHA512withECDSA"); + } + } + + public static class BotanECKCDSAwithNONE extends Botan { + + public BotanECKCDSAwithNONE() { + super("NONEwithECKCDSA"); + } + } + + public static class BotanECKCDSAwithSHA1 extends Botan { + + public BotanECKCDSAwithSHA1() { + super("SHA1withECKCDSA"); + } + } + + public static class BotanECKCDSAwithSHA224 extends Botan { + + public BotanECKCDSAwithSHA224() { + super("SHA224withECKCDSA"); + } + } + + public static class BotanECKCDSAwithSHA256 extends Botan { + + public BotanECKCDSAwithSHA256() { + super("SHA256withECKCDSA"); + } + } + + public static class BotanECKCDSAwithSHA384 extends Botan { + + public BotanECKCDSAwithSHA384() { + super("SHA384withECKCDSA"); + } + } + + public static class BotanECKCDSAwithSHA512 extends Botan { + + public BotanECKCDSAwithSHA512() { + super("SHA512withECKCDSA"); + } + } + + public static class BotanECGDSAwithNONE extends Botan { + + public BotanECGDSAwithNONE() { + super("NONEwithECGDSA"); + } + } + + public static class BotanECGDSAwithSHA1 extends Botan { + + public BotanECGDSAwithSHA1() { + super("SHA1withECGDSA"); + } + } + + public static class BotanECGDSAwithSHA224 extends Botan { + + public BotanECGDSAwithSHA224() { + super("SHA224withECGDSA"); + } + } + + public static class BotanECGDSAwithSHA256 extends Botan { + + public BotanECGDSAwithSHA256() { + super("SHA256withECGDSA"); + } + } + + public static class BotanECGDSAwithSHA384 extends Botan { + + public BotanECGDSAwithSHA384() { + super("SHA384withECGDSA"); + } + } + + public static class BotanECGDSAwithSHA512 extends Botan { + + public BotanECGDSAwithSHA512() { + super("SHA512withECGDSA"); + } + } } diff --git a/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp b/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp index 0b2928d8..827dea3a 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp +++ b/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp @@ -84,6 +84,78 @@ JNIEXPORT void JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeProvider_ jstring ecdh_sha512_ka_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeKeyAgreementSpi$BotanECDHwithSHA512KDF"); env->CallObjectMethod(self, provider_put, ecdh_sha512_ka, ecdh_sha512_ka_value); + jstring ecdsa_sig = env->NewStringUTF("Signature.NONEwithECDSA"); + jstring ecdsa_sig_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$BotanECDSAwithNONE"); + env->CallObjectMethod(self, provider_put, ecdsa_sig, ecdsa_sig_value); + + jstring ecdsa_sha1_sig = env->NewStringUTF("Signature.SHA1withECDSA"); + jstring ecdsa_sha1_sig_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$BotanECDSAwithSHA1"); + env->CallObjectMethod(self, provider_put, ecdsa_sha1_sig, ecdsa_sha1_sig_value); + + jstring ecdsa_sha224_sig = env->NewStringUTF("Signature.SHA224withECDSA"); + jstring ecdsa_sha224_sig_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$BotanECDSAwithSHA224"); + env->CallObjectMethod(self, provider_put, ecdsa_sha224_sig, ecdsa_sha224_sig_value); + + jstring ecdsa_sha256_sig = env->NewStringUTF("Signature.SHA256withECDSA"); + jstring ecdsa_sha256_sig_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$BotanECDSAwithSHA256"); + env->CallObjectMethod(self, provider_put, ecdsa_sha256_sig, ecdsa_sha256_sig_value); + + jstring ecdsa_sha384_sig = env->NewStringUTF("Signature.SHA384withECDSA"); + jstring ecdsa_sha384_sig_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$BotanECDSAwithSHA384"); + env->CallObjectMethod(self, provider_put, ecdsa_sha384_sig, ecdsa_sha384_sig_value); + + jstring ecdsa_sha512_sig = env->NewStringUTF("Signature.SHA512withECDSA"); + jstring ecdsa_sha512_sig_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$BotanECDSAwithSHA512"); + env->CallObjectMethod(self, provider_put, ecdsa_sha512_sig, ecdsa_sha512_sig_value); + + jstring eckcdsa_sig = env->NewStringUTF("Signature.NONEwithECKCDSA"); + jstring eckcdsa_sig_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$BotanECKCDSAwithNONE"); + env->CallObjectMethod(self, provider_put, eckcdsa_sig, eckcdsa_sig_value); + + jstring eckcdsa_sha1_sig = env->NewStringUTF("Signature.SHA1withECKCDSA"); + jstring eckcdsa_sha1_sig_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$BotanECKCDSAwithSHA1"); + env->CallObjectMethod(self, provider_put, eckcdsa_sha1_sig, eckcdsa_sha1_sig_value); + + jstring eckcdsa_sha224_sig = env->NewStringUTF("Signature.SHA224withECKCDSA"); + jstring eckcdsa_sha224_sig_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$BotanECKCDSAwithSHA224"); + env->CallObjectMethod(self, provider_put, eckcdsa_sha224_sig, eckcdsa_sha224_sig_value); + + jstring eckcdsa_sha256_sig = env->NewStringUTF("Signature.SHA256withECKCDSA"); + jstring eckcdsa_sha256_sig_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$BotanECKCDSAwithSHA256"); + env->CallObjectMethod(self, provider_put, eckcdsa_sha256_sig, eckcdsa_sha256_sig_value); + + jstring eckcdsa_sha384_sig = env->NewStringUTF("Signature.SHA384withECKCDSA"); + jstring eckcdsa_sha384_sig_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$BotanECKCDSAwithSHA384"); + env->CallObjectMethod(self, provider_put, eckcdsa_sha384_sig, eckcdsa_sha384_sig_value); + + jstring eckcdsa_sha512_sig = env->NewStringUTF("Signature.SHA512withECKCDSA"); + jstring eckcdsa_sha512_sig_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$BotanECKCDSAwithSHA512"); + env->CallObjectMethod(self, provider_put, eckcdsa_sha512_sig, eckcdsa_sha512_sig_value); + + jstring ecgdsa_sig = env->NewStringUTF("Signature.NONEwithECGDSA"); + jstring ecgdsa_sig_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$BotanECGDSAwithNONE"); + env->CallObjectMethod(self, provider_put, ecgdsa_sig, ecgdsa_sig_value); + + jstring ecgdsa_sha1_sig = env->NewStringUTF("Signature.SHA1withECGDSA"); + jstring ecgdsa_sha1_sig_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$BotanECGDSAwithSHA1"); + env->CallObjectMethod(self, provider_put, ecgdsa_sha1_sig, ecgdsa_sha1_sig_value); + + jstring ecgdsa_sha224_sig = env->NewStringUTF("Signature.SHA224withECGDSA"); + jstring ecgdsa_sha224_sig_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$BotanECGDSAwithSHA224"); + env->CallObjectMethod(self, provider_put, ecgdsa_sha224_sig, ecgdsa_sha224_sig_value); + + jstring ecgdsa_sha256_sig = env->NewStringUTF("Signature.SHA256withECGDSA"); + jstring ecgdsa_sha256_sig_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$BotanECGDSAwithSHA256"); + env->CallObjectMethod(self, provider_put, ecgdsa_sha256_sig, ecgdsa_sha256_sig_value); + + jstring ecgdsa_sha384_sig = env->NewStringUTF("Signature.SHA384withECGDSA"); + jstring ecgdsa_sha384_sig_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$BotanECGDSAwithSHA384"); + env->CallObjectMethod(self, provider_put, ecgdsa_sha384_sig, ecgdsa_sha384_sig_value); + + jstring ecgdsa_sha512_sig = env->NewStringUTF("Signature.SHA512withECGDSA"); + jstring ecgdsa_sha512_sig_value = env->NewStringUTF("cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$BotanECGDSAwithSHA512"); + env->CallObjectMethod(self, provider_put, ecgdsa_sha512_sig, ecgdsa_sha512_sig_value); + init_classes(env, "Botan"); } @@ -418,7 +490,59 @@ JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKey * Signature: ([B[BLjava/security/spec/ECParameterSpec;)[B */ JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_00024Botan_sign(JNIEnv *env, jobject self, jbyteArray data, jbyteArray privkey, jobject params){ + Botan::EC_Group curve_group = group_from_params(env, params); + jclass botan_sig_class = env->FindClass("cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi$Botan"); + jfieldID type_id = env->GetFieldID(botan_sig_class, "type", "Ljava/lang/String;"); + jstring type = (jstring) env->GetObjectField(self, type_id); + const char *type_data = env->GetStringUTFChars(type, NULL); + std::string type_str(type_data); + env->ReleaseStringUTFChars(type, type_data); + + jsize privkey_length = env->GetArrayLength(privkey); + jbyte *privkey_bytes = env->GetByteArrayElements(privkey, NULL); + Botan::BigInt privkey_scalar((uint8_t*) privkey_bytes, privkey_length); + env->ReleaseByteArrayElements(privkey, privkey_bytes, JNI_ABORT); + + Botan::AutoSeeded_RNG rng; + + std::unique_ptr skey; + if (type_str.find("ECDSA") != std::string::npos) { + skey = std::make_unique(rng, curve_group, privkey_scalar); + } else if (type_str.find("ECKCDSA") != std::string::npos) { + skey = std::make_unique(rng, curve_group, privkey_scalar); + } else if (type_str.find("ECGDSA") != std::string::npos) { + skey = std::make_unique(rng, curve_group, privkey_scalar); + } + + std::string kdf; + if (type_str.find("NONE") != std::string::npos) { + kdf = "Raw"; + } else if (type_str.find("SHA1") != std::string::npos) { + kdf = "EMSA1(SHA-1)"; + } else if (type_str.find("SHA224") != std::string::npos) { + kdf = "EMSA1(SHA-224)"; + } else if (type_str.find("SHA256") != std::string::npos) { + kdf = "EMSA1(SHA-256)"; + } else if (type_str.find("SHA384") != std::string::npos) { + kdf = "EMSA1(SHA-384)"; + } else if (type_str.find("SHA512") != std::string::npos) { + kdf = "EMSA1(SHA-512)"; + } + + Botan::PK_Signer signer(*skey, rng, kdf); + + jsize data_length = env->GetArrayLength(data); + jbyte *data_bytes = env->GetByteArrayElements(data, NULL); + std::vector sig = signer.sign_message((uint8_t*) data_bytes, data_length, rng); + env->ReleaseByteArrayElements(data, data_bytes, JNI_ABORT); + + jbyteArray result = env->NewByteArray(sig.size()); + jbyte *result_data = env->GetByteArrayElements(result, NULL); + std::copy(sig.begin(), sig.end(), result_data); + env->ReleaseByteArrayElements(result, result_data, JNI_COMMIT); + + return result; } /* From d8a157feab4e87087aea920273e9067723b7f3e3 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sat, 9 Dec 2017 23:19:33 +0100 Subject: [PATCH 54/91] Add Botan signature verification. --- .../ectester/standalone/libs/jni/botan.cpp | 53 ++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp b/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp index 827dea3a..f87d68be 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp +++ b/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp @@ -530,7 +530,7 @@ JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSig kdf = "EMSA1(SHA-512)"; } - Botan::PK_Signer signer(*skey, rng, kdf); + Botan::PK_Signer signer(*skey, rng, kdf, Botan::DER_SEQUENCE); jsize data_length = env->GetArrayLength(data); jbyte *data_bytes = env->GetByteArrayElements(data, NULL); @@ -551,5 +551,56 @@ JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSig * Signature: ([B[B[BLjava/security/spec/ECParameterSpec;)Z */ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSignatureSpi_00024Botan_verify(JNIEnv *env, jobject self, jbyteArray signature, jbyteArray data, jbyteArray pubkey, jobject params){ + Botan::EC_Group curve_group = group_from_params(env, params); + + jclass botan_sig_class = env->FindClass("cz/crcs/ectester/standalone/libs/jni/NativeSignatureSpi$Botan"); + jfieldID type_id = env->GetFieldID(botan_sig_class, "type", "Ljava/lang/String;"); + jstring type = (jstring) env->GetObjectField(self, type_id); + const char *type_data = env->GetStringUTFChars(type, NULL); + std::string type_str(type_data); + env->ReleaseStringUTFChars(type, type_data); + + jsize pubkey_length = env->GetArrayLength(pubkey); + jbyte *pubkey_data = env->GetByteArrayElements(pubkey, NULL); + Botan::PointGFp public_point = Botan::OS2ECP((uint8_t*) pubkey_data, pubkey_length, curve_group.get_curve()); + env->ReleaseByteArrayElements(pubkey, pubkey_data, JNI_ABORT); + + std::unique_ptr pkey; + if (type_str.find("ECDSA") != std::string::npos) { + pkey = std::make_unique(curve_group, public_point); + } else if (type_str.find("ECKCDSA") != std::string::npos) { + pkey = std::make_unique(curve_group, public_point); + } else if (type_str.find("ECGDSA") != std::string::npos) { + pkey = std::make_unique(curve_group, public_point); + } + + std::string kdf; + if (type_str.find("NONE") != std::string::npos) { + kdf = "Raw"; + } else if (type_str.find("SHA1") != std::string::npos) { + kdf = "EMSA1(SHA-1)"; + } else if (type_str.find("SHA224") != std::string::npos) { + kdf = "EMSA1(SHA-224)"; + } else if (type_str.find("SHA256") != std::string::npos) { + kdf = "EMSA1(SHA-256)"; + } else if (type_str.find("SHA384") != std::string::npos) { + kdf = "EMSA1(SHA-384)"; + } else if (type_str.find("SHA512") != std::string::npos) { + kdf = "EMSA1(SHA-512)"; + } + + Botan::PK_Verifier verifier(*pkey, kdf, Botan::DER_SEQUENCE); + + jsize data_length = env->GetArrayLength(data); + jsize sig_length = env->GetArrayLength(signature); + jbyte *data_bytes = env->GetByteArrayElements(data, NULL); + jbyte *sig_bytes = env->GetByteArrayElements(signature, NULL); + bool result = verifier.verify_message((uint8_t*)data_bytes, data_length, (uint8_t*)sig_bytes, sig_length); + env->ReleaseByteArrayElements(data, data_bytes, JNI_ABORT); + env->ReleaseByteArrayElements(signature, sig_bytes, JNI_ABORT); + if (result) { + return JNI_TRUE; + } + return JNI_FALSE; } \ No newline at end of file From 9e8fbbc907f4157988ac425af4dce541f7e42328 Mon Sep 17 00:00:00 2001 From: J08nY Date: Tue, 12 Dec 2017 12:31:54 +0100 Subject: [PATCH 55/91] Update README with info about standalone testing. --- README.md | 12 +++++++----- docs/LIBS.md | 5 +++++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 0ec59b78..9dbffc3c 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # ECTester -Tests support and behavior of smartcards with JavaCard platform with focus on Eliptic curves (`TYPE_EC_FP` and `TYPE_EC_F2M`). +Tests support and behavior of elliptic curve cryptography implementations on JavaCards (`TYPE_EC_FP` and `TYPE_EC_F2M`) and on selected software libraries. ## Build -ECTester uses ant. +ECTester uses ant. There are three parts of ECTester, the JavaCard applet used for testing, the reader app which controls it and the standalone app which tests software libraries. ```bash ant -f build-reader.xml package # To build the reader tool (jar). ant -f build-standalone.xml package # To build the standalone tool (jar). @@ -13,8 +13,10 @@ ant -f build-applet.xml build # To build the applet (cap). ## Usage +### JavaCard testing + 1. Upload `!uploader/ectester.cap` using your favorite tool (e.g., [GlobalPlatformPro tool](https://github.com/martinpaljak/GlobalPlatform)) -2. Run `java -jar dist/ECTester.jar -t -a` +2. Run `java -jar dist/ECTesterReader.jar -t -a` 3. Inspect output log with annotated results Following operations are tested: @@ -25,9 +27,9 @@ Following operations are tested: - Signature via ECDSA - Behavior of card when invalid curves/points are provided (should fail) -See `java -jar ECTester.jar -h` for more. +See `java -jar ECTesterReader.jar -h` for more. -### Options +#### Options ``` -ln,--list-named Print the list of supported named diff --git a/docs/LIBS.md b/docs/LIBS.md index 10001d6a..3635fefe 100644 --- a/docs/LIBS.md +++ b/docs/LIBS.md @@ -5,6 +5,11 @@ Libraries with at least some ECC support: - [BouncyCastle](https://bouncycastle.org/java.html) - Java - [Botan](https://botan.randombit.net/) + - C++ + - Uses blinded(randomized) Montgomery ladder. + - https://hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#addition-add-1998-cmo-2 + - https://hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-1986-cc + - https://eprint.iacr.org/2015/657 - [Crypto++](https://cryptopp.com/) - [libgcrypt](https://www.gnupg.org/related_software/libgcrypt/) - [libtomcrypt](http://www.libtom.net/LibTomCrypt/) From 71006eb01c60b3556b620b7d4579d65ed6f86926 Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 27 Dec 2017 01:10:06 +0100 Subject: [PATCH 56/91] Split output to remove cross-dependency of reader and standalone. --- nbproject/reader/project.properties | 2 +- nbproject/standalone/project.properties | 2 +- ...estWriter.java => BaseTextTestWriter.java} | 15 +- .../common/output/BaseXMLTestWriter.java | 100 +++++++++ .../common/output/BaseYAMLTestWriter.java | 88 ++++++++ .../common/output/TestableWriter.java | 65 ------ .../ectester/common/output/XMLTestWriter.java | 204 ------------------ .../common/output/YAMLTestWriter.java | 161 -------------- .../crcs/ectester/reader/ECTesterReader.java | 5 +- .../reader/output/TextTestWriter.java | 28 +++ .../ectester/reader/output/XMLTestWriter.java | 75 +++++++ .../reader/output/YAMLTestWriter.java | 57 +++++ .../standalone/ECTesterStandalone.java | 2 +- .../standalone/output/TextTestWriter.java | 20 ++ .../standalone/output/XMLTestWriter.java | 82 +++++++ .../standalone/output/YAMLTestWriter.java | 70 ++++++ 16 files changed, 533 insertions(+), 443 deletions(-) rename src/cz/crcs/ectester/common/output/{TextTestWriter.java => BaseTextTestWriter.java} (80%) create mode 100644 src/cz/crcs/ectester/common/output/BaseXMLTestWriter.java create mode 100644 src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java delete mode 100644 src/cz/crcs/ectester/common/output/TestableWriter.java delete mode 100644 src/cz/crcs/ectester/common/output/XMLTestWriter.java delete mode 100644 src/cz/crcs/ectester/common/output/YAMLTestWriter.java create mode 100644 src/cz/crcs/ectester/reader/output/TextTestWriter.java create mode 100644 src/cz/crcs/ectester/reader/output/XMLTestWriter.java create mode 100644 src/cz/crcs/ectester/reader/output/YAMLTestWriter.java create mode 100644 src/cz/crcs/ectester/standalone/output/TextTestWriter.java create mode 100644 src/cz/crcs/ectester/standalone/output/XMLTestWriter.java create mode 100644 src/cz/crcs/ectester/standalone/output/YAMLTestWriter.java diff --git a/nbproject/reader/project.properties b/nbproject/reader/project.properties index 5eb8ae3e..69db5235 100644 --- a/nbproject/reader/project.properties +++ b/nbproject/reader/project.properties @@ -30,7 +30,7 @@ dist.javadoc.dir=${dist.dir}/javadoc libs.CopyLibs.classpath=nbproject/copylibstask.jar endorsed.classpath= excludes= -includes=**/applet/**,**/common/**,**/data/**,**/reader/**,**/standalone/** +includes=**/applet/**,**/common/**,**/data/**,**/reader/** jar.compress=false javac.classpath=\ lib/bcprov-jdk15on-1.58.jar:\ diff --git a/nbproject/standalone/project.properties b/nbproject/standalone/project.properties index 2d3a9ebd..9fed4c25 100644 --- a/nbproject/standalone/project.properties +++ b/nbproject/standalone/project.properties @@ -30,7 +30,7 @@ dist.javadoc.dir=${dist.dir}/javadoc libs.CopyLibs.classpath=nbproject/copylibstask.jar endorsed.classpath= excludes= -includes=**/common/**,**/standalone/**,**/data/**,**/applet/*,**/reader/** +includes=**/common/**,**/standalone/**,**/data/**,**/applet/* jar.compress=false javac.classpath=\ lib/bcprov-jdk15on-1.58.jar:\ diff --git a/src/cz/crcs/ectester/common/output/TextTestWriter.java b/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java similarity index 80% rename from src/cz/crcs/ectester/common/output/TextTestWriter.java rename to src/cz/crcs/ectester/common/output/BaseTextTestWriter.java index 2691ccba..9635d0ca 100644 --- a/src/cz/crcs/ectester/common/output/TextTestWriter.java +++ b/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java @@ -1,24 +1,19 @@ package cz.crcs.ectester.common.output; -import cz.crcs.ectester.common.test.CompoundTest; -import cz.crcs.ectester.common.test.SimpleTest; -import cz.crcs.ectester.common.test.Test; -import cz.crcs.ectester.common.test.TestSuite; +import cz.crcs.ectester.common.test.*; import java.io.PrintStream; /** * @author Jan Jancar johny@neuromancer.sk */ -public class TextTestWriter implements TestWriter { +public abstract class BaseTextTestWriter implements TestWriter { private PrintStream output; - private TestableWriter testableWriter; public static int BASE_WIDTH = 76; - public TextTestWriter(PrintStream output) { + public BaseTextTestWriter(PrintStream output) { this.output = output; - this.testableWriter = new TestableWriter(output); } @Override @@ -27,6 +22,8 @@ public void begin(TestSuite suite) { output.println("=== " + suite.getDescription()); } + protected abstract String testableString(Testable t); + private String testString(Test t, int offset) { if (!t.hasRun()) { return null; @@ -60,7 +57,7 @@ private String testString(Test t, int offset) { } } else { SimpleTest test = (SimpleTest) t; - out.append(testableWriter.outputTestableSuffix(test.getTestable())); + out.append(testableString(test.getTestable())); } return out.toString(); } diff --git a/src/cz/crcs/ectester/common/output/BaseXMLTestWriter.java b/src/cz/crcs/ectester/common/output/BaseXMLTestWriter.java new file mode 100644 index 00000000..9d3c8f38 --- /dev/null +++ b/src/cz/crcs/ectester/common/output/BaseXMLTestWriter.java @@ -0,0 +1,100 @@ +package cz.crcs.ectester.common.output; + +import cz.crcs.ectester.common.test.*; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.OutputKeys; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; +import java.io.OutputStream; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public abstract class BaseXMLTestWriter implements TestWriter { + private OutputStream output; + private DocumentBuilder db; + protected Document doc; + private Node root; + + public BaseXMLTestWriter(OutputStream output) throws ParserConfigurationException { + this.output = output; + this.db = DocumentBuilderFactory.newInstance().newDocumentBuilder(); + } + + @Override + public void begin(TestSuite suite) { + doc = db.newDocument(); + Element rootElem = doc.createElement("testSuite"); + rootElem.setAttribute("name", suite.getName()); + rootElem.setAttribute("desc", suite.getDescription()); + + root = rootElem; + doc.appendChild(root); + } + + protected abstract Element testableElement(Testable t); + + private Element testElement(Test t) { + Element testElem; + if (t instanceof CompoundTest) { + CompoundTest test = (CompoundTest) t; + testElem = doc.createElement("test"); + testElem.setAttribute("type", "compound"); + for (Test innerTest : test.getTests()) { + testElem.appendChild(testElement(innerTest)); + } + } else { + SimpleTest test = (SimpleTest) t; + testElem = testableElement(test.getTestable()); + } + + Element description = doc.createElement("desc"); + description.setTextContent(t.getDescription()); + testElem.appendChild(description); + + Element result = doc.createElement("result"); + Element ok = doc.createElement("ok"); + ok.setTextContent(String.valueOf(t.ok())); + Element value = doc.createElement("value"); + value.setTextContent(t.getResultValue().name()); + Element cause = doc.createElement("cause"); + cause.setTextContent(t.getResultCause()); + result.appendChild(ok); + result.appendChild(value); + result.appendChild(cause); + testElem.appendChild(result); + + return testElem; + } + + @Override + public void outputTest(Test t) { + if (!t.hasRun()) + return; + root.appendChild(testElement(t)); + } + + @Override + public void end() { + try { + DOMSource domSource = new DOMSource(doc); + StreamResult result = new StreamResult(output); + TransformerFactory tf = TransformerFactory.newInstance(); + Transformer transformer = tf.newTransformer(); + transformer.setOutputProperty(OutputKeys.INDENT, "yes"); + transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2"); + transformer.transform(domSource, result); + } catch (TransformerException e) { + e.printStackTrace(); + } + } +} diff --git a/src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java b/src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java new file mode 100644 index 00000000..af769277 --- /dev/null +++ b/src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java @@ -0,0 +1,88 @@ +package cz.crcs.ectester.common.output; + +import cz.crcs.ectester.common.test.*; +import org.yaml.snakeyaml.DumperOptions; +import org.yaml.snakeyaml.Yaml; + +import java.io.PrintStream; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public abstract class BaseYAMLTestWriter implements TestWriter { + private PrintStream output; + private Map testRun; + private Map testSuite; + protected List tests; + + public BaseYAMLTestWriter(PrintStream output) { + this.output = output; + } + + @Override + public void begin(TestSuite suite) { + output.println("---"); + testRun = new HashMap<>(); + testSuite = new HashMap<>(); + tests = new LinkedList<>(); + testSuite.put("name", suite.getName()); + testSuite.put("desc", suite.getDescription()); + + testRun.put("suite", testSuite); + testRun.put("tests", tests); + } + + abstract protected Map testableObject(Testable t); + + private Map testObject(Test t) { + Map testObj; + if (t instanceof CompoundTest) { + CompoundTest test = (CompoundTest) t; + testObj = new HashMap<>(); + testObj.put("type", "compound"); + List> innerTests = new LinkedList<>(); + for (Test innerTest : test.getTests()) { + innerTests.add(testObject(innerTest)); + } + testObj.put("tests", innerTests); + } else { + SimpleTest test = (SimpleTest) t; + testObj = testableObject(test.getTestable()); + } + + testObj.put("desc", t.getDescription()); + Map result = new HashMap<>(); + result.put("ok", t.ok()); + result.put("value", t.getResultValue().name()); + result.put("cause", t.getResultCause()); + testObj.put("result", result); + + return testObj; + } + + @Override + public void outputTest(Test t) { + if (!t.hasRun()) + return; + tests.add(testObject(t)); + } + + @Override + public void end() { + DumperOptions options = new DumperOptions(); + options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK); + options.setPrettyFlow(true); + Yaml yaml = new Yaml(options); + + Map result = new HashMap<>(); + result.put("testRun", testRun); + String out = yaml.dump(result); + + output.println(out); + output.println("---"); + } +} diff --git a/src/cz/crcs/ectester/common/output/TestableWriter.java b/src/cz/crcs/ectester/common/output/TestableWriter.java deleted file mode 100644 index 98760645..00000000 --- a/src/cz/crcs/ectester/common/output/TestableWriter.java +++ /dev/null @@ -1,65 +0,0 @@ -package cz.crcs.ectester.common.output; - -import cz.crcs.ectester.common.test.BaseTestable; -import cz.crcs.ectester.reader.output.ResponseWriter; -import cz.crcs.ectester.reader.response.Response; -import cz.crcs.ectester.reader.test.CommandTestable; -import cz.crcs.ectester.standalone.test.KeyAgreementTestable; -import cz.crcs.ectester.standalone.test.KeyGeneratorTestable; -import cz.crcs.ectester.standalone.test.SignatureTestable; - -import java.io.OutputStream; -import java.io.PrintStream; - -/** - * @author Jan Jancar johny@neuromancer.sk - */ -public class TestableWriter { - private PrintStream output; - private ResponseWriter respWriter; - - public TestableWriter(PrintStream output) { - this.output = output; - this.respWriter = new ResponseWriter(output); - } - - public TestableWriter(OutputStream output) { - this(new PrintStream(output)); - } - - public String outputTestableSuffix(BaseTestable t) { - if (t instanceof CommandTestable) { - Response r = ((CommandTestable) t).getResponse(); - return respWriter.responseSuffix(r); - } else if (t instanceof KeyAgreementTestable) { - - } else if (t instanceof KeyGeneratorTestable) { - - } else if (t instanceof SignatureTestable) { - - } - return null; - } - - public void writeTestableSuffix(BaseTestable t) { - output.println(outputTestableSuffix(t)); - } - - public String outputTestable(BaseTestable t) { - if (t instanceof CommandTestable) { - CommandTestable testable = (CommandTestable) t; - return respWriter.responseString(testable.getResponse()); - } else if (t instanceof KeyAgreementTestable) { - - } else if (t instanceof KeyGeneratorTestable) { - - } else if (t instanceof SignatureTestable) { - - } - return null; - } - - public void writeTestable(BaseTestable t) { - output.println(outputTestable(t)); - } -} diff --git a/src/cz/crcs/ectester/common/output/XMLTestWriter.java b/src/cz/crcs/ectester/common/output/XMLTestWriter.java deleted file mode 100644 index 4139330e..00000000 --- a/src/cz/crcs/ectester/common/output/XMLTestWriter.java +++ /dev/null @@ -1,204 +0,0 @@ -package cz.crcs.ectester.common.output; - -import cz.crcs.ectester.common.test.CompoundTest; -import cz.crcs.ectester.common.test.Test; -import cz.crcs.ectester.common.test.TestSuite; -import cz.crcs.ectester.common.util.ByteUtil; -import cz.crcs.ectester.reader.command.Command; -import cz.crcs.ectester.reader.response.Response; -import cz.crcs.ectester.reader.test.CommandTest; -import cz.crcs.ectester.standalone.test.*; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.OutputKeys; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; -import java.io.OutputStream; -import java.security.PrivateKey; -import java.security.PublicKey; - -/** - * @author Jan Jancar johny@neuromancer.sk - */ -public class XMLTestWriter implements TestWriter { - private OutputStream output; - private DocumentBuilder db; - private Document doc; - private Node root; - - public XMLTestWriter(OutputStream output) throws ParserConfigurationException { - this.output = output; - this.db = DocumentBuilderFactory.newInstance().newDocumentBuilder(); - } - - @Override - public void begin(TestSuite suite) { - doc = db.newDocument(); - Element rootElem = doc.createElement("testSuite"); - rootElem.setAttribute("name", suite.getName()); - rootElem.setAttribute("desc", suite.getDescription()); - - root = rootElem; - doc.appendChild(root); - } - - private Element commandElement(Command c) { - Element commandElem = doc.createElement("command"); - - Element apdu = doc.createElement("apdu"); - apdu.setTextContent(ByteUtil.bytesToHex(c.getAPDU().getBytes())); - commandElem.appendChild(apdu); - - return commandElem; - } - - private Element responseElement(Response r) { - Element responseElem = doc.createElement("response"); - responseElem.setAttribute("successful", r.successful() ? "true" : "false"); - - Element apdu = doc.createElement("apdu"); - apdu.setTextContent(ByteUtil.bytesToHex(r.getAPDU().getBytes())); - responseElem.appendChild(apdu); - - Element naturalSW = doc.createElement("natural-sw"); - naturalSW.setTextContent(String.valueOf(Short.toUnsignedInt(r.getNaturalSW()))); - responseElem.appendChild(naturalSW); - - Element sws = doc.createElement("sws"); - for (int i = 0; i < r.getNumSW(); ++i) { - Element sw = doc.createElement("sw"); - sw.setTextContent(String.valueOf(Short.toUnsignedInt(r.getSW(i)))); - sws.appendChild(sw); - } - responseElem.appendChild(sws); - - Element duration = doc.createElement("duration"); - duration.setTextContent(String.valueOf(r.getDuration())); - responseElem.appendChild(duration); - - Element description = doc.createElement("desc"); - description.setTextContent(r.getDescription()); - responseElem.appendChild(description); - - return responseElem; - } - - private Element kaElement(KeyAgreementTestable kat) { - Element katElem = doc.createElement("key-agreement"); - - Element secret = doc.createElement("secret"); - secret.setTextContent(ByteUtil.bytesToHex(kat.getSecret())); - katElem.appendChild(secret); - - return katElem; - } - - private Element kgtElement(KeyGeneratorTestable kgt) { - Element kgtElem = doc.createElement("key-pair-generator"); - - Element keyPair = doc.createElement("key-pair"); - Element pubkey = doc.createElement("pubkey"); - PublicKey pkey = kgt.getKeyPair().getPublic(); - pubkey.setAttribute("algorithm", pkey.getAlgorithm()); - pubkey.setAttribute("format", pkey.getFormat()); - pubkey.setTextContent(ByteUtil.bytesToHex(pkey.getEncoded())); - keyPair.appendChild(pubkey); - - Element privkey = doc.createElement("privkey"); - PrivateKey skey = kgt.getKeyPair().getPrivate(); - privkey.setAttribute("algorithm", skey.getAlgorithm()); - privkey.setAttribute("format", skey.getFormat()); - privkey.setTextContent(ByteUtil.bytesToHex(skey.getEncoded())); - keyPair.appendChild(privkey); - - return kgtElem; - } - - private Element sigElement(SignatureTestable sig) { - Element sigElem = doc.createElement("signature"); - sigElem.setAttribute("verified", sig.getVerified() ? "true" : "false"); - - Element raw = doc.createElement("raw"); - raw.setTextContent(ByteUtil.bytesToHex(sig.getSignature())); - sigElem.appendChild(raw); - - return sigElem; - } - - private Element testElement(Test t) { - Element testElem = doc.createElement("test"); - - if (t instanceof CommandTest) { - CommandTest test = (CommandTest) t; - testElem.setAttribute("type", "command"); - testElem.appendChild(commandElement(test.getCommand())); - testElem.appendChild(responseElement(test.getResponse())); - } else if (t instanceof KeyAgreementTest) { - KeyAgreementTest test = (KeyAgreementTest) t; - testElem.setAttribute("type", "key-agreement"); - testElem.appendChild(kaElement(test.getTestable())); - } else if (t instanceof KeyGeneratorTest) { - KeyGeneratorTest test = (KeyGeneratorTest) t; - testElem.setAttribute("type", "key-pair-generator"); - testElem.appendChild(kgtElement(test.getTestable())); - } else if (t instanceof SignatureTest) { - SignatureTest test = (SignatureTest) t; - testElem.setAttribute("type", "signature"); - testElem.appendChild(sigElement(test.getTestable())); - } else if (t instanceof CompoundTest) { - CompoundTest test = (CompoundTest) t; - testElem.setAttribute("type", "compound"); - for (Test innerTest : test.getTests()) { - testElem.appendChild(testElement(innerTest)); - } - } - - Element description = doc.createElement("desc"); - description.setTextContent(t.getDescription()); - testElem.appendChild(description); - - Element result = doc.createElement("result"); - Element ok = doc.createElement("ok"); - ok.setTextContent(String.valueOf(t.ok())); - Element value = doc.createElement("value"); - value.setTextContent(t.getResultValue().name()); - Element cause = doc.createElement("cause"); - cause.setTextContent(t.getResultCause()); - result.appendChild(ok); - result.appendChild(value); - result.appendChild(cause); - testElem.appendChild(result); - - return testElem; - } - - @Override - public void outputTest(Test t) { - if (!t.hasRun()) - return; - root.appendChild(testElement(t)); - } - - @Override - public void end() { - try { - DOMSource domSource = new DOMSource(doc); - StreamResult result = new StreamResult(output); - TransformerFactory tf = TransformerFactory.newInstance(); - Transformer transformer = tf.newTransformer(); - transformer.setOutputProperty(OutputKeys.INDENT, "yes"); - transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2"); - transformer.transform(domSource, result); - } catch (TransformerException e) { - e.printStackTrace(); - } - } -} \ No newline at end of file diff --git a/src/cz/crcs/ectester/common/output/YAMLTestWriter.java b/src/cz/crcs/ectester/common/output/YAMLTestWriter.java deleted file mode 100644 index ba9fa434..00000000 --- a/src/cz/crcs/ectester/common/output/YAMLTestWriter.java +++ /dev/null @@ -1,161 +0,0 @@ -package cz.crcs.ectester.common.output; - -import cz.crcs.ectester.common.test.CompoundTest; -import cz.crcs.ectester.common.test.Test; -import cz.crcs.ectester.common.test.TestSuite; -import cz.crcs.ectester.common.util.ByteUtil; -import cz.crcs.ectester.reader.command.Command; -import cz.crcs.ectester.reader.response.Response; -import cz.crcs.ectester.reader.test.CommandTest; -import cz.crcs.ectester.standalone.test.*; -import org.yaml.snakeyaml.DumperOptions; -import org.yaml.snakeyaml.Yaml; - -import java.io.PrintStream; -import java.security.PrivateKey; -import java.security.PublicKey; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -/** - * @author Jan Jancar johny@neuromancer.sk - */ -public class YAMLTestWriter implements TestWriter { - private PrintStream output; - private Map testRun; - private Map testSuite; - private List tests; - - public YAMLTestWriter(PrintStream output) { - this.output = output; - } - - @Override - public void begin(TestSuite suite) { - output.println("---"); - testRun = new HashMap<>(); - testSuite = new HashMap<>(); - tests = new LinkedList<>(); - testSuite.put("name", suite.getName()); - testSuite.put("desc", suite.getDescription()); - - testRun.put("suite", testSuite); - testRun.put("tests", tests); - } - - private Map commandObject(Command c) { - Map commandObj = new HashMap<>(); - commandObj.put("apdu", ByteUtil.bytesToHex(c.getAPDU().getBytes())); - return commandObj; - } - - private Map responseObject(Response r) { - Map responseObj = new HashMap<>(); - responseObj.put("successful", r.successful()); - responseObj.put("apdu", ByteUtil.bytesToHex(r.getAPDU().getBytes())); - responseObj.put("natural_sw", Short.toUnsignedInt(r.getNaturalSW())); - List sws = new LinkedList<>(); - for (int i = 0; i < r.getNumSW(); ++i) { - sws.add(Short.toUnsignedInt(r.getSW(i))); - } - responseObj.put("sws", sws); - responseObj.put("duration", r.getDuration()); - responseObj.put("desc", r.getDescription()); - return responseObj; - } - - private Map kaObject(KeyAgreementTestable kat) { - Map katObject = new HashMap<>(); - katObject.put("secret", ByteUtil.bytesToHex(kat.getSecret())); - return katObject; - } - - private Map kgtObject(KeyGeneratorTestable kgt) { - Map kgtObject = new HashMap<>(); - Map pubObject = new HashMap<>(); - PublicKey pkey = kgt.getKeyPair().getPublic(); - pubObject.put("algorithm", pkey.getAlgorithm()); - pubObject.put("format", pkey.getFormat()); - pubObject.put("raw", ByteUtil.bytesToHex(pkey.getEncoded())); - kgtObject.put("pubkey", pubObject); - - Map privObject = new HashMap<>(); - PrivateKey skey = kgt.getKeyPair().getPrivate(); - privObject.put("algorithm", skey.getAlgorithm()); - privObject.put("format", skey.getFormat()); - privObject.put("raw", ByteUtil.bytesToHex(skey.getEncoded())); - kgtObject.put("privkey", privObject); - return kgtObject; - } - - private Map sigObject(SignatureTestable sig) { - Map sigObject = new HashMap<>(); - sigObject.put("verified", sig.getVerified()); - sigObject.put("raw", ByteUtil.bytesToHex(sig.getSignature())); - return sigObject; - } - - private Map testObject(Test t) { - Map testObj = new HashMap<>(); - - if (t instanceof CommandTest) { - CommandTest test = (CommandTest) t; - testObj.put("type", "command"); - testObj.put("command", commandObject(test.getCommand())); - testObj.put("response", responseObject(test.getResponse())); - } else if (t instanceof KeyAgreementTest) { - KeyAgreementTest test = (KeyAgreementTest) t; - testObj.put("type", "key-agreement"); - testObj.put("key-agreement", kaObject(test.getTestable())); - } else if (t instanceof KeyGeneratorTest) { - KeyGeneratorTest test = (KeyGeneratorTest) t; - testObj.put("type", "key-pair-generator"); - testObj.put("key-pair-generator", kgtObject(test.getTestable())); - } else if (t instanceof SignatureTest) { - SignatureTest test = (SignatureTest) t; - testObj.put("type", "signature"); - testObj.put("signature", sigObject(test.getTestable())); - } else if (t instanceof CompoundTest) { - CompoundTest test = (CompoundTest) t; - testObj.put("type", "compound"); - List> tests = new LinkedList<>(); - for (Test innerTest : test.getTests()) { - tests.add(testObject(innerTest)); - } - testObj.put("tests", tests); - } - - testObj.put("desc", t.getDescription()); - Map result = new HashMap<>(); - result.put("ok", t.ok()); - result.put("value", t.getResultValue().name()); - result.put("cause", t.getResultCause()); - testObj.put("result", result); - - return testObj; - } - - @Override - public void outputTest(Test t) { - if (!t.hasRun()) - return; - tests.add(testObject(t)); - } - - @Override - public void end() { - DumperOptions options = new DumperOptions(); - options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK); - options.setPrettyFlow(true); - Yaml yaml = new Yaml(options); - - Map result = new HashMap<>(); - result.put("testRun", testRun); - String out = yaml.dump(result); - - output.println(out); - output.println("---"); - } -} diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index 6fa70686..f566c9c0 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -31,7 +31,10 @@ import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.command.Command; -import cz.crcs.ectester.reader.output.*; +import cz.crcs.ectester.reader.output.ResponseWriter; +import cz.crcs.ectester.reader.output.TextTestWriter; +import cz.crcs.ectester.reader.output.XMLTestWriter; +import cz.crcs.ectester.reader.output.YAMLTestWriter; import cz.crcs.ectester.reader.response.Response; import cz.crcs.ectester.reader.test.*; import javacard.security.KeyPair; diff --git a/src/cz/crcs/ectester/reader/output/TextTestWriter.java b/src/cz/crcs/ectester/reader/output/TextTestWriter.java new file mode 100644 index 00000000..dedf5614 --- /dev/null +++ b/src/cz/crcs/ectester/reader/output/TextTestWriter.java @@ -0,0 +1,28 @@ +package cz.crcs.ectester.reader.output; + +import cz.crcs.ectester.common.output.BaseTextTestWriter; +import cz.crcs.ectester.common.test.Testable; +import cz.crcs.ectester.reader.test.CommandTestable; + +import java.io.PrintStream; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class TextTestWriter extends BaseTextTestWriter { + private ResponseWriter writer; + + public TextTestWriter(PrintStream output) { + super(output); + this.writer = new ResponseWriter(output); + } + + @Override + protected String testableString(Testable t) { + if (t instanceof CommandTestable) { + CommandTestable cmd = (CommandTestable) t; + return writer.responseSuffix(cmd.getResponse()); + } + return ""; + } +} diff --git a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java new file mode 100644 index 00000000..d88a64e9 --- /dev/null +++ b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java @@ -0,0 +1,75 @@ +package cz.crcs.ectester.reader.output; + +import cz.crcs.ectester.common.output.BaseXMLTestWriter; +import cz.crcs.ectester.common.test.Testable; +import cz.crcs.ectester.common.util.ByteUtil; +import cz.crcs.ectester.reader.command.Command; +import cz.crcs.ectester.reader.response.Response; +import cz.crcs.ectester.reader.test.CommandTestable; +import org.w3c.dom.Element; + +import javax.xml.parsers.ParserConfigurationException; +import java.io.OutputStream; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class XMLTestWriter extends BaseXMLTestWriter { + public XMLTestWriter(OutputStream output) throws ParserConfigurationException { + super(output); + } + + private Element commandElement(Command c) { + Element commandElem = doc.createElement("command"); + + Element apdu = doc.createElement("apdu"); + apdu.setTextContent(ByteUtil.bytesToHex(c.getAPDU().getBytes())); + commandElem.appendChild(apdu); + + return commandElem; + } + + private Element responseElement(Response r) { + Element responseElem = doc.createElement("response"); + responseElem.setAttribute("successful", r.successful() ? "true" : "false"); + + Element apdu = doc.createElement("apdu"); + apdu.setTextContent(ByteUtil.bytesToHex(r.getAPDU().getBytes())); + responseElem.appendChild(apdu); + + Element naturalSW = doc.createElement("natural-sw"); + naturalSW.setTextContent(String.valueOf(Short.toUnsignedInt(r.getNaturalSW()))); + responseElem.appendChild(naturalSW); + + Element sws = doc.createElement("sws"); + for (int i = 0; i < r.getNumSW(); ++i) { + Element sw = doc.createElement("sw"); + sw.setTextContent(String.valueOf(Short.toUnsignedInt(r.getSW(i)))); + sws.appendChild(sw); + } + responseElem.appendChild(sws); + + Element duration = doc.createElement("duration"); + duration.setTextContent(String.valueOf(r.getDuration())); + responseElem.appendChild(duration); + + Element description = doc.createElement("desc"); + description.setTextContent(r.getDescription()); + responseElem.appendChild(description); + + return responseElem; + } + + @Override + protected Element testableElement(Testable t) { + if (t instanceof CommandTestable) { + CommandTestable cmd = (CommandTestable) t; + Element result = doc.createElement("test"); + result.setAttribute("type", "command"); + result.appendChild(commandElement(cmd.getCommand())); + result.appendChild(responseElement(cmd.getResponse())); + return result; + } + return null; + } +} \ No newline at end of file diff --git a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java new file mode 100644 index 00000000..49a20f11 --- /dev/null +++ b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java @@ -0,0 +1,57 @@ +package cz.crcs.ectester.reader.output; + +import cz.crcs.ectester.common.output.BaseYAMLTestWriter; +import cz.crcs.ectester.common.test.Testable; +import cz.crcs.ectester.common.util.ByteUtil; +import cz.crcs.ectester.reader.command.Command; +import cz.crcs.ectester.reader.response.Response; +import cz.crcs.ectester.reader.test.CommandTestable; + +import java.io.PrintStream; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class YAMLTestWriter extends BaseYAMLTestWriter { + public YAMLTestWriter(PrintStream output) { + super(output); + } + + private Map commandObject(Command c) { + Map commandObj = new HashMap<>(); + commandObj.put("apdu", ByteUtil.bytesToHex(c.getAPDU().getBytes())); + return commandObj; + } + + private Map responseObject(Response r) { + Map responseObj = new HashMap<>(); + responseObj.put("successful", r.successful()); + responseObj.put("apdu", ByteUtil.bytesToHex(r.getAPDU().getBytes())); + responseObj.put("natural_sw", Short.toUnsignedInt(r.getNaturalSW())); + List sws = new LinkedList<>(); + for (int i = 0; i < r.getNumSW(); ++i) { + sws.add(Short.toUnsignedInt(r.getSW(i))); + } + responseObj.put("sws", sws); + responseObj.put("duration", r.getDuration()); + responseObj.put("desc", r.getDescription()); + return responseObj; + } + + @Override + protected Map testableObject(Testable t) { + if (t instanceof CommandTestable) { + CommandTestable cmd = (CommandTestable) t; + Map result = new HashMap<>(); + result.put("type", "command"); + result.put("command", commandObject(cmd.getCommand())); + result.put("response", responseObject(cmd.getResponse())); + return result; + } + return null; + } +} diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index c3dfbbe7..237897cc 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -2,7 +2,6 @@ import cz.crcs.ectester.common.cli.*; import cz.crcs.ectester.common.ec.EC_Curve; -import cz.crcs.ectester.common.output.TextTestWriter; import cz.crcs.ectester.common.test.TestException; import cz.crcs.ectester.common.test.TestRunner; import cz.crcs.ectester.common.util.ByteUtil; @@ -12,6 +11,7 @@ import cz.crcs.ectester.standalone.consts.KeyPairGeneratorIdent; import cz.crcs.ectester.standalone.consts.SignatureIdent; import cz.crcs.ectester.standalone.libs.*; +import cz.crcs.ectester.standalone.output.TextTestWriter; import cz.crcs.ectester.standalone.test.StandaloneDefaultSuite; import cz.crcs.ectester.standalone.test.StandaloneTestSuite; import org.apache.commons.cli.DefaultParser; diff --git a/src/cz/crcs/ectester/standalone/output/TextTestWriter.java b/src/cz/crcs/ectester/standalone/output/TextTestWriter.java new file mode 100644 index 00000000..ddb1029d --- /dev/null +++ b/src/cz/crcs/ectester/standalone/output/TextTestWriter.java @@ -0,0 +1,20 @@ +package cz.crcs.ectester.standalone.output; + +import cz.crcs.ectester.common.output.BaseTextTestWriter; +import cz.crcs.ectester.common.test.Testable; + +import java.io.PrintStream; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class TextTestWriter extends BaseTextTestWriter { + public TextTestWriter(PrintStream output) { + super(output); + } + + @Override + protected String testableString(Testable t) { + return ""; + } +} \ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/output/XMLTestWriter.java b/src/cz/crcs/ectester/standalone/output/XMLTestWriter.java new file mode 100644 index 00000000..cc1a19e0 --- /dev/null +++ b/src/cz/crcs/ectester/standalone/output/XMLTestWriter.java @@ -0,0 +1,82 @@ +package cz.crcs.ectester.standalone.output; + +import cz.crcs.ectester.common.output.BaseXMLTestWriter; +import cz.crcs.ectester.common.test.Testable; +import cz.crcs.ectester.common.util.ByteUtil; +import cz.crcs.ectester.standalone.test.KeyAgreementTestable; +import cz.crcs.ectester.standalone.test.KeyGeneratorTestable; +import cz.crcs.ectester.standalone.test.SignatureTestable; +import org.w3c.dom.Element; + +import javax.xml.parsers.ParserConfigurationException; +import java.io.OutputStream; +import java.security.PrivateKey; +import java.security.PublicKey; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class XMLTestWriter extends BaseXMLTestWriter { + + public XMLTestWriter(OutputStream output) throws ParserConfigurationException { + super(output); + } + + private Element kaElement(KeyAgreementTestable kat) { + Element katElem = doc.createElement("key-agreement"); + + Element secret = doc.createElement("secret"); + secret.setTextContent(ByteUtil.bytesToHex(kat.getSecret())); + katElem.appendChild(secret); + + return katElem; + } + + private Element kgtElement(KeyGeneratorTestable kgt) { + Element kgtElem = doc.createElement("key-pair-generator"); + + Element keyPair = doc.createElement("key-pair"); + Element pubkey = doc.createElement("pubkey"); + PublicKey pkey = kgt.getKeyPair().getPublic(); + pubkey.setAttribute("algorithm", pkey.getAlgorithm()); + pubkey.setAttribute("format", pkey.getFormat()); + pubkey.setTextContent(ByteUtil.bytesToHex(pkey.getEncoded())); + keyPair.appendChild(pubkey); + + Element privkey = doc.createElement("privkey"); + PrivateKey skey = kgt.getKeyPair().getPrivate(); + privkey.setAttribute("algorithm", skey.getAlgorithm()); + privkey.setAttribute("format", skey.getFormat()); + privkey.setTextContent(ByteUtil.bytesToHex(skey.getEncoded())); + keyPair.appendChild(privkey); + + return kgtElem; + } + + private Element sigElement(SignatureTestable sig) { + Element sigElem = doc.createElement("signature"); + sigElem.setAttribute("verified", sig.getVerified() ? "true" : "false"); + + Element raw = doc.createElement("raw"); + raw.setTextContent(ByteUtil.bytesToHex(sig.getSignature())); + sigElem.appendChild(raw); + + return sigElem; + } + + @Override + protected Element testableElement(Testable t) { + Element result = doc.createElement("test"); + if (t instanceof KeyGeneratorTestable) { + result.setAttribute("type", "key-pair-generator"); + result.appendChild(kgtElement((KeyGeneratorTestable) t)); + } else if (t instanceof KeyAgreementTestable) { + result.setAttribute("type", "key-agreement"); + result.appendChild(kaElement((KeyAgreementTestable) t)); + } else if (t instanceof SignatureTestable) { + result.setAttribute("type", "signature"); + result.appendChild(sigElement((SignatureTestable) t)); + } + return result; + } +} diff --git a/src/cz/crcs/ectester/standalone/output/YAMLTestWriter.java b/src/cz/crcs/ectester/standalone/output/YAMLTestWriter.java new file mode 100644 index 00000000..7ede623c --- /dev/null +++ b/src/cz/crcs/ectester/standalone/output/YAMLTestWriter.java @@ -0,0 +1,70 @@ +package cz.crcs.ectester.standalone.output; + +import cz.crcs.ectester.common.output.BaseYAMLTestWriter; +import cz.crcs.ectester.common.test.Testable; +import cz.crcs.ectester.common.util.ByteUtil; +import cz.crcs.ectester.standalone.test.KeyAgreementTestable; +import cz.crcs.ectester.standalone.test.KeyGeneratorTestable; +import cz.crcs.ectester.standalone.test.SignatureTestable; + +import java.io.PrintStream; +import java.security.PrivateKey; +import java.security.PublicKey; +import java.util.HashMap; +import java.util.Map; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class YAMLTestWriter extends BaseYAMLTestWriter { + public YAMLTestWriter(PrintStream output) { + super(output); + } + + private Map kaObject(KeyAgreementTestable kat) { + Map katObject = new HashMap<>(); + katObject.put("secret", ByteUtil.bytesToHex(kat.getSecret())); + return katObject; + } + + private Map kgtObject(KeyGeneratorTestable kgt) { + Map kgtObject = new HashMap<>(); + Map pubObject = new HashMap<>(); + PublicKey pkey = kgt.getKeyPair().getPublic(); + pubObject.put("algorithm", pkey.getAlgorithm()); + pubObject.put("format", pkey.getFormat()); + pubObject.put("raw", ByteUtil.bytesToHex(pkey.getEncoded())); + kgtObject.put("pubkey", pubObject); + + Map privObject = new HashMap<>(); + PrivateKey skey = kgt.getKeyPair().getPrivate(); + privObject.put("algorithm", skey.getAlgorithm()); + privObject.put("format", skey.getFormat()); + privObject.put("raw", ByteUtil.bytesToHex(skey.getEncoded())); + kgtObject.put("privkey", privObject); + return kgtObject; + } + + private Map sigObject(SignatureTestable sig) { + Map sigObject = new HashMap<>(); + sigObject.put("verified", sig.getVerified()); + sigObject.put("raw", ByteUtil.bytesToHex(sig.getSignature())); + return sigObject; + } + + @Override + protected Map testableObject(Testable t) { + Map result = new HashMap<>(); + if (t instanceof KeyGeneratorTestable) { + result.put("type", "key-pair-generator"); + result.put("key-pair-generator", kgtObject((KeyGeneratorTestable) t)); + } else if (t instanceof KeyAgreementTestable) { + result.put("type", "key-agreement"); + result.put("key-agreement", kaObject((KeyAgreementTestable) t)); + } else if (t instanceof SignatureTestable) { + result.put("type", "signature"); + result.put("signature", sigObject((SignatureTestable) t)); + } + return result; + } +} From f40db310cdb28d39e1bb050e9adb920f4b35a8ed Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 27 Dec 2017 18:29:52 +0100 Subject: [PATCH 57/91] Cleanup the applet ECKA and Signature objects. --- src/cz/crcs/ectester/applet/ECKeyTester.java | 204 +++++------------- .../crcs/ectester/applet/ECTesterApplet.java | 186 ++++++---------- src/cz/crcs/ectester/applet/EC_Consts.java | 7 - .../crcs/ectester/common/ec/EC_KAResult.java | 18 +- .../common/output/BaseTextTestWriter.java | 2 +- .../crcs/ectester/common/util/CardUtil.java | 52 +++-- src/cz/crcs/ectester/data/EC_Store.java | 21 +- .../crcs/ectester/reader/ECTesterReader.java | 45 ++-- .../crcs/ectester/reader/command/Command.java | 79 ++++--- .../ectester/reader/response/Response.java | 59 +++-- .../reader/test/CardCompositeCurvesSuite.java | 3 +- .../reader/test/CardDefaultSuite.java | 2 +- .../reader/test/CardInvalidCurvesSuite.java | 2 +- .../ectester/reader/test/CardTestSuite.java | 14 +- .../reader/test/CardTestVectorSuite.java | 2 +- 15 files changed, 274 insertions(+), 422 deletions(-) diff --git a/src/cz/crcs/ectester/applet/ECKeyTester.java b/src/cz/crcs/ectester/applet/ECKeyTester.java index 0b3c1e0a..732cb4c8 100644 --- a/src/cz/crcs/ectester/applet/ECKeyTester.java +++ b/src/cz/crcs/ectester/applet/ECKeyTester.java @@ -3,7 +3,6 @@ import javacard.framework.CardRuntimeException; import javacard.framework.ISO7816; -import javacard.framework.ISOException; import javacard.security.*; /** @@ -13,77 +12,35 @@ * @author Jan Jancar johny@neuromancer.sk */ public class ECKeyTester { - - private KeyAgreement ecdhKeyAgreement = null; - private KeyAgreement ecdhcKeyAgreement = null; + private KeyAgreement ecKeyAgreement = null; + private short kaType = 0; private Signature ecdsaSignature = null; + private short sigType = 0; private short sw = ISO7816.SW_NO_ERROR; - public short allocateECDH(byte algorithm) { + public short allocateKA(byte algorithm) { sw = ISO7816.SW_NO_ERROR; try { - ecdhKeyAgreement = KeyAgreement.getInstance(algorithm, false); + ecKeyAgreement = KeyAgreement.getInstance(algorithm, false); + kaType = algorithm; } catch (CardRuntimeException ce) { sw = ce.getReason(); } return sw; } - public short allocateECDHC(byte algorithm) { + public short allocateSig(byte algorithm) { sw = ISO7816.SW_NO_ERROR; try { - ecdhcKeyAgreement = KeyAgreement.getInstance(algorithm, false); + ecdsaSignature = Signature.getInstance(algorithm, false); + sigType = algorithm; } catch (CardRuntimeException ce) { sw = ce.getReason(); } return sw; } - public short allocateECDSA() { - sw = ISO7816.SW_NO_ERROR; - try { - ecdsaSignature = Signature.getInstance(Signature.ALG_ECDSA_SHA, false); - } catch (CardRuntimeException ce) { - sw = ce.getReason(); - } - return sw; - } - - private short testKA(KeyAgreement ka, KeyPair privatePair, KeyPair publicPair, byte[] pubkeyBuffer, short pubkeyOffset, byte[] outputBuffer, short outputOffset, short corruption) { - short length = 0; - try { - sw = AppletUtil.kaCheck(ka); - sw = AppletUtil.keypairCheck(privatePair); - sw = AppletUtil.keypairCheck(publicPair); - short pubkeyLength = ((ECPublicKey) publicPair.getPublic()).getW(pubkeyBuffer, pubkeyOffset); - // reached ok - ka.init(privatePair.getPrivate()); // throws UNITIALIZED KEY when ALG_EC_SVDP_DHC_PLAIN is used - //ISOException.throwIt((short) 0x666); - - pubkeyLength = EC_Consts.corruptParameter(corruption, pubkeyBuffer, pubkeyOffset, pubkeyLength); - length = ka.generateSecret(pubkeyBuffer, pubkeyOffset, pubkeyLength, outputBuffer, outputOffset); - } catch (CardRuntimeException ce) { - sw = ce.getReason(); - } - return length; - } - - private short testKA_direct(KeyAgreement ka, KeyPair privatePair, byte[] pubkey, short pubkeyOffset, short pubkeyLength, byte[] outpuBuffer, short outputOffset, short corruption) { - short length = 0; - try { - sw = AppletUtil.kaCheck(ka); - sw = AppletUtil.keypairCheck(privatePair); - - ka.init(privatePair.getPrivate()); - pubkeyLength = EC_Consts.corruptParameter(corruption, pubkey, pubkeyOffset, pubkeyLength); - length = ka.generateSecret(pubkey, pubkeyOffset, pubkeyLength, outpuBuffer, outputOffset); - } catch (CardRuntimeException ce) { - sw = ce.getReason(); - } - return length; - } - /** * Tests ECDH secret generation with keys from given {@code privatePair} and {@code publicPair}. * Uses {@code pubkeyBuffer} at {@code pubkeyOffset} for computations. @@ -98,100 +55,48 @@ private short testKA_direct(KeyAgreement ka, KeyPair privatePair, byte[] pubkey, * @param corruption (EC_Consts.CORRUPTION_* | ...) * @return derived secret length **/ - public short testECDH(KeyPair privatePair, KeyPair publicPair, byte[] pubkeyBuffer, short pubkeyOffset, byte[] outputBuffer, short outputOffset, short corruption) { - return testKA(ecdhKeyAgreement, privatePair, publicPair, pubkeyBuffer, pubkeyOffset, outputBuffer, outputOffset, corruption); - } - - public short testECDH_direct(KeyPair privatePair, byte[] pubkey, short pubkeyOffset, short pubkeyLength, byte[] outpuBuffer, short outputOffset, short corruption) { - return testKA_direct(ecdhKeyAgreement, privatePair, pubkey, pubkeyOffset, pubkeyLength, outpuBuffer, outputOffset, corruption); - } - - /** - * Tests ECDHC secret generation with keys from given {@code privatePair} and {@code publicPair}. - * Uses {@code pubkeyBuffer} at {@code pubkeyOffset} for computations. - * Output should equal to ECDH output. - * - * @param privatePair KeyPair from which the private key is used - * @param publicPair KeyPair from which the public key is used - * @param pubkeyBuffer buffer to be used for the public key - * @param pubkeyOffset offset into pubkeyBuffer that can be used for the public key - * @param outputBuffer buffer to be used for the secret output - * @param outputOffset offset into the outputBuffer - * @param corruption (EC_Consts.CORRUPTION_* | ...) - * @return derived secret length - */ - public short testECDHC(KeyPair privatePair, KeyPair publicPair, byte[] pubkeyBuffer, short pubkeyOffset, byte[] outputBuffer, short outputOffset, short corruption) { - return testKA(ecdhcKeyAgreement, privatePair, publicPair, pubkeyBuffer, pubkeyOffset, outputBuffer, outputOffset, corruption); - } - - public short testECDHC_direct(KeyPair privatePair, byte[] pubkey, short pubkeyOffset, short pubkeyLength, byte[] outpuBuffer, short outputOffset, short corruption) { - return testKA_direct(ecdhcKeyAgreement, privatePair, pubkey, pubkeyOffset, pubkeyLength, outpuBuffer, outputOffset, corruption); - } - - /** - * @param privatePair KeyPair from which the private key is used - * @param publicPair KeyPair from which the public key is used - * @param pubkeyBuffer buffer to be used for the public key - * @param pubkeyOffset offset into pubkeyBuffer that can be used for the public key - * @param outputBuffer buffer to be used for the secret output - * @param outputOffset offset into the outputBuffer - * @param corruption (EC_Consts.CORRUPTION_* | ...) - * @return - */ - public short testBOTH(KeyPair privatePair, KeyPair publicPair, byte[] pubkeyBuffer, short pubkeyOffset, byte[] outputBuffer, short outputOffset, short corruption) { - short ecdhLength = testECDH(privatePair, publicPair, pubkeyBuffer, pubkeyOffset, outputBuffer, outputOffset, corruption); - if (sw != ISO7816.SW_NO_ERROR) { - return ecdhLength; - } - short ecdhcLength = testECDHC(privatePair, publicPair, pubkeyBuffer, pubkeyOffset, outputBuffer, (short) (outputOffset + ecdhLength), corruption); - short length = (short) (ecdhLength + ecdhcLength); - if (sw != ISO7816.SW_NO_ERROR) { - return length; - } - if (javacard.framework.Util.arrayCompare(outputBuffer, outputOffset, outputBuffer, (short) (outputOffset + ecdhLength), ecdhLength) != 0) { - sw = ECTesterApplet.SW_DH_DHC_MISMATCH; - } - return length; - } + public short testKA(KeyPair privatePair, KeyPair publicPair, byte[] pubkeyBuffer, short pubkeyOffset, byte[] outputBuffer, short outputOffset, short corruption) { + short length = 0; + try { + sw = AppletUtil.kaCheck(ecKeyAgreement); + sw = AppletUtil.keypairCheck(privatePair); + sw = AppletUtil.keypairCheck(publicPair); + short pubkeyLength = ((ECPublicKey) publicPair.getPublic()).getW(pubkeyBuffer, pubkeyOffset); + // reached ok + ecKeyAgreement.init(privatePair.getPrivate()); // throws UNITIALIZED KEY when ALG_EC_SVDP_DHC_PLAIN is used + //ISOException.throwIt((short) 0x666); - public short testBOTH_direct(KeyPair privatePair, byte[] pubkey, short pubkeyOffset, short pubkeyLength, byte[] outputBuffer, short outputOffset, short corruption) { - short ecdhLength = testECDH_direct(privatePair, pubkey, pubkeyOffset, pubkeyLength, outputBuffer, outputOffset, corruption); - if (sw != ISO7816.SW_NO_ERROR) { - return ecdhLength; - } - short ecdhcLength = testECDHC_direct(privatePair, pubkey, pubkeyOffset, pubkeyLength, outputBuffer, outputOffset, corruption); - short length = (short) (ecdhLength + ecdhcLength); - if (sw != ISO7816.SW_NO_ERROR) { - return length; - } - if (javacard.framework.Util.arrayCompare(outputBuffer, outputOffset, outputBuffer, (short) (outputOffset + ecdhLength), ecdhLength) != 0) { - sw = ECTesterApplet.SW_DH_DHC_MISMATCH; + pubkeyLength = EC_Consts.corruptParameter(corruption, pubkeyBuffer, pubkeyOffset, pubkeyLength); + length = ecKeyAgreement.generateSecret(pubkeyBuffer, pubkeyOffset, pubkeyLength, outputBuffer, outputOffset); + } catch (CardRuntimeException ce) { + sw = ce.getReason(); } return length; } /** - * @param privatePair KeyPair from which the private key is used - * @param publicPair KeyPair from which the public key is used - * @param pubkeyBuffer buffer to be used for the public key - * @param pubkeyOffset offset into pubkeyBuffer that can be used for the public key - * @param outputBuffer buffer to be used for the secret output - * @param outputOffset offset into the outputBuffer - * @param corruption (EC_Consts.CORRUPTION_* | ...) + * @param privatePair + * @param pubkey + * @param pubkeyOffset + * @param pubkeyLength + * @param outpuBuffer + * @param outputOffset + * @param corruption * @return */ - public short testANY(KeyPair privatePair, KeyPair publicPair, byte[] pubkeyBuffer, short pubkeyOffset, byte[] outputBuffer, short outputOffset, short corruption) { - short ecdhLength = testECDH(privatePair, publicPair, pubkeyBuffer, pubkeyOffset, outputBuffer, outputOffset, corruption); - if (sw == ISO7816.SW_NO_ERROR) - return ecdhLength; - return testECDHC(privatePair, publicPair, pubkeyBuffer, pubkeyOffset, outputBuffer, outputOffset, corruption); - } + public short testKA_direct(KeyPair privatePair, byte[] pubkey, short pubkeyOffset, short pubkeyLength, byte[] outpuBuffer, short outputOffset, short corruption) { + short length = 0; + try { + sw = AppletUtil.kaCheck(ecKeyAgreement); + sw = AppletUtil.keypairCheck(privatePair); - public short testANY_direct(KeyPair privatePair, byte[] pubkey, short pubkeyOffset, short pubkeyLength, byte[] outputBuffer, short outputOffset, short corruption) { - short ecdhLength = testECDH_direct(privatePair, pubkey, pubkeyOffset, pubkeyLength, outputBuffer, outputOffset, corruption); - if (sw == ISO7816.SW_NO_ERROR) - return ecdhLength; - return testECDHC_direct(privatePair, pubkey, pubkeyOffset, pubkeyLength, outputBuffer, outputOffset, corruption); + ecKeyAgreement.init(privatePair.getPrivate()); + pubkeyLength = EC_Consts.corruptParameter(corruption, pubkey, pubkeyOffset, pubkeyLength); + length = ecKeyAgreement.generateSecret(pubkey, pubkeyOffset, pubkeyLength, outpuBuffer, outputOffset); + } catch (CardRuntimeException ce) { + sw = ce.getReason(); + } + return length; } /** @@ -227,32 +132,31 @@ public short testECDSA(ECPrivateKey signKey, ECPublicKey verifyKey, byte[] input return length; } - public KeyAgreement getECDH() { - return ecdhKeyAgreement; + public KeyAgreement getKA() { + return ecKeyAgreement; } - public KeyAgreement getECDHC() { - return ecdhcKeyAgreement; + public Signature getSig() { + return ecdsaSignature; } - public Signature getECDSA() { - return ecdsaSignature; + public boolean hasKA() { + return ecKeyAgreement != null; } - public boolean hasECDH() { - return ecdhKeyAgreement != null; + public boolean hasSig() { + return ecdsaSignature != null; } - public boolean hasECDHC() { - return ecdhcKeyAgreement != null; + public short getKaType() { + return kaType; } - public boolean hasECDSA() { - return ecdsaSignature != null; + public short getSigType() { + return sigType; } public short getSW() { return sw; } - } diff --git a/src/cz/crcs/ectester/applet/ECTesterApplet.java b/src/cz/crcs/ectester/applet/ECTesterApplet.java index deb3aae5..870fb3d0 100644 --- a/src/cz/crcs/ectester/applet/ECTesterApplet.java +++ b/src/cz/crcs/ectester/applet/ECTesterApplet.java @@ -26,11 +26,7 @@ package cz.crcs.ectester.applet; import javacard.framework.*; -import javacard.security.ECPrivateKey; -import javacard.security.ECPublicKey; -import javacard.security.KeyAgreement; -import javacard.security.KeyPair; -import javacard.security.RandomData; +import javacard.security.*; import javacardx.apdu.ExtendedLength; /** @@ -55,8 +51,9 @@ public class ECTesterApplet extends Applet implements ExtendedLength { public static final byte INS_ECDH_DIRECT = (byte) 0x71; public static final byte INS_ECDSA = (byte) 0x72; public static final byte INS_CLEANUP = (byte) 0x73; - public static final byte INS_SUPPORT = (byte) 0x74; + //public static final byte INS_SUPPORT = (byte) 0x74; public static final byte INS_ALLOCATE_KA = (byte) 0x75; + public static final byte INS_ALLOCATE_SIG = (byte) 0x76; // PARAMETERS for P1 and P2 @@ -88,6 +85,13 @@ public class ECTesterApplet extends Applet implements ExtendedLength { public static final byte KeyAgreement_ALG_EC_SVDP_DH_PLAIN_XY = 6; public static final byte KeyAgreement_ALG_DH_PLAIN = 7; + // Class javacard.security.Signature + // javacard.security.Signature Fields: + public static final byte Signature_ALG_ECDSA_SHA = 17; + public static final byte Signature_ALG_ECDSA_SHA_256 = 33; + public static final byte Signature_ALG_ECDSA_SHA_384 = 34; + public static final byte Signature_ALG_ECDSA_SHA_224 = 37; + public static final byte Signature_ALG_ECDSA_SHA_512 = 38; private static final short ARRAY_LENGTH = (short) 0xff; private static final short APDU_MAX_LENGTH = (short) 1024; @@ -98,13 +102,9 @@ public class ECTesterApplet extends Applet implements ExtendedLength { // PERSISTENT ARRAY IN EEPROM private byte[] dataArray = null; // unused - private RandomData randomData = null; private ECKeyTester keyTester = null; - private short ecdhSW; - private short ecdhcSW; - private short ecdsaSW; private ECKeyGenerator keyGenerator = null; private KeyPair localKeypair = null; private KeyPair remoteKeypair = null; @@ -133,11 +133,6 @@ protected ECTesterApplet(byte[] buffer, short offset, byte length) { keyGenerator = new ECKeyGenerator(); keyTester = new ECKeyTester(); - ecdhSW = keyTester.allocateECDH(KeyAgreement.ALG_EC_SVDP_DH); - ecdhcSW = keyTester.allocateECDHC(KeyAgreement.ALG_EC_SVDP_DHC); - //ecdhSW = keyTester.allocateECDH((byte) 3); - //ecdhcSW = keyTester.allocateECDHC((byte) 4); - ecdsaSW = keyTester.allocateECDSA(); } register(); } @@ -166,6 +161,9 @@ public void process(APDU apdu) throws ISOException { case INS_ALLOCATE_KA: length = insAllocateKA(apdu); break; + case INS_ALLOCATE_SIG: + length = insAllocateSig(apdu); + break; case INS_ALLOCATE: length = insAllocate(apdu); break; @@ -196,9 +194,6 @@ public void process(APDU apdu) throws ISOException { case INS_CLEANUP: length = insCleanup(apdu); break; - case INS_SUPPORT: - length = insSupport(apdu); - break; default: // The INS code is not supported by the dispatcher ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED); @@ -210,7 +205,7 @@ public void process(APDU apdu) throws ISOException { } /** - * Allocates KeyAgreement object. returns allocate SW + * Allocates KeyAgreement object, returns allocate SW. * * @param apdu DATA = byte KeyAgreementType * @return length of response @@ -218,35 +213,25 @@ public void process(APDU apdu) throws ISOException { private short insAllocateKA(APDU apdu) { short cdata = apdu.getOffsetCdata(); byte kaType = apduArray[cdata]; -/* - short sw = SW_KA_UNSUPPORTED; - switch (kaType) { - case KeyAgreement_ALG_EC_SVDP_DH: // no break - case KeyAgreement_ALG_EC_SVDP_DH_PLAIN: - case KeyAgreement_ALG_EC_PACE_GM: - case KeyAgreement_ALG_EC_SVDP_DH_PLAIN_XY: - sw = keyTester.allocateECDH(kaType); - break; - case KeyAgreement_ALG_EC_SVDP_DHC: - case KeyAgreement_ALG_EC_SVDP_DHC_PLAIN: - sw = keyTester.allocateECDHC(kaType); - break; - default: - sw = SW_KA_UNSUPPORTED; - break; - } -*/ - // Allocate given type into both DH and DHC objects - short sw = keyTester.allocateECDH(kaType); - short offset = 0; - Util.setShort(apdu.getBuffer(), offset, sw); - offset += 2; - - //sw = keyTester.allocateECDHC(kaType); - Util.setShort(apdu.getBuffer(), offset, sw); - offset += 2; - return offset; + short sw = keyTester.allocateKA(kaType); + Util.setShort(apdu.getBuffer(), (short) 0, sw); + return 2; } + + /** + * Allocates a Signature object, returns allocate SW. + * + * @param apdu DATA = byte SignatureType + * @return length of response + */ + private short insAllocateSig(APDU apdu) { + short cdata = apdu.getOffsetCdata(); + byte sigType = apduArray[cdata]; + short sw = keyTester.allocateSig(sigType); + Util.setShort(apdu.getBuffer(), (short) 0, sw); + return 2; + } + /** * Allocates local and remote keyPairs. * returns allocate SWs @@ -449,7 +434,8 @@ private short insECDH_direct(APDU apdu) { * * @param apdu P1 = byte keyPair (KEYPAIR_*) * P2 = byte export (EXPORT_TRUE || EXPORT_FALSE) - * DATA = short dataLength (00 = random data generated, !00 = data length) + * DATA = byte sigType + * short dataLength (00 = random data generated, !00 = data length) * byte[] data * @return length of response */ @@ -457,13 +443,14 @@ private short insECDSA(APDU apdu) { byte keyPair = apduArray[ISO7816.OFFSET_P1]; byte export = apduArray[ISO7816.OFFSET_P2]; short cdata = apdu.getOffsetCdata(); + byte sigType = apduArray[cdata]; short len = 0; if ((keyPair & KEYPAIR_LOCAL) != 0) { - len += ecdsa(localKeypair, export, apduArray, cdata, apdu.getBuffer(), (short) 0); + len += ecdsa(localKeypair, sigType, export, apduArray, cdata, apdu.getBuffer(), (short) 0); } if ((keyPair & KEYPAIR_REMOTE) != 0) { - len += ecdsa(remoteKeypair, export, apduArray, cdata, apdu.getBuffer(), len); + len += ecdsa(remoteKeypair, sigType, export, apduArray, cdata, apdu.getBuffer(), len); } return len; @@ -481,19 +468,6 @@ private short insCleanup(APDU apdu) { return cleanup(apdubuf, (short) 0); } - /** - * Returns data about card support for various EC related tasks collected on applet - * install. - * - * @param apdu no data - * @return length of response - */ - private short insSupport(APDU apdu) { - byte[] apdubuf = apdu.getBuffer(); - - return support(apdubuf, (short) 0); - } - /** * @param keyPair which keyPair to use, local/remote (KEYPAIR_* | ...) * @param keyLength key length to set @@ -625,7 +599,7 @@ private short export(KeyPair keyPair, byte key, short params, byte[] outBuffer, * @param privkey keyPair to use for private key, (KEYPAIR_LOCAL || KEYPAIR_REMOTE) * @param export whether to export ECDH secret * @param corruption whether to invalidate the pubkey before ECDH - * @param type KeyAgreement type to test (EC_Consts.KA_* || ...) + * @param type KeyAgreement type to test * @param outBuffer buffer to write sw to, and export ECDH secret {@code if(export == EXPORT_TRUE)} * @param outOffset output offset in buffer * @return length of data written to the buffer @@ -637,23 +611,14 @@ private short ecdh(byte pubkey, byte privkey, byte export, short corruption, byt KeyPair priv = ((privkey & KEYPAIR_LOCAL) != 0) ? localKeypair : remoteKeypair; short secretLength = 0; - switch (type) { - case EC_Consts.KA_ECDH: - secretLength = keyTester.testECDH(priv, pub, ramArray, (short) 0, ramArray2, (short) 0, corruption); - break; - case EC_Consts.KA_ECDHC: - secretLength = keyTester.testECDHC(priv, pub, ramArray, (short) 0, ramArray2, (short) 0, corruption); - break; - case EC_Consts.KA_BOTH: - secretLength = keyTester.testBOTH(priv, pub, ramArray, (short) 0, ramArray2, (short) 0, corruption); - break; - case EC_Consts.KA_ANY: - secretLength = keyTester.testANY(priv, pub, ramArray, (short) 0, ramArray2, (short) 0, corruption); - break; - default: - ISOException.throwIt(ISO7816.SW_FUNC_NOT_SUPPORTED); + if (keyTester.getKaType() == type) { + secretLength = keyTester.testKA(priv, pub, ramArray, (short) 0, ramArray2, (short) 0, corruption); + } else { + short allocateSW = keyTester.allocateKA(type); + if (allocateSW == ISO7816.SW_NO_ERROR) { + secretLength = keyTester.testKA(priv, pub, ramArray, (short) 0, ramArray2, (short) 0, corruption); + } } - Util.setShort(outBuffer, outOffset, keyTester.getSW()); length += 2; @@ -673,21 +638,13 @@ private short ecdh_direct(byte privkey, byte export, short corruption, byte type KeyPair priv = ((privkey & KEYPAIR_LOCAL) != 0) ? localKeypair : remoteKeypair; short secretLength = 0; - switch (type) { - case EC_Consts.KA_ECDH: - secretLength = keyTester.testECDH_direct(priv, apduArray, keyOffset, keyLength, outBuffer, outOffset, corruption); - break; - case EC_Consts.KA_ECDHC: - secretLength = keyTester.testECDHC_direct(priv, apduArray, keyOffset, keyLength, outBuffer, outOffset, corruption); - break; - case EC_Consts.KA_BOTH: - secretLength = keyTester.testBOTH_direct(priv, apduArray, keyOffset, keyLength, outBuffer, outOffset, corruption); - break; - case EC_Consts.KA_ANY: - secretLength = keyTester.testANY_direct(priv, apduArray, keyOffset, keyLength, outBuffer, outOffset, corruption); - break; - default: - ISOException.throwIt(ISO7816.SW_FUNC_NOT_SUPPORTED); + if (keyTester.getKaType() == type) { + secretLength = keyTester.testKA_direct(priv, apduArray, keyOffset, keyLength, ramArray2, (short) 0, corruption); + } else { + short allocateSW = keyTester.allocateKA(type); + if (allocateSW == ISO7816.SW_NO_ERROR) { + secretLength = keyTester.testKA_direct(priv, apduArray, keyOffset, keyLength, ramArray2, (short) 0, corruption); + } } Util.setShort(outBuffer, outOffset, keyTester.getSW()); @@ -704,6 +661,7 @@ private short ecdh_direct(byte privkey, byte export, short corruption, byte type /** * @param sign keyPair to use for signing and verification + * @param sigType Signature type to use * @param export whether to export ECDSA signature * @param inBuffer buffer to read dataLength and data to sign from * @param inOffset input offset in buffer @@ -711,7 +669,7 @@ private short ecdh_direct(byte privkey, byte export, short corruption, byte type * @param outOffset output offset in buffer * @return length of data written to the buffer */ - private short ecdsa(KeyPair sign, byte export, byte[] inBuffer, short inOffset, byte[] outBuffer, short outOffset) { + private short ecdsa(KeyPair sign, byte sigType, byte export, byte[] inBuffer, short inOffset, byte[] outBuffer, short outOffset) { short length = 0; short dataLength = Util.getShort(inBuffer, inOffset); @@ -723,7 +681,15 @@ private short ecdsa(KeyPair sign, byte export, byte[] inBuffer, short inOffset, Util.arrayCopyNonAtomic(inBuffer, (short) (inOffset + 2), ramArray, (short) 0, dataLength); } - short signatureLength = keyTester.testECDSA((ECPrivateKey) sign.getPrivate(), (ECPublicKey) sign.getPublic(), ramArray, (short) 0, dataLength, ramArray2, (short) 0); + short signatureLength = 0; + if (keyTester.getSigType() == sigType) { + signatureLength = keyTester.testECDSA((ECPrivateKey) sign.getPrivate(), (ECPublicKey) sign.getPublic(), ramArray, (short) 0, dataLength, ramArray2, (short) 0); + } else { + short allocateSW = keyTester.allocateSig(sigType); + if (allocateSW == ISO7816.SW_NO_ERROR) { + signatureLength = keyTester.testECDSA((ECPrivateKey) sign.getPrivate(), (ECPublicKey) sign.getPublic(), ramArray, (short) 0, dataLength, ramArray2, (short) 0); + } + } Util.setShort(outBuffer, outOffset, keyTester.getSW()); length += 2; @@ -755,30 +721,4 @@ private short cleanup(byte[] buffer, short offset) { Util.setShort(buffer, offset, sw); return 2; } - - /** - * @param buffer buffer to write sw to - * @param offset output offset in buffer - * @return length of data written to the buffer - */ - private short support(byte[] buffer, short offset) { - - if (keyTester.hasECDH()) { - Util.setShort(buffer, offset, ecdhSW); - } else { - Util.setShort(buffer, offset, ISO7816.SW_FUNC_NOT_SUPPORTED); - } - if (keyTester.hasECDHC()) { - Util.setShort(buffer, (short) (offset + 2), ecdhcSW); - } else { - Util.setShort(buffer, (short) (offset + 2), ISO7816.SW_FUNC_NOT_SUPPORTED); - } - if (keyTester.hasECDSA()) { - Util.setShort(buffer, (short) (offset + 4), ecdsaSW); - } else { - Util.setShort(buffer, (short) (offset + 4), ISO7816.SW_FUNC_NOT_SUPPORTED); - } - - return 6; - } } diff --git a/src/cz/crcs/ectester/applet/EC_Consts.java b/src/cz/crcs/ectester/applet/EC_Consts.java index 04cd55ef..15cb7faa 100644 --- a/src/cz/crcs/ectester/applet/EC_Consts.java +++ b/src/cz/crcs/ectester/applet/EC_Consts.java @@ -59,13 +59,6 @@ public class EC_Consts { public static final byte KEY_PRIVATE = 0x02; public static final byte KEY_BOTH = KEY_PUBLIC | KEY_PRIVATE; - - // Key Agreement test identifiers - public static final byte KA_ECDH = 0x01; - public static final byte KA_ECDHC = 0x02; - public static final byte KA_BOTH = KA_ECDH | KA_ECDHC; - public static final byte KA_ANY = 0x04; - public static RandomData randomData = null; // secp112r1 diff --git a/src/cz/crcs/ectester/common/ec/EC_KAResult.java b/src/cz/crcs/ectester/common/ec/EC_KAResult.java index a7b3cd51..8a5fcb46 100644 --- a/src/cz/crcs/ectester/common/ec/EC_KAResult.java +++ b/src/cz/crcs/ectester/common/ec/EC_KAResult.java @@ -8,15 +8,14 @@ * @author Jan Jancar johny@neuromancer.sk */ public class EC_KAResult extends EC_Data { - - private byte ka; + private String ka; private String curve; private String oneKey; private String otherKey; private String desc; - public EC_KAResult(byte ka, String curve, String oneKey, String otherKey) { + public EC_KAResult(String ka, String curve, String oneKey, String otherKey) { super(1); this.ka = ka; this.curve = curve; @@ -24,20 +23,24 @@ public EC_KAResult(byte ka, String curve, String oneKey, String otherKey) { this.otherKey = otherKey; } - public EC_KAResult(String id, byte ka, String curve, String oneKey, String otherKey) { + public EC_KAResult(String id, String ka, String curve, String oneKey, String otherKey) { this(ka, curve, oneKey, otherKey); this.id = id; } - public EC_KAResult(String id, byte ka, String curve, String oneKey, String otherKey, String desc) { + public EC_KAResult(String id, String ka, String curve, String oneKey, String otherKey, String desc) { this(id, ka, curve, oneKey, otherKey); this.desc = desc; } - public byte getKA() { + public String getKA() { return ka; } + public byte getJavaCardKA() { + return CardUtil.getKA(ka); + } + public String getCurve() { return curve; } @@ -56,8 +59,7 @@ public String getDesc() { @Override public String toString() { - String algo = CardUtil.getKA(ka); - return "<" + getId() + "> " + algo + " result over " + curve + ", " + oneKey + " + " + otherKey + (desc == null ? "" : ": " + desc); + return "<" + getId() + "> " + ka + " result over " + curve + ", " + oneKey + " + " + otherKey + (desc == null ? "" : ": " + desc); } } diff --git a/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java b/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java index 9635d0ca..7e0e1a3b 100644 --- a/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java +++ b/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java @@ -10,7 +10,7 @@ public abstract class BaseTextTestWriter implements TestWriter { private PrintStream output; - public static int BASE_WIDTH = 76; + public static int BASE_WIDTH = 80; public BaseTextTestWriter(PrintStream output) { this.output = output; diff --git a/src/cz/crcs/ectester/common/util/CardUtil.java b/src/cz/crcs/ectester/common/util/CardUtil.java index edcb5105..55c42772 100644 --- a/src/cz/crcs/ectester/common/util/CardUtil.java +++ b/src/cz/crcs/ectester/common/util/CardUtil.java @@ -12,6 +12,18 @@ * @author Jan Jancar johny@neuromancer.sk */ public class CardUtil { + public static byte getKA(String name) { + switch (name) { + case "DH": + case "ECDH": + return ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH; + case "DHC": + case "ECDHC": + return ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DHC; + } + return ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH; + } + public static String getSWSource(short sw) { switch (sw) { case ISO7816.SW_NO_ERROR: @@ -214,22 +226,6 @@ public static String getCorruption(short corruptionType) { return corrupt; } - public static String getKA(byte ka) { - String algo = ""; - if ((ka & EC_Consts.KA_ECDH) != 0 || ka == EC_Consts.KA_ANY) { - algo += "ECDH"; - } - if (ka == EC_Consts.KA_BOTH) { - algo += "+"; - } else if (ka == EC_Consts.KA_ANY) { - algo += "/"; - } - if ((ka & EC_Consts.KA_ECDHC) != 0 || ka == EC_Consts.KA_ANY) { - algo += "ECDHC"; - } - return algo; - } - public static String getKATypeString(byte kaType) { String kaTypeString; switch (kaType) { @@ -256,4 +252,28 @@ public static String getKATypeString(byte kaType) { } return kaTypeString; } + + public static String getSigTypeString(byte sigType) { + String sigTypeString; + switch (sigType) { + case Signature_ALG_ECDSA_SHA: + sigTypeString = "ALG_ECDSA_SHA"; + break; + case Signature_ALG_ECDSA_SHA_224: + sigTypeString = "ALG_ECDSA_SHA_224"; + break; + case Signature_ALG_ECDSA_SHA_256: + sigTypeString = "ALG_ECDSA_SHA_256"; + break; + case Signature_ALG_ECDSA_SHA_384: + sigTypeString = "ALG_ECDSA_SHA_384"; + break; + case Signature_ALG_ECDSA_SHA_512: + sigTypeString = "ALG_ECDSA_SHA_512"; + break; + default: + sigTypeString = "unknown"; + } + return sigTypeString; + } } diff --git a/src/cz/crcs/ectester/data/EC_Store.java b/src/cz/crcs/ectester/data/EC_Store.java index 3103c1d7..c25be4e5 100644 --- a/src/cz/crcs/ectester/data/EC_Store.java +++ b/src/cz/crcs/ectester/data/EC_Store.java @@ -2,6 +2,7 @@ import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.common.ec.*; +import cz.crcs.ectester.common.util.CardUtil; import javacard.security.KeyPair; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -217,25 +218,7 @@ private EC_Category parseCategory(String name, String dir, String desc) throws P descs = descc.item(0).getTextContent(); } - byte kab = EC_Consts.KA_ANY; - switch (ka.getTextContent()) { - case "DH": - case "ECDH": - kab = EC_Consts.KA_ECDH; - break; - case "DHC": - case "ECDHC": - kab = EC_Consts.KA_ECDHC; - break; - case "ANY": - kab = EC_Consts.KA_ANY; - break; - case "BOTH": - kab = EC_Consts.KA_BOTH; - break; - } - - EC_KAResult kaResult = new EC_KAResult(id.getTextContent(), kab, curve.getTextContent(), onekey.getTextContent(), otherkey.getTextContent(), descs); + EC_KAResult kaResult = new EC_KAResult(id.getTextContent(), ka.getTextContent(), curve.getTextContent(), onekey.getTextContent(), otherkey.getTextContent(), descs); InputStream csv = parseDataElement(dir, elem); if (!kaResult.readCSV(csv)) { diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index f566c9c0..4e62f3fb 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -47,6 +47,7 @@ import java.util.*; import static cz.crcs.ectester.applet.ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH; +import static cz.crcs.ectester.applet.ECTesterApplet.Signature_ALG_ECDSA_SHA; /** * Reader part of ECTester, a tool for testing Elliptic curve support on javacards. @@ -218,8 +219,7 @@ private CommandLine parseArgs(String[] args) throws ParseException { * -e / --export * -g / --generate [amount] * -t / --test [test_suite] - * -dh / --ecdh [count] - * -dhc / --ecdhc [count] + * -dh / --ecdh [count]] * -dsa / --ecdsa [count] * -ln / --list-named [obj] * @@ -253,6 +253,7 @@ private CommandLine parseArgs(String[] args) throws ParseException { * -s / --simulate * -y / --yes * -ka/ --ka-type + * -sig/--sig-type */ OptionGroup actions = new OptionGroup(); actions.setRequired(true); @@ -262,8 +263,7 @@ private CommandLine parseArgs(String[] args) throws ParseException { actions.addOption(Option.builder("e").longOpt("export").desc("Export the defaut curve parameters of the card(if any).").build()); actions.addOption(Option.builder("g").longOpt("generate").desc("Generate [amount] of EC keys.").hasArg().argName("amount").optionalArg(true).build()); actions.addOption(Option.builder("t").longOpt("test").desc("Test ECC support. [test_suite]:\n- default:\n- invalid:\n- wrong:\n- composite:\n- test-vectors:").hasArg().argName("test_suite").optionalArg(true).build()); - actions.addOption(Option.builder("dh").longOpt("ecdh").desc("Do ECDH, [count] times.").hasArg().argName("count").optionalArg(true).build()); - actions.addOption(Option.builder("dhc").longOpt("ecdhc").desc("Do ECDHC, [count] times.").hasArg().argName("count").optionalArg(true).build()); + actions.addOption(Option.builder("ka").longOpt("ecka").desc("Do EC KeyAgreement (ECDH...), [count] times.").hasArg().argName("count").optionalArg(true).build()); actions.addOption(Option.builder("dsa").longOpt("ecdsa").desc("Sign data with ECDSA, [count] times.").hasArg().argName("count").optionalArg(true).build()); opts.addOptionGroup(actions); @@ -308,6 +308,7 @@ private CommandLine parseArgs(String[] args) throws ParseException { opts.addOption(Option.builder("y").longOpt("yes").desc("Accept all warnings and prompts.").build()); opts.addOption(Option.builder("ka").longOpt("ka-type").desc("Set KeyAgreement object [type], corresponds to JC.KeyAgreement constants.").hasArg().argName("type").optionalArg(true).build()); + opts.addOption(Option.builder("sig").longOpt("sig-type").desc("Set Signature object [type], corresponds to JC.Signature constants.").hasArg().argName("type").optionalArg(true).build()); CommandLineParser parser = new DefaultParser(); return parser.parse(opts, args); @@ -464,7 +465,7 @@ private void test() throws IOException, TestException { private void ecdh() throws IOException, CardException { byte keyClass = cfg.primeField ? KeyPair.ALG_EC_FP : KeyPair.ALG_EC_F2M; List prepare = new LinkedList<>(); - prepare.add(new Command.AllocateKeyAgreement(cardManager, cfg.kaType).send()); // Prepare KeyAgreement or required type + prepare.add(new Command.AllocateKeyAgreement(cardManager, cfg.ECKAType).send()); // Prepare KeyAgreement or required type prepare.add(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, (short) cfg.bits, keyClass).send()); Command curve = Command.prepareCurve(cardManager, dataStore, cfg, ECTesterApplet.KEYPAIR_BOTH, (short) cfg.bits, keyClass); if (curve != null) @@ -491,10 +492,10 @@ private void ecdh() throws IOException, CardException { int retry = 0; int done = 0; - while (done < cfg.ECDHCount) { + while (done < cfg.ECKACount) { List ecdh = Command.sendAll(generate); - Response.ECDH perform = new Command.ECDH(cardManager, pubkey, privkey, ECTesterApplet.EXPORT_TRUE, EC_Consts.CORRUPTION_NONE, cfg.ECDHKA).send(); + Response.ECDH perform = new Command.ECDH(cardManager, pubkey, privkey, ECTesterApplet.EXPORT_TRUE, EC_Consts.CORRUPTION_NONE, cfg.ECKAType).send(); ecdh.add(perform); for (Response r : ecdh) { respWriter.outputResponse(r); @@ -550,6 +551,7 @@ private void ecdsa() throws CardException, IOException { byte keyClass = cfg.primeField ? KeyPair.ALG_EC_FP : KeyPair.ALG_EC_F2M; List prepare = new LinkedList<>(); + prepare.add(new Command.AllocateSignature(cardManager, cfg.ECDSAType).send()); prepare.add(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_LOCAL, (short) cfg.bits, keyClass).send()); Command curve = Command.prepareCurve(cardManager, dataStore, cfg, ECTesterApplet.KEYPAIR_LOCAL, (short) cfg.bits, keyClass); if (curve != null) @@ -571,7 +573,7 @@ private void ecdsa() throws CardException, IOException { List ecdsa = new LinkedList<>(); ecdsa.add(generate.send()); - Response.ECDSA perform = new Command.ECDSA(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_TRUE, data).send(); + Response.ECDSA perform = new Command.ECDSA(cardManager, ECTesterApplet.KEYPAIR_LOCAL, cfg.ECDSAType, ECTesterApplet.EXPORT_TRUE, data).send(); ecdsa.add(perform); for (Response r : ecdsa) { respWriter.outputResponse(r); @@ -612,7 +614,7 @@ public static class Config { public boolean all; public boolean primeField = false; public boolean binaryField = false; - public byte kaType = KeyAgreement_ALG_EC_SVDP_DH; + public String namedCurve; public String curveFile; @@ -646,9 +648,10 @@ public static class Config { public String listNamed; public String testSuite; public int generateAmount; - public int ECDHCount; - public byte ECDHKA; + public int ECKACount; + public byte ECKAType = KeyAgreement_ALG_EC_SVDP_DH; public int ECDSACount; + public byte ECDSAType = Signature_ALG_ECDSA_SHA; /** * Reads and validates options, also sets defaults. @@ -661,7 +664,7 @@ boolean readOptions(CommandLine cli) { all = cli.hasOption("all"); primeField = cli.hasOption("fp"); binaryField = cli.hasOption("f2m"); - kaType = Byte.parseByte(cli.getOptionValue("ka-type", "1")); + namedCurve = cli.getOptionValue("named-curve"); customCurve = cli.hasOption("custom"); @@ -779,7 +782,7 @@ boolean readOptions(CommandLine cli) { return false; } - } else if (cli.hasOption("ecdh") || cli.hasOption("ecdhc")) { + } else if (cli.hasOption("ecka")) { if (primeField == binaryField) { System.err.print("Need to specify field with -fp or -f2m. (not both)"); return false; @@ -789,18 +792,14 @@ boolean readOptions(CommandLine cli) { return false; } - if (cli.hasOption("ecdh")) { - ECDHCount = Integer.parseInt(cli.getOptionValue("ecdh", "1")); - ECDHKA = EC_Consts.KA_ECDH; - } else if (cli.hasOption("ecdhc")) { - ECDHCount = Integer.parseInt(cli.getOptionValue("ecdhc", "1")); - ECDHKA = EC_Consts.KA_ECDHC; - } - if (ECDHCount <= 0) { - System.err.println("ECDH count cannot be <= 0."); + ECKACount = Integer.parseInt(cli.getOptionValue("ecka", "1")); + if (ECKACount <= 0) { + System.err.println("ECKA count cannot be <= 0."); return false; } + ECKAType = Byte.parseByte(cli.getOptionValue("ka-type", "1")); + } else if (cli.hasOption("ecdsa")) { if (primeField == binaryField) { System.err.print("Need to specify field with -fp or -f2m. (but not both)"); @@ -821,6 +820,8 @@ boolean readOptions(CommandLine cli) { System.err.println("ECDSA count cannot be <= 0."); return false; } + + ECDSAType = Byte.parseByte(cli.getOptionValue("sig-type", "17")); } return true; } diff --git a/src/cz/crcs/ectester/reader/command/Command.java b/src/cz/crcs/ectester/reader/command/Command.java index 922a33aa..5a6906c0 100644 --- a/src/cz/crcs/ectester/reader/command/Command.java +++ b/src/cz/crcs/ectester/reader/command/Command.java @@ -252,7 +252,40 @@ public Response.AllocateKeyAgreement send() throws CardException { public String toString() { return "AllocateKeyAgreement"; } - } + } + + /** + * + */ + public static class AllocateSignature extends Command { + private byte sigType; + + /** + * Creates the INS_ALLOCATE_SIG instruction. + * + * @param cardManager cardManager to send APDU through + * @param sigType which type of Signature to use + */ + public AllocateSignature(CardMngr cardManager, byte sigType) { + super(cardManager); + this.sigType = sigType; + byte[] data = new byte[]{sigType}; + this.cmd = new CommandAPDU(ECTesterApplet.CLA_ECTESTERAPPLET, ECTesterApplet.INS_ALLOCATE_SIG, 0x00, 0x00, data); + } + + @Override + public Response.AllocateSignature send() throws CardException { + long elapsed = -System.nanoTime(); + ResponseAPDU response = cardManager.send(cmd); + elapsed += System.nanoTime(); + return new Response.AllocateSignature(response, elapsed, sigType); + } + + @Override + public String toString() { + return "AllocateSignature"; + } + } /** * @@ -518,7 +551,7 @@ public static class ECDH_direct extends Command { * @param privkey keyPair to use for private key, (KEYPAIR_LOCAL || KEYPAIR_REMOTE) * @param export whether to export ECDH secret * @param corruption whether to invalidate the pubkey before ECDH (EC_Consts.CORRUPTION_* | ...) - * @param type ECDH algorithm type (EC_Consts.KA_* | ...) + * @param type EC KeyAgreement type * @param pubkey pubkey data to do ECDH with. */ public ECDH_direct(CardMngr cardManager, byte privkey, byte export, short corruption, byte type, byte[] pubkey) { @@ -553,6 +586,7 @@ public String toString() { public static class ECDSA extends Command { private byte keyPair; + private byte sigType; private byte export; private byte[] raw; @@ -561,20 +595,23 @@ public static class ECDSA extends Command { * * @param cardManager cardManager to send APDU through * @param keyPair keyPair to use for signing and verification (KEYPAIR_LOCAL || KEYPAIR_REMOTE) + * @param sigType Signature type to use * @param export whether to export ECDSA signature * @param raw data to sign, can be null, in which case random data is signed. */ - public ECDSA(CardMngr cardManager, byte keyPair, byte export, byte[] raw) { + public ECDSA(CardMngr cardManager, byte keyPair, byte sigType, byte export, byte[] raw) { super(cardManager); this.keyPair = keyPair; + this.sigType = sigType; this.export = export; this.raw = raw; int len = raw != null ? raw.length : 0; - byte[] data = new byte[2 + len]; - ByteUtil.setShort(data, 0, (short) len); + byte[] data = new byte[3 + len]; + data[0] = sigType; + ByteUtil.setShort(data, 1, (short) len); if (raw != null) { - System.arraycopy(raw, 0, data, 2, len); + System.arraycopy(raw, 0, data, 3, len); } this.cmd = new CommandAPDU(ECTesterApplet.CLA_ECTESTERAPPLET, ECTesterApplet.INS_ECDSA, keyPair, export, data); @@ -585,7 +622,7 @@ public Response.ECDSA send() throws CardException { long elapsed = -System.nanoTime(); ResponseAPDU response = cardManager.send(cmd); elapsed += System.nanoTime(); - return new Response.ECDSA(response, elapsed, keyPair, export, raw); + return new Response.ECDSA(response, elapsed, keyPair, sigType, export, raw); } @Override @@ -621,33 +658,5 @@ public String toString() { return "Cleanup"; } } - - /** - * - */ - public static class Support extends Command { - - /** - * @param cardManager cardManager to send APDU through - */ - public Support(CardMngr cardManager) { - super(cardManager); - - this.cmd = new CommandAPDU(ECTesterApplet.CLA_ECTESTERAPPLET, ECTesterApplet.INS_SUPPORT, 0, 0); - } - - @Override - public Response.Support send() throws CardException { - long elapsed = -System.nanoTime(); - ResponseAPDU response = cardManager.send(cmd); - elapsed += System.nanoTime(); - return new Response.Support(response, elapsed); - } - - @Override - public String toString() { - return "Support"; - } - } } diff --git a/src/cz/crcs/ectester/reader/response/Response.java b/src/cz/crcs/ectester/reader/response/Response.java index 3b5d98bb..cbed3b29 100644 --- a/src/cz/crcs/ectester/reader/response/Response.java +++ b/src/cz/crcs/ectester/reader/response/Response.java @@ -133,24 +133,44 @@ public boolean error() { * */ public static class AllocateKeyAgreement extends Response { - byte kaType; + private byte kaType; public AllocateKeyAgreement(ResponseAPDU response, long time, byte kaType) { super(response, time); this.kaType = kaType; - parse(2, 0); + parse(1, 0); } @Override public String getDescription() { return String.format("Allocated KeyAgreement(%s) object", CardUtil.getKATypeString(this.kaType)); } + } + + /** + * + */ + public static class AllocateSignature extends Response { + private byte sigType; + + public AllocateSignature(ResponseAPDU response, long time, byte sigType) { + super(response, time); + this.sigType = sigType; + parse(1, 0); + } + + @Override + public String getDescription() { + return String.format("Allocated Signature(%s) object", CardUtil.getSigTypeString(this.sigType)); + } } + /** + * + */ public static class Allocate extends Response { - private byte keyPair; private short keyLength; private byte keyClass; @@ -184,7 +204,6 @@ public String getDescription() { * */ public static class Clear extends Response { - private byte keyPair; public Clear(ResponseAPDU response, long time, byte keyPair) { @@ -213,7 +232,6 @@ public String getDescription() { * */ public static class Set extends Response { - private byte keyPair; private byte curve; private short parameters; @@ -271,7 +289,6 @@ public String getDescription() { * */ public static class Corrupt extends Response { - private byte keyPair; private byte key; private short params; @@ -309,7 +326,6 @@ public String getDescription() { * */ public static class Generate extends Response { - private byte keyPair; public Generate(ResponseAPDU response, long time, byte keyPair) { @@ -339,7 +355,6 @@ public String getDescription() { * */ public static class Export extends Response { - private byte keyPair; private byte key; private short parameters; @@ -448,7 +463,6 @@ public String getDescription() { * */ public static class ECDH extends Response { - private byte pubkey; private byte privkey; private byte export; @@ -480,7 +494,7 @@ public int secretLength() { @Override public String getDescription() { - String algo = CardUtil.getKA(type); + String algo = CardUtil.getKATypeString(type); String pub = pubkey == ECTesterApplet.KEYPAIR_LOCAL ? "local" : "remote"; String priv = privkey == ECTesterApplet.KEYPAIR_LOCAL ? "local" : "remote"; @@ -499,14 +513,15 @@ public String getDescription() { * */ public static class ECDSA extends Response { - private byte keyPair; + private byte sigType; private byte export; private byte[] raw; - public ECDSA(ResponseAPDU response, long time, byte keyPair, byte export, byte[] raw) { + public ECDSA(ResponseAPDU response, long time, byte keyPair, byte sigType, byte export, byte[] raw) { super(response, time); this.keyPair = keyPair; + this.sigType = sigType; this.export = export; this.raw = raw; @@ -523,9 +538,10 @@ public byte[] getSignature() { @Override public String getDescription() { + String algo = CardUtil.getSigTypeString(sigType); String key = keyPair == ECTesterApplet.KEYPAIR_LOCAL ? "local" : "remote"; String data = raw == null ? "random" : "provided"; - return String.format("ECDSA with %s keypair(%s data)", key, data); + return String.format("%s with %s keypair(%s data)", algo, key, data); } } @@ -546,21 +562,4 @@ public String getDescription() { } } - - /** - * - */ - public static class Support extends Response { - - public Support(ResponseAPDU response, long time) { - super(response, time); - - parse(3, 0); - } - - @Override - public String getDescription() { - return "Support of ECDH, ECDHC, ECDSA allocation"; - } - } } diff --git a/src/cz/crcs/ectester/reader/test/CardCompositeCurvesSuite.java b/src/cz/crcs/ectester/reader/test/CardCompositeCurvesSuite.java index 930a0d0d..08e45ac3 100644 --- a/src/cz/crcs/ectester/reader/test/CardCompositeCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardCompositeCurvesSuite.java @@ -8,6 +8,7 @@ import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.common.ec.EC_Curve; import cz.crcs.ectester.common.ec.EC_Key; +import javacard.security.KeyAgreement; import javacard.security.KeyPair; import java.util.Map; @@ -44,7 +45,7 @@ public void setup(CardMngr cardManager) { tests.add(CommandTest.expect(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); tests.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.ANY)); tests.add(CommandTest.expect(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.ANY)); - Command ecdhCommand = new Command.ECDH_direct(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, EC_Consts.KA_ECDH, key.flatten()); + Command ecdhCommand = new Command.ECDH_direct(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH, key.flatten()); tests.add(CommandTest.expect(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected to do ECDH over a composite order curve.", "Card incorrectly does ECDH over a composite order curve, leaks bits of private key.")); tests.add(CommandTest.expect(new Command.Cleanup(cardManager), ExpectedValue.ANY)); } diff --git a/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java b/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java index 06818d4a..eb46de0b 100644 --- a/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java @@ -23,7 +23,7 @@ public CardDefaultSuite(EC_Store dataStore, ECTesterReader.Config cfg) { @Override public void setup(CardMngr cardManager) throws IOException { - tests.add(CommandTest.expect(new Command.Support(cardManager), ExpectedValue.ANY)); + //tests.add(CommandTest.expect(new Command.Support(cardManager), ExpectedValue.ANY)); if (cfg.namedCurve != null) { String desc = "Default tests over the " + cfg.namedCurve + " curve category."; if (cfg.primeField) { diff --git a/src/cz/crcs/ectester/reader/test/CardInvalidCurvesSuite.java b/src/cz/crcs/ectester/reader/test/CardInvalidCurvesSuite.java index e4e55c9b..00e3a461 100644 --- a/src/cz/crcs/ectester/reader/test/CardInvalidCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardInvalidCurvesSuite.java @@ -60,7 +60,7 @@ public void setup(CardMngr cardManager) throws IOException { tests.add(CommandTest.expect(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.SUCCESS)); List ecdhTests = new LinkedList<>(); for (EC_Key.Public pub : keys) { - Command ecdhCommand = new Command.ECDH_direct(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, EC_Consts.KA_ANY, pub.flatten()); + Command ecdhCommand = new Command.ECDH_direct(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH, pub.flatten()); ecdhTests.add(CommandTest.expect(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected point on invalid curve." , "Card incorrectly accepted point on invalid curve.")); } tests.add(CompoundTest.all(ExpectedValue.SUCCESS, "Invalid curve test of " + curve.getId(), ecdhTests.toArray(new Test[0]))); diff --git a/src/cz/crcs/ectester/reader/test/CardTestSuite.java b/src/cz/crcs/ectester/reader/test/CardTestSuite.java index 3da5158b..5d34a138 100644 --- a/src/cz/crcs/ectester/reader/test/CardTestSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardTestSuite.java @@ -47,13 +47,13 @@ Test defaultCurveTests(CardMngr cardManager, ExpectedValue generateExpected, Exp List tests = new LinkedList<>(); tests.add(CommandTest.expect(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_BOTH), generateExpected)); - tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, EC_Consts.KA_ECDH), ecdhExpected)); - tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_COMPRESS, EC_Consts.KA_ECDH), ecdhExpected)); - tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_ONE, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); - tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_ZERO, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); - tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_MAX, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); - tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_FULLRANDOM, EC_Consts.KA_ECDH), ExpectedValue.FAILURE)); - tests.add(CommandTest.expect(new Command.ECDSA(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, null), ecdsaExpected)); + tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH), ecdhExpected)); + tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_COMPRESS, ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH), ecdhExpected)); + tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_ONE, ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH), ExpectedValue.FAILURE)); + tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_ZERO, ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH), ExpectedValue.FAILURE)); + tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_MAX, ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH), ExpectedValue.FAILURE)); + tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_FULLRANDOM, ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH), ExpectedValue.FAILURE)); + tests.add(CommandTest.expect(new Command.ECDSA(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.Signature_ALG_ECDSA_SHA, ECTesterApplet.EXPORT_FALSE, null), ecdsaExpected)); return CompoundTest.function((testArray) -> { Function shouldHave = (expected) -> { diff --git a/src/cz/crcs/ectester/reader/test/CardTestVectorSuite.java b/src/cz/crcs/ectester/reader/test/CardTestVectorSuite.java index 72e3cce5..e1c499c6 100644 --- a/src/cz/crcs/ectester/reader/test/CardTestVectorSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardTestVectorSuite.java @@ -67,7 +67,7 @@ public void setup(CardMngr cardManager) throws IOException { //tests.add(new Test.Simple(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_BOTH), ExpectedValue.SUCCESS)); testVector.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_LOCAL, EC_Consts.CURVE_external, EC_Consts.PARAMETER_S, onekey.flatten(EC_Consts.PARAMETER_S)), ExpectedValue.SUCCESS)); testVector.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_REMOTE, EC_Consts.CURVE_external, EC_Consts.PARAMETER_W, otherkey.flatten(EC_Consts.PARAMETER_W)), ExpectedValue.SUCCESS)); - testVector.add(CommandTest.function(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_TRUE, EC_Consts.CORRUPTION_NONE, result.getKA()), new TestCallback() { + testVector.add(CommandTest.function(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_TRUE, EC_Consts.CORRUPTION_NONE, result.getJavaCardKA()), new TestCallback() { @Override public Result apply(CommandTestable testable) { Response.ECDH dh = (Response.ECDH) testable.getResponse(); From e48b7651e98934ef80a8094a6c85407e4584f3c2 Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 27 Dec 2017 18:51:17 +0100 Subject: [PATCH 58/91] Remove unused Testable.meta(). --- .../ectester/common/output/BaseTextTestWriter.java | 11 ++++++----- src/cz/crcs/ectester/common/test/BaseTestable.java | 11 ----------- src/cz/crcs/ectester/common/test/Test.java | 9 --------- src/cz/crcs/ectester/common/test/Testable.java | 9 --------- src/cz/crcs/ectester/reader/test/CommandTestable.java | 3 --- 5 files changed, 6 insertions(+), 37 deletions(-) diff --git a/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java b/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java index 7e0e1a3b..06c6d97e 100644 --- a/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java +++ b/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java @@ -18,8 +18,8 @@ public BaseTextTestWriter(PrintStream output) { @Override public void begin(TestSuite suite) { - output.println("=== Running test suite: " + suite.getName() + " ==="); - output.println("=== " + suite.getDescription()); + output.println("═══ Running test suite: " + suite.getName() + " ═══"); + output.println("═══ " + suite.getDescription()); } protected abstract String testableString(Testable t); @@ -28,10 +28,11 @@ private String testString(Test t, int offset) { if (!t.hasRun()) { return null; } + boolean compound = t instanceof CompoundTest; StringBuilder out = new StringBuilder(); - out.append(t.ok() ? "OK " : "NOK "); - out.append("━ "); + out.append(t.ok() ? " OK " : "NOK "); + out.append(compound ? "┳ " : "━ "); int width = BASE_WIDTH - (offset + out.length()); String widthSpec = "%-" + String.valueOf(width) + "s"; out.append(String.format(widthSpec, t.getDescription())); @@ -39,7 +40,7 @@ private String testString(Test t, int offset) { out.append(String.format("%-9s", t.getResultValue().name())); out.append(" ┃ "); - if (t instanceof CompoundTest) { + if (compound) { CompoundTest test = (CompoundTest) t; out.append(test.getResultCause()); out.append(System.lineSeparator()); diff --git a/src/cz/crcs/ectester/common/test/BaseTestable.java b/src/cz/crcs/ectester/common/test/BaseTestable.java index f8ebf486..f376299d 100644 --- a/src/cz/crcs/ectester/common/test/BaseTestable.java +++ b/src/cz/crcs/ectester/common/test/BaseTestable.java @@ -1,9 +1,5 @@ package cz.crcs.ectester.common.test; -import java.util.Collections; -import java.util.Map; -import java.util.TreeMap; - /** * @author Jan Jancar johny@neuromancer.sk */ @@ -12,8 +8,6 @@ public abstract class BaseTestable implements Testable { protected boolean ok; protected boolean error; - protected Map meta = new TreeMap<>(); - @Override public boolean hasRun() { return hasRun; @@ -28,9 +22,4 @@ public boolean ok() { public boolean error() { return error; } - - @Override - public Map meta() { - return Collections.unmodifiableMap(meta); - } } diff --git a/src/cz/crcs/ectester/common/test/Test.java b/src/cz/crcs/ectester/common/test/Test.java index 5f553378..4f5bb6e1 100644 --- a/src/cz/crcs/ectester/common/test/Test.java +++ b/src/cz/crcs/ectester/common/test/Test.java @@ -1,8 +1,5 @@ package cz.crcs.ectester.common.test; -import java.util.Collections; -import java.util.Map; - import static cz.crcs.ectester.common.test.Result.Value; /** @@ -13,7 +10,6 @@ public abstract class Test implements Testable { protected boolean hasRun; protected Result result; - protected Map meta; public Result getResult() { if (!hasRun) { @@ -56,11 +52,6 @@ public boolean hasRun() { return hasRun; } - @Override - public Map meta() { - return Collections.unmodifiableMap(meta); - } - public abstract String getDescription(); @Override diff --git a/src/cz/crcs/ectester/common/test/Testable.java b/src/cz/crcs/ectester/common/test/Testable.java index e8eb3213..001121b1 100644 --- a/src/cz/crcs/ectester/common/test/Testable.java +++ b/src/cz/crcs/ectester/common/test/Testable.java @@ -1,7 +1,5 @@ package cz.crcs.ectester.common.test; -import java.util.Map; - /** * @author Jan Jancar johny@neuromancer.sk */ @@ -28,11 +26,4 @@ public interface Testable { * @return Whether an error happened. */ boolean error(); - - /** - * Get the metadata of this Testable. - * - * @return The metadata of the testable. - */ - Map meta(); } diff --git a/src/cz/crcs/ectester/reader/test/CommandTestable.java b/src/cz/crcs/ectester/reader/test/CommandTestable.java index 4025c61a..3bb55bf7 100644 --- a/src/cz/crcs/ectester/reader/test/CommandTestable.java +++ b/src/cz/crcs/ectester/reader/test/CommandTestable.java @@ -40,8 +40,5 @@ public void run() throws TestException { } else if (response.successful()) { ok = true; } - meta.clear(); - meta.put("natural-sw", response.getNaturalSW()); - meta.put("sws", response.getSWs()); } } From 9eb59094fead5ce3210f14455a828cd4f0701cb9 Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 27 Dec 2017 19:35:16 +0100 Subject: [PATCH 59/91] Update README, fix cli option mismatch. --- !uploader/ectester.cap | Bin 16008 -> 15192 bytes README.md | 105 +++++++++++++++--- docs/LIBS.md | 31 +++--- .../crcs/ectester/reader/ECTesterReader.java | 8 +- 4 files changed, 110 insertions(+), 34 deletions(-) diff --git a/!uploader/ectester.cap b/!uploader/ectester.cap index b8839653d778514bb02793b86d77106db001cbda..8077260dfe21d2c2b27e9d9cc16dd32d1a217764 100644 GIT binary patch delta 7542 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 delta 8334 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 HAT<9Ac|;!_ diff --git a/README.md b/README.md index 9dbffc3c..d68deb94 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # ECTester +[![Build status](https://api.travis-ci.org/crocs-muni/ECTester.svg?branch=master)](https://travis-ci.org/crocs-muni/ECTester) [![GitHub release](https://img.shields.io/github/release/crocs-muni/ECTEster.svg)](https://github.com/crocs-muni/ECTester/releases) [![license](https://img.shields.io/github/license/crocs-muni/ECTester.svg)](https://github.com/crocs-muni/ECTester/blob/master/LICENSE) Tests support and behavior of elliptic curve cryptography implementations on JavaCards (`TYPE_EC_FP` and `TYPE_EC_F2M`) and on selected software libraries. @@ -6,14 +7,14 @@ Tests support and behavior of elliptic curve cryptography implementations on Jav ECTester uses ant. There are three parts of ECTester, the JavaCard applet used for testing, the reader app which controls it and the standalone app which tests software libraries. ```bash -ant -f build-reader.xml package # To build the reader tool (jar). -ant -f build-standalone.xml package # To build the standalone tool (jar). -ant -f build-applet.xml build # To build the applet (cap). +ant -f build-reader.xml package # To build the reader tool (jar) -> "dist/ECTesterReader.jar" +ant -f build-standalone.xml package # To build the standalone tool (jar) -> "dist/ECTesterStandalone.jar" +ant -f build-applet.xml build # To build the applet (cap) -> "!uploader/ectester.cap". ``` +Build produces both a lightweight version of the JARs and a full version of the JARs with dependencies included, the latter has the `*-dist.jar` suffix. +The standalone build tries building test binaries for all the supported libraries, and silently fails if the library is not properly supported. -## Usage - -### JavaCard testing +## JavaCard testing 1. Upload `!uploader/ectester.cap` using your favorite tool (e.g., [GlobalPlatformPro tool](https://github.com/martinpaljak/GlobalPlatform)) 2. Run `java -jar dist/ECTesterReader.jar -t -a` @@ -29,23 +30,31 @@ Following operations are tested: See `java -jar ECTesterReader.jar -h` for more. -#### Options +### Options ``` - -ln,--list-named Print the list of supported named - curves and keys. -dsa,--ecdsa Sign data with ECDSA, [count] times. - -t,--test Test ECC support. - -dh,--ecdh Do ECDH, [count] times. + -t,--test Test ECC support. [test_suite]: + - default: + - invalid: + - wrong: + - composite: + - test-vectors: + -dh,--ecdh Do EC KeyAgreement (ECDH...), [count] + times. -e,--export Export the defaut curve parameters of the card(if any). - -g,--generate Generate [amount] of EC keys. + -V,--version Print version info. + -ln,--list-named Print the list of supported named + curves and keys. -h,--help Print help. - -dhc,--ecdhc Do ECDHC, [count] times. + -a,--all Test all curve sizes. -b,--bit-size Set curve size. + -fp,--prime-field Use a prime field. -f2m,--binary-field Use a binary field. + -c,--curve Use curve from file (field,a,b,gx,gy,r,k). -nc,--named-curve Use a named curve, from CurveDB: @@ -61,20 +70,25 @@ See `java -jar ECTesterReader.jar -h` for more. -k,--key Use keyPair from file  (wx,wy,s). -nk,--named-key Use keyPair from KeyDB: + -i,--input Input from file , for ECDSA signing. -o,--output Output into file . -l,--log Log output into file [log_file]. -v,--verbose Turn on verbose logging. - --format Output format to use. + --format Output format to use. One of: + text,yml,xml. -f,--fresh Generate fresh keys (set domain parameters before every generation). -s,--simulate Simulate a card with jcardsim instead of using a terminal. -y,--yes Accept all warnings and prompts. + -ka,--ka-type Set KeyAgreement object [type], corresponds to JC.KeyAgreement - constants. + constants. + -sig,--sig-type Set Signature object [type], + corresponds to JC.Signature constants. ``` ### Actions @@ -101,10 +115,10 @@ Use with `-o / --output [out_file]` to output the generated keys to a file. #### ECDH `-dh / --ecdh [count]` -`-dhc / --ecdhc [count]` Performs ECDH. Use with `-o / --output [out_file]` to output into a file. +Respects the KeyAgreement type specified in `-ka / --ka-type [type]`. #### ECDSA `-dsa / --ecdsa [count]` @@ -112,6 +126,7 @@ Use with `-o / --output [out_file]` to output into a file. Performs ECDSA. Useful with `-i / --input [in_file]` to sign the contents of a file. Use with `-o / --output [out_file]` to output into a file. +Respects the Signature type specified in `-sig / --sig-type [type]`. #### List named curves `-ln / --list-named []` @@ -149,6 +164,62 @@ For more info about the curves see [CURVES](docs/CURVES.md). *Explanation: ALG_EC_FP with 256b curve was tested. Is supported by card (KeyPair object allocation: OK), don't have preset default curve (Generate key with def curve: fail), custom curve can be set (Set valid custom curve: OK), new keypair can be generated (Generate key with valid curve: OK), ECDH key agreement failed to execute (ECDH agreement with valid point: fail) although it was supposed to succeed (log line is therefore marked with !!), ECDH wil fail (expected behavior) if invalid point is provided (ECDH agreement with invalid point: fail), ECDSA signature worked and verified correctly (ECDSA signature on random data: OK), anomalous curve can be set (Set anomalous custom curve: OK), however generating a key on it will fail (Generate key with anomalous curve: fail), ECDH with small-order public key provided will fail as intended (ECDH agreement with small order point: fail), invalid custom curve could be set (Set invalid custom curve: OK), new keypair cannot be generated with invalid curve (Generate key with invalid curve: fail), invalid field (non-prime) could be set (Set invalid field: OK), however a key could not be generated (Generate key with invalid field: fail).* - If you are interested in testing support for other JavaCard algorithms, please visit JCAlgTester project: https://github.com/crocs-muni/JCAlgTest + +## Standalone library testing + +Currently supported libraries include: + - BouncyCastle + - SunEC + - libtomcrypt + - botan + + +``` +usage: ECTesterStandalone.jar [-V] [-h] [ (ecdh [-t ] [-n ] [-b ] [-nc ]) | +(ecdsa [-t ] [-n ] [-b ] [-nc ] [-f ]) | +(export [-t ] [-b ]) | (generate [-nc ] [-n ] [-t +] [-b ]) | (list-data [what]) | (list-libs) | (test [-gt ] +[-kt ] [-st ] [-b ] [-nc ]) ] [lib] + + -V,--version Print version info. + -h,--help Print help. + [lib] What library to use. + + ecdh: + -t,--type Set KeyAgreement object [type]. + -n,--amount Do ECDH [amount] times. + -b,--bits What size of curve to use. + -nc,--named-curve Use a named curve, from CurveDB: + + ecdsa: + -t,--type Set Signature object [type]. + -n,--amount Do ECDSA [amount] times. + -b,--bits What size of curve to use. + -nc,--named-curve Use a named curve, from CurveDB: + -f,--file Input [file] to sign. + + export: + -t,--type Set KeyPair object [type]. + -b,--bits What size of curve to use. + + generate: + -nc,--named-curve Use a named curve, from CurveDB: + -n,--amount Generate [amount] of EC keys. + -t,--type Set KeyPairGenerator object [type]. + -b,--bits What size of curve to use. + + list-data: + [what] what to list. + + list-libs: + + test: + -gt,--kpg-type Set the KeyPairGenerator object [type]. + -kt,--ka-type Set the KeyAgreement object [type]. + -st,--sig-type Set the Signature object [type]. + -b,--bits What size of curve to use. + -nc,--named-curve Use a named curve, from CurveDB: + +``` \ No newline at end of file diff --git a/docs/LIBS.md b/docs/LIBS.md index 3635fefe..4fac57b5 100644 --- a/docs/LIBS.md +++ b/docs/LIBS.md @@ -1,26 +1,31 @@ -# Libraries +# Libraries with ECC Libraries with at least some ECC support: + - [Crypto++](https://cryptopp.com/) + - [libgcrypt](https://www.gnupg.org/related_software/libgcrypt/) + + - [mbedTLS](https://tls.mbed.org/) + - [Nettle](http://www.lysator.liu.se/~nisse/nettle/) + - [OpenSSL](https://www.openssl.org/) + - [OpenSSL (FIPS mode)](https://www.openssl.org/docs/fipsnotes.html) + + - [Microsoft CNG](https://msdn.microsoft.com/en-us/library/windows/desktop/aa376210(v=vs.85).aspx) + - [Microsoft .NET crypto](https://docs.microsoft.com/en-us/dotnet/standard/security/cryptography-model) + +# Supported libraries + - [BouncyCastle](https://bouncycastle.org/java.html) - Java - - [Botan](https://botan.randombit.net/) + - [Sun EC](https://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html#SunEC) + - Java + C + - [Botan](https://botan.randombit.net/), since 2.4.0 (unreleased) - C++ - Uses blinded(randomized) Montgomery ladder. - https://hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#addition-add-1998-cmo-2 - https://hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-1986-cc - https://eprint.iacr.org/2015/657 - - [Crypto++](https://cryptopp.com/) - - [libgcrypt](https://www.gnupg.org/related_software/libgcrypt/) - [libtomcrypt](http://www.libtom.net/LibTomCrypt/) - C - Uses Jacobian coordinates. - - Sliding window scalar multiplication algorithm. - - [mbedTLS](https://tls.mbed.org/) - - [Nettle](http://www.lysator.liu.se/~nisse/nettle/) - - [OpenSSL](https://www.openssl.org/) - - [OpenSSL (FIPS mode)](https://www.openssl.org/docs/fipsnotes.html) - - [Sun EC](https://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html#SunEC) - - Java + C - - [Microsoft CNG](https://msdn.microsoft.com/en-us/library/windows/desktop/aa376210(v=vs.85).aspx) - - [Microsoft .NET crypto](https://docs.microsoft.com/en-us/dotnet/standard/security/cryptography-model) \ No newline at end of file + - Sliding window scalar multiplication algorithm. \ No newline at end of file diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index 4e62f3fb..215afbd1 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -263,7 +263,7 @@ private CommandLine parseArgs(String[] args) throws ParseException { actions.addOption(Option.builder("e").longOpt("export").desc("Export the defaut curve parameters of the card(if any).").build()); actions.addOption(Option.builder("g").longOpt("generate").desc("Generate [amount] of EC keys.").hasArg().argName("amount").optionalArg(true).build()); actions.addOption(Option.builder("t").longOpt("test").desc("Test ECC support. [test_suite]:\n- default:\n- invalid:\n- wrong:\n- composite:\n- test-vectors:").hasArg().argName("test_suite").optionalArg(true).build()); - actions.addOption(Option.builder("ka").longOpt("ecka").desc("Do EC KeyAgreement (ECDH...), [count] times.").hasArg().argName("count").optionalArg(true).build()); + actions.addOption(Option.builder("dh").longOpt("ecdh").desc("Do EC KeyAgreement (ECDH...), [count] times.").hasArg().argName("count").optionalArg(true).build()); actions.addOption(Option.builder("dsa").longOpt("ecdsa").desc("Sign data with ECDSA, [count] times.").hasArg().argName("count").optionalArg(true).build()); opts.addOptionGroup(actions); @@ -782,7 +782,7 @@ boolean readOptions(CommandLine cli) { return false; } - } else if (cli.hasOption("ecka")) { + } else if (cli.hasOption("ecdh")) { if (primeField == binaryField) { System.err.print("Need to specify field with -fp or -f2m. (not both)"); return false; @@ -792,9 +792,9 @@ boolean readOptions(CommandLine cli) { return false; } - ECKACount = Integer.parseInt(cli.getOptionValue("ecka", "1")); + ECKACount = Integer.parseInt(cli.getOptionValue("ecdh", "1")); if (ECKACount <= 0) { - System.err.println("ECKA count cannot be <= 0."); + System.err.println("ECDH count cannot be <= 0."); return false; } From 3344df8d86821c936c011c547da5495cc177ab85 Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 28 Dec 2017 00:08:54 +0100 Subject: [PATCH 60/91] Parse KA and Sig type specified as string in cli. --- .../crcs/ectester/common/util/CardUtil.java | 239 +++++++++--------- .../crcs/ectester/reader/ECTesterReader.java | 16 +- 2 files changed, 125 insertions(+), 130 deletions(-) diff --git a/src/cz/crcs/ectester/common/util/CardUtil.java b/src/cz/crcs/ectester/common/util/CardUtil.java index 55c42772..8285d8bc 100644 --- a/src/cz/crcs/ectester/common/util/CardUtil.java +++ b/src/cz/crcs/ectester/common/util/CardUtil.java @@ -20,8 +20,9 @@ public static byte getKA(String name) { case "DHC": case "ECDHC": return ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DHC; + default: + return ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH; } - return ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH; } public static String getSWSource(short sw) { @@ -69,112 +70,76 @@ public static String getSWSource(short sw) { } public static String getSW(short sw) { - String str; switch (sw) { case ISO7816.SW_APPLET_SELECT_FAILED: - str = "APPLET_SELECT_FAILED"; - break; + return "APPLET_SELECT_FAILED"; case ISO7816.SW_BYTES_REMAINING_00: - str = "BYTES_REMAINING"; - break; + return "BYTES_REMAINING"; case ISO7816.SW_CLA_NOT_SUPPORTED: - str = "CLA_NOT_SUPPORTED"; - break; + return "CLA_NOT_SUPPORTED"; case ISO7816.SW_COMMAND_NOT_ALLOWED: - str = "COMMAND_NOT_ALLOWED"; - break; + return "COMMAND_NOT_ALLOWED"; case ISO7816.SW_CONDITIONS_NOT_SATISFIED: - str = "CONDITIONS_NOT_SATISFIED"; - break; + return "CONDITIONS_NOT_SATISFIED"; case ISO7816.SW_CORRECT_LENGTH_00: - str = "CORRECT_LENGTH"; - break; + return "CORRECT_LENGTH"; case ISO7816.SW_DATA_INVALID: - str = "DATA_INVALID"; - break; + return "DATA_INVALID"; case ISO7816.SW_FILE_FULL: - str = "FILE_FULL"; - break; + return "FILE_FULL"; case ISO7816.SW_FILE_INVALID: - str = "FILE_INVALID"; - break; + return "FILE_INVALID"; case ISO7816.SW_FILE_NOT_FOUND: - str = "FILE_NOT_FOUND"; - break; + return "FILE_NOT_FOUND"; case ISO7816.SW_FUNC_NOT_SUPPORTED: - str = "FUNC_NOT_SUPPORTED"; - break; + return "FUNC_NOT_SUPPORTED"; case ISO7816.SW_INCORRECT_P1P2: - str = "INCORRECT_P1P2"; - break; + return "INCORRECT_P1P2"; case ISO7816.SW_INS_NOT_SUPPORTED: - str = "INS_NOT_SUPPORTED"; - break; + return "INS_NOT_SUPPORTED"; case ISO7816.SW_LOGICAL_CHANNEL_NOT_SUPPORTED: - str = "LOGICAL_CHANNEL_NOT_SUPPORTED"; - break; + return "LOGICAL_CHANNEL_NOT_SUPPORTED"; case ISO7816.SW_RECORD_NOT_FOUND: - str = "RECORD_NOT_FOUND"; - break; + return "RECORD_NOT_FOUND"; case ISO7816.SW_SECURE_MESSAGING_NOT_SUPPORTED: - str = "SECURE_MESSAGING_NOT_SUPPORTED"; - break; + return "SECURE_MESSAGING_NOT_SUPPORTED"; case ISO7816.SW_SECURITY_STATUS_NOT_SATISFIED: - str = "SECURITY_STATUS_NOT_SATISFIED"; - break; + return "SECURITY_STATUS_NOT_SATISFIED"; case ISO7816.SW_UNKNOWN: - str = "UNKNOWN"; - break; + return "UNKNOWN"; case ISO7816.SW_WARNING_STATE_UNCHANGED: - str = "WARNING_STATE_UNCHANGED"; - break; + return "WARNING_STATE_UNCHANGED"; case ISO7816.SW_WRONG_DATA: - str = "WRONG_DATA"; - break; + return "WRONG_DATA"; case ISO7816.SW_WRONG_LENGTH: - str = "WRONG_LENGTH"; - break; + return "WRONG_LENGTH"; case ISO7816.SW_WRONG_P1P2: - str = "WRONG_P1P2"; - break; + return "WRONG_P1P2"; case CryptoException.ILLEGAL_VALUE: - str = "ILLEGAL_VALUE"; - break; + return "ILLEGAL_VALUE"; case CryptoException.UNINITIALIZED_KEY: - str = "UNINITIALIZED_KEY"; - break; + return "UNINITIALIZED_KEY"; case CryptoException.NO_SUCH_ALGORITHM: - str = "NO_SUCH_ALG"; - break; + return "NO_SUCH_ALG"; case CryptoException.INVALID_INIT: - str = "INVALID_INIT"; - break; + return "INVALID_INIT"; case CryptoException.ILLEGAL_USE: - str = "ILLEGAL_USE"; - break; + return "ILLEGAL_USE"; case ECTesterApplet.SW_SIG_VERIFY_FAIL: - str = "SIG_VERIFY_FAIL"; - break; + return "SIG_VERIFY_FAIL"; case ECTesterApplet.SW_DH_DHC_MISMATCH: - str = "DH_DHC_MISMATCH"; - break; + return "DH_DHC_MISMATCH"; case ECTesterApplet.SW_KEYPAIR_NULL: - str = "KEYPAIR_NULL"; - break; + return "KEYPAIR_NULL"; case ECTesterApplet.SW_KA_NULL: - str = "KA_NULL"; - break; + return "KA_NULL"; case ECTesterApplet.SW_SIGNATURE_NULL: - str = "SIGNATURE_NULL"; - break; + return "SIGNATURE_NULL"; case ECTesterApplet.SW_OBJECT_NULL: - str = "OBJECT_NULL"; - break; + return "OBJECT_NULL"; default: - str = "unknown"; - break; + return "unknown"; } - return str; } public static String getSWString(short sw) { @@ -187,93 +152,121 @@ public static String getSWString(short sw) { } public static String getCorruption(short corruptionType) { - String corrupt; switch (corruptionType) { case EC_Consts.CORRUPTION_NONE: - corrupt = "NONE"; - break; + return "NONE"; case EC_Consts.CORRUPTION_FIXED: - corrupt = "FIXED"; - break; + return "FIXED"; case EC_Consts.CORRUPTION_ONE: - corrupt = "ONE"; - break; + return "ONE"; case EC_Consts.CORRUPTION_ZERO: - corrupt = "ZERO"; - break; + return "ZERO"; case EC_Consts.CORRUPTION_ONEBYTERANDOM: - corrupt = "ONE_BYTE_RANDOM"; - break; + return "ONE_BYTE_RANDOM"; case EC_Consts.CORRUPTION_FULLRANDOM: - corrupt = "FULL_RANDOM"; - break; + return "FULL_RANDOM"; case EC_Consts.CORRUPTION_INCREMENT: - corrupt = "INCREMENT"; - break; + return "INCREMENT"; case EC_Consts.CORRUPTION_INFINITY: - corrupt = "INFINITY"; - break; + return "INFINITY"; case EC_Consts.CORRUPTION_COMPRESS: - corrupt = "COMPRESSED"; - break; + return "COMPRESSED"; case EC_Consts.CORRUPTION_MAX: - corrupt = "MAX"; - break; + return "MAX"; default: - corrupt = "unknown"; - break; + return "unknown"; } - return corrupt; } public static String getKATypeString(byte kaType) { - String kaTypeString; switch (kaType) { case KeyAgreement_ALG_EC_SVDP_DH: - kaTypeString = "ALG_EC_SVDP_DH"; - break; + return "ALG_EC_SVDP_DH"; case KeyAgreement_ALG_EC_SVDP_DH_PLAIN: - kaTypeString = "ALG_EC_SVDP_DH_PLAIN"; - break; + return "ALG_EC_SVDP_DH_PLAIN"; case KeyAgreement_ALG_EC_PACE_GM: - kaTypeString = "ALG_EC_PACE_GM"; - break; + return "ALG_EC_PACE_GM"; case KeyAgreement_ALG_EC_SVDP_DH_PLAIN_XY: - kaTypeString = "ALG_EC_SVDP_DH_PLAIN_XY"; - break; + return "ALG_EC_SVDP_DH_PLAIN_XY"; case KeyAgreement_ALG_EC_SVDP_DHC: - kaTypeString = "ALG_EC_SVDP_DHC"; - break; + return "ALG_EC_SVDP_DHC"; case KeyAgreement_ALG_EC_SVDP_DHC_PLAIN: - kaTypeString = "ALG_EC_SVDP_DHC_PLAIN"; - break; + return "ALG_EC_SVDP_DHC_PLAIN"; + default: + return "unknown"; + } + } + + public static byte getKAType(String kaTypeString) { + switch (kaTypeString) { + case "ALG_EC_SVDP_DH": + return KeyAgreement_ALG_EC_SVDP_DH; + case "ALG_EC_SVDP_DH_PLAIN": + return KeyAgreement_ALG_EC_SVDP_DH_PLAIN; + case "ALG_EC_PACE_GM": + return KeyAgreement_ALG_EC_PACE_GM; + case "ALG_EC_SVDP_DH_PLAIN_XY": + return KeyAgreement_ALG_EC_SVDP_DH_PLAIN_XY; + case "ALG_EC_SVDP_DHC": + return KeyAgreement_ALG_EC_SVDP_DHC; + case "ALG_EC_SVDP_DHC_PLAIN": + return KeyAgreement_ALG_EC_SVDP_DHC_PLAIN; default: - kaTypeString = "unknown"; + return 0; + } + } + + public static byte parseKAType(String kaTypeString) { + byte kaType; + try { + kaType = Byte.parseByte(kaTypeString); + } catch (NumberFormatException nfex) { + kaType = getKAType(kaTypeString); } - return kaTypeString; + return kaType; } public static String getSigTypeString(byte sigType) { - String sigTypeString; switch (sigType) { case Signature_ALG_ECDSA_SHA: - sigTypeString = "ALG_ECDSA_SHA"; - break; + return "ALG_ECDSA_SHA"; case Signature_ALG_ECDSA_SHA_224: - sigTypeString = "ALG_ECDSA_SHA_224"; - break; + return "ALG_ECDSA_SHA_224"; case Signature_ALG_ECDSA_SHA_256: - sigTypeString = "ALG_ECDSA_SHA_256"; - break; + return "ALG_ECDSA_SHA_256"; case Signature_ALG_ECDSA_SHA_384: - sigTypeString = "ALG_ECDSA_SHA_384"; - break; + return "ALG_ECDSA_SHA_384"; case Signature_ALG_ECDSA_SHA_512: - sigTypeString = "ALG_ECDSA_SHA_512"; - break; + return "ALG_ECDSA_SHA_512"; + default: + return "unknown"; + } + } + + public static byte getSigType(String sigTypeString) { + switch (sigTypeString) { + case "ALG_ECDSA_SHA": + return Signature_ALG_ECDSA_SHA; + case "ALG_ECDSA_SHA_224": + return Signature_ALG_ECDSA_SHA_224; + case "ALG_ECDSA_SHA_256": + return Signature_ALG_ECDSA_SHA_256; + case "ALG_ECDSA_SHA_384": + return Signature_ALG_ECDSA_SHA_384; + case "ALG_ECDSA_SHA_512": + return Signature_ALG_ECDSA_SHA_512; default: - sigTypeString = "unknown"; + return 0; + } + } + + public static byte parseSigType(String sigTypeString) { + byte sigType; + try { + sigType = Byte.parseByte(sigTypeString); + } catch (NumberFormatException nfex) { + sigType = getSigType(sigTypeString); } - return sigTypeString; + return sigType; } } diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index 215afbd1..c9d083cd 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -25,10 +25,12 @@ import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.common.cli.CLITools; import cz.crcs.ectester.common.ec.EC_Params; -import cz.crcs.ectester.common.output.*; +import cz.crcs.ectester.common.output.OutputLogger; +import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.common.test.TestException; import cz.crcs.ectester.common.test.TestRunner; import cz.crcs.ectester.common.util.ByteUtil; +import cz.crcs.ectester.common.util.CardUtil; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.output.ResponseWriter; @@ -44,7 +46,10 @@ import javax.xml.parsers.ParserConfigurationException; import java.io.*; import java.nio.file.Files; -import java.util.*; +import java.util.Arrays; +import java.util.LinkedList; +import java.util.List; +import java.util.Scanner; import static cz.crcs.ectester.applet.ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH; import static cz.crcs.ectester.applet.ECTesterApplet.Signature_ALG_ECDSA_SHA; @@ -745,7 +750,6 @@ boolean readOptions(CommandLine cli) { System.err.println("You have to specify curve bit-size with -b"); return false; } - } else if (cli.hasOption("generate")) { if (primeField == binaryField) { System.err.print("Need to specify field with -fp or -f2m. (not both)"); @@ -781,7 +785,6 @@ boolean readOptions(CommandLine cli) { System.err.println("Unknown test suite " + testSuite + ". Should be one of: " + Arrays.toString(tests)); return false; } - } else if (cli.hasOption("ecdh")) { if (primeField == binaryField) { System.err.print("Need to specify field with -fp or -f2m. (not both)"); @@ -798,8 +801,7 @@ boolean readOptions(CommandLine cli) { return false; } - ECKAType = Byte.parseByte(cli.getOptionValue("ka-type", "1")); - + ECKAType = CardUtil.parseKAType(cli.getOptionValue("ka-type", "1")); } else if (cli.hasOption("ecdsa")) { if (primeField == binaryField) { System.err.print("Need to specify field with -fp or -f2m. (but not both)"); @@ -821,7 +823,7 @@ boolean readOptions(CommandLine cli) { return false; } - ECDSAType = Byte.parseByte(cli.getOptionValue("sig-type", "17")); + ECDSAType = CardUtil.parseSigType(cli.getOptionValue("sig-type", "17")); } return true; } From 67c963266711f863a024bd6d7ff6e6da5d7b08b8 Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 28 Dec 2017 00:51:41 +0100 Subject: [PATCH 61/91] Hide the Cleanup command in test suites. --- .../common/output/BaseYAMLTestWriter.java | 4 +-- .../ectester/common/test/BaseRunnable.java | 31 +++++++++++++++++++ .../crcs/ectester/common/test/Runnable.java | 18 +++++++++++ .../crcs/ectester/common/test/TestRunner.java | 6 ++-- .../crcs/ectester/common/test/TestSuite.java | 13 ++++++-- .../crcs/ectester/common/test/Testable.java | 15 +-------- .../crcs/ectester/reader/ECTesterReader.java | 4 +-- .../reader/test/CardCompositeCurvesSuite.java | 16 +++++----- .../reader/test/CardDefaultSuite.java | 19 ++++++------ .../reader/test/CardInvalidCurvesSuite.java | 13 ++++---- .../ectester/reader/test/CardTestSuite.java | 14 ++++----- .../reader/test/CardTestVectorSuite.java | 12 +++---- .../reader/test/CardWrongCurvesSuite.java | 10 +++--- .../test/StandaloneDefaultSuite.java | 10 +++--- 14 files changed, 114 insertions(+), 71 deletions(-) create mode 100644 src/cz/crcs/ectester/common/test/BaseRunnable.java create mode 100644 src/cz/crcs/ectester/common/test/Runnable.java diff --git a/src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java b/src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java index af769277..955a1449 100644 --- a/src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java +++ b/src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java @@ -33,7 +33,7 @@ public void begin(TestSuite suite) { testSuite.put("desc", suite.getDescription()); testRun.put("suite", testSuite); - testRun.put("tests", tests); + testRun.put("run", tests); } abstract protected Map testableObject(Testable t); @@ -48,7 +48,7 @@ private Map testObject(Test t) { for (Test innerTest : test.getTests()) { innerTests.add(testObject(innerTest)); } - testObj.put("tests", innerTests); + testObj.put("run", innerTests); } else { SimpleTest test = (SimpleTest) t; testObj = testableObject(test.getTestable()); diff --git a/src/cz/crcs/ectester/common/test/BaseRunnable.java b/src/cz/crcs/ectester/common/test/BaseRunnable.java new file mode 100644 index 00000000..3e182083 --- /dev/null +++ b/src/cz/crcs/ectester/common/test/BaseRunnable.java @@ -0,0 +1,31 @@ +package cz.crcs.ectester.common.test; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class BaseRunnable implements Runnable { + private boolean hasRun = false; + private Func runImplicit; + + public BaseRunnable(Func runImplicit) { + this.runImplicit = runImplicit; + } + + @Override + public boolean hasRun() { + return hasRun; + } + + @Override + public void run() throws TestException { + if (!hasRun) { + runImplicit.run(); + } + hasRun = true; + } + + @FunctionalInterface + public interface Func { + void run() throws TestException; + } +} diff --git a/src/cz/crcs/ectester/common/test/Runnable.java b/src/cz/crcs/ectester/common/test/Runnable.java new file mode 100644 index 00000000..6f0efb0c --- /dev/null +++ b/src/cz/crcs/ectester/common/test/Runnable.java @@ -0,0 +1,18 @@ +package cz.crcs.ectester.common.test; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public interface Runnable { + /** + * @return Whether this runnable was run. + */ + boolean hasRun(); + + /** + * Run this Runnable. + * + * @throws TestException + */ + void run() throws TestException; +} diff --git a/src/cz/crcs/ectester/common/test/TestRunner.java b/src/cz/crcs/ectester/common/test/TestRunner.java index ef448c2c..cd71bcda 100644 --- a/src/cz/crcs/ectester/common/test/TestRunner.java +++ b/src/cz/crcs/ectester/common/test/TestRunner.java @@ -16,10 +16,12 @@ public TestRunner(TestSuite suite, TestWriter writer) { public void run() throws TestException { writer.begin(suite); - for (Test t : suite.getTests()) { + for (Runnable t : suite.getRunnables()) { if (!t.hasRun()) { t.run(); - writer.outputTest(t); + if (t instanceof Test) { + writer.outputTest((Test) t); + } } } writer.end(); diff --git a/src/cz/crcs/ectester/common/test/TestSuite.java b/src/cz/crcs/ectester/common/test/TestSuite.java index 74a24af1..1a7c914a 100644 --- a/src/cz/crcs/ectester/common/test/TestSuite.java +++ b/src/cz/crcs/ectester/common/test/TestSuite.java @@ -5,6 +5,7 @@ import java.util.Collections; import java.util.LinkedList; import java.util.List; +import java.util.stream.Collectors; /** * @author Jan Jancar johny@neuromancer.sk @@ -12,7 +13,7 @@ public abstract class TestSuite { protected String name; protected String description; - protected List tests = new LinkedList<>(); + protected List run = new LinkedList<>(); protected EC_Store dataStore; public TestSuite(EC_Store dataStore, String name, String description) { @@ -21,8 +22,16 @@ public TestSuite(EC_Store dataStore, String name, String description) { this.description = description; } + public List getRunnables() { + return Collections.unmodifiableList(run); + } + + @SuppressWarnings("unchecked") public List getTests() { - return Collections.unmodifiableList(tests); + return Collections.unmodifiableList((List)(List) run + .stream() + .filter(runnable -> (runnable instanceof Test)) + .collect(Collectors.toList())); } public String getName() { diff --git a/src/cz/crcs/ectester/common/test/Testable.java b/src/cz/crcs/ectester/common/test/Testable.java index 001121b1..cc7a5ded 100644 --- a/src/cz/crcs/ectester/common/test/Testable.java +++ b/src/cz/crcs/ectester/common/test/Testable.java @@ -3,20 +3,7 @@ /** * @author Jan Jancar johny@neuromancer.sk */ -public interface Testable { - - /** - * @return Whether this testable was run. - */ - boolean hasRun(); - - /** - * Run this Testable. - * - * @throws TestException - */ - void run() throws TestException; - +public interface Testable extends Runnable { /** * @return Whether this Testable was OK. */ diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index c9d083cd..4699c96f 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -425,9 +425,9 @@ private void test() throws IOException, TestException { suite = new CardTestVectorSuite(dataStore, cfg); break; default: - // These tests are dangerous, prompt before them. + // These run are dangerous, prompt before them. System.out.println("The test you selected (" + cfg.testSuite + ") is potentially dangerous."); - System.out.println("Some of these tests have caused temporary DoS of some cards."); + System.out.println("Some of these run have caused temporary DoS of some cards."); if (!cfg.yes) { System.out.print("Do you want to proceed? (y/n): "); Scanner in = new Scanner(System.in); diff --git a/src/cz/crcs/ectester/reader/test/CardCompositeCurvesSuite.java b/src/cz/crcs/ectester/reader/test/CardCompositeCurvesSuite.java index 08e45ac3..2c2ba266 100644 --- a/src/cz/crcs/ectester/reader/test/CardCompositeCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardCompositeCurvesSuite.java @@ -2,13 +2,13 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; +import cz.crcs.ectester.common.test.BaseRunnable; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTesterReader; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.common.ec.EC_Curve; import cz.crcs.ectester.common.ec.EC_Key; -import javacard.security.KeyAgreement; import javacard.security.KeyPair; import java.util.Map; @@ -21,12 +21,12 @@ public class CardCompositeCurvesSuite extends CardTestSuite { public CardCompositeCurvesSuite(EC_Store dataStore, ECTesterReader.Config cfg) { - super(dataStore, cfg, "composite", "The composite suite tests ECDH over curves with composite order. This should generally fail, as using such a curve is unsafe."); + super(dataStore, cfg, "composite", "The composite suite run ECDH over curves with composite order. This should generally fail, as using such a curve is unsafe."); } @Override public void setup(CardMngr cardManager) { - /* Do the default tests with the public keys set to provided smallorder keys + /* Do the default run with the public keys set to provided smallorder keys * over composite order curves. Essentially small subgroup attacks. * These should fail, the curves aren't safe so that if the computation with * a small order public key succeeds the private key modulo the public key order @@ -42,12 +42,12 @@ public void setup(CardMngr cardManager) { continue; } if ((curve.getBits() == cfg.bits || cfg.all)) { - tests.add(CommandTest.expect(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); - tests.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.ANY)); - tests.add(CommandTest.expect(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.ANY)); + run.add(CommandTest.expect(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); + run.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.ANY)); + run.add(CommandTest.expect(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.ANY)); Command ecdhCommand = new Command.ECDH_direct(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH, key.flatten()); - tests.add(CommandTest.expect(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected to do ECDH over a composite order curve.", "Card incorrectly does ECDH over a composite order curve, leaks bits of private key.")); - tests.add(CommandTest.expect(new Command.Cleanup(cardManager), ExpectedValue.ANY)); + run.add(CommandTest.expect(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected to do ECDH over a composite order curve.", "Card incorrectly does ECDH over a composite order curve, leaks bits of private key.")); + run.add(new BaseRunnable(() -> new Command.Cleanup(cardManager))); } } } diff --git a/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java b/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java index eb46de0b..7e7adbb1 100644 --- a/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java @@ -2,6 +2,7 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; +import cz.crcs.ectester.common.test.BaseRunnable; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTesterReader; @@ -18,19 +19,19 @@ public class CardDefaultSuite extends CardTestSuite { public CardDefaultSuite(EC_Store dataStore, ECTesterReader.Config cfg) { - super(dataStore, cfg, "default", "The default test suite tests basic support of ECDH and ECDSA."); + super(dataStore, cfg, "default", "The default test suite run basic support of ECDH and ECDSA."); } @Override public void setup(CardMngr cardManager) throws IOException { - //tests.add(CommandTest.expect(new Command.Support(cardManager), ExpectedValue.ANY)); + //run.add(CommandTest.expect(new Command.Support(cardManager), ExpectedValue.ANY)); if (cfg.namedCurve != null) { - String desc = "Default tests over the " + cfg.namedCurve + " curve category."; + String desc = "Default run over the " + cfg.namedCurve + " curve category."; if (cfg.primeField) { - tests.addAll(defaultCategoryTests(cardManager, cfg.namedCurve, KeyPair.ALG_EC_FP, ExpectedValue.SUCCESS, ExpectedValue.SUCCESS, ExpectedValue.SUCCESS, ExpectedValue.ANY, ExpectedValue.SUCCESS, desc)); + run.addAll(defaultCategoryTests(cardManager, cfg.namedCurve, KeyPair.ALG_EC_FP, ExpectedValue.SUCCESS, ExpectedValue.SUCCESS, ExpectedValue.SUCCESS, ExpectedValue.ANY, ExpectedValue.SUCCESS, desc)); } if (cfg.binaryField) { - tests.addAll(defaultCategoryTests(cardManager, cfg.namedCurve, KeyPair.ALG_EC_F2M, ExpectedValue.SUCCESS, ExpectedValue.SUCCESS, ExpectedValue.SUCCESS, ExpectedValue.ANY, ExpectedValue.SUCCESS, desc)); + run.addAll(defaultCategoryTests(cardManager, cfg.namedCurve, KeyPair.ALG_EC_F2M, ExpectedValue.SUCCESS, ExpectedValue.SUCCESS, ExpectedValue.SUCCESS, ExpectedValue.ANY, ExpectedValue.SUCCESS, desc)); } } else { if (cfg.all) { @@ -59,11 +60,11 @@ public void setup(CardMngr cardManager) throws IOException { } private void defaultTests(CardMngr cardManager, short keyLength, byte keyType) throws IOException { - tests.add(CommandTest.expect(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, keyLength, keyType), ExpectedValue.SUCCESS)); + run.add(CommandTest.expect(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, keyLength, keyType), ExpectedValue.SUCCESS)); Command curve = Command.prepareCurve(cardManager, dataStore, cfg, ECTesterApplet.KEYPAIR_BOTH, keyLength, keyType); if (curve != null) - tests.add(CommandTest.expect(curve, ExpectedValue.SUCCESS)); - tests.add(defaultCurveTests(cardManager, ExpectedValue.SUCCESS, ExpectedValue.SUCCESS, ExpectedValue.ANY, ExpectedValue.SUCCESS, "Default tests.")); - tests.add(CommandTest.expect(new Command.Cleanup(cardManager), ExpectedValue.ANY)); + run.add(CommandTest.expect(curve, ExpectedValue.SUCCESS)); + run.add(defaultCurveTests(cardManager, ExpectedValue.SUCCESS, ExpectedValue.SUCCESS, ExpectedValue.ANY, ExpectedValue.SUCCESS, "Default run.")); + run.add(new BaseRunnable(() -> new Command.Cleanup(cardManager))); } } diff --git a/src/cz/crcs/ectester/reader/test/CardInvalidCurvesSuite.java b/src/cz/crcs/ectester/reader/test/CardInvalidCurvesSuite.java index 00e3a461..3c0795bb 100644 --- a/src/cz/crcs/ectester/reader/test/CardInvalidCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardInvalidCurvesSuite.java @@ -2,6 +2,7 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; +import cz.crcs.ectester.common.test.BaseRunnable; import cz.crcs.ectester.common.test.CompoundTest; import cz.crcs.ectester.common.test.Test; import cz.crcs.ectester.data.EC_Store; @@ -26,7 +27,7 @@ public class CardInvalidCurvesSuite extends CardTestSuite { public CardInvalidCurvesSuite(EC_Store dataStore, ECTesterReader.Config cfg) { - super(dataStore, cfg, "invalid", "The invalid curve suite tests whether the card rejects points outside of the curve during ECDH."); + super(dataStore, cfg, "invalid", "The invalid curve suite run whether the card rejects points outside of the curve during ECDH."); } @Override @@ -55,16 +56,16 @@ public void setup(CardMngr cardManager) throws IOException { EC_Curve curve = e.getKey(); List keys = e.getValue(); - tests.add(CommandTest.expect(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); - tests.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.SUCCESS)); - tests.add(CommandTest.expect(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.SUCCESS)); + run.add(CommandTest.expect(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); + run.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.SUCCESS)); + run.add(CommandTest.expect(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.SUCCESS)); List ecdhTests = new LinkedList<>(); for (EC_Key.Public pub : keys) { Command ecdhCommand = new Command.ECDH_direct(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH, pub.flatten()); ecdhTests.add(CommandTest.expect(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected point on invalid curve." , "Card incorrectly accepted point on invalid curve.")); } - tests.add(CompoundTest.all(ExpectedValue.SUCCESS, "Invalid curve test of " + curve.getId(), ecdhTests.toArray(new Test[0]))); - tests.add(CommandTest.expect(new Command.Cleanup(cardManager), ExpectedValue.ANY)); + run.add(CompoundTest.all(ExpectedValue.SUCCESS, "Invalid curve test of " + curve.getId(), ecdhTests.toArray(new Test[0]))); + run.add(new BaseRunnable(() -> new Command.Cleanup(cardManager))); } } } diff --git a/src/cz/crcs/ectester/reader/test/CardTestSuite.java b/src/cz/crcs/ectester/reader/test/CardTestSuite.java index 5d34a138..7035ca2d 100644 --- a/src/cz/crcs/ectester/reader/test/CardTestSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardTestSuite.java @@ -3,10 +3,8 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.common.ec.EC_Curve; -import cz.crcs.ectester.common.test.CompoundTest; -import cz.crcs.ectester.common.test.Result; -import cz.crcs.ectester.common.test.Test; -import cz.crcs.ectester.common.test.TestSuite; +import cz.crcs.ectester.common.test.*; +import cz.crcs.ectester.common.test.Runnable; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTesterReader; @@ -98,10 +96,10 @@ Test defaultCurveTests(CardMngr cardManager, ExpectedValue generateExpected, Exp * @param ecdhCompressedExpected expected result of the ECDH command with a compressed point. * @param ecdsaExpected expected result of the ordinary ECDSA command * @param description compound test description - * @return tests to run + * @return run to run */ - List defaultCategoryTests(CardMngr cardManager, String category, byte field, ExpectedValue setExpected, ExpectedValue generateExpected, ExpectedValue ecdhExpected, ExpectedValue ecdhCompressedExpected, ExpectedValue ecdsaExpected, String description) { - List tests = new LinkedList<>(); + List defaultCategoryTests(CardMngr cardManager, String category, byte field, ExpectedValue setExpected, ExpectedValue generateExpected, ExpectedValue ecdhExpected, ExpectedValue ecdhCompressedExpected, ExpectedValue ecdsaExpected, String description) { + List tests = new LinkedList<>(); Map curves = dataStore.getObjects(EC_Curve.class, category); if (curves == null) return tests; @@ -111,7 +109,7 @@ List defaultCategoryTests(CardMngr cardManager, String category, byte fiel tests.add(CommandTest.expect(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), field), ExpectedValue.SUCCESS)); tests.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), setExpected)); tests.add(defaultCurveTests(cardManager, generateExpected, ecdhExpected, ecdhCompressedExpected, ecdsaExpected, description)); - tests.add(CommandTest.expect(new Command.Cleanup(cardManager), ExpectedValue.ANY)); + run.add(new BaseRunnable(() -> new Command.Cleanup(cardManager))); } } diff --git a/src/cz/crcs/ectester/reader/test/CardTestVectorSuite.java b/src/cz/crcs/ectester/reader/test/CardTestVectorSuite.java index e1c499c6..025cbe00 100644 --- a/src/cz/crcs/ectester/reader/test/CardTestVectorSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardTestVectorSuite.java @@ -3,10 +3,7 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.common.ec.*; -import cz.crcs.ectester.common.test.CompoundTest; -import cz.crcs.ectester.common.test.Result; -import cz.crcs.ectester.common.test.Test; -import cz.crcs.ectester.common.test.TestCallback; +import cz.crcs.ectester.common.test.*; import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; @@ -64,7 +61,7 @@ public void setup(CardMngr cardManager) throws IOException { testVector.add(CommandTest.expect(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); testVector.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.SUCCESS)); - //tests.add(new Test.Simple(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_BOTH), ExpectedValue.SUCCESS)); + //run.add(new Test.Simple(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_BOTH), ExpectedValue.SUCCESS)); testVector.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_LOCAL, EC_Consts.CURVE_external, EC_Consts.PARAMETER_S, onekey.flatten(EC_Consts.PARAMETER_S)), ExpectedValue.SUCCESS)); testVector.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_REMOTE, EC_Consts.CURVE_external, EC_Consts.PARAMETER_W, otherkey.flatten(EC_Consts.PARAMETER_W)), ExpectedValue.SUCCESS)); testVector.add(CommandTest.function(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_TRUE, EC_Consts.CORRUPTION_NONE, result.getJavaCardKA()), new TestCallback() { @@ -82,9 +79,8 @@ public Result apply(CommandTestable testable) { return new Result(Value.SUCCESS); } })); - tests.add(CompoundTest.all(ExpectedValue.SUCCESS, "Test vector " + result.getId(), testVector.toArray(new Test[0]))); - tests.add(CommandTest.expect(new Command.Cleanup(cardManager), ExpectedValue.ANY)); - + run.add(CompoundTest.all(ExpectedValue.SUCCESS, "Test vector " + result.getId(), testVector.toArray(new Test[0]))); + run.add(new BaseRunnable(() -> new Command.Cleanup(cardManager))); } } } diff --git a/src/cz/crcs/ectester/reader/test/CardWrongCurvesSuite.java b/src/cz/crcs/ectester/reader/test/CardWrongCurvesSuite.java index 4c529da2..8c21aef0 100644 --- a/src/cz/crcs/ectester/reader/test/CardWrongCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardWrongCurvesSuite.java @@ -15,20 +15,20 @@ public class CardWrongCurvesSuite extends CardTestSuite { public CardWrongCurvesSuite(EC_Store dataStore, ECTesterReader.Config cfg) { - super(dataStore, cfg, "wrong", "The wrong curve suite tests whether the card rejects domain parameters which are not curves."); + super(dataStore, cfg, "wrong", "The wrong curve suite run whether the card rejects domain parameters which are not curves."); } @Override public void setup(CardMngr cardManager) throws IOException { - /* Just do the default tests on the wrong curves. + /* Just do the default run on the wrong curves. * These should generally fail, the curves aren't curves. */ - String desc = "Default tests over wrong curve params."; + String desc = "Default run over wrong curve params."; if (cfg.primeField) { - tests.addAll(defaultCategoryTests(cardManager, cfg.testSuite, KeyPair.ALG_EC_FP, ExpectedValue.FAILURE, ExpectedValue.FAILURE, ExpectedValue.FAILURE, ExpectedValue.FAILURE, ExpectedValue.FAILURE, desc)); + run.addAll(defaultCategoryTests(cardManager, cfg.testSuite, KeyPair.ALG_EC_FP, ExpectedValue.FAILURE, ExpectedValue.FAILURE, ExpectedValue.FAILURE, ExpectedValue.FAILURE, ExpectedValue.FAILURE, desc)); } if (cfg.binaryField) { - tests.addAll(defaultCategoryTests(cardManager, cfg.testSuite, KeyPair.ALG_EC_F2M, ExpectedValue.FAILURE, ExpectedValue.FAILURE, ExpectedValue.FAILURE, ExpectedValue.FAILURE, ExpectedValue.FAILURE, desc)); + run.addAll(defaultCategoryTests(cardManager, cfg.testSuite, KeyPair.ALG_EC_F2M, ExpectedValue.FAILURE, ExpectedValue.FAILURE, ExpectedValue.FAILURE, ExpectedValue.FAILURE, ExpectedValue.FAILURE, desc)); } } } diff --git a/src/cz/crcs/ectester/standalone/test/StandaloneDefaultSuite.java b/src/cz/crcs/ectester/standalone/test/StandaloneDefaultSuite.java index 7056d69b..b24244e2 100644 --- a/src/cz/crcs/ectester/standalone/test/StandaloneDefaultSuite.java +++ b/src/cz/crcs/ectester/standalone/test/StandaloneDefaultSuite.java @@ -21,7 +21,7 @@ public class StandaloneDefaultSuite extends StandaloneTestSuite { public StandaloneDefaultSuite(EC_Store dataStore, ECTesterStandalone.Config cfg, TreeCommandLine cli) { - super(dataStore, cfg, cli, "default", "The default test suite tests basic support of ECDH and ECDSA."); + super(dataStore, cfg, cli, "default", "The default test suite run basic support of ECDH and ECDSA."); } @Override @@ -57,19 +57,19 @@ public void setup() throws NoSuchAlgorithmException { kgtOther = new KeyGeneratorTestable(kpg); } - tests.add(KeyGeneratorTest.expect(kgtOne, Result.ExpectedValue.SUCCESS)); - tests.add(KeyGeneratorTest.expect(kgtOther, Result.ExpectedValue.SUCCESS)); + run.add(KeyGeneratorTest.expect(kgtOne, Result.ExpectedValue.SUCCESS)); + run.add(KeyGeneratorTest.expect(kgtOther, Result.ExpectedValue.SUCCESS)); for (KeyAgreementIdent kaIdent : cfg.selected.getKAs()) { if (kaAlgo == null || kaIdent.contains(kaAlgo)) { KeyAgreement ka = kaIdent.getInstance(cfg.selected.getProvider()); - tests.add(KeyAgreementTest.expect(new KeyAgreementTestable(ka, kgtOne, kgtOther, spec), Result.ExpectedValue.SUCCESS)); + run.add(KeyAgreementTest.expect(new KeyAgreementTestable(ka, kgtOne, kgtOther, spec), Result.ExpectedValue.SUCCESS)); } } for (SignatureIdent sigIdent : cfg.selected.getSigs()) { if (sigAlgo == null || sigIdent.contains(sigAlgo)) { Signature sig = sigIdent.getInstance(cfg.selected.getProvider()); - tests.add(SignatureTest.expect(new SignatureTestable(sig, kgtOne, null), Result.ExpectedValue.SUCCESS)); + run.add(SignatureTest.expect(new SignatureTestable(sig, kgtOne, null), Result.ExpectedValue.SUCCESS)); } } } From 9c574828d509a5b663902c967a17d95479f87547 Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 28 Dec 2017 02:41:59 +0100 Subject: [PATCH 62/91] Cleanup !uploader directory, rename to applet. --- !uploader/ectester.cap | Bin 15192 -> 0 bytes !uploader/simpleECC_NXP_JCOP_CJ2A081.txt | 54 ------------------ !uploader/simpleECC_test.txt | 27 --------- !uploader/simpleECC_testDHSecret.txt | 23 -------- !uploader/simpleECC_testECFull.txt | 12 ---- !uploader/simpleECC_testSetParams.txt | 27 --------- .travis.yml | 2 +- README.md | 2 +- .../GPPcScConnectionPlugin.dll | Bin {!uploader => applet}/GPShell.exe | Bin {!uploader => applet}/GlobalPlatform.dll | Bin {!uploader => applet}/gp.exe | Bin {!uploader => applet}/gp.jar | Bin {!uploader => applet}/gppro_upload.bat | 0 {!uploader => applet}/gppro_upload.sh | 0 {!uploader => applet}/gppro_upload_emv.bat | 0 {!uploader => applet}/gppro_upload_emv.sh | 0 {!uploader => applet}/libeay32.dll | Bin {!uploader => applet}/openkms-gp.jar | Bin {!uploader => applet}/ssleay32.dll | Bin {!uploader => applet}/zlib1.dll | Bin build-applet.xml | 51 +++++++++-------- 22 files changed, 28 insertions(+), 170 deletions(-) delete mode 100644 !uploader/ectester.cap delete mode 100644 !uploader/simpleECC_NXP_JCOP_CJ2A081.txt delete mode 100644 !uploader/simpleECC_test.txt delete mode 100644 !uploader/simpleECC_testDHSecret.txt delete mode 100644 !uploader/simpleECC_testECFull.txt delete mode 100644 !uploader/simpleECC_testSetParams.txt rename {!uploader => applet}/GPPcScConnectionPlugin.dll (100%) rename {!uploader => applet}/GPShell.exe (100%) rename {!uploader => applet}/GlobalPlatform.dll (100%) rename {!uploader => applet}/gp.exe (100%) rename {!uploader => applet}/gp.jar (100%) rename {!uploader => applet}/gppro_upload.bat (100%) rename {!uploader => applet}/gppro_upload.sh (100%) rename {!uploader => applet}/gppro_upload_emv.bat (100%) rename {!uploader => applet}/gppro_upload_emv.sh (100%) rename {!uploader => applet}/libeay32.dll (100%) rename {!uploader => applet}/openkms-gp.jar (100%) rename {!uploader => applet}/ssleay32.dll (100%) rename {!uploader => applet}/zlib1.dll (100%) diff --git a/!uploader/ectester.cap b/!uploader/ectester.cap deleted file mode 100644 index 8077260dfe21d2c2b27e9d9cc16dd32d1a217764..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15192 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 "dist/ECTesterReader.jar" ant -f build-standalone.xml package # To build the standalone tool (jar) -> "dist/ECTesterStandalone.jar" -ant -f build-applet.xml build # To build the applet (cap) -> "!uploader/ectester.cap". +ant -f build-applet.xml build # To build the applet (cap) -> "applet/ectester.cap". ``` Build produces both a lightweight version of the JARs and a full version of the JARs with dependencies included, the latter has the `*-dist.jar` suffix. The standalone build tries building test binaries for all the supported libraries, and silently fails if the library is not properly supported. diff --git a/!uploader/GPPcScConnectionPlugin.dll b/applet/GPPcScConnectionPlugin.dll similarity index 100% rename from !uploader/GPPcScConnectionPlugin.dll rename to applet/GPPcScConnectionPlugin.dll diff --git a/!uploader/GPShell.exe b/applet/GPShell.exe similarity index 100% rename from !uploader/GPShell.exe rename to applet/GPShell.exe diff --git a/!uploader/GlobalPlatform.dll b/applet/GlobalPlatform.dll similarity index 100% rename from !uploader/GlobalPlatform.dll rename to applet/GlobalPlatform.dll diff --git a/!uploader/gp.exe b/applet/gp.exe similarity index 100% rename from !uploader/gp.exe rename to applet/gp.exe diff --git a/!uploader/gp.jar b/applet/gp.jar similarity index 100% rename from !uploader/gp.jar rename to applet/gp.jar diff --git a/!uploader/gppro_upload.bat b/applet/gppro_upload.bat similarity index 100% rename from !uploader/gppro_upload.bat rename to applet/gppro_upload.bat diff --git a/!uploader/gppro_upload.sh b/applet/gppro_upload.sh similarity index 100% rename from !uploader/gppro_upload.sh rename to applet/gppro_upload.sh diff --git a/!uploader/gppro_upload_emv.bat b/applet/gppro_upload_emv.bat similarity index 100% rename from !uploader/gppro_upload_emv.bat rename to applet/gppro_upload_emv.bat diff --git a/!uploader/gppro_upload_emv.sh b/applet/gppro_upload_emv.sh similarity index 100% rename from !uploader/gppro_upload_emv.sh rename to applet/gppro_upload_emv.sh diff --git a/!uploader/libeay32.dll b/applet/libeay32.dll similarity index 100% rename from !uploader/libeay32.dll rename to applet/libeay32.dll diff --git a/!uploader/openkms-gp.jar b/applet/openkms-gp.jar similarity index 100% rename from !uploader/openkms-gp.jar rename to applet/openkms-gp.jar diff --git a/!uploader/ssleay32.dll b/applet/ssleay32.dll similarity index 100% rename from !uploader/ssleay32.dll rename to applet/ssleay32.dll diff --git a/!uploader/zlib1.dll b/applet/zlib1.dll similarity index 100% rename from !uploader/zlib1.dll rename to applet/zlib1.dll diff --git a/build-applet.xml b/build-applet.xml index 793060c1..9d7d4d6e 100644 --- a/build-applet.xml +++ b/build-applet.xml @@ -1,31 +1,32 @@ - - - - - - - - - - + + + + + + + - - - - - - - + + - - - - + + + + + + + - - - - + + + + + + + + + From 9439e8872c50edb35dba288b8d3ef483fb8ee9e2 Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 28 Dec 2017 15:24:38 +0100 Subject: [PATCH 63/91] Include LICENSE in JAR. --- .gitignore | 3 +++ build-reader.xml | 5 +++++ build-standalone.xml | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/.gitignore b/.gitignore index 8390d097..1953275d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +# Built artifacts in /dist and /applet. /dist/lib/ /dist/ECTesterReader.jar /dist/ECTesterReader-dist.jar @@ -5,7 +6,9 @@ /dist/ectester-reader.bat /dist/ECTesterStandalone.jar /dist/ECTesterStandalone-dist.jar +/applet/ectester.cap +# Built binaries in /src. /src/**/*.a /src/**/*.o /src/**/*.so diff --git a/build-reader.xml b/build-reader.xml index ec62f6ff..98cdef49 100644 --- a/build-reader.xml +++ b/build-reader.xml @@ -71,10 +71,15 @@ nbproject/build-impl.xml file. --> + + + + + diff --git a/build-standalone.xml b/build-standalone.xml index ea160c85..a4bb4343 100644 --- a/build-standalone.xml +++ b/build-standalone.xml @@ -71,6 +71,10 @@ nbproject/build-impl.xml file. --> + + + + From 0e1498d43c14b5a739f3bc780df9045defd4cacf Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 28 Dec 2017 15:55:39 +0100 Subject: [PATCH 64/91] Add script for plotting key genration results. --- util/plot_gen.py | 68 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100755 util/plot_gen.py diff --git a/util/plot_gen.py b/util/plot_gen.py new file mode 100755 index 00000000..9c824a63 --- /dev/null +++ b/util/plot_gen.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python +# +# Script for plotting ECTester key generation results. +# +# Example usage: +# +# > java -jar ECTesterReader.jar -g 10000 -b 192 -fp -o gen.csv +# ... +# > ./plot_gen.py gen.csv +# ... +# + +import numpy as np +import matplotlib.pyplot as plt +from operator import itemgetter +import argparse + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Plot results of ECTester key generation timing.") + parser.add_argument("-o", "--output", dest="output", type=argparse.FileType("wb"), help="Write image to [file], do not display.", metavar="file") + parser.add_argument("--pub", dest="pub", action="store_true", help="Show public key scatter plot.") + parser.add_argument("--priv", dest="priv", action="store_true", help="Show private key scatter plot.") + parser.add_argument("--hist", dest="hist", action="store_true", help="Show histogram.") + parser.add_argument("file", type=str, help="The file to plot(csv).") + + opts = parser.parse_args() + + plots = [opts.priv, opts.pub, opts.hist] + n_plots = sum(plots) + if n_plots == 0: + n_plots = 3 + plots = [True, True, True] + + hx = lambda x: int(x, 16) + data = np.genfromtxt(opts.file, delimiter=";", skip_header=1, converters={2: hx, 3: hx}, dtype=np.dtype([("index","u4"), ("time","u4"), ("pub", "O"), ("priv", "O")])) + + time_data = map(itemgetter(1), data) + priv_data = map(itemgetter(2), data) + pub_data = map(itemgetter(3), data) + + fig = plt.figure(tight_layout=True) + fig.suptitle(opts.file) + + plot_i = 1 + if plots[0]: + axe_private = fig.add_subplot(n_plots, 1, plot_i) + axe_private.scatter(time_data, priv_data, marker="x", s=10) + axe_private.set_ylabel("private key value\n(big endian)") + axe_private.set_xlabel("time (ms)") + plot_i += 1 + + if plots[1]: + axe_public = fig.add_subplot(n_plots, 1, plot_i) + axe_public.scatter(time_data, pub_data, marker="x", s=10) + axe_public.set_ylabel("public key value\n(big endian)") + axe_public.set_xlabel("time (ms)") + plot_i += 1 + + if plots[2]: + axe_hist = fig.add_subplot(n_plots, 1, plot_i) + axe_hist.hist(time_data, bins=400, log=True) + axe_hist.set_ylabel("count\n(log)") + axe_hist.set_xlabel("time (ms)") + + if opts.output is None: + plt.show() + else: + plt.savefig(opts.output, dpi=400) From dbd448f1c325b39789cafc81615b6ed010b19bb5 Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 28 Dec 2017 16:45:52 +0100 Subject: [PATCH 65/91] Export and output keys used in ECDH in Reader. - New csv format is: index;time;pubW;privS;secret --- src/cz/crcs/ectester/reader/ECTesterReader.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index 4699c96f..63c779ca 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -492,7 +492,7 @@ private void ecdh() throws IOException, CardException { FileWriter out = null; if (cfg.output != null) { out = new FileWriter(cfg.output); - out.write("index;time;secret\n"); + out.write("index;time;pubW;privS;secret\n"); } int retry = 0; @@ -500,6 +500,11 @@ private void ecdh() throws IOException, CardException { while (done < cfg.ECKACount) { List ecdh = Command.sendAll(generate); + Response.Export export = new Command.Export(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.KEY_BOTH, EC_Consts.PARAMETERS_KEYPAIR).send(); + ecdh.add(export); + byte pubkey_bytes[] = export.getParameter(pubkey, EC_Consts.PARAMETER_W); + byte privkey_bytes[] = export.getParameter(privkey, EC_Consts.PARAMETER_S); + Response.ECDH perform = new Command.ECDH(cardManager, pubkey, privkey, ECTesterApplet.EXPORT_TRUE, EC_Consts.CORRUPTION_NONE, cfg.ECKAType).send(); ecdh.add(perform); for (Response r : ecdh) { @@ -517,7 +522,7 @@ private void ecdh() throws IOException, CardException { } if (out != null) { - out.write(String.format("%d;%d;%s\n", done, perform.getDuration() / 1000000, ByteUtil.bytesToHex(perform.getSecret(), false))); + out.write(String.format("%d;%d;%s;%s;%s\n", done, perform.getDuration() / 1000000, ByteUtil.bytesToHex(pubkey_bytes, false), ByteUtil.bytesToHex(privkey_bytes, false), ByteUtil.bytesToHex(perform.getSecret(), false))); } ++done; From 552289fd86446416eefec6356659a8333d091f79 Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 28 Dec 2017 17:53:05 +0100 Subject: [PATCH 66/91] Add script to plot ECDH timing. --- util/plot_dh.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 util/plot_dh.py diff --git a/util/plot_dh.py b/util/plot_dh.py new file mode 100755 index 00000000..eb1886ae --- /dev/null +++ b/util/plot_dh.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python +# +# Script for plotting ECTester ECDH results. +# +# Example usage: +# +# > java -jar ECTesterReader.jar -dh 10000 -b 192 -fp -o dh.csv +# ... +# > ./plot_dh.py dh.csv +# ... +# + +import numpy as np +import matplotlib.pyplot as plt +import argparse +from operator import itemgetter + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Plot ECTester ECDH timing.") + parser.add_argument("-o", "--output", dest="output", type=argparse.FileType("wb"), help="Write image to [file], do not display.", metavar="file") + parser.add_argument("file", type=str, help="The file to plot(csv).") + + opts = parser.parse_args() + + hx = lambda x: int(x, 16) + data = np.genfromtxt(opts.file, delimiter=";", skip_header=1, converters={2: hx, 3: hx, 4: hx}, dtype=np.dtype([("index","u4"), ("time","u4"), ("pub", "O"), ("priv", "O"), ("secret","O")])) + + time_data = map(itemgetter(1), data) + priv_data = map(itemgetter(2), data) + pub_data = map(itemgetter(3), data) + secret_data = map(itemgetter(4), data) + + fig = plt.figure(tight_layout=True) + fig.suptitle(opts.file) + + axe_hist = fig.add_subplot(1,1,1) + axe_hist.hist(time_data, bins=400, log=True) + axe_hist.set_ylabel("count\n(log)") + axe_hist.set_xlabel("time (ms)") + + if opts.output is None: + plt.show() + else: + plt.savefig(opts.output, dpi=400) From 70bcab713bcc36f3f6a5886f4651967e1585fad6 Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 28 Dec 2017 18:54:19 +0100 Subject: [PATCH 67/91] Add average and median plotting. --- util/plot_dh.py | 10 +++++++++- util/plot_gen.py | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/util/plot_dh.py b/util/plot_dh.py index eb1886ae..62a2f86f 100755 --- a/util/plot_dh.py +++ b/util/plot_dh.py @@ -12,6 +12,7 @@ import numpy as np import matplotlib.pyplot as plt +import matplotlib.ticker as ticker import argparse from operator import itemgetter @@ -34,9 +35,16 @@ fig.suptitle(opts.file) axe_hist = fig.add_subplot(1,1,1) - axe_hist.hist(time_data, bins=400, log=True) + time_max = max(time_data) + time_avg = np.average(time_data) + time_median = np.median(time_data) + axe_hist.hist(time_data, bins=time_max/3, log=True) + axe_hist.axvline(x=time_avg, alpha=0.7, linestyle="dotted", color="red", label="avg = {}".format(time_avg)) + axe_hist.axvline(x=time_median, alpha=0.7, linestyle="dotted", color="green", label="median = {}".format(time_median)) axe_hist.set_ylabel("count\n(log)") axe_hist.set_xlabel("time (ms)") + axe_hist.xaxis.set_major_locator(ticker.MaxNLocator()) + axe_hist.legend(loc="best") if opts.output is None: plt.show() diff --git a/util/plot_gen.py b/util/plot_gen.py index 9c824a63..00892b5c 100755 --- a/util/plot_gen.py +++ b/util/plot_gen.py @@ -12,6 +12,7 @@ import numpy as np import matplotlib.pyplot as plt +import matplotlib.ticker as ticker from operator import itemgetter import argparse @@ -58,9 +59,16 @@ if plots[2]: axe_hist = fig.add_subplot(n_plots, 1, plot_i) - axe_hist.hist(time_data, bins=400, log=True) + time_max = max(time_data) + time_avg = np.average(time_data) + time_median = np.median(time_data) + axe_hist.hist(time_data, bins=time_max/3, log=True) + axe_hist.axvline(x=time_avg, alpha=0.7, linestyle="dotted", color="red", label="avg = {}".format(time_avg)) + axe_hist.axvline(x=time_median, alpha=0.7, linestyle="dotted", color="green", label="median = {}".format(time_median)) axe_hist.set_ylabel("count\n(log)") axe_hist.set_xlabel("time (ms)") + axe_hist.xaxis.set_major_locator(ticker.MaxNLocator()) + axe_hist.legend(loc="best") if opts.output is None: plt.show() From f0cc9ea002d6e853075e2d99a81d8537e2b2f41f Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 28 Dec 2017 20:38:56 +0100 Subject: [PATCH 68/91] Properly plot data from standalone app. --- util/plot_dh.py | 17 +++++++++++++++-- util/plot_gen.py | 21 +++++++++++++++++---- 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/util/plot_dh.py b/util/plot_dh.py index 62a2f86f..2aa7d213 100755 --- a/util/plot_dh.py +++ b/util/plot_dh.py @@ -1,4 +1,5 @@ #!/usr/bin/env python +# -*- coding: UTF-8 -*- # # Script for plotting ECTester ECDH results. # @@ -23,10 +24,19 @@ opts = parser.parse_args() + with open(opts.file, "r") as f: + header = f.readline() + header_names = header.split(";") + hx = lambda x: int(x, 16) data = np.genfromtxt(opts.file, delimiter=";", skip_header=1, converters={2: hx, 3: hx, 4: hx}, dtype=np.dtype([("index","u4"), ("time","u4"), ("pub", "O"), ("priv", "O"), ("secret","O")])) - time_data = map(itemgetter(1), data) + if "nano" in header_names[1]: + unit = r"$\mu s$" + time_data = map(lambda x: x[1]/1000, data) + else: + unit = r"ms" + time_data = map(itemgetter(1), data) priv_data = map(itemgetter(2), data) pub_data = map(itemgetter(3), data) secret_data = map(itemgetter(4), data) @@ -42,11 +52,14 @@ axe_hist.axvline(x=time_avg, alpha=0.7, linestyle="dotted", color="red", label="avg = {}".format(time_avg)) axe_hist.axvline(x=time_median, alpha=0.7, linestyle="dotted", color="green", label="median = {}".format(time_median)) axe_hist.set_ylabel("count\n(log)") - axe_hist.set_xlabel("time (ms)") + axe_hist.set_xlabel("time ({})".format(unit)) axe_hist.xaxis.set_major_locator(ticker.MaxNLocator()) axe_hist.legend(loc="best") + fig.text(0.01, 0.02, "Data size: {}".format(len(time_data)), size="small") + if opts.output is None: plt.show() else: + fig.set_size_inches(12, 10) plt.savefig(opts.output, dpi=400) diff --git a/util/plot_gen.py b/util/plot_gen.py index 00892b5c..db78f8de 100755 --- a/util/plot_gen.py +++ b/util/plot_gen.py @@ -1,4 +1,5 @@ #!/usr/bin/env python +# -*- coding: UTF-8 -*- # # Script for plotting ECTester key generation results. # @@ -26,6 +27,10 @@ opts = parser.parse_args() + with open(opts.file, "r") as f: + header = f.readline() + header_names = header.split(";") + plots = [opts.priv, opts.pub, opts.hist] n_plots = sum(plots) if n_plots == 0: @@ -35,7 +40,12 @@ hx = lambda x: int(x, 16) data = np.genfromtxt(opts.file, delimiter=";", skip_header=1, converters={2: hx, 3: hx}, dtype=np.dtype([("index","u4"), ("time","u4"), ("pub", "O"), ("priv", "O")])) - time_data = map(itemgetter(1), data) + if "nano" in header_names[1]: + unit = r"$\mu s$" + time_data = map(lambda x: x[1]/1000, data) + else: + unit = r"ms" + time_data = map(itemgetter(1), data) priv_data = map(itemgetter(2), data) pub_data = map(itemgetter(3), data) @@ -47,14 +57,14 @@ axe_private = fig.add_subplot(n_plots, 1, plot_i) axe_private.scatter(time_data, priv_data, marker="x", s=10) axe_private.set_ylabel("private key value\n(big endian)") - axe_private.set_xlabel("time (ms)") + axe_private.set_xlabel("time ({})".format(unit)) plot_i += 1 if plots[1]: axe_public = fig.add_subplot(n_plots, 1, plot_i) axe_public.scatter(time_data, pub_data, marker="x", s=10) axe_public.set_ylabel("public key value\n(big endian)") - axe_public.set_xlabel("time (ms)") + axe_public.set_xlabel("time ({})".format(unit)) plot_i += 1 if plots[2]: @@ -66,11 +76,14 @@ axe_hist.axvline(x=time_avg, alpha=0.7, linestyle="dotted", color="red", label="avg = {}".format(time_avg)) axe_hist.axvline(x=time_median, alpha=0.7, linestyle="dotted", color="green", label="median = {}".format(time_median)) axe_hist.set_ylabel("count\n(log)") - axe_hist.set_xlabel("time (ms)") + axe_hist.set_xlabel("time ({})".format(unit)) axe_hist.xaxis.set_major_locator(ticker.MaxNLocator()) axe_hist.legend(loc="best") + fig.text(0.01, 0.02, "Data size: {}".format(len(time_data)), size="small") + if opts.output is None: plt.show() else: + fig.set_size_inches(12, 10) plt.savefig(opts.output, dpi=400) From bbc29b640dc0a94e5faa48f647f3420316914c67 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sat, 30 Dec 2017 03:43:13 +0100 Subject: [PATCH 69/91] Add more comprehensive XML output to standalone app. --- .../standalone/ECTesterStandalone.java | 60 +++++++++++++++---- .../standalone/output/XMLTestWriter.java | 38 +++++++++--- .../standalone/test/KeyAgreementTestable.java | 12 ++++ .../standalone/test/KeyGeneratorTestable.java | 4 ++ .../standalone/test/SignatureTestable.java | 4 ++ 5 files changed, 97 insertions(+), 21 deletions(-) diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index 237897cc..b1b71a57 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -2,6 +2,7 @@ import cz.crcs.ectester.common.cli.*; import cz.crcs.ectester.common.ec.EC_Curve; +import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.common.test.TestException; import cz.crcs.ectester.common.test.TestRunner; import cz.crcs.ectester.common.util.ByteUtil; @@ -12,6 +13,8 @@ import cz.crcs.ectester.standalone.consts.SignatureIdent; import cz.crcs.ectester.standalone.libs.*; import cz.crcs.ectester.standalone.output.TextTestWriter; +import cz.crcs.ectester.standalone.output.XMLTestWriter; +import cz.crcs.ectester.standalone.output.YAMLTestWriter; import cz.crcs.ectester.standalone.test.StandaloneDefaultSuite; import cz.crcs.ectester.standalone.test.StandaloneTestSuite; import org.apache.commons.cli.DefaultParser; @@ -20,6 +23,7 @@ import org.apache.commons.cli.ParseException; import javax.crypto.KeyAgreement; +import javax.xml.parsers.ParserConfigurationException; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; @@ -90,7 +94,7 @@ private void run(String[] args) { export(); } - } catch (ParseException | IOException ex) { + } catch (ParseException | ParserConfigurationException | IOException ex) { System.err.println(ex.getMessage()); } catch (InvalidAlgorithmParameterException | InvalidParameterException e) { System.err.println("Invalid algorithm parameter: " + e.getMessage()); @@ -105,43 +109,49 @@ private void run(String[] args) { private TreeCommandLine parseArgs(String[] args) throws ParseException { Map actions = new TreeMap<>(); + Option namedCurve = Option.builder("nc").longOpt("named-curve").desc("Use a named curve, from CurveDB: ").hasArg().argName("cat/id").build(); + Option bits = Option.builder("b").longOpt("bits").hasArg().argName("n").optionalArg(false).desc("What size of curve to use.").build(); + Options testOpts = new Options(); - ParserOptions test = new ParserOptions(new DefaultParser(), testOpts); + testOpts.addOption(bits); + testOpts.addOption(namedCurve); testOpts.addOption(Option.builder("gt").longOpt("kpg-type").desc("Set the KeyPairGenerator object [type].").hasArg().argName("type").optionalArg(false).build()); testOpts.addOption(Option.builder("kt").longOpt("ka-type").desc("Set the KeyAgreement object [type].").hasArg().argName("type").optionalArg(false).build()); testOpts.addOption(Option.builder("st").longOpt("sig-type").desc("Set the Signature object [type].").hasArg().argName("type").optionalArg(false).build()); - testOpts.addOption(Option.builder("b").longOpt("bits").hasArg().argName("n").optionalArg(false).desc("What size of curve to use.").build()); - testOpts.addOption(Option.builder("nc").longOpt("named-curve").desc("Use a named curve, from CurveDB: ").hasArg().argName("cat/id").build()); + testOpts.addOption(Option.builder("f").longOpt("format").desc("Set the output format, one of text,yaml,xml.").hasArg().argName("format").optionalArg(false).build()); + List testArgs = new LinkedList<>(); + testArgs.add(new Argument("test_suite", "The test suite to run.", true)); + ParserOptions test = new ParserOptions(new DefaultParser(), testOpts, testArgs); actions.put("test", test); Options ecdhOpts = new Options(); + ecdhOpts.addOption(bits); + ecdhOpts.addOption(namedCurve); ecdhOpts.addOption(Option.builder("t").longOpt("type").desc("Set KeyAgreement object [type].").hasArg().argName("type").optionalArg(false).build()); ecdhOpts.addOption(Option.builder("n").longOpt("amount").hasArg().argName("amount").optionalArg(false).desc("Do ECDH [amount] times.").build()); - ecdhOpts.addOption(Option.builder("b").longOpt("bits").hasArg().argName("n").optionalArg(false).desc("What size of curve to use.").build()); - ecdhOpts.addOption(Option.builder("nc").longOpt("named-curve").desc("Use a named curve, from CurveDB: ").hasArg().argName("cat/id").build()); ParserOptions ecdh = new ParserOptions(new DefaultParser(), ecdhOpts); actions.put("ecdh", ecdh); Options ecdsaOpts = new Options(); + ecdsaOpts.addOption(bits); + ecdsaOpts.addOption(namedCurve); ecdsaOpts.addOption(Option.builder("t").longOpt("type").desc("Set Signature object [type].").hasArg().argName("type").optionalArg(false).build()); ecdsaOpts.addOption(Option.builder("n").longOpt("amount").hasArg().argName("amount").optionalArg(false).desc("Do ECDSA [amount] times.").build()); - ecdsaOpts.addOption(Option.builder("b").longOpt("bits").hasArg().argName("n").optionalArg(false).desc("What size of curve to use.").build()); - ecdsaOpts.addOption(Option.builder("nc").longOpt("named-curve").desc("Use a named curve, from CurveDB: ").hasArg().argName("cat/id").build()); ecdsaOpts.addOption(Option.builder("f").longOpt("file").hasArg().argName("file").optionalArg(false).desc("Input [file] to sign.").build()); ParserOptions ecdsa = new ParserOptions(new DefaultParser(), ecdsaOpts); actions.put("ecdsa", ecdsa); Options generateOpts = new Options(); - generateOpts.addOption(Option.builder("nc").longOpt("named-curve").desc("Use a named curve, from CurveDB: ").hasArg().argName("cat/id").build()); + generateOpts.addOption(bits); + generateOpts.addOption(namedCurve); generateOpts.addOption(Option.builder("n").longOpt("amount").hasArg().argName("amount").optionalArg(false).desc("Generate [amount] of EC keys.").build()); generateOpts.addOption(Option.builder("t").longOpt("type").hasArg().argName("type").optionalArg(false).desc("Set KeyPairGenerator object [type].").build()); - generateOpts.addOption(Option.builder("b").longOpt("bits").hasArg().argName("n").optionalArg(false).desc("What size of curve to use.").build()); ParserOptions generate = new ParserOptions(new DefaultParser(), generateOpts); actions.put("generate", generate); Options exportOpts = new Options(); exportOpts.addOption(Option.builder("t").longOpt("type").hasArg().argName("type").optionalArg(false).desc("Set KeyPair object [type].").build()); - exportOpts.addOption(Option.builder("b").longOpt("bits").hasArg().argName("n").optionalArg(false).desc("What size of curve to use.").build()); + exportOpts.addOption(bits); ParserOptions export = new ParserOptions(new DefaultParser(), exportOpts); actions.put("export", export); @@ -403,9 +413,24 @@ private void generate() throws NoSuchAlgorithmException, InvalidAlgorithmParamet /** * */ - private void test() throws NoSuchAlgorithmException, TestException { + private void test() throws NoSuchAlgorithmException, TestException, ParserConfigurationException { + TestWriter writer; + switch (cli.getOptionValue("test.format", "text").toLowerCase()) { + case "yaml": + case "yml": + writer = new YAMLTestWriter(System.out); + break; + case "xml": + writer = new XMLTestWriter(System.out); + break; + case "text": + default: + writer = new TextTestWriter(System.out); + break; + } + StandaloneTestSuite suite = new StandaloneDefaultSuite(dataStore, cfg, cli); - TestRunner runner = new TestRunner(suite, new TextTestWriter(System.out)); + TestRunner runner = new TestRunner(suite, writer); suite.setup(); runner.run(); } @@ -490,6 +515,15 @@ boolean readOptions(TreeCommandLine cli) { } } + if (cli.hasOption("test.format")) { + String fmt = cli.getOptionValue("test.format"); + String formats[] = new String[]{"text", "xml", "yaml", "yml"}; + if (!Arrays.asList(formats).contains(fmt.toLowerCase())) { + System.err.println("Invalid format specified."); + return false; + } + } + return true; } } diff --git a/src/cz/crcs/ectester/standalone/output/XMLTestWriter.java b/src/cz/crcs/ectester/standalone/output/XMLTestWriter.java index cc1a19e0..f1503cb4 100644 --- a/src/cz/crcs/ectester/standalone/output/XMLTestWriter.java +++ b/src/cz/crcs/ectester/standalone/output/XMLTestWriter.java @@ -22,40 +22,62 @@ public XMLTestWriter(OutputStream output) throws ParserConfigurationException { super(output); } + private Element pkeyElement(PublicKey pkey) { + Element pubkey = doc.createElement("pubkey"); + pubkey.setAttribute("algorithm", pkey.getAlgorithm()); + pubkey.setAttribute("format", pkey.getFormat()); + pubkey.setTextContent(ByteUtil.bytesToHex(pkey.getEncoded())); + return pubkey; + } + + private Element skeyElement(PrivateKey skey) { + Element privkey = doc.createElement("privkey"); + privkey.setAttribute("algorithm", skey.getAlgorithm()); + privkey.setAttribute("format", skey.getFormat()); + privkey.setTextContent(ByteUtil.bytesToHex(skey.getEncoded())); + return privkey; + } + private Element kaElement(KeyAgreementTestable kat) { Element katElem = doc.createElement("key-agreement"); + katElem.setAttribute("algo", kat.getKa().getAlgorithm()); Element secret = doc.createElement("secret"); secret.setTextContent(ByteUtil.bytesToHex(kat.getSecret())); katElem.appendChild(secret); + PublicKey pkey = kat.getPublicKey(); + Element pubkey = pkeyElement(pkey); + katElem.appendChild(pubkey); + + PrivateKey skey = kat.getPrivateKey(); + Element privkey = skeyElement(skey); + katElem.appendChild(privkey); + return katElem; } private Element kgtElement(KeyGeneratorTestable kgt) { Element kgtElem = doc.createElement("key-pair-generator"); + kgtElem.setAttribute("algo", kgt.getKpg().getAlgorithm()); Element keyPair = doc.createElement("key-pair"); - Element pubkey = doc.createElement("pubkey"); PublicKey pkey = kgt.getKeyPair().getPublic(); - pubkey.setAttribute("algorithm", pkey.getAlgorithm()); - pubkey.setAttribute("format", pkey.getFormat()); - pubkey.setTextContent(ByteUtil.bytesToHex(pkey.getEncoded())); + Element pubkey = pkeyElement(pkey); keyPair.appendChild(pubkey); - Element privkey = doc.createElement("privkey"); PrivateKey skey = kgt.getKeyPair().getPrivate(); - privkey.setAttribute("algorithm", skey.getAlgorithm()); - privkey.setAttribute("format", skey.getFormat()); - privkey.setTextContent(ByteUtil.bytesToHex(skey.getEncoded())); + Element privkey = skeyElement(skey); keyPair.appendChild(privkey); + kgtElem.appendChild(keyPair); return kgtElem; } private Element sigElement(SignatureTestable sig) { Element sigElem = doc.createElement("signature"); sigElem.setAttribute("verified", sig.getVerified() ? "true" : "false"); + sigElem.setAttribute("algo", sig.getSig().getAlgorithm()); Element raw = doc.createElement("raw"); raw.setTextContent(ByteUtil.bytesToHex(sig.getSignature())); diff --git a/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java b/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java index 8e9b0dda..de9356bb 100644 --- a/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java +++ b/src/cz/crcs/ectester/standalone/test/KeyAgreementTestable.java @@ -50,6 +50,18 @@ public KeyAgreementTestable(KeyAgreement ka, KeyGeneratorTestable privKgt, KeyGe this.kgtPublic = pubKgt; } + public KeyAgreement getKa() { + return ka; + } + + public ECPublicKey getPublicKey() { + return publicKey; + } + + public ECPrivateKey getPrivateKey() { + return privateKey; + } + public byte[] getSecret() { if (!hasRun) { return null; diff --git a/src/cz/crcs/ectester/standalone/test/KeyGeneratorTestable.java b/src/cz/crcs/ectester/standalone/test/KeyGeneratorTestable.java index ca7f1e75..3fca1682 100644 --- a/src/cz/crcs/ectester/standalone/test/KeyGeneratorTestable.java +++ b/src/cz/crcs/ectester/standalone/test/KeyGeneratorTestable.java @@ -28,6 +28,10 @@ public KeyGeneratorTestable(KeyPairGenerator kpg, ECParameterSpec spec) { this.spec = spec; } + public KeyPairGenerator getKpg() { + return kpg; + } + public KeyPair getKeyPair() { return kp; } diff --git a/src/cz/crcs/ectester/standalone/test/SignatureTestable.java b/src/cz/crcs/ectester/standalone/test/SignatureTestable.java index 564a6bff..e4343370 100644 --- a/src/cz/crcs/ectester/standalone/test/SignatureTestable.java +++ b/src/cz/crcs/ectester/standalone/test/SignatureTestable.java @@ -36,6 +36,10 @@ public SignatureTestable(Signature sig, KeyGeneratorTestable kgt, byte[] data) { this.kgt = kgt; } + public Signature getSig() { + return sig; + } + public byte[] getData() { return data; } From 9b2cb89738abd4c83d8175069bcb1902ebe2997b Mon Sep 17 00:00:00 2001 From: J08nY Date: Sat, 30 Dec 2017 19:05:34 +0100 Subject: [PATCH 70/91] Fixed XML and YAML standalone output in case some tests fail. --- .../crcs/ectester/common/util/ByteUtil.java | 6 +++ .../standalone/output/XMLTestWriter.java | 22 ++++++--- .../standalone/output/YAMLTestWriter.java | 45 ++++++++++++++----- .../standalone/test/KeyAgreementTest.java | 2 +- .../standalone/test/KeyGeneratorTest.java | 2 +- .../standalone/test/SignatureTest.java | 2 +- util/plot_dh.py | 1 + util/plot_gen.py | 1 + 8 files changed, 59 insertions(+), 22 deletions(-) diff --git a/src/cz/crcs/ectester/common/util/ByteUtil.java b/src/cz/crcs/ectester/common/util/ByteUtil.java index 939e4877..90c6eaab 100644 --- a/src/cz/crcs/ectester/common/util/ByteUtil.java +++ b/src/cz/crcs/ectester/common/util/ByteUtil.java @@ -84,6 +84,9 @@ public static String bytesToHex(byte[] data) { } public static String bytesToHex(byte[] data, boolean addSpace) { + if (data == null) { + return ""; + } return bytesToHex(data, 0, data.length, addSpace); } @@ -92,6 +95,9 @@ public static String bytesToHex(byte[] data, int offset, int len) { } public static String bytesToHex(byte[] data, int offset, int len, boolean addSpace) { + if (data == null) { + return ""; + } StringBuilder buf = new StringBuilder(); for (int i = offset; i < (offset + len); i++) { buf.append(byteToHex(data[i])); diff --git a/src/cz/crcs/ectester/standalone/output/XMLTestWriter.java b/src/cz/crcs/ectester/standalone/output/XMLTestWriter.java index f1503cb4..96066460 100644 --- a/src/cz/crcs/ectester/standalone/output/XMLTestWriter.java +++ b/src/cz/crcs/ectester/standalone/output/XMLTestWriter.java @@ -24,6 +24,9 @@ public XMLTestWriter(OutputStream output) throws ParserConfigurationException { private Element pkeyElement(PublicKey pkey) { Element pubkey = doc.createElement("pubkey"); + if (pkey == null) { + return pubkey; + } pubkey.setAttribute("algorithm", pkey.getAlgorithm()); pubkey.setAttribute("format", pkey.getFormat()); pubkey.setTextContent(ByteUtil.bytesToHex(pkey.getEncoded())); @@ -32,6 +35,9 @@ private Element pkeyElement(PublicKey pkey) { private Element skeyElement(PrivateKey skey) { Element privkey = doc.createElement("privkey"); + if (skey == null) { + return privkey; + } privkey.setAttribute("algorithm", skey.getAlgorithm()); privkey.setAttribute("format", skey.getFormat()); privkey.setTextContent(ByteUtil.bytesToHex(skey.getEncoded())); @@ -62,13 +68,15 @@ private Element kgtElement(KeyGeneratorTestable kgt) { kgtElem.setAttribute("algo", kgt.getKpg().getAlgorithm()); Element keyPair = doc.createElement("key-pair"); - PublicKey pkey = kgt.getKeyPair().getPublic(); - Element pubkey = pkeyElement(pkey); - keyPair.appendChild(pubkey); - - PrivateKey skey = kgt.getKeyPair().getPrivate(); - Element privkey = skeyElement(skey); - keyPair.appendChild(privkey); + if (kgt.getKeyPair() != null) { + PublicKey pkey = kgt.getKeyPair().getPublic(); + Element pubkey = pkeyElement(pkey); + keyPair.appendChild(pubkey); + + PrivateKey skey = kgt.getKeyPair().getPrivate(); + Element privkey = skeyElement(skey); + keyPair.appendChild(privkey); + } kgtElem.appendChild(keyPair); return kgtElem; diff --git a/src/cz/crcs/ectester/standalone/output/YAMLTestWriter.java b/src/cz/crcs/ectester/standalone/output/YAMLTestWriter.java index 7ede623c..2133a8e2 100644 --- a/src/cz/crcs/ectester/standalone/output/YAMLTestWriter.java +++ b/src/cz/crcs/ectester/standalone/output/YAMLTestWriter.java @@ -8,6 +8,7 @@ import cz.crcs.ectester.standalone.test.SignatureTestable; import java.io.PrintStream; +import java.security.Key; import java.security.PrivateKey; import java.security.PublicKey; import java.util.HashMap; @@ -21,32 +22,52 @@ public YAMLTestWriter(PrintStream output) { super(output); } + private Map keyObject(Key key) { + Map kObject = new HashMap<>(); + if (key == null) { + return kObject; + } + kObject.put("algo", key.getAlgorithm()); + kObject.put("format", key.getFormat()); + kObject.put("raw", ByteUtil.bytesToHex(key.getEncoded())); + return kObject; + } + private Map kaObject(KeyAgreementTestable kat) { Map katObject = new HashMap<>(); + katObject.put("algo", kat.getKa().getAlgorithm()); katObject.put("secret", ByteUtil.bytesToHex(kat.getSecret())); + + PublicKey pkey = kat.getPublicKey(); + katObject.put("pubkey", keyObject(pkey)); + + PrivateKey skey = kat.getPrivateKey(); + katObject.put("privkey", keyObject(skey)); return katObject; } private Map kgtObject(KeyGeneratorTestable kgt) { Map kgtObject = new HashMap<>(); - Map pubObject = new HashMap<>(); - PublicKey pkey = kgt.getKeyPair().getPublic(); - pubObject.put("algorithm", pkey.getAlgorithm()); - pubObject.put("format", pkey.getFormat()); - pubObject.put("raw", ByteUtil.bytesToHex(pkey.getEncoded())); - kgtObject.put("pubkey", pubObject); + kgtObject.put("algo", kgt.getKpg().getAlgorithm()); + + Map keypair = new HashMap<>(); + if (kgt.getKeyPair() != null) { + PublicKey pkey = kgt.getKeyPair().getPublic(); + Map pubObject = keyObject(pkey); + keypair.put("pubkey", pubObject); + + PrivateKey skey = kgt.getKeyPair().getPrivate(); + Map privObject = keyObject(skey); + keypair.put("privkey", privObject); + } - Map privObject = new HashMap<>(); - PrivateKey skey = kgt.getKeyPair().getPrivate(); - privObject.put("algorithm", skey.getAlgorithm()); - privObject.put("format", skey.getFormat()); - privObject.put("raw", ByteUtil.bytesToHex(skey.getEncoded())); - kgtObject.put("privkey", privObject); + kgtObject.put("keypair", keypair); return kgtObject; } private Map sigObject(SignatureTestable sig) { Map sigObject = new HashMap<>(); + sigObject.put("algo", sig.getSig().getAlgorithm()); sigObject.put("verified", sig.getVerified()); sigObject.put("raw", ByteUtil.bytesToHex(sig.getSignature())); return sigObject; diff --git a/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java b/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java index e273a44c..16a20801 100644 --- a/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java +++ b/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java @@ -43,7 +43,7 @@ public static KeyAgreementTest function(KeyAgreementTestable ka, TestCallback Date: Wed, 3 Jan 2018 22:25:02 +0100 Subject: [PATCH 71/91] Fix YAML export and standalone build. --- build-standalone.xml | 6 ++++-- src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java | 2 +- src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/build-standalone.xml b/build-standalone.xml index a4bb4343..dcfb1f36 100644 --- a/build-standalone.xml +++ b/build-standalone.xml @@ -93,8 +93,10 @@ - + + + diff --git a/src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java b/src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java index 955a1449..e9c293f3 100644 --- a/src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java +++ b/src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java @@ -33,7 +33,7 @@ public void begin(TestSuite suite) { testSuite.put("desc", suite.getDescription()); testRun.put("suite", testSuite); - testRun.put("run", tests); + testRun.put("tests", tests); } abstract protected Map testableObject(Testable t); diff --git a/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java b/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java index 16a20801..5f697c4a 100644 --- a/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java +++ b/src/cz/crcs/ectester/standalone/test/KeyAgreementTest.java @@ -20,9 +20,9 @@ public static KeyAgreementTest match(KeyAgreementTestable ka, byte[] expectedSec @Override public Result apply(KeyAgreementTestable ka) { if (Arrays.equals(ka.getSecret(), expectedSecret)) { - return new Result(Result.Value.SUCCESS); + return new Result(Result.Value.SUCCESS, "The KeyAgreement result matched the expected derived secret."); } else { - return new Result(Result.Value.FAILURE); + return new Result(Result.Value.FAILURE, "The KeyAgreement result did not match the expected derived secret."); } } }); From 3a654a1b6919c8d4c5982dac645c227a8ff2c5f1 Mon Sep 17 00:00:00 2001 From: J08nY Date: Fri, 5 Jan 2018 15:56:34 +0100 Subject: [PATCH 72/91] Throw exceptions when operations fail in standalone providers. --- .../ectester/standalone/libs/jni/botan.cpp | 53 ++++++++++++++----- .../ectester/standalone/libs/jni/c_utils.c | 7 ++- .../ectester/standalone/libs/jni/c_utils.h | 15 +++++- .../standalone/libs/jni/cpp_utils.cpp | 5 ++ .../standalone/libs/jni/cpp_utils.hpp | 15 +++++- .../ectester/standalone/libs/jni/tomcrypt.c | 7 +-- util/plot_dh.py | 3 ++ util/plot_gen.py | 3 ++ 8 files changed, 86 insertions(+), 22 deletions(-) diff --git a/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp b/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp index f87d68be..8e666d62 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp +++ b/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp @@ -347,14 +347,19 @@ static jobject generate_from_group(JNIEnv* env, jobject self, Botan::EC_Group gr env->ReleaseStringUTFChars(type, type_data); std::unique_ptr skey; - if (type_str == "ECDH") { - skey = std::make_unique(rng, group); - } else if (type_str == "ECDSA") { - skey = std::make_unique(rng, group); - } else if (type_str == "ECKCDSA") { - skey = std::make_unique(rng, group); - } else if (type_str == "ECGDSA") { - skey = std::make_unique(rng, group); + try { + if (type_str == "ECDH") { + skey = std::make_unique(rng, group); + } else if (type_str == "ECDSA") { + skey = std::make_unique(rng, group); + } else if (type_str == "ECKCDSA") { + skey = std::make_unique(rng, group); + } else if (type_str == "ECGDSA") { + skey = std::make_unique(rng, group); + } + } catch (Botan::Exception & ex) { + throw_new(env, "java/security/GeneralSecurityException", ex.what()); + return NULL; } jobject ec_param_spec = params_from_group(env, group); @@ -403,7 +408,8 @@ JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPai return generate_from_group(env, self, curve_group); } } - //TODO throw an exception here? InvalidAlgorithmParameters one? + + throw_new(env, "java/security/InvalidAlgorithmParameterException", "Curve not found."); return NULL; } @@ -469,13 +475,17 @@ JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKey } else if (type_str == "ECDHwithSHA512KDF") { kdf = "KDF1(SHA-512)"; key_len = 64; - } else { - //TODO what? } Botan::PK_Key_Agreement ka(skey, rng, kdf); - std::vector derived = Botan::unlock(ka.derive_key(key_len, pkey.public_value()).bits_of()); + std::vector derived; + try { + derived = Botan::unlock(ka.derive_key(key_len, pkey.public_value()).bits_of()); + } catch (Botan::Exception & ex) { + throw_new(env, "java/security/GeneralSecurityException", ex.what()); + return NULL; + } jbyteArray result = env->NewByteArray(derived.size()); jbyte *result_data = env->GetByteArrayElements(result, NULL); std::copy(derived.begin(), derived.end(), result_data); @@ -534,7 +544,14 @@ JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSig jsize data_length = env->GetArrayLength(data); jbyte *data_bytes = env->GetByteArrayElements(data, NULL); - std::vector sig = signer.sign_message((uint8_t*) data_bytes, data_length, rng); + std::vector sig; + try { + sig = signer.sign_message((uint8_t*) data_bytes, data_length, rng); + } catch (Botan::Exception & ex) { + throw_new(env, "java/security/GeneralSecurityException", ex.what()); + env->ReleaseByteArrayElements(data, data_bytes, JNI_ABORT); + return NULL; + } env->ReleaseByteArrayElements(data, data_bytes, JNI_ABORT); jbyteArray result = env->NewByteArray(sig.size()); @@ -596,7 +613,15 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSigna jbyte *data_bytes = env->GetByteArrayElements(data, NULL); jbyte *sig_bytes = env->GetByteArrayElements(signature, NULL); - bool result = verifier.verify_message((uint8_t*)data_bytes, data_length, (uint8_t*)sig_bytes, sig_length); + bool result; + try { + result = verifier.verify_message((uint8_t*)data_bytes, data_length, (uint8_t*)sig_bytes, sig_length); + } catch (Botan::Exception & ex) { + throw_new(env, "java/security/GeneralSecurityException", ex.what()); + env->ReleaseByteArrayElements(data, data_bytes, JNI_ABORT); + env->ReleaseByteArrayElements(signature, sig_bytes, JNI_ABORT); + return JNI_FALSE; + } env->ReleaseByteArrayElements(data, data_bytes, JNI_ABORT); env->ReleaseByteArrayElements(signature, sig_bytes, JNI_ABORT); if (result) { diff --git a/src/cz/crcs/ectester/standalone/libs/jni/c_utils.c b/src/cz/crcs/ectester/standalone/libs/jni/c_utils.c index 230f516b..336f4a15 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/c_utils.c +++ b/src/cz/crcs/ectester/standalone/libs/jni/c_utils.c @@ -58,4 +58,9 @@ void init_classes(JNIEnv *env, const char* lib_name) { jclass local_illegal_state_exception_class = (*env)->FindClass(env, "java/lang/IllegalStateException"); illegal_state_exception_class = (*env)->NewGlobalRef(env, local_illegal_state_exception_class); -} \ No newline at end of file +} + +void throw_new(JNIEnv *env, const char *class, const char *message) { + jclass clazz = (*env)->FindClass(env, class); + (*env)->ThrowNew(env, clazz, message); +} diff --git a/src/cz/crcs/ectester/standalone/libs/jni/c_utils.h b/src/cz/crcs/ectester/standalone/libs/jni/c_utils.h index edd0bdaa..d925dfe6 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/c_utils.h +++ b/src/cz/crcs/ectester/standalone/libs/jni/c_utils.h @@ -1,5 +1,10 @@ +#pragma once + #include "native.h" +/** + * Classes that are accessed alot are cached here, manually. + */ extern jclass ec_parameter_spec_class; extern jclass ecgen_parameter_spec_class; extern jclass pubkey_class; @@ -12,4 +17,12 @@ extern jclass point_class; extern jclass biginteger_class; extern jclass illegal_state_exception_class; -void init_classes(JNIEnv *env, const char* lib_name); \ No newline at end of file +/** + * Initialize the classes. + */ +void init_classes(JNIEnv *env, const char* lib_name); + +/** + * Throw a new exception of class with message. + */ +void throw_new(JNIEnv *env, const char *class, const char *message); \ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/libs/jni/cpp_utils.cpp b/src/cz/crcs/ectester/standalone/libs/jni/cpp_utils.cpp index ed59d51b..cef4bfe1 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/cpp_utils.cpp +++ b/src/cz/crcs/ectester/standalone/libs/jni/cpp_utils.cpp @@ -51,4 +51,9 @@ void init_classes(JNIEnv *env, std::string lib_name) { jclass local_illegal_state_exception_class = env->FindClass("java/lang/IllegalStateException"); illegal_state_exception_class = (jclass) env->NewGlobalRef(local_illegal_state_exception_class); +} + +void throw_new(JNIEnv *env, const std::string& klass, const std::string& message) { + jclass clazz = env->FindClass(klass.c_str()); + env->ThrowNew(clazz, message.c_str()); } \ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/libs/jni/cpp_utils.hpp b/src/cz/crcs/ectester/standalone/libs/jni/cpp_utils.hpp index d0bf8f29..bbca521b 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/cpp_utils.hpp +++ b/src/cz/crcs/ectester/standalone/libs/jni/cpp_utils.hpp @@ -1,6 +1,11 @@ +#pragma once + #include "native.h" #include +/** + * Classes that are accessed alot are cached here, manually. + */ extern jclass ec_parameter_spec_class; extern jclass ecgen_parameter_spec_class; extern jclass pubkey_class; @@ -13,4 +18,12 @@ extern jclass point_class; extern jclass biginteger_class; extern jclass illegal_state_exception_class; -void init_classes(JNIEnv *env, std::string lib_name); \ No newline at end of file +/** + * Initialize the classes. + */ +void init_classes(JNIEnv *env, std::string lib_name); + +/** + * Throw a new exception of class with message. + */ +void throw_new(JNIEnv *env, const std::string& klass, const std::string& message); \ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c index 0fb69a35..29ee7076 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c +++ b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c @@ -229,11 +229,6 @@ static ltc_ecc_set_type* create_curve(JNIEnv *env, jobject params) { return curve; } -static void throw_new(JNIEnv *env, const char *class, const char *message) { - jclass clazz = (*env)->FindClass(env, class); - (*env)->ThrowNew(env, clazz, message); -} - static jobject generate_from_curve(JNIEnv *env, const ltc_ecc_set_type *curve) { ecc_key key; int err; @@ -280,6 +275,7 @@ JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPai } if (curve->size == 0) { + throw_new(env, "java/security/InvalidAlgorithmParameterException", "Curve for given bitsize not found."); return NULL; } @@ -307,6 +303,7 @@ JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPai return generate_from_curve(env, curve); } else { + throw_new(env, "java/security/InvalidAlgorithmParameterException", "Curve not found."); return NULL; } } diff --git a/util/plot_dh.py b/util/plot_dh.py index 8c1dfff2..23546882 100755 --- a/util/plot_dh.py +++ b/util/plot_dh.py @@ -20,6 +20,7 @@ if __name__ == "__main__": parser = argparse.ArgumentParser(description="Plot ECTester ECDH timing.") parser.add_argument("-o", "--output", dest="output", type=argparse.FileType("wb"), help="Write image to [file], do not display.", metavar="file") + parser.add_argument("--skip-first", dest="skip_first", action="store_true", help="Skip first entry, as it's usually a large outlier.") parser.add_argument("file", type=str, help="The file to plot(csv).") opts = parser.parse_args() @@ -30,6 +31,8 @@ hx = lambda x: int(x, 16) data = np.genfromtxt(opts.file, delimiter=";", skip_header=1, converters={2: hx, 3: hx, 4: hx}, dtype=np.dtype([("index","u4"), ("time","u4"), ("pub", "O"), ("priv", "O"), ("secret","O")])) + if opts.skip_first: + data = data[1:] if "nano" in header_names[1]: unit = r"$\mu s$" diff --git a/util/plot_gen.py b/util/plot_gen.py index 016dd15d..12f70893 100755 --- a/util/plot_gen.py +++ b/util/plot_gen.py @@ -23,6 +23,7 @@ parser.add_argument("--pub", dest="pub", action="store_true", help="Show public key scatter plot.") parser.add_argument("--priv", dest="priv", action="store_true", help="Show private key scatter plot.") parser.add_argument("--hist", dest="hist", action="store_true", help="Show histogram.") + parser.add_argument("--skip-first", dest="skip_first", action="store_true", help="Skip first entry, as it's usually a large outlier.") parser.add_argument("file", type=str, help="The file to plot(csv).") opts = parser.parse_args() @@ -39,6 +40,8 @@ hx = lambda x: int(x, 16) data = np.genfromtxt(opts.file, delimiter=";", skip_header=1, converters={2: hx, 3: hx}, dtype=np.dtype([("index","u4"), ("time","u4"), ("pub", "O"), ("priv", "O")])) + if opts.skip_first: + data = data[1:] if "nano" in header_names[1]: unit = r"$\mu s$" From 2ddee6844806f18d26b3e58a069e9aac3f61b72f Mon Sep 17 00:00:00 2001 From: J08nY Date: Fri, 5 Jan 2018 16:18:25 +0100 Subject: [PATCH 73/91] Update curve docs. --- docs/CURVES.md | 40 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/docs/CURVES.md b/docs/CURVES.md index d1749dfb..4a80d49b 100644 --- a/docs/CURVES.md +++ b/docs/CURVES.md @@ -1,15 +1,47 @@ # Curves -## anomalous +## SECG +SEC 2: Recommended Elliptic Curve Domain Parameters version 2.0 January 27, 2010 + +[Source](http://www.secg.org/sec2-v2.pdf) + +## NIST +RECOMMENDED ELLIPTIC CURVES FOR FEDERAL GOVERNMENT USE July 1999 + +[Source](http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf) + +## x962 +ANSI X9.62 example curves. ## Brainpool +ECC Brainpool Standard Curves and Curve Generation v. 1.0 19.10.2005 + +[Source](http://www.ecc-brainpool.org/download/Domain-parameters.pdf) + +## anssi +Agence nationale de la sécurité des systèmes d'information: Publication d'un paramétrage de courbe elliptique visant des applications de passeport électronique et de l'administration électronique française. 21 November 2011 + +## GOST +GOST R 34.10-2001: RFC5832 curves. + +[Source](https://tools.ietf.org/html/rfc5832) + +## anomalous +These prime field curves have the same order as the field order, and are susceptible to attacks reducing ECDLP over a multiplicative group of the curve, to DLP over an additive group of the underlying field, which is easy (linear time). + +Some of these are from Atsuko Miyaji's [paper](https://dspace.jaist.ac.jp/dspace/bitstream/10119/4464/1/73-61.pdf), others were generated using [ecgen](htps://github.com/J08nY/ecgen). ## invalid +This category contains pre-generated invalid curves for a large subset of NIST, SECG and Brainpool curves. Invalid curves for a given curve, are short Weierstrass curves with all parameters equal to the given curve except the `b` parameter. These curves can be used to [attack some implementations](https://www.nds.rub.de/media/nds/veroeffentlichungen/2015/09/14/main-full.pdf). -## NIST +Generated using [ecgen](https://github.com/J08nY/ecgen) -## nonprime +## composite +Contains curves of composite order, with small order points. -## SECG +Generated using [ecgen](https://github.com/J08nY/ecgen) ## wrong +Contains parameters that are not elliptic curves(over Fp and F2m), such as `p` parameter that is not prime, irreducible polynomial that is not irreducible and similar. + +Generated manually. \ No newline at end of file From 03ec7382a82d411bd5d16ed0c5f12c28a42c62c2 Mon Sep 17 00:00:00 2001 From: J08nY Date: Fri, 5 Jan 2018 17:18:44 +0100 Subject: [PATCH 74/91] Fix YAML output key mis-rename. --- src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java | 2 +- src/cz/crcs/ectester/reader/ECTesterReader.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java b/src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java index e9c293f3..af769277 100644 --- a/src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java +++ b/src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java @@ -48,7 +48,7 @@ private Map testObject(Test t) { for (Test innerTest : test.getTests()) { innerTests.add(testObject(innerTest)); } - testObj.put("run", innerTests); + testObj.put("tests", innerTests); } else { SimpleTest test = (SimpleTest) t; testObj = testableObject(test.getTestable()); diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index 63c779ca..48d34b35 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -364,7 +364,8 @@ private void export() throws CardException, IOException { private void generate() throws CardException, IOException { byte keyClass = cfg.primeField ? KeyPair.ALG_EC_FP : KeyPair.ALG_EC_F2M; - new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_LOCAL, (short) cfg.bits, keyClass).send(); + Response allocate = new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_LOCAL, (short) cfg.bits, keyClass).send(); + respWriter.outputResponse(allocate); Command curve = Command.prepareCurve(cardManager, dataStore, cfg, ECTesterApplet.KEYPAIR_LOCAL, (short) cfg.bits, keyClass); FileWriter keysFile = new FileWriter(cfg.output); From 7e83e25bebb37a91d4278bbc1fe1c4ad5ec9c7c2 Mon Sep 17 00:00:00 2001 From: J08nY Date: Fri, 5 Jan 2018 17:27:54 +0100 Subject: [PATCH 75/91] Make test output show natural sw. --- src/cz/crcs/ectester/reader/output/ResponseWriter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cz/crcs/ectester/reader/output/ResponseWriter.java b/src/cz/crcs/ectester/reader/output/ResponseWriter.java index f8837f83..85bf79a2 100644 --- a/src/cz/crcs/ectester/reader/output/ResponseWriter.java +++ b/src/cz/crcs/ectester/reader/output/ResponseWriter.java @@ -24,7 +24,7 @@ public String responseSuffix(Response r) { } } if (suffix.length() == 0) { - suffix.append(" [").append(CardUtil.getSW(r.getNaturalSW())).append("]"); + suffix.append(" [").append(CardUtil.getSW(r.getNaturalSW())).append(String.format(" 0x%04x", r.getNaturalSW())).append("]"); } return String.format("%4d ms ┃ %s", r.getDuration() / 1000000, suffix); } From d19d8ad062a3c0053789eae5f7c9662399f781e0 Mon Sep 17 00:00:00 2001 From: J08nY Date: Mon, 8 Jan 2018 23:00:48 +0100 Subject: [PATCH 76/91] Remove reader scripts. --- build-reader.xml | 2 + .../crcs/ectester/reader/ECTesterReader.java | 1 - .../crcs/ectester/scripts/ectester-reader.bat | 34 ------------- .../crcs/ectester/scripts/ectester-reader.sh | 48 ------------------- 4 files changed, 2 insertions(+), 83 deletions(-) delete mode 100644 src/cz/crcs/ectester/scripts/ectester-reader.bat delete mode 100755 src/cz/crcs/ectester/scripts/ectester-reader.sh diff --git a/build-reader.xml b/build-reader.xml index 98cdef49..11d61453 100644 --- a/build-reader.xml +++ b/build-reader.xml @@ -75,10 +75,12 @@ + diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index 48d34b35..d4b95ed8 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -62,7 +62,6 @@ * @version v0.1.0 */ public class ECTesterReader { - private CardMngr cardManager; private OutputLogger logger; private TestWriter testWriter; diff --git a/src/cz/crcs/ectester/scripts/ectester-reader.bat b/src/cz/crcs/ectester/scripts/ectester-reader.bat deleted file mode 100644 index 876fda75..00000000 --- a/src/cz/crcs/ectester/scripts/ectester-reader.bat +++ /dev/null @@ -1,34 +0,0 @@ -@ECHO OFF -SETLOCAL enabledelayedexpansion - -SET n=0 -:loop -IF NOT "%1"=="" ( - IF "%1"=="--dangerous" ( - SET dangerous=1 - ) ELSE ( - SET positional[!n!]=%1 - SET /A n+=1 - ) - SHIFT - GOTO :loop -) - -IF NOT "%n%"=="1" ( - ECHO "One argument expected:" - ECHO " ./ectester-reader.bat [--dangerous] CARD_NAME" -) - -SET card=!positional[%%0]! - -SET tests="default test-vectors" -java -jar ECTesterReader.jar -t default -a --format yaml -l %card%.default -java -jar ECTesterReader.jar -t test-vectors -a --format yaml -l %card%.test-vectors -IF "%dangerous%"=="1" ( - SET tests=%tests% "invalid wrong composite" - java -jar ECTesterReader.jar -t invalid -a --format yaml -l %card%.invalid - java -jar ECTesterReader.jar -t wrong -a --format yaml -l %card%.wrong - java -jar ECTesterReader.jar -t composite -a --format yaml -l %card%.composite -) - -zip %card%.zip %tests% diff --git a/src/cz/crcs/ectester/scripts/ectester-reader.sh b/src/cz/crcs/ectester/scripts/ectester-reader.sh deleted file mode 100755 index e6458c9d..00000000 --- a/src/cz/crcs/ectester/scripts/ectester-reader.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash - -dangerous="0" - -positional=() -while [[ $# -gt 0 ]] -do - -key="$1" -case $key in - --dangerous) - dangerous=1 - shift - ;; - *) - positional+=("$1") - shift - ;; -esac -done -set -- "${positional[@]}" - -if [[ $# -lt 1 ]]; then - echo "At least one argument expected:" >&2 - echo " ./ectester-reader.sh [--dangerous] CARD_NAME [ECTester args]" >&2 - exit 1 -fi - -card="$1" -shift - -declare -a tests=("default" "test-vectors") -if [[ "$dangerous" == "1" ]]; then - tests+=("invalid" "wrong" "composite") -fi - -declare -a files=() -for i in $(seq 0 $((${#tests[@]} - 1))); do - test="${tests[$i]}" - java -jar ECTester.jar -t ${test} -a --format yaml -l ${card}.${test} $@ - files+=(${card}.$test) -done - -if command -v tar 2>&1 >/dev/null; then - tar -czvf ${card}.tar.gz ${files[*]} -elif command -v zip 2>&1 >/dev/null; then - zip ${card}.zip ${files[*]} -fi From 94e441b522069d3fed4b88a4823b91c1593bac68 Mon Sep 17 00:00:00 2001 From: J08nY Date: Tue, 9 Jan 2018 13:46:29 +0100 Subject: [PATCH 77/91] Simplify test suites. --- .../crcs/ectester/applet/ECTesterApplet.java | 1 - src/cz/crcs/ectester/applet/EC_Consts.java | 23 +++++- .../crcs/ectester/common/cli/TreeParser.java | 8 ++ .../ectester/common/test/BaseRunnable.java | 31 ------- .../crcs/ectester/common/test/Runnable.java | 18 ----- .../crcs/ectester/common/test/TestRunner.java | 29 ------- .../crcs/ectester/common/test/TestSuite.java | 35 +++++--- .../crcs/ectester/common/test/Testable.java | 13 ++- src/cz/crcs/ectester/data/EC_Store.java | 16 ++-- .../crcs/ectester/reader/ECTesterReader.java | 77 +++++++++--------- .../reader/test/CardCompositeCurvesSuite.java | 31 ++++--- .../reader/test/CardDefaultSuite.java | 81 +++++++++---------- .../reader/test/CardInvalidCurvesSuite.java | 34 ++++---- .../ectester/reader/test/CardTestSuite.java | 33 ++++---- .../reader/test/CardTestVectorSuite.java | 39 +++++---- .../reader/test/CardWrongCurvesSuite.java | 48 ++++++++--- .../standalone/ECTesterStandalone.java | 17 ++-- .../test/StandaloneDefaultSuite.java | 18 ++--- .../standalone/test/StandaloneTestSuite.java | 7 +- 19 files changed, 265 insertions(+), 294 deletions(-) delete mode 100644 src/cz/crcs/ectester/common/test/BaseRunnable.java delete mode 100644 src/cz/crcs/ectester/common/test/Runnable.java delete mode 100644 src/cz/crcs/ectester/common/test/TestRunner.java diff --git a/src/cz/crcs/ectester/applet/ECTesterApplet.java b/src/cz/crcs/ectester/applet/ECTesterApplet.java index 870fb3d0..71d9d567 100644 --- a/src/cz/crcs/ectester/applet/ECTesterApplet.java +++ b/src/cz/crcs/ectester/applet/ECTesterApplet.java @@ -83,7 +83,6 @@ public class ECTesterApplet extends Applet implements ExtendedLength { public static final byte KeyAgreement_ALG_EC_SVDP_DHC_PLAIN = 4; public static final byte KeyAgreement_ALG_EC_PACE_GM = 5; public static final byte KeyAgreement_ALG_EC_SVDP_DH_PLAIN_XY = 6; - public static final byte KeyAgreement_ALG_DH_PLAIN = 7; // Class javacard.security.Signature // javacard.security.Signature Fields: diff --git a/src/cz/crcs/ectester/applet/EC_Consts.java b/src/cz/crcs/ectester/applet/EC_Consts.java index 15cb7faa..4581fd6e 100644 --- a/src/cz/crcs/ectester/applet/EC_Consts.java +++ b/src/cz/crcs/ectester/applet/EC_Consts.java @@ -1002,7 +1002,7 @@ public class EC_Consts { public static final byte CURVE_default = (byte) 0; public static final byte CURVE_external = (byte) 0xff; - // SECP recommended curves over FP + // SECG recommended curves over FP public static final byte CURVE_secp112r1 = (byte) 1; public static final byte CURVE_secp128r1 = (byte) 2; public static final byte CURVE_secp160r1 = (byte) 3; @@ -1014,7 +1014,7 @@ public class EC_Consts { public static final byte FP_CURVES = (byte) 8; - // SECP recommended curves over F2M + // SECG recommended curves over F2M public static final byte CURVE_sect163r1 = (byte) 9; public static final byte CURVE_sect233r1 = (byte) 10; public static final byte CURVE_sect283r1 = (byte) 11; @@ -1026,6 +1026,25 @@ public class EC_Consts { public static final short[] FP_SIZES = new short[]{112, 128, 160, 192, 224, 256, 384, 521}; public static final short[] F2M_SIZES = new short[]{163, 233, 283, 409, 571}; + public static final byte[] KA_TYPES = new byte[]{ + ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH, + //ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH_KDF, //duplicate + ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DHC, + //ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DHC_KDF, //duplicate + ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH_PLAIN, + ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DHC_PLAIN, + ECTesterApplet.KeyAgreement_ALG_EC_PACE_GM, + ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH_PLAIN_XY + }; + + public static final byte[] SIG_TYPES = new byte[]{ + ECTesterApplet.Signature_ALG_ECDSA_SHA, + ECTesterApplet.Signature_ALG_ECDSA_SHA_224, + ECTesterApplet.Signature_ALG_ECDSA_SHA_256, + ECTesterApplet.Signature_ALG_ECDSA_SHA_384, + ECTesterApplet.Signature_ALG_ECDSA_SHA_512 + }; + public static byte getCurve(short keyLength, byte keyClass) { if (keyClass == KeyPair.ALG_EC_FP) { switch (keyLength) { diff --git a/src/cz/crcs/ectester/common/cli/TreeParser.java b/src/cz/crcs/ectester/common/cli/TreeParser.java index 77cce30e..f1a1980d 100644 --- a/src/cz/crcs/ectester/common/cli/TreeParser.java +++ b/src/cz/crcs/ectester/common/cli/TreeParser.java @@ -86,6 +86,7 @@ public TreeCommandLine parse(Options options, String[] arguments, Properties pro } } + int maxArgs = args.size(); long requiredArgs = args.stream().filter(Argument::isRequired).count(); String reqArgs = String.join(" ", args.stream().filter(Argument::isRequired).map(Argument::getName).collect(Collectors.toList())); @@ -99,6 +100,8 @@ public TreeCommandLine parse(Options options, String[] arguments, Properties pro if (lastCli.getArgs().length < requiredArgs) { throw new MissingArgumentException("Not enough arguments: " + reqArgs); + } else if (lastCli.getArgs().length > maxArgs) { + throw new MissingArgumentException("Too many arguments."); } subTreeCli.setName(sub); @@ -106,6 +109,8 @@ public TreeCommandLine parse(Options options, String[] arguments, Properties pro } else if (subCli != null) { if (subCli.getArgs().length < requiredArgs) { throw new MissingArgumentException("Not enough arguments: " + reqArgs); + } else if (subCli.getArgs().length > maxArgs) { + throw new MissingArgumentException("Too many arguments."); } TreeCommandLine subTreeCli = new TreeCommandLine(sub, subCli, null); @@ -113,7 +118,10 @@ public TreeCommandLine parse(Options options, String[] arguments, Properties pro } else { if (cliArgs.length < requiredArgs) { throw new MissingArgumentException("Not enough arguments: " + reqArgs); + } else if (cliArgs.length > maxArgs) { + throw new MissingArgumentException("Too many arguments."); } + return new TreeCommandLine(cli, null); } } diff --git a/src/cz/crcs/ectester/common/test/BaseRunnable.java b/src/cz/crcs/ectester/common/test/BaseRunnable.java deleted file mode 100644 index 3e182083..00000000 --- a/src/cz/crcs/ectester/common/test/BaseRunnable.java +++ /dev/null @@ -1,31 +0,0 @@ -package cz.crcs.ectester.common.test; - -/** - * @author Jan Jancar johny@neuromancer.sk - */ -public class BaseRunnable implements Runnable { - private boolean hasRun = false; - private Func runImplicit; - - public BaseRunnable(Func runImplicit) { - this.runImplicit = runImplicit; - } - - @Override - public boolean hasRun() { - return hasRun; - } - - @Override - public void run() throws TestException { - if (!hasRun) { - runImplicit.run(); - } - hasRun = true; - } - - @FunctionalInterface - public interface Func { - void run() throws TestException; - } -} diff --git a/src/cz/crcs/ectester/common/test/Runnable.java b/src/cz/crcs/ectester/common/test/Runnable.java deleted file mode 100644 index 6f0efb0c..00000000 --- a/src/cz/crcs/ectester/common/test/Runnable.java +++ /dev/null @@ -1,18 +0,0 @@ -package cz.crcs.ectester.common.test; - -/** - * @author Jan Jancar johny@neuromancer.sk - */ -public interface Runnable { - /** - * @return Whether this runnable was run. - */ - boolean hasRun(); - - /** - * Run this Runnable. - * - * @throws TestException - */ - void run() throws TestException; -} diff --git a/src/cz/crcs/ectester/common/test/TestRunner.java b/src/cz/crcs/ectester/common/test/TestRunner.java deleted file mode 100644 index cd71bcda..00000000 --- a/src/cz/crcs/ectester/common/test/TestRunner.java +++ /dev/null @@ -1,29 +0,0 @@ -package cz.crcs.ectester.common.test; - -import cz.crcs.ectester.common.output.TestWriter; - -/** - * @author Jan Jancar johny@neuromancer.sk - */ -public class TestRunner { - private TestSuite suite; - private TestWriter writer; - - public TestRunner(TestSuite suite, TestWriter writer) { - this.suite = suite; - this.writer = writer; - } - - public void run() throws TestException { - writer.begin(suite); - for (Runnable t : suite.getRunnables()) { - if (!t.hasRun()) { - t.run(); - if (t instanceof Test) { - writer.outputTest((Test) t); - } - } - } - writer.end(); - } -} diff --git a/src/cz/crcs/ectester/common/test/TestSuite.java b/src/cz/crcs/ectester/common/test/TestSuite.java index 1a7c914a..f4f30eef 100644 --- a/src/cz/crcs/ectester/common/test/TestSuite.java +++ b/src/cz/crcs/ectester/common/test/TestSuite.java @@ -1,5 +1,6 @@ package cz.crcs.ectester.common.test; +import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.data.EC_Store; import java.util.Collections; @@ -13,27 +14,37 @@ public abstract class TestSuite { protected String name; protected String description; - protected List run = new LinkedList<>(); - protected EC_Store dataStore; + protected TestWriter writer; - public TestSuite(EC_Store dataStore, String name, String description) { - this.dataStore = dataStore; + public TestSuite(TestWriter writer, String name, String description) { + this.writer = writer; this.name = name; this.description = description; } - public List getRunnables() { - return Collections.unmodifiableList(run); + public void run() throws TestException { + writer.begin(this); + try { + runTests(); + } catch (Exception e) { + throw new TestException(e); + } + writer.end(); } - @SuppressWarnings("unchecked") - public List getTests() { - return Collections.unmodifiableList((List)(List) run - .stream() - .filter(runnable -> (runnable instanceof Test)) - .collect(Collectors.toList())); + protected Test runTest(Test t) throws TestException { + t.run(); + return t; } + protected Test doTest(Test t) throws TestException { + t.run(); + writer.outputTest(t); + return t; + } + + protected abstract void runTests() throws Exception; + public String getName() { return name; } diff --git a/src/cz/crcs/ectester/common/test/Testable.java b/src/cz/crcs/ectester/common/test/Testable.java index cc7a5ded..36270753 100644 --- a/src/cz/crcs/ectester/common/test/Testable.java +++ b/src/cz/crcs/ectester/common/test/Testable.java @@ -3,7 +3,7 @@ /** * @author Jan Jancar johny@neuromancer.sk */ -public interface Testable extends Runnable { +public interface Testable { /** * @return Whether this Testable was OK. */ @@ -13,4 +13,15 @@ public interface Testable extends Runnable { * @return Whether an error happened. */ boolean error(); + /** + * @return Whether this runnable was run. + */ + boolean hasRun(); + + /** + * Run this Runnable. + * + * @throws TestException + */ + void run() throws TestException; } diff --git a/src/cz/crcs/ectester/data/EC_Store.java b/src/cz/crcs/ectester/data/EC_Store.java index c25be4e5..e4ba40cf 100644 --- a/src/cz/crcs/ectester/data/EC_Store.java +++ b/src/cz/crcs/ectester/data/EC_Store.java @@ -1,8 +1,6 @@ package cz.crcs.ectester.data; -import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.common.ec.*; -import cz.crcs.ectester.common.util.CardUtil; import javacard.security.KeyPair; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -31,12 +29,11 @@ * @author Jan Jancar johny@neuromancer.sk */ public class EC_Store { - private DocumentBuilder db; - private Map categories; + private static EC_Store instance; - public EC_Store() throws IOException { + private EC_Store() { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); try { @@ -85,7 +82,7 @@ public InputSource resolveEntity(String publicId, String systemId) throws SAXExc }); parse(); - } catch (ParserConfigurationException | SAXException e) { + } catch (ParserConfigurationException | SAXException | IOException e) { e.printStackTrace(); } } @@ -322,4 +319,11 @@ public T getObject(Class objClass, String query) { return getObject(objClass, query.substring(0, split), query.substring(split + 1)); } + public static EC_Store getInstance() { + if (instance == null) { + instance = new EC_Store(); + } + return instance; + } + } diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index d4b95ed8..ff0f4038 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -28,7 +28,6 @@ import cz.crcs.ectester.common.output.OutputLogger; import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.common.test.TestException; -import cz.crcs.ectester.common.test.TestRunner; import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.common.util.CardUtil; import cz.crcs.ectester.data.EC_Store; @@ -64,9 +63,7 @@ public class ECTesterReader { private CardMngr cardManager; private OutputLogger logger; - private TestWriter testWriter; private ResponseWriter respWriter; - private EC_Store dataStore; private Config cfg; private Options opts = new Options(); @@ -100,10 +97,9 @@ private void run(String[] args) { return; } - dataStore = new EC_Store(); //if list, print and quit if (cli.hasOption("list-named")) { - CLITools.listNamed(dataStore, cli.getOptionValue("list-named")); + CLITools.listNamed(EC_Store.getInstance(), cli.getOptionValue("list-named")); return; } @@ -126,22 +122,7 @@ private void run(String[] args) { // Setup logger, testWriter and respWriter logger = new OutputLogger(true, cfg.log); - if (cfg.format == null) { - testWriter = new TextTestWriter(logger.getPrintStream()); - } else { - switch (cfg.format) { - case "text": - testWriter = new TextTestWriter(logger.getPrintStream()); - break; - case "xml": - testWriter = new XMLTestWriter(logger.getOutputStream()); - break; - case "yaml": - case "yml": - testWriter = new YAMLTestWriter(logger.getPrintStream()); - break; - } - } + respWriter = new ResponseWriter(logger.getPrintStream()); //do action @@ -363,9 +344,9 @@ private void export() throws CardException, IOException { private void generate() throws CardException, IOException { byte keyClass = cfg.primeField ? KeyPair.ALG_EC_FP : KeyPair.ALG_EC_F2M; - Response allocate = new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_LOCAL, (short) cfg.bits, keyClass).send(); - respWriter.outputResponse(allocate); - Command curve = Command.prepareCurve(cardManager, dataStore, cfg, ECTesterApplet.KEYPAIR_LOCAL, (short) cfg.bits, keyClass); + Response allocate = new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_LOCAL, (short) cfg.bits, keyClass).send(); + respWriter.outputResponse(allocate); + Command curve = Command.prepareCurve(cardManager, EC_Store.getInstance(), cfg, ECTesterApplet.KEYPAIR_LOCAL, (short) cfg.bits, keyClass); FileWriter keysFile = new FileWriter(cfg.output); keysFile.write("index;time;pubW;privS\n"); @@ -414,15 +395,33 @@ private void generate() throws CardException, IOException { * @throws CardException if APDU transmission fails * @throws IOException if an IO error occurs when writing to key file. */ - private void test() throws IOException, TestException { + private void test() throws IOException, TestException, ParserConfigurationException { + TestWriter writer = null; + if (cfg.format == null) { + writer = new TextTestWriter(logger.getPrintStream()); + } else { + switch (cfg.format) { + case "text": + writer = new TextTestWriter(logger.getPrintStream()); + break; + case "xml": + writer = new XMLTestWriter(logger.getOutputStream()); + break; + case "yaml": + case "yml": + writer = new YAMLTestWriter(logger.getPrintStream()); + break; + } + } + CardTestSuite suite; switch (cfg.testSuite) { case "default": - suite = new CardDefaultSuite(dataStore, cfg); + suite = new CardDefaultSuite(writer, cfg, cardManager); break; case "test-vectors": - suite = new CardTestVectorSuite(dataStore, cfg); + suite = new CardTestVectorSuite(writer, cfg, cardManager); break; default: // These run are dangerous, prompt before them. @@ -437,17 +436,15 @@ private void test() throws IOException, TestException { } in.close(); } - - switch (cfg.testSuite) { case "wrong": - suite = new CardWrongCurvesSuite(dataStore, cfg); + suite = new CardWrongCurvesSuite(writer, cfg, cardManager); break; case "composite": - suite = new CardCompositeCurvesSuite(dataStore, cfg); + suite = new CardCompositeCurvesSuite(writer, cfg, cardManager); break; case "invalid": - suite = new CardInvalidCurvesSuite(dataStore, cfg); + suite = new CardInvalidCurvesSuite(writer, cfg, cardManager); break; default: System.err.println("Unknown test suite."); @@ -456,9 +453,7 @@ private void test() throws IOException, TestException { break; } - TestRunner runner = new TestRunner(suite, testWriter); - suite.setup(cardManager); - runner.run(); + suite.run(); } /** @@ -472,7 +467,7 @@ private void ecdh() throws IOException, CardException { List prepare = new LinkedList<>(); prepare.add(new Command.AllocateKeyAgreement(cardManager, cfg.ECKAType).send()); // Prepare KeyAgreement or required type prepare.add(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, (short) cfg.bits, keyClass).send()); - Command curve = Command.prepareCurve(cardManager, dataStore, cfg, ECTesterApplet.KEYPAIR_BOTH, (short) cfg.bits, keyClass); + Command curve = Command.prepareCurve(cardManager, EC_Store.getInstance(), cfg, ECTesterApplet.KEYPAIR_BOTH, (short) cfg.bits, keyClass); if (curve != null) prepare.add(curve.send()); @@ -486,7 +481,7 @@ private void ecdh() throws IOException, CardException { List generate = new LinkedList<>(); generate.add(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_BOTH)); if (cfg.anyPublicKey || cfg.anyPrivateKey || cfg.anyKey) { - generate.add(Command.prepareKey(cardManager, dataStore, cfg, ECTesterApplet.KEYPAIR_REMOTE)); + generate.add(Command.prepareKey(cardManager, EC_Store.getInstance(), cfg, ECTesterApplet.KEYPAIR_REMOTE)); } FileWriter out = null; @@ -554,7 +549,7 @@ private void ecdsa() throws CardException, IOException { Command generate; if (cfg.anyKeypart) { - generate = Command.prepareKey(cardManager, dataStore, cfg, ECTesterApplet.KEYPAIR_LOCAL); + generate = Command.prepareKey(cardManager, EC_Store.getInstance(), cfg, ECTesterApplet.KEYPAIR_LOCAL); } else { generate = new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL); } @@ -563,7 +558,7 @@ private void ecdsa() throws CardException, IOException { List prepare = new LinkedList<>(); prepare.add(new Command.AllocateSignature(cardManager, cfg.ECDSAType).send()); prepare.add(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_LOCAL, (short) cfg.bits, keyClass).send()); - Command curve = Command.prepareCurve(cardManager, dataStore, cfg, ECTesterApplet.KEYPAIR_LOCAL, (short) cfg.bits, keyClass); + Command curve = Command.prepareCurve(cardManager, EC_Store.getInstance(), cfg, ECTesterApplet.KEYPAIR_LOCAL, (short) cfg.bits, keyClass); if (curve != null) prepare.add(curve.send()); @@ -620,7 +615,7 @@ public static void main(String[] args) { public static class Config { //Options - public int bits; + public short bits; public boolean all; public boolean primeField = false; public boolean binaryField = false; @@ -670,7 +665,7 @@ public static class Config { * @return whether the options are valid. */ boolean readOptions(CommandLine cli) { - bits = Integer.parseInt(cli.getOptionValue("bit-size", "0")); + bits = Short.parseShort(cli.getOptionValue("bit-size", "0")); all = cli.hasOption("all"); primeField = cli.hasOption("fp"); binaryField = cli.hasOption("f2m"); diff --git a/src/cz/crcs/ectester/reader/test/CardCompositeCurvesSuite.java b/src/cz/crcs/ectester/reader/test/CardCompositeCurvesSuite.java index 2c2ba266..a53806ca 100644 --- a/src/cz/crcs/ectester/reader/test/CardCompositeCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardCompositeCurvesSuite.java @@ -2,13 +2,13 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; -import cz.crcs.ectester.common.test.BaseRunnable; +import cz.crcs.ectester.common.ec.EC_Curve; +import cz.crcs.ectester.common.ec.EC_Key; +import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTesterReader; import cz.crcs.ectester.reader.command.Command; -import cz.crcs.ectester.common.ec.EC_Curve; -import cz.crcs.ectester.common.ec.EC_Key; import javacard.security.KeyPair; import java.util.Map; @@ -20,34 +20,31 @@ */ public class CardCompositeCurvesSuite extends CardTestSuite { - public CardCompositeCurvesSuite(EC_Store dataStore, ECTesterReader.Config cfg) { - super(dataStore, cfg, "composite", "The composite suite run ECDH over curves with composite order. This should generally fail, as using such a curve is unsafe."); + public CardCompositeCurvesSuite(TestWriter writer, ECTesterReader.Config cfg, CardMngr cardManager) { + super(writer, cfg, cardManager, "composite", "The composite suite run ECDH over curves with composite order. This should generally fail, as using such a curve is unsafe."); } @Override - public void setup(CardMngr cardManager) { + protected void runTests() throws Exception { /* Do the default run with the public keys set to provided smallorder keys * over composite order curves. Essentially small subgroup attacks. * These should fail, the curves aren't safe so that if the computation with * a small order public key succeeds the private key modulo the public key order * is revealed. */ - Map keys = dataStore.getObjects(EC_Key.class, "composite"); + Map keys = EC_Store.getInstance().getObjects(EC_Key.class, "composite"); for (EC_Key key : keys.values()) { - EC_Curve curve = dataStore.getObject(EC_Curve.class, key.getCurve()); - if (cfg.namedCurve != null && !(key.getCurve().startsWith(cfg.namedCurve) || key.getCurve().equals(cfg.namedCurve))) { - continue; - } + EC_Curve curve = EC_Store.getInstance().getObject(EC_Curve.class, key.getCurve()); if (curve.getField() == KeyPair.ALG_EC_FP && !cfg.primeField || curve.getField() == KeyPair.ALG_EC_F2M && !cfg.binaryField) { continue; } if ((curve.getBits() == cfg.bits || cfg.all)) { - run.add(CommandTest.expect(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); - run.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.ANY)); - run.add(CommandTest.expect(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.ANY)); - Command ecdhCommand = new Command.ECDH_direct(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH, key.flatten()); - run.add(CommandTest.expect(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected to do ECDH over a composite order curve.", "Card incorrectly does ECDH over a composite order curve, leaks bits of private key.")); - run.add(new BaseRunnable(() -> new Command.Cleanup(cardManager))); + doTest(CommandTest.expect(new Command.Allocate(this.card, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); + doTest(CommandTest.expect(new Command.Set(this.card, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.ANY)); + doTest(CommandTest.expect(new Command.Generate(this.card, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.ANY)); + Command ecdhCommand = new Command.ECDH_direct(this.card, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH, key.flatten()); + doTest(CommandTest.expect(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected to do ECDH over a composite order curve.", "Card incorrectly does ECDH over a composite order curve, leaks bits of private key.")); + new Command.Cleanup(this.card).send(); } } } diff --git a/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java b/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java index 7e7adbb1..9de741ce 100644 --- a/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java @@ -2,15 +2,15 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; -import cz.crcs.ectester.common.test.BaseRunnable; -import cz.crcs.ectester.data.EC_Store; +import cz.crcs.ectester.common.output.TestWriter; +import cz.crcs.ectester.common.test.CompoundTest; +import cz.crcs.ectester.common.test.Test; +import cz.crcs.ectester.common.util.CardUtil; import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTesterReader; import cz.crcs.ectester.reader.command.Command; import javacard.security.KeyPair; -import java.io.IOException; - import static cz.crcs.ectester.common.test.Result.ExpectedValue; /** @@ -18,53 +18,46 @@ */ public class CardDefaultSuite extends CardTestSuite { - public CardDefaultSuite(EC_Store dataStore, ECTesterReader.Config cfg) { - super(dataStore, cfg, "default", "The default test suite run basic support of ECDH and ECDSA."); + public CardDefaultSuite(TestWriter writer, ECTesterReader.Config cfg, CardMngr cardManager) { + super(writer, cfg, cardManager, "default", "The default test suite run basic support of ECDH and ECDSA."); } @Override - public void setup(CardMngr cardManager) throws IOException { - //run.add(CommandTest.expect(new Command.Support(cardManager), ExpectedValue.ANY)); - if (cfg.namedCurve != null) { - String desc = "Default run over the " + cfg.namedCurve + " curve category."; - if (cfg.primeField) { - run.addAll(defaultCategoryTests(cardManager, cfg.namedCurve, KeyPair.ALG_EC_FP, ExpectedValue.SUCCESS, ExpectedValue.SUCCESS, ExpectedValue.SUCCESS, ExpectedValue.ANY, ExpectedValue.SUCCESS, desc)); - } - if (cfg.binaryField) { - run.addAll(defaultCategoryTests(cardManager, cfg.namedCurve, KeyPair.ALG_EC_F2M, ExpectedValue.SUCCESS, ExpectedValue.SUCCESS, ExpectedValue.SUCCESS, ExpectedValue.ANY, ExpectedValue.SUCCESS, desc)); + protected void runTests() throws Exception { + if (cfg.primeField) { + runDefault(KeyPair.ALG_EC_FP); + } + if (cfg.binaryField) { + runDefault(KeyPair.ALG_EC_F2M); + } + } + + private void runDefault(byte field) throws Exception { + for (short keyLength : EC_Consts.FP_SIZES) { + Test key = doTest(CommandTest.expect(new Command.Allocate(this.card, ECTesterApplet.KEYPAIR_BOTH, keyLength, field), ExpectedValue.SUCCESS)); + if (!key.ok()) { + continue; } - } else { - if (cfg.all) { - if (cfg.primeField) { - //iterate over prime curve sizes used: EC_Consts.FP_SIZES - for (short keyLength : EC_Consts.FP_SIZES) { - defaultTests(cardManager, keyLength, KeyPair.ALG_EC_FP); - } + doTest(CommandTest.expect(new Command.Generate(this.card, ECTesterApplet.KEYPAIR_BOTH), ExpectedValue.SUCCESS)); + doTest(CommandTest.expect(new Command.Set(this.card, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.getCurve(keyLength, field), EC_Consts.PARAMETERS_DOMAIN_FP, null), ExpectedValue.SUCCESS)); + doTest(CommandTest.expect(new Command.Generate(this.card, ECTesterApplet.KEYPAIR_BOTH), ExpectedValue.SUCCESS)); + for (byte kaType : EC_Consts.KA_TYPES) { + Test allocate = CommandTest.expect(new Command.AllocateKeyAgreement(this.card, kaType), ExpectedValue.SUCCESS); + allocate.run(); + if (allocate.ok()) { + Test ka = CommandTest.expect(new Command.ECDH(this.card, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, kaType), ExpectedValue.SUCCESS); + ka.run(); + Test kaCompressed = CommandTest.expect(new Command.ECDH(this.card, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_COMPRESS, kaType), ExpectedValue.SUCCESS); + kaCompressed.run(); + doTest(CompoundTest.all(ExpectedValue.SUCCESS, "Test of the " + CardUtil.getKATypeString(kaType) + " KeyAgreement.", allocate, ka, kaCompressed)); } - if (cfg.binaryField) { - //iterate over binary curve sizes used: EC_Consts.F2M_SIZES - for (short keyLength : EC_Consts.F2M_SIZES) { - defaultTests(cardManager, keyLength, KeyPair.ALG_EC_F2M); - } - } - } else { - if (cfg.primeField) { - defaultTests(cardManager, (short) cfg.bits, KeyPair.ALG_EC_FP); - } - - if (cfg.binaryField) { - defaultTests(cardManager, (short) cfg.bits, KeyPair.ALG_EC_F2M); + } + for (byte sigType : EC_Consts.SIG_TYPES) { + Test allocate = doTest(CommandTest.expect(new Command.AllocateSignature(this.card, sigType), ExpectedValue.SUCCESS)); + if (allocate.ok()) { + doTest(CommandTest.expect(new Command.ECDSA(this.card, ECTesterApplet.KEYPAIR_LOCAL, sigType, ECTesterApplet.EXPORT_FALSE, null), ExpectedValue.SUCCESS)); } } } } - - private void defaultTests(CardMngr cardManager, short keyLength, byte keyType) throws IOException { - run.add(CommandTest.expect(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, keyLength, keyType), ExpectedValue.SUCCESS)); - Command curve = Command.prepareCurve(cardManager, dataStore, cfg, ECTesterApplet.KEYPAIR_BOTH, keyLength, keyType); - if (curve != null) - run.add(CommandTest.expect(curve, ExpectedValue.SUCCESS)); - run.add(defaultCurveTests(cardManager, ExpectedValue.SUCCESS, ExpectedValue.SUCCESS, ExpectedValue.ANY, ExpectedValue.SUCCESS, "Default run.")); - run.add(new BaseRunnable(() -> new Command.Cleanup(cardManager))); - } } diff --git a/src/cz/crcs/ectester/reader/test/CardInvalidCurvesSuite.java b/src/cz/crcs/ectester/reader/test/CardInvalidCurvesSuite.java index 3c0795bb..0572a66f 100644 --- a/src/cz/crcs/ectester/reader/test/CardInvalidCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardInvalidCurvesSuite.java @@ -2,18 +2,17 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; -import cz.crcs.ectester.common.test.BaseRunnable; +import cz.crcs.ectester.common.ec.EC_Curve; +import cz.crcs.ectester.common.ec.EC_Key; +import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.common.test.CompoundTest; import cz.crcs.ectester.common.test.Test; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTesterReader; import cz.crcs.ectester.reader.command.Command; -import cz.crcs.ectester.common.ec.EC_Curve; -import cz.crcs.ectester.common.ec.EC_Key; import javacard.security.KeyPair; -import java.io.IOException; import java.util.HashMap; import java.util.LinkedList; import java.util.List; @@ -26,22 +25,19 @@ */ public class CardInvalidCurvesSuite extends CardTestSuite { - public CardInvalidCurvesSuite(EC_Store dataStore, ECTesterReader.Config cfg) { - super(dataStore, cfg, "invalid", "The invalid curve suite run whether the card rejects points outside of the curve during ECDH."); + public CardInvalidCurvesSuite(TestWriter writer, ECTesterReader.Config cfg, CardMngr cardManager) { + super(writer, cfg, cardManager, "invalid", "The invalid curve suite run whether the card rejects points outside of the curve during ECDH."); } @Override - public void setup(CardMngr cardManager) throws IOException { + protected void runTests() throws Exception { /* Set original curves (secg/nist/brainpool). Generate local. * Try ECDH with invalid public keys of increasing (or decreasing) order. */ - Map pubkeys = dataStore.getObjects(EC_Key.Public.class, "invalid"); + Map pubkeys = EC_Store.getInstance().getObjects(EC_Key.Public.class, "invalid"); Map> curves = new HashMap<>(); for (EC_Key.Public key : pubkeys.values()) { - EC_Curve curve = dataStore.getObject(EC_Curve.class, key.getCurve()); - if (cfg.namedCurve != null && !(key.getCurve().startsWith(cfg.namedCurve) || key.getCurve().equals(cfg.namedCurve))) { - continue; - } + EC_Curve curve = EC_Store.getInstance().getObject(EC_Curve.class, key.getCurve()); if (curve.getBits() != cfg.bits && !cfg.all) { continue; } @@ -56,16 +52,16 @@ public void setup(CardMngr cardManager) throws IOException { EC_Curve curve = e.getKey(); List keys = e.getValue(); - run.add(CommandTest.expect(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); - run.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.SUCCESS)); - run.add(CommandTest.expect(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.SUCCESS)); + doTest(CommandTest.expect(new Command.Allocate(this.card, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); + doTest(CommandTest.expect(new Command.Set(this.card, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.SUCCESS)); + doTest(CommandTest.expect(new Command.Generate(this.card, ECTesterApplet.KEYPAIR_LOCAL), ExpectedValue.SUCCESS)); List ecdhTests = new LinkedList<>(); for (EC_Key.Public pub : keys) { - Command ecdhCommand = new Command.ECDH_direct(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH, pub.flatten()); - ecdhTests.add(CommandTest.expect(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected point on invalid curve." , "Card incorrectly accepted point on invalid curve.")); + Command ecdhCommand = new Command.ECDH_direct(this.card, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH, pub.flatten()); + ecdhTests.add(CommandTest.expect(ecdhCommand, ExpectedValue.FAILURE, "Card correctly rejected point on invalid curve.", "Card incorrectly accepted point on invalid curve.")); } - run.add(CompoundTest.all(ExpectedValue.SUCCESS, "Invalid curve test of " + curve.getId(), ecdhTests.toArray(new Test[0]))); - run.add(new BaseRunnable(() -> new Command.Cleanup(cardManager))); + doTest(CompoundTest.all(ExpectedValue.SUCCESS, "Invalid curve test of " + curve.getId(), ecdhTests.toArray(new Test[0]))); + new Command.Cleanup(this.card).send(); } } } diff --git a/src/cz/crcs/ectester/reader/test/CardTestSuite.java b/src/cz/crcs/ectester/reader/test/CardTestSuite.java index 7035ca2d..e12a588b 100644 --- a/src/cz/crcs/ectester/reader/test/CardTestSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardTestSuite.java @@ -3,14 +3,16 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.common.ec.EC_Curve; -import cz.crcs.ectester.common.test.*; -import cz.crcs.ectester.common.test.Runnable; +import cz.crcs.ectester.common.output.TestWriter; +import cz.crcs.ectester.common.test.CompoundTest; +import cz.crcs.ectester.common.test.Result; +import cz.crcs.ectester.common.test.Test; +import cz.crcs.ectester.common.test.TestSuite; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTesterReader; import cz.crcs.ectester.reader.command.Command; -import java.io.IOException; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -24,14 +26,14 @@ */ public abstract class CardTestSuite extends TestSuite { ECTesterReader.Config cfg; + CardMngr card; - CardTestSuite(EC_Store dataStore, ECTesterReader.Config cfg, String name, String description) { - super(dataStore, name, description); + CardTestSuite(TestWriter writer, ECTesterReader.Config cfg, CardMngr cardManager, String name, String description) { + super(writer, name, description); + this.card = cardManager; this.cfg = cfg; } - public abstract void setup(CardMngr cardManager) throws IOException; - /** * @param cardManager cardManager to send APDU through * @param generateExpected expected result of the Generate command @@ -98,21 +100,20 @@ Test defaultCurveTests(CardMngr cardManager, ExpectedValue generateExpected, Exp * @param description compound test description * @return run to run */ - List defaultCategoryTests(CardMngr cardManager, String category, byte field, ExpectedValue setExpected, ExpectedValue generateExpected, ExpectedValue ecdhExpected, ExpectedValue ecdhCompressedExpected, ExpectedValue ecdsaExpected, String description) { - List tests = new LinkedList<>(); - Map curves = dataStore.getObjects(EC_Curve.class, category); + List defaultCategoryTests(CardMngr cardManager, String category, byte field, ExpectedValue setExpected, ExpectedValue generateExpected, ExpectedValue ecdhExpected, ExpectedValue ecdhCompressedExpected, ExpectedValue ecdsaExpected, String description) { + Map curves = EC_Store.getInstance().getObjects(EC_Curve.class, category); if (curves == null) - return tests; + return null; for (Map.Entry entry : curves.entrySet()) { EC_Curve curve = entry.getValue(); if (curve.getField() == field && (curve.getBits() == cfg.bits || cfg.all)) { - tests.add(CommandTest.expect(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), field), ExpectedValue.SUCCESS)); - tests.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), setExpected)); - tests.add(defaultCurveTests(cardManager, generateExpected, ecdhExpected, ecdhCompressedExpected, ecdsaExpected, description)); - run.add(new BaseRunnable(() -> new Command.Cleanup(cardManager))); + //tests.add(CommandTest.expect(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), field), ExpectedValue.SUCCESS)); + //tests.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), setExpected)); + //tests.add(defaultCurveTests(cardManager, generateExpected, ecdhExpected, ecdhCompressedExpected, ecdsaExpected, description)); + //run.add(new BaseRunnable(() -> new Command.Cleanup(cardManager))); } } - return tests; + return null; } } diff --git a/src/cz/crcs/ectester/reader/test/CardTestVectorSuite.java b/src/cz/crcs/ectester/reader/test/CardTestVectorSuite.java index 025cbe00..73c66210 100644 --- a/src/cz/crcs/ectester/reader/test/CardTestVectorSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardTestVectorSuite.java @@ -3,6 +3,7 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.common.ec.*; +import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.common.test.*; import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.data.EC_Store; @@ -25,46 +26,42 @@ */ public class CardTestVectorSuite extends CardTestSuite { - public CardTestVectorSuite(EC_Store dataStore, ECTesterReader.Config cfg) { - super(dataStore, cfg, "test", "The test-vectors suite contains a collection of test vectors which test basic ECDH correctness."); + public CardTestVectorSuite(TestWriter writer, ECTesterReader.Config cfg, CardMngr cardManager) { + super(writer, cfg, cardManager, "test", "The test-vectors suite contains a collection of test vectors which test basic ECDH correctness."); } @Override - public void setup(CardMngr cardManager) throws IOException { + protected void runTests() throws Exception { /* Set original curves (secg/nist/brainpool). Set keypairs from test vectors. * Do ECDH both ways, export and verify that the result is correct. */ - Map results = dataStore.getObjects(EC_KAResult.class, "test"); + Map results = EC_Store.getInstance().getObjects(EC_KAResult.class, "test"); for (EC_KAResult result : results.values()) { - EC_Curve curve = dataStore.getObject(EC_Curve.class, result.getCurve()); - if (cfg.namedCurve != null && !(result.getCurve().startsWith(cfg.namedCurve) || result.getCurve().equals(cfg.namedCurve))) { - continue; - } + EC_Curve curve = EC_Store.getInstance().getObject(EC_Curve.class, result.getCurve()); if (curve.getBits() != cfg.bits && !cfg.all) { continue; } if (curve.getField() == KeyPair.ALG_EC_FP && !cfg.primeField || curve.getField() == KeyPair.ALG_EC_F2M && !cfg.binaryField) { continue; } - EC_Params onekey = dataStore.getObject(EC_Keypair.class, result.getOneKey()); + EC_Params onekey = EC_Store.getInstance().getObject(EC_Keypair.class, result.getOneKey()); if (onekey == null) { - onekey = dataStore.getObject(EC_Key.Private.class, result.getOneKey()); + onekey = EC_Store.getInstance().getObject(EC_Key.Private.class, result.getOneKey()); } - EC_Params otherkey = dataStore.getObject(EC_Keypair.class, result.getOtherKey()); + EC_Params otherkey = EC_Store.getInstance().getObject(EC_Keypair.class, result.getOtherKey()); if (otherkey == null) { - otherkey = dataStore.getObject(EC_Key.Public.class, result.getOtherKey()); + otherkey = EC_Store.getInstance().getObject(EC_Key.Public.class, result.getOtherKey()); } if (onekey == null || otherkey == null) { throw new IOException("Test vector keys couldn't be located."); } List testVector = new LinkedList<>(); - testVector.add(CommandTest.expect(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); - testVector.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.SUCCESS)); - //run.add(new Test.Simple(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_BOTH), ExpectedValue.SUCCESS)); - testVector.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_LOCAL, EC_Consts.CURVE_external, EC_Consts.PARAMETER_S, onekey.flatten(EC_Consts.PARAMETER_S)), ExpectedValue.SUCCESS)); - testVector.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_REMOTE, EC_Consts.CURVE_external, EC_Consts.PARAMETER_W, otherkey.flatten(EC_Consts.PARAMETER_W)), ExpectedValue.SUCCESS)); - testVector.add(CommandTest.function(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_TRUE, EC_Consts.CORRUPTION_NONE, result.getJavaCardKA()), new TestCallback() { + testVector.add(CommandTest.expect(new Command.Allocate(this.card, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), ExpectedValue.SUCCESS)); + testVector.add(CommandTest.expect(new Command.Set(this.card, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), ExpectedValue.SUCCESS)); + testVector.add(CommandTest.expect(new Command.Set(this.card, ECTesterApplet.KEYPAIR_LOCAL, EC_Consts.CURVE_external, EC_Consts.PARAMETER_S, onekey.flatten(EC_Consts.PARAMETER_S)), ExpectedValue.SUCCESS)); + testVector.add(CommandTest.expect(new Command.Set(this.card, ECTesterApplet.KEYPAIR_REMOTE, EC_Consts.CURVE_external, EC_Consts.PARAMETER_W, otherkey.flatten(EC_Consts.PARAMETER_W)), ExpectedValue.SUCCESS)); + testVector.add(CommandTest.function(new Command.ECDH(this.card, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_TRUE, EC_Consts.CORRUPTION_NONE, result.getJavaCardKA()), new TestCallback() { @Override public Result apply(CommandTestable testable) { Response.ECDH dh = (Response.ECDH) testable.getResponse(); @@ -74,13 +71,13 @@ public Result apply(CommandTestable testable) { return new Result(Value.FAILURE, "ECDH response did not contain the derived secret."); if (!ByteUtil.compareBytes(dh.getSecret(), 0, result.getData(0), 0, dh.secretLength())) { int firstDiff = ByteUtil.diffBytes(dh.getSecret(), 0, result.getData(0), 0, dh.secretLength()); - return new Result(Value.FAILURE, "ECDH derived secret does not match the test, first difference was at byte " + String.valueOf(firstDiff) + "."); + return new Result(Value.FAILURE, "ECDH derived secret does not match the test-vector, first difference was at byte " + String.valueOf(firstDiff) + "."); } return new Result(Value.SUCCESS); } })); - run.add(CompoundTest.all(ExpectedValue.SUCCESS, "Test vector " + result.getId(), testVector.toArray(new Test[0]))); - run.add(new BaseRunnable(() -> new Command.Cleanup(cardManager))); + doTest(CompoundTest.all(ExpectedValue.SUCCESS, "Test vector " + result.getId(), testVector.toArray(new Test[0]))); + new Command.Cleanup(this.card).send(); } } } diff --git a/src/cz/crcs/ectester/reader/test/CardWrongCurvesSuite.java b/src/cz/crcs/ectester/reader/test/CardWrongCurvesSuite.java index 8c21aef0..3a350c22 100644 --- a/src/cz/crcs/ectester/reader/test/CardWrongCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardWrongCurvesSuite.java @@ -1,34 +1,58 @@ package cz.crcs.ectester.reader.test; +import cz.crcs.ectester.applet.ECTesterApplet; +import cz.crcs.ectester.applet.EC_Consts; +import cz.crcs.ectester.common.ec.EC_Curve; +import cz.crcs.ectester.common.output.TestWriter; +import cz.crcs.ectester.common.test.CompoundTest; +import cz.crcs.ectester.common.test.Result; +import cz.crcs.ectester.common.test.Test; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTesterReader; +import cz.crcs.ectester.reader.command.Command; import javacard.security.KeyPair; -import java.io.IOException; - -import static cz.crcs.ectester.common.test.Result.ExpectedValue; +import java.util.Map; /** * @author Jan Jancar johny@neuromancer.sk */ public class CardWrongCurvesSuite extends CardTestSuite { - public CardWrongCurvesSuite(EC_Store dataStore, ECTesterReader.Config cfg) { - super(dataStore, cfg, "wrong", "The wrong curve suite run whether the card rejects domain parameters which are not curves."); + public CardWrongCurvesSuite(TestWriter writer, ECTesterReader.Config cfg, CardMngr cardManager) { + super(writer, cfg, cardManager, "wrong", "The wrong curve suite run whether the card rejects domain parameters which are not curves."); } @Override - public void setup(CardMngr cardManager) throws IOException { + protected void runTests() throws Exception { /* Just do the default run on the wrong curves. * These should generally fail, the curves aren't curves. */ - String desc = "Default run over wrong curve params."; - if (cfg.primeField) { - run.addAll(defaultCategoryTests(cardManager, cfg.testSuite, KeyPair.ALG_EC_FP, ExpectedValue.FAILURE, ExpectedValue.FAILURE, ExpectedValue.FAILURE, ExpectedValue.FAILURE, ExpectedValue.FAILURE, desc)); - } - if (cfg.binaryField) { - run.addAll(defaultCategoryTests(cardManager, cfg.testSuite, KeyPair.ALG_EC_F2M, ExpectedValue.FAILURE, ExpectedValue.FAILURE, ExpectedValue.FAILURE, ExpectedValue.FAILURE, ExpectedValue.FAILURE, desc)); + Map curves = EC_Store.getInstance().getObjects(EC_Curve.class, "wrong"); + for (Map.Entry e : curves.entrySet()) { + EC_Curve curve = e.getValue(); + if (curve.getBits() != cfg.bits && !cfg.all) { + continue; + } + if (curve.getField() == KeyPair.ALG_EC_FP && !cfg.primeField || curve.getField() == KeyPair.ALG_EC_F2M && !cfg.binaryField) { + continue; + } + Test key = doTest(CommandTest.expect(new Command.Allocate(this.card, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), Result.ExpectedValue.SUCCESS)); + if (!key.ok()) { + continue; + } + Test set = runTest(CommandTest.expect(new Command.Set(this.card, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), Result.ExpectedValue.SUCCESS)); + Test generate = runTest(CommandTest.expect(new Command.Generate(this.card, ECTesterApplet.KEYPAIR_BOTH), Result.ExpectedValue.SUCCESS)); + doTest(CompoundTest.any(Result.ExpectedValue.FAILURE, "Set wrong curve and generate keypairs, should fail." ,set, generate)); + + for (byte kaType : EC_Consts.KA_TYPES) { + Test allocate = runTest(CommandTest.expect(new Command.AllocateKeyAgreement(this.card, kaType), Result.ExpectedValue.SUCCESS)); + if (allocate.ok()) { + Test ka = runTest(CommandTest.expect(new Command.ECDH(this.card, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, kaType), Result.ExpectedValue.FAILURE)); + doTest(CompoundTest.all(Result.ExpectedValue.SUCCESS, "Allocate and perform KA, should fail.", allocate, ka)); + } + } } } } diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java index b1b71a57..f5361c3d 100644 --- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java +++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java @@ -4,7 +4,6 @@ import cz.crcs.ectester.common.ec.EC_Curve; import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.common.test.TestException; -import cz.crcs.ectester.common.test.TestRunner; import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.common.util.ECUtil; import cz.crcs.ectester.data.EC_Store; @@ -44,7 +43,6 @@ */ public class ECTesterStandalone { private ProviderECLibrary[] libs = new ProviderECLibrary[]{new SunECLib(), new BouncyCastleLib(), new TomcryptLib(), new BotanLib()}; - private EC_Store dataStore; private Config cfg; private Options opts = new Options(); @@ -76,12 +74,11 @@ private void run(String[] args) { if (!cfg.readOptions(cli)) { return; } - dataStore = new EC_Store(); if (cli.isNext("list-libs")) { listLibraries(); } else if (cli.isNext("list-data")) { - CLITools.listNamed(dataStore, cli.getNext().getArg(0)); + CLITools.listNamed(EC_Store.getInstance(), cli.getNext().getArg(0)); } else if (cli.isNext("ecdh")) { ecdh(); } else if (cli.isNext("ecdsa")) { @@ -238,7 +235,7 @@ private void ecdh() throws NoSuchAlgorithmException, InvalidAlgorithmParameterEx kpg.initialize(bits); } else if (cli.hasOption("ecdh.named-curve")) { String curveName = cli.getOptionValue("ecdh.named-curve"); - EC_Curve curve = dataStore.getObject(EC_Curve.class, curveName); + EC_Curve curve = EC_Store.getInstance().getObject(EC_Curve.class, curveName); if (curve == null) { System.err.println("Curve not found: " + curveName); return; @@ -324,7 +321,7 @@ private void ecdsa() throws NoSuchAlgorithmException, InvalidAlgorithmParameterE kpg.initialize(bits); } else if (cli.hasOption("ecdsa.named-curve")) { String curveName = cli.getOptionValue("ecdsa.named-curve"); - EC_Curve curve = dataStore.getObject(EC_Curve.class, curveName); + EC_Curve curve = EC_Store.getInstance().getObject(EC_Curve.class, curveName); if (curve == null) { System.err.println("Curve not found: " + curveName); return; @@ -386,7 +383,7 @@ private void generate() throws NoSuchAlgorithmException, InvalidAlgorithmParamet kpg.initialize(bits); } else if (cli.hasOption("generate.named-curve")) { String curveName = cli.getOptionValue("generate.named-curve"); - EC_Curve curve = dataStore.getObject(EC_Curve.class, curveName); + EC_Curve curve = EC_Store.getInstance().getObject(EC_Curve.class, curveName); if (curve == null) { System.err.println("Curve not found: " + curveName); return; @@ -429,10 +426,8 @@ private void test() throws NoSuchAlgorithmException, TestException, ParserConfig break; } - StandaloneTestSuite suite = new StandaloneDefaultSuite(dataStore, cfg, cli); - TestRunner runner = new TestRunner(suite, writer); - suite.setup(); - runner.run(); + StandaloneTestSuite suite = new StandaloneDefaultSuite(writer, cfg, cli); + suite.run(); } /** diff --git a/src/cz/crcs/ectester/standalone/test/StandaloneDefaultSuite.java b/src/cz/crcs/ectester/standalone/test/StandaloneDefaultSuite.java index b24244e2..42d2e546 100644 --- a/src/cz/crcs/ectester/standalone/test/StandaloneDefaultSuite.java +++ b/src/cz/crcs/ectester/standalone/test/StandaloneDefaultSuite.java @@ -2,6 +2,7 @@ import cz.crcs.ectester.common.cli.TreeCommandLine; import cz.crcs.ectester.common.ec.EC_Curve; +import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.common.test.Result; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.standalone.ECTesterStandalone; @@ -11,7 +12,6 @@ import javax.crypto.KeyAgreement; import java.security.KeyPairGenerator; -import java.security.NoSuchAlgorithmException; import java.security.Signature; import java.security.spec.ECParameterSpec; @@ -20,12 +20,12 @@ */ public class StandaloneDefaultSuite extends StandaloneTestSuite { - public StandaloneDefaultSuite(EC_Store dataStore, ECTesterStandalone.Config cfg, TreeCommandLine cli) { - super(dataStore, cfg, cli, "default", "The default test suite run basic support of ECDH and ECDSA."); + public StandaloneDefaultSuite(TestWriter writer, ECTesterStandalone.Config cfg, TreeCommandLine cli) { + super(writer, cfg, cli, "default", "The default test suite run basic support of ECDH and ECDSA."); } @Override - public void setup() throws NoSuchAlgorithmException { + protected void runTests() throws Exception { String kpgAlgo = cli.getOptionValue("test.kpg-type", "EC"); String kaAlgo = cli.getOptionValue("test.ka-type"); String sigAlgo = cli.getOptionValue("test.sig-type"); @@ -44,7 +44,7 @@ public void setup() throws NoSuchAlgorithmException { kgtOther = new KeyGeneratorTestable(kpg, bits); } else if (cli.hasOption("test.named-curve")) { String curveName = cli.getOptionValue("test.named-curve"); - EC_Curve curve = dataStore.getObject(EC_Curve.class, curveName); + EC_Curve curve = EC_Store.getInstance().getObject(EC_Curve.class, curveName); if (curve == null) { System.err.println("Curve not found: " + curveName); return; @@ -57,19 +57,19 @@ public void setup() throws NoSuchAlgorithmException { kgtOther = new KeyGeneratorTestable(kpg); } - run.add(KeyGeneratorTest.expect(kgtOne, Result.ExpectedValue.SUCCESS)); - run.add(KeyGeneratorTest.expect(kgtOther, Result.ExpectedValue.SUCCESS)); + doTest(KeyGeneratorTest.expect(kgtOne, Result.ExpectedValue.SUCCESS)); + doTest(KeyGeneratorTest.expect(kgtOther, Result.ExpectedValue.SUCCESS)); for (KeyAgreementIdent kaIdent : cfg.selected.getKAs()) { if (kaAlgo == null || kaIdent.contains(kaAlgo)) { KeyAgreement ka = kaIdent.getInstance(cfg.selected.getProvider()); - run.add(KeyAgreementTest.expect(new KeyAgreementTestable(ka, kgtOne, kgtOther, spec), Result.ExpectedValue.SUCCESS)); + doTest(KeyAgreementTest.expect(new KeyAgreementTestable(ka, kgtOne, kgtOther, spec), Result.ExpectedValue.SUCCESS)); } } for (SignatureIdent sigIdent : cfg.selected.getSigs()) { if (sigAlgo == null || sigIdent.contains(sigAlgo)) { Signature sig = sigIdent.getInstance(cfg.selected.getProvider()); - run.add(SignatureTest.expect(new SignatureTestable(sig, kgtOne, null), Result.ExpectedValue.SUCCESS)); + doTest(SignatureTest.expect(new SignatureTestable(sig, kgtOne, null), Result.ExpectedValue.SUCCESS)); } } } diff --git a/src/cz/crcs/ectester/standalone/test/StandaloneTestSuite.java b/src/cz/crcs/ectester/standalone/test/StandaloneTestSuite.java index 5682cd59..ad404c87 100644 --- a/src/cz/crcs/ectester/standalone/test/StandaloneTestSuite.java +++ b/src/cz/crcs/ectester/standalone/test/StandaloneTestSuite.java @@ -1,6 +1,7 @@ package cz.crcs.ectester.standalone.test; import cz.crcs.ectester.common.cli.TreeCommandLine; +import cz.crcs.ectester.common.output.TestWriter; import cz.crcs.ectester.common.test.TestSuite; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.standalone.ECTesterStandalone; @@ -14,11 +15,9 @@ public abstract class StandaloneTestSuite extends TestSuite { TreeCommandLine cli; ECTesterStandalone.Config cfg; - public StandaloneTestSuite(EC_Store dataStore, ECTesterStandalone.Config cfg, TreeCommandLine cli, String name, String description) { - super(dataStore, name, description); + public StandaloneTestSuite(TestWriter writer, ECTesterStandalone.Config cfg, TreeCommandLine cli, String name, String description) { + super(writer, name, description); this.cfg = cfg; this.cli = cli; } - - public abstract void setup() throws NoSuchAlgorithmException; } From eca4e6a299c5765b1bb2fa17113bc12c84d8a406 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sat, 13 Jan 2018 01:15:44 +0100 Subject: [PATCH 78/91] Simplify default test suite. --- .../common/output/BaseTextTestWriter.java | 16 ++++--- .../ectester/common/test/CompoundTest.java | 7 +-- .../ectester/common/test/TestException.java | 4 +- .../crcs/ectester/common/test/Testable.java | 2 +- .../reader/test/CardDefaultSuite.java | 46 +++++++++++++------ .../standalone/consts/KeyAgreementIdent.java | 8 ++-- 6 files changed, 54 insertions(+), 29 deletions(-) diff --git a/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java b/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java index 06c6d97e..6ace3a02 100644 --- a/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java +++ b/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java @@ -10,7 +10,7 @@ public abstract class BaseTextTestWriter implements TestWriter { private PrintStream output; - public static int BASE_WIDTH = 80; + public static int BASE_WIDTH = 90; public BaseTextTestWriter(PrintStream output) { this.output = output; @@ -24,7 +24,7 @@ public void begin(TestSuite suite) { protected abstract String testableString(Testable t); - private String testString(Test t, int offset) { + private String testString(Test t, String prefix) { if (!t.hasRun()) { return null; } @@ -33,7 +33,7 @@ private String testString(Test t, int offset) { StringBuilder out = new StringBuilder(); out.append(t.ok() ? " OK " : "NOK "); out.append(compound ? "┳ " : "━ "); - int width = BASE_WIDTH - (offset + out.length()); + int width = BASE_WIDTH - (prefix.length() + out.length()); String widthSpec = "%-" + String.valueOf(width) + "s"; out.append(String.format(widthSpec, t.getDescription())); out.append(" ┃ "); @@ -47,11 +47,13 @@ private String testString(Test t, int offset) { Test[] tests = test.getTests(); for (int i = 0; i < tests.length; ++i) { if (i == tests.length - 1) { - out.append(" ┗ "); + out.append(prefix).append(" ┗ "); + out.append(testString(tests[i], prefix + " ")); } else { - out.append(" ┣ "); + out.append(prefix).append(" ┣ "); + out.append(testString(tests[i], prefix + " ┃ ")); } - out.append(testString(tests[i], offset + 6)); + if (i != tests.length - 1) { out.append(System.lineSeparator()); } @@ -67,7 +69,7 @@ private String testString(Test t, int offset) { public void outputTest(Test t) { if (!t.hasRun()) return; - output.println(testString(t, 0)); + output.println(testString(t, "")); output.flush(); } diff --git a/src/cz/crcs/ectester/common/test/CompoundTest.java b/src/cz/crcs/ectester/common/test/CompoundTest.java index bcf4a0ea..3b0b542c 100644 --- a/src/cz/crcs/ectester/common/test/CompoundTest.java +++ b/src/cz/crcs/ectester/common/test/CompoundTest.java @@ -34,7 +34,7 @@ public static CompoundTest all(Result.ExpectedValue what, Test... all) { return new CompoundTest((tests) -> { for (Test test : tests) { if (!Result.Value.fromExpected(what, test.ok()).ok()) { - return new Result(Result.Value.FAILURE, "At least one of the sub-tests did not have the expected result."); + return new Result(Result.Value.FAILURE, "Some sub-tests did not have the expected result."); } } return new Result(Result.Value.SUCCESS, "All sub-tests had the expected result."); @@ -51,7 +51,7 @@ public static CompoundTest any(Result.ExpectedValue what, Test... any) { return new CompoundTest((tests) -> { for (Test test : tests) { if (Result.Value.fromExpected(what, test.ok()).ok()) { - return new Result(Result.Value.SUCCESS, "At least one of the sub-tests did have the expected result."); + return new Result(Result.Value.SUCCESS, "Some sub-tests did have the expected result."); } } return new Result(Result.Value.FAILURE, "None of the sub-tests had the expected result."); @@ -68,7 +68,7 @@ public static CompoundTest mask(Result.ExpectedValue[] results, Test... masked) return new CompoundTest((tests) -> { for (int i = 0; i < results.length; ++i) { if (!Result.Value.fromExpected(results[i], tests[i].ok()).ok()) { - return new Result(Result.Value.FAILURE, "At least one of the sub-tests did not match the result mask."); + return new Result(Result.Value.FAILURE, "Some sub-tests did not match the result mask."); } } return new Result(Result.Value.SUCCESS, "All sub-tests matched the expected mask."); @@ -93,6 +93,7 @@ public void run() throws TestException { for (Test test : tests) { test.run(); } + result = callback.apply(tests); this.hasRun = true; } diff --git a/src/cz/crcs/ectester/common/test/TestException.java b/src/cz/crcs/ectester/common/test/TestException.java index 01d195ca..008e9f66 100644 --- a/src/cz/crcs/ectester/common/test/TestException.java +++ b/src/cz/crcs/ectester/common/test/TestException.java @@ -1,7 +1,9 @@ package cz.crcs.ectester.common.test; /** - * + * A TestException is an Exception that can be thrown during the running of a Testable, + * or a TestSuite. It means that the Testable/TestSuite encountered an unexpected error + * during it's run which points to an error in ECTester or it's runtime environment.cd * @author Jan Jancar johny@neuromancer.sk */ public class TestException extends Exception { diff --git a/src/cz/crcs/ectester/common/test/Testable.java b/src/cz/crcs/ectester/common/test/Testable.java index 36270753..5b84a452 100644 --- a/src/cz/crcs/ectester/common/test/Testable.java +++ b/src/cz/crcs/ectester/common/test/Testable.java @@ -21,7 +21,7 @@ public interface Testable { /** * Run this Runnable. * - * @throws TestException + * @throws TestException If an unexpected exception/error is encountered. */ void run() throws TestException; } diff --git a/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java b/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java index 9de741ce..b05d4fe1 100644 --- a/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java @@ -11,6 +11,9 @@ import cz.crcs.ectester.reader.command.Command; import javacard.security.KeyPair; +import java.util.LinkedList; +import java.util.List; + import static cz.crcs.ectester.common.test.Result.ExpectedValue; /** @@ -34,30 +37,47 @@ protected void runTests() throws Exception { private void runDefault(byte field) throws Exception { for (short keyLength : EC_Consts.FP_SIZES) { - Test key = doTest(CommandTest.expect(new Command.Allocate(this.card, ECTesterApplet.KEYPAIR_BOTH, keyLength, field), ExpectedValue.SUCCESS)); + String description = "Tests of " + keyLength + "b " + (field == KeyPair.ALG_EC_FP ? "ALG_EC_FP" : "ALG_EC_F2M") + " support."; + + List supportTests = new LinkedList<>(); + Test key = runTest(CommandTest.expect(new Command.Allocate(this.card, ECTesterApplet.KEYPAIR_BOTH, keyLength, field), ExpectedValue.SUCCESS)); if (!key.ok()) { + doTest(CompoundTest.all(ExpectedValue.SUCCESS, description + " None.", key)); continue; } - doTest(CommandTest.expect(new Command.Generate(this.card, ECTesterApplet.KEYPAIR_BOTH), ExpectedValue.SUCCESS)); - doTest(CommandTest.expect(new Command.Set(this.card, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.getCurve(keyLength, field), EC_Consts.PARAMETERS_DOMAIN_FP, null), ExpectedValue.SUCCESS)); - doTest(CommandTest.expect(new Command.Generate(this.card, ECTesterApplet.KEYPAIR_BOTH), ExpectedValue.SUCCESS)); + supportTests.add(key); + + Test genDefault = runTest(CommandTest.expect(new Command.Generate(this.card, ECTesterApplet.KEYPAIR_BOTH), ExpectedValue.SUCCESS)); + Test setCustom = runTest(CommandTest.expect(new Command.Set(this.card, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.getCurve(keyLength, field), EC_Consts.PARAMETERS_DOMAIN_FP, null), ExpectedValue.SUCCESS)); + Test genCustom = runTest(CommandTest.expect(new Command.Generate(this.card, ECTesterApplet.KEYPAIR_BOTH), ExpectedValue.SUCCESS)); + supportTests.add(genDefault); + supportTests.add(setCustom); + supportTests.add(genCustom); + for (byte kaType : EC_Consts.KA_TYPES) { - Test allocate = CommandTest.expect(new Command.AllocateKeyAgreement(this.card, kaType), ExpectedValue.SUCCESS); - allocate.run(); + Test allocate = runTest(CommandTest.expect(new Command.AllocateKeyAgreement(this.card, kaType), ExpectedValue.SUCCESS)); if (allocate.ok()) { - Test ka = CommandTest.expect(new Command.ECDH(this.card, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, kaType), ExpectedValue.SUCCESS); - ka.run(); - Test kaCompressed = CommandTest.expect(new Command.ECDH(this.card, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_COMPRESS, kaType), ExpectedValue.SUCCESS); - kaCompressed.run(); - doTest(CompoundTest.all(ExpectedValue.SUCCESS, "Test of the " + CardUtil.getKATypeString(kaType) + " KeyAgreement.", allocate, ka, kaCompressed)); + Test ka = runTest(CommandTest.expect(new Command.ECDH(this.card, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, kaType), ExpectedValue.SUCCESS)); + Test kaCompressed = runTest(CommandTest.expect(new Command.ECDH(this.card, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_COMPRESS, kaType), ExpectedValue.SUCCESS)); + Test compound = runTest(CompoundTest.all(ExpectedValue.SUCCESS, "Test of the " + CardUtil.getKATypeString(kaType) + " KeyAgreement.", allocate, ka, kaCompressed)); + supportTests.add(compound); + } else { + runTest(allocate); + supportTests.add(allocate); } } for (byte sigType : EC_Consts.SIG_TYPES) { - Test allocate = doTest(CommandTest.expect(new Command.AllocateSignature(this.card, sigType), ExpectedValue.SUCCESS)); + Test allocate = runTest(CommandTest.expect(new Command.AllocateSignature(this.card, sigType), ExpectedValue.SUCCESS)); if (allocate.ok()) { - doTest(CommandTest.expect(new Command.ECDSA(this.card, ECTesterApplet.KEYPAIR_LOCAL, sigType, ECTesterApplet.EXPORT_FALSE, null), ExpectedValue.SUCCESS)); + Test expect = runTest(CommandTest.expect(new Command.ECDSA(this.card, ECTesterApplet.KEYPAIR_LOCAL, sigType, ECTesterApplet.EXPORT_FALSE, null), ExpectedValue.SUCCESS)); + Test compound = runTest(CompoundTest.all(ExpectedValue.SUCCESS, "Test of the " + CardUtil.getSigTypeString(sigType) + " signature.", allocate, expect)); + supportTests.add(compound); + } else { + supportTests.add(allocate); } } + doTest(CompoundTest.all(ExpectedValue.SUCCESS, description + " Some.", supportTests.toArray(new Test[0]))); + new Command.Cleanup(this.card).send(); } } } diff --git a/src/cz/crcs/ectester/standalone/consts/KeyAgreementIdent.java b/src/cz/crcs/ectester/standalone/consts/KeyAgreementIdent.java index a5d35788..0e4d311b 100644 --- a/src/cz/crcs/ectester/standalone/consts/KeyAgreementIdent.java +++ b/src/cz/crcs/ectester/standalone/consts/KeyAgreementIdent.java @@ -35,10 +35,10 @@ public class KeyAgreementIdent extends Ident { //ALL.add(new KeyAgreementIdent("ECMQVwithSHA256CKDF", "1.3.132.1.15.1")); //ALL.add(new KeyAgreementIdent("ECMQVwithSHA384CKDF", "1.3.132.1.15.2")); //ALL.add(new KeyAgreementIdent("ECMQVwithSHA512CKDF", "1.3.132.1.15.3")); - // ECVKO - ALL.add(new KeyAgreementIdent("ECVKO", "ECGOST3410", "1.2.643.2.2.19", "GOST-3410-2001", "1.2.643.2.2.96")); - ALL.add(new KeyAgreementIdent("ECVKO256", "ECGOST3410-2012-256", "1.2.643.7.1.1.6.1", "1.2.643.7.1.1.1.1")); - ALL.add(new KeyAgreementIdent("ECVKO512", "ECGOST3410-2012-512", "1.2.643.7.1.1.6.2", "1.2.643.7.1.1.1.2")); + // ECVKO - Disable for now as it needs diferent params(too different from DH) + //ALL.add(new KeyAgreementIdent("ECVKO", "ECGOST3410", "1.2.643.2.2.19", "GOST-3410-2001", "1.2.643.2.2.96")); + //ALL.add(new KeyAgreementIdent("ECVKO256", "ECGOST3410-2012-256", "1.2.643.7.1.1.6.1", "1.2.643.7.1.1.1.1")); + //ALL.add(new KeyAgreementIdent("ECVKO512", "ECGOST3410-2012-512", "1.2.643.7.1.1.6.2", "1.2.643.7.1.1.1.2")); } public static KeyAgreementIdent get(String ident) { From 83f6e4a30ba708c480ab4db464d41e223db28f26 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sat, 13 Jan 2018 03:21:46 +0100 Subject: [PATCH 79/91] Fix ECDSA APDU parsing on applet side. - Was broken when introducing signature type into the APDU. --- src/cz/crcs/ectester/applet/ECTesterApplet.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cz/crcs/ectester/applet/ECTesterApplet.java b/src/cz/crcs/ectester/applet/ECTesterApplet.java index 71d9d567..7fb2783e 100644 --- a/src/cz/crcs/ectester/applet/ECTesterApplet.java +++ b/src/cz/crcs/ectester/applet/ECTesterApplet.java @@ -446,10 +446,10 @@ private short insECDSA(APDU apdu) { short len = 0; if ((keyPair & KEYPAIR_LOCAL) != 0) { - len += ecdsa(localKeypair, sigType, export, apduArray, cdata, apdu.getBuffer(), (short) 0); + len += ecdsa(localKeypair, sigType, export, apduArray, (short) (cdata + 1), apdu.getBuffer(), (short) 0); } if ((keyPair & KEYPAIR_REMOTE) != 0) { - len += ecdsa(remoteKeypair, sigType, export, apduArray, cdata, apdu.getBuffer(), len); + len += ecdsa(remoteKeypair, sigType, export, apduArray, (short) (cdata + 1), apdu.getBuffer(), len); } return len; From 6b77638b9c82607b76a0a13a36b3c28418d772ba Mon Sep 17 00:00:00 2001 From: J08nY Date: Sun, 14 Jan 2018 12:48:20 +0100 Subject: [PATCH 80/91] Add CPLC fetch and parsing. --- src/cz/crcs/ectester/reader/CardMngr.java | 157 ++++++++++++++++------ 1 file changed, 117 insertions(+), 40 deletions(-) diff --git a/src/cz/crcs/ectester/reader/CardMngr.java b/src/cz/crcs/ectester/reader/CardMngr.java index cea46bc5..a959f2a0 100644 --- a/src/cz/crcs/ectester/reader/CardMngr.java +++ b/src/cz/crcs/ectester/reader/CardMngr.java @@ -4,10 +4,10 @@ import com.licel.jcardsim.io.JavaxSmartCardInterface; import cz.crcs.ectester.common.util.ByteUtil; import javacard.framework.AID; +import javacard.framework.ISO7816; import javax.smartcardio.*; -import java.util.List; -import java.util.Scanner; +import java.util.*; /** * @author Petr Svenda petr@svenda.com @@ -165,50 +165,127 @@ public void disconnectFromCard() throws CardException { } } - public byte[] getCPLCData() throws Exception { - byte[] data; - - // TODO: Modify to obtain CPLC data - byte apdu[] = new byte[HEADER_LENGTH]; - apdu[OFFSET_CLA] = (byte) 0x00; - apdu[OFFSET_INS] = (byte) 0x00; - apdu[OFFSET_P1] = (byte) 0x00; - apdu[OFFSET_P2] = (byte) 0x00; - apdu[OFFSET_LC] = (byte) 0x00; - - ResponseAPDU resp = send(apdu); - if (resp.getSW() != 0x9000) { // 0x9000 is "OK" - System.err.println("Fail to obtain card's response data"); - data = null; - } else { - byte temp[] = resp.getBytes(); - data = new byte[temp.length - 2]; - System.arraycopy(temp, 0, data, 0, temp.length - 2); - // Last two bytes are status word (also obtainable by resp.getSW()) - // Take a look at ISO7816_status_words.txt for common codes + // Functions for CPLC taken and modified from https://github.com/martinpaljak/GlobalPlatformPro + private static final byte CLA_GP = (byte) 0x80; + private static final byte ISO7816_INS_GET_DATA = (byte) 0xCA; + private static final byte[] FETCH_GP_CPLC_APDU = {CLA_GP, ISO7816_INS_GET_DATA, (byte) 0x9F, (byte) 0x7F, (byte) 0x00}; + private static final byte[] FETCH_ISO_CPLC_APDU = {ISO7816.CLA_ISO7816, ISO7816_INS_GET_DATA, (byte) 0x9F, (byte) 0x7F, (byte) 0x00}; + private static final byte[] FETCH_GP_CARDDATA_APDU = {CLA_GP, ISO7816_INS_GET_DATA, (byte) 0x00, (byte) 0x66, (byte) 0x00}; + + public byte[] fetchCPLC() throws CardException { + // Try CPLC via GP + ResponseAPDU resp = sendAPDU(FETCH_GP_CPLC_APDU); + // If GP CLA fails, try with ISO + if (resp.getSW() == (ISO7816.SW_CLA_NOT_SUPPORTED & 0xffff)) { + resp = sendAPDU(FETCH_ISO_CPLC_APDU); } - - return data; + if (resp.getSW() == (ISO7816.SW_NO_ERROR & 0xffff)) { + return resp.getData(); + } + return null; } - public void probeCardCommands() throws Exception { - // TODO: modify to probe for instruction - for (int i = 0; i <= 0; i++) { - byte apdu[] = new byte[HEADER_LENGTH]; - apdu[OFFSET_CLA] = (byte) 0x00; - apdu[OFFSET_INS] = (byte) 0x00; - apdu[OFFSET_P1] = (byte) 0x00; - apdu[OFFSET_P2] = (byte) 0x00; - apdu[OFFSET_LC] = (byte) 0x00; + public static final class CPLC { + public enum Field { + ICFabricator, + ICType, + OperatingSystemID, + OperatingSystemReleaseDate, + OperatingSystemReleaseLevel, + ICFabricationDate, + ICSerialNumber, + ICBatchIdentifier, + ICModuleFabricator, + ICModulePackagingDate, + ICCManufacturer, + ICEmbeddingDate, + ICPrePersonalizer, + ICPrePersonalizationEquipmentDate, + ICPrePersonalizationEquipmentID, + ICPersonalizer, + ICPersonalizationDate, + ICPersonalizationEquipmentID + } - ResponseAPDU resp = send(apdu); + private Map values = new HashMap<>(); - if (verbose) - System.out.println("Response: " + Integer.toHexString(resp.getSW())); - - if (resp.getSW() != 0x6D00) { // Note: 0x6D00 is SW_INS_NOT_SUPPORTED - // something? + public CPLC(byte[] data) { + if (data == null || data.length < 3 || data[2] != 0x2A) { + throw new IllegalArgumentException("CPLC must be 0x2A bytes long"); } + //offset = TLVUtils.skipTag(data, offset, (short)0x9F7F); + short offset = 3; + values.put(Field.ICFabricator, Arrays.copyOfRange(data, offset, offset + 2)); + offset += 2; + values.put(Field.ICType, Arrays.copyOfRange(data, offset, offset + 2)); + offset += 2; + values.put(Field.OperatingSystemID, Arrays.copyOfRange(data, offset, offset + 2)); + offset += 2; + values.put(Field.OperatingSystemReleaseDate, Arrays.copyOfRange(data, offset, offset + 2)); + offset += 2; + values.put(Field.OperatingSystemReleaseLevel, Arrays.copyOfRange(data, offset, offset + 2)); + offset += 2; + values.put(Field.ICFabricationDate, Arrays.copyOfRange(data, offset, offset + 2)); + offset += 2; + values.put(Field.ICSerialNumber, Arrays.copyOfRange(data, offset, offset + 4)); + offset += 4; + values.put(Field.ICBatchIdentifier, Arrays.copyOfRange(data, offset, offset + 2)); + offset += 2; + values.put(Field.ICModuleFabricator, Arrays.copyOfRange(data, offset, offset + 2)); + offset += 2; + values.put(Field.ICModulePackagingDate, Arrays.copyOfRange(data, offset, offset + 2)); + offset += 2; + values.put(Field.ICCManufacturer, Arrays.copyOfRange(data, offset, offset + 2)); + offset += 2; + values.put(Field.ICEmbeddingDate, Arrays.copyOfRange(data, offset, offset + 2)); + offset += 2; + values.put(Field.ICPrePersonalizer, Arrays.copyOfRange(data, offset, offset + 2)); + offset += 2; + values.put(Field.ICPrePersonalizationEquipmentDate, Arrays.copyOfRange(data, offset, offset + 2)); + offset += 2; + values.put(Field.ICPrePersonalizationEquipmentID, Arrays.copyOfRange(data, offset, offset + 4)); + offset += 4; + values.put(Field.ICPersonalizer, Arrays.copyOfRange(data, offset, offset + 2)); + offset += 2; + values.put(Field.ICPersonalizationDate, Arrays.copyOfRange(data, offset, offset + 2)); + offset += 2; + values.put(Field.ICPersonalizationEquipmentID, Arrays.copyOfRange(data, offset, offset + 4)); + offset += 4; + } + + public Map values() { + return values; + } + } + + public CPLC getCPLC() throws CardException { + byte[] data = fetchCPLC(); + return new CPLC(data); + } + + public String mapCPLCField(CPLC.Field field, byte[] value) { + switch (field) { + case ICFabricator: + String id = ByteUtil.bytesToHex(value, false); + String fabricatorName = "unknown"; + if (id.equals("3060")) { + fabricatorName = "Renesas"; + } + if (id.equals("4090")) { + fabricatorName = "Infineon"; + } + if (id.equals("4180")) { + fabricatorName = "Atmel"; + } + if (id.equals("4250")) { + fabricatorName = "Samsung"; + } + if (id.equals("4790")) { + fabricatorName = "NXP"; + } + return id + " (" + fabricatorName + ")"; + default: + return ByteUtil.bytesToHex(value, false); } } From aeb322e1da26dcfc83762d9bc8df83667a22282a Mon Sep 17 00:00:00 2001 From: J08nY Date: Sun, 14 Jan 2018 15:26:30 +0100 Subject: [PATCH 81/91] Export CPLC data and card ATR in test suite outputs. --- .../common/output/BaseTextTestWriter.java | 3 ++ .../common/output/BaseXMLTestWriter.java | 3 ++ .../common/output/BaseYAMLTestWriter.java | 3 ++ src/cz/crcs/ectester/reader/CardMngr.java | 21 +++++++--- .../reader/output/TextTestWriter.java | 29 ++++++++++++++ .../ectester/reader/output/XMLTestWriter.java | 38 +++++++++++++++++++ .../reader/output/YAMLTestWriter.java | 33 ++++++++++++++++ .../ectester/reader/test/CardTestSuite.java | 4 ++ .../standalone/output/TextTestWriter.java | 8 ++++ .../standalone/output/XMLTestWriter.java | 7 ++++ .../standalone/output/YAMLTestWriter.java | 7 ++++ 11 files changed, 151 insertions(+), 5 deletions(-) diff --git a/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java b/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java index 6ace3a02..29eb6710 100644 --- a/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java +++ b/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java @@ -20,10 +20,13 @@ public BaseTextTestWriter(PrintStream output) { public void begin(TestSuite suite) { output.println("═══ Running test suite: " + suite.getName() + " ═══"); output.println("═══ " + suite.getDescription()); + output.print(deviceString(suite)); } protected abstract String testableString(Testable t); + protected abstract String deviceString(TestSuite suite); + private String testString(Test t, String prefix) { if (!t.hasRun()) { return null; diff --git a/src/cz/crcs/ectester/common/output/BaseXMLTestWriter.java b/src/cz/crcs/ectester/common/output/BaseXMLTestWriter.java index 9d3c8f38..f3e9411a 100644 --- a/src/cz/crcs/ectester/common/output/BaseXMLTestWriter.java +++ b/src/cz/crcs/ectester/common/output/BaseXMLTestWriter.java @@ -39,10 +39,13 @@ public void begin(TestSuite suite) { root = rootElem; doc.appendChild(root); + root.appendChild(deviceElement(suite)); } protected abstract Element testableElement(Testable t); + protected abstract Element deviceElement(TestSuite suite); + private Element testElement(Test t) { Element testElem; if (t instanceof CompoundTest) { diff --git a/src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java b/src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java index af769277..0769e83e 100644 --- a/src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java +++ b/src/cz/crcs/ectester/common/output/BaseYAMLTestWriter.java @@ -33,11 +33,14 @@ public void begin(TestSuite suite) { testSuite.put("desc", suite.getDescription()); testRun.put("suite", testSuite); + testRun.put("device", deviceObject(suite)); testRun.put("tests", tests); } abstract protected Map testableObject(Testable t); + abstract protected Map deviceObject(TestSuite suite); + private Map testObject(Test t) { Map testObj; if (t instanceof CompoundTest) { diff --git a/src/cz/crcs/ectester/reader/CardMngr.java b/src/cz/crcs/ectester/reader/CardMngr.java index a959f2a0..1e42c524 100644 --- a/src/cz/crcs/ectester/reader/CardMngr.java +++ b/src/cz/crcs/ectester/reader/CardMngr.java @@ -174,10 +174,10 @@ public void disconnectFromCard() throws CardException { public byte[] fetchCPLC() throws CardException { // Try CPLC via GP - ResponseAPDU resp = sendAPDU(FETCH_GP_CPLC_APDU); + ResponseAPDU resp = send(FETCH_GP_CPLC_APDU); // If GP CLA fails, try with ISO if (resp.getSW() == (ISO7816.SW_CLA_NOT_SUPPORTED & 0xffff)) { - resp = sendAPDU(FETCH_ISO_CPLC_APDU); + resp = send(FETCH_ISO_CPLC_APDU); } if (resp.getSW() == (ISO7816.SW_NO_ERROR & 0xffff)) { return resp.getData(); @@ -207,10 +207,13 @@ public enum Field { ICPersonalizationEquipmentID } - private Map values = new HashMap<>(); + private Map values = new TreeMap<>(); public CPLC(byte[] data) { - if (data == null || data.length < 3 || data[2] != 0x2A) { + if (data == null) { + return; + } + if (data.length < 3 || data[2] != 0x2A) { throw new IllegalArgumentException("CPLC must be 0x2A bytes long"); } //offset = TLVUtils.skipTag(data, offset, (short)0x9F7F); @@ -263,7 +266,7 @@ public CPLC getCPLC() throws CardException { return new CPLC(data); } - public String mapCPLCField(CPLC.Field field, byte[] value) { + public static String mapCPLCField(CPLC.Field field, byte[] value) { switch (field) { case ICFabricator: String id = ByteUtil.bytesToHex(value, false); @@ -289,6 +292,14 @@ public String mapCPLCField(CPLC.Field field, byte[] value) { } } + public ATR getATR() { + if (simulate) { + return new ATR(simulator.getATR()); + } else { + return card.getATR(); + } + } + public static List getReaderList() { try { TerminalFactory factory = TerminalFactory.getDefault(); diff --git a/src/cz/crcs/ectester/reader/output/TextTestWriter.java b/src/cz/crcs/ectester/reader/output/TextTestWriter.java index dedf5614..eb529376 100644 --- a/src/cz/crcs/ectester/reader/output/TextTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/TextTestWriter.java @@ -1,10 +1,16 @@ package cz.crcs.ectester.reader.output; import cz.crcs.ectester.common.output.BaseTextTestWriter; +import cz.crcs.ectester.common.test.TestSuite; import cz.crcs.ectester.common.test.Testable; +import cz.crcs.ectester.common.util.ByteUtil; +import cz.crcs.ectester.reader.CardMngr; +import cz.crcs.ectester.reader.test.CardTestSuite; import cz.crcs.ectester.reader.test.CommandTestable; +import javax.smartcardio.CardException; import java.io.PrintStream; +import java.util.Map; /** * @author Jan Jancar johny@neuromancer.sk @@ -25,4 +31,27 @@ protected String testableString(Testable t) { } return ""; } + + @Override + protected String deviceString(TestSuite suite) { + if (suite instanceof CardTestSuite) { + CardTestSuite cardSuite = (CardTestSuite) suite; + StringBuilder sb = new StringBuilder(); + sb.append("═══ Card ATR: ").append(ByteUtil.bytesToHex(cardSuite.getCard().getATR().getBytes(), false)).append(System.lineSeparator()); + try { + CardMngr.CPLC cplc = cardSuite.getCard().getCPLC(); + if (!cplc.values().isEmpty()) { + sb.append("═══ Card CPLC data:").append(System.lineSeparator()); + for (Map.Entry entry : cplc.values().entrySet()) { + CardMngr.CPLC.Field field = entry.getKey(); + byte[] value = entry.getValue(); + sb.append("═══ ").append(field.name()).append(": ").append(CardMngr.mapCPLCField(field, value)); + } + } + } catch (CardException ignored) { + } + return sb.toString(); + } + return ""; + } } diff --git a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java index d88a64e9..356593ee 100644 --- a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java @@ -1,15 +1,20 @@ package cz.crcs.ectester.reader.output; import cz.crcs.ectester.common.output.BaseXMLTestWriter; +import cz.crcs.ectester.common.test.TestSuite; import cz.crcs.ectester.common.test.Testable; import cz.crcs.ectester.common.util.ByteUtil; +import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.response.Response; +import cz.crcs.ectester.reader.test.CardTestSuite; import cz.crcs.ectester.reader.test.CommandTestable; import org.w3c.dom.Element; +import javax.smartcardio.CardException; import javax.xml.parsers.ParserConfigurationException; import java.io.OutputStream; +import java.util.Map; /** * @author Jan Jancar johny@neuromancer.sk @@ -72,4 +77,37 @@ protected Element testableElement(Testable t) { } return null; } + + private Element cplcElement(CardMngr card) { + Element result = doc.createElement("cplc"); + try { + CardMngr.CPLC cplc = card.getCPLC(); + if (!cplc.values().isEmpty()) { + for (Map.Entry entry : cplc.values().entrySet()) { + CardMngr.CPLC.Field field = entry.getKey(); + byte[] value = entry.getValue(); + Element keyVal = doc.createElement(field.name()); + keyVal.setTextContent(ByteUtil.bytesToHex(value, false)); + result.appendChild(keyVal); + } + } + } catch (CardException ignored) { + } + return result; + } + + @Override + protected Element deviceElement(TestSuite suite) { + if (suite instanceof CardTestSuite) { + CardTestSuite cardSuite = (CardTestSuite) suite; + Element result = doc.createElement("device"); + result.setAttribute("type", "card"); + result.appendChild(cplcElement(cardSuite.getCard())); + + Element atr = doc.createElement("ATR"); + atr.setTextContent(ByteUtil.bytesToHex(cardSuite.getCard().getATR().getBytes(), false)); + result.appendChild(atr); + } + return null; + } } \ No newline at end of file diff --git a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java index 49a20f11..199f2c02 100644 --- a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java @@ -1,12 +1,16 @@ package cz.crcs.ectester.reader.output; import cz.crcs.ectester.common.output.BaseYAMLTestWriter; +import cz.crcs.ectester.common.test.TestSuite; import cz.crcs.ectester.common.test.Testable; import cz.crcs.ectester.common.util.ByteUtil; +import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.response.Response; +import cz.crcs.ectester.reader.test.CardTestSuite; import cz.crcs.ectester.reader.test.CommandTestable; +import javax.smartcardio.CardException; import java.io.PrintStream; import java.util.HashMap; import java.util.LinkedList; @@ -54,4 +58,33 @@ protected Map testableObject(Testable t) { } return null; } + + private Map cplcObject(CardMngr card) { + Map result = new HashMap<>(); + try { + CardMngr.CPLC cplc = card.getCPLC(); + if (!cplc.values().isEmpty()) { + for (Map.Entry entry : cplc.values().entrySet()) { + CardMngr.CPLC.Field field = entry.getKey(); + byte[] value = entry.getValue(); + result.put(field.name(), ByteUtil.bytesToHex(value, false)); + } + } + } catch (CardException ignored) { + } + return result; + } + + @Override + protected Map deviceObject(TestSuite suite) { + if (suite instanceof CardTestSuite) { + CardTestSuite cardSuite = (CardTestSuite) suite; + Map result = new HashMap<>(); + result.put("type", "card"); + result.put("cplc", cplcObject(cardSuite.getCard())); + result.put("ATR", ByteUtil.bytesToHex(cardSuite.getCard().getATR().getBytes(), false)); + return result; + } + return null; + } } diff --git a/src/cz/crcs/ectester/reader/test/CardTestSuite.java b/src/cz/crcs/ectester/reader/test/CardTestSuite.java index e12a588b..b451265e 100644 --- a/src/cz/crcs/ectester/reader/test/CardTestSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardTestSuite.java @@ -116,4 +116,8 @@ List defaultCategoryTests(CardMngr cardManager, String category, byte fiel return null; } + + public CardMngr getCard() { + return card; + } } diff --git a/src/cz/crcs/ectester/standalone/output/TextTestWriter.java b/src/cz/crcs/ectester/standalone/output/TextTestWriter.java index ddb1029d..972af187 100644 --- a/src/cz/crcs/ectester/standalone/output/TextTestWriter.java +++ b/src/cz/crcs/ectester/standalone/output/TextTestWriter.java @@ -1,6 +1,7 @@ package cz.crcs.ectester.standalone.output; import cz.crcs.ectester.common.output.BaseTextTestWriter; +import cz.crcs.ectester.common.test.TestSuite; import cz.crcs.ectester.common.test.Testable; import java.io.PrintStream; @@ -15,6 +16,13 @@ public TextTestWriter(PrintStream output) { @Override protected String testableString(Testable t) { + //TODO + return ""; + } + + @Override + protected String deviceString(TestSuite suite) { + //TODO return ""; } } \ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/output/XMLTestWriter.java b/src/cz/crcs/ectester/standalone/output/XMLTestWriter.java index 96066460..d2b16d8e 100644 --- a/src/cz/crcs/ectester/standalone/output/XMLTestWriter.java +++ b/src/cz/crcs/ectester/standalone/output/XMLTestWriter.java @@ -1,6 +1,7 @@ package cz.crcs.ectester.standalone.output; import cz.crcs.ectester.common.output.BaseXMLTestWriter; +import cz.crcs.ectester.common.test.TestSuite; import cz.crcs.ectester.common.test.Testable; import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.standalone.test.KeyAgreementTestable; @@ -109,4 +110,10 @@ protected Element testableElement(Testable t) { } return result; } + + @Override + protected Element deviceElement(TestSuite suite) { + //TODO + return null; + } } diff --git a/src/cz/crcs/ectester/standalone/output/YAMLTestWriter.java b/src/cz/crcs/ectester/standalone/output/YAMLTestWriter.java index 2133a8e2..dfc68131 100644 --- a/src/cz/crcs/ectester/standalone/output/YAMLTestWriter.java +++ b/src/cz/crcs/ectester/standalone/output/YAMLTestWriter.java @@ -1,6 +1,7 @@ package cz.crcs.ectester.standalone.output; import cz.crcs.ectester.common.output.BaseYAMLTestWriter; +import cz.crcs.ectester.common.test.TestSuite; import cz.crcs.ectester.common.test.Testable; import cz.crcs.ectester.common.util.ByteUtil; import cz.crcs.ectester.standalone.test.KeyAgreementTestable; @@ -88,4 +89,10 @@ protected Map testableObject(Testable t) { } return result; } + + @Override + protected Map deviceObject(TestSuite suite) { + //TODO + return null; + } } From 8dabbb965f40ff384e3545c9844435b701ed3fda Mon Sep 17 00:00:00 2001 From: J08nY Date: Sun, 14 Jan 2018 15:43:01 +0100 Subject: [PATCH 82/91] Update docs. --- docs/FORMAT.md | 30 +++++++++++++++++++++++++++--- docs/TESTS.md | 20 ++++++-------------- 2 files changed, 33 insertions(+), 17 deletions(-) diff --git a/docs/FORMAT.md b/docs/FORMAT.md index b68db399..849a62c3 100644 --- a/docs/FORMAT.md +++ b/docs/FORMAT.md @@ -1,7 +1,10 @@ # Format -CSV based, little-endian hexadecimal values. +ECTester mostly reads/outputs data in either human-readable format or using CSV. ## Curves +Input files for the `-c/--curve` option should be in CSV, little-endian hexadecimal format. +Output of the `-e/--export` option will also be in this format. + ### Prime field `p,a,b,gx,gy,n,h` @@ -9,6 +12,8 @@ CSV based, little-endian hexadecimal values. `m,e1,e2,e3,a,b,gx,gy,n,h` ## Key material +Input files for the `-k/--key`, `-pub/--public` and `-priv/--private` options should be in CSV, little-endian hexadecimal format. + ### Keypair `wx,wy,s` @@ -18,7 +23,7 @@ CSV based, little-endian hexadecimal values. ### Private key `s` -# Notation +### Notation - `p` - prime F_p - `m` - binary field exponent F_2^m - `e1` - largest exponent of the field polynomial @@ -32,4 +37,23 @@ CSV based, little-endian hexadecimal values. - `h` - the base-point cofactor - `wx` - the x coordinate of the public key - `wy` - the y coordinate of th public key - - `s` - the private key value \ No newline at end of file + - `s` - the private key value + +## Key generation output(CSV) +Output of the `-g/--generate` option. + +`index;time;pubW;privS` + +## KeyAgreement output(CSV) +Output of the `-dh/--ecdh` option. + +`index;time;pubW;privS;secret` + +## Signature output(CSV) +Output of the `-dsa/--ecdsa` option. + +`index;time;signature` + +## Test runs +By default test runs are output in a human readable format, however YAML and XML is also supported and can be selected +by using the `-o/--output` option. diff --git a/docs/TESTS.md b/docs/TESTS.md index 21298dc6..c4f38dcf 100644 --- a/docs/TESTS.md +++ b/docs/TESTS.md @@ -11,29 +11,21 @@ confirmation before running, be cautious.** ## Default Tests the default curves present on the card. These might not be present or the card might not even support ECC. -Tests keypair allocation, generation, ECDH and ECDSA. ECDH is first tested with two valid generated keypairs, then a with a -public key that is corrupted in various ways, these tests should fail. +Tests keypair allocation, generation, ECDH and ECDSA. ECDH is first tested with two valid generated keypairs, then +with a compressed public key to test support for compressed points. This test suite is run if no argument is provided to `-t / --test`. -Supports the `-nc / --named-curve` option so you can specify a category of curves or a curve to use if the card doesn't -have default curves preset. - For example: ```bash -java -jar ECTester.jar -nc secg -a -fp -t -``` -tests all(`-a`), prime field(`-fp`) SECG curves, using the default test suite. - -```bash -java -jar ECTester.jar -u -a -f2m -t +java -jar ECTester.jar -a -fp -t ``` -tests all(`-a`), binary field(`-f2m`), custom(`-u`) curves. +tests all(`-a`), prime field(`-fp`), using the default test suite. ```bash -java -jar ECTester.jar -b 128 -fp -t +java -jar ECTester.jar-a -f2m -t ``` -tests a 128 bit(`-b`), prime field(`-fp`) curve, (if a default one is present). +tests all(`-a`), binary field(`-f2m`), curves. ## Test-Vectors Tests using known test vectors provided by NIST/SECG/Brainpool: From 0c2858071641cf4b81bec681fb218e39f1f9e39f Mon Sep 17 00:00:00 2001 From: J08nY Date: Sun, 14 Jan 2018 16:42:10 +0100 Subject: [PATCH 83/91] Update README with current example. --- README.md | 47 ++++++++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 66406cca..6184b846 100644 --- a/README.md +++ b/README.md @@ -143,26 +143,35 @@ For more info about the curves see [CURVES](docs/CURVES.md). ### Example + > java -jar ECTesterReader.jar -t -a -s + ═══ Running test suite: default ═══ + ═══ The default test suite run basic support of ECDH and ECDSA. + ═══ Card ATR: 3bfa1800008131fe454a434f5033315632333298 + NOK ┳ Tests of 112b ALG_EC_FP support. Some. ┃ FAILURE ┃ Some sub-tests did not have the expected result. + ┣ OK ━ Allocated both keypairs 112b ALG_EC_FP ┃ SUCCESS ┃ 50 ms ┃ OK (0x9000) OK (0x9000) + ┣ OK ━ Generated both keypairs ┃ SUCCESS ┃ 37 ms ┃ OK (0x9000) OK (0x9000) + ┣ OK ━ Set custom curve parameters on both keypairs ┃ SUCCESS ┃ 0 ms ┃ OK (0x9000) OK (0x9000) + ┣ OK ━ Generated both keypairs ┃ SUCCESS ┃ 16 ms ┃ OK (0x9000) OK (0x9000) + ┣ OK ┳ Test of the ALG_EC_SVDP_DH KeyAgreement. ┃ SUCCESS ┃ All sub-tests had the expected result. + ┃ ┣ OK ━ Allocated KeyAgreement(ALG_EC_SVDP_DH) object ┃ SUCCESS ┃ 2 ms ┃ OK (0x9000) + ┃ ┣ OK ━ ALG_EC_SVDP_DH of local pubkey and remote privkey(unchanged point) ┃ SUCCESS ┃ 7 ms ┃ OK (0x9000) + ┃ ┗ OK ━ ALG_EC_SVDP_DH of local pubkey and remote privkey(COMPRESSED point) ┃ SUCCESS ┃ 14 ms ┃ OK (0x9000) + ┣ OK ┳ Test of the ALG_EC_SVDP_DHC KeyAgreement. ┃ SUCCESS ┃ All sub-tests had the expected result. + ┃ ┣ OK ━ Allocated KeyAgreement(ALG_EC_SVDP_DHC) object ┃ SUCCESS ┃ 0 ms ┃ OK (0x9000) + ┃ ┣ OK ━ ALG_EC_SVDP_DHC of local pubkey and remote privkey(unchanged point) ┃ SUCCESS ┃ 3 ms ┃ OK (0x9000) + ┃ ┗ OK ━ ALG_EC_SVDP_DHC of local pubkey and remote privkey(COMPRESSED point) ┃ SUCCESS ┃ 5 ms ┃ OK (0x9000) + ┣ NOK ━ Allocated KeyAgreement(ALG_EC_SVDP_DH_PLAIN) object ┃ FAILURE ┃ 0 ms ┃ fail (NO_SUCH_ALG, 0x0003) + ┣ NOK ━ Allocated KeyAgreement(ALG_EC_SVDP_DHC_PLAIN) object ┃ FAILURE ┃ 0 ms ┃ fail (NO_SUCH_ALG, 0x0003) + ┣ NOK ━ Allocated KeyAgreement(ALG_EC_PACE_GM) object ┃ FAILURE ┃ 0 ms ┃ fail (NO_SUCH_ALG, 0x0003) + ┣ NOK ━ Allocated KeyAgreement(ALG_EC_SVDP_DH_PLAIN_XY) object ┃ FAILURE ┃ 0 ms ┃ fail (NO_SUCH_ALG, 0x0003) + ┣ OK ┳ Test of the ALG_ECDSA_SHA signature. ┃ SUCCESS ┃ All sub-tests had the expected result. + ┃ ┣ OK ━ Allocated Signature(ALG_ECDSA_SHA) object ┃ SUCCESS ┃ 7 ms ┃ OK (0x9000) + ┃ ┗ OK ━ ALG_ECDSA_SHA with local keypair(random data) ┃ SUCCESS ┃ 43 ms ┃ OK (0x9000) + ┣ NOK ━ Allocated Signature(ALG_ECDSA_SHA_224) object ┃ FAILURE ┃ 0 ms ┃ fail (NO_SUCH_ALG, 0x0003) + ┣ NOK ━ Allocated Signature(ALG_ECDSA_SHA_256) object ┃ FAILURE ┃ 0 ms ┃ fail (NO_SUCH_ALG, 0x0003) + ┣ NOK ━ Allocated Signature(ALG_ECDSA_SHA_384) object ┃ FAILURE ┃ 0 ms ┃ fail (NO_SUCH_ALG, 0x0003) + ┗ NOK ━ Allocated Signature(ALG_ECDSA_SHA_512) object ┃ FAILURE ┃ 0 ms ┃ fail (NO_SUCH_ALG, 0x0003) - ### Test for support and with valid and invalid EC curves - EC type: ALG_EC_FP - EC key length (bits): 256 bits - KeyPair object allocation: OK (0x9000) - Generate key with def curve (fails if no def): OK (0x9000) - Set valid custom curve: OK (0x9000) - Generate key with valid curve: OK (0x9000) - !! ECDH agreement with valid point: fail (unknown, 0x6f00) - ECDH agreement with invalid point (fail is good): fail (ILLEGAL_VALUE, 0x 1) - ECDSA signature on random data: OK (0x9000) - Set anomalous custom curve (may fail): OK (0x9000) - Generate key with anomalous curve (may fail): fail (unknown, 0x6f00) - ECDH agreement with small order point (fail is good):fail (skipped, 0x ee1) - Set invalid custom curve (may fail): OK (0x9000) - Generate key with invalid curve (fail is good): fail (unknown, 0x6f00) - Set invalid field (may fail): OK (0x9000) - Generate key with invalid field (fail si good): fail (unknown, 0x6f00) - -*Explanation: ALG_EC_FP with 256b curve was tested. Is supported by card (KeyPair object allocation: OK), don't have preset default curve (Generate key with def curve: fail), custom curve can be set (Set valid custom curve: OK), new keypair can be generated (Generate key with valid curve: OK), ECDH key agreement failed to execute (ECDH agreement with valid point: fail) although it was supposed to succeed (log line is therefore marked with !!), ECDH wil fail (expected behavior) if invalid point is provided (ECDH agreement with invalid point: fail), ECDSA signature worked and verified correctly (ECDSA signature on random data: OK), anomalous curve can be set (Set anomalous custom curve: OK), however generating a key on it will fail (Generate key with anomalous curve: fail), ECDH with small-order public key provided will fail as intended (ECDH agreement with small order point: fail), invalid custom curve could be set (Set invalid custom curve: OK), new keypair cannot be generated with invalid curve (Generate key with invalid curve: fail), invalid field (non-prime) could be set (Set invalid field: OK), however a key could not be generated (Generate key with invalid field: fail).* If you are interested in testing support for other JavaCard algorithms, please visit JCAlgTester project: https://github.com/crocs-muni/JCAlgTest From aafbae54730ea3aafa92990cdbe194b9fb2eca59 Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 17 Jan 2018 18:02:30 +0100 Subject: [PATCH 84/91] Remove unused card test suite code. --- .../ectester/reader/test/CardTestSuite.java | 99 ------------------- 1 file changed, 99 deletions(-) diff --git a/src/cz/crcs/ectester/reader/test/CardTestSuite.java b/src/cz/crcs/ectester/reader/test/CardTestSuite.java index b451265e..0eccd16a 100644 --- a/src/cz/crcs/ectester/reader/test/CardTestSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardTestSuite.java @@ -1,25 +1,9 @@ package cz.crcs.ectester.reader.test; -import cz.crcs.ectester.applet.ECTesterApplet; -import cz.crcs.ectester.applet.EC_Consts; -import cz.crcs.ectester.common.ec.EC_Curve; import cz.crcs.ectester.common.output.TestWriter; -import cz.crcs.ectester.common.test.CompoundTest; -import cz.crcs.ectester.common.test.Result; -import cz.crcs.ectester.common.test.Test; import cz.crcs.ectester.common.test.TestSuite; -import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTesterReader; -import cz.crcs.ectester.reader.command.Command; - -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.function.Function; - -import static cz.crcs.ectester.common.test.Result.ExpectedValue; -import static cz.crcs.ectester.common.test.Result.Value; /** * @author Jan Jancar johny@neuromancer.sk @@ -34,89 +18,6 @@ public abstract class CardTestSuite extends TestSuite { this.cfg = cfg; } - /** - * @param cardManager cardManager to send APDU through - * @param generateExpected expected result of the Generate command - * @param ecdhExpected expected result of the ordinary ECDH command - * @param ecdhCompressExpected expected result of ECDH with a compressed point - * @param ecdsaExpected expected result of the ordinary ECDSA command - * @param description compound test description - * @return test to run - */ - Test defaultCurveTests(CardMngr cardManager, ExpectedValue generateExpected, ExpectedValue ecdhExpected, ExpectedValue ecdhCompressExpected, ExpectedValue ecdsaExpected, String description) { - List tests = new LinkedList<>(); - - tests.add(CommandTest.expect(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_BOTH), generateExpected)); - tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH), ecdhExpected)); - tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_COMPRESS, ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH), ecdhExpected)); - tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_ONE, ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH), ExpectedValue.FAILURE)); - tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_ZERO, ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH), ExpectedValue.FAILURE)); - tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_MAX, ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH), ExpectedValue.FAILURE)); - tests.add(CommandTest.expect(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_FULLRANDOM, ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH), ExpectedValue.FAILURE)); - tests.add(CommandTest.expect(new Command.ECDSA(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.Signature_ALG_ECDSA_SHA, ECTesterApplet.EXPORT_FALSE, null), ecdsaExpected)); - - return CompoundTest.function((testArray) -> { - Function shouldHave = (expected) -> { - switch (expected) { - case SUCCESS: - return "succeeded"; - case FAILURE: - return "failed"; - case ANY: - default: - return ""; - } - }; - - for (int i = 0; i < testArray.length; ++i) { - Test t = testArray[i]; - if (!t.ok()) { - if (i == 0) { // generate - return new Result(Value.FAILURE, "The generation of a key should have " + shouldHave.apply(generateExpected) + ", but it did not."); - } else if (i == 2) { // ecdh compress - return new Result(Value.FAILURE, "The ECDH should have " + shouldHave.apply(ecdhExpected) + ", but it did not."); - } else if (i == 1) { // ecdh normal - return new Result(Value.FAILURE, "The ECDH of a compressed point should have " + shouldHave.apply(ecdhCompressExpected) + ", but it did not."); - } else if (i <= 6) { // ecdh wrong, should fail - return new Result(Value.FAILURE, "The ECDH of a corrupted point should have failed, but it did not."); - } else { // ecdsa - return new Result(Value.FAILURE, "The ECDSA should have " + shouldHave.apply(ecdsaExpected) + ", but it did not."); - } - } - } - return new Result(Value.SUCCESS); - }, description, tests.toArray(new Test[0])); - } - - /** - * @param cardManager cardManager to send APDU through - * @param category category to test - * @param field field to test (KeyPair.ALG_EC_FP || KeyPair.ALG_EC_F2M) - * @param setExpected expected result of the Set (curve) command - * @param generateExpected expected result of the Generate command - * @param ecdhExpected expected result of the ordinary ECDH command - * @param ecdhCompressedExpected expected result of the ECDH command with a compressed point. - * @param ecdsaExpected expected result of the ordinary ECDSA command - * @param description compound test description - * @return run to run - */ - List defaultCategoryTests(CardMngr cardManager, String category, byte field, ExpectedValue setExpected, ExpectedValue generateExpected, ExpectedValue ecdhExpected, ExpectedValue ecdhCompressedExpected, ExpectedValue ecdsaExpected, String description) { - Map curves = EC_Store.getInstance().getObjects(EC_Curve.class, category); - if (curves == null) - return null; - for (Map.Entry entry : curves.entrySet()) { - EC_Curve curve = entry.getValue(); - if (curve.getField() == field && (curve.getBits() == cfg.bits || cfg.all)) { - //tests.add(CommandTest.expect(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), field), ExpectedValue.SUCCESS)); - //tests.add(CommandTest.expect(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), setExpected)); - //tests.add(defaultCurveTests(cardManager, generateExpected, ecdhExpected, ecdhCompressedExpected, ecdsaExpected, description)); - //run.add(new BaseRunnable(() -> new Command.Cleanup(cardManager))); - } - } - - return null; - } - public CardMngr getCard() { return card; } From d5b55308bf52aa7c55e521f6012fbfc8e5ba4ce4 Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 18 Jan 2018 18:58:11 +0100 Subject: [PATCH 85/91] Prefix curve CSV data with 0x in the data store, to be consistent. --- src/cz/crcs/ectester/data/nist/b163.csv | 2 +- src/cz/crcs/ectester/data/nist/b233.csv | 2 +- src/cz/crcs/ectester/data/nist/b283.csv | 2 +- src/cz/crcs/ectester/data/nist/b409.csv | 10 +--------- src/cz/crcs/ectester/data/nist/b571.csv | 2 +- src/cz/crcs/ectester/data/nist/k163.csv | 2 +- src/cz/crcs/ectester/data/nist/k233.csv | 2 +- src/cz/crcs/ectester/data/nist/k283.csv | 2 +- src/cz/crcs/ectester/data/nist/k409.csv | 2 +- src/cz/crcs/ectester/data/nist/k571.csv | 2 +- src/cz/crcs/ectester/data/secg/sect163k1.csv | 2 +- src/cz/crcs/ectester/data/secg/sect163r1.csv | 2 +- src/cz/crcs/ectester/data/secg/sect163r2.csv | 2 +- src/cz/crcs/ectester/data/secg/sect233k1.csv | 2 +- src/cz/crcs/ectester/data/secg/sect233r1.csv | 2 +- src/cz/crcs/ectester/data/secg/sect239k1.csv | 2 +- src/cz/crcs/ectester/data/secg/sect283k1.csv | 2 +- src/cz/crcs/ectester/data/secg/sect283r1.csv | 2 +- src/cz/crcs/ectester/data/secg/sect409k1.csv | 2 +- src/cz/crcs/ectester/data/secg/sect409r1.csv | 2 +- src/cz/crcs/ectester/data/secg/sect571k1.csv | 2 +- src/cz/crcs/ectester/data/secg/sect571r1.csv | 2 +- src/cz/crcs/ectester/data/wrong/wrongt163.csv | 2 +- src/cz/crcs/ectester/data/wrong/wrongt233.csv | 2 +- src/cz/crcs/ectester/data/wrong/wrongt239.csv | 2 +- src/cz/crcs/ectester/data/wrong/wrongt283.csv | 2 +- src/cz/crcs/ectester/data/wrong/wrongt409.csv | 2 +- src/cz/crcs/ectester/data/wrong/wrongt571.csv | 2 +- 28 files changed, 28 insertions(+), 36 deletions(-) diff --git a/src/cz/crcs/ectester/data/nist/b163.csv b/src/cz/crcs/ectester/data/nist/b163.csv index 9259308b..85b777b5 100644 --- a/src/cz/crcs/ectester/data/nist/b163.csv +++ b/src/cz/crcs/ectester/data/nist/b163.csv @@ -1 +1 @@ -00a3,0007,0006,0003,000000000000000000000000000000000000000001,020a601907b8c953ca1481eb10512f78744a3205fd,03f0eba16286a2d57ea0991168d4994637e8343e36,00d51fbc6c71a0094fa2cdd545b11c5c0c797324f1,040000000000000000000292fe77e70c12a4234c33,2 \ No newline at end of file +0x00a3,0x0007,0x0006,0x0003,0x000000000000000000000000000000000000000001,0x020a601907b8c953ca1481eb10512f78744a3205fd,0x03f0eba16286a2d57ea0991168d4994637e8343e36,0x00d51fbc6c71a0094fa2cdd545b11c5c0c797324f1,0x040000000000000000000292fe77e70c12a4234c33,0x2 diff --git a/src/cz/crcs/ectester/data/nist/b233.csv b/src/cz/crcs/ectester/data/nist/b233.csv index 79f0e854..a9c27112 100644 --- a/src/cz/crcs/ectester/data/nist/b233.csv +++ b/src/cz/crcs/ectester/data/nist/b233.csv @@ -1 +1 @@ -00e9,004a,0000,0000,000000000000000000000000000000000000000000000000000000000001,0066647ede6c332c7f8c0923bb58213b333b20e9ce4281fe115f7d8f90ad,00fac9dfcbac8313bb2139f1bb755fef65bc391f8b36f8f8eb7371fd558b,01006a08a41903350678e58528bebf8a0beff867a7ca36716f7e01f81052,1000000000000000000000000000013e974e72f8a6922031d2603cfe0d7,2 \ No newline at end of file +0x00e9,0x004a,0x0000,0x0000,0x000000000000000000000000000000000000000000000000000000000001,0x0066647ede6c332c7f8c0923bb58213b333b20e9ce4281fe115f7d8f90ad,0x00fac9dfcbac8313bb2139f1bb755fef65bc391f8b36f8f8eb7371fd558b,0x01006a08a41903350678e58528bebf8a0beff867a7ca36716f7e01f81052,0x1000000000000000000000000000013e974e72f8a6922031d2603cfe0d7,0x2 diff --git a/src/cz/crcs/ectester/data/nist/b283.csv b/src/cz/crcs/ectester/data/nist/b283.csv index 88506b31..06cc1516 100644 --- a/src/cz/crcs/ectester/data/nist/b283.csv +++ b/src/cz/crcs/ectester/data/nist/b283.csv @@ -1 +1 @@ -011b,000c,0007,0005,00000000000000000000000000000000000000000000000000000000000000000000001,27b680ac8b8596da5a4af8a19a0303fca97fd7645309fa2a581485af6263e313b79a2f5,5f939258db7dd90e1934f8c70b0dfec2eed25b8557eac9c80e2e198f8cdbecd86b12053,3676854fe24141cb98fe6d4b20d02b4516ff702350eddb0826779c813f0df45be8112f4,3ffffffffffffffffffffffffffffffffffef90399660fc938a90165b042a7cefadb307,2 \ No newline at end of file +0x011b,0x000c,0x0007,0x0005,0x00000000000000000000000000000000000000000000000000000000000000000000001,0x27b680ac8b8596da5a4af8a19a0303fca97fd7645309fa2a581485af6263e313b79a2f5,0x5f939258db7dd90e1934f8c70b0dfec2eed25b8557eac9c80e2e198f8cdbecd86b12053,0x3676854fe24141cb98fe6d4b20d02b4516ff702350eddb0826779c813f0df45be8112f4,0x3ffffffffffffffffffffffffffffffffffef90399660fc938a90165b042a7cefadb307,0x2 diff --git a/src/cz/crcs/ectester/data/nist/b409.csv b/src/cz/crcs/ectester/data/nist/b409.csv index ed5ef5ba..66523a78 100644 --- a/src/cz/crcs/ectester/data/nist/b409.csv +++ b/src/cz/crcs/ectester/data/nist/b409.csv @@ -1,9 +1 @@ -0199,0057,0000,0000,0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,021a5c2c8ee9feb5c4b9a753b7b476b7fd6422ef1f3dd674761fa99d6ac27c8a9a197b272822f6cd57a55aa4f50ae317b13545f,15d4860d088ddb3496b0c6064756260441cde4af1771d4db01ffe5b34e59703dc255a868a1180515603aeab60794e54bb7996a7,061b1cfab6be5f32bbfa78324ed106a7636b9c5a7bd198d0158aa4f5488d08f38514f1fdf4b4f40d2181b3681c364ba0273c706,10000000000000000000000000000000000000000000000000001e2aad6a612f33307be5fa47c3c9e052f838164cd37d9a21173,2 - - - - - - - - +0x0199,0x0057,0x0000,0x0000,0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,0x021a5c2c8ee9feb5c4b9a753b7b476b7fd6422ef1f3dd674761fa99d6ac27c8a9a197b272822f6cd57a55aa4f50ae317b13545f,0x15d4860d088ddb3496b0c6064756260441cde4af1771d4db01ffe5b34e59703dc255a868a1180515603aeab60794e54bb7996a7,0x061b1cfab6be5f32bbfa78324ed106a7636b9c5a7bd198d0158aa4f5488d08f38514f1fdf4b4f40d2181b3681c364ba0273c706,0x10000000000000000000000000000000000000000000000000001e2aad6a612f33307be5fa47c3c9e052f838164cd37d9a21173,0x2 diff --git a/src/cz/crcs/ectester/data/nist/b571.csv b/src/cz/crcs/ectester/data/nist/b571.csv index c0bef32e..7d824c40 100644 --- a/src/cz/crcs/ectester/data/nist/b571.csv +++ b/src/cz/crcs/ectester/data/nist/b571.csv @@ -1 +1 @@ -023b,000a,0005,0002,00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,2f40e7e2221f295de297117b7f3d62f5c6a97ffcb8ceff1cd6ba8ce4a9a18ad84ffabbd8efa59332be7ad6756a66e294afd185a78ff12aa520e4de739baca0c7ffeff7f2955727a,303001d34b856296c16c0d40d3cd7750a93d1d2955fa80aa5f40fc8db7b2abdbde53950f4c0d293cdd711a35b67fb1499ae60038614f1394abfa3b4c850d927e1e7769c8eec2d19,37bf27342da639b6dccfffeb73d69d78c6c27a6009cbbca1980f8533921e8a684423e43bab08a576291af8f461bb2a8b3531d2f0485c19b16e2f1516e23dd3c1a4827af1b8ac15b,3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe661ce18ff55987308059b186823851ec7dd9ca1161de93d5174d66e8382e9bb2fe84e47,2 \ No newline at end of file +0x023b,0x000a,0x0005,0x0002,0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,0x2f40e7e2221f295de297117b7f3d62f5c6a97ffcb8ceff1cd6ba8ce4a9a18ad84ffabbd8efa59332be7ad6756a66e294afd185a78ff12aa520e4de739baca0c7ffeff7f2955727a,0x303001d34b856296c16c0d40d3cd7750a93d1d2955fa80aa5f40fc8db7b2abdbde53950f4c0d293cdd711a35b67fb1499ae60038614f1394abfa3b4c850d927e1e7769c8eec2d19,0x37bf27342da639b6dccfffeb73d69d78c6c27a6009cbbca1980f8533921e8a684423e43bab08a576291af8f461bb2a8b3531d2f0485c19b16e2f1516e23dd3c1a4827af1b8ac15b,0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe661ce18ff55987308059b186823851ec7dd9ca1161de93d5174d66e8382e9bb2fe84e47,0x2 diff --git a/src/cz/crcs/ectester/data/nist/k163.csv b/src/cz/crcs/ectester/data/nist/k163.csv index 21c2f5fc..e35fbda5 100644 --- a/src/cz/crcs/ectester/data/nist/k163.csv +++ b/src/cz/crcs/ectester/data/nist/k163.csv @@ -1 +1 @@ -00a3,0007,0006,0003,000000000000000000000000000000000000000001,000000000000000000000000000000000000000001,02fe13c0537bbc11acaa07d793de4e6d5e5c94eee8,0289070fb05d38ff58321f2e800536d538ccdaa3d9,04000000000000000000020108a2e0cc0d99f8a5ef,2 \ No newline at end of file +0x00a3,0x0007,0x0006,0x0003,0x000000000000000000000000000000000000000001,0x000000000000000000000000000000000000000001,0x02fe13c0537bbc11acaa07d793de4e6d5e5c94eee8,0x0289070fb05d38ff58321f2e800536d538ccdaa3d9,0x04000000000000000000020108a2e0cc0d99f8a5ef,0x2 diff --git a/src/cz/crcs/ectester/data/nist/k233.csv b/src/cz/crcs/ectester/data/nist/k233.csv index 45e3c49d..a429d813 100644 --- a/src/cz/crcs/ectester/data/nist/k233.csv +++ b/src/cz/crcs/ectester/data/nist/k233.csv @@ -1 +1 @@ -00e9,004a,0000,0000,000000000000000000000000000000000000000000000000000000000000,000000000000000000000000000000000000000000000000000000000001,017232ba853a7e731af129f22ff4149563a419c26bf50a4c9d6eefad6126,01db537dece819b7f70f555a67c427a8cd9bf18aeb9b56e0c11056fae6a3,8000000000000000000000000000069d5bb915bcd46efb1ad5f173abdf,4 \ No newline at end of file +0x00e9,0x004a,0x0000,0x0000,0x000000000000000000000000000000000000000000000000000000000000,0x000000000000000000000000000000000000000000000000000000000001,0x017232ba853a7e731af129f22ff4149563a419c26bf50a4c9d6eefad6126,0x01db537dece819b7f70f555a67c427a8cd9bf18aeb9b56e0c11056fae6a3,0x8000000000000000000000000000069d5bb915bcd46efb1ad5f173abdf,0x4 diff --git a/src/cz/crcs/ectester/data/nist/k283.csv b/src/cz/crcs/ectester/data/nist/k283.csv index b0e28004..32dcc3ef 100644 --- a/src/cz/crcs/ectester/data/nist/k283.csv +++ b/src/cz/crcs/ectester/data/nist/k283.csv @@ -1 +1 @@ -011b,000c,0007,0005,00000000000000000000000000000000000000000000000000000000000000000000000,00000000000000000000000000000000000000000000000000000000000000000000001,503213f78ca44883f1a3b8162f188e553cd265f23c1567a16876913b0c2ac2458492836,1ccda380f1c9e318d90f95d07e5426fe87e45c0e8184698e45962364e34116177dd2259,1ffffffffffffffffffffffffffffffffffe9ae2ed07577265dff7f94451e061e163c61,4 \ No newline at end of file +0x011b,0x000c,0x0007,0x0005,0x00000000000000000000000000000000000000000000000000000000000000000000000,0x00000000000000000000000000000000000000000000000000000000000000000000001,0x503213f78ca44883f1a3b8162f188e553cd265f23c1567a16876913b0c2ac2458492836,0x1ccda380f1c9e318d90f95d07e5426fe87e45c0e8184698e45962364e34116177dd2259,0x1ffffffffffffffffffffffffffffffffffe9ae2ed07577265dff7f94451e061e163c61,0x4 diff --git a/src/cz/crcs/ectester/data/nist/k409.csv b/src/cz/crcs/ectester/data/nist/k409.csv index fc44b82f..119754af 100644 --- a/src/cz/crcs/ectester/data/nist/k409.csv +++ b/src/cz/crcs/ectester/data/nist/k409.csv @@ -1 +1 @@ -0199,0057,0000,0000,0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,060f05f658f49c1ad3ab1890f7184210efd0987e307c84c27accfb8f9f67cc2c460189eb5aaaa62ee222eb1b35540cfe9023746,1e369050b7c4e42acba1dacbf04299c3460782f918ea427e6325165e9ea10e3da5f6c42e9c55215aa9ca27a5863ec48d8e0286b,7ffffffffffffffffffffffffffffffffffffffffffffffffffe5f83b2d4ea20400ec4557d5ed3e3e7ca5b4b5c83b8e01e5fcf,4 \ No newline at end of file +0x0199,0x0057,0x0000,0x0000,0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,0x060f05f658f49c1ad3ab1890f7184210efd0987e307c84c27accfb8f9f67cc2c460189eb5aaaa62ee222eb1b35540cfe9023746,0x1e369050b7c4e42acba1dacbf04299c3460782f918ea427e6325165e9ea10e3da5f6c42e9c55215aa9ca27a5863ec48d8e0286b,0x7ffffffffffffffffffffffffffffffffffffffffffffffffffe5f83b2d4ea20400ec4557d5ed3e3e7ca5b4b5c83b8e01e5fcf,0x4 diff --git a/src/cz/crcs/ectester/data/nist/k571.csv b/src/cz/crcs/ectester/data/nist/k571.csv index 5660f6a1..7fb14319 100644 --- a/src/cz/crcs/ectester/data/nist/k571.csv +++ b/src/cz/crcs/ectester/data/nist/k571.csv @@ -1 +1 @@ -023b,000a,0005,0002,00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,26eb7a859923fbc82189631f8103fe4ac9ca2970012d5d46024804801841ca44370958493b205e647da304db4ceb08cbbd1ba39494776fb988b47174dca88c7e2945283a01c8972,349dc807f4fbf374f4aeade3bca95314dd58cec9f307a54ffc61efc006d8a2c9d4979c0ac44aea74fbebbb9f772aedcb620b01a7ba7af1b320430c8591984f601cd4c143ef1c7a3,20000000000000000000000000000000000000000000000000000000000000000000000131850e1f19a63e4b391a8db917f4138b630d84be5d639381e91deb45cfe778f637c1001,4 \ No newline at end of file +0x023b,0x000a,0x0005,0x0002,0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,0x26eb7a859923fbc82189631f8103fe4ac9ca2970012d5d46024804801841ca44370958493b205e647da304db4ceb08cbbd1ba39494776fb988b47174dca88c7e2945283a01c8972,0x349dc807f4fbf374f4aeade3bca95314dd58cec9f307a54ffc61efc006d8a2c9d4979c0ac44aea74fbebbb9f772aedcb620b01a7ba7af1b320430c8591984f601cd4c143ef1c7a3,0x20000000000000000000000000000000000000000000000000000000000000000000000131850e1f19a63e4b391a8db917f4138b630d84be5d639381e91deb45cfe778f637c1001,0x4 diff --git a/src/cz/crcs/ectester/data/secg/sect163k1.csv b/src/cz/crcs/ectester/data/secg/sect163k1.csv index 21c2f5fc..e35fbda5 100644 --- a/src/cz/crcs/ectester/data/secg/sect163k1.csv +++ b/src/cz/crcs/ectester/data/secg/sect163k1.csv @@ -1 +1 @@ -00a3,0007,0006,0003,000000000000000000000000000000000000000001,000000000000000000000000000000000000000001,02fe13c0537bbc11acaa07d793de4e6d5e5c94eee8,0289070fb05d38ff58321f2e800536d538ccdaa3d9,04000000000000000000020108a2e0cc0d99f8a5ef,2 \ No newline at end of file +0x00a3,0x0007,0x0006,0x0003,0x000000000000000000000000000000000000000001,0x000000000000000000000000000000000000000001,0x02fe13c0537bbc11acaa07d793de4e6d5e5c94eee8,0x0289070fb05d38ff58321f2e800536d538ccdaa3d9,0x04000000000000000000020108a2e0cc0d99f8a5ef,0x2 diff --git a/src/cz/crcs/ectester/data/secg/sect163r1.csv b/src/cz/crcs/ectester/data/secg/sect163r1.csv index a537e6f0..fa7a3280 100644 --- a/src/cz/crcs/ectester/data/secg/sect163r1.csv +++ b/src/cz/crcs/ectester/data/secg/sect163r1.csv @@ -1 +1 @@ -00a3,0007,0006,0003,07b6882caaefa84f9554ff8428bd88e246d2782ae2,0713612dcddcb40aab946bda29ca91f73af958afd9,0369979697ab43897789566789567f787a7876a654,00435edb42efafb2989d51fefce3c80988f41ff883,03ffffffffffffffffffff48aab689c29ca710279b,2 \ No newline at end of file +0x00a3,0x0007,0x0006,0x0003,0x07b6882caaefa84f9554ff8428bd88e246d2782ae2,0x0713612dcddcb40aab946bda29ca91f73af958afd9,0x0369979697ab43897789566789567f787a7876a654,0x00435edb42efafb2989d51fefce3c80988f41ff883,0x03ffffffffffffffffffff48aab689c29ca710279b,0x2 diff --git a/src/cz/crcs/ectester/data/secg/sect163r2.csv b/src/cz/crcs/ectester/data/secg/sect163r2.csv index 9259308b..85b777b5 100644 --- a/src/cz/crcs/ectester/data/secg/sect163r2.csv +++ b/src/cz/crcs/ectester/data/secg/sect163r2.csv @@ -1 +1 @@ -00a3,0007,0006,0003,000000000000000000000000000000000000000001,020a601907b8c953ca1481eb10512f78744a3205fd,03f0eba16286a2d57ea0991168d4994637e8343e36,00d51fbc6c71a0094fa2cdd545b11c5c0c797324f1,040000000000000000000292fe77e70c12a4234c33,2 \ No newline at end of file +0x00a3,0x0007,0x0006,0x0003,0x000000000000000000000000000000000000000001,0x020a601907b8c953ca1481eb10512f78744a3205fd,0x03f0eba16286a2d57ea0991168d4994637e8343e36,0x00d51fbc6c71a0094fa2cdd545b11c5c0c797324f1,0x040000000000000000000292fe77e70c12a4234c33,0x2 diff --git a/src/cz/crcs/ectester/data/secg/sect233k1.csv b/src/cz/crcs/ectester/data/secg/sect233k1.csv index 45e3c49d..a429d813 100644 --- a/src/cz/crcs/ectester/data/secg/sect233k1.csv +++ b/src/cz/crcs/ectester/data/secg/sect233k1.csv @@ -1 +1 @@ -00e9,004a,0000,0000,000000000000000000000000000000000000000000000000000000000000,000000000000000000000000000000000000000000000000000000000001,017232ba853a7e731af129f22ff4149563a419c26bf50a4c9d6eefad6126,01db537dece819b7f70f555a67c427a8cd9bf18aeb9b56e0c11056fae6a3,8000000000000000000000000000069d5bb915bcd46efb1ad5f173abdf,4 \ No newline at end of file +0x00e9,0x004a,0x0000,0x0000,0x000000000000000000000000000000000000000000000000000000000000,0x000000000000000000000000000000000000000000000000000000000001,0x017232ba853a7e731af129f22ff4149563a419c26bf50a4c9d6eefad6126,0x01db537dece819b7f70f555a67c427a8cd9bf18aeb9b56e0c11056fae6a3,0x8000000000000000000000000000069d5bb915bcd46efb1ad5f173abdf,0x4 diff --git a/src/cz/crcs/ectester/data/secg/sect233r1.csv b/src/cz/crcs/ectester/data/secg/sect233r1.csv index 8f27bc23..faba42b1 100644 --- a/src/cz/crcs/ectester/data/secg/sect233r1.csv +++ b/src/cz/crcs/ectester/data/secg/sect233r1.csv @@ -1 +1 @@ -00e9,004a,0000,0000,000000000000000000000000000000000000000000000000000000000001,0066647ede6c332c7f8c0923bb58213b333b20e9ce4281fe115f7d8f90ad,00fac9dfcbac8313bb2139f1bb755fef65bc391f8b36f8f8eb7371fd558b,01006a08a41903350678e58528bebf8a0beff867a7ca36716f7e01f81052,01000000000000000000000000000013e974e72f8a6922031d2603cfe0d7,2 \ No newline at end of file +0x00e9,0x004a,0x0000,0x0000,0x000000000000000000000000000000000000000000000000000000000001,0x0066647ede6c332c7f8c0923bb58213b333b20e9ce4281fe115f7d8f90ad,0x00fac9dfcbac8313bb2139f1bb755fef65bc391f8b36f8f8eb7371fd558b,0x01006a08a41903350678e58528bebf8a0beff867a7ca36716f7e01f81052,0x01000000000000000000000000000013e974e72f8a6922031d2603cfe0d7,0x2 diff --git a/src/cz/crcs/ectester/data/secg/sect239k1.csv b/src/cz/crcs/ectester/data/secg/sect239k1.csv index 187316f5..8b2e58aa 100644 --- a/src/cz/crcs/ectester/data/secg/sect239k1.csv +++ b/src/cz/crcs/ectester/data/secg/sect239k1.csv @@ -1 +1 @@ -00ef,009e,0000,0000,000000000000000000000000000000000000000000000000000000000000,000000000000000000000000000000000000000000000000000000000001,29a0b6a887a983e9730988a68727a8b2d126c44cc2cc7b2a6555193035dc,76310804f12e549bdb011c103089e73510acb275fc312a5dc6b76553f0ca,2000000000000000000000000000005a79fec67cb6e91f1c1da800e478a5,4 \ No newline at end of file +0x00ef,0x009e,0x0000,0x0000,0x000000000000000000000000000000000000000000000000000000000000,0x000000000000000000000000000000000000000000000000000000000001,0x29a0b6a887a983e9730988a68727a8b2d126c44cc2cc7b2a6555193035dc,0x76310804f12e549bdb011c103089e73510acb275fc312a5dc6b76553f0ca,0x2000000000000000000000000000005a79fec67cb6e91f1c1da800e478a5,0x4 diff --git a/src/cz/crcs/ectester/data/secg/sect283k1.csv b/src/cz/crcs/ectester/data/secg/sect283k1.csv index fde73063..9a3a8f6c 100644 --- a/src/cz/crcs/ectester/data/secg/sect283k1.csv +++ b/src/cz/crcs/ectester/data/secg/sect283k1.csv @@ -1 +1 @@ -011b,000c,0007,0005,000000000000000000000000000000000000000000000000000000000000000000000000,000000000000000000000000000000000000000000000000000000000000000000000001,0503213f78ca44883f1a3b8162f188e553cd265f23c1567a16876913b0c2ac2458492836,01ccda380f1c9e318d90f95d07e5426fe87e45c0e8184698e45962364e34116177dd2259,01ffffffffffffffffffffffffffffffffffe9ae2ed07577265dff7f94451e061e163c61,4 +0x011b,0x000c,0x0007,0x0005,0x000000000000000000000000000000000000000000000000000000000000000000000000,0x000000000000000000000000000000000000000000000000000000000000000000000001,0x0503213f78ca44883f1a3b8162f188e553cd265f23c1567a16876913b0c2ac2458492836,0x01ccda380f1c9e318d90f95d07e5426fe87e45c0e8184698e45962364e34116177dd2259,0x01ffffffffffffffffffffffffffffffffffe9ae2ed07577265dff7f94451e061e163c61,0x4 diff --git a/src/cz/crcs/ectester/data/secg/sect283r1.csv b/src/cz/crcs/ectester/data/secg/sect283r1.csv index ff75b557..68c17f6c 100644 --- a/src/cz/crcs/ectester/data/secg/sect283r1.csv +++ b/src/cz/crcs/ectester/data/secg/sect283r1.csv @@ -1 +1 @@ -011b,000c,0007,0005,000000000000000000000000000000000000000000000000000000000000000000000001,027b680ac8b8596da5a4af8a19a0303fca97fd7645309fa2a581485af6263e313b79a2f5,05f939258db7dd90e1934f8c70b0dfec2eed25b8557eac9c80e2e198f8cdbecd86b12053,03676854fe24141cb98fe6d4b20d02b4516ff702350eddb0826779c813f0df45be8112f4,03ffffffffffffffffffffffffffffffffffef90399660fc938a90165b042a7cefadb307,2 \ No newline at end of file +0x011b,0x000c,0x0007,0x0005,0x000000000000000000000000000000000000000000000000000000000000000000000001,0x027b680ac8b8596da5a4af8a19a0303fca97fd7645309fa2a581485af6263e313b79a2f5,0x05f939258db7dd90e1934f8c70b0dfec2eed25b8557eac9c80e2e198f8cdbecd86b12053,0x03676854fe24141cb98fe6d4b20d02b4516ff702350eddb0826779c813f0df45be8112f4,0x03ffffffffffffffffffffffffffffffffffef90399660fc938a90165b042a7cefadb307,0x2 diff --git a/src/cz/crcs/ectester/data/secg/sect409k1.csv b/src/cz/crcs/ectester/data/secg/sect409k1.csv index 4c88afb5..e39e0761 100644 --- a/src/cz/crcs/ectester/data/secg/sect409k1.csv +++ b/src/cz/crcs/ectester/data/secg/sect409k1.csv @@ -1 +1 @@ -0199,0057,0000,0000,00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,0060f05f658f49c1ad3ab1890f7184210efd0987e307c84c27accfb8f9f67cc2c460189eb5aaaa62ee222eb1b35540cfe9023746,01e369050b7c4e42acba1dacbf04299c3460782f918ea427e6325165e9ea10e3da5f6c42e9c55215aa9ca27a5863ec48d8e0286b,7ffffffffffffffffffffffffffffffffffffffffffffffffffe5f83b2d4ea20400ec4557d5ed3e3e7ca5b4b5c83b8e01e5fcf,4 \ No newline at end of file +0x0199,0x0057,0x0000,0x0000,0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,0x0060f05f658f49c1ad3ab1890f7184210efd0987e307c84c27accfb8f9f67cc2c460189eb5aaaa62ee222eb1b35540cfe9023746,0x01e369050b7c4e42acba1dacbf04299c3460782f918ea427e6325165e9ea10e3da5f6c42e9c55215aa9ca27a5863ec48d8e0286b,0x7ffffffffffffffffffffffffffffffffffffffffffffffffffe5f83b2d4ea20400ec4557d5ed3e3e7ca5b4b5c83b8e01e5fcf,0x4 diff --git a/src/cz/crcs/ectester/data/secg/sect409r1.csv b/src/cz/crcs/ectester/data/secg/sect409r1.csv index b3d72d67..727fb254 100644 --- a/src/cz/crcs/ectester/data/secg/sect409r1.csv +++ b/src/cz/crcs/ectester/data/secg/sect409r1.csv @@ -1 +1 @@ -0199,0057,0000,0000,00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,0021a5c2c8ee9feb5c4b9a753b7b476b7fd6422ef1f3dd674761fa99d6ac27c8a9a197b272822f6cd57a55aa4f50ae317b13545f,015d4860d088ddb3496b0c6064756260441cde4af1771d4db01ffe5b34e59703dc255a868a1180515603aeab60794e54bb7996a7,0061b1cfab6be5f32bbfa78324ed106a7636b9c5a7bd198d0158aa4f5488d08f38514f1fdf4b4f40d2181b3681c364ba0273c706,010000000000000000000000000000000000000000000000000001e2aad6a612f33307be5fa47c3c9e052f838164cd37d9a21173,2 \ No newline at end of file +0x0199,0x0057,0x0000,0x0000,0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,0x0021a5c2c8ee9feb5c4b9a753b7b476b7fd6422ef1f3dd674761fa99d6ac27c8a9a197b272822f6cd57a55aa4f50ae317b13545f,0x015d4860d088ddb3496b0c6064756260441cde4af1771d4db01ffe5b34e59703dc255a868a1180515603aeab60794e54bb7996a7,0x0061b1cfab6be5f32bbfa78324ed106a7636b9c5a7bd198d0158aa4f5488d08f38514f1fdf4b4f40d2181b3681c364ba0273c706,0x010000000000000000000000000000000000000000000000000001e2aad6a612f33307be5fa47c3c9e052f838164cd37d9a21173,0x2 diff --git a/src/cz/crcs/ectester/data/secg/sect571k1.csv b/src/cz/crcs/ectester/data/secg/sect571k1.csv index 72488e54..0c947780 100644 --- a/src/cz/crcs/ectester/data/secg/sect571k1.csv +++ b/src/cz/crcs/ectester/data/secg/sect571k1.csv @@ -1 +1 @@ -023b,000a,0005,0002,000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,026eb7a859923fbc82189631f8103fe4ac9ca2970012d5d46024804801841ca44370958493b205e647da304db4ceb08cbbd1ba39494776fb988b47174dca88c7e2945283a01c8972,0349dc807f4fbf374f4aeade3bca95314dd58cec9f307a54ffc61efc006d8a2c9d4979c0ac44aea74fbebbb9f772aedcb620b01a7ba7af1b320430c8591984f601cd4c143ef1c7a3,020000000000000000000000000000000000000000000000000000000000000000000000131850e1f19a63e4b391a8db917f4138b630d84be5d639381e91deb45cfe778f637c1001,4 \ No newline at end of file +0x023b,0x000a,0x0005,0x0002,0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,0x026eb7a859923fbc82189631f8103fe4ac9ca2970012d5d46024804801841ca44370958493b205e647da304db4ceb08cbbd1ba39494776fb988b47174dca88c7e2945283a01c8972,0x0349dc807f4fbf374f4aeade3bca95314dd58cec9f307a54ffc61efc006d8a2c9d4979c0ac44aea74fbebbb9f772aedcb620b01a7ba7af1b320430c8591984f601cd4c143ef1c7a3,0x020000000000000000000000000000000000000000000000000000000000000000000000131850e1f19a63e4b391a8db917f4138b630d84be5d639381e91deb45cfe778f637c1001,0x4 diff --git a/src/cz/crcs/ectester/data/secg/sect571r1.csv b/src/cz/crcs/ectester/data/secg/sect571r1.csv index 4bba9a05..739cbb05 100644 --- a/src/cz/crcs/ectester/data/secg/sect571r1.csv +++ b/src/cz/crcs/ectester/data/secg/sect571r1.csv @@ -1 +1 @@ -023b,000a,0005,0002,000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,02f40e7e2221f295de297117b7f3d62f5c6a97ffcb8ceff1cd6ba8ce4a9a18ad84ffabbd8efa59332be7ad6756a66e294afd185a78ff12aa520e4de739baca0c7ffeff7f2955727a,0303001d34b856296c16c0d40d3cd7750a93d1d2955fa80aa5f40fc8db7b2abdbde53950f4c0d293cdd711a35b67fb1499ae60038614f1394abfa3b4c850d927e1e7769c8eec2d19,037bf27342da639b6dccfffeb73d69d78c6c27a6009cbbca1980f8533921e8a684423e43bab08a576291af8f461bb2a8b3531d2f0485c19b16e2f1516e23dd3c1a4827af1b8ac15b,03ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe661ce18ff55987308059b186823851ec7dd9ca1161de93d5174d66e8382e9bb2fe84e47,2 \ No newline at end of file +0x023b,0x000a,0x0005,0x0002,0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,0x02f40e7e2221f295de297117b7f3d62f5c6a97ffcb8ceff1cd6ba8ce4a9a18ad84ffabbd8efa59332be7ad6756a66e294afd185a78ff12aa520e4de739baca0c7ffeff7f2955727a,0x0303001d34b856296c16c0d40d3cd7750a93d1d2955fa80aa5f40fc8db7b2abdbde53950f4c0d293cdd711a35b67fb1499ae60038614f1394abfa3b4c850d927e1e7769c8eec2d19,0x037bf27342da639b6dccfffeb73d69d78c6c27a6009cbbca1980f8533921e8a684423e43bab08a576291af8f461bb2a8b3531d2f0485c19b16e2f1516e23dd3c1a4827af1b8ac15b,0x03ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe661ce18ff55987308059b186823851ec7dd9ca1161de93d5174d66e8382e9bb2fe84e47,0x2 diff --git a/src/cz/crcs/ectester/data/wrong/wrongt163.csv b/src/cz/crcs/ectester/data/wrong/wrongt163.csv index 91fd70b1..88b142ee 100644 --- a/src/cz/crcs/ectester/data/wrong/wrongt163.csv +++ b/src/cz/crcs/ectester/data/wrong/wrongt163.csv @@ -1 +1 @@ -00a3,0002,0000,0000,55e202b98d7e864b2c9c560dc8f8b4047743a84ad,4cf310ee7a37cb2bacafa5e5a5ffcc8464a51162d,58ae9952e3b62978ccc1bfd060564b2620d154049,5ed1e3aa306f09a955feff97757bc4e599c64bb9f,2aaaaaaaaaaaaaaaaaaaaaaaaaabc02b61ca4c651,3 \ No newline at end of file +0x00a3,0x0002,0x0000,0x0000,0x55e202b98d7e864b2c9c560dc8f8b4047743a84ad,0x4cf310ee7a37cb2bacafa5e5a5ffcc8464a51162d,0x58ae9952e3b62978ccc1bfd060564b2620d154049,0x5ed1e3aa306f09a955feff97757bc4e599c64bb9f,0x2aaaaaaaaaaaaaaaaaaaaaaaaaabc02b61ca4c651,0x3 diff --git a/src/cz/crcs/ectester/data/wrong/wrongt233.csv b/src/cz/crcs/ectester/data/wrong/wrongt233.csv index 7e704b0f..291cdfe4 100644 --- a/src/cz/crcs/ectester/data/wrong/wrongt233.csv +++ b/src/cz/crcs/ectester/data/wrong/wrongt233.csv @@ -1 +1 @@ -00e9,0001,0000,0000,14228234ca1e8900adcfef49a037d560c8e2c2ed4227d4a2cda8703079d,18f33f0e925e6af86764a84dae2e09eeb0ce218e21ad9638eeb9d2e2600,182a21d656972aeca534df8f8e8c5aa0f553cde1e025a75610f10ae9db5,118732c490d8788716e9ac581c37c140116d12e2e9abd56262a1a255472,c59f46db5ba025578d418f86dc556bec9d212b740ab595b83abd008ec0,2 \ No newline at end of file +0x00e9,0x0001,0x0000,0x0000,0x14228234ca1e8900adcfef49a037d560c8e2c2ed4227d4a2cda8703079d,0x18f33f0e925e6af86764a84dae2e09eeb0ce218e21ad9638eeb9d2e2600,0x182a21d656972aeca534df8f8e8c5aa0f553cde1e025a75610f10ae9db5,0x118732c490d8788716e9ac581c37c140116d12e2e9abd56262a1a255472,0xc59f46db5ba025578d418f86dc556bec9d212b740ab595b83abd008ec0,0x2 diff --git a/src/cz/crcs/ectester/data/wrong/wrongt239.csv b/src/cz/crcs/ectester/data/wrong/wrongt239.csv index 51098b65..bef2e147 100644 --- a/src/cz/crcs/ectester/data/wrong/wrongt239.csv +++ b/src/cz/crcs/ectester/data/wrong/wrongt239.csv @@ -1 +1 @@ -00ef,0001,0000,0000,513e8b6997328b69d60decd7fa034c1b3bd862717164e7785eb06dcc5b88,63510c1cc1053a916b68f258e9d3f7c2ba054e4af05f3e4d61b3de772d2a,509d82beb7ef27b5b7421ac1e93ccffea76c4f0874991cf3facf0eab9ef6,42a9207ae1cc90d3d29c42a87f754321ccbeaed2e18957ce5a9b01f56812,28759505089d94226a73eefded3f7bf2f81673517715cb032daeddbb68f7,2 \ No newline at end of file +0x00ef,0x0001,0x0000,0x0000,0x513e8b6997328b69d60decd7fa034c1b3bd862717164e7785eb06dcc5b88,0x63510c1cc1053a916b68f258e9d3f7c2ba054e4af05f3e4d61b3de772d2a,0x509d82beb7ef27b5b7421ac1e93ccffea76c4f0874991cf3facf0eab9ef6,0x42a9207ae1cc90d3d29c42a87f754321ccbeaed2e18957ce5a9b01f56812,0x28759505089d94226a73eefded3f7bf2f81673517715cb032daeddbb68f7,0x2 diff --git a/src/cz/crcs/ectester/data/wrong/wrongt283.csv b/src/cz/crcs/ectester/data/wrong/wrongt283.csv index 0d412de2..736fe155 100644 --- a/src/cz/crcs/ectester/data/wrong/wrongt283.csv +++ b/src/cz/crcs/ectester/data/wrong/wrongt283.csv @@ -1 +1 @@ -011b,0002,0000,0000,7e2a42c7f5af962ff0f58711703462947d0a4eb3555b123aa33088a9c566424f0126157,6f317d6314dd7069b6be8cfb5fd0c563b9dbb2f9b8ca2618dd8cd4e7d1a368452aa3c34,5beb9f0130f758148a16a5c65b9228836af1c7afbab4afeffed328ed04ec1bf015f9c16,68996bd05c007c329738a29893a6215c99fbfa460e143090d588d9b157c99843e91c976,2552bf070faa392ab3b7fa07e443e5a45dc9bb3e1a6fe44d1440fdde6752c90899d4197,3 +0x011b,0x0002,0x0000,0x0000,0x7e2a42c7f5af962ff0f58711703462947d0a4eb3555b123aa33088a9c566424f0126157,0x6f317d6314dd7069b6be8cfb5fd0c563b9dbb2f9b8ca2618dd8cd4e7d1a368452aa3c34,0x5beb9f0130f758148a16a5c65b9228836af1c7afbab4afeffed328ed04ec1bf015f9c16,0x68996bd05c007c329738a29893a6215c99fbfa460e143090d588d9b157c99843e91c976,0x2552bf070faa392ab3b7fa07e443e5a45dc9bb3e1a6fe44d1440fdde6752c90899d4197,0x3 diff --git a/src/cz/crcs/ectester/data/wrong/wrongt409.csv b/src/cz/crcs/ectester/data/wrong/wrongt409.csv index 97c8f95a..fe7e0405 100644 --- a/src/cz/crcs/ectester/data/wrong/wrongt409.csv +++ b/src/cz/crcs/ectester/data/wrong/wrongt409.csv @@ -1 +1 @@ -0199,0002,0000,0000,1cc6efad1333dd213e812bdc9909754ff20c102fb9c9a2a7fdbd23ca7d414bec401bc45532980dff9cc869b4622c7f5b65e2afb,1cfc909e058af6762da1c2d85ec911d4e393dcd4539aa6c6d755b3dfdf9c4c338c84b984f533479d2f2bb5169b4fae6a25159f6,1ef44edd1100313984d059e3ecae6c866d83bfb9931e616abafcb9f1461ec264509260b4c62a09f1f03595c404e530d467dc14c,1055f15e3b4272c3bf6ecaeb59204470b96111eb38eb395066b26fbae646ab57b7ae6cda5722a98b01aade1bcf3b6db950d2957,c3b9b6e10f6ed3a458388e94c4d567e1a2272bb996892a919e65a8da15c0907ac735eb2f9a7cee28ac90193dabd2408e232839,2 +0x0199,0x0002,0x0000,0x0000,0x1cc6efad1333dd213e812bdc9909754ff20c102fb9c9a2a7fdbd23ca7d414bec401bc45532980dff9cc869b4622c7f5b65e2afb,0x1cfc909e058af6762da1c2d85ec911d4e393dcd4539aa6c6d755b3dfdf9c4c338c84b984f533479d2f2bb5169b4fae6a25159f6,0x1ef44edd1100313984d059e3ecae6c866d83bfb9931e616abafcb9f1461ec264509260b4c62a09f1f03595c404e530d467dc14c,0x1055f15e3b4272c3bf6ecaeb59204470b96111eb38eb395066b26fbae646ab57b7ae6cda5722a98b01aade1bcf3b6db950d2957,0xc3b9b6e10f6ed3a458388e94c4d567e1a2272bb996892a919e65a8da15c0907ac735eb2f9a7cee28ac90193dabd2408e232839,0x2 diff --git a/src/cz/crcs/ectester/data/wrong/wrongt571.csv b/src/cz/crcs/ectester/data/wrong/wrongt571.csv index 9e61a8ac..2fcd0df1 100644 --- a/src/cz/crcs/ectester/data/wrong/wrongt571.csv +++ b/src/cz/crcs/ectester/data/wrong/wrongt571.csv @@ -1 +1 @@ -023b,0002,0000,0000,4d3b833ae38b91e89061c4fae9e38264f2e88b4969778aa935eeec50fd1d66a994589e835aeb590566f0adafba2c40c1866865e62cae00f1d235038139d8d25b32d842a7a8b03b0,736974cc00c08dfbd1d23a6bea984c1c1af6ceae0a8b48ecd84b8a4fedbb46d61ab94efa8f53e50b6aa0c0599c2121af733dc36c07ccb7762d210bef02aa8611fe464d369f8a923,4f3bb81214f966e73a2f64423738ab7cd642b871ce7fb0e5f302a3a658aafd68e25d38c432d5e48334a2c03f472defa43ca0933fd13c98138bab6d7ca228ab860c79cd9114d4549,6355104090026816f380b1b406e84f93e12cbaa9f23adcef1eab09bd0418f7906195b102daed369ba72b9370e24a12c7676263c20bf7c7f3018c7a84ee80f586cc8fb16dd526110,397cad72a3fefe82d79a96e18009f5f9b661a9fa2ee53a5eb9f4016d2deaf249e2969b9af649fa363f4c2d5ec837792d932748f7344a16f8ab4be63341812d1c4f52a7b3fa65757,2 +0x023b,0x0002,0x0000,0x0000,0x4d3b833ae38b91e89061c4fae9e38264f2e88b4969778aa935eeec50fd1d66a994589e835aeb590566f0adafba2c40c1866865e62cae00f1d235038139d8d25b32d842a7a8b03b0,0x736974cc00c08dfbd1d23a6bea984c1c1af6ceae0a8b48ecd84b8a4fedbb46d61ab94efa8f53e50b6aa0c0599c2121af733dc36c07ccb7762d210bef02aa8611fe464d369f8a923,0x4f3bb81214f966e73a2f64423738ab7cd642b871ce7fb0e5f302a3a658aafd68e25d38c432d5e48334a2c03f472defa43ca0933fd13c98138bab6d7ca228ab860c79cd9114d4549,0x6355104090026816f380b1b406e84f93e12cbaa9f23adcef1eab09bd0418f7906195b102daed369ba72b9370e24a12c7676263c20bf7c7f3018c7a84ee80f586cc8fb16dd526110,0x397cad72a3fefe82d79a96e18009f5f9b661a9fa2ee53a5eb9f4016d2deaf249e2969b9af649fa363f4c2d5ec837792d932748f7344a16f8ab4be63341812d1c4f52a7b3fa65757,0x2 From 7f9880753305a088e8995a600d80712875439953 Mon Sep 17 00:00:00 2001 From: J08nY Date: Fri, 19 Jan 2018 17:12:55 +0100 Subject: [PATCH 86/91] Add standard curve twists. --- src/cz/crcs/ectester/data/categories.xml | 5 ++ src/cz/crcs/ectester/data/twist/keys.xml | 50 +++++++++++++++++++ src/cz/crcs/ectester/data/twist/nist/b163.xml | 37 ++++++++++++++ src/cz/crcs/ectester/data/twist/nist/b233.xml | 43 ++++++++++++++++ src/cz/crcs/ectester/data/twist/nist/b283.xml | 43 ++++++++++++++++ src/cz/crcs/ectester/data/twist/nist/k163.xml | 31 ++++++++++++ src/cz/crcs/ectester/data/twist/nist/k233.xml | 37 ++++++++++++++ src/cz/crcs/ectester/data/twist/nist/k283.xml | 13 +++++ src/cz/crcs/ectester/data/twist/nist/p192.xml | 19 +++++++ src/cz/crcs/ectester/data/twist/nist/p224.xml | 43 ++++++++++++++++ src/cz/crcs/ectester/data/twist/nist/p256.xml | 31 ++++++++++++ src/cz/crcs/ectester/data/twist/nist/p384.xml | 7 +++ src/cz/crcs/ectester/data/twist/nist/p521.xml | 31 ++++++++++++ .../ectester/data/twist/secg/secp112r1.xml | 31 ++++++++++++ .../ectester/data/twist/secg/secp112r2.xml | 37 ++++++++++++++ .../ectester/data/twist/secg/secp128r1.xml | 25 ++++++++++ .../ectester/data/twist/secg/secp128r2.xml | 19 +++++++ .../ectester/data/twist/secg/secp160k1.xml | 37 ++++++++++++++ .../ectester/data/twist/secg/secp160r1.xml | 19 +++++++ .../ectester/data/twist/secg/secp160r2.xml | 31 ++++++++++++ .../ectester/data/twist/secg/secp192k1.xml | 31 ++++++++++++ .../ectester/data/twist/secg/secp192r1.xml | 19 +++++++ .../ectester/data/twist/secg/secp224r1.xml | 43 ++++++++++++++++ .../ectester/data/twist/secg/secp256k1.xml | 31 ++++++++++++ .../ectester/data/twist/secg/secp256r1.xml | 31 ++++++++++++ .../ectester/data/twist/secg/secp384r1.xml | 7 +++ .../ectester/data/twist/secg/secp521r1.xml | 31 ++++++++++++ .../ectester/data/twist/secg/sect163k1.xml | 31 ++++++++++++ .../ectester/data/twist/secg/sect163r1.xml | 31 ++++++++++++ .../ectester/data/twist/secg/sect163r2.xml | 37 ++++++++++++++ .../ectester/data/twist/secg/sect233k1.xml | 37 ++++++++++++++ .../ectester/data/twist/secg/sect233r1.xml | 43 ++++++++++++++++ .../ectester/data/twist/secg/sect239k1.xml | 31 ++++++++++++ .../ectester/data/twist/secg/sect283k1.xml | 13 +++++ .../ectester/data/twist/secg/sect283r1.xml | 43 ++++++++++++++++ .../reader/test/CardWrongCurvesSuite.java | 2 +- 36 files changed, 1049 insertions(+), 1 deletion(-) create mode 100644 src/cz/crcs/ectester/data/twist/keys.xml create mode 100644 src/cz/crcs/ectester/data/twist/nist/b163.xml create mode 100644 src/cz/crcs/ectester/data/twist/nist/b233.xml create mode 100644 src/cz/crcs/ectester/data/twist/nist/b283.xml create mode 100644 src/cz/crcs/ectester/data/twist/nist/k163.xml create mode 100644 src/cz/crcs/ectester/data/twist/nist/k233.xml create mode 100644 src/cz/crcs/ectester/data/twist/nist/k283.xml create mode 100644 src/cz/crcs/ectester/data/twist/nist/p192.xml create mode 100644 src/cz/crcs/ectester/data/twist/nist/p224.xml create mode 100644 src/cz/crcs/ectester/data/twist/nist/p256.xml create mode 100644 src/cz/crcs/ectester/data/twist/nist/p384.xml create mode 100644 src/cz/crcs/ectester/data/twist/nist/p521.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/secp112r1.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/secp112r2.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/secp128r1.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/secp128r2.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/secp160k1.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/secp160r1.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/secp160r2.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/secp192k1.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/secp192r1.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/secp224r1.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/secp256k1.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/secp256r1.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/secp384r1.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/secp521r1.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/sect163k1.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/sect163r1.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/sect163r2.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/sect233k1.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/sect233r1.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/sect239k1.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/sect283k1.xml create mode 100644 src/cz/crcs/ectester/data/twist/secg/sect283r1.xml diff --git a/src/cz/crcs/ectester/data/categories.xml b/src/cz/crcs/ectester/data/categories.xml index d7f0f7e0..f123b6a2 100644 --- a/src/cz/crcs/ectester/data/categories.xml +++ b/src/cz/crcs/ectester/data/categories.xml @@ -46,6 +46,11 @@ invalid + + twist + twist + + test test diff --git a/src/cz/crcs/ectester/data/twist/keys.xml b/src/cz/crcs/ectester/data/twist/keys.xml new file mode 100644 index 00000000..1acbc31a --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/keys.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + ]> + + &k163; + &k233; + &k283; + &b163; + &b233; + &b283; + + &secp112r1; + &secp112r2; + &secp128r1; + &secp128r2; + &secp160k1; + &secp160r1; + &secp160r2; + &secp192k1; + &secp192r1; + &secp224r1; + &secp256k1; + &secp256r1; + &secp384r1; + &secp521r1; + \ No newline at end of file diff --git a/src/cz/crcs/ectester/data/twist/nist/b163.xml b/src/cz/crcs/ectester/data/twist/nist/b163.xml new file mode 100644 index 00000000..89ee6a43 --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/nist/b163.xml @@ -0,0 +1,37 @@ + + + b163/0 + 0x000000000000000000000000000000000000000000,0x02c25b85badf8927593d21c366da89c03969f34da5 + nist/b163 + twist order = 0x2 + + + b163/1 + 0x03a98eb9fc1007f0a2b0e8de7da23cc6a7f7dd76b1,0x019971752926a2aca5407bffbf2a73f3f884b97127 + nist/b163 + twist order = 0x1f + + + b163/2 + 0x023ae22e69bac70ca24078fdf63753eaf6cb89e857,0x03674a33443dc657c24685eb761ab7efbb63a8adbc + nist/b163 + twist order = 0x38b + + + b163/3 + 0x04feb095cf083a783cac4107305889efa9f401cc27,0x0403abb00aa4712e4b9120391d59745e9fbad39db3 + nist/b163 + twist order = 0x1208485 + + + b163/4 + 0x00a72a640e05acc0e6c6956ab5be24240b92623add,0x031dfc8af709b3db0a05126f17a7b4d703de503475 + nist/b163 + twist order = 0xb78fc77 + + + b163/5 + 0x031b5fc734d73023a06e4fe1b7921811221c6d1b2a,0x05432357b4a42a7b8f51b04dfab95a5ecf03547500 + nist/b163 + twist order = 0x5c4bf9b1205a07afbe718429 + diff --git a/src/cz/crcs/ectester/data/twist/nist/b233.xml b/src/cz/crcs/ectester/data/twist/nist/b233.xml new file mode 100644 index 00000000..51768d34 --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/nist/b233.xml @@ -0,0 +1,43 @@ + + + b233/0 + 0x000000000000000000000000000000000000000000000000000000000000,0x0187f85627b97874e747ee31e06d71caaeea52f21253e5f946d061da9138 + nist/b233 + twist order = 0x2 + + + b233/1 + 0x01143eef5ed49cf4b4c552259589988a019e98418c012194a255e9186870,0x01f8070b0ef657563e5d584ce23fc58ef70265d4178d78717c6acebb8c78 + nist/b233 + twist order = 0x5 + + + b233/2 + 0x01c8185b4f7d07a7eca7deb9f2adcd3c9402461f8679cbc9618ad1d82be3,0x002d17d4fa7eafbf4f6238b94ddc95f6a56384a4028f50e7de1838c21c8c + nist/b233 + twist order = 0x11b + + + b233/3 + 0x01af53fdcb81b561803cb01ba4d384fa3ef7633b1c0dfb35f0e437ffc201,0x012a092d0b600cc59c2234ae65261513eee7a085428b2b42e96253b1143e + nist/b233 + twist order = 0x21d + + + b233/4 + 0x01f4b2e29d7a3796e3aa4a6b3ff40805d322292acefd80149ff954d75e04,0x00df2f3258674f799c4dcc8cef118abb4c00abf0c1f10144b47af7a6f41b + nist/b233 + twist order = 0x22dba0b9 + + + b233/5 + 0x01b6b9ce48a1428cb554a76a3f659d8b443ebee6b5619c88100bf3f83bb1,0x00dcafc85dfc3758e99736abe5ed2c4f03cbed5a3b478c9e233b976f7258 + nist/b233 + twist order = 0x2a7504c0fda95a2311 + + + b233/6 + 0x015cc90c0fdc2fc5fefddf1e9890627f87250b74fbaacd77feb761085d59,0x00059ccb49d156720dd3bcd75438225df9f9e84e7ffc0fc0dda02a647613 + nist/b233 + twist order = 0x1e53fa33649df4ef97d6b29ded5a7 + diff --git a/src/cz/crcs/ectester/data/twist/nist/b283.xml b/src/cz/crcs/ectester/data/twist/nist/b283.xml new file mode 100644 index 00000000..bf6d1e67 --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/nist/b283.xml @@ -0,0 +1,43 @@ + + + b283/0 + 0x000000000000000000000000000000000000000000000000000000000000000000000000,0x072bcc9c5792b1ebe81983089fb6f835a2fd220a304424ca17c082ae17442aede9b9b3f6 + nist/b283 + twist order = 0x2 + + + b283/1 + 0x0297e6d1f2b857a79f5dc85c2f1259d5d801c61a4d0a4312a04f65f09a887a7b93cf7ae1,0x051963c38ac61f05fef93707abcfbda7bc0f39eacddb2bdd3077f19c0e65c8be66ecb30e + nist/b283 + twist order = 0x7 + + + b283/2 + 0x022b522e9e120300e74563dee496f8feb64209b858abd5da50f31c92ae4a1eee751c92d6,0x012647d0d771016622e899c2a54afad773907e42e15d45e1db3e4fb0ae6a6df2934dba63 + nist/b283 + twist order = 0x13 + + + b283/3 + 0x02597a5336d18d9effde2820bed7352dccc8824abc81cde80914ea3cd072da55e9f91368,0x04a6d2c92a1ee699cda25dafa88191ef34218e9ea5c996d37e9ce507c318e7649b3b02d9 + nist/b283 + twist order = 0x1623ab619 + + + b283/4 + 0x01b011689cef74d9b2be4e8fb548eeabe31a678f560fc7b893c330b3939da9451a0cff78,0x022fd9ba4762f742a18e299f035a837b0525d7030e6b061eaa9242237d0767e7c28b608d + nist/b283 + twist order = 0x2a4aa67aaaf5413fb + + + b283/5 + 0x06ac85dce72aa795b5b90d43849dec9d4ee0ffc4d41f87fe8d48de2ac3cf84dfc5c20263,0x008e5147dba15ff3cb287457b3f41d32ca6c074df014f85033368d982c1670907d6afa05 + nist/b283 + twist order = 0x25a8cdb1f2e470f3ac1ba7 + + + b283/6 + 0x0132803a996ebd53ffa3553fc994b583cdb9514e4476c79336acf72f82ac36add519e655,0x004d30604436960af06b2eab63027ca8f59ca105f505afcd3413e1e72f5fb9c0f29d3a20 + nist/b283 + twist order = 0x606749a9c147da03ad3f37 + diff --git a/src/cz/crcs/ectester/data/twist/nist/k163.xml b/src/cz/crcs/ectester/data/twist/nist/k163.xml new file mode 100644 index 00000000..12e0f8e4 --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/nist/k163.xml @@ -0,0 +1,31 @@ + + + k163/0 + 0x000000000000000000000000000000000000000000,0x000000000000000000000000000000000000000001 + nist/k163 + twist order = 0x2 + + + k163/1 + 0x04410857858628f16bd3ef77fce6732525d6d75f6c,0x00c51e38c5eb613ff4c8b594d754a218f30e8b1c39 + nist/k163 + twist order = 0x28d + + + k163/2 + 0x004c291913c2e75103b38481fbda3830850ee4c026,0x0403ff8ccadf20f12e10e40b8eed4872d4c128aaa2 + nist/k163 + twist order = 0x1979 + + + k163/3 + 0x03868f9f75e8d0056c6e1aabed4a3df1437a56b386,0x07473bb4e85044c95af468d5374da860c4e563159c + nist/k163 + twist order = 0x7926bec180108d + + + k163/4 + 0x0162deb07d5848fc45fd580549a6f17fecea1b7497,0x0297440c5cfd9e8fe781004db92f9f106b9d33235f + nist/k163 + twist order = 0x10a6989de57d15c65ba229 + diff --git a/src/cz/crcs/ectester/data/twist/nist/k233.xml b/src/cz/crcs/ectester/data/twist/nist/k233.xml new file mode 100644 index 00000000..2367e257 --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/nist/k233.xml @@ -0,0 +1,37 @@ + + + k233/0 + 0x000000000000000000000000000000000000000000000000000000000000,0x000000000000000000000000000000000000000000000000000000000001 + nist/k233 + twist order = 0x2 + + + k233/1 + 0x01f5c35c89f8294442218a24a7e62ce3dac66c3ee5e9d2b70aaf51f520b2,0x001328eb45743dd96c4deaaa299b5394abfec9852e73a1e051a745fa95d8 + nist/k233 + twist order = 0x1686d + + + k233/2 + 0x00959e63a797bf3b2ea48d328ea3a9985da6bc95f296d1fc5e8cf17c257c,0x0070034f2e503a97be8766dd6db086870eea2e3fcb02260e9fcc0df8704c + nist/k233 + twist order = 0x6d8a417 + + + k233/3 + 0x00103cf39b9ffa6da7ef9f19f601daf698148663f6e0ae3b4ae2dca53782,0x013c1241644b61fb8c811287c2277c863eb0c31287e30d57d99169b1f509 + nist/k233 + twist order = 0x7c02977 + + + k233/4 + 0x003d84c97077988af52d6d825080c0c79276fc168e092260d67b5d4ca3a3,0x01d3fa5b63a25a8f08828117edb78a1ab31724ecfc74d4fc2c4b7ea00703 + nist/k233 + twist order = 0x46403a035013f70d + + + k233/5 + 0x01a053f3903f7b9e7e5c8784b01e43fd427b7264781b1e6c7a8755065a38,0x01ed5e24cd66d3d42b4a869aee65bff9506a8cdbc9f3c3c86543ba14db12 + nist/k233 + twist order = 0xc7cb3894752e561e6abf871db + diff --git a/src/cz/crcs/ectester/data/twist/nist/k283.xml b/src/cz/crcs/ectester/data/twist/nist/k283.xml new file mode 100644 index 00000000..d27fad92 --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/nist/k283.xml @@ -0,0 +1,13 @@ + + + k283/0 + 0x000000000000000000000000000000000000000000000000000000000000000000000000,0x000000000000000000000000000000000000000000000000000000000000000000000001 + nist/k283 + twist order = 0x2 + + + k283/1 + 0x02707778aaa47f7a075be036522a6c2998ce118bf7e6314f342ba399dbc3572750791e4d,0x0568810a78107353690d1429cb7f4f408650cbf112d096907f563971baafad1b36436ec2 + nist/k283 + twist order = 0x400000000000000000000000000000000002ca3a25f1511b3440100d775c3f3c3d3873f + diff --git a/src/cz/crcs/ectester/data/twist/nist/p192.xml b/src/cz/crcs/ectester/data/twist/nist/p192.xml new file mode 100644 index 00000000..ddb547e7 --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/nist/p192.xml @@ -0,0 +1,19 @@ + + + p192/0 + 0x489ba2a146ac0e7bb9f008fb780005e48d3588893c7ebca9,0x7caac0b203223010fb59940946a12e35d227fcb3ee6c9afc + nist/p192 + twist order = 0x17 + + + p192/1 + 0xfaebaecd2737a6c22b5023d236ad48ab9acacb2cac075379,0x43810e9a10dabc2f835af837ac83fc4f0225773f3a84103f + nist/p192 + twist order = 0x231acce82af76d32ca5d526f + + + p192/2 + 0x7af6e161dcb8cd7852d5102ab42974af5179706d4616cce0,0xa3177747f0de49227575d2afc449187ab546e9ab827fcac9 + nist/p192 + twist order = 0x512b1bfde874086edba50007 + diff --git a/src/cz/crcs/ectester/data/twist/nist/p224.xml b/src/cz/crcs/ectester/data/twist/nist/p224.xml new file mode 100644 index 00000000..693b2f82 --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/nist/p224.xml @@ -0,0 +1,43 @@ + + + p224/0 + 0x90427f4a141f94c26f98d40060292350fcace2356961ef27dda08d7b,0x58877d4992c377c33459aa0caeb0526881326f201beb519fc11aadc8 + nist/p224 + twist order = 0x3 + + + p224/1 + 0x7f87c1db4213f1032c251a514e324f4360390476e0f7cd025547df58,0x2498f43e46af6fa0ad6480cfd61fb40caa78e349db0766a8760ff021 + nist/p224 + twist order = 0xb + + + p224/2 + 0x2a2d61174fd561e9da2f279b96f7a69ae50a78d87f09674f465c9184,0xc9c7232ca8a50587181d8c96204c1eec6e976bcbd58e3c7181dbb2a7 + nist/p224 + twist order = 0x2f + + + p224/3 + 0x15da8f68bfe51bc75f0cd892f7400c3d5ce5a9c6da126171527767cc,0x0cee3612475887d31963b62c69580191d1158df3f0c0305765175c9c + nist/p224 + twist order = 0x2e0273 + + + p224/4 + 0xbd813fcdea2281a452733516e4e2625fac96573c41f3b37c56d0d1d7,0x351de92e6b06928fec37ee0ffd03606fecc5022edc1a72453c433ef4 + nist/p224 + twist order = 0x268160f + + + p224/5 + 0x2a379d972d016116067b5bf2c23937b6182b4dc6bf8aa0625eb58b9f,0xb9ec1e372728d3334a762e5d64faca1e0cd47f46c3e5402ff14cb140 + nist/p224 + twist order = 0xf3bac7aa52cf + + + p224/6 + 0xc5e229bfc9f4e0992ecf51a3c354e6aac1a4673056bee9a673beae5a,0x73a2e7d530b13c281d460ea2d2c3bddb49a8eb3446b9308ec64d5a70 + nist/p224 + twist order = 0x22340ff0f7eba57b33ac73e28a14d1 + diff --git a/src/cz/crcs/ectester/data/twist/nist/p256.xml b/src/cz/crcs/ectester/data/twist/nist/p256.xml new file mode 100644 index 00000000..fd7854cf --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/nist/p256.xml @@ -0,0 +1,31 @@ + + + p256/0 + 0x92787586fc8a5d065a2a754e229a66ea3c845c8d5f7120792ee3aacee88ca01c,0xee95a42047d9eae3bb007aa7aed3a87ee6986df813f6c76d8f19866a1b1f9c20 + nist/p256 + twist order = 0x3 + + + p256/1 + 0x40d27c77cf9fb36e49a850b1ae7357c9ab3f1d917d52ba3edb648bd33354d3da,0xd30662382d8440919f4decbc58c6d9ca8745d39cdd71c26063fd2fa8bcbb69f7 + nist/p256 + twist order = 0x5 + + + p256/2 + 0x33961ae81d08958d1dbc42bdadb05e7cb7bdda383b1c49e18c3a2f5908c833a2,0xc4a96d4f905a1d7e32d4c82d6e79f1ef7047d09bf1d1518be2c65d13815306fe + nist/p256 + twist order = 0xd + + + p256/3 + 0x21fa3bf4b7d23dea73a1751d3b02dd8724a2a5a0ae9b28fdd98b8ef18bb610f5,0x7d933ab51ac8bc7e5d3c5a44d9875c64a080eba393c6492e4e5ce2367f133dd1 + nist/p256 + twist order = 0xb3 + + + p256/4 + 0x3819da45c7b025be543fd40ec49b2613891c12f2ae2daf014396c70270eff92c,0xbec84d62254dbc67864ced51966d4f419ad5b1ec9ee1d72cce291a8a034518da + nist/p256 + twist order = 0x1e0a75640070a738557cc30f68bd56eaea65c94f98411d17ac4e16ece1a47 + diff --git a/src/cz/crcs/ectester/data/twist/nist/p384.xml b/src/cz/crcs/ectester/data/twist/nist/p384.xml new file mode 100644 index 00000000..eef02b8e --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/nist/p384.xml @@ -0,0 +1,7 @@ + + + p384/0 + 0x77e3431a4d6b9d63985798eb41188f9af7eb6c0f38745d360bf82b5c2c162cb8393adf2dbc4d5531c49322d9c7b4c9cd,0x2b38ea158d3c980e9b3618cfe42599dd9d78e630ac83c66673949121ca6c8997fbf5e08c060076f3fa60d6dec8ac8624 + nist/p384 + twist order = 0x1000000000000000000000000000000000000000000000000389cb27e0bc8d21ea7e5f24bb74f58851313e697333ad68d + diff --git a/src/cz/crcs/ectester/data/twist/nist/p521.xml b/src/cz/crcs/ectester/data/twist/nist/p521.xml new file mode 100644 index 00000000..82eb773a --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/nist/p521.xml @@ -0,0 +1,31 @@ + + + p521/0 + 0x01a0c6f0e5b2c6948218fb8d1e913d750ace27674e59ec0a45f8f5883518c65c401af5a2275b7c2c74e717f5b64c48056f1440de1d48ef0825086f12db4f862e4467,0x00c93c77edf1cac8bab534a28c49446113a22833e05658b69f73658d7867b43c94f58d52e17b726e3f6d0b5847d91980509250210c4e1c73eeec72e185529c1450b0 + nist/p521 + twist order = 0x5 + + + p521/1 + 0x00e84fb16849133c2e4c24e7efc4df752ed9f01204aa692342bc619a8a9ccdd1b058996f3896790d0ee1b7c480cb117cc0b9272c116c6f544b99dca9d441976c69c0,0x00e6d2c8adb57c81db0bead3d225ee900c81e049d0e36bf20bf421f5620449b1638f2b1998f3e1ffbee369a74bc4833d01f45b46388755ba16abf67c5f7f53ac9110 + nist/p521 + twist order = 0x7 + + + p521/2 + 0x0161cb810a7d7f9092d518ed483208f202cf5a984e98ff50f94b13e04bf94be942c91a007cff215d55bf124912b8620312bc94e813d7956e3821b45da439f0b0e8e7,0x005194f315423bcacf38ea558ff344daedf9a51a81b0a9ef27f1d687c8d1b6952b60b6486fc2c3d394749fb00e4921a5cfced55c1fe821e8b80279f6cec89ba1ac1f + nist/p521 + twist order = 0x4277ffb + + + p521/3 + 0x01c133c394ad86829a9252e4d5e266c3d2830eb9b899e2cb16b815a5c7050c3bc53c415296339d33427087bdef04c0ae2d8f7d63d4a41176bd76d3c07cbd1ecfd1ee,0x01fee0c7535c40e01f2c12ee2a6ae1e54cafc147c3b491602da1f278b46c6ae3c04705b3bb3c72af70aaf3d4c684411ede8694d7a21b3734ce43ecc2b4a1ee2efee7 + nist/p521 + twist order = 0x25e6d2cd + + + p521/4 + 0x01232e18498e6cafe2572ec0b511376cf0d4844ec3b94472fb53346d7d9611726065cc922b3d2132117c99bce0ff8bc7f51bb30c6909a53b7c8a88e81807c31a1999,0x0112ada376c25bdc96440e0e2bf936377b287e885a08e6e1b5aa54f9b269cce4ed6ca6e6e44bd6d8e092e4864b278951648e897682096488e2a36036e989b1af7b24 + nist/p521 + twist order = 0x17c8b8fa594c0fc63a5c0043ab498c1762d92f18fdfe2fea8f074695615d886d81bf930a0ac77d01bf9dd8c1a1ae121dab4e860c5dc18e265de3 + diff --git a/src/cz/crcs/ectester/data/twist/secg/secp112r1.xml b/src/cz/crcs/ectester/data/twist/secg/secp112r1.xml new file mode 100644 index 00000000..bea215ad --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/secp112r1.xml @@ -0,0 +1,31 @@ + + + secp112r1/0 + 0x873a74a2da300cab1c8761d8f67b,0x46e03cbcc61d00aa9fe5a8077494 + secg/secp112r1 + twist order = 0x8a5 + + + secp112r1/1 + 0x218f000fe41ffd98b55fc9b756c7,0x62a1bd48c034935e4367f392fbaa + secg/secp112r1 + twist order = 0x1835 + + + secp112r1/2 + 0xadf84193c633787f17ff7c789296,0x19b5613c0ee78be5954a104fad0b + secg/secp112r1 + twist order = 0x11167 + + + secp112r1/3 + 0x4b3b746903493367fd076f6e73bb,0x030545f11165bac7cbf381c48879 + secg/secp112r1 + twist order = 0x44015 + + + secp112r1/4 + 0x51132c4c92342942c8027b71890e,0x43beab4961a59cf10d1b30531f5a + secg/secp112r1 + twist order = 0x3b273570eb27b9 + diff --git a/src/cz/crcs/ectester/data/twist/secg/secp112r2.xml b/src/cz/crcs/ectester/data/twist/secg/secp112r2.xml new file mode 100644 index 00000000..f1d0fee5 --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/secp112r2.xml @@ -0,0 +1,37 @@ + + + secp112r2/0 + 0x48edb7418c08127bdd779ac7e5f7,0x0000000000000000000000000000 + secg/secp112r2 + twist order = 0x2 + + + secp112r2/1 + 0x4a1cb7539a8401269dbff6acf404,0xc21acfb8b7b32712febd4e61633f + secg/secp112r2 + twist order = 0x17 + + + secp112r2/2 + 0xc8faf44b8d4853737ccf82806b75,0xcce630f92e9c95bf26e0f4a070fe + secg/secp112r2 + twist order = 0xd3 + + + secp112r2/3 + 0x14590ab5b3753e82b3d0b57ce706,0x233b3204fdedbaf31c5dceb86285 + secg/secp112r2 + twist order = 0x35e63 + + + secp112r2/4 + 0x8ae76a4a40729732096d3c5207e5,0x629a89669d42e3871f1820cb97a5 + secg/secp112r2 + twist order = 0x73c27 + + + secp112r2/5 + 0xa86117a59016f257c4397d388a65,0x67ead9fb333257074be723a5f46b + secg/secp112r2 + twist order = 0x1e6727ac61bb6633 + diff --git a/src/cz/crcs/ectester/data/twist/secg/secp128r1.xml b/src/cz/crcs/ectester/data/twist/secg/secp128r1.xml new file mode 100644 index 00000000..e9bf07be --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/secp128r1.xml @@ -0,0 +1,25 @@ + + + secp128r1/0 + 0x7ad6f2458364dc3bc253564a0f55f047,0x24ca1c658f7572c87528e6b9db2b6a76 + secg/secp128r1 + twist order = 0x29 + + + secp128r1/1 + 0xd831601d766cc45f62eb7cf7937ee642,0xf9e0a4e6fec14da13d27d248a190d230 + secg/secp128r1 + twist order = 0xc0034f + + + secp128r1/2 + 0x8867a9a49ff8c47c6d10d32783cd69b0,0xc2d9ae698d287ecdadce470328485477 + secg/secp128r1 + twist order = 0x56a1f8d + + + secp128r1/3 + 0xeb842468d2d732452a3044e8558fbf60,0x35022342302a1fc4f2bbd4ddca43892d + secg/secp128r1 + twist order = 0x18996f4e0882951e9d1 + diff --git a/src/cz/crcs/ectester/data/twist/secg/secp128r2.xml b/src/cz/crcs/ectester/data/twist/secg/secp128r2.xml new file mode 100644 index 00000000..fdd90286 --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/secp128r2.xml @@ -0,0 +1,19 @@ + + + secp128r2/0 + 0x64a89794638df343c17a48c6e926de14,0x00000000000000000000000000000000 + secg/secp128r2 + twist order = 0x2 + + + secp128r2/1 + 0xd2d9721cd218b8d0a9dc8101e053a834,0x8111cc843d9d6090ec34cfe2ea360eb6 + secg/secp128r2 + twist order = 0x3cb + + + secp128r2/2 + 0x88ba57155e8f2050626d2a02a34b4efd,0x8f97d0b54e869e605b7fb7ae97819d1d + secg/secp128r2 + twist order = 0x10df9252a726c184278bf55634b577 + diff --git a/src/cz/crcs/ectester/data/twist/secg/secp160k1.xml b/src/cz/crcs/ectester/data/twist/secg/secp160k1.xml new file mode 100644 index 00000000..8d1cc539 --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/secp160k1.xml @@ -0,0 +1,37 @@ + + + secp160k1/0 + 0x0000000000000000000000000000000000000000,0xc1fd26fdc8681a7ba7f699610a62c328cde65ba0 + secg/secp160k1 + twist order = 0x3 + + + secp160k1/1 + 0x261f4b383910221b95b8064ffd1667c136652295,0x84bb1bf6e9d6beebcb0b3525e99df9124bb14e40 + secg/secp160k1 + twist order = 0x7 + + + secp160k1/2 + 0x5ad5c6cd4067ee20b4984eb2132c9742d15d15e2,0x2de572e579ea7b539f0234a6a2f875966dc4b249 + secg/secp160k1 + twist order = 0xd + + + secp160k1/3 + 0x12a1d4d6314698fa80a153de7849173ba3840012,0x34dec5c8c38ec56f7cdf8f1e44f54606a49e5213 + secg/secp160k1 + twist order = 0x5fc5 + + + secp160k1/4 + 0x836557a9441a4591e3b35c4b86c4b4a964887b4c,0xd5491a1f264c3f115223731855ce2ed837c15bf0 + secg/secp160k1 + twist order = 0x25807 + + + secp160k1/5 + 0x1c959049e8e689783335f711f7a928d4200890c2,0xd0846962412aa16de740be64dadca13bb0c50758 + secg/secp160k1 + twist order = 0x271c756a728aed5671cf8cb4b33771 + diff --git a/src/cz/crcs/ectester/data/twist/secg/secp160r1.xml b/src/cz/crcs/ectester/data/twist/secg/secp160r1.xml new file mode 100644 index 00000000..dece9807 --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/secp160r1.xml @@ -0,0 +1,19 @@ + + + secp160r1/0 + 0xdfe49462b5a10a4cf944801e93a444d4951c54f4,0x9ef1de44c53a4814eb31f616175922327cd2e112 + secg/secp160r1 + twist order = 0x20b + + + secp160r1/1 + 0x5cf0cd60ea345232884895f01b4e1760927f5d94,0x0bb00af378e1f0f69589a2da5b8fd6b2669b5402 + secg/secp160r1 + twist order = 0x2c29d39e9 + + + secp160r1/2 + 0xeb8957704438337bbddb0d6ce1e28b635d5db134,0x631bad39571cfea33639a76c774e46fecaadc9b1 + secg/secp160r1 + twist order = 0x2d65dd7cc36e3baf234efd9dea9ae3 + diff --git a/src/cz/crcs/ectester/data/twist/secg/secp160r2.xml b/src/cz/crcs/ectester/data/twist/secg/secp160r2.xml new file mode 100644 index 00000000..bdb8a038 --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/secp160r2.xml @@ -0,0 +1,31 @@ + + + secp160r2/0 + 0x33581bd94e113c8b34fec9c60b9031675b9c8b68,0x987cd809e044f8ab7f3757bbd06ecc01550f3868 + secg/secp160r2 + twist order = 0xa3 + + + secp160r2/1 + 0x8318469fc335f235b8d8fc4fbcd61282b9521fb7,0xcf52bc6053b4cea8117431dcb68db2110dd87e63 + secg/secp160r2 + twist order = 0x1c9 + + + secp160r2/2 + 0x615ace506803fd5f06a323ce45319a3ca5aadcf0,0xbb4f76d2db8189c07a10487fb32b206a38ba2e89 + secg/secp160r2 + twist order = 0x355 + + + secp160r2/3 + 0x3178dfd1f5c334184521d055a043a2349f35f67e,0x98c2395fd272532476f2c6d5ddb2c9a579b84699 + secg/secp160r2 + twist order = 0x78d + + + secp160r2/4 + 0x0e17d26c2ebf81b5e1c695438abe9eb3edd96f6b,0x2502f5d59f731f0cca5b8449fde15b713f82f36c + secg/secp160r2 + twist order = 0x8f3af9a6f25d7b73940da6f6ebd3137 + diff --git a/src/cz/crcs/ectester/data/twist/secg/secp192k1.xml b/src/cz/crcs/ectester/data/twist/secg/secp192k1.xml new file mode 100644 index 00000000..457a4146 --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/secp192k1.xml @@ -0,0 +1,31 @@ + + + secp192k1/0 + 0x000000000000000000000000000000000000000000000000,0x50f36a853090dc8aaeab4e45e31a9476899ac91c98622974 + secg/secp192k1 + twist order = 0x3 + + + secp192k1/1 + 0xc1ee9eeacca70968c68149d7ea884f4d2081c7f135a3c0db,0xcd1fcc8fa5650d5b63c2e4e3529845200fe959e2bf7aa743 + secg/secp192k1 + twist order = 0x175 + + + secp192k1/2 + 0xa5e8d7e243f29335b7f9067cc2a99334e5504dab66de2b61,0xe488e628f21a0d13439c912ad6dd6a4c017deb6d1bd9ac91 + secg/secp192k1 + twist order = 0xdc3f + + + secp192k1/3 + 0xc3ad3754b5199729816ba49f459caa03c63e8580f66c03a9,0xce4bc350ed04ecb8634147d9a9cd1cf6d06268fdc6a11fdd + secg/secp192k1 + twist order = 0x24e7164b + + + secp192k1/4 + 0x14fc875f81ce7d409013996fa7d8d75dab7b750f41e7aeee,0xb16e153045429ab589746734c0fb13ad11a81ef95e41cdad + secg/secp192k1 + twist order = 0x1d83dac42196d3629c6baf0247e0157a469 + diff --git a/src/cz/crcs/ectester/data/twist/secg/secp192r1.xml b/src/cz/crcs/ectester/data/twist/secg/secp192r1.xml new file mode 100644 index 00000000..16ba7db7 --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/secp192r1.xml @@ -0,0 +1,19 @@ + + + secp192r1/0 + 0x23142b001b0b474409a0d4c8815e7ade529ae9eff7c5b95b,0xa1629eaae43dab352219bf25ff6e12f4936864615eb89078 + secg/secp192r1 + twist order = 0x17 + + + secp192r1/1 + 0xc0a1f79357e0d708a855fe30e2fc032486e3b26d8fe1a5c0,0x51d01bb8aadd9b41863ece85c2b600a0107f812d4460e9d9 + secg/secp192r1 + twist order = 0x231acce82af76d32ca5d526f + + + secp192r1/2 + 0x45cc2ab6dba52cbfd5860d0e61a3decfee82e0b1c64bd094,0xbf8b1707363dc155b16233478b0555b1815a295338522b80 + secg/secp192r1 + twist order = 0x512b1bfde874086edba50007 + diff --git a/src/cz/crcs/ectester/data/twist/secg/secp224r1.xml b/src/cz/crcs/ectester/data/twist/secg/secp224r1.xml new file mode 100644 index 00000000..ee6782e9 --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/secp224r1.xml @@ -0,0 +1,43 @@ + + + secp224r1/0 + 0x5d60f43a069cfe3a7c365b782bd8ef722e29efed9f8e782d98da9523,0xc790eaae79a6ea2fbe7bcd6c430c54362a834b3a6628008347264d89 + secg/secp224r1 + twist order = 0x3 + + + secp224r1/1 + 0xcd1095d23b17e6cfbd1c59476bd60751bb743a42ab8673414cfaf3e7,0x89b8deb522b178eb7a8ad262ce9e99a472797448d598ce64a2116b03 + secg/secp224r1 + twist order = 0xb + + + secp224r1/2 + 0xe442f9e86c386800f2ae5982f3be77c833663e8b673121fed69282f4,0x2a94e1cd72999b32a6b1fc71328b63bb4857f045a4acda509991145b + secg/secp224r1 + twist order = 0x2f + + + secp224r1/3 + 0x25c4b228af197210904546d9f6dda2385b9a0a0cbe2211af65341cb9,0x3f5c565a48b1b8d05adbc9ca94ade61e0e45cc9e9f1248c963d5784c + secg/secp224r1 + twist order = 0x2e0273 + + + secp224r1/4 + 0x5e7b261f83fa2b59e6bf4c7c9edf8e9c6ad418f4e9b3f9cec09f66d9,0x59033a890a85f95fc514abfa27e01bb010c3699f9430057b7235c1fd + secg/secp224r1 + twist order = 0x268160f + + + secp224r1/5 + 0x8d9a10823de47bc73a12ae57fe97a34373ae59f16d61a3b82a46f68e,0x622fd6f6069294c902a82d3583d88816675e44fcafa47a0a433990a6 + secg/secp224r1 + twist order = 0xf3bac7aa52cf + + + secp224r1/6 + 0x99bfcc79f6c38a9b3d773506f827eccde507531d2886af8770f69f43,0x0e4e90ae87d71816c2bef3d55f0dfe7b54c16f9aadd8ea3b56e9663b + secg/secp224r1 + twist order = 0x22340ff0f7eba57b33ac73e28a14d1 + diff --git a/src/cz/crcs/ectester/data/twist/secg/secp256k1.xml b/src/cz/crcs/ectester/data/twist/secg/secp256k1.xml new file mode 100644 index 00000000..467641ef --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/secp256k1.xml @@ -0,0 +1,31 @@ + + + secp256k1/0 + 0x1f5f34663a612761136c07de53d91039f82644aa7706e90b37ac2dc5154d79ed,0xb32d76a9b3c7a9fac50c6da11a9953d11b262206cf26f33a9feb20a6bb1bb70c + secg/secp256k1 + twist order = 0x3 + + + secp256k1/1 + 0x9537931b68257bb2ef5782a3df24719668c70029522ba296c076996231e5c790,0x236617decf9b2f14223d798de8de3bca791fe36603a312e572048e89609379d4 + secg/secp256k1 + twist order = 0xd + + + secp256k1/2 + 0xaa45c03ebb0dd5ef1eb604802b97cef9694d5b9f37b253a475be99927dc28d55,0xb6762cffb2eacc3504b6c2e25908c4b9af12a62450fab97690c137a1102d64d4 + secg/secp256k1 + twist order = 0xcf7 + + + secp256k1/3 + 0x4c5029ee7f3f340b328d6db4e6195a21a43ddc42152137922e7ed27a2723ff87,0x2309f5db4cb59337fabd8ca6b1b8866fd3a96429c4aec311e315983bf3b6864f + secg/secp256k1 + twist order = 0x586f + + + secp256k1/4 + 0x4234a6acce09563862bc78f46c93dbb9e8ca3579ec58d08f273911178ae88e25,0x5d3e9733e02e6b94f297d8d5905265d1ddfeacb2633f0db3fd255d0177d2de46 + secg/secp256k1 + twist order = 0x99ee564ea5d84f508913936a761b0d5d792a426a7779817ae2f5b67 + diff --git a/src/cz/crcs/ectester/data/twist/secg/secp256r1.xml b/src/cz/crcs/ectester/data/twist/secg/secp256r1.xml new file mode 100644 index 00000000..b385548c --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/secp256r1.xml @@ -0,0 +1,31 @@ + + + secp256r1/0 + 0xd43dd5ce6c8e557e282bdc3535609e72bc46c1f91c166c63fc298b5a2ef64ea5,0x53cdb347774d9feef822754c289a8a7aab6e4bf5168a5155b0c25016f6ff47ad + secg/secp256r1 + twist order = 0x3 + + + secp256r1/1 + 0x44b4e6293d9efcb1b655b7f90b81dabceb5925a258780aa22381292af84e4615,0x39efc0650cd2289cb1d6c2bd2bd7139f4f4c97e43f536c47b7782e5e5b627428 + secg/secp256r1 + twist order = 0x5 + + + secp256r1/2 + 0x588e38eb7a4adf969daea9e2beabe2616ac8c0a7a52d920f10ed1d2f81986b6e,0x3b728114a2421a73d047338f60a324ee1b25d81f8f207ba762765b45576d009d + secg/secp256r1 + twist order = 0xd + + + secp256r1/3 + 0x0d8e8d6f9b9bec935475145bde3b80b76884b57d136afe327d80e13677a915f5,0x6bc1fc461c4dcec55a6ceadb7950aaffb5621ea428b13e7091b1d7a90642b270 + secg/secp256r1 + twist order = 0xb3 + + + secp256r1/4 + 0x84cdc23c802dd6ae90ae1257884709fc522206adf114b8f0ea715e0dc77d2bad,0x92a4b98b60c8204cbdf947839663229d2fd36184504ff0e308eaa1761c138d7a + secg/secp256r1 + twist order = 0x1e0a75640070a738557cc30f68bd56eaea65c94f98411d17ac4e16ece1a47 + diff --git a/src/cz/crcs/ectester/data/twist/secg/secp384r1.xml b/src/cz/crcs/ectester/data/twist/secg/secp384r1.xml new file mode 100644 index 00000000..2ddbe9bd --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/secp384r1.xml @@ -0,0 +1,7 @@ + + + secp384r1/0 + 0xe623940e96d6ce70b3a3185b1b49560532daafbc36f8fcc9167500b186682ac19c1bc959c0b9ae6e2f620449358c9367,0x97c91ddd90946df34ee5c540a04175d45a5ebad666439b8384ec64cd95b2f0a438bedfc36ca80a7d7e9a38a7c26925bf + secg/secp384r1 + twist order = 0x1000000000000000000000000000000000000000000000000389cb27e0bc8d21ea7e5f24bb74f58851313e697333ad68d + diff --git a/src/cz/crcs/ectester/data/twist/secg/secp521r1.xml b/src/cz/crcs/ectester/data/twist/secg/secp521r1.xml new file mode 100644 index 00000000..105efa38 --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/secp521r1.xml @@ -0,0 +1,31 @@ + + + secp521r1/0 + 0x0099cfe88fe446b8eaeefc4094833b1ab0853c7bc4d906aef04d9f57be2de53e3678551217b736cd26d1b217dcb806c747f17e29bee7490161f86726d59f2129c16b,0x0079651e0bf51bd1bd86a1f520c528705862589c5b78843d523be3e980e93ef3ddf3366175a1567b88d54689e6bfcafee863ad3d93411d54ca3db6ad2ce27eae309d + secg/secp521r1 + twist order = 0x5 + + + secp521r1/1 + 0x0140ba8e264bfcbc2dae3e498236fdb502cdbcd053476d148143bb0a38f72d4bb4d0c53b971cd36ba19f0a35cfb6af2f82c1a9bc5978873e0edf753282e11fdfd045,0x0041833aebb70b75c471c35ca5cdbbdfb8c64dd10f2e977e254f081e2566e8010e80d69ff11cf3140561586e917070d2a0443d3f3eba20688f0e48e4132d0eb0a5b4 + secg/secp521r1 + twist order = 0x7 + + + secp521r1/2 + 0x00925139c9b4c7788add3ec38be6c9799dcd4794f9f3e708bd66130b2d21abc953035a3bd6cbae7fc2cc02b0be12cd0b0fbfe0d190844bb3e346899f6c03908bb73b,0x006a86cb7307e9901bcf819e1cf2deecc0e2a35b0cb06998ec1e354267294a17f872179cad4f80e79ad06fd4200cbf142d18779a8e4633824265a0cae30aacd38418 + secg/secp521r1 + twist order = 0x4277ffb + + + secp521r1/3 + 0x013dec992b39d75718ca8ea86f481bec0d4717e18b86f0716e807374317bf4bd93cd036f6969d2d85e19f2b9a375c0c5cc3a46af11048671bb9c8aac21bd8a02bb9d,0x01f629b94eadd014680a318a29a743585e7b8a9a315accccf7dcd8b2f6d012f301eeb2477fb8c822b07f09cc2089c3be07896502cbf1e86f72635718dd2ae3004c65 + secg/secp521r1 + twist order = 0x25e6d2cd + + + secp521r1/4 + 0x013189c93b04b69426269fbadbee6379a6752ca1cbbe972ca1f14edbb4fefdc437bd96912266a83fb0482b6a291d74326a1d2b6a170f0cd24896e93323049fea281d,0x01a05a94d5e7481d42d3af74994f6f7bfacd231123cd6abcd31e3e99c571a84d032aeee65aa3fff8cda497aa77900910a897188f87fc4d502162349ec1d2345a307e + secg/secp521r1 + twist order = 0x17c8b8fa594c0fc63a5c0043ab498c1762d92f18fdfe2fea8f074695615d886d81bf930a0ac77d01bf9dd8c1a1ae121dab4e860c5dc18e265de3 + diff --git a/src/cz/crcs/ectester/data/twist/secg/sect163k1.xml b/src/cz/crcs/ectester/data/twist/secg/sect163k1.xml new file mode 100644 index 00000000..754e8e6a --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/sect163k1.xml @@ -0,0 +1,31 @@ + + + sect163k1/0 + 0x000000000000000000000000000000000000000000,0x000000000000000000000000000000000000000001 + secg/sect163k1 + twist order = 0x2 + + + sect163k1/1 + 0x05f78762dcf07272474326134cd9afb8ec82b6b9af,0x05ae3cb5265210c388e0fb9787c7dc7c40ef03acae + secg/sect163k1 + twist order = 0x28d + + + sect163k1/2 + 0x01626b92c13b6eaf8a07353707e3ee25b69d56b403,0x0066a86e6fd8c5fa73245eef10159b5b428efface3 + secg/sect163k1 + twist order = 0x1979 + + + sect163k1/3 + 0x072da789cdf1e91288880d47aade6d19206a3eef8b,0x006405496db1049f579e035d9047f554152d215933 + secg/sect163k1 + twist order = 0x7926bec180108d + + + sect163k1/4 + 0x059f4674675ce9134f7c6095e57f0f2da73b303ab0,0x03cdd4b8e4efa8c96ed4b2b349f6e1b47bc33f145c + secg/sect163k1 + twist order = 0x10a6989de57d15c65ba229 + diff --git a/src/cz/crcs/ectester/data/twist/secg/sect163r1.xml b/src/cz/crcs/ectester/data/twist/secg/sect163r1.xml new file mode 100644 index 00000000..dd7d7989 --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/sect163r1.xml @@ -0,0 +1,31 @@ + + + sect163r1/0 + 0x000000000000000000000000000000000000000000,0x009917a2556e1856bc7ea9a472cd01bfb889b95835 + secg/sect163r1 + twist order = 0x2 + + + sect163r1/1 + 0x06deb836183f1f185aa782845b7e30b87aac87cc86,0x02a07ec119c487e132b464ea54e7f2264103fbf6f3 + secg/sect163r1 + twist order = 0x7 + + + sect163r1/2 + 0x01dbb909b594a1b8db65b2de7cffe586d10ea658c8,0x031e430590c0ca5707f54a0463dbd329ca9088d1f2 + secg/sect163r1 + twist order = 0x923 + + + sect163r1/3 + 0x029d7e51e1b8552d0fe88a48bcfb1913b4d0adac52,0x073688d2e575b20328f70560be4ba53b575498d23d + secg/sect163r1 + twist order = 0xcd4110cf690bd + + + sect163r1/4 + 0x010175375db66e9ce0060fc3785804ebe2d96b8a3a,0x04d4cc08f4975602d69520023bb0505fe701339146 + secg/sect163r1 + twist order = 0x9fc0d375facf703681f32693 + diff --git a/src/cz/crcs/ectester/data/twist/secg/sect163r2.xml b/src/cz/crcs/ectester/data/twist/secg/sect163r2.xml new file mode 100644 index 00000000..421887dd --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/sect163r2.xml @@ -0,0 +1,37 @@ + + + sect163r2/0 + 0x000000000000000000000000000000000000000000,0x02c25b85badf8927593d21c366da89c03969f34da5 + secg/sect163r2 + twist order = 0x2 + + + sect163r2/1 + 0x0176fb3d1e1035f04de3297dafb0033baeee694e97,0x0602840f8148fc8afc1f695df529e4dd48337243a4 + secg/sect163r2 + twist order = 0x1f + + + sect163r2/2 + 0x017d5799f3c55c7f0941240a0030cd1f6a4077e627,0x02a19d01c1bd140363e68414e8f35a9fdf8a5345ea + secg/sect163r2 + twist order = 0x38b + + + sect163r2/3 + 0x01aff9f7655201dc4800b811f5c983d4ca9933b947,0x07bdfdfc15dc948a4dc91d8565a69659c6c88bf5f3 + secg/sect163r2 + twist order = 0x1208485 + + + sect163r2/4 + 0x0332053427eaa5d8f365c5306fb301be9627647e81,0x0696da25692ba254884fb945caa12fe68c05a0416c + secg/sect163r2 + twist order = 0xb78fc77 + + + sect163r2/5 + 0x02556ec8322e21c3de7444a6fcdfff37629d657018,0x0324ab964dd8012423c2607dd9094393b60c725c10 + secg/sect163r2 + twist order = 0x5c4bf9b1205a07afbe718429 + diff --git a/src/cz/crcs/ectester/data/twist/secg/sect233k1.xml b/src/cz/crcs/ectester/data/twist/secg/sect233k1.xml new file mode 100644 index 00000000..cf8524c3 --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/sect233k1.xml @@ -0,0 +1,37 @@ + + + sect233k1/0 + 0x000000000000000000000000000000000000000000000000000000000000,0x000000000000000000000000000000000000000000000000000000000001 + secg/sect233k1 + twist order = 0x2 + + + sect233k1/1 + 0x014cdc219c9370a243ae5a9456fe5e3a421c7363727f3e4018c497e30705,0x01a88dbabe626a8941b5394278f7de54d63edfa7e70c15a815aa75bc5072 + secg/sect233k1 + twist order = 0x1686d + + + sect233k1/2 + 0x00bba31978663bc010dc6620c8241e44417b1a56212b82d4d63751d234cf,0x01b3cda86c83bb59b8e3f3ba2d025adc35abd11acb19ba561491c34fd9c7 + secg/sect233k1 + twist order = 0x6d8a417 + + + sect233k1/3 + 0x01512cc87e6cd2a418857736c96688476b641b9d3a838eb4f9207751e021,0x01dc01ca001b69c64322a5d5c2cf81a9ae0ed04d8d10e8b06ccbcf9ef911 + secg/sect233k1 + twist order = 0x7c02977 + + + sect233k1/4 + 0x01c61af41b217ec78ffb3572df845fe33c8efecb2d05f2033c2824784e5b,0x0138f83ba05a3957721d5db5a5bd247ab02a4f6a3e1c2163027116996730 + secg/sect233k1 + twist order = 0x46403a035013f70d + + + sect233k1/5 + 0x00e9f2cc9d6665352aa77575f3f7bd42642c924388b8c741134eeda9ccb7,0x01e74c2549cce5d6587a11dfd625e099f2519691653c80dbe335aa61c789 + secg/sect233k1 + twist order = 0xc7cb3894752e561e6abf871db + diff --git a/src/cz/crcs/ectester/data/twist/secg/sect233r1.xml b/src/cz/crcs/ectester/data/twist/secg/sect233r1.xml new file mode 100644 index 00000000..45eecf4f --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/sect233r1.xml @@ -0,0 +1,43 @@ + + + sect233r1/0 + 0x000000000000000000000000000000000000000000000000000000000000,0x0187f85627b97874e747ee31e06d71caaeea52f21253e5f946d061da9138 + secg/sect233r1 + twist order = 0x2 + + + sect233r1/1 + 0x00c5f754b03ae354c9cce8386a31436157eaa590a9cfb892dc40d56f66cf,0x01294608d589c250bed15f0e63887c961fa149c68881c1ec242e441ad1a3 + secg/sect233r1 + twist order = 0x5 + + + sect233r1/2 + 0x0024806b9e973c082da34fadd43d94d6966e16b147450db7ddd6e5a3f4e2,0x0083fb9fa68aba9805c0a747897fd1bf12defaa7d8efee174060ac0ef3b0 + secg/sect233r1 + twist order = 0x11b + + + sect233r1/3 + 0x004bde91214e1b76dbe01fe34c68135178639f0453632209fd9da04d22fc,0x0030256812c97f8763815acc7fd00ca87d86cde0517ad2afc92b21c593d7 + secg/sect233r1 + twist order = 0x21d + + + sect233r1/4 + 0x00ca85e22408b271206c05630370c75c7c678392eb5ed54903ed3196eb5e,0x00c3e55b408782683364c3ea0191e4aaadc888f95c5d4a0e0e06e979f77c + secg/sect233r1 + twist order = 0x22dba0b9 + + + sect233r1/5 + 0x0159c22cd6ea5fe56041b75f3b21594ae94161363576338717d9b393ed85,0x00ec9f09736dbd80af6efd0f16419fd24982f9d5de455414057a6b57ac0c + secg/sect233r1 + twist order = 0x2a7504c0fda95a2311 + + + sect233r1/6 + 0x00fe6311a7ee2de94e57f9e632e184a8f9cc21d6a5865a820b6dd62371c3,0x0002dfd2fbdb68965f56f478b7a345950a5ef1e7a7f570962d389efc4612 + secg/sect233r1 + twist order = 0x1e53fa33649df4ef97d6b29ded5a7 + diff --git a/src/cz/crcs/ectester/data/twist/secg/sect239k1.xml b/src/cz/crcs/ectester/data/twist/secg/sect239k1.xml new file mode 100644 index 00000000..bc17d4f0 --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/sect239k1.xml @@ -0,0 +1,31 @@ + + + sect239k1/0 + 0x000000000000000000000000000000000000000000000000000000000000,0x000000000000000000000000000000000000000000000000000000000001 + secg/sect239k1 + twist order = 0x2 + + + sect239k1/1 + 0x027dc44bed0f67a40050ce79eea889f65a856864c1ece7ae4b2d05887b3b,0x330b3b1520d30c012146cd13e3af3d32ee02f0eaebacac36611bda4b9483 + secg/sect239k1 + twist order = 0x10771acb9 + + + sect239k1/2 + 0x2253fa673642a0046615d33a2853062d60e5959144bd608385ad7f4a6686,0x728f3a8f45ff239c5f1ab44cec36278be6312571486cde0a4205a3afb20f + secg/sect239k1 + twist order = 0x3eaaf7f039f + + + sect239k1/3 + 0x38b81ec85fcdcea4a29a8b0326fcf122eee852754476b8490bbb5362efeb,0x2b8e9442ffb0eb8be55636cf7f12bc5402a985e8f7ea89ff0233ddb76a1c + secg/sect239k1 + twist order = 0x1e3607543aabf52e8d8f7 + + + sect239k1/4 + 0x5dbc5cbd7a0c046aeabff4b2abb49fb58763ea2c7e4ca9507ed3d54f9af2,0x0a389cf9dc455db54fc3de75a361b408e2cb679cfb2e1fbed312ff09c048 + secg/sect239k1 + twist order = 0x868c9487ea27642c47f97 + diff --git a/src/cz/crcs/ectester/data/twist/secg/sect283k1.xml b/src/cz/crcs/ectester/data/twist/secg/sect283k1.xml new file mode 100644 index 00000000..65ecb630 --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/sect283k1.xml @@ -0,0 +1,13 @@ + + + sect283k1/0 + 0x000000000000000000000000000000000000000000000000000000000000000000000000,0x000000000000000000000000000000000000000000000000000000000000000000000001 + secg/sect283k1 + twist order = 0x2 + + + sect283k1/1 + 0x01f5a4ad35352d19e37108222909b2a7002516cdf68afb899e9fca4056f77e889d15a7d0,0x04464034359d8bbf2e34f3d0a863d50ea325b804d8882dbf7a36c56d3f782451320799aa + secg/sect283k1 + twist order = 0x400000000000000000000000000000000002ca3a25f1511b3440100d775c3f3c3d3873f + diff --git a/src/cz/crcs/ectester/data/twist/secg/sect283r1.xml b/src/cz/crcs/ectester/data/twist/secg/sect283r1.xml new file mode 100644 index 00000000..e2913a0b --- /dev/null +++ b/src/cz/crcs/ectester/data/twist/secg/sect283r1.xml @@ -0,0 +1,43 @@ + + + sect283r1/0 + 0x000000000000000000000000000000000000000000000000000000000000000000000000,0x072bcc9c5792b1ebe81983089fb6f835a2fd220a304424ca17c082ae17442aede9b9b3f6 + secg/sect283r1 + twist order = 0x2 + + + sect283r1/1 + 0x0297e6d1f2b857a79f5dc85c2f1259d5d801c61a4d0a4312a04f65f09a887a7b93cf7ae1,0x051963c38ac61f05fef93707abcfbda7bc0f39eacddb2bdd3077f19c0e65c8be66ecb30e + secg/sect283r1 + twist order = 0x7 + + + sect283r1/2 + 0x06909a8eacbed1942bc0a6d606ad1ce284dd223d8ce569dba8525c5a5f799f137112c7ad,0x02e4300b6ce278700db70764e810c1a8d4645b57db3d3974027a1a106598ceba86a61ab5 + secg/sect283r1 + twist order = 0x13 + + + sect283r1/3 + 0x01287256c9848e3bd11dddf8f34ecca845b535e84adfdf0154f0e7c4ae1a9f0e6719b9b2,0x0119bf5a2c413f730a1576f577873a6f0a603fd571084d584df0a12601b80fe9b607401f + secg/sect283r1 + twist order = 0x1623ab619 + + + sect283r1/4 + 0x0598a8e3f2a3e06680ab11b84a01d59adee54f329dfc2b65f8a517c2a5f03b8f1aedb021,0x02943952200eb1ab69c2ac5811d32ea4a528af7cc917d2f2883ca5ca55e464f673f5c2f0 + secg/sect283r1 + twist order = 0x2a4aa67aaaf5413fb + + + sect283r1/5 + 0x02e22724a4462bbca361607163bb9ab9926e8fe6859adb397e5eeb8d0972de359e37eebc,0x05b15d8c245bfd0c2ed3930a5742f747e12f4fe0e018ab32fc790711bfdb060514cf8400 + secg/sect283r1 + twist order = 0x25a8cdb1f2e470f3ac1ba7 + + + sect283r1/6 + 0x032a8c3ac7583c8f599fe6cba343b26f66fe13906c96e11db396ad939d43b55260e5fcef,0x046a4cbc0d05bf6ebad4b5f2bfa6f1a486519ff332ebc49136067916f188af2f5bce0782 + secg/sect283r1 + twist order = 0x606749a9c147da03ad3f37 + diff --git a/src/cz/crcs/ectester/reader/test/CardWrongCurvesSuite.java b/src/cz/crcs/ectester/reader/test/CardWrongCurvesSuite.java index 3a350c22..cac8fab1 100644 --- a/src/cz/crcs/ectester/reader/test/CardWrongCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardWrongCurvesSuite.java @@ -50,7 +50,7 @@ protected void runTests() throws Exception { Test allocate = runTest(CommandTest.expect(new Command.AllocateKeyAgreement(this.card, kaType), Result.ExpectedValue.SUCCESS)); if (allocate.ok()) { Test ka = runTest(CommandTest.expect(new Command.ECDH(this.card, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, kaType), Result.ExpectedValue.FAILURE)); - doTest(CompoundTest.all(Result.ExpectedValue.SUCCESS, "Allocate and perform KA, should fail.", allocate, ka)); + doTest(CompoundTest.any(Result.ExpectedValue.FAILURE, "Allocate and perform KA, should fail.", allocate, ka)); } } } From 87ee30fdf73db49cc538985a3937b8a792c2b30f Mon Sep 17 00:00:00 2001 From: J08nY Date: Fri, 19 Jan 2018 18:06:23 +0100 Subject: [PATCH 87/91] Add quadratic twist tests into their own test suite. --- src/cz/crcs/ectester/data/twist/nist/b163.xml | 12 ++-- src/cz/crcs/ectester/data/twist/nist/b233.xml | 14 ++--- src/cz/crcs/ectester/data/twist/nist/b283.xml | 14 ++--- src/cz/crcs/ectester/data/twist/nist/k163.xml | 10 +-- src/cz/crcs/ectester/data/twist/nist/k233.xml | 12 ++-- src/cz/crcs/ectester/data/twist/nist/k283.xml | 4 +- src/cz/crcs/ectester/data/twist/nist/p192.xml | 6 +- src/cz/crcs/ectester/data/twist/nist/p224.xml | 14 ++--- src/cz/crcs/ectester/data/twist/nist/p256.xml | 10 +-- src/cz/crcs/ectester/data/twist/nist/p384.xml | 2 +- src/cz/crcs/ectester/data/twist/nist/p521.xml | 10 +-- .../crcs/ectester/reader/ECTesterReader.java | 7 ++- .../reader/test/CardInvalidCurvesSuite.java | 2 +- .../reader/test/CardTwistTestSuite.java | 62 +++++++++++++++++++ 14 files changed, 122 insertions(+), 57 deletions(-) create mode 100644 src/cz/crcs/ectester/reader/test/CardTwistTestSuite.java diff --git a/src/cz/crcs/ectester/data/twist/nist/b163.xml b/src/cz/crcs/ectester/data/twist/nist/b163.xml index 89ee6a43..03690ac7 100644 --- a/src/cz/crcs/ectester/data/twist/nist/b163.xml +++ b/src/cz/crcs/ectester/data/twist/nist/b163.xml @@ -2,36 +2,36 @@ b163/0 0x000000000000000000000000000000000000000000,0x02c25b85badf8927593d21c366da89c03969f34da5 - nist/b163 + nist/B-163 twist order = 0x2 b163/1 0x03a98eb9fc1007f0a2b0e8de7da23cc6a7f7dd76b1,0x019971752926a2aca5407bffbf2a73f3f884b97127 - nist/b163 + nist/B-163 twist order = 0x1f b163/2 0x023ae22e69bac70ca24078fdf63753eaf6cb89e857,0x03674a33443dc657c24685eb761ab7efbb63a8adbc - nist/b163 + nist/B-163 twist order = 0x38b b163/3 0x04feb095cf083a783cac4107305889efa9f401cc27,0x0403abb00aa4712e4b9120391d59745e9fbad39db3 - nist/b163 + nist/B-163 twist order = 0x1208485 b163/4 0x00a72a640e05acc0e6c6956ab5be24240b92623add,0x031dfc8af709b3db0a05126f17a7b4d703de503475 - nist/b163 + nist/B-163 twist order = 0xb78fc77 b163/5 0x031b5fc734d73023a06e4fe1b7921811221c6d1b2a,0x05432357b4a42a7b8f51b04dfab95a5ecf03547500 - nist/b163 + nist/B-163 twist order = 0x5c4bf9b1205a07afbe718429 diff --git a/src/cz/crcs/ectester/data/twist/nist/b233.xml b/src/cz/crcs/ectester/data/twist/nist/b233.xml index 51768d34..7a0b5796 100644 --- a/src/cz/crcs/ectester/data/twist/nist/b233.xml +++ b/src/cz/crcs/ectester/data/twist/nist/b233.xml @@ -2,42 +2,42 @@ b233/0 0x000000000000000000000000000000000000000000000000000000000000,0x0187f85627b97874e747ee31e06d71caaeea52f21253e5f946d061da9138 - nist/b233 + nist/B-233 twist order = 0x2 b233/1 0x01143eef5ed49cf4b4c552259589988a019e98418c012194a255e9186870,0x01f8070b0ef657563e5d584ce23fc58ef70265d4178d78717c6acebb8c78 - nist/b233 + nist/B-233 twist order = 0x5 b233/2 0x01c8185b4f7d07a7eca7deb9f2adcd3c9402461f8679cbc9618ad1d82be3,0x002d17d4fa7eafbf4f6238b94ddc95f6a56384a4028f50e7de1838c21c8c - nist/b233 + nist/B-233 twist order = 0x11b b233/3 0x01af53fdcb81b561803cb01ba4d384fa3ef7633b1c0dfb35f0e437ffc201,0x012a092d0b600cc59c2234ae65261513eee7a085428b2b42e96253b1143e - nist/b233 + nist/B-233 twist order = 0x21d b233/4 0x01f4b2e29d7a3796e3aa4a6b3ff40805d322292acefd80149ff954d75e04,0x00df2f3258674f799c4dcc8cef118abb4c00abf0c1f10144b47af7a6f41b - nist/b233 + nist/B-233 twist order = 0x22dba0b9 b233/5 0x01b6b9ce48a1428cb554a76a3f659d8b443ebee6b5619c88100bf3f83bb1,0x00dcafc85dfc3758e99736abe5ed2c4f03cbed5a3b478c9e233b976f7258 - nist/b233 + nist/B-233 twist order = 0x2a7504c0fda95a2311 b233/6 0x015cc90c0fdc2fc5fefddf1e9890627f87250b74fbaacd77feb761085d59,0x00059ccb49d156720dd3bcd75438225df9f9e84e7ffc0fc0dda02a647613 - nist/b233 + nist/B-233 twist order = 0x1e53fa33649df4ef97d6b29ded5a7 diff --git a/src/cz/crcs/ectester/data/twist/nist/b283.xml b/src/cz/crcs/ectester/data/twist/nist/b283.xml index bf6d1e67..7f575852 100644 --- a/src/cz/crcs/ectester/data/twist/nist/b283.xml +++ b/src/cz/crcs/ectester/data/twist/nist/b283.xml @@ -2,42 +2,42 @@ b283/0 0x000000000000000000000000000000000000000000000000000000000000000000000000,0x072bcc9c5792b1ebe81983089fb6f835a2fd220a304424ca17c082ae17442aede9b9b3f6 - nist/b283 + nist/B-283 twist order = 0x2 b283/1 0x0297e6d1f2b857a79f5dc85c2f1259d5d801c61a4d0a4312a04f65f09a887a7b93cf7ae1,0x051963c38ac61f05fef93707abcfbda7bc0f39eacddb2bdd3077f19c0e65c8be66ecb30e - nist/b283 + nist/B-283 twist order = 0x7 b283/2 0x022b522e9e120300e74563dee496f8feb64209b858abd5da50f31c92ae4a1eee751c92d6,0x012647d0d771016622e899c2a54afad773907e42e15d45e1db3e4fb0ae6a6df2934dba63 - nist/b283 + nist/B-283 twist order = 0x13 b283/3 0x02597a5336d18d9effde2820bed7352dccc8824abc81cde80914ea3cd072da55e9f91368,0x04a6d2c92a1ee699cda25dafa88191ef34218e9ea5c996d37e9ce507c318e7649b3b02d9 - nist/b283 + nist/B-283 twist order = 0x1623ab619 b283/4 0x01b011689cef74d9b2be4e8fb548eeabe31a678f560fc7b893c330b3939da9451a0cff78,0x022fd9ba4762f742a18e299f035a837b0525d7030e6b061eaa9242237d0767e7c28b608d - nist/b283 + nist/B-283 twist order = 0x2a4aa67aaaf5413fb b283/5 0x06ac85dce72aa795b5b90d43849dec9d4ee0ffc4d41f87fe8d48de2ac3cf84dfc5c20263,0x008e5147dba15ff3cb287457b3f41d32ca6c074df014f85033368d982c1670907d6afa05 - nist/b283 + nist/B-283 twist order = 0x25a8cdb1f2e470f3ac1ba7 b283/6 0x0132803a996ebd53ffa3553fc994b583cdb9514e4476c79336acf72f82ac36add519e655,0x004d30604436960af06b2eab63027ca8f59ca105f505afcd3413e1e72f5fb9c0f29d3a20 - nist/b283 + nist/B-283 twist order = 0x606749a9c147da03ad3f37 diff --git a/src/cz/crcs/ectester/data/twist/nist/k163.xml b/src/cz/crcs/ectester/data/twist/nist/k163.xml index 12e0f8e4..31040c0a 100644 --- a/src/cz/crcs/ectester/data/twist/nist/k163.xml +++ b/src/cz/crcs/ectester/data/twist/nist/k163.xml @@ -2,30 +2,30 @@ k163/0 0x000000000000000000000000000000000000000000,0x000000000000000000000000000000000000000001 - nist/k163 + nist/K-163 twist order = 0x2 k163/1 0x04410857858628f16bd3ef77fce6732525d6d75f6c,0x00c51e38c5eb613ff4c8b594d754a218f30e8b1c39 - nist/k163 + nist/K-163 twist order = 0x28d k163/2 0x004c291913c2e75103b38481fbda3830850ee4c026,0x0403ff8ccadf20f12e10e40b8eed4872d4c128aaa2 - nist/k163 + nist/K-163 twist order = 0x1979 k163/3 0x03868f9f75e8d0056c6e1aabed4a3df1437a56b386,0x07473bb4e85044c95af468d5374da860c4e563159c - nist/k163 + nist/K-163 twist order = 0x7926bec180108d k163/4 0x0162deb07d5848fc45fd580549a6f17fecea1b7497,0x0297440c5cfd9e8fe781004db92f9f106b9d33235f - nist/k163 + nist/K-163 twist order = 0x10a6989de57d15c65ba229 diff --git a/src/cz/crcs/ectester/data/twist/nist/k233.xml b/src/cz/crcs/ectester/data/twist/nist/k233.xml index 2367e257..6354ff9f 100644 --- a/src/cz/crcs/ectester/data/twist/nist/k233.xml +++ b/src/cz/crcs/ectester/data/twist/nist/k233.xml @@ -2,36 +2,36 @@ k233/0 0x000000000000000000000000000000000000000000000000000000000000,0x000000000000000000000000000000000000000000000000000000000001 - nist/k233 + nist/K-233 twist order = 0x2 k233/1 0x01f5c35c89f8294442218a24a7e62ce3dac66c3ee5e9d2b70aaf51f520b2,0x001328eb45743dd96c4deaaa299b5394abfec9852e73a1e051a745fa95d8 - nist/k233 + nist/K-233 twist order = 0x1686d k233/2 0x00959e63a797bf3b2ea48d328ea3a9985da6bc95f296d1fc5e8cf17c257c,0x0070034f2e503a97be8766dd6db086870eea2e3fcb02260e9fcc0df8704c - nist/k233 + nist/K-233 twist order = 0x6d8a417 k233/3 0x00103cf39b9ffa6da7ef9f19f601daf698148663f6e0ae3b4ae2dca53782,0x013c1241644b61fb8c811287c2277c863eb0c31287e30d57d99169b1f509 - nist/k233 + nist/K-233 twist order = 0x7c02977 k233/4 0x003d84c97077988af52d6d825080c0c79276fc168e092260d67b5d4ca3a3,0x01d3fa5b63a25a8f08828117edb78a1ab31724ecfc74d4fc2c4b7ea00703 - nist/k233 + nist/K-233 twist order = 0x46403a035013f70d k233/5 0x01a053f3903f7b9e7e5c8784b01e43fd427b7264781b1e6c7a8755065a38,0x01ed5e24cd66d3d42b4a869aee65bff9506a8cdbc9f3c3c86543ba14db12 - nist/k233 + nist/K-233 twist order = 0xc7cb3894752e561e6abf871db diff --git a/src/cz/crcs/ectester/data/twist/nist/k283.xml b/src/cz/crcs/ectester/data/twist/nist/k283.xml index d27fad92..48a2dd96 100644 --- a/src/cz/crcs/ectester/data/twist/nist/k283.xml +++ b/src/cz/crcs/ectester/data/twist/nist/k283.xml @@ -2,12 +2,12 @@ k283/0 0x000000000000000000000000000000000000000000000000000000000000000000000000,0x000000000000000000000000000000000000000000000000000000000000000000000001 - nist/k283 + nist/K-283 twist order = 0x2 k283/1 0x02707778aaa47f7a075be036522a6c2998ce118bf7e6314f342ba399dbc3572750791e4d,0x0568810a78107353690d1429cb7f4f408650cbf112d096907f563971baafad1b36436ec2 - nist/k283 + nist/K-283 twist order = 0x400000000000000000000000000000000002ca3a25f1511b3440100d775c3f3c3d3873f diff --git a/src/cz/crcs/ectester/data/twist/nist/p192.xml b/src/cz/crcs/ectester/data/twist/nist/p192.xml index ddb547e7..d1fdf49d 100644 --- a/src/cz/crcs/ectester/data/twist/nist/p192.xml +++ b/src/cz/crcs/ectester/data/twist/nist/p192.xml @@ -2,18 +2,18 @@ p192/0 0x489ba2a146ac0e7bb9f008fb780005e48d3588893c7ebca9,0x7caac0b203223010fb59940946a12e35d227fcb3ee6c9afc - nist/p192 + nist/P-192 twist order = 0x17 p192/1 0xfaebaecd2737a6c22b5023d236ad48ab9acacb2cac075379,0x43810e9a10dabc2f835af837ac83fc4f0225773f3a84103f - nist/p192 + nist/P-192 twist order = 0x231acce82af76d32ca5d526f p192/2 0x7af6e161dcb8cd7852d5102ab42974af5179706d4616cce0,0xa3177747f0de49227575d2afc449187ab546e9ab827fcac9 - nist/p192 + nist/P-192 twist order = 0x512b1bfde874086edba50007 diff --git a/src/cz/crcs/ectester/data/twist/nist/p224.xml b/src/cz/crcs/ectester/data/twist/nist/p224.xml index 693b2f82..3ae34ffe 100644 --- a/src/cz/crcs/ectester/data/twist/nist/p224.xml +++ b/src/cz/crcs/ectester/data/twist/nist/p224.xml @@ -2,42 +2,42 @@ p224/0 0x90427f4a141f94c26f98d40060292350fcace2356961ef27dda08d7b,0x58877d4992c377c33459aa0caeb0526881326f201beb519fc11aadc8 - nist/p224 + nist/P-224 twist order = 0x3 p224/1 0x7f87c1db4213f1032c251a514e324f4360390476e0f7cd025547df58,0x2498f43e46af6fa0ad6480cfd61fb40caa78e349db0766a8760ff021 - nist/p224 + nist/P-224 twist order = 0xb p224/2 0x2a2d61174fd561e9da2f279b96f7a69ae50a78d87f09674f465c9184,0xc9c7232ca8a50587181d8c96204c1eec6e976bcbd58e3c7181dbb2a7 - nist/p224 + nist/P-224 twist order = 0x2f p224/3 0x15da8f68bfe51bc75f0cd892f7400c3d5ce5a9c6da126171527767cc,0x0cee3612475887d31963b62c69580191d1158df3f0c0305765175c9c - nist/p224 + nist/P-224 twist order = 0x2e0273 p224/4 0xbd813fcdea2281a452733516e4e2625fac96573c41f3b37c56d0d1d7,0x351de92e6b06928fec37ee0ffd03606fecc5022edc1a72453c433ef4 - nist/p224 + nist/P-224 twist order = 0x268160f p224/5 0x2a379d972d016116067b5bf2c23937b6182b4dc6bf8aa0625eb58b9f,0xb9ec1e372728d3334a762e5d64faca1e0cd47f46c3e5402ff14cb140 - nist/p224 + nist/P-224 twist order = 0xf3bac7aa52cf p224/6 0xc5e229bfc9f4e0992ecf51a3c354e6aac1a4673056bee9a673beae5a,0x73a2e7d530b13c281d460ea2d2c3bddb49a8eb3446b9308ec64d5a70 - nist/p224 + nist/P-224 twist order = 0x22340ff0f7eba57b33ac73e28a14d1 diff --git a/src/cz/crcs/ectester/data/twist/nist/p256.xml b/src/cz/crcs/ectester/data/twist/nist/p256.xml index fd7854cf..2e1c55e7 100644 --- a/src/cz/crcs/ectester/data/twist/nist/p256.xml +++ b/src/cz/crcs/ectester/data/twist/nist/p256.xml @@ -2,30 +2,30 @@ p256/0 0x92787586fc8a5d065a2a754e229a66ea3c845c8d5f7120792ee3aacee88ca01c,0xee95a42047d9eae3bb007aa7aed3a87ee6986df813f6c76d8f19866a1b1f9c20 - nist/p256 + nist/P-256 twist order = 0x3 p256/1 0x40d27c77cf9fb36e49a850b1ae7357c9ab3f1d917d52ba3edb648bd33354d3da,0xd30662382d8440919f4decbc58c6d9ca8745d39cdd71c26063fd2fa8bcbb69f7 - nist/p256 + nist/P-256 twist order = 0x5 p256/2 0x33961ae81d08958d1dbc42bdadb05e7cb7bdda383b1c49e18c3a2f5908c833a2,0xc4a96d4f905a1d7e32d4c82d6e79f1ef7047d09bf1d1518be2c65d13815306fe - nist/p256 + nist/P-256 twist order = 0xd p256/3 0x21fa3bf4b7d23dea73a1751d3b02dd8724a2a5a0ae9b28fdd98b8ef18bb610f5,0x7d933ab51ac8bc7e5d3c5a44d9875c64a080eba393c6492e4e5ce2367f133dd1 - nist/p256 + nist/P-256 twist order = 0xb3 p256/4 0x3819da45c7b025be543fd40ec49b2613891c12f2ae2daf014396c70270eff92c,0xbec84d62254dbc67864ced51966d4f419ad5b1ec9ee1d72cce291a8a034518da - nist/p256 + nist/P-256 twist order = 0x1e0a75640070a738557cc30f68bd56eaea65c94f98411d17ac4e16ece1a47 diff --git a/src/cz/crcs/ectester/data/twist/nist/p384.xml b/src/cz/crcs/ectester/data/twist/nist/p384.xml index eef02b8e..8e0d2b62 100644 --- a/src/cz/crcs/ectester/data/twist/nist/p384.xml +++ b/src/cz/crcs/ectester/data/twist/nist/p384.xml @@ -2,6 +2,6 @@ p384/0 0x77e3431a4d6b9d63985798eb41188f9af7eb6c0f38745d360bf82b5c2c162cb8393adf2dbc4d5531c49322d9c7b4c9cd,0x2b38ea158d3c980e9b3618cfe42599dd9d78e630ac83c66673949121ca6c8997fbf5e08c060076f3fa60d6dec8ac8624 - nist/p384 + nist/P-384 twist order = 0x1000000000000000000000000000000000000000000000000389cb27e0bc8d21ea7e5f24bb74f58851313e697333ad68d diff --git a/src/cz/crcs/ectester/data/twist/nist/p521.xml b/src/cz/crcs/ectester/data/twist/nist/p521.xml index 82eb773a..1564c801 100644 --- a/src/cz/crcs/ectester/data/twist/nist/p521.xml +++ b/src/cz/crcs/ectester/data/twist/nist/p521.xml @@ -2,30 +2,30 @@ p521/0 0x01a0c6f0e5b2c6948218fb8d1e913d750ace27674e59ec0a45f8f5883518c65c401af5a2275b7c2c74e717f5b64c48056f1440de1d48ef0825086f12db4f862e4467,0x00c93c77edf1cac8bab534a28c49446113a22833e05658b69f73658d7867b43c94f58d52e17b726e3f6d0b5847d91980509250210c4e1c73eeec72e185529c1450b0 - nist/p521 + nist/P-521 twist order = 0x5 p521/1 0x00e84fb16849133c2e4c24e7efc4df752ed9f01204aa692342bc619a8a9ccdd1b058996f3896790d0ee1b7c480cb117cc0b9272c116c6f544b99dca9d441976c69c0,0x00e6d2c8adb57c81db0bead3d225ee900c81e049d0e36bf20bf421f5620449b1638f2b1998f3e1ffbee369a74bc4833d01f45b46388755ba16abf67c5f7f53ac9110 - nist/p521 + nist/P-521 twist order = 0x7 p521/2 0x0161cb810a7d7f9092d518ed483208f202cf5a984e98ff50f94b13e04bf94be942c91a007cff215d55bf124912b8620312bc94e813d7956e3821b45da439f0b0e8e7,0x005194f315423bcacf38ea558ff344daedf9a51a81b0a9ef27f1d687c8d1b6952b60b6486fc2c3d394749fb00e4921a5cfced55c1fe821e8b80279f6cec89ba1ac1f - nist/p521 + nist/P-521 twist order = 0x4277ffb p521/3 0x01c133c394ad86829a9252e4d5e266c3d2830eb9b899e2cb16b815a5c7050c3bc53c415296339d33427087bdef04c0ae2d8f7d63d4a41176bd76d3c07cbd1ecfd1ee,0x01fee0c7535c40e01f2c12ee2a6ae1e54cafc147c3b491602da1f278b46c6ae3c04705b3bb3c72af70aaf3d4c684411ede8694d7a21b3734ce43ecc2b4a1ee2efee7 - nist/p521 + nist/P-521 twist order = 0x25e6d2cd p521/4 0x01232e18498e6cafe2572ec0b511376cf0d4844ec3b94472fb53346d7d9611726065cc922b3d2132117c99bce0ff8bc7f51bb30c6909a53b7c8a88e81807c31a1999,0x0112ada376c25bdc96440e0e2bf936377b287e885a08e6e1b5aa54f9b269cce4ed6ca6e6e44bd6d8e092e4864b278951648e897682096488e2a36036e989b1af7b24 - nist/p521 + nist/P-521 twist order = 0x17c8b8fa594c0fc63a5c0043ab498c1762d92f18fdfe2fea8f074695615d886d81bf930a0ac77d01bf9dd8c1a1ae121dab4e860c5dc18e265de3 diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index ff0f4038..4097d814 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -247,7 +247,7 @@ private CommandLine parseArgs(String[] args) throws ParseException { actions.addOption(Option.builder("ln").longOpt("list-named").desc("Print the list of supported named curves and keys.").hasArg().argName("what").optionalArg(true).build()); actions.addOption(Option.builder("e").longOpt("export").desc("Export the defaut curve parameters of the card(if any).").build()); actions.addOption(Option.builder("g").longOpt("generate").desc("Generate [amount] of EC keys.").hasArg().argName("amount").optionalArg(true).build()); - actions.addOption(Option.builder("t").longOpt("test").desc("Test ECC support. [test_suite]:\n- default:\n- invalid:\n- wrong:\n- composite:\n- test-vectors:").hasArg().argName("test_suite").optionalArg(true).build()); + actions.addOption(Option.builder("t").longOpt("test").desc("Test ECC support. [test_suite]:\n- default:\n- invalid:\n- twist:\n- wrong:\n- composite:\n- test-vectors:").hasArg().argName("test_suite").optionalArg(true).build()); actions.addOption(Option.builder("dh").longOpt("ecdh").desc("Do EC KeyAgreement (ECDH...), [count] times.").hasArg().argName("count").optionalArg(true).build()); actions.addOption(Option.builder("dsa").longOpt("ecdsa").desc("Sign data with ECDSA, [count] times.").hasArg().argName("count").optionalArg(true).build()); @@ -446,6 +446,9 @@ private void test() throws IOException, TestException, ParserConfigurationExcept case "invalid": suite = new CardInvalidCurvesSuite(writer, cfg, cardManager); break; + case "twist": + suite = new CardTwistTestSuite(writer, cfg, cardManager); + break; default: System.err.println("Unknown test suite."); return; @@ -780,7 +783,7 @@ boolean readOptions(CommandLine cli) { } testSuite = cli.getOptionValue("test", "default").toLowerCase(); - String[] tests = new String[]{"default", "composite", "invalid", "test-vectors", "wrong"}; + String[] tests = new String[]{"default", "composite", "invalid", "test-vectors", "wrong", "twist"}; if (!Arrays.asList(tests).contains(testSuite)) { System.err.println("Unknown test suite " + testSuite + ". Should be one of: " + Arrays.toString(tests)); return false; diff --git a/src/cz/crcs/ectester/reader/test/CardInvalidCurvesSuite.java b/src/cz/crcs/ectester/reader/test/CardInvalidCurvesSuite.java index 0572a66f..8424d451 100644 --- a/src/cz/crcs/ectester/reader/test/CardInvalidCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardInvalidCurvesSuite.java @@ -26,7 +26,7 @@ public class CardInvalidCurvesSuite extends CardTestSuite { public CardInvalidCurvesSuite(TestWriter writer, ECTesterReader.Config cfg, CardMngr cardManager) { - super(writer, cfg, cardManager, "invalid", "The invalid curve suite run whether the card rejects points outside of the curve during ECDH."); + super(writer, cfg, cardManager, "invalid", "The invalid curve suite tests whether the card rejects points outside of the curve during ECDH."); } @Override diff --git a/src/cz/crcs/ectester/reader/test/CardTwistTestSuite.java b/src/cz/crcs/ectester/reader/test/CardTwistTestSuite.java new file mode 100644 index 00000000..c43b2344 --- /dev/null +++ b/src/cz/crcs/ectester/reader/test/CardTwistTestSuite.java @@ -0,0 +1,62 @@ +package cz.crcs.ectester.reader.test; + +import cz.crcs.ectester.applet.ECTesterApplet; +import cz.crcs.ectester.applet.EC_Consts; +import cz.crcs.ectester.common.ec.EC_Curve; +import cz.crcs.ectester.common.ec.EC_Key; +import cz.crcs.ectester.common.output.TestWriter; +import cz.crcs.ectester.common.test.CompoundTest; +import cz.crcs.ectester.common.test.Result; +import cz.crcs.ectester.common.test.Test; +import cz.crcs.ectester.data.EC_Store; +import cz.crcs.ectester.reader.CardMngr; +import cz.crcs.ectester.reader.ECTesterReader; +import cz.crcs.ectester.reader.command.Command; +import javacard.security.KeyPair; + +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class CardTwistTestSuite extends CardTestSuite { + public CardTwistTestSuite(TestWriter writer, ECTesterReader.Config cfg, CardMngr cardManager) { + super(writer, cfg, cardManager, "twist", "The twist test suite tests whether the card correctly rejects points on the quadratic twist of the curve during ECDH."); + } + + @Override + protected void runTests() throws Exception { + Map pubkeys = EC_Store.getInstance().getObjects(EC_Key.Public.class, "twist"); + Map> curves = new HashMap<>(); + for (EC_Key.Public key : pubkeys.values()) { + EC_Curve curve = EC_Store.getInstance().getObject(EC_Curve.class, key.getCurve()); + if (curve.getBits() != cfg.bits && !cfg.all) { + continue; + } + if (curve.getField() == KeyPair.ALG_EC_FP && !cfg.primeField || curve.getField() == KeyPair.ALG_EC_F2M && !cfg.binaryField) { + continue; + } + List keys = curves.getOrDefault(curve, new LinkedList<>()); + keys.add(key); + curves.putIfAbsent(curve, keys); + } + for (Map.Entry> e : curves.entrySet()) { + EC_Curve curve = e.getKey(); + List keys = e.getValue(); + + doTest(CommandTest.expect(new Command.Allocate(this.card, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()), Result.ExpectedValue.SUCCESS)); + doTest(CommandTest.expect(new Command.Set(this.card, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), Result.ExpectedValue.SUCCESS)); + doTest(CommandTest.expect(new Command.Generate(this.card, ECTesterApplet.KEYPAIR_LOCAL), Result.ExpectedValue.SUCCESS)); + List ecdhTests = new LinkedList<>(); + for (EC_Key.Public pub : keys) { + Command ecdhCommand = new Command.ECDH_direct(this.card, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, ECTesterApplet.KeyAgreement_ALG_EC_SVDP_DH, pub.flatten()); + ecdhTests.add(CommandTest.expect(ecdhCommand, Result.ExpectedValue.FAILURE, "Card correctly rejected point on twist.", "Card incorrectly accepted point on twist.")); + } + doTest(CompoundTest.all(Result.ExpectedValue.SUCCESS, "Twist test of " + curve.getId(), ecdhTests.toArray(new Test[0]))); + new Command.Cleanup(this.card).send(); + } + } +} From c6345358ab582d96462209d50d37f731690ef311 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sat, 20 Jan 2018 01:12:33 +0100 Subject: [PATCH 88/91] Add PerformanceTest and add it to the default card test suite. --- .../ectester/common/test/BaseTestable.java | 7 ++ .../ectester/common/test/CompoundTest.java | 4 +- src/cz/crcs/ectester/common/test/Test.java | 6 + .../crcs/ectester/common/test/Testable.java | 6 + .../crcs/ectester/reader/ECTesterReader.java | 1 + .../reader/test/CardDefaultSuite.java | 18 ++- .../ectester/reader/test/PerformanceTest.java | 103 ++++++++++++++++++ 7 files changed, 140 insertions(+), 5 deletions(-) create mode 100644 src/cz/crcs/ectester/reader/test/PerformanceTest.java diff --git a/src/cz/crcs/ectester/common/test/BaseTestable.java b/src/cz/crcs/ectester/common/test/BaseTestable.java index f376299d..a4b9a00f 100644 --- a/src/cz/crcs/ectester/common/test/BaseTestable.java +++ b/src/cz/crcs/ectester/common/test/BaseTestable.java @@ -22,4 +22,11 @@ public boolean ok() { public boolean error() { return error; } + + @Override + public void reset() { + hasRun = false; + ok = false; + error = false; + } } diff --git a/src/cz/crcs/ectester/common/test/CompoundTest.java b/src/cz/crcs/ectester/common/test/CompoundTest.java index 3b0b542c..10ecf9ca 100644 --- a/src/cz/crcs/ectester/common/test/CompoundTest.java +++ b/src/cz/crcs/ectester/common/test/CompoundTest.java @@ -1,5 +1,7 @@ package cz.crcs.ectester.common.test; +import java.util.Arrays; +import java.util.Objects; import java.util.function.Function; /** @@ -14,7 +16,7 @@ public class CompoundTest extends Test { private CompoundTest(Function callback, Test... tests) { this.callback = callback; - this.tests = tests; + this.tests = Arrays.stream(tests).filter(Objects::nonNull).toArray(Test[]::new); } private CompoundTest(Function callback, String descripiton, Test... tests) { diff --git a/src/cz/crcs/ectester/common/test/Test.java b/src/cz/crcs/ectester/common/test/Test.java index 4f5bb6e1..3d0baf6e 100644 --- a/src/cz/crcs/ectester/common/test/Test.java +++ b/src/cz/crcs/ectester/common/test/Test.java @@ -52,6 +52,12 @@ public boolean hasRun() { return hasRun; } + @Override + public void reset() { + hasRun = false; + result = null; + } + public abstract String getDescription(); @Override diff --git a/src/cz/crcs/ectester/common/test/Testable.java b/src/cz/crcs/ectester/common/test/Testable.java index 5b84a452..33c9485a 100644 --- a/src/cz/crcs/ectester/common/test/Testable.java +++ b/src/cz/crcs/ectester/common/test/Testable.java @@ -13,11 +13,17 @@ public interface Testable { * @return Whether an error happened. */ boolean error(); + /** * @return Whether this runnable was run. */ boolean hasRun(); + /** + * + */ + void reset(); + /** * Run this Runnable. * diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index 4097d814..5e3a3fe5 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -181,6 +181,7 @@ private void run(String[] args) { } catch (CardException | TestException ex) { if (logger != null) logger.println(ex.getMessage()); + ex.printStackTrace(); } catch (ParserConfigurationException e) { e.printStackTrace(); } finally { diff --git a/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java b/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java index b05d4fe1..0987160c 100644 --- a/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java @@ -57,9 +57,14 @@ private void runDefault(byte field) throws Exception { for (byte kaType : EC_Consts.KA_TYPES) { Test allocate = runTest(CommandTest.expect(new Command.AllocateKeyAgreement(this.card, kaType), ExpectedValue.SUCCESS)); if (allocate.ok()) { - Test ka = runTest(CommandTest.expect(new Command.ECDH(this.card, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, kaType), ExpectedValue.SUCCESS)); + Command ecdh = new Command.ECDH(this.card, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, kaType); + Test ka = runTest(CommandTest.expect(ecdh, ExpectedValue.SUCCESS)); Test kaCompressed = runTest(CommandTest.expect(new Command.ECDH(this.card, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_COMPRESS, kaType), ExpectedValue.SUCCESS)); - Test compound = runTest(CompoundTest.all(ExpectedValue.SUCCESS, "Test of the " + CardUtil.getKATypeString(kaType) + " KeyAgreement.", allocate, ka, kaCompressed)); + Test perfTest = null; + if (ka.ok()) { + perfTest = runTest(PerformanceTest.repeat(ecdh, 100)); + } + Test compound = runTest(CompoundTest.all(ExpectedValue.SUCCESS, "Test of the " + CardUtil.getKATypeString(kaType) + " KeyAgreement.", allocate, ka, kaCompressed, perfTest)); supportTests.add(compound); } else { runTest(allocate); @@ -69,8 +74,13 @@ private void runDefault(byte field) throws Exception { for (byte sigType : EC_Consts.SIG_TYPES) { Test allocate = runTest(CommandTest.expect(new Command.AllocateSignature(this.card, sigType), ExpectedValue.SUCCESS)); if (allocate.ok()) { - Test expect = runTest(CommandTest.expect(new Command.ECDSA(this.card, ECTesterApplet.KEYPAIR_LOCAL, sigType, ECTesterApplet.EXPORT_FALSE, null), ExpectedValue.SUCCESS)); - Test compound = runTest(CompoundTest.all(ExpectedValue.SUCCESS, "Test of the " + CardUtil.getSigTypeString(sigType) + " signature.", allocate, expect)); + Command ecdsa = new Command.ECDSA(this.card, ECTesterApplet.KEYPAIR_LOCAL, sigType, ECTesterApplet.EXPORT_FALSE, null); + Test expect = runTest(CommandTest.expect(ecdsa, ExpectedValue.SUCCESS)); + Test perfTest = null; + if (expect.ok()) { + perfTest = runTest(PerformanceTest.repeat(ecdsa, 100)); + } + Test compound = runTest(CompoundTest.all(ExpectedValue.SUCCESS, "Test of the " + CardUtil.getSigTypeString(sigType) + " signature.", allocate, expect, perfTest)); supportTests.add(compound); } else { supportTests.add(allocate); diff --git a/src/cz/crcs/ectester/reader/test/PerformanceTest.java b/src/cz/crcs/ectester/reader/test/PerformanceTest.java new file mode 100644 index 00000000..4a27bad4 --- /dev/null +++ b/src/cz/crcs/ectester/reader/test/PerformanceTest.java @@ -0,0 +1,103 @@ +package cz.crcs.ectester.reader.test; + +import cz.crcs.ectester.common.test.Result; +import cz.crcs.ectester.common.test.SimpleTest; +import cz.crcs.ectester.common.test.TestCallback; +import cz.crcs.ectester.common.test.TestException; +import cz.crcs.ectester.reader.command.Command; + +import java.util.Arrays; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class PerformanceTest extends SimpleTest { + private long[] times; + private long mean; + private long median; + private long mode; + private int count; + + private PerformanceTest(CommandTestable testable, int count) { + super(testable, new TestCallback() { + @Override + public Result apply(CommandTestable testable) { + return new Result(Result.Value.SUCCESS); + } + }); + this.count = count; + } + + public static PerformanceTest repeat(Command cmd, int count) { + return new PerformanceTest(new CommandTestable(cmd), count); + } + + @Override + public String getDescription() { + return String.format("Mean = %d ns, Median = %d ns, Mode = %d ns", mean, median, mode); + } + + @Override + public void run() throws TestException { + if (hasRun) + return; + + times = new long[count]; + for (int i = 0; i < count; ++i) { + testable.run(); + times[i] = testable.getResponse().getDuration(); + testable.reset(); + } + + mean = Arrays.stream(times).sum() / count; + + long[] sorted = times.clone(); + Arrays.sort(sorted); + if (count % 2 == 0) { + median = (sorted[(count / 2) - 1] + sorted[count / 2]) / 2; + } else { + median = sorted[count / 2]; + } + + long max_occurences = 0; + int i = 0; + while (i < count) { + long current_value = sorted[i]; + long current_occurences = 0; + while (i < count && sorted[i] == current_value) { + i++; + current_occurences++; + } + if (current_occurences > max_occurences) { + max_occurences = current_occurences; + mode = current_value; + } + } + hasRun = true; + result = callback.apply(testable); + } + + public long getCount() { + return count; + } + + public Command getCommand() { + return testable.getCommand(); + } + + public long[] getTimes() { + return times; + } + + public long getMean() { + return mean; + } + + public long getMedian() { + return median; + } + + public long getMode() { + return mode; + } +} From a62ce6a1adfc374d11889520893214f1ff6d237a Mon Sep 17 00:00:00 2001 From: J08nY Date: Sat, 20 Jan 2018 01:46:14 +0100 Subject: [PATCH 89/91] Fix XML output NullPointerException. --- src/cz/crcs/ectester/reader/output/XMLTestWriter.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java index 356593ee..d3674e8d 100644 --- a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java @@ -107,6 +107,7 @@ protected Element deviceElement(TestSuite suite) { Element atr = doc.createElement("ATR"); atr.setTextContent(ByteUtil.bytesToHex(cardSuite.getCard().getATR().getBytes(), false)); result.appendChild(atr); + return result; } return null; } From a67fd8ed8557e6bb7b9df0fd299a2c3a1b571e50 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sat, 20 Jan 2018 19:12:33 +0100 Subject: [PATCH 90/91] Fix default test suite F2m tests. --- src/cz/crcs/ectester/applet/ECKeyTester.java | 4 +--- src/cz/crcs/ectester/applet/ECTesterApplet.java | 1 - src/cz/crcs/ectester/reader/test/CardDefaultSuite.java | 7 ++++--- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/cz/crcs/ectester/applet/ECKeyTester.java b/src/cz/crcs/ectester/applet/ECKeyTester.java index 732cb4c8..36515efa 100644 --- a/src/cz/crcs/ectester/applet/ECKeyTester.java +++ b/src/cz/crcs/ectester/applet/ECKeyTester.java @@ -62,9 +62,7 @@ public short testKA(KeyPair privatePair, KeyPair publicPair, byte[] pubkeyBuffer sw = AppletUtil.keypairCheck(privatePair); sw = AppletUtil.keypairCheck(publicPair); short pubkeyLength = ((ECPublicKey) publicPair.getPublic()).getW(pubkeyBuffer, pubkeyOffset); - // reached ok - ecKeyAgreement.init(privatePair.getPrivate()); // throws UNITIALIZED KEY when ALG_EC_SVDP_DHC_PLAIN is used - //ISOException.throwIt((short) 0x666); + ecKeyAgreement.init(privatePair.getPrivate()); pubkeyLength = EC_Consts.corruptParameter(corruption, pubkeyBuffer, pubkeyOffset, pubkeyLength); length = ecKeyAgreement.generateSecret(pubkeyBuffer, pubkeyOffset, pubkeyLength, outputBuffer, outputOffset); diff --git a/src/cz/crcs/ectester/applet/ECTesterApplet.java b/src/cz/crcs/ectester/applet/ECTesterApplet.java index 7fb2783e..20e3f055 100644 --- a/src/cz/crcs/ectester/applet/ECTesterApplet.java +++ b/src/cz/crcs/ectester/applet/ECTesterApplet.java @@ -70,7 +70,6 @@ public class ECTesterApplet extends Applet implements ExtendedLength { public static final short SW_KA_NULL = (short) 0x0ee4; public static final short SW_SIGNATURE_NULL = (short) 0x0ee5; public static final short SW_OBJECT_NULL = (short) 0x0ee6; - public static final short SW_KA_UNSUPPORTED = (short) 0x0ee7; // Class javacard.security.KeyAgreement diff --git a/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java b/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java index 0987160c..c3bd9c81 100644 --- a/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardDefaultSuite.java @@ -36,7 +36,8 @@ protected void runTests() throws Exception { } private void runDefault(byte field) throws Exception { - for (short keyLength : EC_Consts.FP_SIZES) { + short[] keySizes = field == KeyPair.ALG_EC_FP ? EC_Consts.FP_SIZES : EC_Consts.F2M_SIZES; + for (short keyLength : keySizes) { String description = "Tests of " + keyLength + "b " + (field == KeyPair.ALG_EC_FP ? "ALG_EC_FP" : "ALG_EC_F2M") + " support."; List supportTests = new LinkedList<>(); @@ -62,7 +63,7 @@ private void runDefault(byte field) throws Exception { Test kaCompressed = runTest(CommandTest.expect(new Command.ECDH(this.card, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_COMPRESS, kaType), ExpectedValue.SUCCESS)); Test perfTest = null; if (ka.ok()) { - perfTest = runTest(PerformanceTest.repeat(ecdh, 100)); + perfTest = runTest(PerformanceTest.repeat(ecdh, 10)); } Test compound = runTest(CompoundTest.all(ExpectedValue.SUCCESS, "Test of the " + CardUtil.getKATypeString(kaType) + " KeyAgreement.", allocate, ka, kaCompressed, perfTest)); supportTests.add(compound); @@ -78,7 +79,7 @@ private void runDefault(byte field) throws Exception { Test expect = runTest(CommandTest.expect(ecdsa, ExpectedValue.SUCCESS)); Test perfTest = null; if (expect.ok()) { - perfTest = runTest(PerformanceTest.repeat(ecdsa, 100)); + perfTest = runTest(PerformanceTest.repeat(ecdsa, 10)); } Test compound = runTest(CompoundTest.all(ExpectedValue.SUCCESS, "Test of the " + CardUtil.getSigTypeString(sigType) + " signature.", allocate, expect, perfTest)); supportTests.add(compound); From c581e39e539e6dadb49d9f83f563ab2b375f6e0b Mon Sep 17 00:00:00 2001 From: J08nY Date: Tue, 23 Jan 2018 15:29:19 +0100 Subject: [PATCH 91/91] Simplify F2m field setting in applet. --- src/cz/crcs/ectester/applet/ECKeyGenerator.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/cz/crcs/ectester/applet/ECKeyGenerator.java b/src/cz/crcs/ectester/applet/ECKeyGenerator.java index 0c20333c..b026cfe5 100644 --- a/src/cz/crcs/ectester/applet/ECKeyGenerator.java +++ b/src/cz/crcs/ectester/applet/ECKeyGenerator.java @@ -201,13 +201,13 @@ public short setParameter(KeyPair keypair, byte key, short param, byte[] data, s break; case EC_Consts.PARAMETER_F2M: if (length == 4) { - short i = Util.makeShort(data[(short) (offset + 2)], data[(short) (offset + 3)]); + short i = Util.getShort(data, (short) (offset + 2)); if ((key & EC_Consts.KEY_PUBLIC) != 0) ecPublicKey.setFieldF2M(i); if ((key & EC_Consts.KEY_PRIVATE) != 0) ecPrivateKey.setFieldF2M(i); } else if (length == 8) { - short i1 = Util.makeShort(data[(short) (offset + 2)], data[(short) (offset + 3)]); - short i2 = Util.makeShort(data[(short) (offset + 4)], data[(short) (offset + 5)]); - short i3 = Util.makeShort(data[(short) (offset + 6)], data[(short) (offset + 7)]); + short i1 = Util.getShort(data, (short) (offset + 2)); + short i2 = Util.getShort(data, (short) (offset + 4)); + short i3 = Util.getShort(data, (short) (offset + 6)); // if ((key & EC_Consts.KEY_PUBLIC) != 0) ecPublicKey.setFieldF2M(i1, i2, i3); // if ((key & EC_Consts.KEY_PRIVATE) != 0) ecPrivateKey.setFieldF2M(i1, i2, i3); // TODO: fix this, ^^ fails on jcardsim, but is up to spec

  • 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%0Ac6#u-1wU6@r5gcrPOWSG_7>S2k1;n-}QUCWwH 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%0A5Q#4VWll=v5@881zw?&S>$;=mg6%TuW(EoW4 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 z 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%0DgHdIOQkAVaqB(eGz^OK96?uEy*xdk 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≪`BP3Cj@ir-7A+JO^uv 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⋙u_S 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�(KZ{L9Cp2sT#n0a&sK{ng9H`#-p#{|~zA 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