More EVP ECC testing: positive and negative
authorBilly Brumley <bbrumley@gmail.com>
Thu, 28 Jun 2018 07:59:08 +0000 (10:59 +0300)
committerNicola Tuveri <nic.tuv@gmail.com>
Sat, 29 Sep 2018 09:44:22 +0000 (12:44 +0300)
commit23fe5c582a83bce394a3cdf0bc8f6f4f2eb71ebb
treeadb934715a51193112e40065788ad3ed5e542bee
parentcb193560e0da17a41b40ce574a2349f1d4d59ed1
More EVP ECC testing: positive and negative

This is a backport of #6608 to 1.1.0.

1. For every named curve, two "golden" keypair positive tests.
2. Also two "golden" stock ECDH positive tests.
3. For named curves with non-trivial cofactors, additionally two "golden"
   ECC CDH positive tests.
4. For named curves with non-trivial cofactors, additionally two negative
   tests.

There is some overlap with existing EVP tests, especially for the NIST
curves (for example, positive testing ECC CDH KATs for NIST curves).

"Golden" here means all the values are independent from OpenSSL's ECC
code. I used sage to calculate them. What comes from OpenSSL is:

1. The OIDs (parsed by tooling)
2. The curve parameters (parsing ecparam output with tooling)

The values inside the PEMs (private keys, public keys) and shared keys
are from sage. The PEMs themselves are the output of asn1parse, with
input taken from sage.

(cherry picked from commit 249330de0250bc598d20d383bab37d150cdad239)

Reviewed-by: Nicola Tuveri <nic.tuv@gmail.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/7152)
test/recipes/30-test_evp.t
test/recipes/30-test_evp_data/evppkey_ecc.txt [new file with mode: 0644]