[openssl/openssl] a2bdca: AES-GCM performance optimzation with stitched meth...

bavison noreply at github.com
Fri Nov 11 09:07:37 UTC 2022


  Branch: refs/heads/openssl-3.1
  Home:   https://github.com/openssl/openssl
  Commit: a2bdca6fe666c3a0a13e7f0a51626715608f8597
      https://github.com/openssl/openssl/commit/a2bdca6fe666c3a0a13e7f0a51626715608f8597
  Author: Danny Tsen <dtsen at us.ibm.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    A crypto/modes/asm/aes-gcm-ppc.pl
    M crypto/modes/build.info
    M include/crypto/aes_platform.h
    M providers/implementations/ciphers/cipher_aes_gcm_hw.c
    A providers/implementations/ciphers/cipher_aes_gcm_hw_ppc.inc

  Log Message:
  -----------
  AES-GCM performance optimzation with stitched method for p9+ ppc64le

Assembly code reviewed by Shricharan Srivatsan <ssrivat at us.ibm.com>

Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/16854)

(cherry picked from commit 44a563dde1584cd9284e80b6e45ee5019be8d36c)


  Commit: 34ca334e5de6837f2c6bc0b0b0df28bdd237e4d7
      https://github.com/openssl/openssl/commit/34ca334e5de6837f2c6bc0b0b0df28bdd237e4d7
  Author: XiaokangQian <xiaokang.qian at arm.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M crypto/arm64cpuid.pl
    M crypto/arm_arch.h
    M crypto/armcap.c
    A crypto/modes/asm/aes-gcm-armv8-unroll8_64.pl
    M crypto/modes/asm/ghashv8-armx.pl
    M crypto/modes/build.info
    M include/crypto/aes_platform.h
    M providers/implementations/ciphers/cipher_aes_gcm_hw_armv8.inc

  Log Message:
  -----------
  Optimize AES-GCM for uarchs with unroll and new instructions

Increase the block numbers to 8 for every iteration.  Increase the hash
table capacity.  Make use of EOR3 instruction to improve the performance.

This can improve performance 25-40% on out-of-order microarchitectures
with a large number of fast execution units, such as Neoverse V1.  We also
see 20-30% performance improvements on other architectures such as the M1.

Assembly code reviewd by Tom Cosgrove (ARM).

Reviewed-by: Bernd Edlinger <bernd.edlinger at hotmail.de>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15916)

(cherry picked from commit 954f45ba4c504570206ff5bed811e512cf92dc8e)


  Commit: e8f1d76b50204d87a0ef7f6879eb1dd507a54368
      https://github.com/openssl/openssl/commit/e8f1d76b50204d87a0ef7f6879eb1dd507a54368
  Author: Juergen Christ <jchrist at linux.ibm.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M test/params_api_test.c

  Log Message:
  -----------
  Fix endianness problem in params_api_test

On a big endian machine, we get test failures in params_api_test like

        # ERROR: (memory) 'buf1 == buf2' failed @ test/params_api_test.c:473
        # --- buf1
        # +++ buf2
        # 0000:-e901
        # 0000:+01e9
        #       ^^^^
        #
        # OPENSSL_TEST_RAND_ORDER=1643313367
        not ok 157 - iteration 3

They are due to an additional conversion copy.  Remove this copy to solve the
problem.

Signed-off-by: Juergen Christ <jchrist at linux.ibm.com>

Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17608)

(cherry picked from commit 9927749ec2b8fc4b6146f0bd54cb6a44b8295974)


  Commit: bc15591d7d36f0c8c9979057da489203c9aa3663
      https://github.com/openssl/openssl/commit/bc15591d7d36f0c8c9979057da489203c9aa3663
  Author: Patrick Uiterwijk <puiterwijk at redhat.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M doc/man7/EVP_KDF-KB.pod
    M include/openssl/core_names.h
    M providers/implementations/kdfs/kbkdf.c
    M test/evp_kdf_test.c
    M test/evp_test.c
    M test/recipes/30-test_evp.t
    A test/recipes/30-test_evp_data/evpkdf_kbkdf_counter.txt

  Log Message:
  -----------
  Support different R_BITS lengths for KBKDF

Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17063)

(cherry picked from commit 0e9a265e42890699dfce82f1ff6905de6aafbd41)


  Commit: a262d4ff1816159686d9e95ee79f0b2a5cf596b6
      https://github.com/openssl/openssl/commit/a262d4ff1816159686d9e95ee79f0b2a5cf596b6
  Author: Pauli <pauli at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M providers/common/include/prov/provider_util.h
    M providers/common/provider_util.c

  Log Message:
  -----------
  prov: add a safe memdup function for context cloning

Reviewed-by: Shane Lontis <shane.lontis at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/17572)

(cherry picked from commit 5b030ec0800d4ad6022ecd00e18a19f77ada0b04)
Reviewed-by: Hugo Landau <hlandau at openssl.org>


  Commit: f46befd667e808df56b6351e3056025503badf85
      https://github.com/openssl/openssl/commit/f46befd667e808df56b6351e3056025503badf85
  Author: Pauli <pauli at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M test/evp_test.c

  Log Message:
  -----------
  evp_test: add a ctx dup operation to the KDF tests

Reviewed-by: Shane Lontis <shane.lontis at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/17572)

(cherry picked from commit c8adf19d2da318cd7b007753d6c8a7f9dc94d4ed)
Reviewed-by: Hugo Landau <hlandau at openssl.org>


  Commit: 34d2a072a9cd85e72a118fa831f2dfd5d07854c4
      https://github.com/openssl/openssl/commit/34d2a072a9cd85e72a118fa831f2dfd5d07854c4
  Author: Pauli <pauli at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M providers/implementations/kdfs/pbkdf1.c

  Log Message:
  -----------
  pbkdf1: implement ctx dup operation

