diff options
| author | J08nY | 2018-12-17 17:15:54 +0100 |
|---|---|---|
| committer | J08nY | 2018-12-17 17:15:54 +0100 |
| commit | 4e67d9eddb478aadc6fda39dcef43b2a25e28d4e (patch) | |
| tree | dca34e480bec432ced42a4507f0777b44b944d8b /src | |
| parent | 2abc59f61ea68af03256127e27b310b7f2026c0a (diff) | |
| download | ECTester-4e67d9eddb478aadc6fda39dcef43b2a25e28d4e.tar.gz ECTester-4e67d9eddb478aadc6fda39dcef43b2a25e28d4e.tar.zst ECTester-4e67d9eddb478aadc6fda39dcef43b2a25e28d4e.zip | |
Diffstat (limited to 'src')
| -rw-r--r-- | src/cz/crcs/ectester/data/wycheproof/keys.xml | 86 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/reader/test/CardEdgeCasesSuite.java | 21 |
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); |
