From 4e67d9eddb478aadc6fda39dcef43b2a25e28d4e Mon Sep 17 00:00:00 2001
From: J08nY
Date: Mon, 17 Dec 2018 17:15:54 +0100
Subject: Fixup edgecases test suite.
---
src/cz/crcs/ectester/data/wycheproof/keys.xml | 86 +++++++++++-----------
.../ectester/reader/test/CardEdgeCasesSuite.java | 21 +++++-
2 files changed, 61 insertions(+), 46 deletions(-)
(limited to 'src')
diff --git a/src/cz/crcs/ectester/data/wycheproof/keys.xml b/src/cz/crcs/ectester/data/wycheproof/keys.xml
index 46359df..7ca174d 100644
--- a/src/cz/crcs/ectester/data/wycheproof/keys.xml
+++ b/src/cz/crcs/ectester/data/wycheproof/keys.xml
@@ -302,7 +302,7 @@
addsub/brainpoolP224r1/1s
- 0x0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a792dd
+ 0xd7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a792dd
brainpool/brainpoolP224r1
tcId = 441
@@ -315,7 +315,7 @@
addsub/brainpoolP224r1/2s
- 0x0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7935d
+ 0xd7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7935d
brainpool/brainpoolP224r1
tcId = 442
@@ -328,7 +328,7 @@
addsub/brainpoolP224r1/3s
- 0x0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939d
+ 0xd7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939d
brainpool/brainpoolP224r1
tcId = 444
@@ -341,7 +341,7 @@
addsub/brainpoolP256r1/1s
- 0x0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974855f5
+ 0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974855f5
brainpool/brainpoolP256r1
tcId = 524
@@ -354,7 +354,7 @@
addsub/brainpoolP256r1/2s
- 0x0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485675
+ 0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485675
brainpool/brainpoolP256r1
tcId = 525
@@ -367,7 +367,7 @@
addsub/brainpoolP256r1/3s
- 0x0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485695
+ 0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485695
brainpool/brainpoolP256r1
tcId = 526
@@ -380,7 +380,7 @@
addsub/brainpoolP256r1/4s
- 0x0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a5
+ 0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a5
brainpool/brainpoolP256r1
tcId = 528
@@ -393,7 +393,7 @@
addsub/brainpoolP320r1/1s
- 0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59233
+ 0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59233
brainpool/brainpoolP320r1
tcId = 604
@@ -406,7 +406,7 @@
addsub/brainpoolP320r1/2s
- 0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592b3
+ 0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592b3
brainpool/brainpoolP320r1
tcId = 605
@@ -419,7 +419,7 @@
addsub/brainpoolP320r1/3s
- 0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592f3
+ 0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592f3
brainpool/brainpoolP320r1
tcId = 606
@@ -432,7 +432,7 @@
addsub/brainpoolP320r1/4s
- 0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59303
+ 0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59303
brainpool/brainpoolP320r1
tcId = 607
@@ -445,7 +445,7 @@
addsub/brainpoolP320r1/5s
- 0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930b
+ 0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930b
brainpool/brainpoolP320r1
tcId = 608
@@ -458,7 +458,7 @@
addsub/brainpoolP320r1/6s
- 0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930f
+ 0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930f
brainpool/brainpoolP320r1
tcId = 610
@@ -471,7 +471,7 @@
addsub/brainpoolP384r1/1s
- 0x08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904652f
+ 0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904652f
brainpool/brainpoolP384r1
tcId = 684
@@ -484,7 +484,7 @@
addsub/brainpoolP384r1/2s
- 0x08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904654f
+ 0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904654f
brainpool/brainpoolP384r1
tcId = 685
@@ -497,7 +497,7 @@
addsub/brainpoolP384r1/3s
- 0x08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904655f
+ 0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904655f
brainpool/brainpoolP384r1
tcId = 686
@@ -510,7 +510,7 @@
addsub/brainpoolP384r1/4s
- 0x08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046563
+ 0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046563
brainpool/brainpoolP384r1
tcId = 688
@@ -523,7 +523,7 @@
addsub/brainpoolP512r1/1s
- 0x0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9003b
+ 0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9003b
brainpool/brainpoolP512r1
tcId = 774
@@ -536,7 +536,7 @@
addsub/brainpoolP512r1/2s
- 0x0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9005b
+ 0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9005b
brainpool/brainpoolP512r1
tcId = 775
@@ -549,7 +549,7 @@
addsub/brainpoolP512r1/3s
- 0x0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90063
+ 0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90063
brainpool/brainpoolP512r1
tcId = 776
@@ -562,7 +562,7 @@
addsub/brainpoolP512r1/4s
- 0x0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90067
+ 0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90067
brainpool/brainpoolP512r1
tcId = 778
@@ -575,7 +575,7 @@
addsub/brainpoolP224t1/1s
- 0x0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a792dd
+ 0xd7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a792dd
brainpool/brainpoolP224t1
tcId = 854
@@ -588,7 +588,7 @@
addsub/brainpoolP224t1/2s
- 0x0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7935d
+ 0xd7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7935d
brainpool/brainpoolP224t1
tcId = 855
@@ -601,7 +601,7 @@
addsub/brainpoolP224t1/3s
- 0x0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939d
+ 0xd7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939d
brainpool/brainpoolP224t1
tcId = 857
@@ -614,7 +614,7 @@
addsub/brainpoolP256t1/1s
- 0x0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974855f5
+ 0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974855f5
brainpool/brainpoolP256t1
tcId = 935
@@ -627,7 +627,7 @@
addsub/brainpoolP256t1/2s
- 0x0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485675
+ 0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485675
brainpool/brainpoolP256t1
tcId = 936
@@ -640,7 +640,7 @@
addsub/brainpoolP256t1/3s
- 0x0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485695
+ 0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485695
brainpool/brainpoolP256t1
tcId = 937
@@ -653,7 +653,7 @@
addsub/brainpoolP256t1/4s
- 0x0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a5
+ 0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a5
brainpool/brainpoolP256t1
tcId = 939
@@ -666,7 +666,7 @@
addsub/brainpoolP320t1/1s
- 0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59233
+ 0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59233
brainpool/brainpoolP320t1
tcId = 1015
@@ -679,7 +679,7 @@
addsub/brainpoolP320t1/2s
- 0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592b3
+ 0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592b3
brainpool/brainpoolP320t1
tcId = 1016
@@ -692,7 +692,7 @@
addsub/brainpoolP320t1/3s
- 0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592f3
+ 0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592f3
brainpool/brainpoolP320t1
tcId = 1017
@@ -705,7 +705,7 @@
addsub/brainpoolP320t1/4s
- 0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59303
+ 0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59303
brainpool/brainpoolP320t1
tcId = 1018
@@ -718,7 +718,7 @@
addsub/brainpoolP320t1/5s
- 0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930b
+ 0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930b
brainpool/brainpoolP320t1
tcId = 1019
@@ -731,7 +731,7 @@
addsub/brainpoolP320t1/6s
- 0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930f
+ 0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930f
brainpool/brainpoolP320t1
tcId = 1021
@@ -744,7 +744,7 @@
addsub/brainpoolP384t1/1s
- 0x08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904652f
+ 0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904652f
brainpool/brainpoolP384t1
tcId = 1093
@@ -757,7 +757,7 @@
addsub/brainpoolP384t1/2s
- 0x08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904654f
+ 0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904654f
brainpool/brainpoolP384t1
tcId = 1094
@@ -770,7 +770,7 @@
addsub/brainpoolP384t1/3s
- 0x08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904655f
+ 0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904655f
brainpool/brainpoolP384t1
tcId = 1095
@@ -783,7 +783,7 @@
addsub/brainpoolP384t1/4s
- 0x08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046563
+ 0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046563
brainpool/brainpoolP384t1
tcId = 1097
@@ -796,7 +796,7 @@
addsub/brainpoolP512t1/1s
- 0x0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9003b
+ 0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9003b
brainpool/brainpoolP512t1
tcId = 1185
@@ -809,7 +809,7 @@
addsub/brainpoolP512t1/2s
- 0x0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9005b
+ 0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9005b
brainpool/brainpoolP512t1
tcId = 1186
@@ -822,7 +822,7 @@
addsub/brainpoolP512t1/3s
- 0x0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90063
+ 0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90063
brainpool/brainpoolP512t1
tcId = 1187
@@ -835,7 +835,7 @@
addsub/brainpoolP512t1/4s
- 0x0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90067
+ 0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90067
brainpool/brainpoolP512t1
tcId = 1189
@@ -878,7 +878,7 @@
cve_2017_10176/secp521r1/1s
- 0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863f7
+ 0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863f7
secg/secp521r1
tcId = 280
diff --git a/src/cz/crcs/ectester/reader/test/CardEdgeCasesSuite.java b/src/cz/crcs/ectester/reader/test/CardEdgeCasesSuite.java
index 221cbe1..39eaf07 100644
--- a/src/cz/crcs/ectester/reader/test/CardEdgeCasesSuite.java
+++ b/src/cz/crcs/ectester/reader/test/CardEdgeCasesSuite.java
@@ -104,6 +104,10 @@ public class CardEdgeCasesSuite extends CardTestSuite {
curveTests.add(one);
}
+ if (cfg.cleanup) {
+ curveTests.add(CommandTest.expect(new Command.Cleanup(this.card), Result.ExpectedValue.ANY));
+ }
+
Test curveTest = CompoundTest.all(Result.ExpectedValue.SUCCESS, "Tests", curveTests.toArray(new Test[0]));
groupTests.add(CompoundTest.greedyAllTry(Result.ExpectedValue.SUCCESS, "Tests on " + curve.getId() + ".", prepareCurve, curveTest));
}
@@ -278,7 +282,7 @@ public class CardEdgeCasesSuite extends CardTestSuite {
int i = 0;
for (BigInteger nearZero : zeros) {
EC_Params params = makeParams(nearZero);
- zeroTests[i++] = ecdhTest(new Command.Set(this.card, ECTesterApplet.KEYPAIR_REMOTE, EC_Consts.CURVE_external, params.getParams(), params.flatten()), nearZero.toString(16), Result.ExpectedValue.ANY, Result.ExpectedValue.ANY);
+ zeroTests[i++] = ecdhTestBoth(new Command.Set(this.card, ECTesterApplet.KEYPAIR_REMOTE, EC_Consts.CURVE_external, params.getParams(), params.flatten()), nearZero.toString(16), Result.ExpectedValue.SUCCESS, Result.ExpectedValue.SUCCESS);
}
Test zeroTest = CompoundTest.all(Result.ExpectedValue.SUCCESS, "Near zero.", zeroTests);
@@ -286,7 +290,7 @@ public class CardEdgeCasesSuite extends CardTestSuite {
i = 0;
for (BigInteger nearP : ps) {
EC_Params params = makeParams(nearP);
- pTests[i++] = ecdhTest(new Command.Set(this.card, ECTesterApplet.KEYPAIR_REMOTE, EC_Consts.CURVE_external, params.getParams(), params.flatten()), nearP.toString(16) + (nearP.compareTo(p) > 0 ? " (>p)" : " (<=p)"), Result.ExpectedValue.ANY, Result.ExpectedValue.ANY);
+ pTests[i++] = ecdhTestBoth(new Command.Set(this.card, ECTesterApplet.KEYPAIR_REMOTE, EC_Consts.CURVE_external, params.getParams(), params.flatten()), nearP.toString(16) + (nearP.compareTo(p) > 0 ? " (>p)" : " (<=p)"), Result.ExpectedValue.SUCCESS, Result.ExpectedValue.SUCCESS);
}
Test pTest = CompoundTest.all(Result.ExpectedValue.SUCCESS, "Near p.", pTests);
@@ -294,12 +298,23 @@ public class CardEdgeCasesSuite extends CardTestSuite {
i = 0;
for (BigInteger nearR : rs) {
EC_Params params = makeParams(nearR);
- rTests[i++] = ecdhTest(new Command.Set(this.card, ECTesterApplet.KEYPAIR_REMOTE, EC_Consts.CURVE_external, params.getParams(), params.flatten()), nearR.toString(16) + (nearR.compareTo(r) > 0 ? " (>r)" : " (<=r)"), Result.ExpectedValue.ANY, Result.ExpectedValue.ANY);
+ if (nearR.compareTo(r) >= 0) {
+ rTests[i++] = ecdhTest(new Command.Set(this.card, ECTesterApplet.KEYPAIR_REMOTE, EC_Consts.CURVE_external, params.getParams(), params.flatten()), nearR.toString(16) + " (>=r)", Result.ExpectedValue.FAILURE, Result.ExpectedValue.FAILURE);
+ } else {
+ rTests[i++] = ecdhTestBoth(new Command.Set(this.card, ECTesterApplet.KEYPAIR_REMOTE, EC_Consts.CURVE_external, params.getParams(), params.flatten()), nearR.toString(16) +" (