Reviewed-by: Shane Lontis <shane.lontis at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/17572)

(cherry picked from commit 6585d3aa7638c8cea2d4bb9f10e7298002f652e5)
Reviewed-by: Hugo Landau <hlandau at openssl.org>


  Commit: e9f0b7243c1b5b81fddd2ae59e020ff85438483d
      https://github.com/openssl/openssl/commit/e9f0b7243c1b5b81fddd2ae59e020ff85438483d
  Author: Pauli <pauli at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M providers/implementations/kdfs/pbkdf2.c

  Log Message:
  -----------
  pbkdf2: implement ctx dup operation

Reviewed-by: Shane Lontis <shane.lontis at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/17572)

(cherry picked from commit 0a10f71d3071bae0183cd4277da64d100f6b48eb)
Reviewed-by: Hugo Landau <hlandau at openssl.org>


  Commit: 6343c3cf7e70abfe748f27059c0f9cd6e9c9b146
      https://github.com/openssl/openssl/commit/6343c3cf7e70abfe748f27059c0f9cd6e9c9b146
  Author: Pauli <pauli at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M providers/implementations/kdfs/hkdf.c

  Log Message:
  -----------
  hkdf: implement ctx dup operation

Reviewed-by: Shane Lontis <shane.lontis at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/17572)

(cherry picked from commit 95bd5ff65985e992827f7178deda84d95b1e6f66)
Reviewed-by: Hugo Landau <hlandau at openssl.org>


  Commit: a0a589babcf02c8551a5ad08925fb95a74a770af
      https://github.com/openssl/openssl/commit/a0a589babcf02c8551a5ad08925fb95a74a770af
  Author: Pauli <pauli at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M providers/implementations/kdfs/kbkdf.c

  Log Message:
  -----------
  kbkdf: implement ctx dup operation

Reviewed-by: Shane Lontis <shane.lontis at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/17572)

(cherry picked from commit d54c52c28ebb780e2ffc5b7752d35359215cf0a6)
Reviewed-by: Hugo Landau <hlandau at openssl.org>


  Commit: cb949048d6e98a91ffd7deacfe7dfe0fceb3ed9c
      https://github.com/openssl/openssl/commit/cb949048d6e98a91ffd7deacfe7dfe0fceb3ed9c
  Author: Pauli <pauli at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M providers/implementations/kdfs/krb5kdf.c

  Log Message:
  -----------
  krb5kdf: implement ctx dup operation

Reviewed-by: Shane Lontis <shane.lontis at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/17572)

(cherry picked from commit 4c1a841c3de645674ed2af92da25f7f5736fae1c)
Reviewed-by: Hugo Landau <hlandau at openssl.org>


  Commit: e85d09d98035287a2a6732910cda8e3946f7d2b4
      https://github.com/openssl/openssl/commit/e85d09d98035287a2a6732910cda8e3946f7d2b4
  Author: Pauli <pauli at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M providers/implementations/kdfs/scrypt.c

  Log Message:
  -----------
  scrypt: implement ctx dup operation

Reviewed-by: Shane Lontis <shane.lontis at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/17572)

(cherry picked from commit cdcdcf5c6fa382c879cb3503609519d56fa62e81)
Reviewed-by: Hugo Landau <hlandau at openssl.org>


  Commit: 99a414d1df197842d5a5b5c183b9dca50cd9d032
      https://github.com/openssl/openssl/commit/99a414d1df197842d5a5b5c183b9dca50cd9d032
  Author: Pauli <pauli at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M providers/implementations/kdfs/sshkdf.c

  Log Message:
  -----------
  ssh kdf: implement ctx dup operation

Reviewed-by: Shane Lontis <shane.lontis at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/17572)

(cherry picked from commit 59558f9d8824747024b6ab756f3798a577ecae48)
Reviewed-by: Hugo Landau <hlandau at openssl.org>


  Commit: ab09d2d7cb8826552c70ac83a1959d204c0dd723
      https://github.com/openssl/openssl/commit/ab09d2d7cb8826552c70ac83a1959d204c0dd723
  Author: Pauli <pauli at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M providers/implementations/kdfs/sskdf.c

  Log Message:
  -----------
  ss KDF: implement ctx dup operation

Reviewed-by: Shane Lontis <shane.lontis at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/17572)

(cherry picked from commit 2722eeceaa993f4488b295a22d2e1178f5ba1ce1)
Reviewed-by: Hugo Landau <hlandau at openssl.org>


  Commit: 0f5229723ff6d0ccb9c4b67c6fc96032c9df1f63
      https://github.com/openssl/openssl/commit/0f5229723ff6d0ccb9c4b67c6fc96032c9df1f63
  Author: Pauli <pauli at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M providers/implementations/kdfs/x942kdf.c

  Log Message:
  -----------
  k942 kdf: implement ctx dup operation

Reviewed-by: Shane Lontis <shane.lontis at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/17572)

(cherry picked from commit 769cd46540b2ec2a2d91ee3886b9e4f9d78e9a51)
Reviewed-by: Hugo Landau <hlandau at openssl.org>


  Commit: 6e6024c37c36113313b3fe04bb4828a16de01ec2
      https://github.com/openssl/openssl/commit/6e6024c37c36113313b3fe04bb4828a16de01ec2
  Author: Pauli <pauli at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M test/evp_pkey_provided_test.c

  Log Message:
  -----------
  test: change pkey kdf dup fail test to a pkey kdf dup success test

