aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ08nY2017-03-28 01:50:53 +0200
committerJ08nY2017-03-28 01:50:53 +0200
commit6218dd2809dcc2f00adb70ac61784c681d4491ca (patch)
tree7fd2efd736148320487ee19b19fda6846e10bd9e
parent0ab7f6dd030c866565cb6592b2a40a39af82be09 (diff)
downloadECTester-6218dd2809dcc2f00adb70ac61784c681d4491ca.tar.gz
ECTester-6218dd2809dcc2f00adb70ac61784c681d4491ca.tar.zst
ECTester-6218dd2809dcc2f00adb70ac61784c681d4491ca.zip
-rw-r--r--!uploader/ectester.capbin13811 -> 13811 bytes
-rw-r--r--!uploader/simpleECC.capbin18330 -> 0 bytes
-rw-r--r--!uploader/simpleECC221.capbin4562 -> 0 bytes
-rw-r--r--README.md45
-rw-r--r--dist/ECTester.jarbin253043 -> 283382 bytes
-rw-r--r--src/cz/crcs/ectester/data/EC_Category.java1
-rw-r--r--src/cz/crcs/ectester/data/EC_Store.java7
-rw-r--r--src/cz/crcs/ectester/data/smallpub/keys.xml14
-rw-r--r--src/cz/crcs/ectester/data/test/brainpool/brainpoolP224r1-dh-raw.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/brainpool/brainpoolP224r1-dh-sha1.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/brainpool/brainpoolP224r1-keyA.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/brainpool/brainpoolP224r1-keyB.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/brainpool/brainpoolP256r1-dh-raw.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/brainpool/brainpoolP256r1-dh-sha1.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/brainpool/brainpoolP256r1-keyA.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/brainpool/brainpoolP256r1-keyB.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/brainpool/brainpoolP384r1-dh-raw.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/brainpool/brainpoolP384r1-dh-sha1.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/brainpool/brainpoolP384r1-keyA.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/brainpool/brainpoolP384r1-keyB.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/brainpool/brainpoolP512r1-dh-raw.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/brainpool/brainpoolP512r1-dh-sha1.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/brainpool/brainpoolP512r1-keyA.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/brainpool/brainpoolP512r1-keyB.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/keys.xml202
-rw-r--r--src/cz/crcs/ectester/data/test/nist/b163-dhc-raw.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/b163-dhc-sha1.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/b163-keyCAVS.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/b163-keyIUT.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/b233-dhc-raw.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/b233-dhc-sha1.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/b233-keyCAVS.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/b233-keyIUT.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/b283-dhc-raw.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/b283-dhc-sha1.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/b283-keyCAVS.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/b283-keyIUT.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/b409-dhc-raw.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/b409-dhc-sha1.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/b409-keyCAVS.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/b409-keyIUT.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/b571-dhc-raw.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/b571-dhc-sha1.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/b571-keyCAVS.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/b571-keyIUT.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/k163-dhc-raw.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/k163-dhc-sha1.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/k163-keyCAVS.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/k163-keyIUT.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/k233-dhc-raw.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/k233-dhc-sha1.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/k233-keyCAVS.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/k233-keyIUT.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/k283-dhc-raw.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/k283-dhc-sha1.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/k283-keyCAVS.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/k283-keyIUT.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/k409-dhc-raw.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/k409-dhc-sha1.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/k409-keyCAVS.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/k409-keyIUT.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/k571-dhc-raw.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/k571-dhc-sha1.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/k571-keyCAVS.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/k571-keyIUT.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/p192-dhc-raw.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/p192-dhc-sha1.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/p192-keyCAVS.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/p192-keyIUT.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/p224-dhc-raw.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/p224-dhc-sha1.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/p224-keyCAVS.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/p224-keyIUT.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/p256-dhc-raw.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/p256-dhc-sha1.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/p256-keyCAVS.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/p256-keyIUT.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/p384-dhc-raw.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/p384-dhc-sha1.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/p384-keyCAVS.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/p384-keyIUT.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/p521-dhc-raw.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/p521-dhc-sha1.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/p521-keyCAVS.csv1
-rw-r--r--src/cz/crcs/ectester/data/test/nist/p521-keyIUT.csv1
-rw-r--r--src/cz/crcs/ectester/reader/ECTester.java18
86 files changed, 322 insertions, 41 deletions
diff --git a/!uploader/ectester.cap b/!uploader/ectester.cap
index bed5dc6..de865a9 100644
--- a/!uploader/ectester.cap
+++ b/!uploader/ectester.cap
Binary files differ
diff --git a/!uploader/simpleECC.cap b/!uploader/simpleECC.cap
deleted file mode 100644
index 886ce88..0000000
--- a/!uploader/simpleECC.cap
+++ /dev/null
Binary files differ
diff --git a/!uploader/simpleECC221.cap b/!uploader/simpleECC221.cap
deleted file mode 100644
index ba7bbb5..0000000
--- a/!uploader/simpleECC221.cap
+++ /dev/null
Binary files differ
diff --git a/README.md b/README.md
index 0ec96dc..0bbc5c9 100644
--- a/README.md
+++ b/README.md
@@ -21,51 +21,44 @@ See `java -jar ectester.jar -h` for more.
### Options
```
- -ln,--list-named Print the list of supported named
- curves, keys and keypairs.
+ -ln,--list-named <what> Print the list of supported named
+ curves and keys.
-dsa,--ecdsa <count> Sign data with ECDSA, [count] times.
- -t,--test Test ECC support.
+ -t,--test <test_case> Test ECC support.
-dh,--ecdh <count> Do ECDH, [count] times.
-e,--export Export the defaut curve parameters of
the card(if any).
-g,--generate <amount> Generate [amount] of EC keys.
-h,--help Print help.
-
+ -dhc,--ecdhc <count> Do ECDHC, [count] times.
-a,--all Test all curve sizes.
-b,--bit-size <bits> Set curve size.
-
- -c,--curve <curve_file> Use curve from file [curve_file]
+ -fp,--prime-field Use a prime field.
+ -f2m,--binary-field Use a binary field.
+ -c,--curve <curve_file> Use curve from file <curve_file>
(field,a,b,gx,gy,r,k).
- -nc,--named-curve <cat/id> Use a named curve.
- -u,--custom Use a custom curve(applet-side
+ -nc,--named-curve <cat/id> Use a named curve, from CurveDB:
+ <cat/id>
+ -u,--custom Use a custom curve (applet-side
embedded, SECG curves).
-
- -fp,--prime-field Use prime field curve.
- -f2m,--binary-field Use binary field curve.
-
- -npub,--named-public <cat/id> Use public key from KeyDB: [cat/id]
- -pub,--public <pubkey_file> Use public key from file [pubkey_file]
+ -npub,--named-public <cat/id> Use public key from KeyDB: <cat/id>
+ -pub,--public <pubkey_file> Use public key from file <pubkey_file>
(wx,wy).
-
-priv,--private <privkey_file> Use private key from file
- [privkey_file] (s).
- -npriv,--named-private <cat/id> Use private key from KeyDB: [cat/id]
-
- -k,--key <key_file> Use keyPair from file [key_file]
+ <privkey_file> (s).
+ -npriv,--named-private <cat/id> Use private key from KeyDB: <cat/id>
+ -k,--key <key_file> Use keyPair from file <key_file>
(wx,wy,s).
- -nk,--named-key <cat/id> Use keyPair from KeyDB: [cat/id]
-
- -i,--input <input_file> Input from file [input_file], for ecdsa
+ -nk,--named-key <cat/id> Use keyPair from KeyDB: <cat/id>
+ -i,--input <input_file> Input from file <input_file>, for ECDSA
signing.
- -o,--output <output_file> Output into file [output_file].
+ -o,--output <output_file> Output into file <output_file>.
-l,--log <log_file> Log output into file [log_file].
-v,--verbose Turn on verbose logging.
-
- -f,--fresh Generate fresh keys(set domain
+ -f,--fresh Generate fresh keys (set domain
parameters before every generation).
-s,--simulate Simulate a card with jcardsim instead
of using a terminal.
-
```
### Example
diff --git a/dist/ECTester.jar b/dist/ECTester.jar
index a5dd71c..2140b4d 100644
--- a/dist/ECTester.jar
+++ b/dist/ECTester.jar
Binary files differ
diff --git a/src/cz/crcs/ectester/data/EC_Category.java b/src/cz/crcs/ectester/data/EC_Category.java
index 81b8784..859b942 100644
--- a/src/cz/crcs/ectester/data/EC_Category.java
+++ b/src/cz/crcs/ectester/data/EC_Category.java
@@ -67,4 +67,5 @@ public class EC_Category {
return null;
}
}
+
}
diff --git a/src/cz/crcs/ectester/data/EC_Store.java b/src/cz/crcs/ectester/data/EC_Store.java
index c32f1ce..aec635e 100644
--- a/src/cz/crcs/ectester/data/EC_Store.java
+++ b/src/cz/crcs/ectester/data/EC_Store.java
@@ -179,7 +179,7 @@ public class EC_Store {
return new EC_Category(name, dir, desc, objMap);
}
- private EC_Params parseKeylike(String dir, Element elem) throws SAXException {
+ private EC_Params parseKeylike(String dir, Element elem) throws SAXException, IOException {
Node file = elem.getElementsByTagName("file").item(0);
Node curve = elem.getElementsByTagName("curve").item(0);
@@ -199,7 +199,9 @@ public class EC_Store {
} else {
throw new SAXException("?");
}
- result.readCSV(this.getClass().getResourceAsStream("/cz/crcs/ectester/data/" + dir + "/" + file.getTextContent()));
+ if(!result.readCSV(this.getClass().getResourceAsStream("/cz/crcs/ectester/data/" + dir + "/" + file.getTextContent()))) {
+ throw new IOException("Invalid CSV data.");
+ }
return result;
}
@@ -243,5 +245,4 @@ public class EC_Store {
return getObject(objClass, parts[0], parts[1]);
}
-
}
diff --git a/src/cz/crcs/ectester/data/smallpub/keys.xml b/src/cz/crcs/ectester/data/smallpub/keys.xml
index 83e98b0..fbdf5e8 100644
--- a/src/cz/crcs/ectester/data/smallpub/keys.xml
+++ b/src/cz/crcs/ectester/data/smallpub/keys.xml
@@ -6,43 +6,43 @@
<pubkey>
<id>ecsp128-pub</id>
<file>ecsp128_pub.csv</file>
- <curve>ecsp128</curve>
+ <curve>smallpub/ecsp128</curve>
<desc>order = 5</desc>
</pubkey>
<pubkey>
<id>ecsp160-pub</id>
<file>ecsp160_pub.csv</file>
- <curve>ecsp160</curve>
+ <curve>smallpub/ecsp160</curve>
<desc>order = 3</desc>
</pubkey>
<pubkey>
<id>ecsp192-pub</id>
<file>ecsp192_pub.csv</file>
- <curve>ecsp192</curve>
+ <curve>smallpub/ecsp192</curve>
<desc>order = 3</desc>
</pubkey>
<pubkey>
<id>ecsp224-pub</id>
<file>ecsp224_pub.csv</file>
- <curve>ecsp224</curve>
+ <curve>smallpub/ecsp224</curve>
<desc>order = 5</desc>
</pubkey>
<pubkey>
<id>ecsp256-pub</id>
<file>ecsp256_pub.csv</file>
- <curve>ecsp256</curve>
+ <curve>smallpub/ecsp256</curve>
<desc>order = 3</desc>
</pubkey>
<pubkey>
<id>ecsp384-pub</id>
<file>ecsp384_pub.csv</file>
- <curve>ecsp384</curve>
+ <curve>smallpub/ecsp384</curve>
<desc>order = 3</desc>
</pubkey>
<pubkey>
<id>ecsp521-pub</id>
<file>ecsp521_pub.csv</file>
- <curve>ecsp521</curve>
+ <curve>smallpub/ecsp521</curve>
<desc>order = 5</desc>
</pubkey>
</keys> \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/brainpool/brainpoolP224r1-dh-raw.csv b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP224r1-dh-raw.csv
new file mode 100644
index 0000000..9913e7d
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP224r1-dh-raw.csv
@@ -0,0 +1 @@
+312DFD98783F9FB77B9704945A73BEB6DCCBE3B65D0F967DCAB574EB \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/brainpool/brainpoolP224r1-dh-sha1.csv b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP224r1-dh-sha1.csv
new file mode 100644
index 0000000..01c5dbe
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP224r1-dh-sha1.csv
@@ -0,0 +1 @@
+4ADCA2E2CFE8DBD4F0B9CE27E4422C57EE0A6B98 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/brainpool/brainpoolP224r1-keyA.csv b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP224r1-keyA.csv
new file mode 100644
index 0000000..db4d4b5
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP224r1-keyA.csv
@@ -0,0 +1 @@
+B104A67A6F6E85E14EC1825E1539E8ECDBBF584922367DD88C6BDCF2,46D782E7FDB5F60CD8404301AC5949C58EDB26BC68BA07695B750A94,7C4B7A2C8A4BAD1FBB7D79CC0955DB7C6A4660CA64CC4778159B495E \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/brainpool/brainpoolP224r1-keyB.csv b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP224r1-keyB.csv
new file mode 100644
index 0000000..6544d00
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP224r1-keyB.csv
@@ -0,0 +1 @@
+2A97089A9296147B71B21A4B574E1278245B536F14D8C2B9D07A874E,9B900D7C77A709A797276B8CA1BA61BB95B546FC29F862E44D59D25B,63976D4AAE6CD0F6DD18DEFEF55D96569D0507C03E74D6486FFA28FB \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/brainpool/brainpoolP256r1-dh-raw.csv b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP256r1-dh-raw.csv
new file mode 100644
index 0000000..29aac4a
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP256r1-dh-raw.csv
@@ -0,0 +1 @@
+89AFC39D41D3B327814B80940B042590F96556EC91E6AE7939BCE31F3A18BF2B \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/brainpool/brainpoolP256r1-dh-sha1.csv b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP256r1-dh-sha1.csv
new file mode 100644
index 0000000..7790e0b
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP256r1-dh-sha1.csv
@@ -0,0 +1 @@
+4F1CCFFBB2A14DA1F17DE291DABCDD109EB13BB7 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/brainpool/brainpoolP256r1-keyA.csv b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP256r1-keyA.csv
new file mode 100644
index 0000000..a2f79da
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP256r1-keyA.csv
@@ -0,0 +1 @@
+44106E913F92BC02A1705D9953A8414DB95E1AAA49E81D9E85F929A8E3100BE5,8AB4846F11CACCB73CE49CBDD120F5A900A69FD32C272223F789EF10EB089BDC,81DB1EE100150FF2EA338D708271BE38300CB54241D79950F77B063039804F1D \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/brainpool/brainpoolP256r1-keyB.csv b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP256r1-keyB.csv
new file mode 100644
index 0000000..e2d8039
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP256r1-keyB.csv
@@ -0,0 +1 @@
+8D2D688C6CF93E1160AD04CC4429117DC2C41825E1E9FCA0ADDD34E6F1B39F7B,990C57520812BE512641E47034832106BC7D3E8DD0E4C7F1136D7006547CEC6A,55E40BC41E37E3E2AD25C3C6654511FFA8474A91A0032087593852D3E7D76BD3 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/brainpool/brainpoolP384r1-dh-raw.csv b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP384r1-dh-raw.csv
new file mode 100644
index 0000000..93ec84b
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP384r1-dh-raw.csv
@@ -0,0 +1 @@
+0BD9D3A7EA0B3D519D09D8E48D0785FB744A6B355E6304BC51C229FBBCE239BBADF6403715C35D4FB2A5444F575D4F42 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/brainpool/brainpoolP384r1-dh-sha1.csv b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP384r1-dh-sha1.csv
new file mode 100644
index 0000000..c4b18a3
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP384r1-dh-sha1.csv
@@ -0,0 +1 @@
+7562598C913DF9BCAD30D6985358F7779045B3A4 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/brainpool/brainpoolP384r1-keyA.csv b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP384r1-keyA.csv
new file mode 100644
index 0000000..7d923a3
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP384r1-keyA.csv
@@ -0,0 +1 @@
+68B665DD91C195800650CDD363C625F4E742E8134667B767B1B476793588F885AB698C852D4A6E77A252D6380FCAF068,55BC91A39C9EC01DEE36017B7D673A931236D2F1F5C83942D049E3FA20607493E0D038FF2FD30C2AB67D15C85F7FAA59,1E20F5E048A5886F1F157C74E91BDE2B98C8B52D58E5003D57053FC4B0BD65D6F15EB5D1EE1610DF870795143627D042 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/brainpool/brainpoolP384r1-keyB.csv b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP384r1-keyB.csv
new file mode 100644
index 0000000..edb41f5
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP384r1-keyB.csv
@@ -0,0 +1 @@
+4D44326F269A597A5B58BBA565DA5556ED7FD9A8A9EB76C25F46DB69D19DC8CE6AD18E404B15738B2086DF37E71D1EB4,62D692136DE56CBE93BF5FA3188EF58BC8A3A0EC6C1E151A21038A42E9185329B5B275903D192F8D4E1F32FE9CC78C48,032640BC6003C59260F7250C3DB58CE647F98E1260ACCE4ACDA3DD869F74E01F8BA5E0324309DB6A9831497ABAC96670 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/brainpool/brainpoolP512r1-dh-raw.csv b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP512r1-dh-raw.csv
new file mode 100644
index 0000000..1b7e57a
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP512r1-dh-raw.csv
@@ -0,0 +1 @@
+A7927098655F1F9976FA50A9D566865DC530331846381C87256BAF3226244B76D36403C024D7BBF0AA0803EAFF405D3D24F11A9B5C0BEF679FE1454B21C4CD1F \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/brainpool/brainpoolP512r1-dh-sha1.csv b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP512r1-dh-sha1.csv
new file mode 100644
index 0000000..554770a
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP512r1-dh-sha1.csv
@@ -0,0 +1 @@
+8E4814D30F0B5C7FFA35E15809F529D6FD94D759 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/brainpool/brainpoolP512r1-keyA.csv b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP512r1-keyA.csv
new file mode 100644
index 0000000..3122397
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP512r1-keyA.csv
@@ -0,0 +1 @@
+0A420517E406AAC0ACDCE90FCD71487718D3B953EFD7FBEC5F7F27E28C6149999397E91E029E06457DB2D3E640668B392C2A7E737A7F0BF04436D11640FD09FD,72E6882E8DB28AAD36237CD25D580DB23783961C8DC52DFA2EC138AD472A0FCEF3887CF62B623B2A87DE5C588301EA3E5FC269B373B60724F5E82A6AD147FDE7,16302FF0DBBB5A8D733DAB7141C1B45ACBC8715939677F6A56850A38BD87BD59B09E80279609FF333EB9D4C061231FB26F92EEB04982A5F1D1764CAD57665422 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/brainpool/brainpoolP512r1-keyB.csv b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP512r1-keyB.csv
new file mode 100644
index 0000000..6ce51b7
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/brainpool/brainpoolP512r1-keyB.csv
@@ -0,0 +1 @@
+9D45F66DE5D67E2E6DB6E93A59CE0BB48106097FF78A081DE781CDB31FCE8CCBAAEA8DD4320C4119F1E9CD437A2EAB3731FA9668AB268D871DEDA55A5473199F,2FDC313095BCDD5FB3A91636F07A959C8E86B5636A1E930E8396049CB481961D365CC11453A06C719835475B12CB52FC3C383BCE35E27EF194512B71876285FA,230E18E1BCC88A362FA54E4EA3902009292F7F8033624FD471B5D8ACE49D12CFABBC19963DAB8E2F1EBA00BFFB29E4D72D13F2224562F405CB80503666B25429 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/keys.xml b/src/cz/crcs/ectester/data/test/keys.xml
index 56fc4e2..5f86b5b 100644
--- a/src/cz/crcs/ectester/data/test/keys.xml
+++ b/src/cz/crcs/ectester/data/test/keys.xml
@@ -13,4 +13,206 @@
<file>secg/secp160r1-keyV.csv</file>
<curve>secg/secp160r1</curve>
</keypair>
+ <keypair>
+ <id>sect163k1-U</id>
+ <file>secg/sect163k1-keyU.csv</file>
+ <curve>secg/sect163k1</curve>
+ </keypair>
+ <keypair>
+ <id>sect163k1-V</id>
+ <file>secg/sect163k1-keyV.csv</file>
+ <curve>secg/sect163k1</curve>
+ </keypair>
+
+ <keypair>
+ <id>brainpoolP224r1-A</id>
+ <file>brainpool/brainpoolP224r1-keyA.csv</file>
+ <curve>brainpool/brainpoolP224r1</curve>
+ </keypair>
+ <keypair>
+ <id>brainpoolP224r1-B</id>
+ <file>brainpool/brainpoolP224r1-keyB.csv</file>
+ <curve>brainpool/brainpoolP224r1</curve>
+ </keypair>
+ <keypair>
+ <id>brainpoolP256r1-A</id>
+ <file>brainpool/brainpoolP256r1-keyA.csv</file>
+ <curve>brainpool/brainpoolP256r1</curve>
+ </keypair>
+ <keypair>
+ <id>brainpoolP256r1-B</id>
+ <file>brainpool/brainpoolP256r1-keyB.csv</file>
+ <curve>brainpool/brainpoolP256r1</curve>
+ </keypair>
+ <keypair>
+ <id>brainpoolP384r1-A</id>
+ <file>brainpool/brainpoolP384r1-keyA.csv</file>
+ <curve>brainpool/brainpoolP384r1</curve>
+ </keypair>
+ <keypair>
+ <id>brainpoolP384r1-B</id>
+ <file>brainpool/brainpoolP384r1-keyB.csv</file>
+ <curve>brainpool/brainpoolP384r1</curve>
+ </keypair>
+ <keypair>
+ <id>brainpoolP512r1-A</id>
+ <file>brainpool/brainpoolP512r1-keyA.csv</file>
+ <curve>brainpool/brainpoolP512r1</curve>
+ </keypair>
+ <keypair>
+ <id>brainpoolP512r1-B</id>
+ <file>brainpool/brainpoolP512r1-keyB.csv</file>
+ <curve>brainpool/brainpoolP512r1</curve>
+ </keypair>
+
+ <keypair>
+ <id>p192-A</id>
+ <file>nist/p192-keyIUT.csv</file>
+ <curve>nist/P-192</curve>
+ </keypair>
+ <pubkey>
+ <id>p192-B</id>
+ <file>nist/p192-keyCAVS.csv</file>
+ <curve>nist/P-192</curve>
+ </pubkey>
+ <keypair>
+ <id>p224-A</id>
+ <file>nist/p224-keyIUT.csv</file>
+ <curve>nist/P-224</curve>
+ </keypair>
+ <pubkey>
+ <id>p224-B</id>
+ <file>nist/p224-keyCAVS.csv</file>
+ <curve>nist/P-224</curve>
+ </pubkey>
+ <keypair>
+ <id>p256-A</id>
+ <file>nist/p256-keyIUT.csv</file>
+ <curve>nist/P-256</curve>
+ </keypair>
+ <pubkey>
+ <id>p256-B</id>
+ <file>nist/p256-keyCAVS.csv</file>
+ <curve>nist/P-256</curve>
+ </pubkey>
+ <keypair>
+ <id>p384-A</id>
+ <file>nist/p384-keyIUT.csv</file>
+ <curve>nist/P-384</curve>
+ </keypair>
+ <pubkey>
+ <id>p384-B</id>
+ <file>nist/p384-keyCAVS.csv</file>
+ <curve>nist/P-384</curve>
+ </pubkey>
+ <keypair>
+ <id>p521-A</id>
+ <file>nist/p521-keyIUT.csv</file>
+ <curve>nist/P-521</curve>
+ </keypair>
+ <pubkey>
+ <id>p521-B</id>
+ <file>nist/p521-keyCAVS.csv</file>
+ <curve>nist/P-521</curve>
+ </pubkey>
+ <keypair>
+ <id>b163-A</id>
+ <file>nist/b163-keyIUT.csv</file>
+ <curve>nist/B-163</curve>
+ </keypair>
+ <pubkey>
+ <id>b163-B</id>
+ <file>nist/b163-keyCAVS.csv</file>
+ <curve>nist/B-163</curve>
+ </pubkey>
+ <keypair>
+ <id>b233-A</id>
+ <file>nist/b233-keyIUT.csv</file>
+ <curve>nist/B-233</curve>
+ </keypair>
+ <pubkey>
+ <id>b233-B</id>
+ <file>nist/b233-keyCAVS.csv</file>
+ <curve>nist/B-233</curve>
+ </pubkey>
+ <keypair>
+ <id>b283-A</id>
+ <file>nist/b283-keyIUT.csv</file>
+ <curve>nist/B-283</curve>
+ </keypair>
+ <pubkey>
+ <id>b283-B</id>
+ <file>nist/b283-keyCAVS.csv</file>
+ <curve>nist/B-283</curve>
+ </pubkey>
+ <keypair>
+ <id>b409-A</id>
+ <file>nist/b409-keyIUT.csv</file>
+ <curve>nist/B-409</curve>
+ </keypair>
+ <pubkey>
+ <id>b409-B</id>
+ <file>nist/b409-keyCAVS.csv</file>
+ <curve>nist/B-409</curve>
+ </pubkey>
+ <keypair>
+ <id>b571-A</id>
+ <file>nist/b571-keyIUT.csv</file>
+ <curve>nist/B-571</curve>
+ </keypair>
+ <pubkey>
+ <id>b571-B</id>
+ <file>nist/b571-keyCAVS.csv</file>
+ <curve>nist/B-571</curve>
+ </pubkey>
+ <keypair>
+ <id>k163-A</id>
+ <file>nist/k163-keyIUT.csv</file>
+ <curve>nist/K-163</curve>
+ </keypair>
+ <pubkey>
+ <id>k163-B</id>
+ <file>nist/k163-keyCAVS.csv</file>
+ <curve>nist/K-163</curve>
+ </pubkey>
+ <keypair>
+ <id>k233-A</id>
+ <file>nist/k233-keyIUT.csv</file>
+ <curve>nist/K-233</curve>
+ </keypair>
+ <pubkey>
+ <id>k233-B</id>
+ <file>nist/k233-keyCAVS.csv</file>
+ <curve>nist/K-233</curve>
+ </pubkey>
+ <keypair>
+ <id>k283-A</id>
+ <file>nist/k283-keyIUT.csv</file>
+ <curve>nist/K-283</curve>
+ </keypair>
+ <pubkey>
+ <id>k283-B</id>
+ <file>nist/k283-keyCAVS.csv</file>
+ <curve>nist/K-283</curve>
+ </pubkey>
+ <keypair>
+ <id>k409-A</id>
+ <file>nist/k409-keyIUT.csv</file>
+ <curve>nist/K-409</curve>
+ </keypair>
+ <pubkey>
+ <id>k409-B</id>
+ <file>nist/k409-keyCAVS.csv</file>
+ <curve>nist/K-409</curve>
+ </pubkey>
+ <keypair>
+ <id>k571-A</id>
+ <file>nist/k571-keyIUT.csv</file>
+ <curve>nist/K-571</curve>
+ </keypair>
+ <pubkey>
+ <id>k571-B</id>
+ <file>nist/k571-keyCAVS.csv</file>
+ <curve>nist/K-571</curve>
+ </pubkey>
</keys> \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/b163-dhc-raw.csv b/src/cz/crcs/ectester/data/test/nist/b163-dhc-raw.csv
new file mode 100644
index 0000000..fab00cb
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/b163-dhc-raw.csv
@@ -0,0 +1 @@
+0100fb42d177ffe6c31378e2e04e0da7376ffe8765 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/b163-dhc-sha1.csv b/src/cz/crcs/ectester/data/test/nist/b163-dhc-sha1.csv
new file mode 100644
index 0000000..8d98703
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/b163-dhc-sha1.csv
@@ -0,0 +1 @@
+10F4DDCF79C23FD7DC11563BF18B2BE75A139E4F \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/b163-keyCAVS.csv b/src/cz/crcs/ectester/data/test/nist/b163-keyCAVS.csv
new file mode 100644
index 0000000..e0f7f15
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/b163-keyCAVS.csv
@@ -0,0 +1 @@
+00000003a647ba32dac71ec6780b0638a70cd24fc3bd4c8e,00000002e69e961541844a4aa33769a7bce710f6640a560c \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/b163-keyIUT.csv b/src/cz/crcs/ectester/data/test/nist/b163-keyIUT.csv
new file mode 100644
index 0000000..910ea7c
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/b163-keyIUT.csv
@@ -0,0 +1 @@
+000000035466701d0b0030d098b6ed2343d355c24c907271,00000000d8bc02f341d261860dfb65f0cb7f0b488d8296cc,00000003edae173de8fa0cf0412d6a7bdc81fdbd0617adf8 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/b233-dhc-raw.csv b/src/cz/crcs/ectester/data/test/nist/b233-dhc-raw.csv
new file mode 100644
index 0000000..56ef836
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/b233-dhc-raw.csv
@@ -0,0 +1 @@
+00e9f3d8c4f1bec0f920e763ea1bb7415899f01734609e7547dc425ec946 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/b233-dhc-sha1.csv b/src/cz/crcs/ectester/data/test/nist/b233-dhc-sha1.csv
new file mode 100644
index 0000000..9795228
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/b233-dhc-sha1.csv
@@ -0,0 +1 @@
+958FD3D4A2F61130ACF6472A6DE421F11D9A4D13 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/b233-keyCAVS.csv b/src/cz/crcs/ectester/data/test/nist/b233-keyCAVS.csv
new file mode 100644
index 0000000..bac3371
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/b233-keyCAVS.csv
@@ -0,0 +1 @@
+0000004756baddefc3dc337ab27b5452eb10affd9e31f5b55c330e90f0f686a2,0000012a79f65232308a21c98c01555ccafc7dce15c8fed3025a760cbd6c2327 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/b233-keyIUT.csv b/src/cz/crcs/ectester/data/test/nist/b233-keyIUT.csv
new file mode 100644
index 0000000..56d5f3a
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/b233-keyIUT.csv
@@ -0,0 +1 @@
+00000061e8a9b517fd05a026ec376616229fd8639a1fa76defe5398022f9d9c8,000000706b5cb08738a94552fee584b1372fead4af79040909fcf6f50084bbfa,0000003c3ee474ac0d0bc1df567e3c35f5f766c5332b2d6730ff0e4d8e75aedb \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/b283-dhc-raw.csv b/src/cz/crcs/ectester/data/test/nist/b283-dhc-raw.csv
new file mode 100644
index 0000000..c1d1432
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/b283-dhc-raw.csv
@@ -0,0 +1 @@
+065194e26090e74047ee75f13f9769d20e1b52189650011e283daa090732cc53755dc366 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/b283-dhc-sha1.csv b/src/cz/crcs/ectester/data/test/nist/b283-dhc-sha1.csv
new file mode 100644
index 0000000..0d7bbf8
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/b283-dhc-sha1.csv
@@ -0,0 +1 @@
+75C8297B1DD59937F86C3063E8EC0B2B9AD118BF \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/b283-keyCAVS.csv b/src/cz/crcs/ectester/data/test/nist/b283-keyCAVS.csv
new file mode 100644
index 0000000..9f973e7
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/b283-keyCAVS.csv
@@ -0,0 +1 @@
+02504e1a17819d39f010a4a69a0568299402b58f944a384c7d1a62c9c93ea4d1ff300e13,0265132f7b4c64b74b9179ed0f2e211f4328d625405022f554170da932b80fdf7c1aab12 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/b283-keyIUT.csv b/src/cz/crcs/ectester/data/test/nist/b283-keyIUT.csv
new file mode 100644
index 0000000..c7e4b04
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/b283-keyIUT.csv
@@ -0,0 +1 @@
+0561e495563018169804d4c8e2435b4afd85da376d914b69d39246f8e06113aa32e642d2,0781a7f59de7f42f5f9d6c3481f33fc5deb357c6ecf4c758e370d2435de3d8ee737703f4,02f43455842246a2cc8ec068e9d6c6e4160f6ba4e3b5d831d93c1daa8fd3d5a9660c7bb1 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/b409-dhc-raw.csv b/src/cz/crcs/ectester/data/test/nist/b409-dhc-raw.csv
new file mode 100644
index 0000000..36c3236
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/b409-dhc-raw.csv
@@ -0,0 +1 @@
+01d48a586be9285fa38dd3e70b0330b0ffebd327ceefef88fdc1521ef2fd61cbc9124e03b0c926e70fa56acb3edb54c3c48fab2b \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/b409-dhc-sha1.csv b/src/cz/crcs/ectester/data/test/nist/b409-dhc-sha1.csv
new file mode 100644
index 0000000..7264423
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/b409-dhc-sha1.csv
@@ -0,0 +1 @@
+B6562E95755880A16BC35FCC030AF5FEBC1113D4 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/b409-keyCAVS.csv b/src/cz/crcs/ectester/data/test/nist/b409-keyCAVS.csv
new file mode 100644
index 0000000..b737359
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/b409-keyCAVS.csv
@@ -0,0 +1 @@
+0146989a50297be373dd665c45455a2ae4c221da5cd424007bd97f9e8e846f96740f3fa58c3c94129671cdd4d7ea650a2aade9d7,01b42bffda843946a14ad6080f95b8fc6b7e173528d08ed36fe640aaf85aa00fb5edd5905a38b3c7961b7722b77b8dcb44bb25f5 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/b409-keyIUT.csv b/src/cz/crcs/ectester/data/test/nist/b409-keyIUT.csv
new file mode 100644
index 0000000..5eede05
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/b409-keyIUT.csv
@@ -0,0 +1 @@
+004ebc4d4acf9b404dabc3af3e8cbea8b88b32999d3ecb7f367b12eb3a6280b840038e22681637a7d16436e014f69616abf72e45,009e24109541c8024217e9ab2c963fa9e373640095a6c25a26eefac58e4342c0c85448b2709592a12402fe2b68a793c558ce8cd6,00ace92103ffe262ac17ad42a46d4366f4cb4c580eff3ab1dde6bddfdbb7374811d52b1fa99320b4af5d4e9208c14eb8efa8916c \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/b571-dhc-raw.csv b/src/cz/crcs/ectester/data/test/nist/b571-dhc-raw.csv
new file mode 100644
index 0000000..be74f27
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/b571-dhc-raw.csv
@@ -0,0 +1 @@
+06775e1b99a236e02b020bc73666e5751c1210dcb6e9b02a69f4075376e49f7a1476d2209e861abb73f5e3ad189d268e035b1de93d47b3a64de5783c9a09bc223e1cc612f26dcdf1 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/b571-dhc-sha1.csv b/src/cz/crcs/ectester/data/test/nist/b571-dhc-sha1.csv
new file mode 100644
index 0000000..80273a9
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/b571-dhc-sha1.csv
@@ -0,0 +1 @@
+624E4D4DC60F1064E378D34EF2E1FBB0ADE792E6 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/b571-keyCAVS.csv b/src/cz/crcs/ectester/data/test/nist/b571-keyCAVS.csv
new file mode 100644
index 0000000..da4a6d6
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/b571-keyCAVS.csv
@@ -0,0 +1 @@
+03b63f5fa112ae6b5f113c765144fe4cbd6020e26d400c11609a3a634b9a325f416b0e3d3215734c68a1c2c8fad1d0bb9eb3939a41af22421f68781e7eb0664b9df5cea448deaa3b,008e6cc77bcddc816e84cfc1f626824fa24d3d5fd33d8093cbfe1fc4d881b63b494123bc759670edcb1887bb3b9d5a8b516bc503828163709d4dacb594d277a15a92c064e5770d1b \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/b571-keyIUT.csv b/src/cz/crcs/ectester/data/test/nist/b571-keyIUT.csv
new file mode 100644
index 0000000..53d9e62
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/b571-keyIUT.csv
@@ -0,0 +1 @@
+06af71fcec1a2904116fe14878663764c1ec74870e5d2d53919f0b635912db80dd5460d9e699458ff8494c5bfc74fba8d3b12f65f015e8def10de33f1800191f4cb502d21938b951,019584177b189c6641ffb678b6d7833d8d4bb25dee5018dda4e4c0d219048c01cd0da9eaffe346d53cf1a07b33b3dbdd4bc3acabe4832f9981eff2660991aac852147985eea3a51e,0344f22be87999b95b2287f67430ea8fe646c62fe38b7ce61f1f956597c27bddd9902e20d4436abf3bebd8243ec29a00481a8a2c19f550e99641b5f14aafbb5bda953a7559f8653a \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/k163-dhc-raw.csv b/src/cz/crcs/ectester/data/test/nist/k163-dhc-raw.csv
new file mode 100644
index 0000000..cc8743f
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/k163-dhc-raw.csv
@@ -0,0 +1 @@
+04325bff38f1b0c83c27f554a6c972a80f14bc23bc \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/k163-dhc-sha1.csv b/src/cz/crcs/ectester/data/test/nist/k163-dhc-sha1.csv
new file mode 100644
index 0000000..7e8dc7a
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/k163-dhc-sha1.csv
@@ -0,0 +1 @@
+5E1384ED2D3D5EFC77E89581BBB467934ECB7B03 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/k163-keyCAVS.csv b/src/cz/crcs/ectester/data/test/nist/k163-keyCAVS.csv
new file mode 100644
index 0000000..633b3d8
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/k163-keyCAVS.csv
@@ -0,0 +1 @@
+0000000574236f1428c432130946783a5b3aabb6c27ea5d6,00000007908c251b8da021cbac281f123f7af4fac5b3dbb8 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/k163-keyIUT.csv b/src/cz/crcs/ectester/data/test/nist/k163-keyIUT.csv
new file mode 100644
index 0000000..affd5c5
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/k163-keyIUT.csv
@@ -0,0 +1 @@
+000000071f8b2877d6027d9c1ade4244f2dea12692ef23d5,00000005c15ee776221c72b84b347ce383f38067b89c3e9a,6653b6077398fadc7bf5e60158170148c3dc4527 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/k233-dhc-raw.csv b/src/cz/crcs/ectester/data/test/nist/k233-dhc-raw.csv
new file mode 100644
index 0000000..a18a3fb
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/k233-dhc-raw.csv
@@ -0,0 +1 @@
+00a822b141ca1f5ad32899e68c54d1fec3df8100df485ebf1c5868a9ac89 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/k233-dhc-sha1.csv b/src/cz/crcs/ectester/data/test/nist/k233-dhc-sha1.csv
new file mode 100644
index 0000000..3b4b97e
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/k233-dhc-sha1.csv
@@ -0,0 +1 @@
+70B67E77FB15C14CAAB64C04738E97EA3288C415 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/k233-keyCAVS.csv b/src/cz/crcs/ectester/data/test/nist/k233-keyCAVS.csv
new file mode 100644
index 0000000..90ba87f
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/k233-keyCAVS.csv
@@ -0,0 +1 @@
+000001f40e34b3ed4a1b2d40c056fb75f2ad543c897cfd82f542cf746a0f202f,000000c130a1abe92bc4c977c800777996ccc50b90df991a2e81dd515c188599 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/k233-keyIUT.csv b/src/cz/crcs/ectester/data/test/nist/k233-keyIUT.csv
new file mode 100644
index 0000000..5d900a5
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/k233-keyIUT.csv
@@ -0,0 +1 @@
+000001a53e5c138b3d83905d563aa1db01274633c986b52f78225a92e33e7952,000000ecabd3e2e26729a965604e560ed4498a22b31c39642e1cf99b1dde3ec7,000000135a5b8c3ce047fbc5df26277d3bf83ac33ddadb5cf4a050ca82be48f0 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/k283-dhc-raw.csv b/src/cz/crcs/ectester/data/test/nist/k283-dhc-raw.csv
new file mode 100644
index 0000000..f10922f
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/k283-dhc-raw.csv
@@ -0,0 +1 @@
+0745552817b5d729310b7dbebae687648714a9ae695dad20ca1ab6111c3d054670f21132 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/k283-dhc-sha1.csv b/src/cz/crcs/ectester/data/test/nist/k283-dhc-sha1.csv
new file mode 100644
index 0000000..6770696
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/k283-dhc-sha1.csv
@@ -0,0 +1 @@
+B2A69891DF7B9736507CE0126AB37213DB2CE68F \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/k283-keyCAVS.csv b/src/cz/crcs/ectester/data/test/nist/k283-keyCAVS.csv
new file mode 100644
index 0000000..019ac52
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/k283-keyCAVS.csv
@@ -0,0 +1 @@
+03f075c24c35a9dc9952be6fd32b761dce63f4720a22408e3a14bbd097e012b5694c22a0,0675825b40202e95be7dab5a826147e04b8c51a09b0034577c1f31f8c16a70c8e1c85b89 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/k283-keyIUT.csv b/src/cz/crcs/ectester/data/test/nist/k283-keyIUT.csv
new file mode 100644
index 0000000..cca0cd3
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/k283-keyIUT.csv
@@ -0,0 +1 @@
+0611edc045dbe43ecc4ef6b324cd51f70fe3d7ddf877ec68b798909c3c4561756aa30e5f,00833b25511704af09b62d9f7cbac59814e75bbb9c735f55538491dbfa60c1e0115efe42,015fde49b802542a52c70b23a0b1784e5f8780b56853f9a5f8c3a5266e8727dce97d4a17 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/k409-dhc-raw.csv b/src/cz/crcs/ectester/data/test/nist/k409-dhc-raw.csv
new file mode 100644
index 0000000..4034d18
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/k409-dhc-raw.csv
@@ -0,0 +1 @@
+0176bc5c4036ce5125493a58dd265f04d190f028366f7799f70aedf29ac67b5b37c37238593377a47944f5b639f43856dbd560ec \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/k409-dhc-sha1.csv b/src/cz/crcs/ectester/data/test/nist/k409-dhc-sha1.csv
new file mode 100644
index 0000000..3f988c9
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/k409-dhc-sha1.csv
@@ -0,0 +1 @@
+C25335980D8BF0BE8B039A1B525F6D002EEC48E9 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/k409-keyCAVS.csv b/src/cz/crcs/ectester/data/test/nist/k409-keyCAVS.csv
new file mode 100644
index 0000000..c0bfde5
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/k409-keyCAVS.csv
@@ -0,0 +1 @@
+0177f736f6116320cafbb5b4dec202d40508182fe011189b81e1f3998f5408607a46bb150ac47bcaaafde47b8a7b72f478bc22d2,01df4ef4b37e0124e55b67f3586de24a88a6c5d98854007d4b0c4b4ccd68d51fafa7638bbe555d60b74def217c6a63c5b4068fb7 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/k409-keyIUT.csv b/src/cz/crcs/ectester/data/test/nist/k409-keyIUT.csv
new file mode 100644
index 0000000..050a771
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/k409-keyIUT.csv
@@ -0,0 +1 @@
+0068a3f8b12e02d10e2f52095526bc4048b8f6ac3a84531772870789938f1aeff813e05e509ea9587d2b7e4aa14344bac3ec46f0,00d1ceb40c7d5f3297e2955f0f3eb1422b3e6bbbfbf7eb518b9c17ae8d40feb84aaf36f5e5bd96075b2b4dbe538ac011962ac705,00084b711e3c60822e70fa6828b5abfb0e448888b35b0c8bb09f806616dc1ecf22dd86237d937c1bfde62b75ae655953fc6b2f7e \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/k571-dhc-raw.csv b/src/cz/crcs/ectester/data/test/nist/k571-dhc-raw.csv
new file mode 100644
index 0000000..3b71041
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/k571-dhc-raw.csv
@@ -0,0 +1 @@
+003198a6b5d6cce847e24348a6a6ceff7a89ed3794d7acedc4e858c80ad04a74dbc02c7038e05ab26b2a299ec92ee0d2c7e66a81872a5157fbc5d4d37ad598d6ddee995ed28a2d74 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/k571-dhc-sha1.csv b/src/cz/crcs/ectester/data/test/nist/k571-dhc-sha1.csv
new file mode 100644
index 0000000..25265b3
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/k571-dhc-sha1.csv
@@ -0,0 +1 @@
+2D3100B4978FCCE89C26C4CEA4B72216EA942D2D \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/k571-keyCAVS.csv b/src/cz/crcs/ectester/data/test/nist/k571-keyCAVS.csv
new file mode 100644
index 0000000..ba55ab2
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/k571-keyCAVS.csv
@@ -0,0 +1 @@
+03106a5c1d923a0990ea8c6008c36c366b53e5622b98464044741fbc7840284db8bbf602866c30ccbf5f9b7e59cc1d9bfcc5b970fa624da9b15f6cb336f5dda7e6b9924d5dce4543,005c5c7bbd5a789ac4c6283deb0d0d37c4852baa57d6bc2b0ac6337feb09704c44d1b385b70cc394fa235d83e6e7111787e57d0902c0cb132a190a6e62f398511c0c2c4cd50d4570 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/k571-keyIUT.csv b/src/cz/crcs/ectester/data/test/nist/k571-keyIUT.csv
new file mode 100644
index 0000000..5607b40
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/k571-keyIUT.csv
@@ -0,0 +1 @@
+03fbfbbcfba609157f68a23126d805f7c75efb19befb595e3a975e08ff46bd34c8b87b9645c0e86ea0ad915465d5c856c69bb9b722b0d17bf97ad95c4602dea17c6b512054cb22d8,071c16df71e1b71b4bd3d9938827d3959093b9db1ff86bed73944a42dcb67cc33102e28c1d0e9804a6450656f4bf33ad72ecf7bb83bd282cde4bc15d4e48064aa8ad2f02979f5f3f,0173cd1631e18ece01b73b3572ffaa7495c4bc81f4078ae50d69cb1e338acf13469117112921166ddf2d29f3a9f8e10c67e88c9a99203a834565be76ac59126436739a6afa029cc5 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/p192-dhc-raw.csv b/src/cz/crcs/ectester/data/test/nist/p192-dhc-raw.csv
new file mode 100644
index 0000000..45533ec
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/p192-dhc-raw.csv
@@ -0,0 +1 @@
+803d8ab2e5b6e6fca715737c3a82f7ce3c783124f6d51cd0 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/p192-dhc-sha1.csv b/src/cz/crcs/ectester/data/test/nist/p192-dhc-sha1.csv
new file mode 100644
index 0000000..83bac75
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/p192-dhc-sha1.csv
@@ -0,0 +1 @@
+CB0FFAA3D3F9D5876765CF082EE0B893C8179D19 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/p192-keyCAVS.csv b/src/cz/crcs/ectester/data/test/nist/p192-keyCAVS.csv
new file mode 100644
index 0000000..8a9bd57
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/p192-keyCAVS.csv
@@ -0,0 +1 @@
+42ea6dd9969dd2a61fea1aac7f8e98edcc896c6e55857cc0,dfbe5d7c61fac88b11811bde328e8a0d12bf01a9d204b523 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/p192-keyIUT.csv b/src/cz/crcs/ectester/data/test/nist/p192-keyIUT.csv
new file mode 100644
index 0000000..af9a670
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/p192-keyIUT.csv
@@ -0,0 +1 @@
+b15053401f57285637ec324c1cd2139e3a67de3739234b37,f269c158637482aad644cd692dd1d3ef2c8a7c49e389f7f6,f17d3fea367b74d340851ca4270dcb24c271f445bed9d527 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/p224-dhc-raw.csv b/src/cz/crcs/ectester/data/test/nist/p224-dhc-raw.csv
new file mode 100644
index 0000000..f778111
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/p224-dhc-raw.csv
@@ -0,0 +1 @@
+7d96f9a3bd3c05cf5cc37feb8b9d5209d5c2597464dec3e9983743e8 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/p224-dhc-sha1.csv b/src/cz/crcs/ectester/data/test/nist/p224-dhc-sha1.csv
new file mode 100644
index 0000000..446e658
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/p224-dhc-sha1.csv
@@ -0,0 +1 @@
+D022BCF6EAEF7789EF8D2AEAA9AB9D508944CE03 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/p224-keyCAVS.csv b/src/cz/crcs/ectester/data/test/nist/p224-keyCAVS.csv
new file mode 100644
index 0000000..734aad1
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/p224-keyCAVS.csv
@@ -0,0 +1 @@
+af33cd0629bc7e996320a3f40368f74de8704fa37b8fab69abaae280,882092ccbba7930f419a8a4f9bb16978bbc3838729992559a6f2e2d7 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/p224-keyIUT.csv b/src/cz/crcs/ectester/data/test/nist/p224-keyIUT.csv
new file mode 100644
index 0000000..2b84ffa
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/p224-keyIUT.csv
@@ -0,0 +1 @@
+8de2e26adf72c582d6568ef638c4fd59b18da171bdf501f1d929e048,4a68a1c2b0fb22930d120555c1ece50ea98dea8407f71be36efac0de,8346a60fc6f293ca5a0d2af68ba71d1dd389e5e40837942df3e43cbd \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/p256-dhc-raw.csv b/src/cz/crcs/ectester/data/test/nist/p256-dhc-raw.csv
new file mode 100644
index 0000000..230fe83
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/p256-dhc-raw.csv
@@ -0,0 +1 @@
+46fc62106420ff012e54a434fbdd2d25ccc5852060561e68040dd7778997bd7b \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/p256-dhc-sha1.csv b/src/cz/crcs/ectester/data/test/nist/p256-dhc-sha1.csv
new file mode 100644
index 0000000..1fa92be
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/p256-dhc-sha1.csv
@@ -0,0 +1 @@
+381AE083BF9FF3BB49730A96D4E55AABAE1C42DA \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/p256-keyCAVS.csv b/src/cz/crcs/ectester/data/test/nist/p256-keyCAVS.csv
new file mode 100644
index 0000000..6920fab
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/p256-keyCAVS.csv
@@ -0,0 +1 @@
+700c48f77f56584c5cc632ca65640db91b6bacce3a4df6b42ce7cc838833d287,db71e509e3fd9b060ddb20ba5c51dcc5948d46fbf640dfe0441782cab85fa4ac \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/p256-keyIUT.csv b/src/cz/crcs/ectester/data/test/nist/p256-keyIUT.csv
new file mode 100644
index 0000000..211f0d0
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/p256-keyIUT.csv
@@ -0,0 +1 @@
+ead218590119e8876b29146ff89ca61770c4edbbf97d38ce385ed281d8a6b230,28af61281fd35e2fa7002523acc85a429cb06ee6648325389f59edfce1405141,7d7dc5f71eb29ddaf80d6214632eeae03d9058af1fb6d22ed80badb62bc1a534 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/p384-dhc-raw.csv b/src/cz/crcs/ectester/data/test/nist/p384-dhc-raw.csv
new file mode 100644
index 0000000..0cd1bdc
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/p384-dhc-raw.csv
@@ -0,0 +1 @@
+5f9d29dc5e31a163060356213669c8ce132e22f57c9a04f40ba7fcead493b457e5621e766c40a2e3d4d6a04b25e533f1 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/p384-dhc-sha1.csv b/src/cz/crcs/ectester/data/test/nist/p384-dhc-sha1.csv
new file mode 100644
index 0000000..5e878f9
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/p384-dhc-sha1.csv
@@ -0,0 +1 @@
+F84B679C77F7E42457AA306667AC2E6C2AC1D8D6 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/p384-keyCAVS.csv b/src/cz/crcs/ectester/data/test/nist/p384-keyCAVS.csv
new file mode 100644
index 0000000..97ce5bc
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/p384-keyCAVS.csv
@@ -0,0 +1 @@
+a7c76b970c3b5fe8b05d2838ae04ab47697b9eaf52e764592efda27fe7513272734466b400091adbf2d68c58e0c50066,ac68f19f2e1cb879aed43a9969b91a0839c4c38a49749b661efedf243451915ed0905a32b060992b468c64766fc8437a \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/p384-keyIUT.csv b/src/cz/crcs/ectester/data/test/nist/p384-keyIUT.csv
new file mode 100644
index 0000000..3c2074a
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/p384-keyIUT.csv
@@ -0,0 +1 @@
+9803807f2f6d2fd966cdd0290bd410c0190352fbec7ff6247de1302df86f25d34fe4a97bef60cff548355c015dbb3e5f,ba26ca69ec2f5b5d9dad20cc9da711383a9dbe34ea3fa5a2af75b46502629ad54dd8b7d73a8abb06a3a3be47d650cc99,3cc3122a68f0d95027ad38c067916ba0eb8c38894d22e1b15618b6818a661774ad463b205da88cf699ab4d43c9cf98a1 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/p521-dhc-raw.csv b/src/cz/crcs/ectester/data/test/nist/p521-dhc-raw.csv
new file mode 100644
index 0000000..9c753ea
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/p521-dhc-raw.csv
@@ -0,0 +1 @@
+005fc70477c3e63bc3954bd0df3ea0d1f41ee21746ed95fc5e1fdf90930d5e136672d72cc770742d1711c3c3a4c334a0ad9759436a4d3c5bf6e74b9578fac148c831 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/p521-dhc-sha1.csv b/src/cz/crcs/ectester/data/test/nist/p521-dhc-sha1.csv
new file mode 100644
index 0000000..b565784
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/p521-dhc-sha1.csv
@@ -0,0 +1 @@
+1020FB37E0DADA201655AD3CC7410AED9CC034F3 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/p521-keyCAVS.csv b/src/cz/crcs/ectester/data/test/nist/p521-keyCAVS.csv
new file mode 100644
index 0000000..3fa895f
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/p521-keyCAVS.csv
@@ -0,0 +1 @@
+000000685a48e86c79f0f0875f7bc18d25eb5fc8c0b07e5da4f4370f3a9490340854334b1e1b87fa395464c60626124a4e70d0f785601d37c09870ebf176666877a2046d,000001ba52c56fc8776d9e8f5db4f0cc27636d0b741bbe05400697942e80b739884a83bde99e0f6716939e632bc8986fa18dccd443a348b6c3e522497955a4f3c302f676 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/data/test/nist/p521-keyIUT.csv b/src/cz/crcs/ectester/data/test/nist/p521-keyIUT.csv
new file mode 100644
index 0000000..b575d06
--- /dev/null
+++ b/src/cz/crcs/ectester/data/test/nist/p521-keyIUT.csv
@@ -0,0 +1 @@
+000000602f9d0cf9e526b29e22381c203c48a886c2b0673033366314f1ffbcba240ba42f4ef38a76174635f91e6b4ed34275eb01c8467d05ca80315bf1a7bbd945f550a5,000001b7c85f26f5d4b2d7355cf6b02117659943762b6d1db5ab4f1dbc44ce7b2946eb6c7de342962893fd387d1b73d7a8672d1f236961170b7eb3579953ee5cdc88cd2d,0000017eecc07ab4b329068fba65e56a1f8890aa935e57134ae0ffcce802735151f4eac6564f6ee9974c5e6887a1fefee5743ae2241bfeb95d5ce31ddcb6f9edb4d6fc47 \ No newline at end of file
diff --git a/src/cz/crcs/ectester/reader/ECTester.java b/src/cz/crcs/ectester/reader/ECTester.java
index 80c3fb0..b8b0c04 100644
--- a/src/cz/crcs/ectester/reader/ECTester.java
+++ b/src/cz/crcs/ectester/reader/ECTester.java
@@ -409,7 +409,7 @@ public class ECTester {
}
optTestCase = cli.getOptionValue("test", "default").toLowerCase();
- String[] tests = new String[]{"default", "non-prime", "invalid", "smallpub", "test-vectors", "wrong"};
+ String[] tests = new String[]{"default", "nonprime", "invalid", "smallpub", "test-vectors", "wrong"};
List<String> testsList = Arrays.asList(tests);
if (!testsList.contains(optTestCase)) {
System.err.println("Unknown test case. Should be one of: " + Arrays.toString(tests));
@@ -669,8 +669,6 @@ public class ECTester {
* Do ECDH both ways, export and verify that the result is correct.
*
*/
- String category = optNamedCurve == null ? "secg" : optNamedCurve;
- Map<String, EC_Curve> curves = dataStore.getObjects(EC_Curve.class, category);
//TODO
} else {
@@ -683,7 +681,7 @@ public class ECTester {
return;
}
- if (optTestCase.equals("wrong") || optTestCase.equals("non-prime")) {
+ if (optTestCase.equals("wrong") || optTestCase.equals("nonprime")) {
/* Just do the default tests on the wrong and non-prime curves.
* These should generally fail, the curves aren't safe.
*/
@@ -699,7 +697,17 @@ public class ECTester {
* a small order public key succeeds the private key modulo the public key order
* is revealed.
*/
- //TODO
+ Map<String, EC_Key> keys = dataStore.getObjects(EC_Key.class, "smallpub");
+ for (EC_Key key : keys.values()) {
+ EC_Curve curve = dataStore.getObject(EC_Curve.class, key.getCurve());
+ if ((curve.getBits() == optBits || optAll)) {
+ commands.add(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), curve.getField()));
+ commands.add(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL));
+ commands.add(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_REMOTE, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()));
+ commands.add(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, EC_Consts.KA_ECDH));
+ commands.add(new Command.Cleanup(cardManager));
+ }
+ }
} else if (optTestCase.equals("invalid")) {
/* Set original curves (secg/nist/brainpool). Generate local.
* Try ECDH with invalid public keys of increasing (or decreasing) order.