aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJ08nY2018-12-17 17:15:54 +0100
committerJ08nY2018-12-17 17:15:54 +0100
commit4e67d9eddb478aadc6fda39dcef43b2a25e28d4e (patch)
treedca34e480bec432ced42a4507f0777b44b944d8b /src
parent2abc59f61ea68af03256127e27b310b7f2026c0a (diff)
downloadECTester-4e67d9eddb478aadc6fda39dcef43b2a25e28d4e.tar.gz
ECTester-4e67d9eddb478aadc6fda39dcef43b2a25e28d4e.tar.zst
ECTester-4e67d9eddb478aadc6fda39dcef43b2a25e28d4e.zip
Diffstat (limited to 'src')
-rw-r--r--src/cz/crcs/ectester/data/wycheproof/keys.xml86
-rw-r--r--src/cz/crcs/ectester/reader/test/CardEdgeCasesSuite.java21
2 files changed, 61 insertions, 46 deletions
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 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP224r1/1s</id>
- <inline>0x0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a792dd</inline>
+ <inline>0xd7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a792dd</inline>
<curve>brainpool/brainpoolP224r1</curve>
<desc>tcId = 441</desc>
</privkey>
@@ -315,7 +315,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP224r1/2s</id>
- <inline>0x0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7935d</inline>
+ <inline>0xd7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7935d</inline>
<curve>brainpool/brainpoolP224r1</curve>
<desc>tcId = 442</desc>
</privkey>
@@ -328,7 +328,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP224r1/3s</id>
- <inline>0x0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939d</inline>
+ <inline>0xd7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939d</inline>
<curve>brainpool/brainpoolP224r1</curve>
<desc>tcId = 444</desc>
</privkey>
@@ -341,7 +341,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP256r1/1s</id>
- <inline>0x0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974855f5</inline>
+ <inline>0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974855f5</inline>
<curve>brainpool/brainpoolP256r1</curve>
<desc>tcId = 524</desc>
</privkey>
@@ -354,7 +354,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP256r1/2s</id>
- <inline>0x0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485675</inline>
+ <inline>0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485675</inline>
<curve>brainpool/brainpoolP256r1</curve>
<desc>tcId = 525</desc>
</privkey>
@@ -367,7 +367,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP256r1/3s</id>
- <inline>0x0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485695</inline>
+ <inline>0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485695</inline>
<curve>brainpool/brainpoolP256r1</curve>
<desc>tcId = 526</desc>
</privkey>
@@ -380,7 +380,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP256r1/4s</id>
- <inline>0x0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a5</inline>
+ <inline>0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a5</inline>
<curve>brainpool/brainpoolP256r1</curve>
<desc>tcId = 528</desc>
</privkey>
@@ -393,7 +393,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP320r1/1s</id>
- <inline>0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59233</inline>
+ <inline>0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59233</inline>
<curve>brainpool/brainpoolP320r1</curve>
<desc>tcId = 604</desc>
</privkey>
@@ -406,7 +406,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP320r1/2s</id>
- <inline>0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592b3</inline>
+ <inline>0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592b3</inline>
<curve>brainpool/brainpoolP320r1</curve>
<desc>tcId = 605</desc>
</privkey>
@@ -419,7 +419,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP320r1/3s</id>
- <inline>0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592f3</inline>
+ <inline>0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592f3</inline>
<curve>brainpool/brainpoolP320r1</curve>
<desc>tcId = 606</desc>
</privkey>
@@ -432,7 +432,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP320r1/4s</id>
- <inline>0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59303</inline>
+ <inline>0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59303</inline>
<curve>brainpool/brainpoolP320r1</curve>
<desc>tcId = 607</desc>
</privkey>
@@ -445,7 +445,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP320r1/5s</id>
- <inline>0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930b</inline>
+ <inline>0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930b</inline>
<curve>brainpool/brainpoolP320r1</curve>
<desc>tcId = 608</desc>
</privkey>
@@ -458,7 +458,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP320r1/6s</id>
- <inline>0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930f</inline>
+ <inline>0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930f</inline>
<curve>brainpool/brainpoolP320r1</curve>
<desc>tcId = 610</desc>
</privkey>
@@ -471,7 +471,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP384r1/1s</id>
- <inline>0x08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904652f</inline>
+ <inline>0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904652f</inline>
<curve>brainpool/brainpoolP384r1</curve>
<desc>tcId = 684</desc>
</privkey>
@@ -484,7 +484,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP384r1/2s</id>
- <inline>0x08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904654f</inline>
+ <inline>0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904654f</inline>
<curve>brainpool/brainpoolP384r1</curve>
<desc>tcId = 685</desc>
</privkey>
@@ -497,7 +497,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP384r1/3s</id>
- <inline>0x08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904655f</inline>
+ <inline>0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904655f</inline>
<curve>brainpool/brainpoolP384r1</curve>
<desc>tcId = 686</desc>
</privkey>
@@ -510,7 +510,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP384r1/4s</id>
- <inline>0x08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046563</inline>
+ <inline>0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046563</inline>
<curve>brainpool/brainpoolP384r1</curve>
<desc>tcId = 688</desc>
</privkey>
@@ -523,7 +523,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP512r1/1s</id>
- <inline>0x0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9003b</inline>
+ <inline>0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9003b</inline>
<curve>brainpool/brainpoolP512r1</curve>
<desc>tcId = 774</desc>
</privkey>
@@ -536,7 +536,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP512r1/2s</id>
- <inline>0x0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9005b</inline>
+ <inline>0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9005b</inline>
<curve>brainpool/brainpoolP512r1</curve>
<desc>tcId = 775</desc>
</privkey>
@@ -549,7 +549,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP512r1/3s</id>
- <inline>0x0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90063</inline>
+ <inline>0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90063</inline>
<curve>brainpool/brainpoolP512r1</curve>
<desc>tcId = 776</desc>
</privkey>
@@ -562,7 +562,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP512r1/4s</id>
- <inline>0x0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90067</inline>
+ <inline>0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90067</inline>
<curve>brainpool/brainpoolP512r1</curve>
<desc>tcId = 778</desc>
</privkey>
@@ -575,7 +575,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP224t1/1s</id>
- <inline>0x0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a792dd</inline>
+ <inline>0xd7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a792dd</inline>
<curve>brainpool/brainpoolP224t1</curve>
<desc>tcId = 854</desc>
</privkey>
@@ -588,7 +588,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP224t1/2s</id>
- <inline>0x0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7935d</inline>
+ <inline>0xd7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7935d</inline>
<curve>brainpool/brainpoolP224t1</curve>
<desc>tcId = 855</desc>
</privkey>
@@ -601,7 +601,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP224t1/3s</id>
- <inline>0x0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939d</inline>
+ <inline>0xd7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939d</inline>
<curve>brainpool/brainpoolP224t1</curve>
<desc>tcId = 857</desc>
</privkey>
@@ -614,7 +614,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP256t1/1s</id>
- <inline>0x0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974855f5</inline>
+ <inline>0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974855f5</inline>
<curve>brainpool/brainpoolP256t1</curve>
<desc>tcId = 935</desc>
</privkey>
@@ -627,7 +627,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP256t1/2s</id>
- <inline>0x0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485675</inline>
+ <inline>0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485675</inline>
<curve>brainpool/brainpoolP256t1</curve>
<desc>tcId = 936</desc>
</privkey>
@@ -640,7 +640,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP256t1/3s</id>
- <inline>0x0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485695</inline>
+ <inline>0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485695</inline>
<curve>brainpool/brainpoolP256t1</curve>
<desc>tcId = 937</desc>
</privkey>
@@ -653,7 +653,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP256t1/4s</id>
- <inline>0x0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a5</inline>
+ <inline>0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a5</inline>
<curve>brainpool/brainpoolP256t1</curve>
<desc>tcId = 939</desc>
</privkey>
@@ -666,7 +666,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP320t1/1s</id>
- <inline>0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59233</inline>
+ <inline>0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59233</inline>
<curve>brainpool/brainpoolP320t1</curve>
<desc>tcId = 1015</desc>
</privkey>
@@ -679,7 +679,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP320t1/2s</id>
- <inline>0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592b3</inline>
+ <inline>0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592b3</inline>
<curve>brainpool/brainpoolP320t1</curve>
<desc>tcId = 1016</desc>
</privkey>
@@ -692,7 +692,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP320t1/3s</id>
- <inline>0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592f3</inline>
+ <inline>0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592f3</inline>
<curve>brainpool/brainpoolP320t1</curve>
<desc>tcId = 1017</desc>
</privkey>
@@ -705,7 +705,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP320t1/4s</id>
- <inline>0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59303</inline>
+ <inline>0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59303</inline>
<curve>brainpool/brainpoolP320t1</curve>
<desc>tcId = 1018</desc>
</privkey>
@@ -718,7 +718,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP320t1/5s</id>
- <inline>0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930b</inline>
+ <inline>0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930b</inline>
<curve>brainpool/brainpoolP320t1</curve>
<desc>tcId = 1019</desc>
</privkey>
@@ -731,7 +731,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP320t1/6s</id>
- <inline>0x0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930f</inline>
+ <inline>0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930f</inline>
<curve>brainpool/brainpoolP320t1</curve>
<desc>tcId = 1021</desc>
</privkey>
@@ -744,7 +744,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP384t1/1s</id>
- <inline>0x08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904652f</inline>
+ <inline>0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904652f</inline>
<curve>brainpool/brainpoolP384t1</curve>
<desc>tcId = 1093</desc>
</privkey>
@@ -757,7 +757,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP384t1/2s</id>
- <inline>0x08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904654f</inline>
+ <inline>0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904654f</inline>
<curve>brainpool/brainpoolP384t1</curve>
<desc>tcId = 1094</desc>
</privkey>
@@ -770,7 +770,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP384t1/3s</id>
- <inline>0x08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904655f</inline>
+ <inline>0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904655f</inline>
<curve>brainpool/brainpoolP384t1</curve>
<desc>tcId = 1095</desc>
</privkey>
@@ -783,7 +783,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP384t1/4s</id>
- <inline>0x08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046563</inline>
+ <inline>0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046563</inline>
<curve>brainpool/brainpoolP384t1</curve>
<desc>tcId = 1097</desc>
</privkey>
@@ -796,7 +796,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP512t1/1s</id>
- <inline>0x0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9003b</inline>
+ <inline>0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9003b</inline>
<curve>brainpool/brainpoolP512t1</curve>
<desc>tcId = 1185</desc>
</privkey>
@@ -809,7 +809,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP512t1/2s</id>
- <inline>0x0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9005b</inline>
+ <inline>0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9005b</inline>
<curve>brainpool/brainpoolP512t1</curve>
<desc>tcId = 1186</desc>
</privkey>
@@ -822,7 +822,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP512t1/3s</id>
- <inline>0x0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90063</inline>
+ <inline>0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90063</inline>
<curve>brainpool/brainpoolP512t1</curve>
<desc>tcId = 1187</desc>
</privkey>
@@ -835,7 +835,7 @@
</pubkey>
<privkey>
<id>addsub/brainpoolP512t1/4s</id>
- <inline>0x0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90067</inline>
+ <inline>0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90067</inline>
<curve>brainpool/brainpoolP512t1</curve>
<desc>tcId = 1189</desc>
</privkey>
@@ -878,7 +878,7 @@
<!-- CVE-2017-10176 tests -->
<privkey>
<id>cve_2017_10176/secp521r1/1s</id>
- <inline>0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863f7</inline>
+ <inline>0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863f7</inline>
<curve>secg/secp521r1</curve>
<desc>tcId = 280</desc>
</privkey>
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) +" (<r)", Result.ExpectedValue.SUCCESS, Result.ExpectedValue.SUCCESS);
+ }
}
Test rTest = CompoundTest.all(Result.ExpectedValue.SUCCESS, "Near r.", rTests);
doTest(CompoundTest.all(Result.ExpectedValue.SUCCESS, "Test private key values near zero, near p and near/larger than the order.", setup, zeroTest, pTest, rTest));
}
+ private Test ecdhTestBoth(Command setPriv, String desc, Result.ExpectedValue setExpect, Result.ExpectedValue ecdhExpect) {
+ Test set = CommandTest.expect(setPriv, setExpect);
+ Test ecdh = CommandTest.expect(new Command.ECDH(this.card, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_TRUE, EC_Consts.TRANSFORMATION_NONE, EC_Consts.KeyAgreement_ALG_EC_SVDP_DH), ecdhExpect);
+
+ return CompoundTest.all(Result.ExpectedValue.SUCCESS, desc, set, ecdh);
+ }
+
private Test ecdhTest(Command setPriv, String desc, Result.ExpectedValue setExpect, Result.ExpectedValue ecdhExpect) {
Test set = CommandTest.expect(setPriv, setExpect);
Test ecdh = CommandTest.expect(new Command.ECDH(this.card, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_TRUE, EC_Consts.TRANSFORMATION_NONE, EC_Consts.KeyAgreement_ALG_EC_SVDP_DH), ecdhExpect);