Reviewed-by: Shane Lontis <shane.lontis at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/17572)

(cherry picked from commit 43332e405bea83a2d553e0519fdb04170879bc96)
Reviewed-by: Hugo Landau <hlandau at openssl.org>


  Commit: 0ca770e37858cf0d0f7f084ebbfe381a9ac3ee9a
      https://github.com/openssl/openssl/commit/0ca770e37858cf0d0f7f084ebbfe381a9ac3ee9a
  Author: Pauli <pauli at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M providers/implementations/kdfs/pkcs12kdf.c

  Log Message:
  -----------
  pkcs12 kdf: implement ctx dup operation

Reviewed-by: Shane Lontis <shane.lontis at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/17572)

(cherry picked from commit d3aaf4e9e71944d869ae47821d7b5a8402234ee8)
Reviewed-by: Hugo Landau <hlandau at openssl.org>


  Commit: dbe35ee6bfc26e579cb7ef64830b951be2afe20e
      https://github.com/openssl/openssl/commit/dbe35ee6bfc26e579cb7ef64830b951be2afe20e
  Author: Pauli <pauli at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M providers/implementations/kdfs/tls1_prf.c

  Log Message:
  -----------
  tls1 prf: implement ctx dup operation

Reviewed-by: Shane Lontis <shane.lontis at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/17572)

(cherry picked from commit b9d8ad3f157fa816c423bec6f7b4328ef894577c)
Reviewed-by: Hugo Landau <hlandau at openssl.org>


  Commit: 70df6caa0bf198258c657ee472dea47c4727b039
      https://github.com/openssl/openssl/commit/70df6caa0bf198258c657ee472dea47c4727b039
  Author: Pauli <pauli at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M providers/common/provider_util.c

  Log Message:
  -----------
  indentation fix

Reviewed-by: Shane Lontis <shane.lontis at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/17572)

(cherry picked from commit 1751356267f64d5db8824cf4ff5b3496e15972da)
Reviewed-by: Hugo Landau <hlandau at openssl.org>


  Commit: 97477bb6c485e8b7e755ead7bb2e709c68f45f5f
      https://github.com/openssl/openssl/commit/97477bb6c485e8b7e755ead7bb2e709c68f45f5f
  Author: Richard Levitte <levitte at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M apps/include/apps.h
    M apps/s_client.c
    M crypto/bio/bio_local.h
    M crypto/bio/bss_bio.c
    M crypto/cmp/cmp_client.c
    M crypto/conf/conf_api.c
    M crypto/conf/conf_def.c
    M crypto/conf/conf_lib.c
    M crypto/cpuid.c
    M crypto/cryptlib.c
    M crypto/des/cfb_enc.c
    M crypto/dh/dh_kdf.c
    M crypto/dllmain.c
    M crypto/dso/dso_dlfcn.c
    M crypto/dso/dso_win32.c
    M crypto/ec/curve448/arch_32/f_impl32.c
    M crypto/ec/curve448/arch_64/f_impl64.c
    M crypto/ec/ec_backend.c
    M crypto/encode_decode/decoder_lib.c
    M crypto/engine/eng_init.c
    M crypto/engine/eng_lib.c
    M crypto/engine/tb_asnmth.c
    M crypto/err/err.c
    M crypto/getenv.c
    M crypto/http/http_client.c
    M crypto/info.c
    M crypto/init.c
    M crypto/mem.c
    M crypto/mem_sec.c
    M crypto/o_dir.c
    M crypto/o_fopen.c
    M crypto/o_init.c
    M crypto/o_str.c
    M crypto/objects/o_names.c
    M crypto/property/property_parse.c
    M crypto/rand/rand_deprecated.c
    M crypto/rand/rand_lib.c
    M crypto/store/store_lib.c
    M crypto/store/store_result.c
    M crypto/ts/ts_rsp_sign.c
    M crypto/ui/ui_openssl.c
    M crypto/x509/by_dir.c
    M crypto/x509/v3_tlsf.c
    M crypto/x509/v3_utl.c
    R e_os.h
    M engines/e_devcrypto.c
    A include/internal/e_os.h
    M providers/common/capabilities.c
    M providers/fips/self_test.c
    M providers/implementations/kdfs/hkdf.c
    M providers/implementations/kdfs/kbkdf.c
    M providers/implementations/kdfs/tls1_prf.c
    M providers/implementations/kdfs/x942kdf.c
    M providers/implementations/rands/seeding/rand_unix.c
    M providers/implementations/rands/seeding/rand_vms.c
    M ssl/d1_lib.c
    M ssl/ssl_init.c
    M ssl/ssl_lib.c
    M ssl/ssl_local.h
    M test/helpers/ssltestlib.c
    M test/localetest.c
    M test/p_test.c
    M test/secmemtest.c
    M test/ssl_old_test.c

  Log Message:
  -----------
  Move e_os.h to include/internal

Including e_os.h with a path from a header file doesn't work well on
certain exotic platform.  It simply fails to build.

Since we don't seem to be able to stop ourselves, the better move is
to move e_os.h to an include directory that's part of the inclusion
path given to the compiler.

Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17641)

(cherry picked from commit d5f9166bacfb3757dfd6117310ad54ab749b11f9)
Reviewed-by: Hugo Landau <hlandau at openssl.org>


  Commit: 071f5f874bb4cd7f04cf9d75be8b094b0bbc9179
      https://github.com/openssl/openssl/commit/071f5f874bb4cd7f04cf9d75be8b094b0bbc9179
  Author: Pauli <pauli at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M crypto/evp/e_aes.c
    M crypto/evp/e_aes_cbc_hmac_sha1.c

  Log Message:
  -----------
  aes: avoid accessing key length field directly

Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17543)

