From 4d46da04d32bac50a7ac92be5b44c7f4e19d9df0 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sat, 4 Aug 2018 20:08:25 +0200 Subject: Introduce extended KA in standalone, use it where appropriate. --- docs/TESTS.md | 51 +++++++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 24 deletions(-) (limited to 'docs') diff --git a/docs/TESTS.md b/docs/TESTS.md index 5811577..dabcee1 100644 --- a/docs/TESTS.md +++ b/docs/TESTS.md @@ -11,7 +11,7 @@ - `degenerate`* - `cofactor`* - `edge-cases`* - + **\*NOTE: The `wrong`, `composite`, `invalid`,`twist`, `cofactor`, `edge-cases` and `degenerate` test suites caused temporary/permanent DoS of some cards. These test suites prompt you for confirmation before running, be cautious.** @@ -61,24 +61,26 @@ Tests on a category of wrong curves. These curves are not really curves as they - reducible polynomial as the field polynomial in the binary case This test suite also does some additional tests with corrupting the parameters: + - Fp: - - p = 0 - - p = 1 - - p = q^2; q prime - - p = q * s; q and s prime - - G = random point not on curve - - G = random data - - G = infinity - - r = 0 - - r = 1 - - r = some prime larger than original r (and \[r\]G != infinity) - - r = some prime smaller than original r (and \[r\]G != infninity) - - r = some composite number (and \[r\]G != infinity) - - k = 0xff - - k = 0 + - p = 0 + - p = 1 + - p = q^2; q prime + - p = q * s; q and s prime + - G = random point not on curve + - G = random data + - G = infinity + - r = 0 + - r = 1 + - r = some prime larger than original r (and [r]G != infinity) + - r = some prime smaller than original r (and [r]G != infninity) + - r = some composite number (and [r]G != infinity) + - k = 0xff + - k = 0 + - F2m: - - e1 = e2 = e3 = 0 - - m < e1 < e2 < e3 + - e1 = e2 = e3 = 0 + - m < e1 < e2 < e3 These tests should fail generally. @@ -95,11 +97,11 @@ These tests should generally fail, a success here implies the card will use a no by the applet. Operations over such curves are susceptible to small-subgroup attacks. - r = quite a smooth number, many small factors, r = |G| - - r = small prime(of increasing bit lengths), r = |G| + - r = prime(of increasing bit lengths), r = |G| - r = p * q = |G| - r = G = Carmichael number = p * q * s - - \[r\]G = infinity but r != |G|, so |G| divides r - + - [r]G = infinity but r != |G|, so |G| divides r + For example: ```bash java -jar ECTester.jar -t composite @@ -154,11 +156,12 @@ java -jar ECTester.jar -t cofactor ``` ## Edge-Cases -Tests various inputs to ECDH which may cause an implementation to achieve a certain edge-case state during ECDH. +Tests various inputs to ECDH which may cause an implementation to achieve a certain edge-case state during ECDH. Some of the data is from the google/Wycheproof project. Tests include [CVE-2017-10176](https://nvd.nist.gov/vuln/detail/CVE-2017-10176) and [CVE-2017-8932](https://nvd.nist.gov/vuln/detail/CVE-2017-8932). Various custom edge private key values are also tested. -CVE-2017-10176 was in implementation issue in the SunEC Java library that caused the implementation to reach the point at infinity during ECDH computation. +CVE-2017-10176 was in implementation issue in the SunEC Java library (and NSS(CVE-2017-7781), thus also anything that used it) that caused the implementation to reach the point at infinity during ECDH computation. +See [blog](http://blog.intothesymmetry.com/2017/08/cve-2017-7781cve-2017-10176-issue-with.html) for more info. CVE-2017-8932 was an implementation issue in the Go standard library, in particular its scalar multiplication algorithm on the P-256 curve which leaked information about the private key. @@ -167,7 +170,7 @@ Custom private key values over SECG curves are tested: - s = 0, s = 1 - s < r, s = r, s > r - s = r - 1, s = r + 1 - - s = k\*r - 1, s = k\*r, s = k\*r + 1 + - s = k\*r - 1, s = k\*r, s = k\*r + 1 For example: ```bash @@ -175,7 +178,7 @@ java -jar ECTester.jar -t edge-cases ``` ## Miscellaneous -Some miscellaneous tests, tries ECDH and ECDSA over supersingular curves and Barreto-Naehrig curves with small embedding degree and CM discriminant. +Some miscellaneous tests, tries ECDH and ECDSA over supersingular curves, anomalous curves and Barreto-Naehrig curves with small embedding degree and CM discriminant. For example: ```bash -- cgit v1.3.1 From 4b2d752bcf78f2fe0396bf444858eaa71ef49136 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sun, 12 Aug 2018 20:39:56 +0200 Subject: Add info about signature tests, rename some data entries. --- docs/TESTS.md | 51 ++++++++++++++++++++++------- src/cz/crcs/ectester/data/wrong/results.xml | 2 +- 2 files changed, 41 insertions(+), 12 deletions(-) (limited to 'docs') diff --git a/docs/TESTS.md b/docs/TESTS.md index dabcee1..b4927c6 100644 --- a/docs/TESTS.md +++ b/docs/TESTS.md @@ -4,6 +4,7 @@ - `test-vectors` - `compression` - `miscellaneous` + - `signature` - `wrong`* - `composite`* - `invalid`* @@ -24,7 +25,7 @@ This test suite is run if no argument is provided to `-t / --test`. For example: ```bash -java -jar ECTester.jar -t +java -jar ECTesterReader.jar -t ``` tests prime field and binary field curves, using the default test suite. @@ -42,7 +43,7 @@ Tests using known test vectors provided by NIST/SECG/Brainpool: For example: ```bash -java -jar ECTester.jar -t test-vectors +java -jar ECTesterReader.jar -t test-vectors ``` tests all curves for which test-vectors are provided. @@ -52,11 +53,12 @@ and hybrid form. Also tests card response to a hybrid point with wrong `y` coord For example: ```bash -java -jar ECTester.jar -t compression +java -jar ECTesterReader.jar -t compression ``` ## Wrong Tests on a category of wrong curves. These curves are not really curves as they have: + - non-prime field in the prime-field case - reducible polynomial as the field polynomial in the binary case @@ -86,7 +88,7 @@ These tests should fail generally. For example: ```bash -java -jar ECTester.jar -t wrong +java -jar ECTesterReader.jar -t wrong ``` does all wrong curve tests. @@ -104,7 +106,7 @@ by the applet. Operations over such curves are susceptible to small-subgroup att For example: ```bash -java -jar ECTester.jar -t composite +java -jar ECTesterReader.jar -t composite ``` @@ -116,7 +118,7 @@ See [Practical Invalid Curve Attacks on TLS-ECDH](https://www.nds.rub.de/media/n For example: ```bash -java -jar ECTester.jar -t invalid +java -jar ECTesterReader.jar -t invalid ``` tests using all curves with pregenerated *invalid* public keys for these curves. @@ -130,7 +132,7 @@ See [SafeCurves on twist security](https://safecurves.cr.yp.to/twist.html) for m For example: ```bash -java -jar ECTester.jar -t twist +java -jar ECTesterReader.jar -t twist ``` ## Degenerate @@ -142,7 +144,7 @@ See [Degenerate Curve Attacks - Extending Invalid Curve Attacks to Edwards Curve For example: ```bash -java -jar ECTester.jar -t degenerate +java -jar ECTesterReader.jar -t degenerate ``` ## Cofactor @@ -152,7 +154,7 @@ of two large primes, sets the generator with order of one prime and tries points For example: ```bash -java -jar ECTester.jar -t cofactor +java -jar ECTesterReader.jar -t cofactor ``` ## Edge-Cases @@ -167,6 +169,7 @@ CVE-2017-8932 was an implementation issue in the Go standard library, in particu P-256 curve which leaked information about the private key. Custom private key values over SECG curves are tested: + - s = 0, s = 1 - s < r, s = r, s > r - s = r - 1, s = r + 1 @@ -174,7 +177,7 @@ Custom private key values over SECG curves are tested: For example: ```bash -java -jar ECTester.jar -t edge-cases +java -jar ECTesterReader.jar -t edge-cases ``` ## Miscellaneous @@ -182,5 +185,31 @@ Some miscellaneous tests, tries ECDH and ECDSA over supersingular curves, anomal For example: ```bash -java -jar ECTester.jar -t miscellaneous +java -jar ECTesterReader.jar -t miscellaneous +``` + +## Signature +Tests ECDSA verification, with invalid signatures. + + - Well-formed(DER) invalid signatures: + - r = random, s = random + - r = 0, s = random + - r = random, s = 0 + - r = 1, s = random + - r = random, s = 1 + - r = 0, s = 0 + - r = 0, s = 1 + - r = 1, s = 0 + - r = 1, s = 1 + - s = p + - s = 2 * p + - Invalid signatures: + - Signature shorter than specified in ASN.1 SEQUENCE header. + - Signature longer than specified in ASN.1 SEQUENCE header. + - r shorter/longer than specified in its ASN.1 header. + - s shorter/longer than specified in its ASN.1 header. + +For example: +```bash +java -jar ECTesterReader.jar -t signature ``` \ No newline at end of file diff --git a/src/cz/crcs/ectester/data/wrong/results.xml b/src/cz/crcs/ectester/data/wrong/results.xml index 385bc38..92f43df 100644 --- a/src/cz/crcs/ectester/data/wrong/results.xml +++ b/src/cz/crcs/ectester/data/wrong/results.xml @@ -12,7 +12,7 @@ A correct signature by the default key. - nok/random_negated + nok/negated SHA1 0x304402203988322ab9f52c7f11d5d1aa92a2ac0b00275bcad8e934682257323fda672482022052231597382268e8f3b82b99e386ebb7c7db1a8b4a8bdacd496190314e4c5bad 0xABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABAB -- cgit v1.3.1 From 1a56517eb297341890e8de892a157af32d1fa8e7 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sat, 29 Sep 2018 14:56:55 +0200 Subject: Add some libs to list of libs. --- docs/LIBS.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/LIBS.md b/docs/LIBS.md index d1a68d0..00dcaaf 100644 --- a/docs/LIBS.md +++ b/docs/LIBS.md @@ -2,11 +2,12 @@ Popular libraries with at least some ECC support: + - [NSS](https://hg.mozilla.org/projects/nss) - [libgcrypt](https://www.gnupg.org/related_software/libgcrypt/) - [mbedTLS](https://tls.mbed.org/) - [Nettle](http://www.lysator.liu.se/~nisse/nettle/) - [OpenSSL (FIPS mode)](https://www.openssl.org/docs/fipsnotes.html) - - BoringSSL + - [BoringSSL](https://boringssl.googlesource.com/boringssl) - [Microsoft .NET crypto](https://docs.microsoft.com/en-us/dotnet/standard/security/cryptography-model) # Supported libraries -- cgit v1.3.1 From ccd6c1fa537df7b34d8c8c62c3112ae171a6d091 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sun, 14 Oct 2018 19:23:29 +0200 Subject: Add more composite test data, update docs. --- README.md | 3 + docs/TESTS.md | 139 +++------- src/cz/crcs/ectester/data/composite/curves.xml | 295 +++++++++++++++------ .../ectester/data/composite/varying/160/10.csv | 1 - .../ectester/data/composite/varying/160/112.csv | 1 - .../ectester/data/composite/varying/160/12.csv | 1 - .../ectester/data/composite/varying/160/128.csv | 1 - .../ectester/data/composite/varying/160/135.csv | 1 - .../ectester/data/composite/varying/160/14.csv | 1 - .../ectester/data/composite/varying/160/140.csv | 1 - .../ectester/data/composite/varying/160/144.csv | 1 - .../ectester/data/composite/varying/160/146.csv | 1 - .../ectester/data/composite/varying/160/148.csv | 1 - .../ectester/data/composite/varying/160/150.csv | 1 - .../ectester/data/composite/varying/160/152.csv | 1 - .../data/composite/varying/160/152_cofactor.csv | 1 - .../ectester/data/composite/varying/160/16.csv | 1 - .../ectester/data/composite/varying/160/20.csv | 1 - .../ectester/data/composite/varying/160/25.csv | 1 - .../ectester/data/composite/varying/160/2a.csv | 1 - .../ectester/data/composite/varying/160/2b.csv | 1 - .../crcs/ectester/data/composite/varying/160/3.csv | 1 - .../ectester/data/composite/varying/160/32.csv | 1 - .../crcs/ectester/data/composite/varying/160/4.csv | 1 - .../ectester/data/composite/varying/160/48.csv | 1 - .../crcs/ectester/data/composite/varying/160/5.csv | 1 - .../crcs/ectester/data/composite/varying/160/6.csv | 1 - .../ectester/data/composite/varying/160/64.csv | 1 - .../crcs/ectester/data/composite/varying/160/7.csv | 1 - .../ectester/data/composite/varying/160/70.csv | 1 - .../crcs/ectester/data/composite/varying/160/8.csv | 1 - .../ectester/data/composite/varying/160/80.csv | 1 - .../ectester/data/composite/varying/160/90.csv | 1 - .../ectester/data/composite/varying/160/96.csv | 1 - .../data/composite/varying/160/first/10.csv | 1 + .../data/composite/varying/160/first/112.csv | 1 + .../data/composite/varying/160/first/12.csv | 1 + .../data/composite/varying/160/first/128.csv | 1 + .../data/composite/varying/160/first/135.csv | 1 + .../data/composite/varying/160/first/14.csv | 1 + .../data/composite/varying/160/first/140.csv | 1 + .../data/composite/varying/160/first/144.csv | 1 + .../data/composite/varying/160/first/146.csv | 1 + .../data/composite/varying/160/first/148.csv | 1 + .../data/composite/varying/160/first/150.csv | 1 + .../data/composite/varying/160/first/152.csv | 1 + .../composite/varying/160/first/152_cofactor.csv | 1 + .../data/composite/varying/160/first/16.csv | 1 + .../data/composite/varying/160/first/20.csv | 1 + .../data/composite/varying/160/first/25.csv | 1 + .../data/composite/varying/160/first/2a.csv | 1 + .../data/composite/varying/160/first/2b.csv | 1 + .../data/composite/varying/160/first/3.csv | 1 + .../data/composite/varying/160/first/32.csv | 1 + .../data/composite/varying/160/first/4.csv | 1 + .../data/composite/varying/160/first/48.csv | 1 + .../data/composite/varying/160/first/5.csv | 1 + .../data/composite/varying/160/first/6.csv | 1 + .../data/composite/varying/160/first/64.csv | 1 + .../data/composite/varying/160/first/7.csv | 1 + .../data/composite/varying/160/first/70.csv | 1 + .../data/composite/varying/160/first/8.csv | 1 + .../data/composite/varying/160/first/80.csv | 1 + .../data/composite/varying/160/first/90.csv | 1 + .../data/composite/varying/160/first/96.csv | 1 + .../data/composite/varying/160/second/140.csv | 1 + .../data/composite/varying/160/second/141.csv | 1 + .../data/composite/varying/160/second/142.csv | 1 + .../data/composite/varying/160/second/143.csv | 1 + .../data/composite/varying/160/second/144.csv | 1 + .../data/composite/varying/160/second/145.csv | 1 + .../data/composite/varying/160/second/146.csv | 1 + .../data/composite/varying/160/second/147.csv | 1 + .../data/composite/varying/160/second/148.csv | 1 + .../data/composite/varying/160/second/149.csv | 1 + .../data/composite/varying/160/second/150.csv | 1 + .../data/composite/varying/160/second/151.csv | 1 + .../data/composite/varying/160/second/152.csv | 1 + .../data/composite/varying/160/second/153.csv | 1 + .../data/composite/varying/160/second/154.csv | 1 + .../data/composite/varying/160/second/155.csv | 1 + .../data/composite/varying/160/second/156.csv | 1 + .../data/composite/varying/160/second/157.csv | 1 + .../data/composite/varying/160/second/158.csv | 1 + 84 files changed, 318 insertions(+), 200 deletions(-) delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/10.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/112.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/12.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/128.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/135.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/14.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/140.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/144.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/146.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/148.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/150.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/152.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/152_cofactor.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/16.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/20.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/25.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/2a.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/2b.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/3.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/32.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/4.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/48.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/5.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/6.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/64.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/7.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/70.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/8.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/80.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/90.csv delete mode 100644 src/cz/crcs/ectester/data/composite/varying/160/96.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/10.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/112.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/12.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/128.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/135.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/14.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/140.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/144.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/146.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/148.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/150.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/152.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/152_cofactor.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/16.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/20.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/25.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/2a.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/2b.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/3.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/32.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/4.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/48.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/5.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/6.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/64.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/7.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/70.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/8.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/80.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/90.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/first/96.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/second/140.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/second/141.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/second/142.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/second/143.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/second/144.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/second/145.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/second/146.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/second/147.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/second/148.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/second/149.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/second/150.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/second/151.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/second/152.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/second/153.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/second/154.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/second/155.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/second/156.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/second/157.csv create mode 100644 src/cz/crcs/ectester/data/composite/varying/160/second/158.csv (limited to 'docs') diff --git a/README.md b/README.md index bed5e62..5118c31 100644 --- a/README.md +++ b/README.md @@ -115,6 +115,9 @@ For format of this file see [FORMAT](docs/FORMAT.md). Perform support,performance and vulnerability tests of ECC. +To select which tests will be performed, it is possible to enter the test suite name with a suffix +which specifies the number of the first test to be run, and optionally the number of the last test to be run as `-t [:start_index[:stop_index]]`. + Use with `-o / --output [out_type:]` to output the test results to a file. For possible formats of this file see [FORMAT](docs/FORMAT.md). For more info about the test suites see [TESTS](docs/TESTS.md). diff --git a/docs/TESTS.md b/docs/TESTS.md index b4927c6..2d535f8 100644 --- a/docs/TESTS.md +++ b/docs/TESTS.md @@ -6,10 +6,10 @@ - `miscellaneous` - `signature` - `wrong`* - - `composite`* - `invalid`* - `twist`* - `degenerate`* + - `composite`* - `cofactor`* - `edge-cases`* @@ -23,12 +23,6 @@ with a compressed public key to test support for compressed points. This test suite is run if no argument is provided to `-t / --test`. -For example: -```bash -java -jar ECTesterReader.jar -t -``` -tests prime field and binary field curves, using the default test suite. - ## Test-Vectors Tests using known test vectors provided by NIST/SECG/Brainpool: @@ -41,20 +35,37 @@ Tests using known test vectors provided by NIST/SECG/Brainpool: [Brainpool - RFC7027](https://tools.ietf.org/html/rfc7027#appendix-A) -For example: -```bash -java -jar ECTesterReader.jar -t test-vectors -``` -tests all curves for which test-vectors are provided. ## Compression Tests support for compression of public points in ECDH as specified in ANSI X9.62. Tests ECDH with points in compressed and hybrid form. Also tests card response to a hybrid point with wrong `y` coordinate and to the point at infinity(as public key in ECDH). -For example: -```bash -java -jar ECTesterReader.jar -t compression -``` + +## Miscellaneous +Some miscellaneous tests, tries ECDH and ECDSA over supersingular curves, anomalous curves and Barreto-Naehrig curves with small embedding degree and CM discriminant. + + +## Signature +Tests ECDSA verification, with invalid signatures. + + - Well-formed(DER) invalid signatures: + - r = random, s = random + - r = 0, s = random + - r = random, s = 0 + - r = 1, s = random + - r = random, s = 1 + - r = 0, s = 0 + - r = 0, s = 1 + - r = 1, s = 0 + - r = 1, s = 1 + - s = p + - s = 2 * p + - Invalid signatures: + - Signature shorter than specified in ASN.1 SEQUENCE header. + - Signature longer than specified in ASN.1 SEQUENCE header. + - r shorter/longer than specified in its ASN.1 header. + - s shorter/longer than specified in its ASN.1 header. + ## Wrong Tests on a category of wrong curves. These curves are not really curves as they have: @@ -74,9 +85,9 @@ This test suite also does some additional tests with corrupting the parameters: - G = infinity - r = 0 - r = 1 - - r = some prime larger than original r (and [r]G != infinity) - - r = some prime smaller than original r (and [r]G != infninity) - - r = some composite number (and [r]G != infinity) + - r = some prime larger than original r (and \[r\]G != infinity) + - r = some prime smaller than original r (and \[r\]G != infninity) + - r = some composite number (and \[r\]G != infinity) - k = 0xff - k = 0 @@ -84,30 +95,22 @@ This test suite also does some additional tests with corrupting the parameters: - e1 = e2 = e3 = 0 - m < e1 < e2 < e3 -These tests should fail generally. - -For example: -```bash -java -jar ECTesterReader.jar -t wrong -``` -does all wrong curve tests. - ## Composite Tests using curves that don't have a prime order/nearly prime order. These tests should generally fail, a success here implies the card will use a non-secure curve if such curve is set by the applet. Operations over such curves are susceptible to small-subgroup attacks. - - r = quite a smooth number, many small factors, r = |G| - - r = prime(of increasing bit lengths), r = |G| - - r = p * q = |G| - - r = G = Carmichael number = p * q * s - - [r]G = infinity but r != |G|, so |G| divides r + - r = quite a smooth number, many small factors, r = \|G\| + - r = prime(of increasing bit lengths), r = \|G\| -For example: -```bash -java -jar ECTesterReader.jar -t composite -``` + This is performed over a 160 bit field size, in two passes: + - First pass tests the full range from 2 bits to 152, with more frequent tests towards the beginning and end. + - The second pass tests the range 140 - 158 bits with one bit steps. + + - r = p * q = \|G\| + - r = G = Carmichael number = p * q * s + - \[r\]G = infinity but r != \|G\|, so \|G\| divides r ## Invalid @@ -116,12 +119,6 @@ ECDH should definitely fail, a success here implies the card is susceptible to i See [Practical Invalid Curve Attacks on TLS-ECDH](https://www.nds.rub.de/media/nds/veroeffentlichungen/2015/09/14/main-full.pdf) for more information. -For example: -```bash -java -jar ECTesterReader.jar -t invalid -``` -tests using all curves with pregenerated *invalid* public keys for these curves. - ## Twist Tests using known named curves froms several categories(SECG/NIST) against pre-generated points on twists of said curves. @@ -130,10 +127,6 @@ the card might compute on the twist, if a point on the twist is supplied. See [SafeCurves on twist security](https://safecurves.cr.yp.to/twist.html) for more information. -For example: -```bash -java -jar ECTesterReader.jar -t twist -``` ## Degenerate Tests using known named curves froms several categories(SECG/NIST) against pre-generated points on the degenerate line @@ -142,74 +135,30 @@ and uses a curve model vulnerable to such degenerate points. See [Degenerate Curve Attacks - Extending Invalid Curve Attacks to Edwards Curves and Other Models](https://eprint.iacr.org/2015/1233.pdf) for more information. -For example: -```bash -java -jar ECTesterReader.jar -t degenerate -``` ## Cofactor Tests whether the card correctly rejects points that lie on the curve but not on the subgroup generated by the specified generator during ECDH. Does this with curves where the cofactor subgroup has small order, then with curves that have order equal to the product of two large primes, sets the generator with order of one prime and tries points on the subgroup of the other prime order. -For example: -```bash -java -jar ECTesterReader.jar -t cofactor -``` ## Edge-Cases Tests various inputs to ECDH which may cause an implementation to achieve a certain edge-case state during ECDH. Some of the data is from the google/Wycheproof project. Tests include [CVE-2017-10176](https://nvd.nist.gov/vuln/detail/CVE-2017-10176) and [CVE-2017-8932](https://nvd.nist.gov/vuln/detail/CVE-2017-8932). Various custom edge private key values are also tested. -CVE-2017-10176 was in implementation issue in the SunEC Java library (and NSS(CVE-2017-7781), thus also anything that used it) that caused the implementation to reach the point at infinity during ECDH computation. +CVE-2017-10176 was in implementation issue in the SunEC Java library (and NSS ([CVE-2017-7781](https://nvd.nist.gov/vuln/detail/CVE-2017-7781)), thus also anything that used it) that caused the implementation to reach the point at infinity during ECDH computation. See [blog](http://blog.intothesymmetry.com/2017/08/cve-2017-7781cve-2017-10176-issue-with.html) for more info. CVE-2017-8932 was an implementation issue in the Go standard library, in particular its scalar multiplication algorithm on the P-256 curve which leaked information about the private key. -Custom private key values over SECG curves are tested: +Custom edge-case private key values over SECG curves are tested: - s = 0, s = 1 - s < r, s = r, s > r - s = r - 1, s = r + 1 - s = k\*r - 1, s = k\*r, s = k\*r + 1 - -For example: -```bash -java -jar ECTesterReader.jar -t edge-cases -``` - -## Miscellaneous -Some miscellaneous tests, tries ECDH and ECDSA over supersingular curves, anomalous curves and Barreto-Naehrig curves with small embedding degree and CM discriminant. - -For example: -```bash -java -jar ECTesterReader.jar -t miscellaneous -``` - -## Signature -Tests ECDSA verification, with invalid signatures. - - - Well-formed(DER) invalid signatures: - - r = random, s = random - - r = 0, s = random - - r = random, s = 0 - - r = 1, s = random - - r = random, s = 1 - - r = 0, s = 0 - - r = 0, s = 1 - - r = 1, s = 0 - - r = 1, s = 1 - - s = p - - s = 2 * p - - Invalid signatures: - - Signature shorter than specified in ASN.1 SEQUENCE header. - - Signature longer than specified in ASN.1 SEQUENCE header. - - r shorter/longer than specified in its ASN.1 header. - - s shorter/longer than specified in its ASN.1 header. - -For example: -```bash -java -jar ECTesterReader.jar -t signature -``` \ No newline at end of file + - s around r (s < r, on a curve where \|r\| > \|p\|) + - s around p (on a curve where where \|r\| > \|p\|) + - s around 0 (s > 0, on a curve where \|r\| > \|p\|) diff --git a/src/cz/crcs/ectester/data/composite/curves.xml b/src/cz/crcs/ectester/data/composite/curves.xml index f77159c..d4ef2ce 100644 --- a/src/cz/crcs/ectester/data/composite/curves.xml +++ b/src/cz/crcs/ectester/data/composite/curves.xml @@ -41,14 +41,18 @@ 384 prime composite384.csv - r = order = 0x05 * 0x0b * 0x3d * 0xb16aa7dc50145337cf1b2f38018ccb5cf44c22a2f7d7c22bbe5c572d2cb9a04cb1081357c6a1c97cc39ab62596867 + r = order = 0x05 * 0x0b * 0x3d * + 0xb16aa7dc50145337cf1b2f38018ccb5cf44c22a2f7d7c22bbe5c572d2cb9a04cb1081357c6a1c97cc39ab62596867 + whole/composite521 521 prime composite521.csv - r = order = 0x02 * 0x05 * 0x1f * 0x4a5aac4fac3ea253b66c3e650f5173b30467f28b8e841d37ce69bb0831a5939ad3dd082b750577ec4592d4d58916c87a9b732d8ddae435c26f8f779d2467f50f + r = order = 0x02 * 0x05 * 0x1f * + 0x4a5aac4fac3ea253b66c3e650f5173b30467f28b8e841d37ce69bb0831a5939ad3dd082b750577ec4592d4d58916c87a9b732d8ddae435c26f8f779d2467f50f + @@ -190,7 +194,7 @@ composite192_rg0.csv |G| divides r(so [r]G = infinity), but r != |G| = 0x302b72431ff070e7e06799 - + pq/composite224 224 @@ -252,11 +256,11 @@ - pp/carmichael128 - 128 - prime - carmichael_128.csv - r = Carmichael pseudoprime = 0x2ddbfe0f1f7 * 0x5bb7fc1e3ed * 0x8993fa2d5e3 + pp/carmichael128 + 128 + prime + carmichael_128.csv + r = Carmichael pseudoprime = 0x2ddbfe0f1f7 * 0x5bb7fc1e3ed * 0x8993fa2d5e3 pp/carmichael192 @@ -277,245 +281,388 @@ 256 prime carmichael_256.csv - r = Carmichael pseudoprime = 0x129e94800bf86bd2d04ce1 * 0x253d290017f0d7a5a099c1 * 0x37dbbd8023e9437870e6a1 + r = Carmichael pseudoprime = 0x129e94800bf86bd2d04ce1 * 0x253d290017f0d7a5a099c1 * + 0x37dbbd8023e9437870e6a1 + pp/carmichael384 384 prime carmichael_384.csv - r = Carmichael pseudoprime = 0x78b4fa97e97300a5c46b32fb522cf76f * 0xf169f52fd2e6014b88d665f6a459eedd * 0x16a1eefc7bc5901f14d4198f1f686e64b + r = Carmichael pseudoprime = 0x78b4fa97e97300a5c46b32fb522cf76f * 0xf169f52fd2e6014b88d665f6a459eedd * + 0x16a1eefc7bc5901f14d4198f1f686e64b + pp/carmichael512 512 prime carmichael_512.csv - r = Carmichael pseudoprime = 0x2f6e41969c169b4e97b0a1c46ca4fb3a8f294afaefb * 0x5edc832d382d369d2f614388d949f6751e5295f5df5 * 0x8e4ac4c3d443d1ebc711e54d45eef1afad7be0f0cef + r = Carmichael pseudoprime = 0x2f6e41969c169b4e97b0a1c46ca4fb3a8f294afaefb * + 0x5edc832d382d369d2f614388d949f6751e5295f5df5 * 0x8e4ac4c3d443d1ebc711e54d45eef1afad7be0f0cef + pp/carmichael521 521 prime carmichael_521.csv - r = Carmichael pseudoprime = 0x170ac4fd154250e674f9ac6e0c29a214c6d6553e4f11 * 0x2e1589fa2a84a1cce9f358dc185344298dacaa7c9e21 * 0x45204ef73fc6f2b35eed054a247ce63e5482ffbaed31 + r = Carmichael pseudoprime = 0x170ac4fd154250e674f9ac6e0c29a214c6d6553e4f11 * + 0x2e1589fa2a84a1cce9f358dc185344298dacaa7c9e21 * 0x45204ef73fc6f2b35eed054a247ce63e5482ffbaed31 + - varying/160/1 + varying/160/first/1 160 prime - varying/160/2a.csv + varying/160/first/2a.csv r = 2 bit prime = 2 - varying/160/2 + varying/160/first/2 160 prime - varying/160/2b.csv + varying/160/first/2b.csv r = 2 bit prime = 3 - varying/160/3 + varying/160/first/3 160 prime - varying/160/3.csv + varying/160/first/3.csv r = 3 bit prime - varying/160/4 + varying/160/first/4 160 prime - varying/160/4.csv + varying/160/first/4.csv r = 4 bit prime - varying/160/5 + varying/160/first/5 160 prime - varying/160/5.csv + varying/160/first/5.csv r = 5 bit prime - varying/160/6 + varying/160/first/6 160 prime - varying/160/6.csv + varying/160/first/6.csv r = 6 bit prime - varying/160/7 + varying/160/first/7 160 prime - varying/160/7.csv + varying/160/first/7.csv r = 7 bit prime - varying/160/8 + varying/160/first/8 160 prime - varying/160/8.csv + varying/160/first/8.csv r = 8 bit prime - varying/160/10 + varying/160/first/10 160 prime - varying/160/10.csv + varying/160/first/10.csv r = 10 bit prime - varying/160/12 + varying/160/first/12 160 prime - varying/160/12.csv + varying/160/first/12.csv r = 12 bit prime - varying/160/14 + varying/160/first/14 160 prime - varying/160/14.csv + varying/160/first/14.csv r = 14 bit prime - varying/160/16 + varying/160/first/16 160 prime - varying/160/16.csv + varying/160/first/16.csv r = 16 bit prime - varying/160/20 + varying/160/first/20 160 prime - varying/160/20.csv + varying/160/first/20.csv r = 20 bit prime - varying/160/25 + varying/160/first/25 160 prime - varying/160/25.csv + varying/160/first/25.csv r = 25 bit prime - varying/160/32 + varying/160/first/32 160 prime - varying/160/32.csv + varying/160/first/32.csv r = 32 bit prime - varying/160/48 + varying/160/first/48 160 prime - varying/160/48.csv + varying/160/first/48.csv r = 48 bit prime - varying/160/64 + varying/160/first/64 160 prime - varying/160/64.csv + varying/160/first/64.csv r = 64 bit prime - varying/160/70 + varying/160/first/70 160 prime - varying/160/70.csv + varying/160/first/70.csv r = 70 bit prime - varying/160/80 + varying/160/first/80 160 prime - varying/160/80.csv + varying/160/first/80.csv r = 80 bit prime - varying/160/90 + varying/160/first/90 160 prime - varying/160/90.csv + varying/160/first/90.csv r = 90 bit prime - varying/160/96 + varying/160/first/96 160 prime - varying/160/96.csv + varying/160/first/96.csv r = 96 bit prime - varying/160/112 + varying/160/first/112 160 prime - varying/160/112.csv + varying/160/first/112.csv r = 112 bit prime - varying/160/128 + varying/160/first/128 160 prime - varying/160/128.csv + varying/160/first/128.csv r = 128 bit prime - varying/160/135 + varying/160/first/135 160 prime - varying/160/135.csv + varying/160/first/135.csv r = 135 bit prime - varying/160/140 + varying/160/first/140 160 prime - varying/160/140.csv + varying/160/first/140.csv r = 140 bit prime - varying/160/144 + varying/160/first/144 160 prime - varying/160/144.csv + varying/160/first/144.csv r = 144 bit prime - varying/160/146 + varying/160/first/146 160 prime - varying/160/146.csv + varying/160/first/146.csv r = 146 bit prime - varying/160/148 + varying/160/first/148 160 prime - varying/160/148.csv + varying/160/first/148.csv r = 148 bit prime - varying/160/150 + varying/160/first/150 160 prime - varying/160/150.csv + varying/160/first/150.csv r = 150 bit prime - varying/160/152 + varying/160/first/152 160 prime - varying/160/152.csv + varying/160/first/152.csv r = 152 bit prime - varying/160/152cofactor + varying/160/first/152cofactor 160 prime - varying/160/152_cofactor.csv + varying/160/first/152_cofactor.csv r = 152 bit prime, with correct cofactor + + + varying/160/second/140 + 160 + prime + varying/160/second/140.csv + r = 140 bit prime. + + + varying/160/second/141 + 160 + prime + varying/160/second/141.csv + r = 141 bit prime. + + + varying/160/second/142 + 160 + prime + varying/160/second/142.csv + r = 142 bit prime. + + + varying/160/second/143 + 160 + prime + varying/160/second/143.csv + r = 143 bit prime. + + + varying/160/second/144 + 160 + prime + varying/160/second/144.csv + r = 144 bit prime. + + + varying/160/second/145 + 160 + prime + varying/160/second/145.csv + r = 145 bit prime. + + + varying/160/second/146 + 160 + prime + varying/160/second/146.csv + r = 146 bit prime. + + + varying/160/second/147 + 160 + prime + varying/160/second/147.csv + r = 147 bit prime. + + + varying/160/second/148 + 160 + prime + varying/160/second/148.csv + r = 148 bit prime. + + + varying/160/second/149 + 160 + prime + varying/160/second/149.csv + r = 149 bit prime. + + + varying/160/second/150 + 160 + prime + varying/160/second/150.csv + r = 150 bit prime. + + + varying/160/second/151 + 160 + prime + varying/160/second/151.csv + r = 151 bit prime. + + + varying/160/second/152 + 160 + prime + varying/160/second/152.csv + r = 152 bit prime. + + + varying/160/second/153 + 160 + prime + varying/160/second/153.csv + r = 153 bit prime. + + + varying/160/second/154 + 160 + prime + varying/160/second/154.csv + r = 154 bit prime. + + + varying/160/second/155 + 160 + prime + varying/160/second/155.csv + r = 155 bit prime. + + + varying/160/second/156 + 160 + prime + varying/160/second/156.csv + r = 156 bit prime. + + + varying/160/second/157 + 160 + prime + varying/160/second/157.csv + r = 157 bit prime. + + + varying/160/second/158 + 160 + prime + varying/160/second/158.csv + r = 158 bit prime. + + \ No newline at end of file diff --git a/src/cz/crcs/ectester/data/composite/varying/160/10.csv b/src/cz/crcs/ectester/data/composite/varying/160/10.csv deleted file mode 100644 index 5fa842a..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/10.csv +++ /dev/null @@ -1 +0,0 @@ -0xb1c8eb4d314d22f1bdb2294eaed063e64f580611,0x6a1a4b89dc64200e98c46af58e8d7d0a52aba862,0xa0c9a0d9070ceefcaa3f2324668d6e3e9a3bf8f7,0x4b517e44056658e1f778d6c1075eefc644eaae5e,0x15ca498bd6ab9519c5be6f29882cbc68e47479cd,0x0000000000000000000000000000000000000337,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/112.csv b/src/cz/crcs/ectester/data/composite/varying/160/112.csv deleted file mode 100644 index 633ccd5..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/112.csv +++ /dev/null @@ -1 +0,0 @@ -0x9f3386530aa0a8009acbbe9caa919f72c8d5730f,0x33f8b03510268eb1ca33c2996ddacec1b314c5a6,0x4d9b3a2737345fe43069f306eabdc123e8e847b2,0x803f5afafe7ccb0433355eaf7a1aa1e93d1161b0,0x702c66bf3f3235fbcf3e2a7bf3bf56a69169d1c1,0x000000000000c978cb903a08ddcef1daa40de1f5,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/12.csv b/src/cz/crcs/ectester/data/composite/varying/160/12.csv deleted file mode 100644 index 62bb1a0..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/12.csv +++ /dev/null @@ -1 +0,0 @@ -0xa7d15a5258f4f3855cb22ce8d00571133e8ad0f3,0x61f9830a932a4cdd257061624f3b820e9b91db6e,0x758ee90aa5d7fe797c4817d0c2011f062a263429,0x4f448e668102ec49a2042cf2c15f9879d2d14068,0x05043866b8c4d47377f25942b075e835b121ceeb,0x0000000000000000000000000000000000000c25,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/128.csv b/src/cz/crcs/ectester/data/composite/varying/160/128.csv deleted file mode 100644 index 5f8c532..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/128.csv +++ /dev/null @@ -1 +0,0 @@ -0xb13f0d997960752db0a77c95ade4843941645c87,0x7acba0516ea114053bc3e8fa026857990e610d4b,0x7f9755351f5279758bde2b9739c5f907d159ff26,0x08010035ebd4107beb815893817f2b00f7911d96,0x932569a7385306a3b33e4669100feda47db97168,0x00000000c85d322721a790e50860fee459f6292f,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/135.csv b/src/cz/crcs/ectester/data/composite/varying/160/135.csv deleted file mode 100644 index 232abff..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/135.csv +++ /dev/null @@ -1 +0,0 @@ -0xd3f3289b14ab182f38b78fab5dbaf3674c02597d,0xb8880d01c2b44c8a27805524913e438e6458411d,0x89482f3814165014cc30b134849ead387c7ad048,0xc44043b00f6f65000cb63a22fbbb0785985d0699,0x6097e0e529330900f844ccd27a69a96b16509c16,0x0000006c7fcc23ea5ce765d52954b58745d67e81,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/14.csv b/src/cz/crcs/ectester/data/composite/varying/160/14.csv deleted file mode 100644 index c8df53e..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/14.csv +++ /dev/null @@ -1 +0,0 @@ -0xbdf7ada7a57600f5d5b371b51218a619536cebc7,0x799707863618aaaffb5d46ca3427d6cfecdc6476,0x590f7e7193a997a2b60ab8e31107f1832473290b,0x795684e5a9816c14dff9c8b509c8c87afa3bbbc3,0xaabbea132ba2097d8025a5387aed8482147c530a,0x0000000000000000000000000000000000003437,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/140.csv b/src/cz/crcs/ectester/data/composite/varying/160/140.csv deleted file mode 100644 index 4d59858..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/140.csv +++ /dev/null @@ -1 +0,0 @@ -0xcf8ecac9bc992d2df7ba9015b5bdcbdf2d1c2aa9,0xa067f72ab472977a150f4684df8e9ccee909489f,0x080cac1702258fce0fbafbdb4f861ad4554a05c6,0xa4601066e4fcb7308022ac922a3a1475197e723e,0x0a210871677b6b921846b4ff0c055cd93f2aa275,0x00000fe55175f2c1fc9827ef4997357705b40a5d,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/144.csv b/src/cz/crcs/ectester/data/composite/varying/160/144.csv deleted file mode 100644 index e8c6492..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/144.csv +++ /dev/null @@ -1 +0,0 @@ -0xc4bfe673203f80fd04c89a5942c18074bcc2a719,0x9d4a0edafeb576559fe95f1dfde0e006a9e0f6fb,0x2c075927ef142a14c84de72b208e8b5ee1d762b0,0x5a808971a0093ceadb15cf76068c5e7c3c4269b1,0x27a0f2741a55767ef3175461120c5f42a5b54f4f,0x0000d9935a273b9b1402519925d6a6a8b4f9342b,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/146.csv b/src/cz/crcs/ectester/data/composite/varying/160/146.csv deleted file mode 100644 index f656c72..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/146.csv +++ /dev/null @@ -1 +0,0 @@ -0xbdf7ada7a57600f5d5b371b51218a619536cebc7,0x799707863618aaaffb5d46ca3427d6cfecdc6476,0x590f7e7193a997a2b60ab8e31107f1832473290b,0x4ccf365eda5a0e85438b6df2bf57d668cf5d8192,0x702b5f386587f0d85e6cf56b511de035b62c4379,0x0003a3606233edce56cac59bd01e622561e99e77,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/148.csv b/src/cz/crcs/ectester/data/composite/varying/160/148.csv deleted file mode 100644 index b292889..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/148.csv +++ /dev/null @@ -1 +0,0 @@ -0xa7d15a5258f4f3855cb22ce8d00571133e8ad0f3,0x61f9830a932a4cdd257061624f3b820e9b91db6e,0x758ee90aa5d7fe797c4817d0c2011f062a263429,0x356da5d90cef81adb97a8cc3e95861fc156ab6c3,0x63ea1cb827821f6d3599e303594a4e21911971a3,0x000dd1818cc0197085816a97b6056c3917bb32d9,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/150.csv b/src/cz/crcs/ectester/data/composite/varying/160/150.csv deleted file mode 100644 index c1bf12e..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/150.csv +++ /dev/null @@ -1 +0,0 @@ -0xb1c8eb4d314d22f1bdb2294eaed063e64f580611,0x6a1a4b89dc64200e98c46af58e8d7d0a52aba862,0xa0c9a0d9070ceefcaa3f2324668d6e3e9a3bf8f7,0x39ce0be4410100e1349fae8ec18fabb91f1816dd,0x3a44dee9ecb21038fb8c3e987e285f09b456bdc7,0x00374d1df48d00aa21837b6f9717173eb656c659,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/152.csv b/src/cz/crcs/ectester/data/composite/varying/160/152.csv deleted file mode 100644 index 24a03ba..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/152.csv +++ /dev/null @@ -1 +0,0 @@ -0xc9d72249375ff1884a80e426e79315f02fb6904f,0x003ce7e6420986df1c87895fe1b83ed86f93cf10,0x7ed71b8a343a6d4da4220123d2b3405d9e4f813f,0x3f30626d74214324e1ee6c97341abe2a9b2bdd07,0x17fb8a3dc06dc7680485871fc3ed4f8e8e662778,0x00e7b588f02d33982511ca6ab8485259bf119a2f,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/152_cofactor.csv b/src/cz/crcs/ectester/data/composite/varying/160/152_cofactor.csv deleted file mode 100644 index 7861bbd..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/152_cofactor.csv +++ /dev/null @@ -1 +0,0 @@ -0xc9d72249375ff1884a80e426e79315f02fb6904f,0x003ce7e6420986df1c87895fe1b83ed86f93cf10,0x7ed71b8a343a6d4da4220123d2b3405d9e4f813f,0x3f30626d74214324e1ee6c97341abe2a9b2bdd07,0x17fb8a3dc06dc7680485871fc3ed4f8e8e662778,0x00e7b588f02d33982511ca6ab8485259bf119a2f,0xdf diff --git a/src/cz/crcs/ectester/data/composite/varying/160/16.csv b/src/cz/crcs/ectester/data/composite/varying/160/16.csv deleted file mode 100644 index fd76ff7..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/16.csv +++ /dev/null @@ -1 +0,0 @@ -0xc4bfe673203f80fd04c89a5942c18074bcc2a719,0x9d4a0edafeb576559fe95f1dfde0e006a9e0f6fb,0x2c075927ef142a14c84de72b208e8b5ee1d762b0,0x364591432aca4ab7e451866819263e32f57fa052,0x634d15df260f3bb8e92cd0d4940d176e2d97bddc,0x000000000000000000000000000000000000e77f,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/20.csv b/src/cz/crcs/ectester/data/composite/varying/160/20.csv deleted file mode 100644 index 940d10c..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/20.csv +++ /dev/null @@ -1 +0,0 @@ -0xcf8ecac9bc992d2df7ba9015b5bdcbdf2d1c2aa9,0xa067f72ab472977a150f4684df8e9ccee909489f,0x080cac1702258fce0fbafbdb4f861ad4554a05c6,0x4c4356d56316d6556e7b427a3e1aacd1c1805a8a,0x3d55e3b1904c5e66c75b00710068ffaec4a60ddb,0x00000000000000000000000000000000000d0eb3,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/25.csv b/src/cz/crcs/ectester/data/composite/varying/160/25.csv deleted file mode 100644 index 318099b..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/25.csv +++ /dev/null @@ -1 +0,0 @@ -0xd3f3289b14ab182f38b78fab5dbaf3674c02597d,0xb8880d01c2b44c8a27805524913e438e6458411d,0x89482f3814165014cc30b134849ead387c7ad048,0x593ddf0087b88e469110d12067c86b00bb6f219d,0x968f74b30717f0ca56749382ba5aece4182b35d6,0x0000000000000000000000000000000001f4168b,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/2a.csv b/src/cz/crcs/ectester/data/composite/varying/160/2a.csv deleted file mode 100644 index 670f4bc..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/2a.csv +++ /dev/null @@ -1 +0,0 @@ -0x7b6d7f82beae015788a67ad391bb68ad720ba991,0x6f222dd4f5ec04fdb0202f461d10c3fa1cec6d45,0x2792a26122d154d68bdb523330a06cc252894165,0x50fa49d7061feaeec4f4f4592744d26decd6243a,0x0000000000000000000000000000000000000000,0x0000000000000000000000000000000000000002,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/2b.csv b/src/cz/crcs/ectester/data/composite/varying/160/2b.csv deleted file mode 100644 index 216827b..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/2b.csv +++ /dev/null @@ -1 +0,0 @@ -0xa0ba653351a6fe7af0eeb9d45eb4f5bab12e453f,0x6e2ca1be3773179e400bb31f783013138cf62eae,0x1db941d201e9dae19f2eaaef2735a46fb9948ee3,0x070fe9bde5d37d7adc7af71cdabdf99ba76b2941,0x9ad498be6e81114c204ac11300fbdd6a3ef8d2cd,0x0000000000000000000000000000000000000003,0x01 \ No newline at end of file diff --git a/src/cz/crcs/ectester/data/composite/varying/160/3.csv b/src/cz/crcs/ectester/data/composite/varying/160/3.csv deleted file mode 100644 index 18ec491..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/3.csv +++ /dev/null @@ -1 +0,0 @@ -0xd41869824871ccc03ff87bd99c9a6d2eb7c557bd,0x80b0b37638bd5678af01089dbc13a8674ad96422,0x4c2d8f41681795f138af380c86c98e1d6ee2f3a4,0x6597db8eade96de1d5a546172358d578985e4802,0xa8f85050990cbd2d365b4ef44ead757bfb9af8b5,0x0000000000000000000000000000000000000007,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/32.csv b/src/cz/crcs/ectester/data/composite/varying/160/32.csv deleted file mode 100644 index fddfeee..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/32.csv +++ /dev/null @@ -1 +0,0 @@ -0xb13f0d997960752db0a77c95ade4843941645c87,0x7acba0516ea114053bc3e8fa026857990e610d4b,0x7f9755351f5279758bde2b9739c5f907d159ff26,0x4ce786a838268215724f1edae0ddec658ef20e6a,0xaeaa4f03aefbbf5fbaeb393ca859d8f27ca56a32,0x00000000000000000000000000000000e2768a75,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/4.csv b/src/cz/crcs/ectester/data/composite/varying/160/4.csv deleted file mode 100644 index a5b9e09..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/4.csv +++ /dev/null @@ -1 +0,0 @@ -0xb12cff876adc5a923ed34fcd10143de02f8e0369,0x6cb241142b8fb14f45608aec44a325ad195044b5,0xa7cb4cbde8d7792bee9d4856d80df54cdc925b1f,0x07527e2751335207ab0ddb4d5692c7d9219990f5,0x1d1cd5f91fce22653562dd0534ddb861e7005cb6,0x000000000000000000000000000000000000000d,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/48.csv b/src/cz/crcs/ectester/data/composite/varying/160/48.csv deleted file mode 100644 index 202a15b..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/48.csv +++ /dev/null @@ -1 +0,0 @@ -0x9f3386530aa0a8009acbbe9caa919f72c8d5730f,0x33f8b03510268eb1ca33c2996ddacec1b314c5a6,0x4d9b3a2737345fe43069f306eabdc123e8e847b2,0x0f1ca7149bc1933e1e7efdc55c325df7ad4ba562,0x3b689e90dec0b6c85d679d970278d0f9fa30f013,0x0000000000000000000000000000ca49f6d457c1,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/5.csv b/src/cz/crcs/ectester/data/composite/varying/160/5.csv deleted file mode 100644 index 5f0597c..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/5.csv +++ /dev/null @@ -1 +0,0 @@ -0xe13cc8432dad5ed8a4d2893803957c1e109e0c8f,0x7102ce05e08a10ffe665313cece127f5ff590473,0x2dcb47653c268fc7b0f767ae66fcefc98055399c,0x2c4b06f7428dda4532fbea727c7b1f84782e9762,0x4406bb147b080724d2be46eb15327dd350d7307a,0x000000000000000000000000000000000000001f,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/6.csv b/src/cz/crcs/ectester/data/composite/varying/160/6.csv deleted file mode 100644 index 9c1528f..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/6.csv +++ /dev/null @@ -1 +0,0 @@ -0xe9e74933088156a9f60b0f23253fe21ce259d783,0x6a01bdfb7c22fa778456edc767d0f61895561f27,0x27591495bbaf4845cf807f59d3091b0ec830b080,0xb956503ece30bccd9dc08bc76da995e390b2d0ea,0x30ca629aa64506f2b5e6c71fe7dea2c4284d1a2a,0x000000000000000000000000000000000000003d,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/64.csv b/src/cz/crcs/ectester/data/composite/varying/160/64.csv deleted file mode 100644 index 94a2709..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/64.csv +++ /dev/null @@ -1 +0,0 @@ -0xba824697c3ac48fbf53bdc6997a10f2e9e9d24fd,0x00878d8c00cc5b137d7ee7f3defe3ee2d614112e,0x439154313b1e0b63a3cf445a67af1f2f9442238c,0x33e0dfbcd3bdbd0a3d98254c8c706852ac9160ec,0xb0895e2997ef93d8b9500068855afeff515284c3,0x000000000000000000000000ee49fe4c5b77e201,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/7.csv b/src/cz/crcs/ectester/data/composite/varying/160/7.csv deleted file mode 100644 index 170b180..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/7.csv +++ /dev/null @@ -1 +0,0 @@ -0xb7a0a5730514d83583a708acd53a492d970022bd,0x6ee6d2a43a4daf1c0190aaf2384644b59b1c7f11,0x1835fc673409a0265da795eb4d0ad15358b3369a,0x0fee93a779b05c49623527d2a0af78315efbded6,0xb75b77ea3261bf5713cdec1cdd7251dff38232d6,0x0000000000000000000000000000000000000065,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/70.csv b/src/cz/crcs/ectester/data/composite/varying/160/70.csv deleted file mode 100644 index 1dbf9c0..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/70.csv +++ /dev/null @@ -1 +0,0 @@ -0xcc0786de97196a16f433bd40cd1932999867b103,0x7a58470e1615f4676bfc6fc57d71c99285a56919,0xa047dff6287d28be79b09ce6a398b57e8c2a97e9,0x570bda529a23c0a651113cdb5083439d3a6fd30c,0x9d71ecbe74fb180d08a7bdbb77e6aad40d2146b7,0x00000000000000000000003ba788abd620e775e7,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/8.csv b/src/cz/crcs/ectester/data/composite/varying/160/8.csv deleted file mode 100644 index 232df05..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/8.csv +++ /dev/null @@ -1 +0,0 @@ -0xc9d72249375ff1884a80e426e79315f02fb6904f,0x003ce7e6420986df1c87895fe1b83ed86f93cf10,0x7ed71b8a343a6d4da4220123d2b3405d9e4f813f,0x083e1d65a5ebcf6f98f2202ea5bfe021db0ce40e,0x16947d2cf97c654222c015b6ff56b9471f9518a9,0x00000000000000000000000000000000000000df,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/80.csv b/src/cz/crcs/ectester/data/composite/varying/160/80.csv deleted file mode 100644 index da082ef..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/80.csv +++ /dev/null @@ -1 +0,0 @@ -0xd84ff9bc6df5a2f01d087f4c5e35ae905eb55e13,0xa50dbf4c40d4455f045c249b655b146d5d07a8a3,0xd6aed5bd031f7c3af319cdf03d45ee1b2e5c72ae,0x3a2b110757656c93362455ad480d38207b826d38,0x9cf1881da1e1f10777900f8c18996e8fbd3e470f,0x00000000000000000000e74bbc29baa61aca49d1,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/90.csv b/src/cz/crcs/ectester/data/composite/varying/160/90.csv deleted file mode 100644 index d67e673..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/90.csv +++ /dev/null @@ -1 +0,0 @@ -0xcc0786de97196a16f433bd40cd1932999867b103,0x7a58470e1615f4676bfc6fc57d71c99285a56919,0xa047dff6287d28be79b09ce6a398b57e8c2a97e9,0x353f1f34902fb9c28b62c145369afa64b301e48c,0x0fd9c5d52882c2af8b99b5209bd80e44839c2e2e,0x0000000000000000036b917bc29fe57e7df01d13,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/96.csv b/src/cz/crcs/ectester/data/composite/varying/160/96.csv deleted file mode 100644 index 5dd2d5c..0000000 --- a/src/cz/crcs/ectester/data/composite/varying/160/96.csv +++ /dev/null @@ -1 +0,0 @@ -0xba824697c3ac48fbf53bdc6997a10f2e9e9d24fd,0x00878d8c00cc5b137d7ee7f3defe3ee2d614112e,0x439154313b1e0b63a3cf445a67af1f2f9442238c,0x5fb9809c2f608e2fb788c735d0233b2dd1cbc243,0x4e71dd0a87b3d4ff1689a77829ba527781f21cbd,0x0000000000000000c85f0b3dd7355b3a516de59b,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/10.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/10.csv new file mode 100644 index 0000000..5fa842a --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/10.csv @@ -0,0 +1 @@ +0xb1c8eb4d314d22f1bdb2294eaed063e64f580611,0x6a1a4b89dc64200e98c46af58e8d7d0a52aba862,0xa0c9a0d9070ceefcaa3f2324668d6e3e9a3bf8f7,0x4b517e44056658e1f778d6c1075eefc644eaae5e,0x15ca498bd6ab9519c5be6f29882cbc68e47479cd,0x0000000000000000000000000000000000000337,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/112.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/112.csv new file mode 100644 index 0000000..633ccd5 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/112.csv @@ -0,0 +1 @@ +0x9f3386530aa0a8009acbbe9caa919f72c8d5730f,0x33f8b03510268eb1ca33c2996ddacec1b314c5a6,0x4d9b3a2737345fe43069f306eabdc123e8e847b2,0x803f5afafe7ccb0433355eaf7a1aa1e93d1161b0,0x702c66bf3f3235fbcf3e2a7bf3bf56a69169d1c1,0x000000000000c978cb903a08ddcef1daa40de1f5,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/12.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/12.csv new file mode 100644 index 0000000..62bb1a0 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/12.csv @@ -0,0 +1 @@ +0xa7d15a5258f4f3855cb22ce8d00571133e8ad0f3,0x61f9830a932a4cdd257061624f3b820e9b91db6e,0x758ee90aa5d7fe797c4817d0c2011f062a263429,0x4f448e668102ec49a2042cf2c15f9879d2d14068,0x05043866b8c4d47377f25942b075e835b121ceeb,0x0000000000000000000000000000000000000c25,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/128.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/128.csv new file mode 100644 index 0000000..5f8c532 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/128.csv @@ -0,0 +1 @@ +0xb13f0d997960752db0a77c95ade4843941645c87,0x7acba0516ea114053bc3e8fa026857990e610d4b,0x7f9755351f5279758bde2b9739c5f907d159ff26,0x08010035ebd4107beb815893817f2b00f7911d96,0x932569a7385306a3b33e4669100feda47db97168,0x00000000c85d322721a790e50860fee459f6292f,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/135.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/135.csv new file mode 100644 index 0000000..232abff --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/135.csv @@ -0,0 +1 @@ +0xd3f3289b14ab182f38b78fab5dbaf3674c02597d,0xb8880d01c2b44c8a27805524913e438e6458411d,0x89482f3814165014cc30b134849ead387c7ad048,0xc44043b00f6f65000cb63a22fbbb0785985d0699,0x6097e0e529330900f844ccd27a69a96b16509c16,0x0000006c7fcc23ea5ce765d52954b58745d67e81,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/14.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/14.csv new file mode 100644 index 0000000..c8df53e --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/14.csv @@ -0,0 +1 @@ +0xbdf7ada7a57600f5d5b371b51218a619536cebc7,0x799707863618aaaffb5d46ca3427d6cfecdc6476,0x590f7e7193a997a2b60ab8e31107f1832473290b,0x795684e5a9816c14dff9c8b509c8c87afa3bbbc3,0xaabbea132ba2097d8025a5387aed8482147c530a,0x0000000000000000000000000000000000003437,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/140.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/140.csv new file mode 100644 index 0000000..4d59858 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/140.csv @@ -0,0 +1 @@ +0xcf8ecac9bc992d2df7ba9015b5bdcbdf2d1c2aa9,0xa067f72ab472977a150f4684df8e9ccee909489f,0x080cac1702258fce0fbafbdb4f861ad4554a05c6,0xa4601066e4fcb7308022ac922a3a1475197e723e,0x0a210871677b6b921846b4ff0c055cd93f2aa275,0x00000fe55175f2c1fc9827ef4997357705b40a5d,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/144.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/144.csv new file mode 100644 index 0000000..e8c6492 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/144.csv @@ -0,0 +1 @@ +0xc4bfe673203f80fd04c89a5942c18074bcc2a719,0x9d4a0edafeb576559fe95f1dfde0e006a9e0f6fb,0x2c075927ef142a14c84de72b208e8b5ee1d762b0,0x5a808971a0093ceadb15cf76068c5e7c3c4269b1,0x27a0f2741a55767ef3175461120c5f42a5b54f4f,0x0000d9935a273b9b1402519925d6a6a8b4f9342b,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/146.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/146.csv new file mode 100644 index 0000000..f656c72 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/146.csv @@ -0,0 +1 @@ +0xbdf7ada7a57600f5d5b371b51218a619536cebc7,0x799707863618aaaffb5d46ca3427d6cfecdc6476,0x590f7e7193a997a2b60ab8e31107f1832473290b,0x4ccf365eda5a0e85438b6df2bf57d668cf5d8192,0x702b5f386587f0d85e6cf56b511de035b62c4379,0x0003a3606233edce56cac59bd01e622561e99e77,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/148.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/148.csv new file mode 100644 index 0000000..b292889 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/148.csv @@ -0,0 +1 @@ +0xa7d15a5258f4f3855cb22ce8d00571133e8ad0f3,0x61f9830a932a4cdd257061624f3b820e9b91db6e,0x758ee90aa5d7fe797c4817d0c2011f062a263429,0x356da5d90cef81adb97a8cc3e95861fc156ab6c3,0x63ea1cb827821f6d3599e303594a4e21911971a3,0x000dd1818cc0197085816a97b6056c3917bb32d9,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/150.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/150.csv new file mode 100644 index 0000000..c1bf12e --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/150.csv @@ -0,0 +1 @@ +0xb1c8eb4d314d22f1bdb2294eaed063e64f580611,0x6a1a4b89dc64200e98c46af58e8d7d0a52aba862,0xa0c9a0d9070ceefcaa3f2324668d6e3e9a3bf8f7,0x39ce0be4410100e1349fae8ec18fabb91f1816dd,0x3a44dee9ecb21038fb8c3e987e285f09b456bdc7,0x00374d1df48d00aa21837b6f9717173eb656c659,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/152.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/152.csv new file mode 100644 index 0000000..24a03ba --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/152.csv @@ -0,0 +1 @@ +0xc9d72249375ff1884a80e426e79315f02fb6904f,0x003ce7e6420986df1c87895fe1b83ed86f93cf10,0x7ed71b8a343a6d4da4220123d2b3405d9e4f813f,0x3f30626d74214324e1ee6c97341abe2a9b2bdd07,0x17fb8a3dc06dc7680485871fc3ed4f8e8e662778,0x00e7b588f02d33982511ca6ab8485259bf119a2f,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/152_cofactor.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/152_cofactor.csv new file mode 100644 index 0000000..7861bbd --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/152_cofactor.csv @@ -0,0 +1 @@ +0xc9d72249375ff1884a80e426e79315f02fb6904f,0x003ce7e6420986df1c87895fe1b83ed86f93cf10,0x7ed71b8a343a6d4da4220123d2b3405d9e4f813f,0x3f30626d74214324e1ee6c97341abe2a9b2bdd07,0x17fb8a3dc06dc7680485871fc3ed4f8e8e662778,0x00e7b588f02d33982511ca6ab8485259bf119a2f,0xdf diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/16.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/16.csv new file mode 100644 index 0000000..fd76ff7 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/16.csv @@ -0,0 +1 @@ +0xc4bfe673203f80fd04c89a5942c18074bcc2a719,0x9d4a0edafeb576559fe95f1dfde0e006a9e0f6fb,0x2c075927ef142a14c84de72b208e8b5ee1d762b0,0x364591432aca4ab7e451866819263e32f57fa052,0x634d15df260f3bb8e92cd0d4940d176e2d97bddc,0x000000000000000000000000000000000000e77f,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/20.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/20.csv new file mode 100644 index 0000000..940d10c --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/20.csv @@ -0,0 +1 @@ +0xcf8ecac9bc992d2df7ba9015b5bdcbdf2d1c2aa9,0xa067f72ab472977a150f4684df8e9ccee909489f,0x080cac1702258fce0fbafbdb4f861ad4554a05c6,0x4c4356d56316d6556e7b427a3e1aacd1c1805a8a,0x3d55e3b1904c5e66c75b00710068ffaec4a60ddb,0x00000000000000000000000000000000000d0eb3,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/25.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/25.csv new file mode 100644 index 0000000..318099b --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/25.csv @@ -0,0 +1 @@ +0xd3f3289b14ab182f38b78fab5dbaf3674c02597d,0xb8880d01c2b44c8a27805524913e438e6458411d,0x89482f3814165014cc30b134849ead387c7ad048,0x593ddf0087b88e469110d12067c86b00bb6f219d,0x968f74b30717f0ca56749382ba5aece4182b35d6,0x0000000000000000000000000000000001f4168b,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/2a.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/2a.csv new file mode 100644 index 0000000..670f4bc --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/2a.csv @@ -0,0 +1 @@ +0x7b6d7f82beae015788a67ad391bb68ad720ba991,0x6f222dd4f5ec04fdb0202f461d10c3fa1cec6d45,0x2792a26122d154d68bdb523330a06cc252894165,0x50fa49d7061feaeec4f4f4592744d26decd6243a,0x0000000000000000000000000000000000000000,0x0000000000000000000000000000000000000002,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/2b.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/2b.csv new file mode 100644 index 0000000..216827b --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/2b.csv @@ -0,0 +1 @@ +0xa0ba653351a6fe7af0eeb9d45eb4f5bab12e453f,0x6e2ca1be3773179e400bb31f783013138cf62eae,0x1db941d201e9dae19f2eaaef2735a46fb9948ee3,0x070fe9bde5d37d7adc7af71cdabdf99ba76b2941,0x9ad498be6e81114c204ac11300fbdd6a3ef8d2cd,0x0000000000000000000000000000000000000003,0x01 \ No newline at end of file diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/3.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/3.csv new file mode 100644 index 0000000..18ec491 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/3.csv @@ -0,0 +1 @@ +0xd41869824871ccc03ff87bd99c9a6d2eb7c557bd,0x80b0b37638bd5678af01089dbc13a8674ad96422,0x4c2d8f41681795f138af380c86c98e1d6ee2f3a4,0x6597db8eade96de1d5a546172358d578985e4802,0xa8f85050990cbd2d365b4ef44ead757bfb9af8b5,0x0000000000000000000000000000000000000007,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/32.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/32.csv new file mode 100644 index 0000000..fddfeee --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/32.csv @@ -0,0 +1 @@ +0xb13f0d997960752db0a77c95ade4843941645c87,0x7acba0516ea114053bc3e8fa026857990e610d4b,0x7f9755351f5279758bde2b9739c5f907d159ff26,0x4ce786a838268215724f1edae0ddec658ef20e6a,0xaeaa4f03aefbbf5fbaeb393ca859d8f27ca56a32,0x00000000000000000000000000000000e2768a75,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/4.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/4.csv new file mode 100644 index 0000000..a5b9e09 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/4.csv @@ -0,0 +1 @@ +0xb12cff876adc5a923ed34fcd10143de02f8e0369,0x6cb241142b8fb14f45608aec44a325ad195044b5,0xa7cb4cbde8d7792bee9d4856d80df54cdc925b1f,0x07527e2751335207ab0ddb4d5692c7d9219990f5,0x1d1cd5f91fce22653562dd0534ddb861e7005cb6,0x000000000000000000000000000000000000000d,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/48.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/48.csv new file mode 100644 index 0000000..202a15b --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/48.csv @@ -0,0 +1 @@ +0x9f3386530aa0a8009acbbe9caa919f72c8d5730f,0x33f8b03510268eb1ca33c2996ddacec1b314c5a6,0x4d9b3a2737345fe43069f306eabdc123e8e847b2,0x0f1ca7149bc1933e1e7efdc55c325df7ad4ba562,0x3b689e90dec0b6c85d679d970278d0f9fa30f013,0x0000000000000000000000000000ca49f6d457c1,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/5.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/5.csv new file mode 100644 index 0000000..5f0597c --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/5.csv @@ -0,0 +1 @@ +0xe13cc8432dad5ed8a4d2893803957c1e109e0c8f,0x7102ce05e08a10ffe665313cece127f5ff590473,0x2dcb47653c268fc7b0f767ae66fcefc98055399c,0x2c4b06f7428dda4532fbea727c7b1f84782e9762,0x4406bb147b080724d2be46eb15327dd350d7307a,0x000000000000000000000000000000000000001f,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/6.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/6.csv new file mode 100644 index 0000000..9c1528f --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/6.csv @@ -0,0 +1 @@ +0xe9e74933088156a9f60b0f23253fe21ce259d783,0x6a01bdfb7c22fa778456edc767d0f61895561f27,0x27591495bbaf4845cf807f59d3091b0ec830b080,0xb956503ece30bccd9dc08bc76da995e390b2d0ea,0x30ca629aa64506f2b5e6c71fe7dea2c4284d1a2a,0x000000000000000000000000000000000000003d,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/64.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/64.csv new file mode 100644 index 0000000..94a2709 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/64.csv @@ -0,0 +1 @@ +0xba824697c3ac48fbf53bdc6997a10f2e9e9d24fd,0x00878d8c00cc5b137d7ee7f3defe3ee2d614112e,0x439154313b1e0b63a3cf445a67af1f2f9442238c,0x33e0dfbcd3bdbd0a3d98254c8c706852ac9160ec,0xb0895e2997ef93d8b9500068855afeff515284c3,0x000000000000000000000000ee49fe4c5b77e201,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/7.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/7.csv new file mode 100644 index 0000000..170b180 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/7.csv @@ -0,0 +1 @@ +0xb7a0a5730514d83583a708acd53a492d970022bd,0x6ee6d2a43a4daf1c0190aaf2384644b59b1c7f11,0x1835fc673409a0265da795eb4d0ad15358b3369a,0x0fee93a779b05c49623527d2a0af78315efbded6,0xb75b77ea3261bf5713cdec1cdd7251dff38232d6,0x0000000000000000000000000000000000000065,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/70.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/70.csv new file mode 100644 index 0000000..1dbf9c0 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/70.csv @@ -0,0 +1 @@ +0xcc0786de97196a16f433bd40cd1932999867b103,0x7a58470e1615f4676bfc6fc57d71c99285a56919,0xa047dff6287d28be79b09ce6a398b57e8c2a97e9,0x570bda529a23c0a651113cdb5083439d3a6fd30c,0x9d71ecbe74fb180d08a7bdbb77e6aad40d2146b7,0x00000000000000000000003ba788abd620e775e7,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/8.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/8.csv new file mode 100644 index 0000000..232df05 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/8.csv @@ -0,0 +1 @@ +0xc9d72249375ff1884a80e426e79315f02fb6904f,0x003ce7e6420986df1c87895fe1b83ed86f93cf10,0x7ed71b8a343a6d4da4220123d2b3405d9e4f813f,0x083e1d65a5ebcf6f98f2202ea5bfe021db0ce40e,0x16947d2cf97c654222c015b6ff56b9471f9518a9,0x00000000000000000000000000000000000000df,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/80.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/80.csv new file mode 100644 index 0000000..da082ef --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/80.csv @@ -0,0 +1 @@ +0xd84ff9bc6df5a2f01d087f4c5e35ae905eb55e13,0xa50dbf4c40d4455f045c249b655b146d5d07a8a3,0xd6aed5bd031f7c3af319cdf03d45ee1b2e5c72ae,0x3a2b110757656c93362455ad480d38207b826d38,0x9cf1881da1e1f10777900f8c18996e8fbd3e470f,0x00000000000000000000e74bbc29baa61aca49d1,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/90.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/90.csv new file mode 100644 index 0000000..d67e673 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/90.csv @@ -0,0 +1 @@ +0xcc0786de97196a16f433bd40cd1932999867b103,0x7a58470e1615f4676bfc6fc57d71c99285a56919,0xa047dff6287d28be79b09ce6a398b57e8c2a97e9,0x353f1f34902fb9c28b62c145369afa64b301e48c,0x0fd9c5d52882c2af8b99b5209bd80e44839c2e2e,0x0000000000000000036b917bc29fe57e7df01d13,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/first/96.csv b/src/cz/crcs/ectester/data/composite/varying/160/first/96.csv new file mode 100644 index 0000000..5dd2d5c --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/first/96.csv @@ -0,0 +1 @@ +0xba824697c3ac48fbf53bdc6997a10f2e9e9d24fd,0x00878d8c00cc5b137d7ee7f3defe3ee2d614112e,0x439154313b1e0b63a3cf445a67af1f2f9442238c,0x5fb9809c2f608e2fb788c735d0233b2dd1cbc243,0x4e71dd0a87b3d4ff1689a77829ba527781f21cbd,0x0000000000000000c85f0b3dd7355b3a516de59b,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/second/140.csv b/src/cz/crcs/ectester/data/composite/varying/160/second/140.csv new file mode 100644 index 0000000..b9d7ef4 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/second/140.csv @@ -0,0 +1 @@ +0xcb0fbd7d31f129c9445949ac2a53313dc664dcf5,0xbac859aab1168154552b678c5710381db579e093,0xa6bba8fe9ce31053ef6df534c0f51abf7f2b84f6,0x89ddb9394b1e7aa83435762bd9fb10b382112c9d,0x0195f79a927f4933fc96fd11d22f645fd2a6165e,0xd27f195fd2b5a2ce76e0a0883493af40f29,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/second/141.csv b/src/cz/crcs/ectester/data/composite/varying/160/second/141.csv new file mode 100644 index 0000000..6e1bbae --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/second/141.csv @@ -0,0 +1 @@ +0xad848c5b6dd0a0a4069abc227c1067e0181b2737,0x19ee65c4d27dbb11e6209ca476e192d09b2d1c63,0x764d165a2dade5d7a08a76111d7fbbc2d11ef0e0,0x5bcd89823c97b60ad38738fe720f185f3b40b45e,0x09a715128167a9c88c740460bd69458fa9d4fe46,0x1998e626a1aed4c95d9d4b4c2b7a7f7a9db7,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/second/142.csv b/src/cz/crcs/ectester/data/composite/varying/160/second/142.csv new file mode 100644 index 0000000..6232e83 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/second/142.csv @@ -0,0 +1 @@ +0xb5d6a607a39940bc0048f4aa5ccdc4d5a5ce610d,0x2a1ae87f817fa325f32f2e0105f282027b2ba43f,0x659ed881b0d7116353d5f7a915d2f19e893d69aa,0x1b334db8e98df484ad04272df15f3e86d39ef22e,0x4cd77e9caad63bd4607eb0ed55e6beb23ff450ac,0x3a204ba60e40fa9b658d3a1a8b2a9bc3cf59,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/second/143.csv b/src/cz/crcs/ectester/data/composite/varying/160/second/143.csv new file mode 100644 index 0000000..8446888 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/second/143.csv @@ -0,0 +1 @@ +0xd4b9159c7fc2792372543d143613b52f59998f97,0x2d42a2dfc137411a8c70ade2bdf0592b40943710,0x05e4b77414fb3c55c130f2bcaef25f3d151bd099,0x5a756a4341b6a3e22dead483df6f181e8b9a2a11,0xcd4da9413d50e4d5215e6bbcf6d5a7b0e3a3daad,0x72ff5242224738c7ce5b71bc1f89fd2b4b37,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/second/144.csv b/src/cz/crcs/ectester/data/composite/varying/160/second/144.csv new file mode 100644 index 0000000..1b1a067 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/second/144.csv @@ -0,0 +1 @@ +0xb1782dbf5f2c4021d8b9b5b363c82e0ca3b6777d,0x6076e1773b2c55518400dc32e80be429edcb965a,0x42ea1ee077a97b47a0e1e768e6926639b66ce893,0x9c662a05f65b34ddc7f87b6b7684a07b898a1c34,0x2845b2b399e0159f6096acb982ef4db0914088c9,0xc87bb99f30317e9dac369288e804184aa599,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/second/145.csv b/src/cz/crcs/ectester/data/composite/varying/160/second/145.csv new file mode 100644 index 0000000..6c9143d --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/second/145.csv @@ -0,0 +1 @@ +0xb527a5bd64b0565b27ff7cf9602983f1614fffa3,0x19d78ae1d883b88aa6f0f7858d4e1be5a8f7e3fb,0x209c90f1e463fe85994da3a49bf1573b51174a1a,0x19d11cc60298336167b838b1980f7220c4a38ae4,0x370c05e2d1b3f2da9f0c7613a156c079ede829a7,0x1dbc7f60ad202d5d0beea6a46ba5e0cfdb415,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/second/146.csv b/src/cz/crcs/ectester/data/composite/varying/160/second/146.csv new file mode 100644 index 0000000..e56c367 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/second/146.csv @@ -0,0 +1 @@ +0xee5432006a4e6cbe37b806adb8caa4ea3db20871,0x8840485629c0217fe0c06136960a8ee0ff052cf6,0x4c2d28b41bf1195979928396a38349fba3f8790c,0x7d220bdba9cccd7ac1eff4c0faa15943df8c5661,0xafac34dd20bc52fc5d591ba7b3ba61804573cea7,0x3e4f1ab7695bf568e94399144ba99087b8b43,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/second/147.csv b/src/cz/crcs/ectester/data/composite/varying/160/second/147.csv new file mode 100644 index 0000000..a2d3a7c --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/second/147.csv @@ -0,0 +1 @@ +0xd4af3495a36eaecf01f5333d4ed9c0557e7d290f,0x8009417988238ec78161b22a5193683dd3a30db1,0x78194aed072799ea84118a326f19db81c96cc133,0x43c7510009f2a50acf960aee86f8e5f4680bb399,0x63e3c2609b3cb63a0bfabe048d4910b98806f986,0x768a687b40a678e8b32a197c56a5e8e73c2e9,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/second/148.csv b/src/cz/crcs/ectester/data/composite/varying/160/second/148.csv new file mode 100644 index 0000000..898e8f0 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/second/148.csv @@ -0,0 +1 @@ +0xb4b26d3a176014e5e78384429e7cfb7fc54e5977,0x3314626f01d24d21beda9d48df49e3ecbc7cb71e,0x3756db6c83ddaa8e67c67e58359cc9a9cf0fd855,0x8622b6abfae956ec4340565a8441e3829553dc9d,0x548d45e6ed7673b271076e14c3d6e56b58edbc95,0xc1b3ad6efad76b6c3bc52edecbe9558da19c5,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/second/149.csv b/src/cz/crcs/ectester/data/composite/varying/160/second/149.csv new file mode 100644 index 0000000..0d7aedb --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/second/149.csv @@ -0,0 +1 @@ +0xceceeaa7a8152749b1ecf9bc92f6fdc6e9b6090d,0x8ae42228a534ba5893260370f28090fb64e9946e,0x638476b65f061b9519065ca3dee37d03ee253b6f,0xca0c26fa582635625744d77e72134099aacc7d51,0x22342b88baf41bb6d4b8d61f9e7e2d767838ae49,0x1aa507af8faa15cf84906cef78d950265b459d,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/second/150.csv b/src/cz/crcs/ectester/data/composite/varying/160/second/150.csv new file mode 100644 index 0000000..f739032 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/second/150.csv @@ -0,0 +1 @@ +0xb7adb7da47532691380d279b714329a18c73bf5b,0x62b5535930b3b6291724d2931c6d6e77b9e7603e,0xa6e5735c172868621e282c8606f0f7bf69196b98,0x936da9db53a9cdf04603e3e74dfd597e17159c47,0x0e57b546f6b8fce730f9eb62a15047533b0866e5,0x38dbb1f277473e654a9df7571e61d3d954144d,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/second/151.csv b/src/cz/crcs/ectester/data/composite/varying/160/second/151.csv new file mode 100644 index 0000000..febab80 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/second/151.csv @@ -0,0 +1 @@ +0xb43604e48b105f7a9a3b48c7bfd6d3e0ac093e29,0x444d3467678862170058dd92531a9e2bbe28ca79,0x89c6c1006cf8d019db1813b81549d7ddeff6bfd0,0x48faa03d1bd1142749c886ff0ed8cf990cfae57e,0x7188beb85a7c04ca83328b66f74d284b8d4ab1c5,0x6b0a1bda4f09218bf0b0c4db0eda6a4452e5e5,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/second/152.csv b/src/cz/crcs/ectester/data/composite/varying/160/second/152.csv new file mode 100644 index 0000000..95628ad --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/second/152.csv @@ -0,0 +1 @@ +0xd998f399cb387874de3a6a56d1babc55720e5abf,0x9c8f7ea6edb66b2570d884fd8eb6b7bfa832fe5a,0xa2a58c9670ac7a17713263ccf56187f4b3a9538c,0x37a374fcc33795ab48f2c5cefb55059e4047a5bd,0x688bb2276ffbdb652f5a9adb8f6861fa58f0a348,0xddee9ca918b3fc62cc35c868f2841bce9f9587,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/second/153.csv b/src/cz/crcs/ectester/data/composite/varying/160/second/153.csv new file mode 100644 index 0000000..2cc60aa --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/second/153.csv @@ -0,0 +1 @@ +0xcb5e3c67cebdcab6da9abee717934147f573e455,0x8528cb57477cb9daf1b39f210ec4305e38d59af9,0x625bc0553d8acf552224e9ef4a0d680bd097af1a,0x7cd27cf687a0f4cb8b192d2a301dc155e382a51a,0x79b81b30498366d71e34a6e73d7fc1acb70d887e,0x199f05982a2c1179cef17249652a9866f31ffe5,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/second/154.csv b/src/cz/crcs/ectester/data/composite/varying/160/second/154.csv new file mode 100644 index 0000000..abbc06f --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/second/154.csv @@ -0,0 +1 @@ +0xc790ce0bbeb04fc50f56ffa90ac697664b33a0c5,0x3c27b2c2fef3181c1b7b342f5d0b141e9b1fa083,0x643c56c57d4dd643ce041ea26bf84ad607b768cf,0x03ac9106b43aefc2474993dc00ca435526e62dbd,0x218216a290e95e1d06ce4a633604067084226b3e,0x3458579e5bfbe29004061a83bdcbf9f03b740df,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/second/155.csv b/src/cz/crcs/ectester/data/composite/varying/160/second/155.csv new file mode 100644 index 0000000..5268be3 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/second/155.csv @@ -0,0 +1 @@ +0xb291f1d68a548cb930da845e4dddde4a459fca55,0x3ff55740d89a34a571572edfd9603ac231420227,0x17109ebf052464e986afe2008ae70355b585b07d,0x27d235656b6608a9df667f7ee99f76e9c6001d8d,0x1cf7d6d12b86ef2fd9b9fb032ab38a902d28fcb2,0x62857c99ad6c70f36a668b6cb0b39ca3859ee3d,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/second/156.csv b/src/cz/crcs/ectester/data/composite/varying/160/second/156.csv new file mode 100644 index 0000000..b48d7de --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/second/156.csv @@ -0,0 +1 @@ +0xb5753cb547a5fe317e9e85a7b0ecf7bcc8358b89,0x39c31f1f78b01c7ab7010de50026f25884ecfac1,0x5acf7eaab9c2bbb84dfdcf6253983c75e3f892a9,0x8c109fac40ecf79c874b1347c89bdd0b1e32bd58,0x198bc391b21d8be4e9b47250a86f03d3bfb4cd61,0xdf5537067f9138da74724f682ce1971c0319dff,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/second/157.csv b/src/cz/crcs/ectester/data/composite/varying/160/second/157.csv new file mode 100644 index 0000000..06cd933 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/second/157.csv @@ -0,0 +1 @@ +0xd7e7392c25ed14a0c4f61532461ebb36e8aac95d,0xbfa946439770d5832c224072c35a523550c63470,0x6cc6a5296eae2706bd6acfff1c6ca1e20be17f15,0x30fafbc8479b28fe86fe336f67035094e74deaaa,0x3621025307234ee276a45b78f101f88353d1ddf9,0x1ed7e39897b42784ae6c29501574867ebf7c3d5b,0x01 diff --git a/src/cz/crcs/ectester/data/composite/varying/160/second/158.csv b/src/cz/crcs/ectester/data/composite/varying/160/second/158.csv new file mode 100644 index 0000000..c35a628 --- /dev/null +++ b/src/cz/crcs/ectester/data/composite/varying/160/second/158.csv @@ -0,0 +1 @@ +0xa686fb6e6f34c9e85dc6ae22a1d84a17b547b82d,0xa5c25d0cf5bd6443f3342843108b9b4b795be6ca,0x59c73b85c6591dd41f185e6cb009a3068717197b,0x4dc987eec93319f036dea2ec3d2ae58639c44574,0x6799aaad16a911c57f9643c38fe3cabf2e41644b,0x378253cf7a66edf81f41bedf086cec98847ad68b,0x01 -- cgit v1.3.1 From ea4e807906815c16c62c4e5719950c7274d1ebab Mon Sep 17 00:00:00 2001 From: J08nY Date: Mon, 15 Oct 2018 17:48:23 +0200 Subject: Add test for OpenSSl modular reduction bug. --- docs/TESTS.md | 3 ++- src/cz/crcs/ectester/data/other/keys.xml | 14 +++++++++++ src/cz/crcs/ectester/data/other/results.xml | 14 +++++++++++ .../ectester/reader/test/CardEdgeCasesSuite.java | 27 ++++++++++++++++++++++ 4 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 src/cz/crcs/ectester/data/other/keys.xml create mode 100644 src/cz/crcs/ectester/data/other/results.xml (limited to 'docs') diff --git a/docs/TESTS.md b/docs/TESTS.md index 2d535f8..c639722 100644 --- a/docs/TESTS.md +++ b/docs/TESTS.md @@ -144,7 +144,8 @@ of two large primes, sets the generator with order of one prime and tries points ## Edge-Cases Tests various inputs to ECDH which may cause an implementation to achieve a certain edge-case state during ECDH. -Some of the data is from the google/Wycheproof project. Tests include [CVE-2017-10176](https://nvd.nist.gov/vuln/detail/CVE-2017-10176) and [CVE-2017-8932](https://nvd.nist.gov/vuln/detail/CVE-2017-8932). +Some of the data is from the google/Wycheproof project. Tests include [CVE-2017-10176](https://nvd.nist.gov/vuln/detail/CVE-2017-10176) and [CVE-2017-8932](https://nvd.nist.gov/vuln/detail/CVE-2017-8932) and an OpenSSL modular reduction bug +presented in [Practical realisation and elimination of an ECC-related software bug attack](https://eprint.iacr.org/2011/633). Various custom edge private key values are also tested. CVE-2017-10176 was in implementation issue in the SunEC Java library (and NSS ([CVE-2017-7781](https://nvd.nist.gov/vuln/detail/CVE-2017-7781)), thus also anything that used it) that caused the implementation to reach the point at infinity during ECDH computation. diff --git a/src/cz/crcs/ectester/data/other/keys.xml b/src/cz/crcs/ectester/data/other/keys.xml new file mode 100644 index 0000000..d06de81 --- /dev/null +++ b/src/cz/crcs/ectester/data/other/keys.xml @@ -0,0 +1,14 @@ + + + + openssl-bug/skey + 0x4543A4D2C9DDD5516FD16D5498034C76D4EAB340276B6BAD8FF57756F4ECA8E6 + secg/secp256r1 + + + openssl-bug/pkey + 0x296D416994A4801B9A48E8C67C98E0C05DE1C0E85D4DC676F32FEACDC4998F0E,0xA91F9BE06C1D50EEB0295A35CA0F130F17EA647147626318E28AEC97F0653749 + secg/secp256r1 + + \ No newline at end of file diff --git a/src/cz/crcs/ectester/data/other/results.xml b/src/cz/crcs/ectester/data/other/results.xml new file mode 100644 index 0000000..ba8c83c --- /dev/null +++ b/src/cz/crcs/ectester/data/other/results.xml @@ -0,0 +1,14 @@ + + + + openssl-bug + DH + 0xdb6f7cd6a06846bf9da9b4928caa5e4b7c8f58d9 + + secg/secp256r1 + other/openssl-bug/pkey + other/openssl-bug/skey + https://eprint.iacr.org/2011/633 + + \ No newline at end of file diff --git a/src/cz/crcs/ectester/reader/test/CardEdgeCasesSuite.java b/src/cz/crcs/ectester/reader/test/CardEdgeCasesSuite.java index cd31179..b68b2ec 100644 --- a/src/cz/crcs/ectester/reader/test/CardEdgeCasesSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardEdgeCasesSuite.java @@ -110,6 +110,33 @@ public class CardEdgeCasesSuite extends CardTestSuite { doTest(CompoundTest.all(Result.ExpectedValue.SUCCESS, description, groupTests.toArray(new Test[0]))); } + { + EC_KAResult openssl_bug = EC_Store.getInstance().getObject(EC_KAResult.class, "other", "openssl-bug"); + EC_Curve curve = EC_Store.getInstance().getObject(EC_Curve.class, openssl_bug.getCurve()); + EC_Key.Private skey = EC_Store.getInstance().getObject(EC_Key.Private.class, openssl_bug.getOtherKey()); + EC_Key.Public pkey = EC_Store.getInstance().getObject(EC_Key.Public.class, openssl_bug.getOneKey()); + Test key = CommandTest.expect(new Command.Allocate(this.card, ECTesterApplet.KEYPAIR_BOTH, curve.getBits(), KeyPair.ALG_EC_FP), Result.ExpectedValue.SUCCESS); + Test set = CommandTest.expect(new Command.Set(this.card, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.CURVE_external, curve.getParams(), curve.flatten()), Result.ExpectedValue.SUCCESS); + Test setPrivate = CommandTest.expect(new Command.Set(this.card, ECTesterApplet.KEYPAIR_LOCAL, EC_Consts.CURVE_external, EC_Consts.PARAMETER_S, skey.flatten(EC_Consts.PARAMETER_S)), Result.ExpectedValue.SUCCESS); + Test setPublic = CommandTest.expect(new Command.Set(this.card, ECTesterApplet.KEYPAIR_REMOTE, EC_Consts.CURVE_external, EC_Consts.PARAMETER_W, pkey.flatten(EC_Consts.PARAMETER_W)), Result.ExpectedValue.SUCCESS); + Test ecdh = CommandTest.function(new Command.ECDH(this.card, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_TRUE, EC_Consts.TRANSFORMATION_NONE, openssl_bug.getJavaCardKA()), new TestCallback() { + @Override + public Result apply(CommandTestable testable) { + Response.ECDH dh = (Response.ECDH) testable.getResponse(); + if (!dh.successful()) + return new Result(Result.Value.FAILURE, "ECDH was unsuccessful."); + if (!dh.hasSecret()) + return new Result(Result.Value.FAILURE, "ECDH response did not contain the derived secret."); + if (ByteUtil.compareBytes(dh.getSecret(), 0, openssl_bug.getData(0), 0, dh.secretLength())) { + return new Result(Result.Value.FAILURE, "OpenSSL bug is present, derived secret matches example."); + } + return new Result(Result.Value.SUCCESS); + } + }); + + doTest(CompoundTest.greedyAll(Result.ExpectedValue.SUCCESS, "Test OpenSSL modular reduction bug.", key, set, setPrivate, setPublic, ecdh)); + } + Map curveMap = EC_Store.getInstance().getObjects(EC_Curve.class, "secg"); List curves = curveMap.entrySet().stream().filter((e) -> e.getKey().endsWith("r1") && e.getValue().getField() == KeyPair.ALG_EC_FP).map(Map.Entry::getValue).collect(Collectors.toList()); curves.add(EC_Store.getInstance().getObject(EC_Curve.class, "cofactor/cofactor128p2")); -- cgit v1.3.1