<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/ec, branch libressl-v3.3.1</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=libressl-v3.3.1</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=libressl-v3.3.1'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2020-12-04T08:55:30+00:00</updated>
<entry>
<title>Move point-on-curve check to set_affine_coordinates</title>
<updated>2020-12-04T08:55:30+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2020-12-04T08:55:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=19beb136cce42fbe56d004577d27ddc0ca69f793'/>
<id>urn:sha1:19beb136cce42fbe56d004577d27ddc0ca69f793</id>
<content type='text'>
Bad API design makes it possible to set an EC_KEY public key to
a point not on the curve. As a consequence, it was possible to
have bogus ECDSA signatures validated. In practice, all software
uses either EC_POINT_oct2point*() to unmarshal public keys or
issues a call to EC_KEY_check_key() after setting it. This way,
a point on curve check is performed and the problem is mitigated.

In OpenSSL commit 1e2012b7ff4a5f12273446b281775faa5c8a1858, Emilia
Kasper moved the point-on-curve check from EC_POINT_oct2point to
EC_POINT_set_affine_coordinates_*, which results in more checking.
In addition to this commit, we also check in the currently unused
codepath of a user set callback for setting compressed coordinates,
just in case this will be used at some point in the future.

The documentation of EC_KEY_check_key() is very vague on what it
checks and when checks are needed.  It could certainly be improved
a lot. It's also strange that EC_KEY_set_key() performs no checks,
while EC_KEY_set_public_key_affine_coordinates() implicitly calls
EC_KEY_check_key().

It's a mess.

Issue found and reported by Guido Vranken who also tested an earlier
version of this fix.

ok jsing
</content>
</entry>
<entry>
<title>Add support for additional GOST curves.</title>
<updated>2020-06-05T17:12:09+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2020-06-05T17:12:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=372a12a5475c24c2858db2b25bf642082d1b6820'/>
<id>urn:sha1:372a12a5475c24c2858db2b25bf642082d1b6820</id>
<content type='text'>
These GOST curves are defined in RFC 7836 and draft-deremin-rfc4491-bis.
Add aliases for 256-bit GOST curves (see
draft-smyshlyaev-tls12-gost-suites) and rename the 512-bit curve ids to
follow names defined in tc26 OID registry.

Diff from Dmitry Baryshkov &lt;dbaryshkov@gmail.com&gt;

Sponsored by ROSA Linux.

ok inoguchi@
</content>
</entry>
<entry>
<title>If a NULL or zero cofactor is passed to EC_GROUP_set_generator(),</title>
<updated>2019-09-29T10:09:09+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2019-09-29T10:09:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=5d19ba5fbb605cdab0233383db708bad870da750'/>
<id>urn:sha1:5d19ba5fbb605cdab0233383db708bad870da750</id>
<content type='text'>
try to compute it using Hasse's bound.  This works as long as the
cofactor is small enough.

Port of Brumley's fix for CVE-2019-1547 in OpenSSL 1.1.1 (old license)

tests &amp; ok inoguchi
input &amp; ok jsing