(cherry picked from commit 80ce874a093087b919e1c722427df30f81f5dad5)
Reviewed-by: Hugo Landau <hlandau at openssl.org>


  Commit: bbbccd795940114cb18722fc6fffe2b25ce3c436
      https://github.com/openssl/openssl/commit/bbbccd795940114cb18722fc6fffe2b25ce3c436
  Author: Pauli <pauli at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M crypto/evp/evp_enc.c
    M crypto/evp/evp_lib.c

  Log Message:
  -----------
  evp enc: cache cipher key length

Instead of doing a heavy params based query every time a context is
asked for its key length, this value is cached in the context and only
queried if it could have been modified.

Fixes #17064

Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17543)

(cherry picked from commit 70f39a487d3f7d976a01e0ee7ae98a82ceeea7a0)
Reviewed-by: Hugo Landau <hlandau at openssl.org>


  Commit: 817096e9b51d73b623e99aa51ad2a6d8d6667aab
      https://github.com/openssl/openssl/commit/817096e9b51d73b623e99aa51ad2a6d8d6667aab
  Author: Dimitris Apostolou <dimitris.apostolou at icloud.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M apps/speed.c
    M crypto/modes/asm/aes-gcm-armv8-unroll8_64.pl
    M crypto/modes/asm/aes-gcm-ppc.pl

  Log Message:
  -----------
  Fix typos

Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17634)

(cherry picked from commit 07c5465e9855cc485c4a84da8a4251a843bec258)


  Commit: 106050faebc2240b35d3fa09f6a1b34d9d476e1b
      https://github.com/openssl/openssl/commit/106050faebc2240b35d3fa09f6a1b34d9d476e1b
  Author: Danny Tsen <dtsen at us.ibm.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M crypto/modes/asm/aes-gcm-ppc.pl
    M include/crypto/aes_platform.h
    M providers/implementations/ciphers/cipher_aes_gcm_hw_ppc.inc

  Log Message:
  -----------
  Fixed counter overflow

Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17607)

(cherry picked from commit 345c99b6654b8313c792d54f829943068911ddbd)


  Commit: af84bf2d52d250d716f4f58834b5603001d45f80
      https://github.com/openssl/openssl/commit/af84bf2d52d250d716f4f58834b5603001d45f80
  Author: Tom Cosgrove <tom.cosgrove at arm.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M crypto/arm64cpuid.pl
    M crypto/sha/asm/keccak1600-armv8.pl

  Log Message:
  -----------
  aarch64: fix branch target indications in arm64cpuid.pl and keccak1600

Add missing AARCH64_VALID_CALL_TARGET to armv8_rng_probe(). Also add
these to the functions defined by gen_random(), and note that this Perl
sub prints the assembler out directly, not going via the $code xlate
mechanism (and therefore coming before the include of arm_arch.h). So
fix this too.

In KeccakF1600_int, AARCH64_SIGN_LINK_REGISTER functions as
AARCH64_VALID_CALL_TARGET on BTI-only builds, so it needs to come before
the 'adr' line.

Change-Id: If241efe71591c88253a3e36647ced00300c3c1a3

Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17653)

(cherry picked from commit 3a23f01268ec47bf3423b849cc226be220745522)


  Commit: 0a23b2b53084c41026349aaf8adf2884fcc8468d
      https://github.com/openssl/openssl/commit/0a23b2b53084c41026349aaf8adf2884fcc8468d
  Author: Andrey Matyukov <andrey.matyukov at intel.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M CHANGES.md
    A crypto/modes/asm/aes-gcm-avx512.pl
    M crypto/modes/build.info
    M include/crypto/modes.h
    M providers/implementations/ciphers/cipher_aes_gcm_hw_aesni.inc
    A providers/implementations/ciphers/cipher_aes_gcm_hw_vaes_avx512.inc

  Log Message:
  -----------
  AES-GCM enabled with AVX512 vAES and vPCLMULQDQ.

Vectorized 'stitched' encrypt + ghash implementation of AES-GCM enabled
with AVX512 vAES and vPCLMULQDQ instructions (available starting Intel's
IceLake micro-architecture).

The performance details for representative IceLake Server and Client
platforms are shown below

Performance data:
OpenSSL Speed KBs/Sec
Intel(R) Xeon(R) Platinum 8380 CPU @ 2.30GHz (1Core/1Thread)
Payload in Bytes       16          64        256         1024        8192      16384
AES-128-GCM
  Baseline      478708.27   1118296.96  2428092.52  3518199.4   4172355.99  4235762.07
  Patched       534613.95   2009345.55  3775588.15  5059517.64  8476794.88  8941541.79
  Speedup            1.12         1.80        1.55        1.44        2.03        2.11

AES-256-GCM
  Baseline      399237.27   961699.9    2136377.65  2979889.15  3554823.37  3617757.5
  Patched       475948.13   1720128.51  3462407.12  4696832.2   7532013.16  7924953.91
  Speedup            1.19        1.79         1.62        1.58        2.12        2.19
Intel(R) Core(TM) i7-1065G7 CPU @ 1.30GHz (1Core/1Thread)
Payload in Bytes       16          64        256         1024        8192      16384
AES-128-GCM
  Baseline      259128.54   570756.43   1362554.16  1990654.57  2359128.88  2401671.58
  Patched       292139.47   1079320.95  2001974.63  2829007.46  4510318.59  4705314.41
  Speedup            1.13        1.89         1.47        1.42        1.91        1.96
