Conversion to UTF-8 where needed
This leaves behind files with names ending with '.iso-8859-1'. These should be safe to remove. If something went wrong when re-encoding, there will be some files with names ending with '.utf8' left behind. Reviewed-by: Rich Salz <rsalz@openssl.org>
This commit is contained in:
parent
5a3ce86e21
commit
9f0b86c68b
168
CHANGES
168
CHANGES
@ -59,9 +59,9 @@
|
|||||||
callbacks.
|
callbacks.
|
||||||
|
|
||||||
This issue was reported to OpenSSL by Robert Swiecki (Google), and
|
This issue was reported to OpenSSL by Robert Swiecki (Google), and
|
||||||
independently by Hanno Böck.
|
independently by Hanno Böck.
|
||||||
(CVE-2015-1789)
|
(CVE-2015-1789)
|
||||||
[Emilia Käsper]
|
[Emilia Käsper]
|
||||||
|
|
||||||
*) PKCS7 crash with missing EnvelopedContent
|
*) PKCS7 crash with missing EnvelopedContent
|
||||||
|
|
||||||
@ -75,7 +75,7 @@
|
|||||||
|
|
||||||
This issue was reported to OpenSSL by Michal Zalewski (Google).
|
This issue was reported to OpenSSL by Michal Zalewski (Google).
|
||||||
(CVE-2015-1790)
|
(CVE-2015-1790)
|
||||||
[Emilia Käsper]
|
[Emilia Käsper]
|
||||||
|
|
||||||
*) CMS verify infinite loop with unknown hash function
|
*) CMS verify infinite loop with unknown hash function
|
||||||
|
|
||||||
@ -205,7 +205,7 @@
|
|||||||
|
|
||||||
This issue was reported to OpenSSL by Michal Zalewski (Google).
|
This issue was reported to OpenSSL by Michal Zalewski (Google).
|
||||||
(CVE-2015-0289)
|
(CVE-2015-0289)
|
||||||
[Emilia Käsper]
|
[Emilia Käsper]
|
||||||
|
|
||||||
*) DoS via reachable assert in SSLv2 servers fix
|
*) DoS via reachable assert in SSLv2 servers fix
|
||||||
|
|
||||||
@ -213,10 +213,10 @@
|
|||||||
servers that both support SSLv2 and enable export cipher suites by sending
|
servers that both support SSLv2 and enable export cipher suites by sending
|
||||||
a specially crafted SSLv2 CLIENT-MASTER-KEY message.
|
a specially crafted SSLv2 CLIENT-MASTER-KEY message.
|
||||||
|
|
||||||
This issue was discovered by Sean Burford (Google) and Emilia Käsper
|
This issue was discovered by Sean Burford (Google) and Emilia Käsper
|
||||||
(OpenSSL development team).
|
(OpenSSL development team).
|
||||||
(CVE-2015-0293)
|
(CVE-2015-0293)
|
||||||
[Emilia Käsper]
|
[Emilia Käsper]
|
||||||
|
|
||||||
*) Empty CKE with client auth and DHE fix
|
*) Empty CKE with client auth and DHE fix
|
||||||
|
|
||||||
@ -721,12 +721,12 @@
|
|||||||
version does not match the session's version. Resuming with a different
|
version does not match the session's version. Resuming with a different
|
||||||
version, while not strictly forbidden by the RFC, is of questionable
|
version, while not strictly forbidden by the RFC, is of questionable
|
||||||
sanity and breaks all known clients.
|
sanity and breaks all known clients.
|
||||||
[David Benjamin, Emilia Käsper]
|
[David Benjamin, Emilia Käsper]
|
||||||
|
|
||||||
*) Tighten handling of the ChangeCipherSpec (CCS) message: reject
|
*) Tighten handling of the ChangeCipherSpec (CCS) message: reject
|
||||||
early CCS messages during renegotiation. (Note that because
|
early CCS messages during renegotiation. (Note that because
|
||||||
renegotiation is encrypted, this early CCS was not exploitable.)
|
renegotiation is encrypted, this early CCS was not exploitable.)
|
||||||
[Emilia Käsper]
|
[Emilia Käsper]
|
||||||
|
|
||||||
*) Tighten client-side session ticket handling during renegotiation:
|
*) Tighten client-side session ticket handling during renegotiation:
|
||||||
ensure that the client only accepts a session ticket if the server sends
|
ensure that the client only accepts a session ticket if the server sends
|
||||||
@ -737,7 +737,7 @@
|
|||||||
Similarly, ensure that the client requires a session ticket if one
|
Similarly, ensure that the client requires a session ticket if one
|
||||||
was advertised in the ServerHello. Previously, a TLS client would
|
was advertised in the ServerHello. Previously, a TLS client would
|
||||||
ignore a missing NewSessionTicket message.
|
ignore a missing NewSessionTicket message.
|
||||||
[Emilia Käsper]
|
[Emilia Käsper]
|
||||||
|
|
||||||
Changes between 1.0.1i and 1.0.1j [15 Oct 2014]
|
Changes between 1.0.1i and 1.0.1j [15 Oct 2014]
|
||||||
|
|
||||||
@ -817,10 +817,10 @@
|
|||||||
with a null pointer dereference (read) by specifying an anonymous (EC)DH
|
with a null pointer dereference (read) by specifying an anonymous (EC)DH
|
||||||
ciphersuite and sending carefully crafted handshake messages.
|
ciphersuite and sending carefully crafted handshake messages.
|
||||||
|
|
||||||
Thanks to Felix Gröbert (Google) for discovering and researching this
|
Thanks to Felix Gröbert (Google) for discovering and researching this
|
||||||
issue.
|
issue.
|
||||||
(CVE-2014-3510)
|
(CVE-2014-3510)
|
||||||
[Emilia Käsper]
|
[Emilia Käsper]
|
||||||
|
|
||||||
*) By sending carefully crafted DTLS packets an attacker could cause openssl
|
*) By sending carefully crafted DTLS packets an attacker could cause openssl
|
||||||
to leak memory. This can be exploited through a Denial of Service attack.
|
to leak memory. This can be exploited through a Denial of Service attack.
|
||||||
@ -857,7 +857,7 @@
|
|||||||
properly negotiated with the client. This can be exploited through a
|
properly negotiated with the client. This can be exploited through a
|
||||||
Denial of Service attack.
|
Denial of Service attack.
|
||||||
|
|
||||||
Thanks to Joonas Kuorilehto and Riku Hietamäki (Codenomicon) for
|
Thanks to Joonas Kuorilehto and Riku Hietamäki (Codenomicon) for
|
||||||
discovering and researching this issue.
|
discovering and researching this issue.
|
||||||
(CVE-2014-5139)
|
(CVE-2014-5139)
|
||||||
[Steve Henson]
|
[Steve Henson]
|
||||||
@ -869,7 +869,7 @@
|
|||||||
|
|
||||||
Thanks to Ivan Fratric (Google) for discovering this issue.
|
Thanks to Ivan Fratric (Google) for discovering this issue.
|
||||||
(CVE-2014-3508)
|
(CVE-2014-3508)
|
||||||
[Emilia Käsper, and Steve Henson]
|
[Emilia Käsper, and Steve Henson]
|
||||||
|
|
||||||
*) Fix ec_GFp_simple_points_make_affine (thus, EC_POINTs_mul etc.)
|
*) Fix ec_GFp_simple_points_make_affine (thus, EC_POINTs_mul etc.)
|
||||||
for corner cases. (Certain input points at infinity could lead to
|
for corner cases. (Certain input points at infinity could lead to
|
||||||
@ -899,15 +899,15 @@
|
|||||||
client or server. This is potentially exploitable to run arbitrary
|
client or server. This is potentially exploitable to run arbitrary
|
||||||
code on a vulnerable client or server.
|
code on a vulnerable client or server.
|
||||||
|
|
||||||
Thanks to Jüri Aedla for reporting this issue. (CVE-2014-0195)
|
Thanks to Jüri Aedla for reporting this issue. (CVE-2014-0195)
|
||||||
[Jüri Aedla, Steve Henson]
|
[Jüri Aedla, Steve Henson]
|
||||||
|
|
||||||
*) Fix bug in TLS code where clients enable anonymous ECDH ciphersuites
|
*) Fix bug in TLS code where clients enable anonymous ECDH ciphersuites
|
||||||
are subject to a denial of service attack.
|
are subject to a denial of service attack.
|
||||||
|
|
||||||
Thanks to Felix Gröbert and Ivan Fratric at Google for discovering
|
Thanks to Felix Gröbert and Ivan Fratric at Google for discovering
|
||||||
this issue. (CVE-2014-3470)
|
this issue. (CVE-2014-3470)
|
||||||
[Felix Gröbert, Ivan Fratric, Steve Henson]
|
[Felix Gröbert, Ivan Fratric, Steve Henson]
|
||||||
|
|
||||||
*) Harmonize version and its documentation. -f flag is used to display
|
*) Harmonize version and its documentation. -f flag is used to display
|
||||||
compilation flags.
|
compilation flags.
|
||||||
@ -986,9 +986,9 @@
|
|||||||
Thanks go to Nadhem Alfardan and Kenny Paterson of the Information
|
Thanks go to Nadhem Alfardan and Kenny Paterson of the Information
|
||||||
Security Group at Royal Holloway, University of London
|
Security Group at Royal Holloway, University of London
|
||||||
(www.isg.rhul.ac.uk) for discovering this flaw and Adam Langley and
|
(www.isg.rhul.ac.uk) for discovering this flaw and Adam Langley and
|
||||||
Emilia Käsper for the initial patch.
|
Emilia Käsper for the initial patch.
|
||||||
(CVE-2013-0169)
|
(CVE-2013-0169)
|
||||||
[Emilia Käsper, Adam Langley, Ben Laurie, Andy Polyakov, Steve Henson]
|
[Emilia Käsper, Adam Langley, Ben Laurie, Andy Polyakov, Steve Henson]
|
||||||
|
|
||||||
*) Fix flaw in AESNI handling of TLS 1.2 and 1.1 records for CBC mode
|
*) Fix flaw in AESNI handling of TLS 1.2 and 1.1 records for CBC mode
|
||||||
ciphersuites which can be exploited in a denial of service attack.
|
ciphersuites which can be exploited in a denial of service attack.
|
||||||
@ -1163,7 +1163,7 @@
|
|||||||
EC_GROUP_new_by_curve_name() will automatically use these (while
|
EC_GROUP_new_by_curve_name() will automatically use these (while
|
||||||
EC_GROUP_new_curve_GFp() currently prefers the more flexible
|
EC_GROUP_new_curve_GFp() currently prefers the more flexible
|
||||||
implementations).
|
implementations).
|
||||||
[Emilia Käsper, Adam Langley, Bodo Moeller (Google)]
|
[Emilia Käsper, Adam Langley, Bodo Moeller (Google)]
|
||||||
|
|
||||||
*) Use type ossl_ssize_t instad of ssize_t which isn't available on
|
*) Use type ossl_ssize_t instad of ssize_t which isn't available on
|
||||||
all platforms. Move ssize_t definition from e_os.h to the public
|
all platforms. Move ssize_t definition from e_os.h to the public
|
||||||
@ -1439,7 +1439,7 @@
|
|||||||
[Adam Langley (Google)]
|
[Adam Langley (Google)]
|
||||||
|
|
||||||
*) Fix spurious failures in ecdsatest.c.
|
*) Fix spurious failures in ecdsatest.c.
|
||||||
[Emilia Käsper (Google)]
|
[Emilia Käsper (Google)]
|
||||||
|
|
||||||
*) Fix the BIO_f_buffer() implementation (which was mixing different
|
*) Fix the BIO_f_buffer() implementation (which was mixing different
|
||||||
interpretations of the '..._len' fields).
|
interpretations of the '..._len' fields).
|
||||||
@ -1453,7 +1453,7 @@
|
|||||||
lock to call BN_BLINDING_invert_ex, and avoids one use of
|
lock to call BN_BLINDING_invert_ex, and avoids one use of
|
||||||
BN_BLINDING_update for each BN_BLINDING structure (previously,
|
BN_BLINDING_update for each BN_BLINDING structure (previously,
|
||||||
the last update always remained unused).
|
the last update always remained unused).
|
||||||
[Emilia Käsper (Google)]
|
[Emilia Käsper (Google)]
|
||||||
|
|
||||||
*) In ssl3_clear, preserve s3->init_extra along with s3->rbuf.
|
*) In ssl3_clear, preserve s3->init_extra along with s3->rbuf.
|
||||||
[Bob Buckholz (Google)]
|
[Bob Buckholz (Google)]
|
||||||
@ -2262,7 +2262,7 @@
|
|||||||
|
|
||||||
*) Add RFC 3161 compliant time stamp request creation, response generation
|
*) Add RFC 3161 compliant time stamp request creation, response generation
|
||||||
and response verification functionality.
|
and response verification functionality.
|
||||||
[Zoltán Glózik <zglozik@opentsa.org>, The OpenTSA Project]
|
[Zoltán Glózik <zglozik@opentsa.org>, The OpenTSA Project]
|
||||||
|
|
||||||
*) Add initial support for TLS extensions, specifically for the server_name
|
*) Add initial support for TLS extensions, specifically for the server_name
|
||||||
extension so far. The SSL_SESSION, SSL_CTX, and SSL data structures now
|
extension so far. The SSL_SESSION, SSL_CTX, and SSL data structures now
|
||||||
@ -3430,7 +3430,7 @@
|
|||||||
|
|
||||||
*) BN_CTX_get() should return zero-valued bignums, providing the same
|
*) BN_CTX_get() should return zero-valued bignums, providing the same
|
||||||
initialised value as BN_new().
|
initialised value as BN_new().
|
||||||
[Geoff Thorpe, suggested by Ulf Möller]
|
[Geoff Thorpe, suggested by Ulf Möller]
|
||||||
|
|
||||||
*) Support for inhibitAnyPolicy certificate extension.
|
*) Support for inhibitAnyPolicy certificate extension.
|
||||||
[Steve Henson]
|
[Steve Henson]
|
||||||
@ -3449,7 +3449,7 @@
|
|||||||
some point, these tighter rules will become openssl's default to improve
|
some point, these tighter rules will become openssl's default to improve
|
||||||
maintainability, though the assert()s and other overheads will remain only
|
maintainability, though the assert()s and other overheads will remain only
|
||||||
in debugging configurations. See bn.h for more details.
|
in debugging configurations. See bn.h for more details.
|
||||||
[Geoff Thorpe, Nils Larsch, Ulf Möller]
|
[Geoff Thorpe, Nils Larsch, Ulf Möller]
|
||||||
|
|
||||||
*) BN_CTX_init() has been deprecated, as BN_CTX is an opaque structure
|
*) BN_CTX_init() has been deprecated, as BN_CTX is an opaque structure
|
||||||
that can only be obtained through BN_CTX_new() (which implicitly
|
that can only be obtained through BN_CTX_new() (which implicitly
|
||||||
@ -3516,7 +3516,7 @@
|
|||||||
[Douglas Stebila (Sun Microsystems Laboratories)]
|
[Douglas Stebila (Sun Microsystems Laboratories)]
|
||||||
|
|
||||||
*) Add the possibility to load symbols globally with DSO.
|
*) Add the possibility to load symbols globally with DSO.
|
||||||
[Götz Babin-Ebell <babin-ebell@trustcenter.de> via Richard Levitte]
|
[Götz Babin-Ebell <babin-ebell@trustcenter.de> via Richard Levitte]
|
||||||
|
|
||||||
*) Add the functions ERR_set_mark() and ERR_pop_to_mark() for better
|
*) Add the functions ERR_set_mark() and ERR_pop_to_mark() for better
|
||||||
control of the error stack.
|
control of the error stack.
|
||||||
@ -4231,7 +4231,7 @@
|
|||||||
[Steve Henson]
|
[Steve Henson]
|
||||||
|
|
||||||
*) Undo Cygwin change.
|
*) Undo Cygwin change.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Added support for proxy certificates according to RFC 3820.
|
*) Added support for proxy certificates according to RFC 3820.
|
||||||
Because they may be a security thread to unaware applications,
|
Because they may be a security thread to unaware applications,
|
||||||
@ -4264,11 +4264,11 @@
|
|||||||
[Stephen Henson, reported by UK NISCC]
|
[Stephen Henson, reported by UK NISCC]
|
||||||
|
|
||||||
*) Use Windows randomness collection on Cygwin.
|
*) Use Windows randomness collection on Cygwin.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Fix hang in EGD/PRNGD query when communication socket is closed
|
*) Fix hang in EGD/PRNGD query when communication socket is closed
|
||||||
prematurely by EGD/PRNGD.
|
prematurely by EGD/PRNGD.
|
||||||
[Darren Tucker <dtucker@zip.com.au> via Lutz Jänicke, resolves #1014]
|
[Darren Tucker <dtucker@zip.com.au> via Lutz Jänicke, resolves #1014]
|
||||||
|
|
||||||
*) Prompt for pass phrases when appropriate for PKCS12 input format.
|
*) Prompt for pass phrases when appropriate for PKCS12 input format.
|
||||||
[Steve Henson]
|
[Steve Henson]
|
||||||
@ -4730,7 +4730,7 @@
|
|||||||
pointers passed to them whenever necessary. Otherwise it is possible
|
pointers passed to them whenever necessary. Otherwise it is possible
|
||||||
the caller may have overwritten (or deallocated) the original string
|
the caller may have overwritten (or deallocated) the original string
|
||||||
data when a later ENGINE operation tries to use the stored values.
|
data when a later ENGINE operation tries to use the stored values.
|
||||||
[Götz Babin-Ebell <babinebell@trustcenter.de>]
|
[Götz Babin-Ebell <babinebell@trustcenter.de>]
|
||||||
|
|
||||||
*) Improve diagnostics in file reading and command-line digests.
|
*) Improve diagnostics in file reading and command-line digests.
|
||||||
[Ben Laurie aided and abetted by Solar Designer <solar@openwall.com>]
|
[Ben Laurie aided and abetted by Solar Designer <solar@openwall.com>]
|
||||||
@ -6835,7 +6835,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Bodo Moeller]
|
[Bodo Moeller]
|
||||||
|
|
||||||
*) BN_sqr() bug fix.
|
*) BN_sqr() bug fix.
|
||||||
[Ulf Möller, reported by Jim Ellis <jim.ellis@cavium.com>]
|
[Ulf Möller, reported by Jim Ellis <jim.ellis@cavium.com>]
|
||||||
|
|
||||||
*) Rabin-Miller test analyses assume uniformly distributed witnesses,
|
*) Rabin-Miller test analyses assume uniformly distributed witnesses,
|
||||||
so use BN_pseudo_rand_range() instead of using BN_pseudo_rand()
|
so use BN_pseudo_rand_range() instead of using BN_pseudo_rand()
|
||||||
@ -6995,7 +6995,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Bodo Moeller]
|
[Bodo Moeller]
|
||||||
|
|
||||||
*) Fix OAEP check.
|
*) Fix OAEP check.
|
||||||
[Ulf Möller, Bodo Möller]
|
[Ulf Möller, Bodo Möller]
|
||||||
|
|
||||||
*) The countermeasure against Bleichbacher's attack on PKCS #1 v1.5
|
*) The countermeasure against Bleichbacher's attack on PKCS #1 v1.5
|
||||||
RSA encryption was accidentally removed in s3_srvr.c in OpenSSL 0.9.5
|
RSA encryption was accidentally removed in s3_srvr.c in OpenSSL 0.9.5
|
||||||
@ -7257,10 +7257,10 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Bodo Moeller]
|
[Bodo Moeller]
|
||||||
|
|
||||||
*) Use better test patterns in bntest.
|
*) Use better test patterns in bntest.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) rand_win.c fix for Borland C.
|
*) rand_win.c fix for Borland C.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) BN_rshift bugfix for n == 0.
|
*) BN_rshift bugfix for n == 0.
|
||||||
[Bodo Moeller]
|
[Bodo Moeller]
|
||||||
@ -7405,14 +7405,14 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
|
|
||||||
*) New BIO_shutdown_wr macro, which invokes the BIO_C_SHUTDOWN_WR
|
*) New BIO_shutdown_wr macro, which invokes the BIO_C_SHUTDOWN_WR
|
||||||
BIO_ctrl (for BIO pairs).
|
BIO_ctrl (for BIO pairs).
|
||||||
[Bodo Möller]
|
[Bodo Möller]
|
||||||
|
|
||||||
*) Add DSO method for VMS.
|
*) Add DSO method for VMS.
|
||||||
[Richard Levitte]
|
[Richard Levitte]
|
||||||
|
|
||||||
*) Bug fix: Montgomery multiplication could produce results with the
|
*) Bug fix: Montgomery multiplication could produce results with the
|
||||||
wrong sign.
|
wrong sign.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Add RPM specification openssl.spec and modify it to build three
|
*) Add RPM specification openssl.spec and modify it to build three
|
||||||
packages. The default package contains applications, application
|
packages. The default package contains applications, application
|
||||||
@ -7430,7 +7430,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
|
|
||||||
*) Don't set the two most significant bits to one when generating a
|
*) Don't set the two most significant bits to one when generating a
|
||||||
random number < q in the DSA library.
|
random number < q in the DSA library.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) New SSL API mode 'SSL_MODE_AUTO_RETRY'. This disables the default
|
*) New SSL API mode 'SSL_MODE_AUTO_RETRY'. This disables the default
|
||||||
behaviour that SSL_read may result in SSL_ERROR_WANT_READ (even if
|
behaviour that SSL_read may result in SSL_ERROR_WANT_READ (even if
|
||||||
@ -7696,7 +7696,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
*) Randomness polling function for Win9x, as described in:
|
*) Randomness polling function for Win9x, as described in:
|
||||||
Peter Gutmann, Software Generation of Practically Strong
|
Peter Gutmann, Software Generation of Practically Strong
|
||||||
Random Numbers.
|
Random Numbers.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Fix so PRNG is seeded in req if using an already existing
|
*) Fix so PRNG is seeded in req if using an already existing
|
||||||
DSA key.
|
DSA key.
|
||||||
@ -7916,7 +7916,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Steve Henson]
|
[Steve Henson]
|
||||||
|
|
||||||
*) Eliminate non-ANSI declarations in crypto.h and stack.h.
|
*) Eliminate non-ANSI declarations in crypto.h and stack.h.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Fix for SSL server purpose checking. Server checking was
|
*) Fix for SSL server purpose checking. Server checking was
|
||||||
rejecting certificates which had extended key usage present
|
rejecting certificates which had extended key usage present
|
||||||
@ -7948,7 +7948,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Bodo Moeller]
|
[Bodo Moeller]
|
||||||
|
|
||||||
*) Bugfix for linux-elf makefile.one.
|
*) Bugfix for linux-elf makefile.one.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) RSA_get_default_method() will now cause a default
|
*) RSA_get_default_method() will now cause a default
|
||||||
RSA_METHOD to be chosen if one doesn't exist already.
|
RSA_METHOD to be chosen if one doesn't exist already.
|
||||||
@ -8037,7 +8037,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Steve Henson]
|
[Steve Henson]
|
||||||
|
|
||||||
*) des_quad_cksum() byte order bug fix.
|
*) des_quad_cksum() byte order bug fix.
|
||||||
[Ulf Möller, using the problem description in krb4-0.9.7, where
|
[Ulf Möller, using the problem description in krb4-0.9.7, where
|
||||||
the solution is attributed to Derrick J Brashear <shadow@DEMENTIA.ORG>]
|
the solution is attributed to Derrick J Brashear <shadow@DEMENTIA.ORG>]
|
||||||
|
|
||||||
*) Fix so V_ASN1_APP_CHOOSE works again: however its use is strongly
|
*) Fix so V_ASN1_APP_CHOOSE works again: however its use is strongly
|
||||||
@ -8138,7 +8138,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Rolf Haberrecker <rolf@suse.de>]
|
[Rolf Haberrecker <rolf@suse.de>]
|
||||||
|
|
||||||
*) Assembler module support for Mingw32.
|
*) Assembler module support for Mingw32.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Shared library support for HPUX (in shlib/).
|
*) Shared library support for HPUX (in shlib/).
|
||||||
[Lutz Jaenicke <Lutz.Jaenicke@aet.TU-Cottbus.DE> and Anonymous]
|
[Lutz Jaenicke <Lutz.Jaenicke@aet.TU-Cottbus.DE> and Anonymous]
|
||||||
@ -8157,7 +8157,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
|
|
||||||
*) BN_mul bugfix: In bn_mul_part_recursion() only the a>a[n] && b>b[n]
|
*) BN_mul bugfix: In bn_mul_part_recursion() only the a>a[n] && b>b[n]
|
||||||
case was implemented. This caused BN_div_recp() to fail occasionally.
|
case was implemented. This caused BN_div_recp() to fail occasionally.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Add an optional second argument to the set_label() in the perl
|
*) Add an optional second argument to the set_label() in the perl
|
||||||
assembly language builder. If this argument exists and is set
|
assembly language builder. If this argument exists and is set
|
||||||
@ -8187,14 +8187,14 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Steve Henson]
|
[Steve Henson]
|
||||||
|
|
||||||
*) Fix potential buffer overrun problem in BIO_printf().
|
*) Fix potential buffer overrun problem in BIO_printf().
|
||||||
[Ulf Möller, using public domain code by Patrick Powell; problem
|
[Ulf Möller, using public domain code by Patrick Powell; problem
|
||||||
pointed out by David Sacerdote <das33@cornell.edu>]
|
pointed out by David Sacerdote <das33@cornell.edu>]
|
||||||
|
|
||||||
*) Support EGD <http://www.lothar.com/tech/crypto/>. New functions
|
*) Support EGD <http://www.lothar.com/tech/crypto/>. New functions
|
||||||
RAND_egd() and RAND_status(). In the command line application,
|
RAND_egd() and RAND_status(). In the command line application,
|
||||||
the EGD socket can be specified like a seed file using RANDFILE
|
the EGD socket can be specified like a seed file using RANDFILE
|
||||||
or -rand.
|
or -rand.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Allow the string CERTIFICATE to be tolerated in PKCS#7 structures.
|
*) Allow the string CERTIFICATE to be tolerated in PKCS#7 structures.
|
||||||
Some CAs (e.g. Verisign) distribute certificates in this form.
|
Some CAs (e.g. Verisign) distribute certificates in this form.
|
||||||
@ -8227,7 +8227,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
#define OPENSSL_ALGORITHM_DEFINES
|
#define OPENSSL_ALGORITHM_DEFINES
|
||||||
#include <openssl/opensslconf.h>
|
#include <openssl/opensslconf.h>
|
||||||
defines all pertinent NO_<algo> symbols, such as NO_IDEA, NO_RSA, etc.
|
defines all pertinent NO_<algo> symbols, such as NO_IDEA, NO_RSA, etc.
|
||||||
[Richard Levitte, Ulf and Bodo Möller]
|
[Richard Levitte, Ulf and Bodo Möller]
|
||||||
|
|
||||||
*) Bugfix: Tolerate fragmentation and interleaving in the SSL 3/TLS
|
*) Bugfix: Tolerate fragmentation and interleaving in the SSL 3/TLS
|
||||||
record layer.
|
record layer.
|
||||||
@ -8278,17 +8278,17 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
|
|
||||||
*) Bug fix for BN_div_recp() for numerators with an even number of
|
*) Bug fix for BN_div_recp() for numerators with an even number of
|
||||||
bits.
|
bits.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) More tests in bntest.c, and changed test_bn output.
|
*) More tests in bntest.c, and changed test_bn output.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) ./config recognizes MacOS X now.
|
*) ./config recognizes MacOS X now.
|
||||||
[Andy Polyakov]
|
[Andy Polyakov]
|
||||||
|
|
||||||
*) Bug fix for BN_div() when the first words of num and divsor are
|
*) Bug fix for BN_div() when the first words of num and divsor are
|
||||||
equal (it gave wrong results if (rem=(n1-q*d0)&BN_MASK2) < d0).
|
equal (it gave wrong results if (rem=(n1-q*d0)&BN_MASK2) < d0).
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Add support for various broken PKCS#8 formats, and command line
|
*) Add support for various broken PKCS#8 formats, and command line
|
||||||
options to produce them.
|
options to produce them.
|
||||||
@ -8296,11 +8296,11 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
|
|
||||||
*) New functions BN_CTX_start(), BN_CTX_get() and BT_CTX_end() to
|
*) New functions BN_CTX_start(), BN_CTX_get() and BT_CTX_end() to
|
||||||
get temporary BIGNUMs from a BN_CTX.
|
get temporary BIGNUMs from a BN_CTX.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Correct return values in BN_mod_exp_mont() and BN_mod_exp2_mont()
|
*) Correct return values in BN_mod_exp_mont() and BN_mod_exp2_mont()
|
||||||
for p == 0.
|
for p == 0.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Change the SSLeay_add_all_*() functions to OpenSSL_add_all_*() and
|
*) Change the SSLeay_add_all_*() functions to OpenSSL_add_all_*() and
|
||||||
include a #define from the old name to the new. The original intent
|
include a #define from the old name to the new. The original intent
|
||||||
@ -8324,7 +8324,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
|
|
||||||
*) Source code cleanups: use const where appropriate, eliminate casts,
|
*) Source code cleanups: use const where appropriate, eliminate casts,
|
||||||
use void * instead of char * in lhash.
|
use void * instead of char * in lhash.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Bugfix: ssl3_send_server_key_exchange was not restartable
|
*) Bugfix: ssl3_send_server_key_exchange was not restartable
|
||||||
(the state was not changed to SSL3_ST_SW_KEY_EXCH_B, and because of
|
(the state was not changed to SSL3_ST_SW_KEY_EXCH_B, and because of
|
||||||
@ -8369,13 +8369,13 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Steve Henson]
|
[Steve Henson]
|
||||||
|
|
||||||
*) New function BN_pseudo_rand().
|
*) New function BN_pseudo_rand().
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Clean up BN_mod_mul_montgomery(): replace the broken (and unreadable)
|
*) Clean up BN_mod_mul_montgomery(): replace the broken (and unreadable)
|
||||||
bignum version of BN_from_montgomery() with the working code from
|
bignum version of BN_from_montgomery() with the working code from
|
||||||
SSLeay 0.9.0 (the word based version is faster anyway), and clean up
|
SSLeay 0.9.0 (the word based version is faster anyway), and clean up
|
||||||
the comments.
|
the comments.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Avoid a race condition in s2_clnt.c (function get_server_hello) that
|
*) Avoid a race condition in s2_clnt.c (function get_server_hello) that
|
||||||
made it impossible to use the same SSL_SESSION data structure in
|
made it impossible to use the same SSL_SESSION data structure in
|
||||||
@ -8385,25 +8385,25 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
*) The return value of RAND_load_file() no longer counts bytes obtained
|
*) The return value of RAND_load_file() no longer counts bytes obtained
|
||||||
by stat(). RAND_load_file(..., -1) is new and uses the complete file
|
by stat(). RAND_load_file(..., -1) is new and uses the complete file
|
||||||
to seed the PRNG (previously an explicit byte count was required).
|
to seed the PRNG (previously an explicit byte count was required).
|
||||||
[Ulf Möller, Bodo Möller]
|
[Ulf Möller, Bodo Möller]
|
||||||
|
|
||||||
*) Clean up CRYPTO_EX_DATA functions, some of these didn't have prototypes
|
*) Clean up CRYPTO_EX_DATA functions, some of these didn't have prototypes
|
||||||
used (char *) instead of (void *) and had casts all over the place.
|
used (char *) instead of (void *) and had casts all over the place.
|
||||||
[Steve Henson]
|
[Steve Henson]
|
||||||
|
|
||||||
*) Make BN_generate_prime() return NULL on error if ret!=NULL.
|
*) Make BN_generate_prime() return NULL on error if ret!=NULL.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Retain source code compatibility for BN_prime_checks macro:
|
*) Retain source code compatibility for BN_prime_checks macro:
|
||||||
BN_is_prime(..., BN_prime_checks, ...) now uses
|
BN_is_prime(..., BN_prime_checks, ...) now uses
|
||||||
BN_prime_checks_for_size to determine the appropriate number of
|
BN_prime_checks_for_size to determine the appropriate number of
|
||||||
Rabin-Miller iterations.
|
Rabin-Miller iterations.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Diffie-Hellman uses "safe" primes: DH_check() return code renamed to
|
*) Diffie-Hellman uses "safe" primes: DH_check() return code renamed to
|
||||||
DH_CHECK_P_NOT_SAFE_PRIME.
|
DH_CHECK_P_NOT_SAFE_PRIME.
|
||||||
(Check if this is true? OpenPGP calls them "strong".)
|
(Check if this is true? OpenPGP calls them "strong".)
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Merge the functionality of "dh" and "gendh" programs into a new program
|
*) Merge the functionality of "dh" and "gendh" programs into a new program
|
||||||
"dhparam". The old programs are retained for now but will handle DH keys
|
"dhparam". The old programs are retained for now but will handle DH keys
|
||||||
@ -8459,7 +8459,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
*) Add missing #ifndefs that caused missing symbols when building libssl
|
*) Add missing #ifndefs that caused missing symbols when building libssl
|
||||||
as a shared library without RSA. Use #ifndef NO_SSL2 instead of
|
as a shared library without RSA. Use #ifndef NO_SSL2 instead of
|
||||||
NO_RSA in ssl/s2*.c.
|
NO_RSA in ssl/s2*.c.
|
||||||
[Kris Kennaway <kris@hub.freebsd.org>, modified by Ulf Möller]
|
[Kris Kennaway <kris@hub.freebsd.org>, modified by Ulf Möller]
|
||||||
|
|
||||||
*) Precautions against using the PRNG uninitialized: RAND_bytes() now
|
*) Precautions against using the PRNG uninitialized: RAND_bytes() now
|
||||||
has a return value which indicates the quality of the random data
|
has a return value which indicates the quality of the random data
|
||||||
@ -8468,7 +8468,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
guaranteed to be unique but not unpredictable. RAND_add is like
|
guaranteed to be unique but not unpredictable. RAND_add is like
|
||||||
RAND_seed, but takes an extra argument for an entropy estimate
|
RAND_seed, but takes an extra argument for an entropy estimate
|
||||||
(RAND_seed always assumes full entropy).
|
(RAND_seed always assumes full entropy).
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Do more iterations of Rabin-Miller probable prime test (specifically,
|
*) Do more iterations of Rabin-Miller probable prime test (specifically,
|
||||||
3 for 1024-bit primes, 6 for 512-bit primes, 12 for 256-bit primes
|
3 for 1024-bit primes, 6 for 512-bit primes, 12 for 256-bit primes
|
||||||
@ -8498,7 +8498,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Steve Henson]
|
[Steve Henson]
|
||||||
|
|
||||||
*) Honor the no-xxx Configure options when creating .DEF files.
|
*) Honor the no-xxx Configure options when creating .DEF files.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Add PKCS#10 attributes to field table: challengePassword,
|
*) Add PKCS#10 attributes to field table: challengePassword,
|
||||||
unstructuredName and unstructuredAddress. These are taken from
|
unstructuredName and unstructuredAddress. These are taken from
|
||||||
@ -9332,7 +9332,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
|
|
||||||
*) More DES library cleanups: remove references to srand/rand and
|
*) More DES library cleanups: remove references to srand/rand and
|
||||||
delete an unused file.
|
delete an unused file.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Add support for the the free Netwide assembler (NASM) under Win32,
|
*) Add support for the the free Netwide assembler (NASM) under Win32,
|
||||||
since not many people have MASM (ml) and it can be hard to obtain.
|
since not many people have MASM (ml) and it can be hard to obtain.
|
||||||
@ -9421,7 +9421,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
worked.
|
worked.
|
||||||
|
|
||||||
*) Fix problems with no-hmac etc.
|
*) Fix problems with no-hmac etc.
|
||||||
[Ulf Möller, pointed out by Brian Wellington <bwelling@tislabs.com>]
|
[Ulf Möller, pointed out by Brian Wellington <bwelling@tislabs.com>]
|
||||||
|
|
||||||
*) New functions RSA_get_default_method(), RSA_set_method() and
|
*) New functions RSA_get_default_method(), RSA_set_method() and
|
||||||
RSA_get_method(). These allows replacement of RSA_METHODs without having
|
RSA_get_method(). These allows replacement of RSA_METHODs without having
|
||||||
@ -9538,7 +9538,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Ben Laurie]
|
[Ben Laurie]
|
||||||
|
|
||||||
*) DES library cleanups.
|
*) DES library cleanups.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Add support for PKCS#5 v2.0 PBE algorithms. This will permit PKCS#8 to be
|
*) Add support for PKCS#5 v2.0 PBE algorithms. This will permit PKCS#8 to be
|
||||||
used with any cipher unlike PKCS#5 v1.5 which can at most handle 64 bit
|
used with any cipher unlike PKCS#5 v1.5 which can at most handle 64 bit
|
||||||
@ -9581,7 +9581,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Christian Forster <fo@hawo.stw.uni-erlangen.de>]
|
[Christian Forster <fo@hawo.stw.uni-erlangen.de>]
|
||||||
|
|
||||||
*) config now generates no-xxx options for missing ciphers.
|
*) config now generates no-xxx options for missing ciphers.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Support the EBCDIC character set (work in progress).
|
*) Support the EBCDIC character set (work in progress).
|
||||||
File ebcdic.c not yet included because it has a different license.
|
File ebcdic.c not yet included because it has a different license.
|
||||||
@ -9694,7 +9694,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Bodo Moeller]
|
[Bodo Moeller]
|
||||||
|
|
||||||
*) Move openssl.cnf out of lib/.
|
*) Move openssl.cnf out of lib/.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Fix various things to let OpenSSL even pass ``egcc -pipe -O2 -Wall
|
*) Fix various things to let OpenSSL even pass ``egcc -pipe -O2 -Wall
|
||||||
-Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes
|
-Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes
|
||||||
@ -9751,10 +9751,10 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Ben Laurie]
|
[Ben Laurie]
|
||||||
|
|
||||||
*) Support Borland C++ builder.
|
*) Support Borland C++ builder.
|
||||||
[Janez Jere <jj@void.si>, modified by Ulf Möller]
|
[Janez Jere <jj@void.si>, modified by Ulf Möller]
|
||||||
|
|
||||||
*) Support Mingw32.
|
*) Support Mingw32.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) SHA-1 cleanups and performance enhancements.
|
*) SHA-1 cleanups and performance enhancements.
|
||||||
[Andy Polyakov <appro@fy.chalmers.se>]
|
[Andy Polyakov <appro@fy.chalmers.se>]
|
||||||
@ -9763,7 +9763,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Andy Polyakov <appro@fy.chalmers.se>]
|
[Andy Polyakov <appro@fy.chalmers.se>]
|
||||||
|
|
||||||
*) Accept any -xxx and +xxx compiler options in Configure.
|
*) Accept any -xxx and +xxx compiler options in Configure.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Update HPUX configuration.
|
*) Update HPUX configuration.
|
||||||
[Anonymous]
|
[Anonymous]
|
||||||
@ -9796,7 +9796,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Bodo Moeller]
|
[Bodo Moeller]
|
||||||
|
|
||||||
*) OAEP decoding bug fix.
|
*) OAEP decoding bug fix.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Support INSTALL_PREFIX for package builders, as proposed by
|
*) Support INSTALL_PREFIX for package builders, as proposed by
|
||||||
David Harris.
|
David Harris.
|
||||||
@ -9819,21 +9819,21 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Niels Poppe <niels@netbox.org>]
|
[Niels Poppe <niels@netbox.org>]
|
||||||
|
|
||||||
*) New Configure option no-<cipher> (rsa, idea, rc5, ...).
|
*) New Configure option no-<cipher> (rsa, idea, rc5, ...).
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Add the PKCS#12 API documentation to openssl.txt. Preliminary support for
|
*) Add the PKCS#12 API documentation to openssl.txt. Preliminary support for
|
||||||
extension adding in x509 utility.
|
extension adding in x509 utility.
|
||||||
[Steve Henson]
|
[Steve Henson]
|
||||||
|
|
||||||
*) Remove NOPROTO sections and error code comments.
|
*) Remove NOPROTO sections and error code comments.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Partial rewrite of the DEF file generator to now parse the ANSI
|
*) Partial rewrite of the DEF file generator to now parse the ANSI
|
||||||
prototypes.
|
prototypes.
|
||||||
[Steve Henson]
|
[Steve Henson]
|
||||||
|
|
||||||
*) New Configure options --prefix=DIR and --openssldir=DIR.
|
*) New Configure options --prefix=DIR and --openssldir=DIR.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Complete rewrite of the error code script(s). It is all now handled
|
*) Complete rewrite of the error code script(s). It is all now handled
|
||||||
by one script at the top level which handles error code gathering,
|
by one script at the top level which handles error code gathering,
|
||||||
@ -9862,7 +9862,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Steve Henson]
|
[Steve Henson]
|
||||||
|
|
||||||
*) Move the autogenerated header file parts to crypto/opensslconf.h.
|
*) Move the autogenerated header file parts to crypto/opensslconf.h.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Fix new 56-bit DES export ciphersuites: they were using 7 bytes instead of
|
*) Fix new 56-bit DES export ciphersuites: they were using 7 bytes instead of
|
||||||
8 of keying material. Merlin has also confirmed interop with this fix
|
8 of keying material. Merlin has also confirmed interop with this fix
|
||||||
@ -9880,13 +9880,13 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Andy Polyakov <appro@fy.chalmers.se>]
|
[Andy Polyakov <appro@fy.chalmers.se>]
|
||||||
|
|
||||||
*) Change functions to ANSI C.
|
*) Change functions to ANSI C.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Fix typos in error codes.
|
*) Fix typos in error codes.
|
||||||
[Martin Kraemer <Martin.Kraemer@MchP.Siemens.De>, Ulf Möller]
|
[Martin Kraemer <Martin.Kraemer@MchP.Siemens.De>, Ulf Möller]
|
||||||
|
|
||||||
*) Remove defunct assembler files from Configure.
|
*) Remove defunct assembler files from Configure.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) SPARC v8 assembler BIGNUM implementation.
|
*) SPARC v8 assembler BIGNUM implementation.
|
||||||
[Andy Polyakov <appro@fy.chalmers.se>]
|
[Andy Polyakov <appro@fy.chalmers.se>]
|
||||||
@ -9923,7 +9923,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Steve Henson]
|
[Steve Henson]
|
||||||
|
|
||||||
*) New Configure option "rsaref".
|
*) New Configure option "rsaref".
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Don't auto-generate pem.h.
|
*) Don't auto-generate pem.h.
|
||||||
[Bodo Moeller]
|
[Bodo Moeller]
|
||||||
@ -9971,7 +9971,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
|
|
||||||
*) New functions DSA_do_sign and DSA_do_verify to provide access to
|
*) New functions DSA_do_sign and DSA_do_verify to provide access to
|
||||||
the raw DSA values prior to ASN.1 encoding.
|
the raw DSA values prior to ASN.1 encoding.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Tweaks to Configure
|
*) Tweaks to Configure
|
||||||
[Niels Poppe <niels@netbox.org>]
|
[Niels Poppe <niels@netbox.org>]
|
||||||
@ -9981,11 +9981,11 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Steve Henson]
|
[Steve Henson]
|
||||||
|
|
||||||
*) New variables $(RANLIB) and $(PERL) in the Makefiles.
|
*) New variables $(RANLIB) and $(PERL) in the Makefiles.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) New config option to avoid instructions that are illegal on the 80386.
|
*) New config option to avoid instructions that are illegal on the 80386.
|
||||||
The default code is faster, but requires at least a 486.
|
The default code is faster, but requires at least a 486.
|
||||||
[Ulf Möller]
|
[Ulf Möller]
|
||||||
|
|
||||||
*) Got rid of old SSL2_CLIENT_VERSION (inconsistently used) and
|
*) Got rid of old SSL2_CLIENT_VERSION (inconsistently used) and
|
||||||
SSL2_SERVER_VERSION (not used at all) macros, which are now the
|
SSL2_SERVER_VERSION (not used at all) macros, which are now the
|
||||||
@ -10524,7 +10524,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
Hagino <itojun@kame.net>]
|
Hagino <itojun@kame.net>]
|
||||||
|
|
||||||
*) File was opened incorrectly in randfile.c.
|
*) File was opened incorrectly in randfile.c.
|
||||||
[Ulf Möller <ulf@fitug.de>]
|
[Ulf Möller <ulf@fitug.de>]
|
||||||
|
|
||||||
*) Beginning of support for GeneralizedTime. d2i, i2d, check and print
|
*) Beginning of support for GeneralizedTime. d2i, i2d, check and print
|
||||||
functions. Also ASN1_TIME suite which is a CHOICE of UTCTime or
|
functions. Also ASN1_TIME suite which is a CHOICE of UTCTime or
|
||||||
@ -10534,7 +10534,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
[Steve Henson]
|
[Steve Henson]
|
||||||
|
|
||||||
*) Correct Linux 1 recognition in config.
|
*) Correct Linux 1 recognition in config.
|
||||||
[Ulf Möller <ulf@fitug.de>]
|
[Ulf Möller <ulf@fitug.de>]
|
||||||
|
|
||||||
*) Remove pointless MD5 hash when using DSA keys in ca.
|
*) Remove pointless MD5 hash when using DSA keys in ca.
|
||||||
[Anonymous <nobody@replay.com>]
|
[Anonymous <nobody@replay.com>]
|
||||||
@ -10681,7 +10681,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k
|
|||||||
|
|
||||||
*) Fix the RSA header declarations that hid a bug I fixed in 0.9.0b but
|
*) Fix the RSA header declarations that hid a bug I fixed in 0.9.0b but
|
||||||
was already fixed by Eric for 0.9.1 it seems.
|
was already fixed by Eric for 0.9.1 it seems.
|
||||||
[Ben Laurie - pointed out by Ulf Möller <ulf@fitug.de>]
|
[Ben Laurie - pointed out by Ulf Möller <ulf@fitug.de>]
|
||||||
|
|
||||||
*) Autodetect FreeBSD3.
|
*) Autodetect FreeBSD3.
|
||||||
[Ben Laurie]
|
[Ben Laurie]
|
||||||
|
@ -45,7 +45,7 @@
|
|||||||
# the undertaken effort was that it appeared that in tight IA-32
|
# the undertaken effort was that it appeared that in tight IA-32
|
||||||
# register window little-endian flavor could achieve slightly higher
|
# register window little-endian flavor could achieve slightly higher
|
||||||
# Instruction Level Parallelism, and it indeed resulted in up to 15%
|
# Instruction Level Parallelism, and it indeed resulted in up to 15%
|
||||||
# better performance on most recent µ-archs...
|
# better performance on most recent µ-archs...
|
||||||
#
|
#
|
||||||
# Third version adds AES_cbc_encrypt implementation, which resulted in
|
# Third version adds AES_cbc_encrypt implementation, which resulted in
|
||||||
# up to 40% performance imrovement of CBC benchmark results. 40% was
|
# up to 40% performance imrovement of CBC benchmark results. 40% was
|
||||||
@ -224,7 +224,7 @@ sub _data_word() { my $i; while(defined($i=shift)) { &data_word($i,$i); } }
|
|||||||
$speed_limit=512; # chunks smaller than $speed_limit are
|
$speed_limit=512; # chunks smaller than $speed_limit are
|
||||||
# processed with compact routine in CBC mode
|
# processed with compact routine in CBC mode
|
||||||
$small_footprint=1; # $small_footprint=1 code is ~5% slower [on
|
$small_footprint=1; # $small_footprint=1 code is ~5% slower [on
|
||||||
# recent µ-archs], but ~5 times smaller!
|
# recent µ-archs], but ~5 times smaller!
|
||||||
# I favor compact code to minimize cache
|
# I favor compact code to minimize cache
|
||||||
# contention and in hope to "collect" 5% back
|
# contention and in hope to "collect" 5% back
|
||||||
# in real-life applications...
|
# in real-life applications...
|
||||||
@ -565,7 +565,7 @@ sub enctransform()
|
|||||||
# Performance is not actually extraordinary in comparison to pure
|
# Performance is not actually extraordinary in comparison to pure
|
||||||
# x86 code. In particular encrypt performance is virtually the same.
|
# x86 code. In particular encrypt performance is virtually the same.
|
||||||
# Decrypt performance on the other hand is 15-20% better on newer
|
# Decrypt performance on the other hand is 15-20% better on newer
|
||||||
# µ-archs [but we're thankful for *any* improvement here], and ~50%
|
# µ-archs [but we're thankful for *any* improvement here], and ~50%
|
||||||
# better on PIII:-) And additionally on the pros side this code
|
# better on PIII:-) And additionally on the pros side this code
|
||||||
# eliminates redundant references to stack and thus relieves/
|
# eliminates redundant references to stack and thus relieves/
|
||||||
# minimizes the pressure on the memory bus.
|
# minimizes the pressure on the memory bus.
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
# referred below, which improves ECDH and ECDSA verify benchmarks
|
# referred below, which improves ECDH and ECDSA verify benchmarks
|
||||||
# by 18-40%.
|
# by 18-40%.
|
||||||
#
|
#
|
||||||
# Câmara, D.; Gouvêa, C. P. L.; López, J. & Dahab, R.: Fast Software
|
# Câmara, D.; Gouvêa, C. P. L.; López, J. & Dahab, R.: Fast Software
|
||||||
# Polynomial Multiplication on ARM Processors using the NEON Engine.
|
# Polynomial Multiplication on ARM Processors using the NEON Engine.
|
||||||
#
|
#
|
||||||
# http://conradoplg.cryptoland.net/files/2010/12/mocrysen13.pdf
|
# http://conradoplg.cryptoland.net/files/2010/12/mocrysen13.pdf
|
||||||
@ -136,7 +136,7 @@ ___
|
|||||||
################
|
################
|
||||||
# void bn_GF2m_mul_2x2(BN_ULONG *r,
|
# void bn_GF2m_mul_2x2(BN_ULONG *r,
|
||||||
# BN_ULONG a1,BN_ULONG a0,
|
# BN_ULONG a1,BN_ULONG a0,
|
||||||
# BN_ULONG b1,BN_ULONG b0); # r[3..0]=a1a0·b1b0
|
# BN_ULONG b1,BN_ULONG b0); # r[3..0]=a1a0·b1b0
|
||||||
{
|
{
|
||||||
$code.=<<___;
|
$code.=<<___;
|
||||||
.global bn_GF2m_mul_2x2
|
.global bn_GF2m_mul_2x2
|
||||||
@ -159,7 +159,7 @@ $code.=<<___;
|
|||||||
mov $mask,#7<<2
|
mov $mask,#7<<2
|
||||||
sub sp,sp,#32 @ allocate tab[8]
|
sub sp,sp,#32 @ allocate tab[8]
|
||||||
|
|
||||||
bl mul_1x1_ialu @ a1·b1
|
bl mul_1x1_ialu @ a1·b1
|
||||||
str $lo,[$ret,#8]
|
str $lo,[$ret,#8]
|
||||||
str $hi,[$ret,#12]
|
str $hi,[$ret,#12]
|
||||||
|
|
||||||
@ -169,13 +169,13 @@ $code.=<<___;
|
|||||||
eor r2,r2,$a
|
eor r2,r2,$a
|
||||||
eor $b,$b,r3
|
eor $b,$b,r3
|
||||||
eor $a,$a,r2
|
eor $a,$a,r2
|
||||||
bl mul_1x1_ialu @ a0·b0
|
bl mul_1x1_ialu @ a0·b0
|
||||||
str $lo,[$ret]
|
str $lo,[$ret]
|
||||||
str $hi,[$ret,#4]
|
str $hi,[$ret,#4]
|
||||||
|
|
||||||
eor $a,$a,r2
|
eor $a,$a,r2
|
||||||
eor $b,$b,r3
|
eor $b,$b,r3
|
||||||
bl mul_1x1_ialu @ (a1+a0)·(b1+b0)
|
bl mul_1x1_ialu @ (a1+a0)·(b1+b0)
|
||||||
___
|
___
|
||||||
@r=map("r$_",(6..9));
|
@r=map("r$_",(6..9));
|
||||||
$code.=<<___;
|
$code.=<<___;
|
||||||
|
@ -568,7 +568,7 @@ bn_sqr_comba8:
|
|||||||
// I've estimated this routine to run in ~120 ticks, but in reality
|
// I've estimated this routine to run in ~120 ticks, but in reality
|
||||||
// (i.e. according to ar.itc) it takes ~160 ticks. Are those extra
|
// (i.e. according to ar.itc) it takes ~160 ticks. Are those extra
|
||||||
// cycles consumed for instructions fetch? Or did I misinterpret some
|
// cycles consumed for instructions fetch? Or did I misinterpret some
|
||||||
// clause in Itanium µ-architecture manual? Comments are welcomed and
|
// clause in Itanium µ-architecture manual? Comments are welcomed and
|
||||||
// highly appreciated.
|
// highly appreciated.
|
||||||
//
|
//
|
||||||
// On Itanium 2 it takes ~190 ticks. This is because of stalls on
|
// On Itanium 2 it takes ~190 ticks. This is because of stalls on
|
||||||
|
@ -172,19 +172,19 @@ ___
|
|||||||
if ($SIZE_T==8) {
|
if ($SIZE_T==8) {
|
||||||
my @r=map("%r$_",(6..9));
|
my @r=map("%r$_",(6..9));
|
||||||
$code.=<<___;
|
$code.=<<___;
|
||||||
bras $ra,_mul_1x1 # a1·b1
|
bras $ra,_mul_1x1 # a1·b1
|
||||||
stmg $lo,$hi,16($rp)
|
stmg $lo,$hi,16($rp)
|
||||||
|
|
||||||
lg $a,`$stdframe+128+4*$SIZE_T`($sp)
|
lg $a,`$stdframe+128+4*$SIZE_T`($sp)
|
||||||
lg $b,`$stdframe+128+6*$SIZE_T`($sp)
|
lg $b,`$stdframe+128+6*$SIZE_T`($sp)
|
||||||
bras $ra,_mul_1x1 # a0·b0
|
bras $ra,_mul_1x1 # a0·b0
|
||||||
stmg $lo,$hi,0($rp)
|
stmg $lo,$hi,0($rp)
|
||||||
|
|
||||||
lg $a,`$stdframe+128+3*$SIZE_T`($sp)
|
lg $a,`$stdframe+128+3*$SIZE_T`($sp)
|
||||||
lg $b,`$stdframe+128+5*$SIZE_T`($sp)
|
lg $b,`$stdframe+128+5*$SIZE_T`($sp)
|
||||||
xg $a,`$stdframe+128+4*$SIZE_T`($sp)
|
xg $a,`$stdframe+128+4*$SIZE_T`($sp)
|
||||||
xg $b,`$stdframe+128+6*$SIZE_T`($sp)
|
xg $b,`$stdframe+128+6*$SIZE_T`($sp)
|
||||||
bras $ra,_mul_1x1 # (a0+a1)·(b0+b1)
|
bras $ra,_mul_1x1 # (a0+a1)·(b0+b1)
|
||||||
lmg @r[0],@r[3],0($rp)
|
lmg @r[0],@r[3],0($rp)
|
||||||
|
|
||||||
xgr $lo,$hi
|
xgr $lo,$hi
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
# the time being... Except that it has three code paths: pure integer
|
# the time being... Except that it has three code paths: pure integer
|
||||||
# code suitable for any x86 CPU, MMX code suitable for PIII and later
|
# code suitable for any x86 CPU, MMX code suitable for PIII and later
|
||||||
# and PCLMULQDQ suitable for Westmere and later. Improvement varies
|
# and PCLMULQDQ suitable for Westmere and later. Improvement varies
|
||||||
# from one benchmark and µ-arch to another. Below are interval values
|
# from one benchmark and µ-arch to another. Below are interval values
|
||||||
# for 163- and 571-bit ECDH benchmarks relative to compiler-generated
|
# for 163- and 571-bit ECDH benchmarks relative to compiler-generated
|
||||||
# code:
|
# code:
|
||||||
#
|
#
|
||||||
@ -226,22 +226,22 @@ if ($sse2) {
|
|||||||
&push ("edi");
|
&push ("edi");
|
||||||
&mov ($a,&wparam(1));
|
&mov ($a,&wparam(1));
|
||||||
&mov ($b,&wparam(3));
|
&mov ($b,&wparam(3));
|
||||||
&call ("_mul_1x1_mmx"); # a1·b1
|
&call ("_mul_1x1_mmx"); # a1·b1
|
||||||
&movq ("mm7",$R);
|
&movq ("mm7",$R);
|
||||||
|
|
||||||
&mov ($a,&wparam(2));
|
&mov ($a,&wparam(2));
|
||||||
&mov ($b,&wparam(4));
|
&mov ($b,&wparam(4));
|
||||||
&call ("_mul_1x1_mmx"); # a0·b0
|
&call ("_mul_1x1_mmx"); # a0·b0
|
||||||
&movq ("mm6",$R);
|
&movq ("mm6",$R);
|
||||||
|
|
||||||
&mov ($a,&wparam(1));
|
&mov ($a,&wparam(1));
|
||||||
&mov ($b,&wparam(3));
|
&mov ($b,&wparam(3));
|
||||||
&xor ($a,&wparam(2));
|
&xor ($a,&wparam(2));
|
||||||
&xor ($b,&wparam(4));
|
&xor ($b,&wparam(4));
|
||||||
&call ("_mul_1x1_mmx"); # (a0+a1)·(b0+b1)
|
&call ("_mul_1x1_mmx"); # (a0+a1)·(b0+b1)
|
||||||
&pxor ($R,"mm7");
|
&pxor ($R,"mm7");
|
||||||
&mov ($a,&wparam(0));
|
&mov ($a,&wparam(0));
|
||||||
&pxor ($R,"mm6"); # (a0+a1)·(b0+b1)-a1·b1-a0·b0
|
&pxor ($R,"mm6"); # (a0+a1)·(b0+b1)-a1·b1-a0·b0
|
||||||
|
|
||||||
&movq ($A,$R);
|
&movq ($A,$R);
|
||||||
&psllq ($R,32);
|
&psllq ($R,32);
|
||||||
@ -266,13 +266,13 @@ if ($sse2) {
|
|||||||
|
|
||||||
&mov ($a,&wparam(1));
|
&mov ($a,&wparam(1));
|
||||||
&mov ($b,&wparam(3));
|
&mov ($b,&wparam(3));
|
||||||
&call ("_mul_1x1_ialu"); # a1·b1
|
&call ("_mul_1x1_ialu"); # a1·b1
|
||||||
&mov (&DWP(8,"esp"),$lo);
|
&mov (&DWP(8,"esp"),$lo);
|
||||||
&mov (&DWP(12,"esp"),$hi);
|
&mov (&DWP(12,"esp"),$hi);
|
||||||
|
|
||||||
&mov ($a,&wparam(2));
|
&mov ($a,&wparam(2));
|
||||||
&mov ($b,&wparam(4));
|
&mov ($b,&wparam(4));
|
||||||
&call ("_mul_1x1_ialu"); # a0·b0
|
&call ("_mul_1x1_ialu"); # a0·b0
|
||||||
&mov (&DWP(0,"esp"),$lo);
|
&mov (&DWP(0,"esp"),$lo);
|
||||||
&mov (&DWP(4,"esp"),$hi);
|
&mov (&DWP(4,"esp"),$hi);
|
||||||
|
|
||||||
@ -280,7 +280,7 @@ if ($sse2) {
|
|||||||
&mov ($b,&wparam(3));
|
&mov ($b,&wparam(3));
|
||||||
&xor ($a,&wparam(2));
|
&xor ($a,&wparam(2));
|
||||||
&xor ($b,&wparam(4));
|
&xor ($b,&wparam(4));
|
||||||
&call ("_mul_1x1_ialu"); # (a0+a1)·(b0+b1)
|
&call ("_mul_1x1_ialu"); # (a0+a1)·(b0+b1)
|
||||||
|
|
||||||
&mov ("ebp",&wparam(0));
|
&mov ("ebp",&wparam(0));
|
||||||
@r=("ebx","ecx","edi","esi");
|
@r=("ebx","ecx","edi","esi");
|
||||||
|
@ -65,7 +65,7 @@
|
|||||||
# undef mul_add
|
# undef mul_add
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* "m"(a), "+m"(r) is the way to favor DirectPath µ-code;
|
* "m"(a), "+m"(r) is the way to favor DirectPath µ-code;
|
||||||
* "g"(0) let the compiler to decide where does it
|
* "g"(0) let the compiler to decide where does it
|
||||||
* want to keep the value of zero;
|
* want to keep the value of zero;
|
||||||
*/
|
*/
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
# in bn_gf2m.c. It's kind of low-hanging mechanical port from C for
|
# in bn_gf2m.c. It's kind of low-hanging mechanical port from C for
|
||||||
# the time being... Except that it has two code paths: code suitable
|
# the time being... Except that it has two code paths: code suitable
|
||||||
# for any x86_64 CPU and PCLMULQDQ one suitable for Westmere and
|
# for any x86_64 CPU and PCLMULQDQ one suitable for Westmere and
|
||||||
# later. Improvement varies from one benchmark and µ-arch to another.
|
# later. Improvement varies from one benchmark and µ-arch to another.
|
||||||
# Vanilla code path is at most 20% faster than compiler-generated code
|
# Vanilla code path is at most 20% faster than compiler-generated code
|
||||||
# [not very impressive], while PCLMULQDQ - whole 85%-160% better on
|
# [not very impressive], while PCLMULQDQ - whole 85%-160% better on
|
||||||
# 163- and 571-bit ECDH benchmarks on Intel CPUs. Keep in mind that
|
# 163- and 571-bit ECDH benchmarks on Intel CPUs. Keep in mind that
|
||||||
@ -184,13 +184,13 @@ ___
|
|||||||
$code.=<<___;
|
$code.=<<___;
|
||||||
movdqa %xmm0,%xmm4
|
movdqa %xmm0,%xmm4
|
||||||
movdqa %xmm1,%xmm5
|
movdqa %xmm1,%xmm5
|
||||||
pclmulqdq \$0,%xmm1,%xmm0 # a1·b1
|
pclmulqdq \$0,%xmm1,%xmm0 # a1·b1
|
||||||
pxor %xmm2,%xmm4
|
pxor %xmm2,%xmm4
|
||||||
pxor %xmm3,%xmm5
|
pxor %xmm3,%xmm5
|
||||||
pclmulqdq \$0,%xmm3,%xmm2 # a0·b0
|
pclmulqdq \$0,%xmm3,%xmm2 # a0·b0
|
||||||
pclmulqdq \$0,%xmm5,%xmm4 # (a0+a1)·(b0+b1)
|
pclmulqdq \$0,%xmm5,%xmm4 # (a0+a1)·(b0+b1)
|
||||||
xorps %xmm0,%xmm4
|
xorps %xmm0,%xmm4
|
||||||
xorps %xmm2,%xmm4 # (a0+a1)·(b0+b1)-a0·b0-a1·b1
|
xorps %xmm2,%xmm4 # (a0+a1)·(b0+b1)-a0·b0-a1·b1
|
||||||
movdqa %xmm4,%xmm5
|
movdqa %xmm4,%xmm5
|
||||||
pslldq \$8,%xmm4
|
pslldq \$8,%xmm4
|
||||||
psrldq \$8,%xmm5
|
psrldq \$8,%xmm5
|
||||||
@ -225,13 +225,13 @@ $code.=<<___;
|
|||||||
mov \$0xf,$mask
|
mov \$0xf,$mask
|
||||||
mov $a1,$a
|
mov $a1,$a
|
||||||
mov $b1,$b
|
mov $b1,$b
|
||||||
call _mul_1x1 # a1·b1
|
call _mul_1x1 # a1·b1
|
||||||
mov $lo,16(%rsp)
|
mov $lo,16(%rsp)
|
||||||
mov $hi,24(%rsp)
|
mov $hi,24(%rsp)
|
||||||
|
|
||||||
mov 48(%rsp),$a
|
mov 48(%rsp),$a
|
||||||
mov 64(%rsp),$b
|
mov 64(%rsp),$b
|
||||||
call _mul_1x1 # a0·b0
|
call _mul_1x1 # a0·b0
|
||||||
mov $lo,0(%rsp)
|
mov $lo,0(%rsp)
|
||||||
mov $hi,8(%rsp)
|
mov $hi,8(%rsp)
|
||||||
|
|
||||||
@ -239,7 +239,7 @@ $code.=<<___;
|
|||||||
mov 56(%rsp),$b
|
mov 56(%rsp),$b
|
||||||
xor 48(%rsp),$a
|
xor 48(%rsp),$a
|
||||||
xor 64(%rsp),$b
|
xor 64(%rsp),$b
|
||||||
call _mul_1x1 # (a0+a1)·(b0+b1)
|
call _mul_1x1 # (a0+a1)·(b0+b1)
|
||||||
___
|
___
|
||||||
@r=("%rbx","%rcx","%rdi","%rsi");
|
@r=("%rbx","%rcx","%rdi","%rsi");
|
||||||
$code.=<<___;
|
$code.=<<___;
|
||||||
|
@ -45,7 +45,7 @@
|
|||||||
# processes one byte in 8.45 cycles, A9 - in 10.2, Snapdragon S4 -
|
# processes one byte in 8.45 cycles, A9 - in 10.2, Snapdragon S4 -
|
||||||
# in 9.33.
|
# in 9.33.
|
||||||
#
|
#
|
||||||
# Câmara, D.; Gouvêa, C. P. L.; López, J. & Dahab, R.: Fast Software
|
# Câmara, D.; Gouvêa, C. P. L.; López, J. & Dahab, R.: Fast Software
|
||||||
# Polynomial Multiplication on ARM Processors using the NEON Engine.
|
# Polynomial Multiplication on ARM Processors using the NEON Engine.
|
||||||
#
|
#
|
||||||
# http://conradoplg.cryptoland.net/files/2010/12/mocrysen13.pdf
|
# http://conradoplg.cryptoland.net/files/2010/12/mocrysen13.pdf
|
||||||
@ -432,12 +432,12 @@ gcm_ghash_neon:
|
|||||||
veor $IN,$Xl @ inp^=Xi
|
veor $IN,$Xl @ inp^=Xi
|
||||||
.Lgmult_neon:
|
.Lgmult_neon:
|
||||||
___
|
___
|
||||||
&clmul64x64 ($Xl,$Hlo,"$IN#lo"); # H.lo·Xi.lo
|
&clmul64x64 ($Xl,$Hlo,"$IN#lo"); # H.lo·Xi.lo
|
||||||
$code.=<<___;
|
$code.=<<___;
|
||||||
veor $IN#lo,$IN#lo,$IN#hi @ Karatsuba pre-processing
|
veor $IN#lo,$IN#lo,$IN#hi @ Karatsuba pre-processing
|
||||||
___
|
___
|
||||||
&clmul64x64 ($Xm,$Hhl,"$IN#lo"); # (H.lo+H.hi)·(Xi.lo+Xi.hi)
|
&clmul64x64 ($Xm,$Hhl,"$IN#lo"); # (H.lo+H.hi)·(Xi.lo+Xi.hi)
|
||||||
&clmul64x64 ($Xh,$Hhi,"$IN#hi"); # H.hi·Xi.hi
|
&clmul64x64 ($Xh,$Hhi,"$IN#hi"); # H.hi·Xi.hi
|
||||||
$code.=<<___;
|
$code.=<<___;
|
||||||
veor $Xm,$Xm,$Xl @ Karatsuba post-processing
|
veor $Xm,$Xm,$Xl @ Karatsuba post-processing
|
||||||
veor $Xm,$Xm,$Xh
|
veor $Xm,$Xm,$Xh
|
||||||
|
@ -379,7 +379,7 @@ gcm_init_vis3:
|
|||||||
or $V,%lo(0xA0406080),$V
|
or $V,%lo(0xA0406080),$V
|
||||||
or %l0,%lo(0x20C0E000),%l0
|
or %l0,%lo(0x20C0E000),%l0
|
||||||
sllx $V,32,$V
|
sllx $V,32,$V
|
||||||
or %l0,$V,$V ! (0xE0·i)&0xff=0xA040608020C0E000
|
or %l0,$V,$V ! (0xE0·i)&0xff=0xA040608020C0E000
|
||||||
stx $V,[%i0+16]
|
stx $V,[%i0+16]
|
||||||
|
|
||||||
ret
|
ret
|
||||||
@ -399,7 +399,7 @@ gcm_gmult_vis3:
|
|||||||
|
|
||||||
mov 0xE1,%l7
|
mov 0xE1,%l7
|
||||||
sllx %l7,57,$xE1 ! 57 is not a typo
|
sllx %l7,57,$xE1 ! 57 is not a typo
|
||||||
ldx [$Htable+16],$V ! (0xE0·i)&0xff=0xA040608020C0E000
|
ldx [$Htable+16],$V ! (0xE0·i)&0xff=0xA040608020C0E000
|
||||||
|
|
||||||
xor $Hhi,$Hlo,$Hhl ! Karatsuba pre-processing
|
xor $Hhi,$Hlo,$Hhl ! Karatsuba pre-processing
|
||||||
xmulx $Xlo,$Hlo,$C0
|
xmulx $Xlo,$Hlo,$C0
|
||||||
@ -411,9 +411,9 @@ gcm_gmult_vis3:
|
|||||||
xmulx $Xhi,$Hhi,$Xhi
|
xmulx $Xhi,$Hhi,$Xhi
|
||||||
|
|
||||||
sll $C0,3,$sqr
|
sll $C0,3,$sqr
|
||||||
srlx $V,$sqr,$sqr ! ·0xE0 [implicit &(7<<3)]
|
srlx $V,$sqr,$sqr ! ·0xE0 [implicit &(7<<3)]
|
||||||
xor $C0,$sqr,$sqr
|
xor $C0,$sqr,$sqr
|
||||||
sllx $sqr,57,$sqr ! ($C0·0xE1)<<1<<56 [implicit &0x7f]
|
sllx $sqr,57,$sqr ! ($C0·0xE1)<<1<<56 [implicit &0x7f]
|
||||||
|
|
||||||
xor $C0,$C1,$C1 ! Karatsuba post-processing
|
xor $C0,$C1,$C1 ! Karatsuba post-processing
|
||||||
xor $Xlo,$C2,$C2
|
xor $Xlo,$C2,$C2
|
||||||
@ -423,7 +423,7 @@ gcm_gmult_vis3:
|
|||||||
xor $Xhi,$C2,$C2
|
xor $Xhi,$C2,$C2
|
||||||
xor $Xhi,$C1,$C1
|
xor $Xhi,$C1,$C1
|
||||||
|
|
||||||
xmulxhi $C0,$xE1,$Xlo ! ·0xE1<<1<<56
|
xmulxhi $C0,$xE1,$Xlo ! ·0xE1<<1<<56
|
||||||
xor $C0,$C2,$C2
|
xor $C0,$C2,$C2
|
||||||
xmulx $C1,$xE1,$C0
|
xmulx $C1,$xE1,$C0
|
||||||
xor $C1,$C3,$C3
|
xor $C1,$C3,$C3
|
||||||
@ -453,7 +453,7 @@ gcm_ghash_vis3:
|
|||||||
|
|
||||||
mov 0xE1,%l7
|
mov 0xE1,%l7
|
||||||
sllx %l7,57,$xE1 ! 57 is not a typo
|
sllx %l7,57,$xE1 ! 57 is not a typo
|
||||||
ldx [$Htable+16],$V ! (0xE0·i)&0xff=0xA040608020C0E000
|
ldx [$Htable+16],$V ! (0xE0·i)&0xff=0xA040608020C0E000
|
||||||
|
|
||||||
and $inp,7,$shl
|
and $inp,7,$shl
|
||||||
andn $inp,7,$inp
|
andn $inp,7,$inp
|
||||||
@ -490,9 +490,9 @@ gcm_ghash_vis3:
|
|||||||
xmulx $Xhi,$Hhi,$Xhi
|
xmulx $Xhi,$Hhi,$Xhi
|
||||||
|
|
||||||
sll $C0,3,$sqr
|
sll $C0,3,$sqr
|
||||||
srlx $V,$sqr,$sqr ! ·0xE0 [implicit &(7<<3)]
|
srlx $V,$sqr,$sqr ! ·0xE0 [implicit &(7<<3)]
|
||||||
xor $C0,$sqr,$sqr
|
xor $C0,$sqr,$sqr
|
||||||
sllx $sqr,57,$sqr ! ($C0·0xE1)<<1<<56 [implicit &0x7f]
|
sllx $sqr,57,$sqr ! ($C0·0xE1)<<1<<56 [implicit &0x7f]
|
||||||
|
|
||||||
xor $C0,$C1,$C1 ! Karatsuba post-processing
|
xor $C0,$C1,$C1 ! Karatsuba post-processing
|
||||||
xor $Xlo,$C2,$C2
|
xor $Xlo,$C2,$C2
|
||||||
@ -502,7 +502,7 @@ gcm_ghash_vis3:
|
|||||||
xor $Xhi,$C2,$C2
|
xor $Xhi,$C2,$C2
|
||||||
xor $Xhi,$C1,$C1
|
xor $Xhi,$C1,$C1
|
||||||
|
|
||||||
xmulxhi $C0,$xE1,$Xlo ! ·0xE1<<1<<56
|
xmulxhi $C0,$xE1,$Xlo ! ·0xE1<<1<<56
|
||||||
xor $C0,$C2,$C2
|
xor $C0,$C2,$C2
|
||||||
xmulx $C1,$xE1,$C0
|
xmulx $C1,$xE1,$C0
|
||||||
xor $C1,$C3,$C3
|
xor $C1,$C3,$C3
|
||||||
|
@ -358,7 +358,7 @@ $S=12; # shift factor for rem_4bit
|
|||||||
# effective address calculation and finally merge of value to Z.hi.
|
# effective address calculation and finally merge of value to Z.hi.
|
||||||
# Reference to rem_4bit is scheduled so late that I had to >>4
|
# Reference to rem_4bit is scheduled so late that I had to >>4
|
||||||
# rem_4bit elements. This resulted in 20-45% procent improvement
|
# rem_4bit elements. This resulted in 20-45% procent improvement
|
||||||
# on contemporary µ-archs.
|
# on contemporary µ-archs.
|
||||||
{
|
{
|
||||||
my $cnt;
|
my $cnt;
|
||||||
my $rem_4bit = "eax";
|
my $rem_4bit = "eax";
|
||||||
|
@ -576,15 +576,15 @@ $code.=<<___ if (0 || (&reduction_alg9($Xhi,$Xi)&&0));
|
|||||||
# experimental alternative. special thing about is that there
|
# experimental alternative. special thing about is that there
|
||||||
# no dependency between the two multiplications...
|
# no dependency between the two multiplications...
|
||||||
mov \$`0xE1<<1`,%eax
|
mov \$`0xE1<<1`,%eax
|
||||||
mov \$0xA040608020C0E000,%r10 # ((7..0)·0xE0)&0xff
|
mov \$0xA040608020C0E000,%r10 # ((7..0)·0xE0)&0xff
|
||||||
mov \$0x07,%r11d
|
mov \$0x07,%r11d
|
||||||
movq %rax,$T1
|
movq %rax,$T1
|
||||||
movq %r10,$T2
|
movq %r10,$T2
|
||||||
movq %r11,$T3 # borrow $T3
|
movq %r11,$T3 # borrow $T3
|
||||||
pand $Xi,$T3
|
pand $Xi,$T3
|
||||||
pshufb $T3,$T2 # ($Xi&7)·0xE0
|
pshufb $T3,$T2 # ($Xi&7)·0xE0
|
||||||
movq %rax,$T3
|
movq %rax,$T3
|
||||||
pclmulqdq \$0x00,$Xi,$T1 # ·(0xE1<<1)
|
pclmulqdq \$0x00,$Xi,$T1 # ·(0xE1<<1)
|
||||||
pxor $Xi,$T2
|
pxor $Xi,$T2
|
||||||
pslldq \$15,$T2
|
pslldq \$15,$T2
|
||||||
paddd $T2,$T2 # <<(64+56+1)
|
paddd $T2,$T2 # <<(64+56+1)
|
||||||
@ -657,7 +657,7 @@ $code.=<<___;
|
|||||||
je .Lskip4x
|
je .Lskip4x
|
||||||
|
|
||||||
sub \$0x30,$len
|
sub \$0x30,$len
|
||||||
mov \$0xA040608020C0E000,%rax # ((7..0)·0xE0)&0xff
|
mov \$0xA040608020C0E000,%rax # ((7..0)·0xE0)&0xff
|
||||||
movdqu 0x30($Htbl),$Hkey3
|
movdqu 0x30($Htbl),$Hkey3
|
||||||
movdqu 0x40($Htbl),$Hkey4
|
movdqu 0x40($Htbl),$Hkey4
|
||||||
|
|
||||||
|
@ -118,9 +118,9 @@ $code=<<___;
|
|||||||
le?vperm $IN,$IN,$IN,$lemask
|
le?vperm $IN,$IN,$IN,$lemask
|
||||||
vxor $zero,$zero,$zero
|
vxor $zero,$zero,$zero
|
||||||
|
|
||||||
vpmsumd $Xl,$IN,$Hl # H.lo·Xi.lo
|
vpmsumd $Xl,$IN,$Hl # H.lo·Xi.lo
|
||||||
vpmsumd $Xm,$IN,$H # H.hi·Xi.lo+H.lo·Xi.hi
|
vpmsumd $Xm,$IN,$H # H.hi·Xi.lo+H.lo·Xi.hi
|
||||||
vpmsumd $Xh,$IN,$Hh # H.hi·Xi.hi
|
vpmsumd $Xh,$IN,$Hh # H.hi·Xi.hi
|
||||||
|
|
||||||
vpmsumd $t2,$Xl,$xC2 # 1st phase
|
vpmsumd $t2,$Xl,$xC2 # 1st phase
|
||||||
|
|
||||||
@ -178,11 +178,11 @@ $code=<<___;
|
|||||||
.align 5
|
.align 5
|
||||||
Loop:
|
Loop:
|
||||||
subic $len,$len,16
|
subic $len,$len,16
|
||||||
vpmsumd $Xl,$IN,$Hl # H.lo·Xi.lo
|
vpmsumd $Xl,$IN,$Hl # H.lo·Xi.lo
|
||||||
subfe. r0,r0,r0 # borrow?-1:0
|
subfe. r0,r0,r0 # borrow?-1:0
|
||||||
vpmsumd $Xm,$IN,$H # H.hi·Xi.lo+H.lo·Xi.hi
|
vpmsumd $Xm,$IN,$H # H.hi·Xi.lo+H.lo·Xi.hi
|
||||||
and r0,r0,$len
|
and r0,r0,$len
|
||||||
vpmsumd $Xh,$IN,$Hh # H.hi·Xi.hi
|
vpmsumd $Xh,$IN,$Hh # H.hi·Xi.hi
|
||||||
add $inp,$inp,r0
|
add $inp,$inp,r0
|
||||||
|
|
||||||
vpmsumd $t2,$Xl,$xC2 # 1st phase
|
vpmsumd $t2,$Xl,$xC2 # 1st phase
|
||||||
|
@ -135,10 +135,10 @@ gcm_gmult_v8:
|
|||||||
#endif
|
#endif
|
||||||
vext.8 $IN,$t1,$t1,#8
|
vext.8 $IN,$t1,$t1,#8
|
||||||
|
|
||||||
vpmull.p64 $Xl,$H,$IN @ H.lo·Xi.lo
|
vpmull.p64 $Xl,$H,$IN @ H.lo·Xi.lo
|
||||||
veor $t1,$t1,$IN @ Karatsuba pre-processing
|
veor $t1,$t1,$IN @ Karatsuba pre-processing
|
||||||
vpmull2.p64 $Xh,$H,$IN @ H.hi·Xi.hi
|
vpmull2.p64 $Xh,$H,$IN @ H.hi·Xi.hi
|
||||||
vpmull.p64 $Xm,$Hhl,$t1 @ (H.lo+H.hi)·(Xi.lo+Xi.hi)
|
vpmull.p64 $Xm,$Hhl,$t1 @ (H.lo+H.hi)·(Xi.lo+Xi.hi)
|
||||||
|
|
||||||
vext.8 $t1,$Xl,$Xh,#8 @ Karatsuba post-processing
|
vext.8 $t1,$Xl,$Xh,#8 @ Karatsuba post-processing
|
||||||
veor $t2,$Xl,$Xh
|
veor $t2,$Xl,$Xh
|
||||||
@ -226,7 +226,7 @@ $code.=<<___;
|
|||||||
#endif
|
#endif
|
||||||
vext.8 $In,$t1,$t1,#8
|
vext.8 $In,$t1,$t1,#8
|
||||||
veor $IN,$IN,$Xl @ I[i]^=Xi
|
veor $IN,$IN,$Xl @ I[i]^=Xi
|
||||||
vpmull.p64 $Xln,$H,$In @ H·Ii+1
|
vpmull.p64 $Xln,$H,$In @ H·Ii+1
|
||||||
veor $t1,$t1,$In @ Karatsuba pre-processing
|
veor $t1,$t1,$In @ Karatsuba pre-processing
|
||||||
vpmull2.p64 $Xhn,$H,$In
|
vpmull2.p64 $Xhn,$H,$In
|
||||||
b .Loop_mod2x_v8
|
b .Loop_mod2x_v8
|
||||||
@ -235,14 +235,14 @@ $code.=<<___;
|
|||||||
.Loop_mod2x_v8:
|
.Loop_mod2x_v8:
|
||||||
vext.8 $t2,$IN,$IN,#8
|
vext.8 $t2,$IN,$IN,#8
|
||||||
subs $len,$len,#32 @ is there more data?
|
subs $len,$len,#32 @ is there more data?
|
||||||
vpmull.p64 $Xl,$H2,$IN @ H^2.lo·Xi.lo
|
vpmull.p64 $Xl,$H2,$IN @ H^2.lo·Xi.lo
|
||||||
cclr $inc,lo @ is it time to zero $inc?
|
cclr $inc,lo @ is it time to zero $inc?
|
||||||
|
|
||||||
vpmull.p64 $Xmn,$Hhl,$t1
|
vpmull.p64 $Xmn,$Hhl,$t1
|
||||||
veor $t2,$t2,$IN @ Karatsuba pre-processing
|
veor $t2,$t2,$IN @ Karatsuba pre-processing
|
||||||
vpmull2.p64 $Xh,$H2,$IN @ H^2.hi·Xi.hi
|
vpmull2.p64 $Xh,$H2,$IN @ H^2.hi·Xi.hi
|
||||||
veor $Xl,$Xl,$Xln @ accumulate
|
veor $Xl,$Xl,$Xln @ accumulate
|
||||||
vpmull2.p64 $Xm,$Hhl,$t2 @ (H^2.lo+H^2.hi)·(Xi.lo+Xi.hi)
|
vpmull2.p64 $Xm,$Hhl,$t2 @ (H^2.lo+H^2.hi)·(Xi.lo+Xi.hi)
|
||||||
vld1.64 {$t0},[$inp],$inc @ load [rotated] I[i+2]
|
vld1.64 {$t0},[$inp],$inc @ load [rotated] I[i+2]
|
||||||
|
|
||||||
veor $Xh,$Xh,$Xhn
|
veor $Xh,$Xh,$Xhn
|
||||||
@ -267,7 +267,7 @@ $code.=<<___;
|
|||||||
vext.8 $In,$t1,$t1,#8
|
vext.8 $In,$t1,$t1,#8
|
||||||
vext.8 $IN,$t0,$t0,#8
|
vext.8 $IN,$t0,$t0,#8
|
||||||
veor $Xl,$Xm,$t2
|
veor $Xl,$Xm,$t2
|
||||||
vpmull.p64 $Xln,$H,$In @ H·Ii+1
|
vpmull.p64 $Xln,$H,$In @ H·Ii+1
|
||||||
veor $IN,$IN,$Xh @ accumulate $IN early
|
veor $IN,$IN,$Xh @ accumulate $IN early
|
||||||
|
|
||||||
vext.8 $t2,$Xl,$Xl,#8 @ 2nd phase of reduction
|
vext.8 $t2,$Xl,$Xl,#8 @ 2nd phase of reduction
|
||||||
@ -291,10 +291,10 @@ $code.=<<___;
|
|||||||
veor $IN,$IN,$Xl @ inp^=Xi
|
veor $IN,$IN,$Xl @ inp^=Xi
|
||||||
veor $t1,$t0,$t2 @ $t1 is rotated inp^Xi
|
veor $t1,$t0,$t2 @ $t1 is rotated inp^Xi
|
||||||
|
|
||||||
vpmull.p64 $Xl,$H,$IN @ H.lo·Xi.lo
|
vpmull.p64 $Xl,$H,$IN @ H.lo·Xi.lo
|
||||||
veor $t1,$t1,$IN @ Karatsuba pre-processing
|
veor $t1,$t1,$IN @ Karatsuba pre-processing
|
||||||
vpmull2.p64 $Xh,$H,$IN @ H.hi·Xi.hi
|
vpmull2.p64 $Xh,$H,$IN @ H.hi·Xi.hi
|
||||||
vpmull.p64 $Xm,$Hhl,$t1 @ (H.lo+H.hi)·(Xi.lo+Xi.hi)
|
vpmull.p64 $Xm,$Hhl,$t1 @ (H.lo+H.hi)·(Xi.lo+Xi.hi)
|
||||||
|
|
||||||
vext.8 $t1,$Xl,$Xh,#8 @ Karatsuba post-processing
|
vext.8 $t1,$Xl,$Xh,#8 @ Karatsuba post-processing
|
||||||
veor $t2,$Xl,$Xh
|
veor $t2,$Xl,$Xh
|
||||||
|
@ -56,7 +56,7 @@
|
|||||||
# achieves respectful 432MBps on 2.8GHz processor now. For reference.
|
# achieves respectful 432MBps on 2.8GHz processor now. For reference.
|
||||||
# If executed on Xeon, current RC4_CHAR code-path is 2.7x faster than
|
# If executed on Xeon, current RC4_CHAR code-path is 2.7x faster than
|
||||||
# RC4_INT code-path. While if executed on Opteron, it's only 25%
|
# RC4_INT code-path. While if executed on Opteron, it's only 25%
|
||||||
# slower than the RC4_INT one [meaning that if CPU µ-arch detection
|
# slower than the RC4_INT one [meaning that if CPU µ-arch detection
|
||||||
# is not implemented, then this final RC4_CHAR code-path should be
|
# is not implemented, then this final RC4_CHAR code-path should be
|
||||||
# preferred, as it provides better *all-round* performance].
|
# preferred, as it provides better *all-round* performance].
|
||||||
|
|
||||||
|
@ -66,9 +66,9 @@
|
|||||||
# switch to AVX alone improves performance by as little as 4% in
|
# switch to AVX alone improves performance by as little as 4% in
|
||||||
# comparison to SSSE3 code path. But below result doesn't look like
|
# comparison to SSSE3 code path. But below result doesn't look like
|
||||||
# 4% improvement... Trouble is that Sandy Bridge decodes 'ro[rl]' as
|
# 4% improvement... Trouble is that Sandy Bridge decodes 'ro[rl]' as
|
||||||
# pair of µ-ops, and it's the additional µ-ops, two per round, that
|
# pair of µ-ops, and it's the additional µ-ops, two per round, that
|
||||||
# make it run slower than Core2 and Westmere. But 'sh[rl]d' is decoded
|
# make it run slower than Core2 and Westmere. But 'sh[rl]d' is decoded
|
||||||
# as single µ-op by Sandy Bridge and it's replacing 'ro[rl]' with
|
# as single µ-op by Sandy Bridge and it's replacing 'ro[rl]' with
|
||||||
# equivalent 'sh[rl]d' that is responsible for the impressive 5.1
|
# equivalent 'sh[rl]d' that is responsible for the impressive 5.1
|
||||||
# cycles per processed byte. But 'sh[rl]d' is not something that used
|
# cycles per processed byte. But 'sh[rl]d' is not something that used
|
||||||
# to be fast, nor does it appear to be fast in upcoming Bulldozer
|
# to be fast, nor does it appear to be fast in upcoming Bulldozer
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
# SHA256 block transform for x86. September 2007.
|
# SHA256 block transform for x86. September 2007.
|
||||||
#
|
#
|
||||||
# Performance improvement over compiler generated code varies from
|
# Performance improvement over compiler generated code varies from
|
||||||
# 10% to 40% [see below]. Not very impressive on some µ-archs, but
|
# 10% to 40% [see below]. Not very impressive on some µ-archs, but
|
||||||
# it's 5 times smaller and optimizies amount of writes.
|
# it's 5 times smaller and optimizies amount of writes.
|
||||||
#
|
#
|
||||||
# May 2012.
|
# May 2012.
|
||||||
|
@ -37,7 +37,7 @@
|
|||||||
#
|
#
|
||||||
# IALU code-path is optimized for elder Pentiums. On vanilla Pentium
|
# IALU code-path is optimized for elder Pentiums. On vanilla Pentium
|
||||||
# performance improvement over compiler generated code reaches ~60%,
|
# performance improvement over compiler generated code reaches ~60%,
|
||||||
# while on PIII - ~35%. On newer µ-archs improvement varies from 15%
|
# while on PIII - ~35%. On newer µ-archs improvement varies from 15%
|
||||||
# to 50%, but it's less important as they are expected to execute SSE2
|
# to 50%, but it's less important as they are expected to execute SSE2
|
||||||
# code-path, which is commonly ~2-3x faster [than compiler generated
|
# code-path, which is commonly ~2-3x faster [than compiler generated
|
||||||
# code]. SSE2 code-path is as fast as original sha512-sse2.pl, even
|
# code]. SSE2 code-path is as fast as original sha512-sse2.pl, even
|
||||||
|
@ -123,7 +123,7 @@ OPENSSL_wipe_cpu:
|
|||||||
fmovs %f1,%f3
|
fmovs %f1,%f3
|
||||||
fmovs %f0,%f2
|
fmovs %f0,%f2
|
||||||
|
|
||||||
add %fp,BIAS,%i0 ! return pointer to caller´s top of stack
|
add %fp,BIAS,%i0 ! return pointer to caller´s top of stack
|
||||||
|
|
||||||
ret
|
ret
|
||||||
restore
|
restore
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
# table]. I stick to value of 2 for two reasons: 1. smaller table
|
# table]. I stick to value of 2 for two reasons: 1. smaller table
|
||||||
# minimizes cache trashing and thus mitigates the hazard of side-
|
# minimizes cache trashing and thus mitigates the hazard of side-
|
||||||
# channel leakage similar to AES cache-timing one; 2. performance
|
# channel leakage similar to AES cache-timing one; 2. performance
|
||||||
# gap among different µ-archs is smaller.
|
# gap among different µ-archs is smaller.
|
||||||
#
|
#
|
||||||
# Performance table lists rounded amounts of CPU cycles spent by
|
# Performance table lists rounded amounts of CPU cycles spent by
|
||||||
# whirlpool_block_mmx routine on single 64 byte input block, i.e.
|
# whirlpool_block_mmx routine on single 64 byte input block, i.e.
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* Contributed to the OpenSSL Project 2004 by Richard Levitte
|
* Contributed to the OpenSSL Project 2004 by Richard Levitte
|
||||||
* (richard@levitte.org)
|
* (richard@levitte.org)
|
||||||
*/
|
*/
|
||||||
/* Copyright (c) 2004 Kungliga Tekniska Högskolan
|
/* Copyright (c) 2004 Kungliga Tekniska Högskolan
|
||||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* Contributed to the OpenSSL Project 2004 by Richard Levitte
|
* Contributed to the OpenSSL Project 2004 by Richard Levitte
|
||||||
* (richard@levitte.org)
|
* (richard@levitte.org)
|
||||||
*/
|
*/
|
||||||
/* Copyright (c) 2004 Kungliga Tekniska Högskolan
|
/* Copyright (c) 2004 Kungliga Tekniska Högskolan
|
||||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
|
@ -62,4 +62,4 @@ As noted above, easy_tls.c will be changed to become a library one
|
|||||||
day, which means that future revisions will not be fully compatible to
|
day, which means that future revisions will not be fully compatible to
|
||||||
the current version.
|
the current version.
|
||||||
|
|
||||||
Bodo Möller <bodo@openssl.org>
|
Bodo Möller <bodo@openssl.org>
|
||||||
|
@ -57,7 +57,7 @@ BEGIN
|
|||||||
VALUE "ProductVersion", "$version\\0"
|
VALUE "ProductVersion", "$version\\0"
|
||||||
// Optional:
|
// Optional:
|
||||||
//VALUE "Comments", "\\0"
|
//VALUE "Comments", "\\0"
|
||||||
VALUE "LegalCopyright", "Copyright © 1998-2006 The OpenSSL Project. Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All rights reserved.\\0"
|
VALUE "LegalCopyright", "Copyright © 1998-2006 The OpenSSL Project. Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All rights reserved.\\0"
|
||||||
//VALUE "LegalTrademarks", "\\0"
|
//VALUE "LegalTrademarks", "\\0"
|
||||||
//VALUE "PrivateBuild", "\\0"
|
//VALUE "PrivateBuild", "\\0"
|
||||||
//VALUE "SpecialBuild", "\\0"
|
//VALUE "SpecialBuild", "\\0"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user