commit 30c22fa8b1d840036b8e203585738df62a03cec8
Author: Billy Brumley &lt;bbrumley@gmail.com&gt;
Date:   Thu Sep 5 21:25:37 2019 +0300

    [crypto/ec] for ECC parameters with NULL or zero cofactor, compute it

    The cofactor argument to EC_GROUP_set_generator is optional, and SCA
    mitigations for ECC currently use it. So the library currently falls
    back to very old SCA-vulnerable code if the cofactor is not present.

    This PR allows EC_GROUP_set_generator to compute the cofactor for all
    curves of cryptographic interest. Steering scalar multiplication to more
    SCA-robust code.

    This issue affects persisted private keys in explicit parameter form,
    where the (optional) cofactor field is zero or absent.

    It also affects curves not built-in to the library, but constructed
    programatically with explicit parameters, then calling
    EC_GROUP_set_generator with a nonsensical value (NULL, zero).

    The very old scalar multiplication code is known to be vulnerable to
    local uarch attacks, outside of the OpenSSL threat model. New results
    suggest the code path is also vulnerable to traditional wall clock
    timing attacks.

    CVE-2019-1547

    Reviewed-by: Matt Caswell &lt;matt@openssl.org&gt;
    Reviewed-by: Tomas Mraz &lt;tmraz@fedoraproject.org&gt;
    Reviewed-by: Nicola Tuveri &lt;nic.tuv@gmail.com&gt;
    (Merged from https://github.com/openssl/openssl/pull/9781)
</content>
</entry>
<entry>
<title>Plug memory leak in error paths. Found while comparing this file</title>
<updated>2019-09-09T20:26:16+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2019-09-09T20:26:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=d49d20054e040ce4430db9cfc4805d021c35c549'/>
<id>urn:sha1:d49d20054e040ce4430db9cfc4805d021c35c549</id>
<content type='text'>
with OpenSSL 1.1.1's version which contains a similar fix.

ok jsing
</content>
</entry>
<entry>
<title>Provide EVP_PKEY_CTX_get_signature_md() macro and implement the</title>
<updated>2019-09-09T18:06:26+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2019-09-09T18:06:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=18a2a567e136745ffdad4c3346ee0b435f927909'/>
<id>urn:sha1:18a2a567e136745ffdad4c3346ee0b435f927909</id>
<content type='text'>
EVP_PKEY_CTRL_GET_MD control for DSA, EC and RSA.

This is used by the upcoming RSA CMS code.

ok inoguchi@ tb@
</content>
</entry>
<entry>
<title>Move #include &lt;openssl/cms.h&gt; to more appropriate location (since it is</title>
<updated>2019-09-09T17:56:00+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2019-09-09T17:56:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b80e4b6d577f24dd4a0a25bf26adc1fbc6f8310b'/>
<id>urn:sha1:b80e4b6d577f24dd4a0a25bf26adc1fbc6f8310b</id>
<content type='text'>
now being installed).
</content>
</entry>
<entry>
<title>Add CMS ECC support.</title>
<updated>2019-09-08T17:00:05+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2019-09-08T17:00:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=633c0b7b298b56e623ca77728f2044b8179ed6fd'/>
<id>urn:sha1:633c0b7b298b56e623ca77728f2044b8179ed6fd</id>
<content type='text'>
This brings in EC code from OpenSSL 1.1.1b, with style(9) and whitespace
cleanups. All of this code is currently under OPENSSL_NO_CMS hence is a
no-op.

ok inoguchi@
</content>
</entry>
<entry>
<title>Add various macros and controls for EC_PKEY_CTX.</title>
<updated>2019-09-06T17:59:25+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2019-09-06T17:59:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=428d94e41ffb941e459939409f837aa7a3ab188c'/>
<id>urn:sha1:428d94e41ffb941e459939409f837aa7a3ab188c</id>
<content type='text'>
These are needed for the upcoming EC CMS support (nothing else appears
to use them). This largely syncs our ec_pmeth.c with OpenSSL 1.1.1b.

With input from inoguchi@ and tb@.

ok inoguchi@ tb@
</content>
</entry>
<entry>
<title>Initialize EC_KEY_METHOD before use.</title>
<updated>2019-05-10T19:15:06+00:00</updated>
<author>
<name>bcook</name>
<email></email>
</author>
<published>2019-05-10T19:15:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=1acf1dca346bb7d5709e09f8ca115fbec8cea94e'/>
<id>urn:sha1:1acf1dca346bb7d5709e09f8ca115fbec8cea94e</id>
<content type='text'>
Fixes COV-186146

ok tb, beck
</content>
</entry>
<entry>
<title>$OpenBSD$</title>
<updated>2019-01-19T01:18:56+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2019-01-19T01:18:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b06dfc928cc93f45b249d94d8d77a37df942bf31'/>
<id>urn:sha1:b06dfc928cc93f45b249d94d8d77a37df942bf31</id>
<content type='text'>
</content>
</entry>
</feed>