AES-256-GCM
  Baseline      236000.34   550506.76   1234638.08  1716734.57  2011255.6   2028099.99
  Patched       247256.32   919731.34   1773270.43  2553239.55  3953115.14  4111227.29
  Speedup            1.05        1.67         1.44        1.49        1.97        2.03

Reviewed-by: TJ O'Dwyer, Marcel Cornu, Pablo de Lara
Reviewed-by: Paul Dale <pauli at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17239)

(cherry picked from commit 63b996e752ac698186c38177232280e6515d571b)


  Commit: 64e20b1f4424f19e258b74ec3880d01c91b38ff8
      https://github.com/openssl/openssl/commit/64e20b1f4424f19e258b74ec3880d01c91b38ff8
  Author: Tomas Mraz <tomas at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    A .github/workflows/fips-provider.yml

  Log Message:
  -----------
  Add test of FIPS provider from the 3.0 branch with master build

Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17671)

(cherry picked from commit 3fdf4b9365900889b54734a348012eae38dedce5)


  Commit: fa82704ea6564c11d5280d748fab1172dc156409
      https://github.com/openssl/openssl/commit/fa82704ea6564c11d5280d748fab1172dc156409
  Author: Tomas Mraz <tomas at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M test/evp_test.c

  Log Message:
  -----------
  evp_test: Skip testcase if r parameter is unsupported

The r parameter of the KBKDF is unsupported by 3.0 FIPS module.

Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17671)

(cherry picked from commit bbbd1210b43d7a7aff60ccc3c92561beaf6b2bb3)
Reviewed-by: Hugo Landau <hlandau at openssl.org>


  Commit: 270c72a340c3f3524a00605d2e1905899d650276
      https://github.com/openssl/openssl/commit/270c72a340c3f3524a00605d2e1905899d650276
  Author: Tomas Mraz <tomas at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M .github/workflows/fips-provider.yml

  Log Message:
  -----------
  Add test of FIPS provider from the master branch with 3.0 build

Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17671)

(cherry picked from commit 0c47b8a879c6cd2d553831f930af5ee9df291eca)


  Commit: 8095adc16b70b05a651b2c05cca64bda6e38f3fa
      https://github.com/openssl/openssl/commit/8095adc16b70b05a651b2c05cca64bda6e38f3fa
  Author: Jiasheng Jiang <jiasheng at iscas.ac.cn>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M test/helpers/handshake.c

  Log Message:
  -----------
  test/helpers/handshake.c: Add check for OPENSSL_strdup

As the potential failure of the memory allocation, the OPENSSL_strdup()
could return NULL pointer and then be assigned to 'server_ctx'.
In order to tell the callers the failure of the configuration, it should
be better to return error.

Signed-off-by: Jiasheng Jiang <jiasheng at iscas.ac.cn>

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17705)

(cherry picked from commit 17da5f2af833ef16cc2e431359139a4a2e3775b9)


  Commit: 659b645d15dbd189a27c64658dd3b6e6f4a426a8
      https://github.com/openssl/openssl/commit/659b645d15dbd189a27c64658dd3b6e6f4a426a8
  Author: Dimitris Apostolou <dimitris.apostolou at icloud.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M doc/man3/X509_STORE_CTX_new.pod

  Log Message:
  -----------
  Fix typo

Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Shane Lontis <shane.lontis at oracle.com>
(Merged from https://github.com/openssl/openssl/pull/17713)

(cherry picked from commit 2d17290d2cf269e6c939f983db4ea71275d87f14)


  Commit: 41e2d8784195d4a1c730fea9f3c197f34a11cb97
      https://github.com/openssl/openssl/commit/41e2d8784195d4a1c730fea9f3c197f34a11cb97
  Author: Deepankar Bhattacharjee <deepankar.b at in.ibm.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    A crypto/chacha/asm/chachap10-ppc.pl
    M crypto/chacha/build.info
    M crypto/chacha/chacha_ppc.c
    M crypto/perlasm/ppc-xlate.pl
    M crypto/ppccap.c
    M crypto/ppccpuid.pl
    M include/crypto/ppc_arch.h

  Log Message:
  -----------
  chacha20 performance optimizations for ppc64le with 8x lanes,
Performance increase around 50%.

Co-authored-by: Madhusudhanan Duraisamy <madurais at in.ibm.com>

Co-authored-by: Nilamjyoti Goswami <nilamgoswami at in.ibm.com>

Co-authored-by: Siva Sundar Anbareeswaran <srisivasundar at in.ibm.com>

Reviewed-by: Danny Tsen <dtsen at us.ibm.com>
Tested-by: Danny Tsen <dtsen at us.ibm.com>
Signed-off-by: Danny <dtsen at us.ibm.com>

Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/16637)

(cherry picked from commit f596bbe4da779b56eea34d96168b557d78e1149a)


  Commit: 0c8684e7945231149053acec485fa94745b78a8a
      https://github.com/openssl/openssl/commit/0c8684e7945231149053acec485fa94745b78a8a
  Author: zhangzhilei <zhangzhilei at 360.cn>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M crypto/sm4/sm4.c

  Log Message:
  -----------
  SM4 optimization for non-asm mode

This patch use table-lookup borrow from aes in crypto/aes/aes_core.c.

Test on my PC(AMD Ryzen Threadripper 3990X 64-Core Processor),

before and after optimization:

debug mode:

Before:
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
SM4-CBC          40101.14k    41453.80k    42073.86k    42174.81k    42216.11k    42227.03k
SM4-ECB          41222.60k    42074.88k    42673.66k    42868.05k    42896.04k    42844.16k
SM4-CTR          35867.22k    36874.47k    37004.97k    37083.82k    37052.42k    37076.99k

