openssl/test/recipes
Nicola Tuveri 5d92b853f6 Replace GFp ladder implementation with ladd-2002-it-4 from EFD
The EFD database does not state that the "ladd-2002-it-3" algorithm
assumes X1 != 0.
Consequently the current implementation, based on it, fails to compute
correctly if the affine x coordinate of the scalar multiplication input
point is 0.

We replace this implementation using the alternative algorithm based on
Eq. (9) and (10) from the same paper, which being derived from the
additive relation of (6) does not incur in this problem, but costs one
extra field multiplication.

The EFD entry for this algorithm is at
https://hyperelliptic.org/EFD/g1p/auto-shortw-xz.html#ladder-ladd-2002-it-4
and the code to implement it was generated with tooling.

Regression tests add one positive test for each named curve that has
such a point. The `SharedSecret` was generated independently from the
OpenSSL codebase with sage.

This bug was originally reported by Dmitry Belyavsky on the
openssl-users maling list:
https://mta.openssl.org/pipermail/openssl-users/2018-August/008540.html

Co-authored-by: Billy Brumley <bbrumley@gmail.com>

Reviewed-by: Andy Polyakov <appro@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/7000)
2018-08-21 09:51:18 +01:00
..
04-test_pem_data
10-test_bn_data
15-test_ecparam_data
15-test_mp_rsa_data Support multi-prime RSA (RFC 8017) 2017-11-21 14:38:42 +08:00
30-test_evp_data Replace GFp ladder implementation with ladd-2002-it-4 from EFD 2018-08-21 09:51:18 +01:00
80-test_ocsp_data Add OCSP API test executable 2017-11-11 20:03:49 -06:00
90-test_gost_data Add a GOST test 2018-07-13 18:14:43 +01:00
90-test_includes_data CONF inclusion test: Add VMS specific tests 2018-03-12 23:01:02 +01:00
90-test_sslapi_data Add a test for SRP 2018-04-13 09:37:39 +01:00
90-test_store_data
95-test_external_krb5_data
95-test_external_pyca_data
01-test_abort.t
01-test_sanity.t
01-test_symbol_presence.t
01-test_test.t
02-test_internal_ctype.t This has been added to avoid the situation where some host ctype.h functions 2017-08-22 09:45:25 +10:00
02-test_lhash.t
02-test_ordinals.t
02-test_stack.t
03-test_exdata.t
03-test_internal_asn1.t
03-test_internal_chacha.t
03-test_internal_curve448.t Update copyright year 2018-02-27 13:59:42 +00:00
03-test_internal_mdc2.t
03-test_internal_modes.t
03-test_internal_poly1305.t
03-test_internal_siphash.t
03-test_internal_sm2.t Improve use of the test framework in the SM2 internal tests 2018-06-04 11:59:56 +01:00
03-test_internal_sm4.t Update copyright year 2018-02-27 13:59:42 +00:00
03-test_internal_ssl_cert_table.t
03-test_internal_x509.t
03-test_ui.t
04-test_asn1_encode.t
04-test_asn1_string_table.t
04-test_bio_callback.t Fix bio callback backward compatibility 2018-03-19 14:20:53 +01:00
04-test_bioprint.t
04-test_err.t Save and restore the Windows error around TlsGetValue. 2018-05-23 17:34:54 -04:00
04-test_pem.t Avoid unnecessary MSYS2 conversion of some arguments 2017-11-22 00:37:34 +01:00
05-test_bf.t
05-test_cast.t
05-test_des.t
05-test_hmac.t
05-test_idea.t
05-test_md2.t
05-test_mdc2.t
05-test_rand.t Update copyright year 2018-04-03 13:57:12 +01:00
05-test_rc2.t
05-test_rc4.t
05-test_rc5.t
06-test-rdrand.t Update copyright year 2018-03-20 13:08:46 +00:00
10-test_bn.t
10-test_exp.t
15-test_dh.t
15-test_dsa.t Add test for DSA signatures of raw digests of various sizes 2018-07-29 21:27:36 +02:00
15-test_ec.t
15-test_ecdsa.t
15-test_ecparam.t File::Glob option ':bsd_glob' doesn't work everywhere, replace w/ a wrapper 2017-08-15 11:31:18 +02:00
15-test_genrsa.t Update copyright year 2018-04-17 15:18:40 +02:00
15-test_mp_rsa.t rsa/rsa_gen.c: harmonize keygen's ability with RSA_security_bits. 2017-11-28 20:05:48 +01:00
15-test_out_option.t 15-test_out_option: Refactor and don't test directory write on VMS 2018-04-26 21:19:49 +02:00
15-test_rsa.t
15-test_rsapss.t
20-test_enc_more.t
20-test_enc.t
20-test_passwd.t
25-test_crl.t
25-test_d2i.t
25-test_pkcs7.t
25-test_req.t Add tests for the "req" command, -addext flag 2018-07-09 14:55:17 -04:00
25-test_sid.t
25-test_verify.t Update copyright year 2018-05-29 13:16:04 +01:00
25-test_x509.t
30-test_afalg.t Update copyright year 2018-02-13 13:59:25 +00:00
30-test_engine.t
30-test_evp_extra.t
30-test_evp.t More EVP ECC testing: positive and negative 2018-06-29 12:29:12 +02:00
30-test_pbelu.t
30-test_pkey_meth_kdf.t Add PKEY_METHOD macro tests 2017-08-08 15:44:49 +01:00
30-test_pkey_meth.t
40-test_rehash.t Update copyright year 2018-02-13 13:59:25 +00:00
60-test_x509_check_cert_pkey.t
60-test_x509_dup_cert.t
60-test_x509_store.t
60-test_x509_time.t
70-test_asyncio.t
70-test_bad_dtls.t
70-test_clienthello.t
70-test_comp.t Update copyright year 2018-02-13 13:59:25 +00:00
70-test_key_share.t Update copyright year 2018-02-13 13:59:25 +00:00
70-test_packet.t
70-test_recordlen.t
70-test_renegotiation.t Add a test to verify the ClientHello version is the same in a reneg 2018-04-24 09:54:31 +01:00
70-test_servername.t
70-test_sslcbcpadding.t recipes/70-test_ssl{cbcpadding,extension,records}: make it work w/fragmentation. 2018-04-18 19:57:54 +02:00
70-test_sslcertstatus.t Update code for the final RFC version of TLSv1.3 (RFC8446) 2018-08-15 12:33:30 +01:00
70-test_sslextension.t recipes/70-test_ssl{cbcpadding,extension,records}: make it work w/fragmentation. 2018-04-18 19:57:54 +02:00
70-test_sslmessages.t Update copyright year 2018-02-13 13:59:25 +00:00
70-test_sslrecords.t recipes/70-test_ssl{cbcpadding,extension,records}: make it work w/fragmentation. 2018-04-18 19:57:54 +02:00
70-test_sslsessiontick.t Update copyright year 2018-02-13 13:59:25 +00:00
70-test_sslsigalgs.t Add a test for mismatch between key OID and sig alg 2018-07-18 09:58:56 +01:00
70-test_sslsignature.t Update copyright year 2018-02-13 13:59:25 +00:00
70-test_sslskewith0p.t Update copyright year 2018-02-13 13:59:25 +00:00
70-test_sslversions.t Fix a bug in test_sslversions 2018-08-15 12:33:30 +01:00
70-test_sslvertol.t Update copyright year 2018-02-13 13:59:25 +00:00
70-test_tls13alerts.t Add a test for unencrypted alert 2018-08-08 10:16:58 +01:00
70-test_tls13cookie.t Update copyright year 2018-02-13 13:59:25 +00:00
70-test_tls13downgrade.t Turn on TLSv1.3 downgrade protection by default 2018-08-15 12:33:30 +01:00
70-test_tls13hrr.t Split configuration of TLSv1.3 ciphers from older ciphers 2018-03-14 10:15:50 +00:00
70-test_tls13kexmodes.t Update copyright year 2018-02-13 13:59:25 +00:00
70-test_tls13messages.t Change Post Handshake auth so that it is opt-in 2018-08-20 15:14:01 +01:00
70-test_tls13psk.t Fix miscellaneous typos in docs and source 2018-03-17 18:24:03 +01:00
70-test_tlsextms.t Update copyright year 2018-02-13 13:59:25 +00:00
70-test_verify_extra.t
70-test_wpacket.t
80-test_ca.t Add random serial# support. 2017-08-22 09:00:04 -04:00
80-test_cipherbytes.t
80-test_cipherlist.t Update copyright year 2018-04-03 13:57:12 +01:00
80-test_ciphername.t
80-test_cms.t no-ec2m fixes 2017-08-10 16:48:47 +01:00
80-test_cmsapi.t Add a CMS API test 2018-05-08 08:43:39 +01:00
80-test_ct.t
80-test_dane.t
80-test_dtls_mtu.t
80-test_dtls.t
80-test_dtlsv1listen.t
80-test_ocsp.t Add OCSP API test executable 2017-11-11 20:03:49 -06:00
80-test_pkcs12.t Update copyright year 2018-02-27 13:59:42 +00:00
80-test_ssl_new.t Fix no-ec 2018-03-14 19:24:54 +00:00
80-test_ssl_old.t Split configuration of TLSv1.3 ciphers from older ciphers 2018-03-14 10:15:50 +00:00
80-test_ssl_test_ctx.t
80-test_sslcorrupt.t
80-test_tsa.t
80-test_x509aux.t
90-test_asn1_time.t Consolidate to a single asn1_time_from_tm() function 2017-08-04 11:24:03 +10:00
90-test_async.t
90-test_bio_enc.t
90-test_constant_time.t
90-test_fatalerr.t Add a test for CVE-2017-3737 2017-12-06 15:37:49 +00:00
90-test_gmdiff.t
90-test_gost.t Skip the GOST test where appropriate 2018-07-17 11:57:46 +01:00
90-test_ige.t
90-test_includes.t CONF inclusion test: Add VMS specific tests 2018-03-12 23:01:02 +01:00
90-test_memleak.t
90-test_overhead.t
90-test_secmem.t
90-test_shlibload.t recipes/90-test_shlibload.t: disable tests on AIX till further notice. 2018-06-22 10:58:00 +02:00
90-test_srp.t
90-test_sslapi.t Update copyright year 2018-04-17 15:18:40 +02:00
90-test_sslbuffers.t
90-test_store.t OSSL_STORE: don't test file: URIs on Mingw 2018-05-30 16:10:42 +02:00
90-test_sysdefault.t Update copyright year 2018-03-20 13:08:46 +00:00
90-test_threads.t
90-test_time_offset.t
90-test_tls13ccs.t Don't run the TLSv1.3 CCS tests if TLSv1.3 is not enabled 2017-12-14 15:06:38 +00:00
90-test_tls13encryption.t Update copyright year 2018-02-13 13:59:25 +00:00
90-test_tls13secrets.t
90-test_v3name.t
95-test_external_boringssl.t
95-test_external_krb5.t
95-test_external_pyca.t
99-test_ecstress.t
99-test_fuzz.t Update copyright year 2018-04-03 13:57:12 +01:00
ocsp-response.der
tconversion.pl Consolidate the locations where we have our internal perl modules 2017-08-15 11:30:47 +02:00