After:
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
SM4-CBC          47273.51k    48957.40k    49665.19k    49810.77k    49859.24k    49834.67k
SM4-ECB          48100.01k    49323.34k    50224.04k    50273.28k    50533.72k    50730.12k
SM4-CTR          41352.64k    42621.29k    42971.22k    43061.59k    43089.92k    43100.84k

non-debug mode:

Before:
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
SM4-CBC         141596.59k   145102.93k   146794.50k   146540.89k   146650.45k   146877.10k
SM4-ECB         144774.71k   155106.28k   158166.36k   158279.00k   158520.66k   159280.97k
SM4-CTR         138021.10k   141577.60k   142493.53k   142736.38k   142852.10k   143125.16k

After:
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
SM4-CBC         142016.95k   150068.48k   152238.25k   152773.97k   153094.83k   152027.14k
SM4-ECB         148842.94k   159919.87k   163628.37k   164515.84k   164697.43k   164790.27k
SM4-CTR         141774.23k   146206.89k   147470.25k   147816.28k   146770.60k   148346.20k

Reviewed-by: Paul Dale <pauli at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17766)

(cherry picked from commit 13ba91cb02479a91b0743d2bf5f5ec7ce42860d0)


  Commit: c581148fa4804f7d3fe01e47f1fd788494d7723a
      https://github.com/openssl/openssl/commit/c581148fa4804f7d3fe01e47f1fd788494d7723a
  Author: Michael Baentsch <info at baentsch.ch>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M crypto/cms/cms_ec.c
    M crypto/cms/cms_local.h
    M crypto/cms/cms_sd.c
    M crypto/objects/obj_xref.c

  Log Message:
  -----------
  enable CMS sign/verify for provider-implemented PKEYs

We need to handle signatures with and without digest algs
and we generalize the ossl_cms_ecdsa_dsa_sign() function
to other algorithms that are handled in the same way.

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17733)

(cherry picked from commit d15d561844d8989e50896724d89681ae7ba81a74)


  Commit: 0f3de2f0b92b8d963bbf37b8216268324f981bb9
      https://github.com/openssl/openssl/commit/0f3de2f0b92b8d963bbf37b8216268324f981bb9
  Author: Michael Baentsch <info at baentsch.ch>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M crypto/objects/obj_xref.c
    M test/upcallstest.c

  Log Message:
  -----------
  Add testing of OBJ_find_sigid_by_algs()

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17733)

(cherry picked from commit 065442165a3d339a7de469b4cd18a3f902c73443)


  Commit: 1dd1e2df3d8b8299cb8bd7c86108adf97d9626f7
      https://github.com/openssl/openssl/commit/1dd1e2df3d8b8299cb8bd7c86108adf97d9626f7
  Author: XiaokangQian <xiaokang.qian at arm.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M crypto/modes/asm/aes-gcm-armv8-unroll8_64.pl

  Log Message:
  -----------
  Fix build issue with aes-gcm-armv8-unroll8_64.S on older aarch64 assemblers

The EOR3 instruction is implemented with .inst, and the code here is enabled
using run-time detection of the CPU capabilities, so no need to explicitly
ask for the sha3 extension.

Fixes #17773

Reviewed-by: Kurt Roeckx <kurt at roeckx.be>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17795)

(cherry picked from commit 2507903eb7c4e3ca4bc1a00074c16b409abc028e)


  Commit: e301e531fb1444ef19416e84c7db909d268069a1
      https://github.com/openssl/openssl/commit/e301e531fb1444ef19416e84c7db909d268069a1
  Author: Daniel Hu <Daniel.Hu at arm.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M providers/implementations/ciphers/cipher_sm4_gcm_hw.c

  Log Message:
  -----------
  Further acceleration for SM4-GCM on ARM

This patch will allow the SM4-GCM function to leverage the SM4
high-performance CTR crypto interface already implemented for ARM,
which is faster than current single block cipher routine used
for GCM

It does not address the acceleration of GHASH function of GCM,
which can be a future task, still we can see immediate uplift of
performance (up to 4X)

Before this patch:
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
SM4-GCM         186432.92k   394234.05k   587916.46k   639365.12k   648486.91k   652924.25k

After the patch:
SM4-GCM         193924.87k   860940.35k  1696083.71k  2302548.31k  2580411.73k  2607398.91k

Signed-off-by: Daniel Hu <Daniel.Hu at arm.com>

Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17814)

(cherry picked from commit 26efd0b37714dd1f3557c6b6c32822fc99fe1d9b)


  Commit: 8a2941870ec85767bed7e96f42433b6912726dff
      https://github.com/openssl/openssl/commit/8a2941870ec85767bed7e96f42433b6912726dff
  Author: Ben Avison <bavison at riscosopen.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    A crypto/aes/asm/bsaes-armv8.S
    M crypto/aes/build.info

  Log Message:
  -----------
  ARM assembly pack: translate bit-sliced AES implementation to AArch64

Reviewed-by: Paul Dale <pauli at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14592)

(cherry picked from commit 82551af5146271080edcd2e3077fea643e727379)


  Commit: bfdcbe95fde121b769f263b29566833dadc2ed41
      https://github.com/openssl/openssl/commit/bfdcbe95fde121b769f263b29566833dadc2ed41
  Author: Tom Cosgrove <tom.cosgrove at arm.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    R crypto/aes/asm/bsaes-armv8.S
    A crypto/aes/asm/bsaes-armv8.pl
    M crypto/aes/build.info

  Log Message:
  -----------
  Use Perl to generate bsaes-armv8.S

Reviewed-by: Paul Dale <pauli at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14592)

(cherry picked from commit a35c3a9f5be07c4c1bcabdd98ea56ff3ff20b645)


  Commit: c635400be1f57cdc5b01828a57e59d589673fab8
      https://github.com/openssl/openssl/commit/c635400be1f57cdc5b01828a57e59d589673fab8
  Author: Michael Baentsch <info at baentsch.ch>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M .github/workflows/ci.yml
    M .gitmodules
    A oqs-provider
    M test/README-external.md
    A test/recipes/95-test_external_oqsprovider.t
    A test/recipes/95-test_external_oqsprovider_data/oqsprovider.sh

  Log Message:
  -----------
  Add external testing with oqsprovider

Including running the oqsprovider external test in the
CI external test build.

Reviewed-by: Richard Levitte <levitte at openssl.org>
Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17832)

(cherry picked from commit fa66f62ebbb878bef5c34591efc82b24b9b88dff)


  Commit: 9a937ef47316eb39586ef3b721116c56263da08b
      https://github.com/openssl/openssl/commit/9a937ef47316eb39586ef3b721116c56263da08b
  Author: Tomas Mraz <tomas at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M test/recipes/95-test_external_oqsprovider_data/oqsprovider.sh

  Log Message:
  -----------
  test_external_oqsprovider: Use working checkout of liboqs

Fixes #18898

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit at gmail.com>
(Merged from https://github.com/openssl/openssl/pull/18899)

(cherry picked from commit 7e32ca79e33546682a5a75bb41b9d6dcd732787a)


  Commit: 5929d5287a363df5cf6556e390b19acdf63b49de
      https://github.com/openssl/openssl/commit/5929d5287a363df5cf6556e390b19acdf63b49de
  Author: Matt Caswell <matt at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M oqs-provider
    M test/recipes/95-test_external_oqsprovider_data/oqsprovider.sh

  Log Message:
  -----------
  Update the oqs-provider submodule to a more recent commit

Also update the oqsprovider.sh file to not run the preptests.sh script
which is no longer required

Reviewed-by: Hugo Landau <hlandau at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18132)

(cherry picked from commit ac837d4d2eb542a9119bd8ed0ade7242887c531b)


  Commit: afb67ad1e1bbf90b26c52ace7b17276394ab0c50
      https://github.com/openssl/openssl/commit/afb67ad1e1bbf90b26c52ace7b17276394ab0c50
  Author: Michael Baentsch <57787676+baentsch at users.noreply.github.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M oqs-provider
    M test/recipes/95-test_external_oqsprovider_data/oqsprovider.sh

  Log Message:
  -----------
  update oqsprovider/liboqs to v0.7.2

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Hugo Landau <hlandau at openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit at gmail.com>
Reviewed-by: Richard Levitte <levitte at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19184)

(cherry picked from commit 0b664228a8b217751a225e383a47936fab5c1d64)


  Commit: 38f3427cb6f225f6dbf643d888ed6d02c3ed0101
      https://github.com/openssl/openssl/commit/38f3427cb6f225f6dbf643d888ed6d02c3ed0101
  Author: Danny Tsen <dtsen at us.ibm.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M crypto/chacha/asm/chachap10-ppc.pl

  Log Message:
  -----------
  Fixed conditional statement testing 64 and 256 bytes

Reviewed-by: Paul Dale <pauli at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17760)

(cherry picked from commit 7e1f3ffcc5bc15fb9a12b9e3bb202f544c6ed5aa)


  Commit: 3f3d32832c6a9bb23795745c4029b55053d9f80a
      https://github.com/openssl/openssl/commit/3f3d32832c6a9bb23795745c4029b55053d9f80a
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M providers/implementations/kdfs/scrypt.c

  Log Message:
  -----------
  Fix bug in scrypt KDF provider dup method

The scrypt KDF provider's dup method calls kdf_scrypt_new passing a
libctx, but a provider context is expected. Since the provider context
is passed as void *, this was not caught.

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17873)

(cherry picked from commit e04c2c02e8e6b9ec71d93c26c14167ceb2165ce8)


  Commit: a1fed5b2f62099993368c988a2ac04e8e257caf4
      https://github.com/openssl/openssl/commit/a1fed5b2f62099993368c988a2ac04e8e257caf4
  Author: Andrey Matyukov <andrey.matyukov at intel.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M crypto/modes/asm/aes-gcm-avx512.pl
    M crypto/perlasm/x86_64-xlate.pl

  Log Message:
  -----------
  aes-gcm-avx512.pl: Fixed mingw64 build

Decoration prefix for some assembler labels in aes-gcm-avx512.pl was
fixed for mingw64 build.

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17868)

(cherry picked from commit 224ea84b4054de105447cde407fa3d39004a563d)


  Commit: e2c3aea2ea587e3be88c3fbc39e62a8ff476e113
      https://github.com/openssl/openssl/commit/e2c3aea2ea587e3be88c3fbc39e62a8ff476e113
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M crypto/evp/evp_enc.c

  Log Message:
  -----------
  Fix IV length caching in EVP encryption code

The IV length cache value was being invalidated excessively, causing IV
length caching to be ineffective.

Related to #17064.

Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Tim Hudson <tjh at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17862)

(cherry picked from commit b9a2f24e44f53c7c3a63a7f7b165e8267cbdda42)


  Commit: 6907e6a1480df5b91152175ff1574f0408d202d9
      https://github.com/openssl/openssl/commit/6907e6a1480df5b91152175ff1574f0408d202d9
  Author: Tobias Nießen <tniessen at tnie.de>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M test/recipes/30-test_evp_data/evpciph_aes_ccm_cavs.txt

  Log Message:
  -----------
  Fix typos in CCM test vector titles

Reviewed-by: Tim Hudson <tjh at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17889)

(cherry picked from commit 930a7bd9128fd5e184c8a60153de5b8a16159b05)


  Commit: 42fe0f1aa4a7eaa3a83cce72dfa741c86b53b5ff
      https://github.com/openssl/openssl/commit/42fe0f1aa4a7eaa3a83cce72dfa741c86b53b5ff
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M demos/README.txt
    A demos/encode/rsa_encode.c

  Log Message:
  -----------
  Add EVP RSA key encode/decode demo

Fixes #14116.

Reviewed-by: Dmitry Belyavskiy <beldmit at gmail.com>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17826)

(cherry picked from commit 1483b37e7a2c952eed5f6c7f5c0be9635aa3a6ea)


  Commit: ceae983354da6f73798dfd7d4977d87b2bc44c19
      https://github.com/openssl/openssl/commit/ceae983354da6f73798dfd7d4977d87b2bc44c19
  Author: XiaokangQian <xiaokang.qian at arm.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M crypto/modes/asm/aes-gcm-armv8-unroll8_64.pl

  Log Message:
  -----------
  Fix incorrect comments in aes-gcm-armv8-unroll8_64.pl

Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17918)

(cherry picked from commit 3b5b91992ca25bef8575dbd17d7d3a2ca9557e04)


  Commit: c425e365f493e17c029381ca63a2ceb0f9e922d3
      https://github.com/openssl/openssl/commit/c425e365f493e17c029381ca63a2ceb0f9e922d3
  Author: Ross Burton <ross.burton at arm.com>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M Configure

  Log Message:
  -----------
  Configure: don't try to be clever when configuring afalgeng

If the afalgeng is enabled then Configure tries to be clever but fails,
by only actually building afalgeng if it isn't being cross-compiled and
if the current kernel is 4.1+.

This means that everyone cross compiling, or whose builder machines are
running older kernels (not uncommon for build farms), can't enable
afalgeng.

Instead remove the cleverness and simply enable/disable as requested.

Fixes #7687

CLA: trivial

Signed-off-by: Ross Burton <ross.burton at arm.com>
Change-Id: I023b6cb535d5b5811823d4814fa939de3f304886

Reviewed-by: Paul Dale <pauli at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/7688)

(cherry picked from commit 9e1a54f4a187195fc417ad0f90e84d208d478968)


  Commit: ae1548476321a8de7de04b681e9bf734c3131aae
      https://github.com/openssl/openssl/commit/ae1548476321a8de7de04b681e9bf734c3131aae
  Author: Tomas Mraz <tomas at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M .github/workflows/cross-compiles.yml

  Log Message:
  -----------
  Disable the test_afalg on cross compile targets

The afalg engine does not work when run through qemu.

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17945)

(cherry picked from commit fecae608a9ad366a1bc740ad94628520cdf38d25)


  Commit: 4a1108eb5906cd3cf47a3f70bd58722dbe2023a4
      https://github.com/openssl/openssl/commit/4a1108eb5906cd3cf47a3f70bd58722dbe2023a4
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M crypto/encode_decode/decoder_lib.c
    M crypto/encode_decode/decoder_meth.c
    M crypto/encode_decode/decoder_pkey.c
    M crypto/encode_decode/encoder_local.h

  Log Message:
  -----------
  Decoder resolution performance optimizations

This refactors decoder functionality to reduce calls to
OSSL_DECODER_is_a / EVP_KEYMGMT_is_a, which are substantial bottlenecks
in the performance of repeated decode operations (see #15199).

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Richard Levitte <levitte at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17921)

(cherry picked from commit 247554458435eaab175cdc9d36878158b9eb6f6e)


  Commit: c2564d1323fc78e115f1af9d6b31463c4ceec9ad
      https://github.com/openssl/openssl/commit/c2564d1323fc78e115f1af9d6b31463c4ceec9ad
  Author: Pauli <pauli at openssl.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M crypto/encode_decode/decoder_pkey.c

  Log Message:
  -----------
  Fix Coverity 1503218: negative loop bound

OPENSSL_sk_num returns an integer which can theoretically be negative.
Assigning this to a size_t and using it as a loop bound isn't ideal.

Rather than adding checked for NULL or negative returns, changing the loop
index and end to int is simpler.

Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Matt Caswell <matt at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17954)

(cherry picked from commit 0bcae9893b99666158dd8b35fb674e6188b0b5c3)


  Commit: c6fb30f488f6e4fd6f9306c8ce1c5345aa5f15fd
      https://github.com/openssl/openssl/commit/c6fb30f488f6e4fd6f9306c8ce1c5345aa5f15fd
  Author: Ben Avison <bavison at riscosopen.org>
  Date:   2022-11-11 (Fri, 11 Nov 2022)

  Changed paths:
    M crypto/aes/asm/bsaes-armv8.pl

  Log Message:
  -----------
  Remove further uses of __ARMEL__ in AArch64 assembly

The sweep of the source tree in #17373 missed the BSAES assembly due its
PR #14592 having been temporarily backed out at the time.

This constitutes a partial fix for #17958 - covers cases except when
configured with -DOPENSSL_AES_CONST_TIME.

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17988)

(cherry picked from commit 2bd5cde57e748d6ff21ed26cb448835f86b86ea1)


Compare: https://github.com/openssl/openssl/compare/f01ebab0c0ef...c6fb30f488f6


More information about the openssl-commits mailing list