[openssl] master update

Dr. Paul Dale pauli at openssl.org
Sat May 29 06:08:23 UTC 2021


The branch master has been updated
       via  30691da1ba465f3cff5d865187fbf5c5244448eb (commit)
       via  1036749883ccf38ed11afe424d69708cfdca99f3 (commit)
       via  3363a2c3d60a157817dce1d6d5af20de0e415875 (commit)
       via  77112270593c4c51631e9138174f6657096399e9 (commit)
      from  24c07e50551f73f565295db22478464ca9adc32e (commit)


- Log -----------------------------------------------------------------
commit 30691da1ba465f3cff5d865187fbf5c5244448eb
Author: Amitay Isaacs <amitay at ozlabs.org>
Date:   Tue Oct 13 05:11:40 2020 -0400

    ec: Add PPC64 vector assembly version of p521 field operations
    
    Only field multiplication and squaring (but not reduction) show a
    significant improvement.  This is enabled on Power ISA >= 3.0.
    
    On a Power 9 CPU an average 10% performance improvement is seen (ECHDE:
    14%, ECDSA sign: 6%, ECDSA verify 10%), compared to existing code.
    
    On an upcoming Power 10 CPU we see an average performance improvement
    of 26% (ECHDE: 38%, ECDSA sign: 16%, ECDSA verify 25%), compared to
    existing code.
    
    Signed-off-by: Amitay Isaacs <amitay at ozlabs.org>
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    
    Reviewed-by: Tomas Mraz <tomas at openssl.org>
    Reviewed-by: Paul Dale <pauli at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/15401)

commit 1036749883ccf38ed11afe424d69708cfdca99f3
Author: Martin Schwenke <martin at meltin.net>
Date:   Wed May 12 14:21:58 2021 +1000

    ec: Add run time code selection for p521 field operations
    
    This is only used if ECP_NISTP521_ASM is defined and this currently
    only occurs on PPC64.
    
    This simply chooses the C reference implementation, which will be the
    default when custom code is available for certain CPUs.
    
    Only the multiplication and squaring operations are handled, since the
    upcoming assembly code only contains those.  This scheme can be easily
    extended to handle reduction too.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Signed-off-by: Amitay Isaacs <amitay at ozlabs.org>
    
    Reviewed-by: Tomas Mraz <tomas at openssl.org>
    Reviewed-by: Paul Dale <pauli at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/15401)

commit 3363a2c3d60a157817dce1d6d5af20de0e415875
Author: Martin Schwenke <martin at meltin.net>
Date:   Wed May 12 11:47:55 2021 +1000

    ec: Rename reference p521 field operations and use them via macros
    
    This will allow clean addition of assembly versions of these operations.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    
    Reviewed-by: Tomas Mraz <tomas at openssl.org>
    Reviewed-by: Paul Dale <pauli at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/15401)

commit 77112270593c4c51631e9138174f6657096399e9
Author: Martin Schwenke <martin at meltin.net>
Date:   Wed Dec 2 19:05:44 2020 +1100

    perlasm/ppc-xlate.pl: Handle rewriting of vector registers
    
    Power has 2 numbering systems for vector registers:
    
    * VR: Vector Registers are numbered from 0 to 31
    * VSR: Vector-Scalar registers are numbers from 32 to 63
    
    These refer to the same registers.  Some instructions use VR numbering
    for their operands, while others use VSR numbering.
    
    When using Perl to provide a meaningful name for a register it makes
    sense to use the same variable for both VR and VSR instructions.  This
    makes the code more readable.
    
    However, providing a VSR number (i.e. >=32) to an instruction that
    expects a VR number will cause an assembler error.
    
    So, for instructions that require VR numbering, map VSR numbers
    (i.e. >=32) to VR numbers.  This also allows existing code that uses
    VR numbering to remain unchanged.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    
    Reviewed-by: Tomas Mraz <tomas at openssl.org>
    Reviewed-by: Paul Dale <pauli at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/15401)

-----------------------------------------------------------------------

Summary of changes:
 crypto/ec/asm/ecp_nistp521-ppc64.pl | 436 ++++++++++++++++++++++++++++++++++++
 crypto/ec/build.info                |   7 +-
 crypto/ec/ecp_nistp521.c            |  55 ++++-
 crypto/perlasm/ppc-xlate.pl         |  82 ++++++-
 providers/fips-sources.checksums    | 306 ++++---------------------
 providers/fips.checksum             |   2 +-
 providers/fips.module.sources       | 219 +-----------------
 7 files changed, 618 insertions(+), 489 deletions(-)
 create mode 100755 crypto/ec/asm/ecp_nistp521-ppc64.pl

diff --git a/crypto/ec/asm/ecp_nistp521-ppc64.pl b/crypto/ec/asm/ecp_nistp521-ppc64.pl
new file mode 100755
index 0000000000..7e71e924ba
--- /dev/null
+++ b/crypto/ec/asm/ecp_nistp521-ppc64.pl
@@ -0,0 +1,436 @@
+#! /usr/bin/env perl
+# Copyright 2021 The OpenSSL Project Authors. All Rights Reserved.
+#
+# Licensed under the OpenSSL license (the "License").  You may not use
+# this file except in compliance with the License.  You can obtain a copy
+# in the file LICENSE in the source distribution or at
+# https://www.openssl.org/source/license.html
+#
+# ====================================================================
+# Written by Amitay Isaacs <amitay at ozlabs.org> and Martin Schwenke
+# <martin at meltin.net> for the OpenSSL project.
+# ====================================================================
+#
+# p521 lower-level primitives for PPC64 using vector instructions.
+#
+
+use strict;
+use warnings;
+
+my $flavour = shift;
+my $output = "";
+while (($output=shift) && ($output!~/\w[\w\-]*\.\w+$/)) {}
+if (!$output) {
+	$output = "-";
+}
+
+my ($xlate, $dir);
+$0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1;
+( $xlate="${dir}ppc-xlate.pl" and -f $xlate ) or
+( $xlate="${dir}../../perlasm/ppc-xlate.pl" and -f $xlate) or
+die "can't locate ppc-xlate.pl";
+
+open OUT,"| \"$^X\" $xlate $flavour $output";
+*STDOUT=*OUT;
+
+my $code = "";
+
+my ($sp, $outp, $savelr, $savesp) = ("r1", "r3", "r10", "r12");
+
+my $vzero = "v32";
+
+sub startproc($)
+{
+    my ($name) = @_;
+
+    $code.=<<___;
+    .globl ${name}
+${name}:
+	.cfi_startproc
+
+___
+}
+
+sub endproc($)
+{
+    my ($name) = @_;
+
+    $code.=<<___;
+	blr
+	.cfi_endproc
+	    .size	${name},.-${name}
+
+___
+}
+
+
+sub push_vrs($$)
+{
+	my ($min, $max) = @_;
+
+	my $count = $max - $min + 1;
+
+	$code.=<<___;
+	mr		$savesp,$sp
+	stdu		$sp,-16*`$count+1`($sp)
+
+___
+	    for (my $i = $min; $i <= $max; $i++) {
+		    my $mult = $max - $i + 1;
+		    $code.=<<___;
+	stxv		$i,-16*$mult($savesp)
+___
+
+	}
+
+	$code.=<<___;
+
+___
+}
+
+sub pop_vrs($$)
+{
+	my ($min, $max) = @_;
+
+	$code.=<<___;
+	ld		$savesp,0($sp)
+___
+	for (my $i = $min; $i <= $max; $i++) {
+		my $mult = $max - $i + 1;
+		$code.=<<___;
+	lxv		$i,-16*$mult($savesp)
+___
+	}
+
+	$code.=<<___;
+	mr		$sp,$savesp
+
+___
+}
+
+sub load_vrs($$)
+{
+	my ($pointer, $reg_list) = @_;
+
+	for (my $i = 0; $i <= 8; $i++) {
+		my $offset = $i * 8;
+		$code.=<<___;
+	lxsd		$reg_list->[$i],$offset($pointer)
+___
+	}
+
+	$code.=<<___;
+
+___
+}
+
+sub store_vrs($$)
+{
+	my ($pointer, $reg_list) = @_;
+
+	for (my $i = 0; $i <= 8; $i++) {
+		my $offset = $i * 16;
+		$code.=<<___;
+	stxv		$reg_list->[$i],$offset($pointer)
+___
+	}
+
+	$code.=<<___;
+
+___
+}
+
+$code.=<<___;
+.text
+
+___
+
+{
+	# mul/square common
+	my ($t1, $t2, $t3, $t4) = ("v33", "v34", "v44", "v54");
+	my ($zero, $one) = ("r8", "r9");
+	my @out = map("v$_",(55..63));
+
+	{
+		#
+		# p521_felem_mul
+		#
+
+		my ($in1p, $in2p) = ("r4", "r5");
+		my @in1 = map("v$_",(45..53));
+		my @in2 = map("v$_",(35..43));
+
+		startproc("p521_felem_mul");
+
+		push_vrs(52, 63);
+
+		$code.=<<___;
+	vspltisw	$vzero,0
+
+___
+
+		load_vrs($in1p, \@in1);
+		load_vrs($in2p, \@in2);
+
+		$code.=<<___;
+	vmsumudm	$out[0],$in1[0],$in2[0],$vzero
+
+	xxpermdi	$t1,$in1[0],$in1[1],0b00
+	xxpermdi	$t2,$in2[1],$in2[0],0b00
+	vmsumudm	$out[1],$t1,$t2,$vzero
+
+	xxpermdi	$t2,$in2[2],$in2[1],0b00
+	vmsumudm	$out[2],$t1,$t2,$vzero
+	vmsumudm	$out[2],$in1[2],$in2[0],$out[2]
+
+	xxpermdi	$t2,$in2[3],$in2[2],0b00
+	vmsumudm	$out[3],$t1,$t2,$vzero
+	xxpermdi	$t3,$in1[2],$in1[3],0b00
+	xxpermdi	$t4,$in2[1],$in2[0],0b00
+	vmsumudm	$out[3],$t3,$t4,$out[3]
+
+	xxpermdi	$t2,$in2[4],$in2[3],0b00
+	vmsumudm	$out[4],$t1,$t2,$vzero
+	xxpermdi	$t4,$in2[2],$in2[1],0b00
+	vmsumudm	$out[4],$t3,$t4,$out[4]
+	vmsumudm	$out[4],$in1[4],$in2[0],$out[4]
+
+	xxpermdi	$t2,$in2[5],$in2[4],0b00
+	vmsumudm	$out[5],$t1,$t2,$vzero
+	xxpermdi	$t4,$in2[3],$in2[2],0b00
+	vmsumudm	$out[5],$t3,$t4,$out[5]
+
+	xxpermdi	$t2,$in2[6],$in2[5],0b00
+	vmsumudm	$out[6],$t1,$t2,$vzero
+	xxpermdi	$t4,$in2[4],$in2[3],0b00
+	vmsumudm	$out[6],$t3,$t4,$out[6]
+
+	xxpermdi	$t2,$in2[7],$in2[6],0b00
+	vmsumudm	$out[7],$t1,$t2,$vzero
+	xxpermdi	$t4,$in2[5],$in2[4],0b00
+	vmsumudm	$out[7],$t3,$t4,$out[7]
+
+	xxpermdi	$t2,$in2[8],$in2[7],0b00
+	vmsumudm	$out[8],$t1,$t2,$vzero
+	xxpermdi	$t4,$in2[6],$in2[5],0b00
+	vmsumudm	$out[8],$t3,$t4,$out[8]
+
+	xxpermdi	$t1,$in1[4],$in1[5],0b00
+	xxpermdi	$t2,$in2[1],$in2[0],0b00
+	vmsumudm	$out[5],$t1,$t2,$out[5]
+
+	xxpermdi	$t2,$in2[2],$in2[1],0b00
+	vmsumudm	$out[6],$t1,$t2,$out[6]
+	vmsumudm	$out[6],$in1[6],$in2[0],$out[6]
+
+	xxpermdi	$t2,$in2[3],$in2[2],0b00
+	vmsumudm	$out[7],$t1,$t2,$out[7]
+	xxpermdi	$t3,$in1[6],$in1[7],0b00
+	xxpermdi	$t4,$in2[1],$in2[0],0b00
+	vmsumudm	$out[7],$t3,$t4,$out[7]
+
+	xxpermdi	$t2,$in2[4],$in2[3],0b00
+	vmsumudm	$out[8],$t1,$t2,$out[8]
+	xxpermdi	$t4,$in2[2],$in2[1],0b00
+	vmsumudm	$out[8],$t3,$t4,$out[8]
+	vmsumudm	$out[8],$in1[8],$in2[0],$out[8]
+
+	li		$zero,0
+	li		$one,1
+	mtvsrdd		$t1,$one,$zero
+___
+
+		for (my $i = 0; $i <= 8; $i++) {
+			$code.=<<___;
+	vsld		$in2[$i],$in2[$i],$t1
+___
+		}
+
+		$code.=<<___;
+
+	vmsumudm	$out[7],$in1[8],$in2[8],$out[7]
+
+	xxpermdi	$t2,$in2[8],$in2[7],0b00
+	xxpermdi	$t1,$in1[7],$in1[8],0b00
+	vmsumudm	$out[6],$t1,$t2,$out[6]
+
+	xxpermdi	$t1,$in1[6],$in1[7],0b00
+	vmsumudm	$out[5],$t1,$t2,$out[5]
+	vmsumudm	$out[5],$in1[8],$in2[6],$out[5]
+
+	xxpermdi	$t1,$in1[5],$in1[6],0b00
+	vmsumudm	$out[4],$t1,$t2,$out[4]
+	xxpermdi	$t4,$in2[6],$in2[5],0b00
+	xxpermdi	$t3,$in1[7],$in1[8],0b00
+	vmsumudm	$out[4],$t3,$t4,$out[4]
+
+	xxpermdi	$t1,$in1[4],$in1[5],0b00
+	vmsumudm	$out[3],$t1,$t2,$out[3]
+	xxpermdi	$t3,$in1[6],$in1[7],0b00
+	vmsumudm	$out[3],$t3,$t4,$out[3]
+	vmsumudm	$out[3],$in1[8],$in2[4],$out[3]
+
+	xxpermdi	$t1,$in1[3],$in1[4],0b00
+	vmsumudm	$out[2],$t1,$t2,$out[2]
+	xxpermdi	$t3,$in1[5],$in1[6],0b00
+	vmsumudm	$out[2],$t3,$t4,$out[2]
+
+	xxpermdi	$t1,$in1[2],$in1[3],0b00
+	vmsumudm	$out[1],$t1,$t2,$out[1]
+	xxpermdi	$t3,$in1[4],$in1[5],0b00
+	vmsumudm	$out[1],$t3,$t4,$out[1]
+
+	xxpermdi	$t1,$in1[1],$in1[2],0b00
+	vmsumudm	$out[0],$t1,$t2,$out[0]
+	xxpermdi	$t3,$in1[3],$in1[4],0b00
+	vmsumudm	$out[0],$t3,$t4,$out[0]
+
+	xxpermdi	$t2,$in2[4],$in2[3],0b00
+	xxpermdi	$t1,$in1[7],$in1[8],0b00
+	vmsumudm	$out[2],$t1,$t2,$out[2]
+
+	xxpermdi	$t1,$in1[6],$in1[7],0b00
+	vmsumudm	$out[1],$t1,$t2,$out[1]
+	vmsumudm	$out[1],$in1[8],$in2[2],$out[1]
+
+	xxpermdi	$t1,$in1[5],$in1[6],0b00
+	vmsumudm	$out[0],$t1,$t2,$out[0]
+	xxpermdi	$t4,$in2[2],$in2[1],0b00
+	xxpermdi	$t3,$in1[7],$in1[8],0b00
+	vmsumudm	$out[0],$t3,$t4,$out[0]
+
+___
+
+		store_vrs($outp, \@out);
+
+		pop_vrs(52, 63);
+
+		endproc("p521_felem_mul");
+	}
+
+	{
+		#
+		# p51_felem_square
+		#
+
+		my ($inp) = ("r4");
+		my @in = map("v$_",(45..53));
+		my @inx2 = map("v$_",(35..43));
+
+		startproc("p521_felem_square");
+
+		push_vrs(52, 63);
+
+		$code.=<<___;
+	vspltisw	$vzero,0
+
+___
+
+		load_vrs($inp, \@in);
+
+		$code.=<<___;
+	li		$zero,0
+	li		$one,1
+	mtvsrdd		$t1,$one,$zero
+___
+
+		for (my $i = 0; $i <= 8; $i++) {
+			$code.=<<___;
+	vsld		$inx2[$i],$in[$i],$t1
+___
+		}
+
+		$code.=<<___;
+	vmsumudm	$out[0],$in[0],$in[0],$vzero
+
+	vmsumudm	$out[1],$in[0],$inx2[1],$vzero
+
+	xxpermdi	$t1,$in[0],$in[1],0b00
+	xxpermdi	$t2,$inx2[2],$in[1],0b00
+	vmsumudm	$out[2],$t1,$t2,$vzero
+
+	xxpermdi	$t2,$inx2[3],$inx2[2],0b00
+	vmsumudm	$out[3],$t1,$t2,$vzero
+
+	xxpermdi	$t2,$inx2[4],$inx2[3],0b00
+	vmsumudm	$out[4],$t1,$t2,$vzero
+	vmsumudm	$out[4],$in[2],$in[2],$out[4]
+
+	xxpermdi	$t2,$inx2[5],$inx2[4],0b00
+	vmsumudm	$out[5],$t1,$t2,$vzero
+	vmsumudm	$out[5],$in[2],$inx2[3],$out[5]
+
+	xxpermdi	$t2,$inx2[6],$inx2[5],0b00
+	vmsumudm	$out[6],$t1,$t2,$vzero
+	xxpermdi	$t3,$in[2],$in[3],0b00
+	xxpermdi	$t4,$inx2[4],$in[3],0b00
+	vmsumudm	$out[6],$t3,$t4,$out[6]
+
+	xxpermdi	$t2,$inx2[7],$inx2[6],0b00
+	vmsumudm	$out[7],$t1,$t2,$vzero
+	xxpermdi	$t4,$inx2[5],$inx2[4],0b00
+	vmsumudm	$out[7],$t3,$t4,$out[7]
+
+	xxpermdi	$t2,$inx2[8],$inx2[7],0b00
+	vmsumudm	$out[8],$t1,$t2,$vzero
+	xxpermdi	$t4,$inx2[6],$inx2[5],0b00
+	vmsumudm	$out[8],$t3,$t4,$out[8]
+	vmsumudm	$out[8],$in[4],$in[4],$out[8]
+
+	vmsumudm	$out[1],$in[5],$inx2[5],$out[1]
+
+	vmsumudm	$out[3],$in[6],$inx2[6],$out[3]
+
+	vmsumudm	$out[5],$in[7],$inx2[7],$out[5]
+
+	vmsumudm	$out[7],$in[8],$inx2[8],$out[7]
+
+	mtvsrdd		$t1,$one,$zero
+___
+
+		for (my $i = 5; $i <= 8; $i++) {
+			$code.=<<___;
+	vsld		$inx2[$i],$inx2[$i],$t1
+___
+		}
+
+		$code.=<<___;
+
+	vmsumudm	$out[6],$in[7],$inx2[8],$out[6]
+
+	vmsumudm	$out[5],$in[6],$inx2[8],$out[5]
+
+	xxpermdi	$t2,$inx2[8],$inx2[7],0b00
+	xxpermdi	$t1,$in[5],$in[6],0b00
+	vmsumudm	$out[4],$t1,$t2,$out[4]
+
+	xxpermdi	$t1,$in[4],$in[5],0b00
+	vmsumudm	$out[3],$t1,$t2,$out[3]
+
+	xxpermdi	$t1,$in[3],$in[4],0b00
+	vmsumudm	$out[2],$t1,$t2,$out[2]
+	vmsumudm	$out[2],$in[5],$inx2[6],$out[2]
+
+	xxpermdi	$t1,$in[2],$in[3],0b00
+	vmsumudm	$out[1],$t1,$t2,$out[1]
+	vmsumudm	$out[1],$in[4],$inx2[6],$out[1]
+
+	xxpermdi	$t1,$in[1],$in[2],0b00
+	vmsumudm	$out[0],$t1,$t2,$out[0]
+	xxpermdi	$t2,$inx2[6],$inx2[5],0b00
+	xxpermdi	$t1,$in[3],$in[4],0b00
+	vmsumudm	$out[0],$t1,$t2,$out[0]
+
+___
+
+		store_vrs($outp, \@out);
+
+		pop_vrs(52, 63);
+
+		endproc("p521_felem_square");
+	}
+}
+
+$code =~ s/\`([^\`]*)\`/eval $1/gem;
+print $code;
+close STDOUT or die "error closing STDOUT: $!";
diff --git a/crypto/ec/build.info b/crypto/ec/build.info
index dbe3a52572..f4314dd896 100644
--- a/crypto/ec/build.info
+++ b/crypto/ec/build.info
@@ -30,8 +30,9 @@ IF[{- !$disabled{asm} -}]
   $ECASM_parisc20_64=
 
   $ECASM_ppc32=
-  $ECASM_ppc64=ecp_nistz256.c ecp_nistz256-ppc64.s x25519-ppc64.s
-  $ECDEF_ppc64=ECP_NISTZ256_ASM X25519_ASM
+  $ECASM_ppc64=ecp_nistz256.c ecp_nistz256-ppc64.s ecp_nistp521-ppc64.s x25519-ppc64.s
+  $ECDEF_ppc64=ECP_NISTZ256_ASM ECP_NISTP521_ASM X25519_ASM
+  INCLUDE[ecp_nistp521.o]=..
 
   $ECASM_c64xplus=
 
@@ -86,5 +87,7 @@ GENERATE[ecp_nistz256-armv8.S]=asm/ecp_nistz256-armv8.pl
 INCLUDE[ecp_nistz256-armv8.o]=..
 GENERATE[ecp_nistz256-ppc64.s]=asm/ecp_nistz256-ppc64.pl
 
+GENERATE[ecp_nistp521-ppc64.s]=asm/ecp_nistp521-ppc64.pl
+
 GENERATE[x25519-x86_64.s]=asm/x25519-x86_64.pl
 GENERATE[x25519-ppc64.s]=asm/x25519-ppc64.pl
diff --git a/crypto/ec/ecp_nistp521.c b/crypto/ec/ecp_nistp521.c
index c449b93a0a..338618ebca 100644
--- a/crypto/ec/ecp_nistp521.c
+++ b/crypto/ec/ecp_nistp521.c
@@ -401,7 +401,7 @@ static void felem_diff128(largefelem out, const largefelem in)
  * On exit:
  *   out[i] < 17 * max(in[i]) * max(in[i])
  */
-static void felem_square(largefelem out, const felem in)
+static void felem_square_ref(largefelem out, const felem in)
 {
     felem inx2, inx4;
     felem_scalar(inx2, in, 2);
@@ -485,7 +485,7 @@ static void felem_square(largefelem out, const felem in)
  * On exit:
  *   out[i] < 17 * max(in1[i]) * max(in2[i])
  */
-static void felem_mul(largefelem out, const felem in1, const felem in2)
+static void felem_mul_ref(largefelem out, const felem in1, const felem in2)
 {
     felem in2x2;
     felem_scalar(in2x2, in2, 2);
@@ -675,6 +675,57 @@ static void felem_reduce(felem out, const largefelem in)
      */
 }
 
+#if defined(ECP_NISTP521_ASM)
+void felem_square_wrapper(largefelem out, const felem in);
+void felem_mul_wrapper(largefelem out, const felem in1, const felem in2);
+
+static void (*felem_square_p)(largefelem out, const felem in) =
+    felem_square_wrapper;
+static void (*felem_mul_p)(largefelem out, const felem in1, const felem in2) =
+    felem_mul_wrapper;
+
+void p521_felem_square(largefelem out, const felem in);
+void p521_felem_mul(largefelem out, const felem in1, const felem in2);
+
+# if defined(_ARCH_PPC64)
+#  include "ppc_arch.h"
+# endif
+
+void felem_select(void)
+{
+# if defined(_ARCH_PPC64)
+    if ((OPENSSL_ppccap_P & PPC_MADD300) && (OPENSSL_ppccap_P & PPC_ALTIVEC)) {
+        felem_square_p = p521_felem_square;
+        felem_mul_p = p521_felem_mul;
+
+        return;
+    }
+# endif
+
+    /* Default */
+    felem_square_p = felem_square_ref;
+    felem_mul_p = felem_mul_ref;
+}
+
+void felem_square_wrapper(largefelem out, const felem in)
+{
+    felem_select();
+    felem_square_p(out, in);
+}
+
+void felem_mul_wrapper(largefelem out, const felem in1, const felem in2)
+{
+    felem_select();
+    felem_mul_p(out, in1, in2);
+}
+
+# define felem_square felem_square_p
+# define felem_mul felem_mul_p
+#else
+# define felem_square felem_square_ref
+# define felem_mul felem_mul_ref
+#endif
+
 static void felem_square_reduce(felem out, const felem in)
 {
     largefelem tmp;
diff --git a/crypto/perlasm/ppc-xlate.pl b/crypto/perlasm/ppc-xlate.pl
index 136e73e8af..14fd06dec4 100755
--- a/crypto/perlasm/ppc-xlate.pl
+++ b/crypto/perlasm/ppc-xlate.pl
@@ -135,6 +135,71 @@ my $quad = sub {
     join("\n", at ret);
 };
 
+################################################################
+# vector register number hacking
+################################################################
+
+# It is convenient to be able to set a variable like:
+#   my $foo = "v33";
+# and use this in different contexts where:
+# * a VSR (Vector-Scaler Register) number (i.e. "v33") is required
+# * a VR (Vector Register) number (i.e. "v1") is required
+# Map VSR numbering to VR number for certain vector instructions.
+
+# vs<N> -> v<N-32> if N > 32
+sub vsr2vr1 {
+    my $in = shift;
+
+    my $n = int($in);
+    if ($n >= 32) {
+	    $n -= 32;
+    }
+
+    return "$n";
+}
+# As above for first $num register args, returns list
+sub _vsr2vr {
+    my $num = shift;
+    my @rest = @_;
+    my @subst = splice(@rest, 0, $num);
+
+    @subst = map { vsr2vr1($_); } @subst;
+
+    return (@subst, @rest);
+}
+# As above but 1st arg ($f) is extracted and reinserted after
+# processing so that it can be ignored by a code generation function
+# that consumes the result
+sub vsr2vr_args {
+    my $num = shift;
+    my $f = shift;
+
+    my @out = _vsr2vr($num, @_);
+
+    return ($f, @out);
+}
+# As above but 1st arg is mnemonic, return formatted instruction
+sub vsr2vr {
+    my $mnemonic = shift;
+    my $num = shift;
+    my $f = shift;
+
+    my @out = _vsr2vr($num, @_);
+
+    "	${mnemonic}${f}	" . join(",", @out);
+}
+
+# ISA 2.03
+my $vsel	= sub { vsr2vr("vsel",		4, @_); };
+my $vsl		= sub { vsr2vr("vsl",		3, @_); };
+my $vspltisb	= sub { vsr2vr("vspltisb",	1, @_); };
+my $vspltisw	= sub { vsr2vr("vspltisw",	1, @_); };
+my $vsr		= sub { vsr2vr("vsr",		3, @_); };
+my $vsro	= sub { vsr2vr("vsro",		3, @_); };
+
+# ISA 3.0
+my $lxsd	= sub { vsr2vr("lxsd",		1, @_); };
+
 ################################################################
 # simplified mnemonics not handled by at least one assembler
 ################################################################
@@ -226,13 +291,18 @@ my $vpermdi	= sub {				# xxpermdi
 
 # PowerISA 2.07 stuff
 sub vcrypto_op {
-    my ($f, $vrt, $vra, $vrb, $op) = @_;
+    my ($f, $vrt, $vra, $vrb, $op) = vsr2vr_args(3, @_);
     "	.long	".sprintf "0x%X",(4<<26)|($vrt<<21)|($vra<<16)|($vrb<<11)|$op;
 }
 sub vfour {
     my ($f, $vrt, $vra, $vrb, $vrc, $op) = @_;
     "	.long	".sprintf "0x%X",(4<<26)|($vrt<<21)|($vra<<16)|($vrb<<11)|($vrc<<6)|$op;
 };
+sub vfour_vsr {
+    my ($f, $vrt, $vra, $vrb, $vrc, $op) = vsr2vr_args(4, @_);
+    "	.long	".sprintf "0x%X",(4<<26)|($vrt<<21)|($vra<<16)|($vrb<<11)|($vrc<<6)|$op;
+};
+
 my $vcipher	= sub { vcrypto_op(@_, 1288); };
 my $vcipherlast	= sub { vcrypto_op(@_, 1289); };
 my $vncipher	= sub { vcrypto_op(@_, 1352); };
@@ -254,10 +324,10 @@ my $vsld	= sub { vcrypto_op(@_, 1476); };
 my $vsrd	= sub { vcrypto_op(@_, 1732); };
 my $vsubudm	= sub { vcrypto_op(@_, 1216); };
 my $vaddcuq	= sub { vcrypto_op(@_, 320);  };
-my $vaddeuqm	= sub { vfour(@_,60); };
-my $vaddecuq	= sub { vfour(@_,61); };
-my $vmrgew	= sub { vfour(@_,0,1932); };
-my $vmrgow	= sub { vfour(@_,0,1676); };
+my $vaddeuqm	= sub { vfour_vsr(@_,60); };
+my $vaddecuq	= sub { vfour_vsr(@_,61); };
+my $vmrgew	= sub { vfour_vsr(@_,0,1932); };
+my $vmrgow	= sub { vfour_vsr(@_,0,1676); };
 
 my $mtsle	= sub {
     my ($f, $arg) = @_;
@@ -300,7 +370,7 @@ my $addex = sub {
     my ($f, $rt, $ra, $rb, $cy) = @_;	# only cy==0 is specified in 3.0B
     "	.long	".sprintf "0x%X",(31<<26)|($rt<<21)|($ra<<16)|($rb<<11)|($cy<<9)|(170<<1);
 };
-my $vmsumudm	= sub { vfour(@_,35); };
+my $vmsumudm	= sub { vfour_vsr(@_, 35); };
 
 while($line=<>) {
 
diff --git a/providers/fips-sources.checksums b/providers/fips-sources.checksums
index 22d9c6ebd0..ac6bc5df84 100644
--- a/providers/fips-sources.checksums
+++ b/providers/fips-sources.checksums
@@ -1,7 +1,6 @@
 0e22ea0cf34ef3871e30df0bc302dc29352d38001d1622ddb78a27a374b6aee8  crypto/aes/aes_cbc.c
 6028cd3c2e466625cc0b8b9b6a12278e5935aec3bff1eab006c6f13a1e248260  crypto/aes/aes_core.c
 3fac41ce96acb9189eac2d5571425c3ff33a34c884ae7e275e1fd3068b5fc662  crypto/aes/aes_ecb.c
-d42d44734e2bf91335835f15ea3cf449a5af7395bc7af46c8484b3f3d3785a50  crypto/aes/aes_local.h
 a2466f18da5847c7d9fbced17524633c10ce024671a72f53f9c9c55b9b9923dd  crypto/aes/aes_misc.c
 6979c133f76f4623e62e6e970deae70fa025e713a72b71aead5a048d49e47f6f  crypto/aes/asm/aes-586.pl
 92be9ff608331a432e95247a8f4fb9e46897d0cb76f2b6db809b61d44287964a  crypto/aes/asm/aes-armv4.pl
@@ -22,8 +21,8 @@ c7c6694480bb5319690f94826139a93f5c460ebea6dba101b520a76cb956ec93  crypto/aes/asm
 f3a8f3c960c0f47aaa8fc2633d18b14e7c7feeccc536b0115a08bc58333122b6  crypto/aes/asm/aesp8-ppc.pl
 0b0ff9898edbe069320979eadb0114cb37761416750d983520af7ae47bb0fb48  crypto/aes/asm/aest4-sparcv9.pl
 fbee40f89882019c0f03072f92fccd5cfc79bfebea2ff675909e731d0e71d622  crypto/aes/asm/aesv8-armx.pl
-d643cf9f1c5641c8b72d9d738233e246ada3d7cc663ed0185a963b1f6ca4a2c5  crypto/aes/asm/bsaes-armv7.pl
-88534cd35647eab07838cd005c04c8051236d4afca6df6f2b47e30b2a2e5c5a9  crypto/aes/asm/bsaes-x86_64.pl
+15cf92ba0ea6fb216c75bb0c134fa1e1b4159a3f9d3c571b2a8319252c4ae633  crypto/aes/asm/bsaes-armv7.pl
+0726a2c4c15c27a12b2f7d5e16863df4a1b1daa7b7d9b728f621b2b224d290e6  crypto/aes/asm/bsaes-x86_64.pl
 1ff94d6bf6c8ae4809f64657eb89260fe3cb22137f649d3c73f72cb190258196  crypto/aes/asm/vpaes-armv8.pl
 c3541865cd02d81101cdbab4877ed82772e6980d2c677b9008b38fa1b26d36d4  crypto/aes/asm/vpaes-ppc.pl
 3ec24185750a995377516bc2fb2eae8b1c52094c6fff093bff591837fc12d6c3  crypto/aes/asm/vpaes-x86.pl
@@ -46,7 +45,7 @@ b27ec5181e387e812925bb26823b830f49d7a6e4971b6d11ea583f5632a1504b  crypto/bn/asm/
 13ba6625cc6c673dc6f7ef69a7bbe40487c5553b3873a996af4904de5b1cd82b  crypto/bn/asm/ppc64-mont-fixed.pl
 a25be64867ab837d93855af232e2bfa71b85b2c6f00e35e620fdc5618187fb6f  crypto/bn/asm/ppc64-mont.pl
 231579e532443665020d4d522d9f11713d9c5d5c814b95b434b0f65452e16de4  crypto/bn/asm/rsaz-avx2.pl
-c9bd8679a5104affd9f3f0bcda726f823a1a53cac872e4a21a6f2370489dae08  crypto/bn/asm/rsaz-avx512.pl
+8e193a1457ca30823f6172c9ec4568c1628c57c10ee12b88c7656adcc5f54491  crypto/bn/asm/rsaz-avx512.pl
 31e84dc905b13e38850071528d3abbfcaf8910bbc8b46f38d19c2b386a5f838e  crypto/bn/asm/rsaz-x86_64.pl
 30fedf48dfc5fec1c2044b6c226dd9fc42a92522cc589797a23a79d452bdd2cf  crypto/bn/asm/s390x-gf2m.pl
 590388d69d7ac3a0e9af4014792f4f0fdb9552719e8fb48ebc7e5dfca2a491d4  crypto/bn/asm/s390x-mont.pl
@@ -73,21 +72,19 @@ d66453ceb0a1be02a9cd2aef0ceec5943a2b9ec42e2fe66c13d03bb669389749  crypto/bn/bn_c
 2893b6d03d4850d09c15959941b0759bbb50d8c20e873bed088e7cde4e15a65a  crypto/bn/bn_ctx.c
 d94295953ab91469fe2b9da2a542b8ea11ac38551ecde8f8202b7f645c2dea16  crypto/bn/bn_dh.c
 034baac767c911705235da9507e0b9d029ec3746c5469069a110ed899cf7ddff  crypto/bn/bn_div.c
-fb4104aa82438b5dda1592a7d41e8936356734801b26f864c22264615cb4df4d  crypto/bn/bn_exp.c
+760f43a2ad60979c4afaf2ccba779357c99061c82b230e4a201e611998f4e201  crypto/bn/bn_exp.c
 4a0295e30ac91bfbfdcd3f2d0cbd5eaf4f5a44b4bba3135b137a692394a2f897  crypto/bn/bn_exp2.c
 ad162484e30b1961f8326ee1cb2c71b77ea55e8383c609d7d3ee210c01a3fbd8  crypto/bn/bn_gcd.c
 36314758440ce2ce20e22ff9b75f4689728c1c99cd51399a441c751502218074  crypto/bn/bn_gf2m.c
 a4087c6c57d38fa7db0c6f4e203a4c21af836cfb6cac10b4841ef3bbd724f67d  crypto/bn/bn_intern.c
 dc213ef490a96c5e199e06058c32ae599825c668fc08d815d6384f57600df21d  crypto/bn/bn_kron.c
 805da9886392dde1419c0a2e2cf202a10c21dcdca2d9b7a38ac3d47036dc0b36  crypto/bn/bn_lib.c
-51eb42088f8a79eaa351528d3c0fad0676e5ded392dc18f0d5d9c92f07370a11  crypto/bn/bn_local.h
 07247dc2ccc55f3be525baed92fd20031bbaa80fd0bc56155e80ee0da3fc943d  crypto/bn/bn_mod.c
 80fb6afcf66958883d8ea06e63645c2b3eab0b8626a39fd7ea64d1c1768867c8  crypto/bn/bn_mont.c
 2da73a76b746a47d8cf8ec8b3e0708c2a34e810abde4b4f1241a49e7f5bb2b60  crypto/bn/bn_mpi.c
 02bf294bad18d12542fbe60a5ab0eea36dbc914b6d445ad8f4dd03324ee2a33e  crypto/bn/bn_mul.c
 0d4a2c25a3acd4adb45234837d427574bcb1e6800b69f8dfe68478d831491cf1  crypto/bn/bn_nist.c
-2567f88812ba315eca454659a9d2eaeacc8d1753c9c19866ff00d2beed707636  crypto/bn/bn_prime.c
-c56ad3073108a0de21c5820a48beae2bccdbf5aa8075ec21738878222eb9adc3  crypto/bn/bn_prime.h
+bae4d0beab1757bda50d5767ad53588e87ef28081611abeeaa1ac8302d4634c0  crypto/bn/bn_prime.c
 cb27f0d2cc9d2d5f82b40378517e26fe2d9a5092f50fd26cdf648ae954190f2b  crypto/bn/bn_rand.c
 2a47b990bc53fec79013e0b2d1a9ee3512019705d6ec3a2625c43b0fb42d41aa  crypto/bn/bn_recp.c
 4e3d0ebda2d250887634ab491b398a71778431b3db4bc1eb329542f4bd0798cc  crypto/bn/bn_rsa_fips186_4.c
@@ -96,8 +93,7 @@ da5479cd30898cf455f2844478f2bf3993a5bfb612937a437976d7987867ee6f  crypto/bn/bn_s
 8815f85240c3af08ef421f83569c70ba68cdc7ad2ea5e6ab8079b40cdc2e1357  crypto/bn/bn_sqrt.c
 0618c7368688ca73ffac5baecac36192c428c0fda4d1d473ef65ce64a0ffb75b  crypto/bn/bn_word.c
 ae840ec19a4e86f2b3a65f4d0c878c3885bac6ca6b24ab8c03b73c45c12e4d05  crypto/bn/rsaz_exp.c
-583ad3da782e26c09c0b916407252a8768208258e267506bb8f7a0530a82f747  crypto/bn/rsaz_exp.h
-135b85278d00b241eb2fc6714b3418e071618ec9dbbd2a6658a6291d71e7f393  crypto/bn/rsaz_exp_x2.c
+40ee4cd52ce429cac718acc58d12434e9386c76a647ffad3bf9a1fce51cacc77  crypto/bn/rsaz_exp_x2.c
 834db8ff36006e5cb53e09ca6c44290124bd23692f4341ea6563b66fcade4cea  crypto/bsearch.c
 c39334b70e1394e43f378ae8d31b6e6dc125e4d9181e6536d38e649c4eaadb75  crypto/buffer/buffer.c
 35e3ad090adedc8e5873e2831bf713e1f52846b4cbdd232e01692ebe35318c3c  crypto/cmac/cmac.c
@@ -107,32 +103,28 @@ b352903e60908dc7287051983e2068508715b4d9f3f46575540295010908bfa0  crypto/context
 9e0912561955172067e70ebb1913c4d9de35de612789e91f7f61180ca03b4ad8  crypto/core_namemap.c
 469e2f53b5f76cd487a60d3d4c44c8fc3a6c4d08405597ba664661ba485508d3  crypto/cpuid.c
 7c5237bdc26eca21d4ccb25f13569e217103fe21574157b813c2aecd05983472  crypto/cryptlib.c
-53529f4e0575dd83b45a53e852fcec512ada53dd6979268e473885f139b8e0b9  crypto/ctype.c
+a3d146afa1d66cc3bbfdc7c106f262b679bb5aecce54e8dee732ae9b3e3333db  crypto/ctype.c
 8e61d79299003917ac409d129d291f0a63e4ed417811a8b21169b2b918355335  crypto/der_writer.c
 b8272245e1a3bc813aeb48a1155ac37bc979ad4a6ff55baa8c97e62115abb0d1  crypto/des/des_enc.c
-4971cdc016ee262d81e31f96c1617a33a63c0d90139e440c2ff32a368ee07bbd  crypto/des/des_local.h
 eeef5722ad56bf1af2ff71681bcc8b8525bc7077e973c98cee920ce9bcc66c81  crypto/des/ecb3_enc.c
 cb363ba00f38e84c43af4802d8477a8877db3cea2fdc75299fec16f451ef1c69  crypto/des/fcrypt_b.c
-499513b3ad386fe694c4e04b3c8a9fd4c4e18fc44bb6c4f94d6bf2d9362a3a5a  crypto/des/ncbc_enc.c
 5771c2e517df1dfa35e0cc06ce1d9808e3a5ab21110020d4bdf77284fedb41e1  crypto/des/set_key.c
-8344811b14d151f6cd40a7bc45c8f4a1106252b119c1d5e6a589a023f39b107d  crypto/des/spr.h
 25a73e1a14ffb43b39c6829aa51a22a43322fc5d9ec0fa47996ab85323fb074c  crypto/dh/dh_backend.c
 62f6652a60a8e20fc10a67cdcfd0de1c18f2ba7ad7ab4b2fb1c11b059755704c  crypto/dh/dh_check.c
 7838e9a35870b0fbcba0aff2f52a2439f64d026e9922bce6e5978c2f22c51120  crypto/dh/dh_gen.c
 ffe31cb7c0cd887d051867dfc37cce18a406c78c446f2a186d1f20247a5c914d  crypto/dh/dh_group_params.c
-c36310300c969a5096a67b5845f91b10acf1717cc2a192deaa8a2ff686796080  crypto/dh/dh_kdf.c
+26890c406b38a2a57ac1c5ccb139a9e29a9dcbf04d829975b0f8498c01685b6f  crypto/dh/dh_kdf.c
 959aef279023358d5bd4661f132ad809c7f62e4f7bea3d1f25006ff15e75e92b  crypto/dh/dh_key.c
 60c95e4ee43229d900317727df644347f41a065dd95e899d52696080bd6a988f  crypto/dh/dh_lib.c
-5f0e7b65b3ca9e13f8b874ea74e78d285cc7382d2956e52833c20f09284eb426  crypto/dh/dh_local.h
 27d0ea795bb7f571ba37b7460eee63608b9089a95337491c0980b91135563e15  crypto/dsa/dsa_backend.c
 b9c5992089203123c3fae46e39bb4d05e19854087bca7a30ad1f82a3505deec7  crypto/dsa/dsa_check.c
 ae727bf6319eb57e682de35d75ea357921987953b3688365c710e7fba51c7c58  crypto/dsa/dsa_gen.c
 48e489ffbd49633a879554c895f57083b48cd8704b21cd6af8ed1e2417ba57ca  crypto/dsa/dsa_key.c
 c6b05c784a18e7b9f2d8dfcca8e93eb445b02c9e9eaa64087e00fb44f233962e  crypto/dsa/dsa_lib.c
-57de14ab077f573f9f1a44bd1aac25bdf06f8da802b3c1e8040e3256ecbec58c  crypto/dsa/dsa_local.h
 f79b00636aeb1dbfa67f0d6fab3835b576f59957f476467cbfb8ead2469f6514  crypto/dsa/dsa_ossl.c
 b57b648524bc7dd98f8e2737f4e87b5578c7921df59b1df4a03a34e23e977e8a  crypto/dsa/dsa_sign.c
 53fa10cc87ac63e35df661882852dc46ae68e6fee83b842f1aeefe00b8900ee1  crypto/dsa/dsa_vrf.c
+e9cd4e14e8952e66919ea41e727713db80f3f58b4812328cd8b688dff5c9d905  crypto/ec/asm/ecp_nistp521-ppc64.pl
 78ad06b88fcc8689a3a846b82f9ee01546e5734acd1bccf2494e523b71dc74d1  crypto/ec/asm/ecp_nistz256-armv4.pl
 4617351d2de4d0b2abfd358c58050cee00702d0b4c1acca09312ec870e351c7d  crypto/ec/asm/ecp_nistz256-armv8.pl
 3715ddd921425f3018741037f01455ed26a840ace08691a800708170a66cf4d2  crypto/ec/asm/ecp_nistz256-ppc64.pl
@@ -142,21 +134,13 @@ ac327475c7ec828d11aa05628b4e3b81ec3b1400f30fe7bec01daf3cf71f2dc9  crypto/ec/asm/
 cc727533130f5f1a29229929b3d4e8454585d647be25d6344f3c6a0240998368  crypto/ec/asm/x25519-ppc64.pl
 ee897e230964511baa0d1bf95fb938312407a40a88ebe01476879c2763e5f732  crypto/ec/asm/x25519-x86_64.pl
 a33b6a29af8d9fcde009c17d0c2172a1212b111d7ad57def9ef23ab9c462072d  crypto/ec/curve25519.c
-2ab01341b36aecfd639d78609069229e51d3ebb1c678e8e9871b351d494bab8c  crypto/ec/curve448/arch_32/f_impl32.c
-063dac1e4a9573c47532123e9e03e3532a7473cc3e146521ba9ec6f486ddf3b1  crypto/ec/curve448/arch_64/arch_intrinsics.h
-43423b7ee85a5c740c1d81499ee06f4a17732c7731a598e7429d5e402ee77cf4  crypto/ec/curve448/arch_64/f_impl.h
-f9ff1d9c68fee883fbb42978302d51404c2b5874cf3ba06b3e95cadd4b3e6bf5  crypto/ec/curve448/arch_64/f_impl64.c
+9a95ec8366154bb20aeb24f4767a8cbb9953ca0380708eb2f39caca6078cd59e  crypto/ec/curve448/arch_32/f_impl32.c
+1689097ae10e4982a8cbe50c2f6eddb03c83436f331f0b67edb98d6b58adc962  crypto/ec/curve448/arch_64/f_impl64.c
 eaa940893610f5ec1cc04f5b1842bfa0ba65bf048039e6cc2d2b83bbb575bb51  crypto/ec/curve448/curve448.c
-3c12d90e3fdd59b5d32d63186f1a6f15c75eb73f5035b844a2054356a9459780  crypto/ec/curve448/curve448_local.h
 178fb9863c33174b633c2e7607160b1bedb506d66cc06d53382d87431441f306  crypto/ec/curve448/curve448_tables.c
-c21cda9f8a98cc70cab9031073e76baee9b2c1ec736c45d7e36ef3a7d6c15ab9  crypto/ec/curve448/curve448utils.h
-4a45e7828831fbe9f282f933cda54b12cd393ec9bffe5c0ace8e4d1c4d5d6358  crypto/ec/curve448/ed448.h
 a1211ed3991af967c728b9f6d0774b9ea098d43cef0631ff88984a2580d2ac4f  crypto/ec/curve448/eddsa.c
-d4969259e4fa5b71d8abbf5e736e658bd1daad6e46d272a9b88e190e2de96b61  crypto/ec/curve448/f_generic.c
-f6447921a0031fa5beddedd298e82096fb3fdb189b712fab328b61f6beae0c23  crypto/ec/curve448/field.h
-2ad8331e893b5db33198e27603891587686c0dfdab29706dc52a7097c5d6f219  crypto/ec/curve448/point_448.h
+b20892e0c2d947cc7541fb7e5d082acbbaca8d6d36b1e11e73816268a62366d1  crypto/ec/curve448/f_generic.c
 7aeddfe47959556f50856cb387d74b51d222c65f891acb83742313ddc49c0e93  crypto/ec/curve448/scalar.c
-3052a044afae2e91b677542fc8b34b3ec9d033e0c6562b0d43098cfb34ab3c9d  crypto/ec/curve448/word.h
 ae1637d89287c9d22a34bdc0d67f6e01262a2f8dcef9b61369dba8c334f5a80d  crypto/ec/ec2_oct.c
 7579a156234dfa44e02d08e121f42035229364f9e40f38b11333edbae2282762  crypto/ec/ec2_smpl.c
 69d64accd498583e65df2dc43730eee2922217a7bfefda2cd1a9da176e3d1dcd  crypto/ec/ec_asn1.c
@@ -167,7 +151,6 @@ ae1637d89287c9d22a34bdc0d67f6e01262a2f8dcef9b61369dba8c334f5a80d  crypto/ec/ec2_
 5485a66d4251bc2f044e4d91f6a6b5068957c3b685237bf96a4b45e9c737420c  crypto/ec/ec_key.c
 7b34605e017eb81037344538f917c32d3ab85c744a819617e012bab73c27dd68  crypto/ec/ec_kmeth.c
 90f070e5a7ea950e6fe88ed81c72161c58a4896efb4608076061e1fe12908908  crypto/ec/ec_lib.c
-2d7af485efcfd7b40abb56ab2ff34289504e28d9673655b8b8745bff19426bca  crypto/ec/ec_local.h
 58aa89c186c9bb6a5075a1d961723fe1fc97c6e290756ae682fe494c4f2435a0  crypto/ec/ec_mult.c
 129c6b42417bfcf582f4a959cfd65433e6f85b158274f4fa38f9c62615ac9166  crypto/ec/ec_oct.c
 4341615ac00e3e42c41acd3b36af10250995fb919febc5289122b785c5eccf73  crypto/ec/ecdh_kdf.c
@@ -181,32 +164,30 @@ f679269eec6f67ab7f859eca39cad7cc5ff2ba70e2f884eed9eadc9057c01272  crypto/ec/ecp_
 51cb98e7e9c241e33261589f0d74103238baaa850e333c61ff1da360e127518a  crypto/ec/ecp_oct.c
 fa39906519062932adafb63cbf05b5dfa7563673576d421c80ec6b889d024e84  crypto/ec/ecp_smpl.c
 4d9e693c64709a9359ac724a767a85566849373231e314b8d8127b707dd5e83d  crypto/ec/ecx_backend.c
-5ee19c357c318b2948ff5d9118a626a6207af2b2eade7d8536051d4a522668d3  crypto/ec/ecx_backend.h
 22c44f561ab42d1bd7fd3a3c538ebaba375a704f98056b035e7949d73963c580  crypto/ec/ecx_key.c
-7c7f3e2a19a95d62942790e525f00cccc87e46da099a0c96d101787d68c75128  crypto/evp/asymcipher.c
+41014dc59651443d3b6f739573b478a9a613b2d6269b81ef5cfc338e9fee94af  crypto/evp/asymcipher.c
 0e75a058dcbbb62cfe39fec6c4a85385dc1a8fce794e4278ce6cebb29763b82b  crypto/evp/dh_support.c
-3c8e633beeb9b79cac2f068de248b7f1ad55910d2e2ff10b2b3694daae552436  crypto/evp/digest.c
+768924252efe3b19a1f1bd56261ac49fce08b30ba9f6b1710e97a37cdaa67742  crypto/evp/digest.c
 5e2c5d865029ae86855f15e162360d091f28ca0d4c67260700c90aa25faf308b  crypto/evp/ec_support.c
-c146c0a8a06e3c558207c1c76039dd2a61a2160cc243e9e3de2e290bc6e1b2d0  crypto/evp/evp_enc.c
-7c654083c116f3e47d6fc7902bc0332643c4662cf2222d66ea66c90ca313de2f  crypto/evp/evp_fetch.c
-1a168c88f1ee61d0f0c94ea72e220f913526a09fc09b8ba1706eb126e948699c  crypto/evp/evp_lib.c
-69ecc84021430ac9568bb5f1e1ed12abcf6a1252a55b306ff21ffbfb1d3fd259  crypto/evp/evp_local.h
-af0245f7a849997921c0719df339469427656821416b402754fc1f5f5e2da291  crypto/evp/evp_rand.c
-c0f87865be8dab6ea909fd976e5a46e4e8343b18403090c4a59b2af90f9a1329  crypto/evp/evp_utils.c
-896bc29e0009657071bd74401513bdbedfb08ca66e34bf634e824fd3f34beb0a  crypto/evp/exchange.c
-58d0d29f105ef3cd38b790644b608f58e08289c4c52597769144be96c3e9cd26  crypto/evp/kdf_lib.c
-3fdce072607e5060d91fd1ba3d70ae75a13590051072b6010be0ab62b00ddd6f  crypto/evp/kdf_meth.c
-9627b89aa6a27fa96116964cbbe377ae283c46445887e4e8c2a5183aeb102789  crypto/evp/kem.c
+76a5d55109aff98a84dd4fce08877df3921424941705e87246e11fb6b8137bdc  crypto/evp/evp_enc.c
+1c6a5add46f82e4b2a0cce63c4abe7e82aedfdd9873214a3b6a71ca0d4cc8010  crypto/evp/evp_fetch.c
+61b1c3cfec1cf80a610fa6e6e2a075940826f05c3705dd3dd2c0320f8f635a64  crypto/evp/evp_lib.c
+23199e292db90651d676fb1864fe1158f48837375740731317e63ea86a1805ce  crypto/evp/evp_rand.c
+2a128617ec0178e9eeacbe41d75a5530755f41ea524cd124607543cf73456a0c  crypto/evp/evp_utils.c
+e07aca9748ad7d2672e910a09dba4d4c075a3afc96f5237574cca2c928b94344  crypto/evp/exchange.c
+bb4035836aa754b33ac44bc76aced8b2a1538589347bcda68b878c33d83cac44  crypto/evp/kdf_lib.c
+9c414ac10c663ad87d3f1cc3c8fa05bb4d2e83bc2214ffebc1076a19e01cdaf5  crypto/evp/kdf_meth.c
+cecde87d723eb861e1860ed8d15fe4ef4e472066bd5277bf86baf8c14a8c4712  crypto/evp/kem.c
 2d657d8de8c2441693d54ef3730d83ca4b5d76c3b3405ece89bff9e46149d670  crypto/evp/keymgmt_lib.c
 56d3ed4313cb811a3c2d062ff8b2a0fd67c4b0d28fe0562a57555b3a95907535  crypto/evp/keymgmt_meth.c
-44d3d560bcd7cd26b442290353723efee587926f4f6af7e23ff8e8f095f92139  crypto/evp/m_sigver.c
-ec959b00487bfc51f4cf33c21a60fd8a73087a622504f459ba4cfe48bb0a738c  crypto/evp/mac_lib.c
-5f4b933a479d7cd589c47388aebfd8d6ffa3943ec2883049fc929e6ca37e26b5  crypto/evp/mac_meth.c
+39bce1fb6dab7892da1665276ce45645ded5f0206e29c2ce209d51a2b9f4a54d  crypto/evp/m_sigver.c
+53fe7938db485d2ab4b9ded0c72fa9a0a61d8a4492b12f1485ca6fe7f02e71c9  crypto/evp/mac_lib.c
+8236b55dca4a5f9bc1a6874acb9a35bdec3ab17dced03240d9bd47e0328cd2dc  crypto/evp/mac_meth.c
 abfcd63f0e715519ac9aa40407c391cecdb68ea4c72d44e8dc042249752336f7  crypto/evp/p_lib.c
 b7e9ce6e8a35e0fc5b4eb4c047cda1e811b757669dbfafa71e743d85e07817a4  crypto/evp/pmeth_check.c
 3c2ef0c56a0eefacc28aa7014cafcdf4a7f62704455fcda96d64b24f8c75057b  crypto/evp/pmeth_gn.c
-b360a72944bcb8f8ae8bd28d9b8a4a6aa4f39d1402295f84af243d14c3f1898c  crypto/evp/pmeth_lib.c
-bd7fe70cfe85095ba6b1baf463112d6a6163a6fcb232bab27e4fbae4b1d1679b  crypto/evp/signature.c
+6912c7212ccadb3fa2f8f6bb244feecd336b4ce3a0f5c7e8a76e5b0e8e7361ae  crypto/evp/pmeth_lib.c
+50f2250160aecff67bad16dec0fca507c385874a8afd5c483833e195b7386a4c  crypto/evp/signature.c
 b06cb8fd4bd95aae1f66e1e145269c82169257f1a60ef0f78f80a3d4c5131fac  crypto/ex_data.c
 00ca3b72cd56308aabb2826b6a400c675526afa7efca052d39c74b2ac6d137d8  crypto/ffc/ffc_backend.c
 ead786b4f5689ab69d6cca5d49e513e0f90cb558b67e6c5898255f2671f1393d  crypto/ffc/ffc_dh.c
@@ -216,10 +197,8 @@ ead786b4f5689ab69d6cca5d49e513e0f90cb558b67e6c5898255f2671f1393d  crypto/ffc/ffc
 4c614d354252e2cfdfa2fcb7d2abba0456fcdee3e5ffdcf4d7cec1d6c8c9d1d8  crypto/ffc/ffc_params_generate.c
 73dac805abab36cd9df53a421221c71d06a366a4ce479fa788be777f11b47159  crypto/ffc/ffc_params_validate.c
 31b822540566ab2a51b50dae884f4b3d5ef1403c7c50fce4e1cc76b2885726a5  crypto/hmac/hmac.c
-0395c1b0834f2f4a0ca1756385f4dc1a4ef6fb925b2db3743df7f57256c5166f  crypto/hmac/hmac_local.h
-271083f71a1ce24988a0932f73c0221260591823afd495bf2ae8d11e8469b659  crypto/initthread.c
+f897493b50f4e9dd4cacb2a7accda6683c10ece602641874cdff1dac7128a751  crypto/initthread.c
 c6c83f826eb6465f2a1b186ea692ff6fe32dbfb821d18d254625b69083d68fb0  crypto/lhash/lhash.c
-2a3ab2dd023df8bcd507e3ebfa5495e9ab51a109f6f568aff813011a0feab5f2  crypto/lhash/lhash_local.h
 f866aafae928db1b439ac950dc90744a2397dfe222672fe68b3798396190c8b0  crypto/mem_clr.c
 183bdca6f855182d7d2c78a5c961b34283f85ea69ac828b700605ee82546397d  crypto/modes/asm/aes-gcm-armv8_64.pl
 1d686af304f94743038f916125effcb51790c025f3165d8d37b526bbeee781f0  crypto/modes/asm/aesni-gcm-x86_64.pl
@@ -252,21 +231,17 @@ d0f6af3e89a693f0327e1bf073666cbec6786220ef3b3688ef0be9539d5ab6bf  crypto/params_
 0dd202ec1def47c12852a8ae4bfaadb74f7fe968d68def631fe3ac671aac943f  crypto/passphrase.c
 2140778d5f35e503e22b173736e18ff84406f6657463e8ff9e7b91a78aa686d3  crypto/property/defn_cache.c
 e7ee9ae467238875a413c44552af3937942b4e61a8aa3af6bee81a456d9daad1  crypto/property/property.c
-d2ea0144cf661fe3369b2f1cae22409e2155313eaeed8eb8497aa2ab7a88e1ac  crypto/property/property_local.h
 6e7f3a8d15edb506dead2bba7c1ec6d1dbbe0c28846cce799c9273996b6cbfd5  crypto/property/property_parse.c
 9d5fad386cfb0b6ace3005c7def05edff3017436a4e7dc367a16c53acbbf0ff6  crypto/property/property_string.c
-e09600d89d160b02bcc3ccdc2943ce08848266ab533341de81d72be5b0fc3689  crypto/provider_core.c
-77068908daa856823e606702f938e033fb9d8941ee960fa47fba8985af18a514  crypto/provider_local.h
+751716fab7b474789b1cd3b99c7ac0b8fd4d9c80545f2213a34951ee00535160  crypto/provider_core.c
 3ebbf42baa3722f86298960c7b14b49cefc25c38fce326a0c4666546539da231  crypto/provider_predefined.c
 14341361b4308fe1528b11a9f88edff037b10b51e9e7aa29b70b43a4e3be3d59  crypto/rand/rand_lib.c
-d86ad8b6885b557f60d7c1710b2d13ecc987fae26c38d487fd3cdd3a5a59c293  crypto/rand/rand_local.h
 f19876a1ff4ab97f22a926cc59c9ced0cdde69ad2c45ecf546d91104ec5b0dde  crypto/rand/rand_meth.c
 a6841319cb6e9970a3c3f8adb619086310e4b56d1f52448ef2e2caaeface4146  crypto/rsa/rsa_backend.c
 38a102cd1da1f6ca5a46e6a22f018237964336274385f5c70cbedcaa6997647e  crypto/rsa/rsa_chk.c
 e32cfa04221a2a3ea33f7bcb93ee51b84cbeba97e94c1fbf6e420b24f97fc9ce  crypto/rsa/rsa_crpt.c
-f8d4b3f44e556eae4d1ec75c5cfd8442e8a509aafdd9fc2c8aea266a5391afba  crypto/rsa/rsa_gen.c
-bb2dc750739c26e0458f50544efc3c11a4e66b3f9d3002fa4a9515881b88781d  crypto/rsa/rsa_lib.c
-a65e85be5269d8cb88e86b3413c978fa8994419a671092cbf104ff1a08fda23b  crypto/rsa/rsa_local.h
+5be5237213217d4a6bbd33b02abfbab4879bc7aa0a02a10dd1a3fbf7605915e9  crypto/rsa/rsa_gen.c
+ad396e62d26b756bc75b0b641b5ed9be7c66f1f3ead824848f840aa0ae30046d  crypto/rsa/rsa_lib.c
 cf0b75cd54b61b9b9a290ef18d0ddce9fb26a029a54eb3f720d9b25188440f00  crypto/rsa/rsa_mp_names.c
 5c60f6e05db82e13178d805deb1947b8eee4a905e6e77523d3b288da70a46bb5  crypto/rsa/rsa_none.c
 b27d572bde071d09ca58b31bab6a2635552d4464d44aa99cbc73b56fdc3f4399  crypto/rsa/rsa_oaep.c
@@ -276,7 +251,7 @@ b27d572bde071d09ca58b31bab6a2635552d4464d44aa99cbc73b56fdc3f4399  crypto/rsa/rsa
 bf6d300b7e7e9e512a47c5bd1f8713806ae3033a140d83dfae4a16ad58d11170  crypto/rsa/rsa_schemes.c
 de9161eecc7e99baa834d6f6e2baf96e291dd3da3586ddda396da77fcc3a94de  crypto/rsa/rsa_sign.c
 e8eb16af2cbfaf23731b96073750562938f168989d1460b7f522628d87e8e8a0  crypto/rsa/rsa_sp800_56b_check.c
-3b587f44bfa6315e0c21dab54be522aac1346f489f3b388105eb5b7f5e7a3ef6  crypto/rsa/rsa_sp800_56b_gen.c
+6b40bc75e86ceb91a0dec23479b5ea00e8dfddcab74a1c824020b8b5479a08aa  crypto/rsa/rsa_sp800_56b_gen.c
 1c1c2aeeb18bf1d69e8f134315b7e50d8f43d30eb1aa5bf42983eec9136a2fdc  crypto/rsa/rsa_x931.c
 5fa59240ca885cbc0c1cd026934b226d44fc9c3fdf0c2e7e3a7bd7f4963ca2e5  crypto/self_test_core.c
 05c533fde7fdba0c76103e97d881b7224c8427451b453e2f6413552996063e31  crypto/sha/asm/keccak1600-armv4.pl
@@ -326,7 +301,6 @@ f64d16c1e5c3fa4a7969de494a8372127502171a517c14be7a1e3a43a7308699  crypto/sha/asm
 4d8cf04f5806611e7586aab47fb28165ec1afb00168e2c9876bb36cb5c29bf8b  crypto/sha/sha256.c
 01aff75580e47ee880f411a319ed5d86198df464e3b8056b8734698e3c8d4d07  crypto/sha/sha3.c
 65ef028da082f1a9b6ce2c45ae5644895b7fca356a798fca65428852ccf24b96  crypto/sha/sha512.c
-6c6f0e6069ac98e407a5810b84deace2d1396d252c584703bcd154d1a015c3ea  crypto/sha/sha_local.h
 86913a593b55c759a3824eeede398f966278d79c148bef41986c5ac4e48f0bd7  crypto/sparse_array.c
 32b48ac523d69b65d46b5588cd75697c473eec0b97bdefc820f436f25403a1df  crypto/stack/stack.c
 7b4efa594d8d1f3ecbf4605cf54f72fb296a3b1d951bdc69e415aaa08f34e5c8  crypto/threads_lib.c
@@ -334,226 +308,50 @@ a41ae93a755e2ec89b3cb5b4932e2b508fdda92ace2e025a2650a6da0e9e972c  crypto/threads
 5f5737f17902bf5b2ad0ebe22fec2831e4dbb61df1632d27c6360dccf330335b  crypto/threads_pthread.c
 60bdd9213c67c4d9a287cb57517eca63913c134ef57fcb102b641eb56ddce19a  crypto/threads_win.c
 fd6c27cf7c6b5449b17f2b725f4203c4c10207f1973db09fd41571efe5de08fd  crypto/x86_64cpuid.pl
-26aaa5cc181b4cfb9d1930b8a2def0aa5f772fc49b5890b747df9dbbf7a7b958  e_os.h
-377ede25d45496d81843396b4cc51db2ec3c67ff3ce2395a382042596bfea9e6  include/crypto/aes_platform.h
-0282be3a62884ecb54c3beba9b9c47a2d5689a34ace50dbd4a2ecf7755b93d06  include/crypto/asn1.h
-8c6f308c1ca774e6127e325c3b80511dbcdc99631f032694d8db53a5c02364ee  include/crypto/asn1_dsa.h
-8ce1b35c6924555ef316c7c51d6c27656869e6da7f513f45b7a7051579e3e54d  include/crypto/bn.h
-1c46818354d42bd1b1c4e5fdae9e019814936e775fd8c918ca49959c2a6416df  include/crypto/bn_conf.h.in
-7a43a4898fcc8446065e6c99249bcc14e475716e8c1d40d50408c0ab179520e6  include/crypto/bn_dh.h
-f33a097a5d98bfd8df6694f5b2a7e58284caf0c91fc3231a9f2d0f68e1682d39  include/crypto/cryptlib.h
-5ee1ea30382bef9869f29b6610665ca304f3b9cf3653746a2d02c64b1a24f103  include/crypto/ctype.h
-3036fb7a2e1f32e3e53e2bd1cf24acbf18705d75f9ce9de6d2945a6e7c3fb4e0  include/crypto/des_platform.h
-c7bef6ee3e29950650275470be540d182e1c6b9ccb30b45d97b3ad2911d14fca  include/crypto/dh.h
-c6d99cc3f9ce38c44220576835e18fbce854769c06bb4a8eaa47167e67e7b244  include/crypto/dsa.h
-103c6aa07939d6d62a878d074d5593b0268ece7bb5ff9236d0df455f9abec3a4  include/crypto/ec.h
-33a436599b6ac6b30fce96f312054a2453b582c5a897b6d66cfcf0d83955c3fd  include/crypto/ecx.h
-32fa498a3d3ae0eb7e83326d72939ededaa78f33cbf1320f32b2215ca1f69961  include/crypto/evp.h
-bbe5e52d84e65449a13e42cd2d6adce59b8ed6e73d6950917aa77dc1f3f5dff6  include/crypto/lhash.h
-41b5fe04624e4b6ba2b12caddbf2d1ff1728b0826073eda68e709e8a90189ced  include/crypto/md32_common.h
-d680560931ced45a5d215b3fc43d1cbaf2f3316f51bc24800182962ca34ca61f  include/crypto/modes.h
-763ec96091c828c16278873eb32665bfc70624dbd3809cb8043d19dc16e84d22  include/crypto/rand.h
-a79916de6fe7e06d15be4e10e9f3b2cce33236d3c99ee88dff74d47119dba8ba  include/crypto/rand_pool.h
-ff3313bfb4c6d5a41c2d229ca3f3b096c28cde9863904e6cf69468ce83d18807  include/crypto/rsa.h
-32f0149ab1d82fddbdfbbc44e3078b4a4cc6936d35187e0f8d02cc0bc19f2401  include/crypto/security_bits.h
-0f743762f646656b5480648c05632575fe8acc7506460c63e0fcdf42cf20c08a  include/crypto/sha.h
-af37cd4120756cbe24a206a3fa98de11c4da8464aae541ecd2b6de2f402a0094  include/crypto/sm2.h
-7676b02824b2d68df6bddeb251e9b8a8fa2e35a95dad9a7ebeca53f9ab8d2dad  include/crypto/sparse_array.h
-5bfeea62d21b7cb43d9a819c5cd2800f02ea019687a8331abf313d615889ad37  include/crypto/types.h
-fc41057613482f5698e5fedca482512999e1e8d7b20d35e285e5ad14d72c8ace  include/crypto/x509.h
-a1778b610a244f49317a09e1e6c78b5fb68bc6d003ffdea0f6eefe5733ee5b5f  include/internal/bio.h
-92aacb3e49288f91b44f97e41933e88fe455706e1dd21a365683c2ab545db131  include/internal/constant_time.h
-1a8e8ab7245d82fdb14c5f4a654634616e0b07b4137f60a7e3e3aef15a6247f7  include/internal/core.h
-f6ad40990f40445f5e098956ee42141eb098649aaf99b54922990f8bb747054e  include/internal/cryptlib.h
-9571cfd3d5666749084b354a6d65adee443deeb5713a58c098c7b03bc69dbc63  include/internal/deprecated.h
-8a2371f964cbb7fc3916583d2a4cee5c56f98595dfa30bd60c71637811a6d9da  include/internal/der.h
-fd1722d6b79520ee4ac477280d5131eb1b744c3b422fd15f5e737ef966a97c3b  include/internal/dso.h
-a831a5d136a3d00f13e174af556c5b00ccbec6d88736a63abfaa8f034f1436de  include/internal/dsoerr.h
-70d3e0d5a1bd8db58dcc57bea4d1c3ed816c735fe0e6b2f4b07073712d2dc5ef  include/internal/endian.h
-4a012af32c3cb5e2163d706ce9cc37b09d854cb96dbf90cf9cd4de085fb5912f  include/internal/ffc.h
-100053a1bad1a85a98c5b919cf81ace0ee147b2164732963e40474d7b5fbbb99  include/internal/namemap.h
-b02701592960eb4608bb83b297eed90184004828c7fc03ea81568062f347623d  include/internal/nelem.h
-5df7377027b7c0640417441dea147eb0d95a0bd6b7a1a7e7f2a49cf4107faf87  include/internal/numbers.h
-ea1bec4f1fff37aef8d4a62745bb451baa3e3ad20ba1bc68920a24f5cbb2f0a7  include/internal/packet.h
-dd7ddecf30bef3002313e6b776ce34d660931e783b2f6edacf64c7c6e729e688  include/internal/param_build_set.h
-794504486afe80618bab452c5caa3837ccc4dc771c4934837f1a420d81d87547  include/internal/passphrase.h
-6d08ed9c307c5d85dce8baf7ee3fc358bfc53b9026760884b2d7e4a051c5a2bd  include/internal/property.h
-7479f972d1050d7f5ea0e7942175000a4b5cd89bbdcea2251907a7de6e17bb0f  include/internal/propertyerr.h
-f214a3d1ebe1109b739f0846e26ba2cd644759e8546a218b202886450018d34e  include/internal/provider.h
-754547e8937b46ead3d6188e20faf45ba4855eb345fb40339f11c2f587bfd22a  include/internal/refcount.h
-47e315163f1d2fb0ddc4e6c450deafd338bcbee66753a715c54ff2dd0cfacb11  include/internal/sha3.h
-494ab5c802716bf38032986674fb094dde927a21752fe395d82e6044d81801d1  include/internal/sizes.h
-79cd03ebe2ba199178350ceed0aed54b6714d68a16c381631fec819ef25079fa  include/internal/symhacks.h
-640cc6a2aae208073a7f495c08b4c5006a69e8ac1c2d9aaaafd56b0e74d5f859  include/internal/thread_once.h
-415b725d7f949a6191ab7bb30b48931bafc01c7aa93607e529fabbc853a4ddc5  include/internal/tlsgroups.h
-b24938409313384024524cbde837690d83119bcb70fb289b38cb7efa8e082852  include/internal/tsan_assist.h
-2b38fb6e65d549aca3b2c76907daf67124f395251c0261dec26faa54da8d6d73  include/openssl/aes.h
-444e0754b9e9e8f272f43eb8356eac687dacb4eb615c3c27504542a5e251b75d  include/openssl/asn1.h.in
-d4733dcd490b3a2554eaf859d1ea964fe76f7d24f78e42be1094bdad6dee7429  include/openssl/asn1err.h
-f9f6b49f94e33171cb086774e307500f4a6d13a35af858b8da8fbed85815a045  include/openssl/asn1t.h.in
-cf4be859dba94326ba7d9e305fd7e7275bd11e534118c7b140a3a1c8dac01b76  include/openssl/async.h
-8ed44307406db3a25abebe94b792175f99ceb04ede8fdc5c84446c9622729a0a  include/openssl/asyncerr.h
-91ff638d1fb43cd9717ef6940668ee6b3ed98d22c8f09cd8216238e2244bc570  include/openssl/bio.h.in
-0a26138aaded05cafe2326e11fdc19b28408e054cfe3dda40d45ef95ce8136b0  include/openssl/bioerr.h
-f39fc6139aad9be8d21347f5097fec42d7875375b119ebf1cb89bd8292804869  include/openssl/bn.h
-ea344bb0b690d4e47c99e83f6692b970c9b54a4520296bb2d3ddbcbdf0d51653  include/openssl/bnerr.h
-83b4510a377fcdaa2fff7ee09a37faebd7ea8e86885bc3704273c6144f0bdbb2  include/openssl/buffer.h
-9d48e6cab2ee98ae94d7113e4c65f000d97e125fdb3445642865ace3f34d06ac  include/openssl/buffererr.h
-8e772c24b051e59d2f65339f54584e3e44165a3eaf997d497faea764990130f5  include/openssl/cmac.h
-1eae6c12c4298d236b1ccefe3ebc28093fd8157214be16f8d34234b376002800  include/openssl/comp.h
-2c7c73adb2fa1da9d453d3776ce83f74e7fc354e268a92cb973abddfe14b7db5  include/openssl/comperr.h
-13a2107bcc030aa78356505dc4b0a18e3b567e7ac882a1dd381d7a038f30c1fa  include/openssl/conf.h.in
-f20c3c845129a129f5e0b1dae970d86a5c96ab49f2e3f6f364734521e9e1abe3  include/openssl/conferr.h
-02a1baff7b71a298419c6c5dcb43eaa9cc13e9beeb88c03fb14854b4e84e8862  include/openssl/configuration.h.in
-84cd7cd3842c7e70d601acdb6a4a41de3c9fcce552add92425ab33a239d23c97  include/openssl/core.h
-b0bee179f08f605a22ad7c62ec96dae59c3dcabd9f357c64eb8a7f56164b97c6  include/openssl/core_dispatch.h
-c272a96db5e5487904e2405ee5886ea5e2a4d46c3f966a4df4ea1069ef530d37  include/openssl/core_names.h
-d165f5c61bfe17ba366a3ba94afb30d3c8ce6b21e9cff59a15f3622f2654ae49  include/openssl/crypto.h.in
-06e9f521a6e98e104cdf37260ce967d928e25d424e0013f1feb3ff4da18eaec0  include/openssl/cryptoerr.h
-bbc82260cbcadd406091f39b9e3b5ea63146d9a4822623ead16fa12c43ab9fc6  include/openssl/cryptoerr_legacy.h
-24f276f5e1292fededcc70b02c002cf5ea3e747d403582f30d2e085e65a9813e  include/openssl/ct.h.in
-b0f19457b19e0341d13c33863695723272ec6534c708914b4ec75891589565fc  include/openssl/cterr.h
-fa3e6b6c2e6222424b9cd7005e3c5499a2334c831cd5d6a29256ce945be8cb1d  include/openssl/des.h
-3a57eceec58ab781d79cb0458c2251a233f45ba0ef8f414d148c55ac2dff1bc8  include/openssl/dh.h
-836130f5a32bbdce51b97b34758ed1b03a9d06065c187418eaf323dca6adfc6d  include/openssl/dherr.h
-92ae2c907fd56859e3ae28a085071611be5c9245879305cdf8bad027219e64b6  include/openssl/dsa.h
-335eb40a33cd1e95e7783bda2d031ec2bcf02cff8aa804ba3484d1354452b7ea  include/openssl/dsaerr.h
-e067fc6ddda9827d7c4f0675acd0cad2dc427d7d3559749cff3086fcaa34d959  include/openssl/dtls1.h
-fca40ea61d8939485e9ca2b5f433195dd93e7112fa40c7c101b43fa1425c5d70  include/openssl/e_os2.h
-bc9ec2be442a4f49980ba2c63c8f0da701de1f6e23d7db35d781658f833dd7b9  include/openssl/ebcdic.h
-8e301f2f8cfacda5d7de4f53e5592b523454cb93ba3c8029b628a6abf0ddb833  include/openssl/ec.h
-2a6cd2da2740c589bafaf7bb8533d890cefef98d6a6548e4aef90ac3bbd608d2  include/openssl/ecerr.h
-f2ba09838c280c874db66c5e3b040a684518ad94b671b2e8e6eab11860fe0c47  include/openssl/encoder.h
-69dd983f45b8ccd551f084796519446552963a18c52b70470d978b597c81b2dc  include/openssl/encodererr.h
-f4a13ac910add061f69dfcd33fa71ad192db82ae7fc4238952cf6f50047cfdf0  include/openssl/engine.h
-fb510978001ebea15eee4c4c6cbeebb126a66e11117e6f6d9b9fb4be5057b92c  include/openssl/engineerr.h
-bfc224df9ef6ea16d0112dd8b1b1d9a09b8484a5a26f3f0c85041d7d5e83cf3b  include/openssl/err.h.in
-e650ad0eb7c29dc754f92115a2bea65b38d17a03ed0b67dcc603635da34539d5  include/openssl/evp.h
-5bd1b5dcd14067a1fe490d49df911002793c0b4f0bd4492cd8f71cfed7bf9f2a  include/openssl/evperr.h
-5381d96fe867a4ee0ebc09b9e3a262a0d7a27edc5f91dccfb010c7d713cd0820  include/openssl/fips_names.h
-b1d41beba560a41383f899a361b786e04f889106fb5960ec831b0af7996c9783  include/openssl/fipskey.h.in
-47a088c98ad536ea99f2c6a9333e372507cb61b9bdffb930c586ed52f8f261eb  include/openssl/hmac.h
-0658a7b34390faae0d2a8dbd1fa07453c91f54847d9cd5d705760be72e18b37f  include/openssl/http.h
-5a8fc8d457adc81a2db6ba070185fc61217f07cb6bd737efa52c09ac55448b71  include/openssl/kdf.h
-c6db6926e90c9efd530a7bdb018be8c62f2c2b3c2f7b90228e9f73b8437dd785  include/openssl/lhash.h.in
-fd5c049ac6c3498750fa8f8dcbf88b2a31c02fa62dfe43a33d7b490fb86f61c8  include/openssl/macros.h
-4ec92db58402e93d967bf7f69616e7d9b169aa337bfeb266b5f748ca6c9fb639  include/openssl/md4.h
-6e73e6ead21c841f2af694a4363680afb58b20fc51dd457964c2040b4d8b8816  include/openssl/md5.h
-bb1f2272e984100231add6a62a9a01126eecb447a2293b103b4a7f6bcd714789  include/openssl/mdc2.h
-9184207c562fd1fa7bd3a4f1fadcb984130561279818f0cdfcf3e9c55be8a7d1  include/openssl/modes.h
-7c71200e35f4cc1b4011a4bc14e521e4dc037b9b2d640a74bc30ef334b813de3  include/openssl/obj_mac.h
-157797b450215f973eb10be96a04e58048ab9c131ad29427e80d0e37e230ed98  include/openssl/objects.h
-d25537af264684dff033dd8ae62b0348f868fcfec4aa51fa8f07bcfa4bd807ad  include/openssl/objectserr.h
-b2bc74cbd9a589ea770409d3916117aead67a3bab166e419640822ee73bfc0a8  include/openssl/ocsp.h.in
-d77660e0b2d89c4a2359a81c4a04066719420eb4295d8acf679501cd13bf0b1d  include/openssl/ocsperr.h
-fe6acd42c3e90db31aaafc2236a7d30ebfa53c4c07ea4d8265064c7fcb951970  include/openssl/opensslconf.h
-1bf52d136e94f727a96651c1f48ad040482f35dae152519ccd585efd410b92f0  include/openssl/opensslv.h.in
-767d9d7d5051c937a3ce8a268c702902fda93eeaa210a94dfde1f45c23277d20  include/openssl/param_build.h
-30085f4d1b4934bb25ffe7aa9a30859966318a1b4d4dcea937c426e90e6e1984  include/openssl/params.h
-c05703cea3bd3a447f600dafca7c7fac1d4f4202750ad366aa070ff2b8025828  include/openssl/pem.h
-fb453de1abc5ec8410586593921a66757441ecbfc4273349ddc6257c503a2000  include/openssl/pemerr.h
-749149c1958284291da5bf144eeeca0d3d8618f3eb2395b75e91ef84e569a543  include/openssl/pkcs7.h.in
-8394828da6fd7a794777320c955d27069bfef694356c25c62b7a9eb47cd55832  include/openssl/pkcs7err.h
-90fb37a1a564b989afca658dae8c78b0ba72ac1f4d1ffc0c52eb93e74e144603  include/openssl/proverr.h
-183c205ca22a1fa1f8754db71703098d8457a18888d94a55282c4e426605246c  include/openssl/provider.h
-39f158bae31d336bfb36dba8e1f0627a29f20de3995b157bb816a3bb3cfd0803  include/openssl/rand.h
-e3545298f0cdf598a3419416ce20acd0119c0e88557a13d52c5b1a0117ee643e  include/openssl/randerr.h
-44246a82a6515c932a6ba834fbab8ee2a82b91db977367e8de07a8f529d2f045  include/openssl/ripemd.h
-c1015b77c444a3816d2ea7ad770f1c3b79a1e54887930af6dd662895701f3323  include/openssl/rsa.h
-de7e0326d37b1a5aa8b526ffe20d1f2dd76bde76cec102869938539acac20b59  include/openssl/rsaerr.h
-6586f2187991731835353de0ffad0b6b57609b495e53d0f32644491ece629eb2  include/openssl/safestack.h.in
-8578f881906486eb4d5c8f1631a469d3fc6b350e1ff8dc103db40391234ceb47  include/openssl/self_test.h
-d8da6697ce0f23b40c9a557940f030008bf1a53eff2739974f7bdb6b12b93b44  include/openssl/sha.h
-1d0b2696819d7eda4210fcf6f16f30540f536c5433b4ef48e68fb54e95d03d1b  include/openssl/srtp.h
-a59992f46c7b98e3c9738c7f00648d8e3b84b4a19e09cf87709042c0b9798108  include/openssl/ssl.h.in
-9c6d59db5867965f0fc281836f55c4cfb300e43b81c0a1d10ae57184b82e00ba  include/openssl/ssl2.h
-a7593d089430355601f02df740f407ea26e25a643815cb3ded336f9ee3ab6e44  include/openssl/ssl3.h
-28586b305c6b96889daedaf0e7ddb946c42089a0fdb57ee4e5e9b2382629473a  include/openssl/sslerr.h
-cd7bbe3d9bdaea20969cf9a388570ade19201f48f44b4bb860499d49590f9bfb  include/openssl/sslerr_legacy.h
-c169a015d7be52b7b99dd41c418a48d97e52ad21687c39c512a83a7c3f3ddb70  include/openssl/stack.h
-22d7584ad609e30e818b54dca1dfae8dea38913fffedd25cd540c550372fb9a6  include/openssl/symhacks.h
-b220280d27e4f30ea9605902b316d20953d1d4931c3d199321b9f46d9366d60d  include/openssl/tls1.h
-ae698984da38dfde4c9e09f6565a711b6e426a1a536217ea1a81bc3f42e84fa5  include/openssl/trace.h
-ffd0b00e9fdb307c6f4369fa52005033ff4746cf49dd82bb9dfae1a83532e6e0  include/openssl/types.h
-e2dc5cba3370613db267bea7229949596aec4b925ddb3047c7fb3b679adebc17  include/openssl/ui.h.in
-558433ae747ebf3d9a71d583b7a7ee8c5476f3bef38d97a1f88bdcace4c2f311  include/openssl/uierr.h
-eba1f6ff9d98e843cde6fa92997b5722ec4b7dcb5318db5689874ebd7d9ec51a  include/openssl/x509.h.in
-7aea205aa1cc5472f7ec5e02c23435a4520af3883eff43ce2341a88abb5dcd4c  include/openssl/x509_vfy.h.in
-9e6409eddfa13a469c1da6c5b562825381da2eb4da3c08546aa1182a4ec54726  include/openssl/x509err.h
-31a4ef4e9468ec4af5fa55eb1209ee3af53ef1f4a3b85b01dab879fc63028e8b  include/openssl/x509v3.h.in
-f78e901b2260416773c6d7933de8771a03bbb2cc3073809f3c1715d4276789ff  include/openssl/x509v3err.h
 c0a9551efccf43f3dd748d4fd8ec897ddaabbc629c00ec1ad76ce983e1195a13  providers/common/bio_prov.c
 9cf5f2b733755c0476141ccda0729e8c5e15fa7445d5168939b70867eac4482b  providers/common/capabilities.c
-18ce379903b078446945da9116026da8639b4b0d81d357f86f9674a2a5cb94ef  providers/common/der/der_digests.h.in
 f94b7435d4ec888ec30df1c611afa8b9eedbb59e905a2c7cb17cfc8c4b9b85b8  providers/common/der/der_digests_gen.c.in
-c0a020765feb7ededc7e6f20b2b140dca09f347cc72404a5c7971df82b2f9ad0  providers/common/der/der_dsa.h.in
 424d7b2ece984a0904b80c73e541400c6e2d50a285c397dd323b440a4f2a8d8e  providers/common/der/der_dsa_gen.c.in
 27ff361a5fbfc97cd41690ab26639708961d0507b60912f55f5919649842c6ae  providers/common/der/der_dsa_key.c
 2529d253b3e45c33249461fdedb2c32b3c16a7a305fe4920f2a79e7b3f16ed3f  providers/common/der/der_dsa_sig.c
-6024645ac9e165685b0a44a20feb342355eb06c07b7c7954508a125348570aea  providers/common/der/der_ec.h.in
 a81d36446eb8afa5c2318e24b86b52647059b4721ee52309b741e4ee78af29dd  providers/common/der/der_ec_gen.c.in
 b8f2f94daeaf20c636c90e386284c246cfded0c8275411fa02fe68b534520b95  providers/common/der/der_ec_key.c
 9104cd39dddd6e1a6e8f267656482131f4d0765e96fdced1f7344817a1c8ed7e  providers/common/der/der_ec_sig.c
-5b6b7d8d12011c48195b7db8f65bc4bc4a48fb753763a3ce5006dc227b5139d7  providers/common/der/der_ecx.h.in
 03a5620654438c58a8f971398e68922a3f33a519e2c92edb141d13ef4cbc4651  providers/common/der/der_ecx_gen.c.in
 f3b089fd3dcccc8e3ebfbbdbf87c47d58330f82bd0e2a1223da74977930cccf1  providers/common/der/der_ecx_key.c
-ce605f32413b09d33ce5795de9498a08183895c3347f33344f9ae5d31c29ccac  providers/common/der/der_rsa.h.in
 5b3b0ae8da0fad1f7ba8b5fba2206210884728bf69a8aa00644036eb51953467  providers/common/der/der_rsa_gen.c.in
 3ba47f32b30f5540a34b3a8df7a4fd966aab9abcbb2b643af75a83a9ccda1df0  providers/common/der/der_rsa_key.c
 7e8d579986f53eaf1875d677e5cf4adfd4ccf79db0275368f6cac580ab6007ca  providers/common/der/der_rsa_sig.c
-531e3a319d9261a601e50e8661c6cdfb5f977a5b4cff80aa97f4ab2d704c4a32  providers/common/der/der_sm2.h.in
-ac9fa33898d5abe28fd10f115e4bdc636416bbf61ad8025250982621ffc76e31  providers/common/der/der_sm2_gen.c.in
-6c1fa3f229c6f049c3ac152c4c265f3eb056d94221b82df95a15400649690e93  providers/common/der/der_wrap.h.in
 0b18bc007f296e16f6210956f5b6ab612b77d8a95170f12ae32764125901db6d  providers/common/der/der_wrap_gen.c.in
 d447cd774869da68a2cc0bbb19c547ee6ed4858c7aee1f3d5bba7796f97823a9  providers/common/digest_to_nid.c
-440c8ce0a4ca9f63157202bbfa26e12fec25847215fbae3416274124604ada6e  providers/common/include/prov/bio.h
-22cf0bb105a0a2cd817e28c53aa8a96040f4794108826082e957fe23749afd7b  providers/common/include/prov/proverr.h
-6cbc8930e4658b5b03fc52b230db1332ffd9a18e97121e14dd9078066aacb0b4  providers/common/include/prov/provider_ctx.h
-08b35879ae018aec67e21b725ae6bcb061e267f1aadafa869690374807e51a87  providers/common/include/prov/provider_util.h
-e1ef8b2be828a54312d6561b37751a5b6e9d5ebdb6c3e63589728c3d8adca7dc  providers/common/include/prov/providercommon.h
-73d0e15963759fcb7c5c434bb214b50bc32f6066e90ac07fb53dad11c2fd1939  providers/common/include/prov/securitycheck.h
 737cc1228106e555e9bab24e3c2438982e04e05b0d5b9ee6995d71df16c49143  providers/common/provider_ctx.c
-71c3fbb9bd80f5e7a217cf8005df61f96a645fbdd9daca9949ceef6d33a1feb0  providers/common/provider_err.c
+08eb591a084afaa48802734fa0a77a37c94b6caeee1cb5f810ed02cbd03afaff  providers/common/provider_err.c
 9eae3e2cac89c7b63d091fdca1b6d80c5c5d52aa79c8ba4ce0158c5437ad62f3  providers/common/provider_seeding.c
 eec462d685dd3b4764b076a3c18ecd9dd254350a0b78ddc2f8a60587829e1ce3  providers/common/provider_util.c
 ce6731be4da709c753bd2c04e88d51d567c955c651e7575bb1410968e6c7620e  providers/common/securitycheck.c
 50a0e01e877ae818cf874f4515a130db0e869d4e9e8ce882bff1255695aba789  providers/common/securitycheck_fips.c
 abd5997bc33b681a4ab275978b92aebca0806a4a3f0c2f41dacf11b3b6f4e101  providers/fips/fips_entry.c
 0097ee47ca140cd4bafe7f12ce43263c08e3461e0005dcec4b2feed5b538d0c8  providers/fips/fipsprov.c
-c69e60c29711d55cd5672dab9ff051f3c093d54e63a0ec575baa899e6bbf9c2b  providers/fips/self_test.c
-4f10af8dd196a78b01494d6a02255b62c570133673549f1800e2fa323dd27170  providers/fips/self_test.h
-652bcbdd15619591466ad1f04240e7a3827f7241aa06410a363ef6cb7d97fea6  providers/fips/self_test_data.inc
+68093d08a3b0e82df3bf31387dcf7f76cb4a287f86d9c0bdd6943c2b1f459784  providers/fips/self_test.c
 fb56f801613642f6b497803890b528a643024e3cdb5bd5dd619a2981afb2f3b0  providers/fips/self_test_kats.c
 08b287621158afb67e61e52fc34efbb9f9fe22ee6709c7ed6c937d5feb2b7fd8  providers/implementations/asymciphers/rsa_enc.c
 4db1826ecce8b60cb641bcd7a61430ec8cef73d2fe3cbc06aa33526afe1c954a  providers/implementations/ciphers/cipher_aes.c
-9cdde931c725abe78b304e47029034dee2abf08cc36d4055a4d0212e38631788  providers/implementations/ciphers/cipher_aes.h
 5b7d6a1d0df42c082c3731a3d2a0fe2d0034874e0fbb2f4916efb72da4fe6b66  providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
-f449c722118408e564746cd2d2d7df4c37f2c2b262e4e52012e4c70f01d10fd9  providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.h
 10f5bee481daad40609b04743de5ea364f4a2d25bba6d901213294dd966ae786  providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
 b9026b88005f2719f1836877b2baddadec97cb1d8e20eeaf012abffb6dfc004e  providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
 6d6bf36329af3b77f457898294be05fea3940a61cdaf0ed60cfb8d091a94186e  providers/implementations/ciphers/cipher_aes_ccm.c
-13d82a9325b9cf989e632d08fffb960ceaa509efdee0c29d447c151463db2f64  providers/implementations/ciphers/cipher_aes_ccm.h
 6337b570e0dc4e98af07aa9704254d3ab958cf605584e250fbd76cd1d2a25ac7  providers/implementations/ciphers/cipher_aes_ccm_hw.c
-302b3819ff9fdfed750185421616b248b0e1233d75b45a065490fe4762b42f55  providers/implementations/ciphers/cipher_aes_ccm_hw_aesni.inc
 e63b682f97b424167e4feb28e0103ad3c2859c57056284de2999236d07663eed  providers/implementations/ciphers/cipher_aes_cts.c
-2e72401dbc4f64f0e263660bc7b5192dc5e0e8cc955661aca6a7e3e3359c97cf  providers/implementations/ciphers/cipher_aes_cts.h
-2ec666b6b7fdaa7ffb0f083a3358904c8c3159699540d270c7ddb46a8d96647b  providers/implementations/ciphers/cipher_aes_cts.inc
 e540092e34896a0f75622365a8d97473dfc7c3036ef6ef6f8ce343922ac03f56  providers/implementations/ciphers/cipher_aes_gcm.c
-582dcf5782f2766cb1369fd652985466df2bb8d41bb9791c263fc289df52b726  providers/implementations/ciphers/cipher_aes_gcm.h
-9f2303e103b4eb8244bdf97a2bb71d8a76c9e9adf09195acc2e42af72fab3250  providers/implementations/ciphers/cipher_aes_gcm_hw.c
-8ed4a100e4756c31c56147b4b0fab76a4c6e5292aa2f079045f37b5502fd41b9  providers/implementations/ciphers/cipher_aes_gcm_hw_aesni.inc
-33144c78ad050b2f9976946c67cbc593442d9a215c5f3d678ac56b504169fe18  providers/implementations/ciphers/cipher_aes_hw.c
-89de794c090192459d99d95bc4a422e7782e62192cd0fdb3bdef4128cfedee68  providers/implementations/ciphers/cipher_aes_hw_aesni.inc
+0fa7dad1d2d972aa74f32ff56ea0399dd60b39a7854f4c861201873bfd128749  providers/implementations/ciphers/cipher_aes_gcm_hw.c
+2882acc9191d15cd93522093e3e1a91135d4fcfcbb6c77980cf92369e5d1acb9  providers/implementations/ciphers/cipher_aes_hw.c
 0264d1ea3ece6f730b342586fb1fe00e3f0ff01e47d53f552864df986bf35573  providers/implementations/ciphers/cipher_aes_ocb.c
-1e9c92098be7cc1c8765a4384d6d3b29a51717993c28f6502594cc62e0ba33dc  providers/implementations/ciphers/cipher_aes_ocb.h
 855869ab5a8d7a61a11674cfe5d503dfa67f59e7e393730835d1d8cf0ab85c70  providers/implementations/ciphers/cipher_aes_ocb_hw.c
 d07e18786256f3a069fe83e6fdc79e53fdc1f99b3e6bbe5d2f3fc559bc737eb2  providers/implementations/ciphers/cipher_aes_wrp.c
 527ff9277b92606517ee7af13225a9d5fcffbbc36eb18bce39f59d594cbe4931  providers/implementations/ciphers/cipher_aes_xts.c
-51faef25d9275061868bdcd7e60d2885353123fb4941b6b9feacfcbc63003ef9  providers/implementations/ciphers/cipher_aes_xts.h
 281157d1da4d7285d878978e6d42d0d33b3a6bc16e3bc5b6879e39093a7d70da  providers/implementations/ciphers/cipher_aes_xts_fips.c
-f12bf83d8fffa833fed6d82d74709c7a0563ea0fe291988149d7c85bda8366e7  providers/implementations/ciphers/cipher_aes_xts_hw.c
+2248598561af2fc8593c101023fc629447967171d1dfc1d6bd74ca8affdf6c44  providers/implementations/ciphers/cipher_aes_xts_hw.c
 06d8f86ec724075e7f72dabfb675b5c85a93c01997e4142fbaa8482e617f4ae5  providers/implementations/ciphers/cipher_tdes.c
-240075072fa0e1e47a256b0b3aa8e13e067b2e7f972d20d717d3c65e990405cf  providers/implementations/ciphers/cipher_tdes.h
 7b7172e7e5d646e07c1ac07036716c67d9a821de7c0dfd41f8243610215a61c4  providers/implementations/ciphers/cipher_tdes_common.c
 50645122f08ef4891cd96cace833bd550be7f5278ab785515fd61fe8993c8c25  providers/implementations/ciphers/cipher_tdes_hw.c
 db110866cede3d97d352fb94f13832bef7349f2c7c1d271bc87e640fc36beed0  providers/implementations/ciphers/ciphercommon.c
@@ -563,7 +361,6 @@ db110866cede3d97d352fb94f13832bef7349f2c7c1d271bc87e640fc36beed0  providers/impl
 1a6377698528eb24943c7616b55e43305a98569497279df8c6e6e411ed009424  providers/implementations/ciphers/ciphercommon_gcm.c
 bb67eaa7a98494ca938726f9218213870fc97dd87b56bda950626cc794baf20b  providers/implementations/ciphers/ciphercommon_gcm_hw.c
 23fd89e3239e596c325a8c5d23eb1fe157a8d23aa4d90ed2c574bf06dfabd693  providers/implementations/ciphers/ciphercommon_hw.c
-c4b1cb143de15acc396ce2e03fdd165defd25ebc831de9cdfacf408ea883c666  providers/implementations/ciphers/ciphercommon_local.h
 39b47b6ef9d71852964c26e07ef0e9b23f04c7493b1b16ba7c3dba7074b6b70d  providers/implementations/digests/digestcommon.c
 80551b53302d95faea257df3edbdbd02d48427ce42da2c4335f998456400d057  providers/implementations/digests/sha2_prov.c
 de342d04be6af69037922d5c97bdc40c0c27f6740636e72786a765d0d8ad9173  providers/implementations/digests/sha3_prov.c
@@ -571,44 +368,31 @@ de342d04be6af69037922d5c97bdc40c0c27f6740636e72786a765d0d8ad9173  providers/impl
 427b9abee979f94371aa4aa99b48f08f1772965c93f9bce6f4531cc4cec136b6  providers/implementations/exchange/ecdh_exch.c
 9bf87b8429398a6465c7e9f749a33b84974303a458736b56f3359b30726d3969  providers/implementations/exchange/ecx_exch.c
 06ba83a8a8235bcdbda56f82b017cb19361469fe47c23cc6218a7e9b88ae6513  providers/implementations/exchange/kdf_exch.c
-45bed8c4d9f6b9d46d0ea870384424db36b403ff65259c3e12c6d0d631087a89  providers/implementations/include/prov/ciphercommon.h
-6dc876a1a785420e84210f085be6e4c7aca407ffb5433dbca4cd3f1c11bb7f06  providers/implementations/include/prov/ciphercommon_aead.h
-6748aed583c016ad57d443f8087c40e8da2f3598143e7d7832c982664e28c833  providers/implementations/include/prov/ciphercommon_ccm.h
-1738aa29c74e61d6aab6909c02f6e2857bf7b5183be532f2a7e999d6557fb1d2  providers/implementations/include/prov/ciphercommon_gcm.h
-79a5ed6e4a97431233c56eede9d9c9eec27598fff53590c627ea40bd5b871fd5  providers/implementations/include/prov/digestcommon.h
-f40451c176eeaeb035a8ef2d47bd31fea15e60634d1f8a92da372ed2245f4b2b  providers/implementations/include/prov/implementations.h
-5f09fc71874b00419d71646714f21ebbdcceda277463b6f77d3d3ea6946914e8  providers/implementations/include/prov/kdfexchange.h
-c95ce5498e724b9b3d58e3c2f4723e7e3e4beb07f9bea9422e43182cbadb43af  providers/implementations/include/prov/macsignature.h
-cc30d303dd0ebc1a3828c3fe231a9dd6472dcec01415941b6cbd210d32862193  providers/implementations/include/prov/names.h
-2187713b446d8b6d24ee986748b941ac3e24292c71e07ff9fb53a33021decdda  providers/implementations/include/prov/seeding.h
 9b9e7937be361de8e3c3fa9a2ef17edde8a0a4391bf55c72ff9785c1e4ee7dfc  providers/implementations/kdfs/hkdf.c
 115e13e152cfb7d729659cb26056414f719c5e7cb2a9b3df8b6ad0f232ce109a  providers/implementations/kdfs/kbkdf.c
 f93d3b32e7e3bc6bd4100559b15d392613797e1048010fdc70058ae9297a1125  providers/implementations/kdfs/pbkdf2.c
-c0778565abff112c0c5257329a7750ec4605e62f26cc36851fa1fbee6e03c70c  providers/implementations/kdfs/pbkdf2.h
 abe2b0f3711eaa34846e155cffc9242e4051c45de896f747afd5ac9d87f637dc  providers/implementations/kdfs/pbkdf2_fips.c
 6551c3354fb889cb429f850e0194a82d677528f65212d4ac345ab87352cec8a1  providers/implementations/kdfs/sshkdf.c
 eb18f3fe62bb2a46a294b738de81a233bd2db00cc79ddc58622fc7c7021c3528  providers/implementations/kdfs/sskdf.c
 3c46ec0e14be09a133d709c3a1c3d5ab05a4f1ed5385c3e7a1afb2f0ee47ef7a  providers/implementations/kdfs/tls1_prf.c
 0eba0d205b1da2c298b1002abbedde0ee2c27d80d85044c478604be5b5c4222e  providers/implementations/kdfs/x942kdf.c
-7d621555c4bd9dcdb324031c28f70d8d382ff0e5369ce1ade30180e8f525b2e8  providers/implementations/kem/rsa_kem.c
+93cedf843388205691c18640713a2d8290f67b921d3aa6181f0072525313bcd0  providers/implementations/kem/rsa_kem.c
 6b60edb1ff512cb20d5727aa765efaaba54a151b9cefb819092da347e0d3d3f6  providers/implementations/keymgmt/dh_kmgmt.c
 6224f55f19d7f2794326357799cd61182a0b3ca6a9b29ced720ecb463d7469b3  providers/implementations/keymgmt/dsa_kmgmt.c
 20d650c547a138d86593bd56bcc91aa59bd89e869cef2fc91f40c6184f2f690b  providers/implementations/keymgmt/ec_kmgmt.c
-258ae17bb2dd87ed1511a8eb3fe99eed9b77f5c2f757215ff6b3d0e8791fc251  providers/implementations/keymgmt/ec_kmgmt_imexport.inc
-1a6b7e37229e81eae3981ab2e0b7669eb24aaa6487738c4b44a970da212560b6  providers/implementations/keymgmt/ecx_kmgmt.c
+a13ed39c1a96a8d504fb508e2edbc375d4548dfe868cd76453f4353cfd62461d  providers/implementations/keymgmt/ecx_kmgmt.c
 053a2be39a87f50b877ebdbbf799cf5faf8b2de33b04311d819d212ee1ea329b  providers/implementations/keymgmt/kdf_legacy_kmgmt.c
-21b259d6a9eb5e319106012179e04963fb9659ed85af37f5c9c8752ec2385dae  providers/implementations/keymgmt/mac_legacy_kmgmt.c
+25f88308f924571ccd0ba6253573556c87f59c6e69f46a63e27ea2d6128f3467  providers/implementations/keymgmt/mac_legacy_kmgmt.c
 adb3672738af90c3f5829c77abe95af2862b13a7cb1679aac4edc9c704cbdef7  providers/implementations/keymgmt/rsa_kmgmt.c
-25d20ceb61cadb495ec890ae2c49c5c1c840b39ac77f20058ee87249cab341ef  providers/implementations/macs/cmac_prov.c
+8f85010af90897a657bbde1fa8c8cb0eb1cd322f3d0f4f53069b26f05818fe03  providers/implementations/macs/cmac_prov.c
 f51b074d55028d3e24656da348d21ca79f6680fdb30383d936251f1b3467caab  providers/implementations/macs/gmac_prov.c
-35505704fda658c0911f95974913c1f2dd75c8f91c5d2ec597c70c52624bdfdf  providers/implementations/macs/hmac_prov.c
-e42823cce1d08d9cb6cb32cc6b913241573c2cbbd856ff77a331b0956ee5aa02  providers/implementations/macs/kmac_prov.c
+04fb307d43a55d3ab77852da8fa315ca536025d47974e0ff8afd8be7f7960a1e  providers/implementations/macs/hmac_prov.c
+d09f137bc3cd4384a3fd71ba107c5636418fb0480c66151f43d615ef9be45903  providers/implementations/macs/kmac_prov.c
 bf30274dd6b528ae913984775bd8f29c6c48c0ef06d464d0f738217727b7aa5c  providers/implementations/rands/crngt.c
 080afdc1704ad2a53cfbd54060b8b4f86a110ce48663fe86f2480d05aff00a15  providers/implementations/rands/drbg.c
 3dc5f082235664ee02b827760bdf1c1dcd90d058b9664994751f7606009556ed  providers/implementations/rands/drbg_ctr.c
 c36937930bcaecd6d5131d0317b9162a96cc956df164848dc53f423af838d04a  providers/implementations/rands/drbg_hash.c
 531c0ce4212570474b59a1b039e61a97ee5504e56e2f10de1f36578f1bca79d3  providers/implementations/rands/drbg_hmac.c
-29ae5c4e280734514b35870c773e685b60f4c95ed06612c529fc50ea1891f8bc  providers/implementations/rands/drbg_local.h
 888a671934abef4225956f9931cff842f245f90660e11f23a55228edca962e16  providers/implementations/rands/test_rng.c
 3a9dfbf5dcb9e1955f12f71f1ca086dded771b262d6d61bab2874f48260f702a  providers/implementations/signature/dsa_sig.c
 0ff792c30ba26f2d8f4d1c14b999f7183dcd928537f950a23573f0b65359b2f4  providers/implementations/signature/ecdsa_sig.c
@@ -616,4 +400,4 @@ c36937930bcaecd6d5131d0317b9162a96cc956df164848dc53f423af838d04a  providers/impl
 1cb6ec2efb7b2bb131622aa95e245273f5967065eb0018392ed4ced50d0813b7  providers/implementations/signature/mac_legacy_sig.c
 40322e8782474a35f02fa350b43439a56124e680a1d24556b2a66310ed2e9e2e  providers/implementations/signature/rsa_sig.c
 53a1e913fcc4a4e8e84009229cba60b9e29c7dc6536182fd290478331fad44b4  ssl/record/tls_pad.c
-85a9701b05ab8dfea42550fbc5e4d9f4011d08ccc64829648fc12091cc1133f5  ssl/s3_cbc.c
+b20895bc97561c908d246406af079d45339f1087f196ff356aba1f1089ad33ce  ssl/s3_cbc.c
diff --git a/providers/fips.checksum b/providers/fips.checksum
index 04fcc9deba..ce96b8ec1c 100644
--- a/providers/fips.checksum
+++ b/providers/fips.checksum
@@ -1 +1 @@
-7a5559836cd09a35e480ba70e1bbdeb26a4899a789e9fc92d11bf5c697eea466  providers/fips-sources.checksums
+97e6404ae271c9511c863c6bb01c274cffbc5a3e0a7f09035381168ade82fadf  providers/fips-sources.checksums
diff --git a/providers/fips.module.sources b/providers/fips.module.sources
index 7dc0061919..78febf7714 100644
--- a/providers/fips.module.sources
+++ b/providers/fips.module.sources
@@ -1,7 +1,6 @@
 crypto/aes/aes_cbc.c
 crypto/aes/aes_core.c
 crypto/aes/aes_ecb.c
-crypto/aes/aes_local.h
 crypto/aes/aes_misc.c
 crypto/aes/asm/aes-586.pl
 crypto/aes/asm/aes-armv4.pl
@@ -80,14 +79,12 @@ crypto/bn/bn_gf2m.c
 crypto/bn/bn_intern.c
 crypto/bn/bn_kron.c
 crypto/bn/bn_lib.c
-crypto/bn/bn_local.h
 crypto/bn/bn_mod.c
 crypto/bn/bn_mont.c
 crypto/bn/bn_mpi.c
 crypto/bn/bn_mul.c
 crypto/bn/bn_nist.c
 crypto/bn/bn_prime.c
-crypto/bn/bn_prime.h
 crypto/bn/bn_rand.c
 crypto/bn/bn_recp.c
 crypto/bn/bn_rsa_fips186_4.c
@@ -96,7 +93,6 @@ crypto/bn/bn_sqr.c
 crypto/bn/bn_sqrt.c
 crypto/bn/bn_word.c
 crypto/bn/rsaz_exp.c
-crypto/bn/rsaz_exp.h
 crypto/bn/rsaz_exp_x2.c
 crypto/bsearch.c
 crypto/buffer/buffer.c
@@ -110,12 +106,9 @@ crypto/cryptlib.c
 crypto/ctype.c
 crypto/der_writer.c
 crypto/des/des_enc.c
-crypto/des/des_local.h
 crypto/des/ecb3_enc.c
 crypto/des/fcrypt_b.c
-crypto/des/ncbc_enc.c
 crypto/des/set_key.c
-crypto/des/spr.h
 crypto/dh/dh_backend.c
 crypto/dh/dh_check.c
 crypto/dh/dh_gen.c
@@ -123,16 +116,15 @@ crypto/dh/dh_group_params.c
 crypto/dh/dh_kdf.c
 crypto/dh/dh_key.c
 crypto/dh/dh_lib.c
-crypto/dh/dh_local.h
 crypto/dsa/dsa_backend.c
 crypto/dsa/dsa_check.c
 crypto/dsa/dsa_gen.c
 crypto/dsa/dsa_key.c
 crypto/dsa/dsa_lib.c
-crypto/dsa/dsa_local.h
 crypto/dsa/dsa_ossl.c
 crypto/dsa/dsa_sign.c
 crypto/dsa/dsa_vrf.c
+crypto/ec/asm/ecp_nistp521-ppc64.pl
 crypto/ec/asm/ecp_nistz256-armv4.pl
 crypto/ec/asm/ecp_nistz256-armv8.pl
 crypto/ec/asm/ecp_nistz256-ppc64.pl
@@ -143,20 +135,12 @@ crypto/ec/asm/x25519-ppc64.pl
 crypto/ec/asm/x25519-x86_64.pl
 crypto/ec/curve25519.c
 crypto/ec/curve448/arch_32/f_impl32.c
-crypto/ec/curve448/arch_64/arch_intrinsics.h
-crypto/ec/curve448/arch_64/f_impl.h
 crypto/ec/curve448/arch_64/f_impl64.c
 crypto/ec/curve448/curve448.c
-crypto/ec/curve448/curve448_local.h
 crypto/ec/curve448/curve448_tables.c
-crypto/ec/curve448/curve448utils.h
-crypto/ec/curve448/ed448.h
 crypto/ec/curve448/eddsa.c
 crypto/ec/curve448/f_generic.c
-crypto/ec/curve448/field.h
-crypto/ec/curve448/point_448.h
 crypto/ec/curve448/scalar.c
-crypto/ec/curve448/word.h
 crypto/ec/ec2_oct.c
 crypto/ec/ec2_smpl.c
 crypto/ec/ec_asn1.c
@@ -167,7 +151,6 @@ crypto/ec/ec_cvt.c
 crypto/ec/ec_key.c
 crypto/ec/ec_kmeth.c
 crypto/ec/ec_lib.c
-crypto/ec/ec_local.h
 crypto/ec/ec_mult.c
 crypto/ec/ec_oct.c
 crypto/ec/ecdh_kdf.c
@@ -181,7 +164,6 @@ crypto/ec/ecp_nistz256.c
 crypto/ec/ecp_oct.c
 crypto/ec/ecp_smpl.c
 crypto/ec/ecx_backend.c
-crypto/ec/ecx_backend.h
 crypto/ec/ecx_key.c
 crypto/evp/asymcipher.c
 crypto/evp/dh_support.c
@@ -190,7 +172,6 @@ crypto/evp/ec_support.c
 crypto/evp/evp_enc.c
 crypto/evp/evp_fetch.c
 crypto/evp/evp_lib.c
-crypto/evp/evp_local.h
 crypto/evp/evp_rand.c
 crypto/evp/evp_utils.c
 crypto/evp/exchange.c
@@ -216,10 +197,8 @@ crypto/ffc/ffc_params.c
 crypto/ffc/ffc_params_generate.c
 crypto/ffc/ffc_params_validate.c
 crypto/hmac/hmac.c
-crypto/hmac/hmac_local.h
 crypto/initthread.c
 crypto/lhash/lhash.c
-crypto/lhash/lhash_local.h
 crypto/mem_clr.c
 crypto/modes/asm/aes-gcm-armv8_64.pl
 crypto/modes/asm/aesni-gcm-x86_64.pl
@@ -252,21 +231,17 @@ crypto/params_from_text.c
 crypto/passphrase.c
 crypto/property/defn_cache.c
 crypto/property/property.c
-crypto/property/property_local.h
 crypto/property/property_parse.c
 crypto/property/property_string.c
 crypto/provider_core.c
-crypto/provider_local.h
 crypto/provider_predefined.c
 crypto/rand/rand_lib.c
-crypto/rand/rand_local.h
 crypto/rand/rand_meth.c
 crypto/rsa/rsa_backend.c
 crypto/rsa/rsa_chk.c
 crypto/rsa/rsa_crpt.c
 crypto/rsa/rsa_gen.c
 crypto/rsa/rsa_lib.c
-crypto/rsa/rsa_local.h
 crypto/rsa/rsa_mp_names.c
 crypto/rsa/rsa_none.c
 crypto/rsa/rsa_oaep.c
@@ -326,7 +301,6 @@ crypto/sha/sha1dgst.c
 crypto/sha/sha256.c
 crypto/sha/sha3.c
 crypto/sha/sha512.c
-crypto/sha/sha_local.h
 crypto/sparse_array.c
 crypto/stack/stack.c
 crypto/threads_lib.c
@@ -334,184 +308,22 @@ crypto/threads_none.c
 crypto/threads_pthread.c
 crypto/threads_win.c
 crypto/x86_64cpuid.pl
-e_os.h
-include/crypto/aes_platform.h
-include/crypto/asn1.h
-include/crypto/asn1_dsa.h
-include/crypto/bn.h
-include/crypto/bn_conf.h.in
-include/crypto/bn_dh.h
-include/crypto/cryptlib.h
-include/crypto/ctype.h
-include/crypto/des_platform.h
-include/crypto/dh.h
-include/crypto/dsa.h
-include/crypto/ec.h
-include/crypto/ecx.h
-include/crypto/evp.h
-include/crypto/lhash.h
-include/crypto/md32_common.h
-include/crypto/modes.h
-include/crypto/rand.h
-include/crypto/rand_pool.h
-include/crypto/rsa.h
-include/crypto/security_bits.h
-include/crypto/sha.h
-include/crypto/sm2.h
-include/crypto/sparse_array.h
-include/crypto/types.h
-include/crypto/x509.h
-include/internal/bio.h
-include/internal/constant_time.h
-include/internal/core.h
-include/internal/cryptlib.h
-include/internal/deprecated.h
-include/internal/der.h
-include/internal/dso.h
-include/internal/dsoerr.h
-include/internal/endian.h
-include/internal/ffc.h
-include/internal/namemap.h
-include/internal/nelem.h
-include/internal/numbers.h
-include/internal/packet.h
-include/internal/param_build_set.h
-include/internal/passphrase.h
-include/internal/property.h
-include/internal/propertyerr.h
-include/internal/provider.h
-include/internal/refcount.h
-include/internal/sha3.h
-include/internal/sizes.h
-include/internal/symhacks.h
-include/internal/thread_once.h
-include/internal/tlsgroups.h
-include/internal/tsan_assist.h
-include/openssl/aes.h
-include/openssl/asn1.h.in
-include/openssl/asn1err.h
-include/openssl/asn1t.h.in
-include/openssl/async.h
-include/openssl/asyncerr.h
-include/openssl/bio.h.in
-include/openssl/bioerr.h
-include/openssl/bn.h
-include/openssl/bnerr.h
-include/openssl/buffer.h
-include/openssl/buffererr.h
-include/openssl/cmac.h
-include/openssl/comp.h
-include/openssl/comperr.h
-include/openssl/conf.h.in
-include/openssl/conferr.h
-include/openssl/configuration.h.in
-include/openssl/core.h
-include/openssl/core_dispatch.h
-include/openssl/core_names.h
-include/openssl/crypto.h.in
-include/openssl/cryptoerr.h
-include/openssl/cryptoerr_legacy.h
-include/openssl/ct.h.in
-include/openssl/cterr.h
-include/openssl/des.h
-include/openssl/dh.h
-include/openssl/dherr.h
-include/openssl/dsa.h
-include/openssl/dsaerr.h
-include/openssl/dtls1.h
-include/openssl/e_os2.h
-include/openssl/ebcdic.h
-include/openssl/ec.h
-include/openssl/ecerr.h
-include/openssl/encoder.h
-include/openssl/encodererr.h
-include/openssl/engine.h
-include/openssl/engineerr.h
-include/openssl/err.h.in
-include/openssl/evp.h
-include/openssl/evperr.h
-include/openssl/fips_names.h
-include/openssl/fipskey.h.in
-include/openssl/hmac.h
-include/openssl/http.h
-include/openssl/kdf.h
-include/openssl/lhash.h.in
-include/openssl/macros.h
-include/openssl/md4.h
-include/openssl/md5.h
-include/openssl/mdc2.h
-include/openssl/modes.h
-include/openssl/obj_mac.h
-include/openssl/objects.h
-include/openssl/objectserr.h
-include/openssl/ocsp.h.in
-include/openssl/ocsperr.h
-include/openssl/opensslconf.h
-include/openssl/opensslv.h.in
-include/openssl/param_build.h
-include/openssl/params.h
-include/openssl/pem.h
-include/openssl/pemerr.h
-include/openssl/pkcs7.h.in
-include/openssl/pkcs7err.h
-include/openssl/proverr.h
-include/openssl/provider.h
-include/openssl/rand.h
-include/openssl/randerr.h
-include/openssl/ripemd.h
-include/openssl/rsa.h
-include/openssl/rsaerr.h
-include/openssl/safestack.h.in
-include/openssl/self_test.h
-include/openssl/sha.h
-include/openssl/srtp.h
-include/openssl/ssl.h.in
-include/openssl/ssl2.h
-include/openssl/ssl3.h
-include/openssl/sslerr.h
-include/openssl/sslerr_legacy.h
-include/openssl/stack.h
-include/openssl/symhacks.h
-include/openssl/tls1.h
-include/openssl/trace.h
-include/openssl/types.h
-include/openssl/ui.h.in
-include/openssl/uierr.h
-include/openssl/x509.h.in
-include/openssl/x509_vfy.h.in
-include/openssl/x509err.h
-include/openssl/x509v3.h.in
-include/openssl/x509v3err.h
 providers/common/bio_prov.c
 providers/common/capabilities.c
-providers/common/der/der_digests.h.in
 providers/common/der/der_digests_gen.c.in
-providers/common/der/der_dsa.h.in
 providers/common/der/der_dsa_gen.c.in
 providers/common/der/der_dsa_key.c
 providers/common/der/der_dsa_sig.c
-providers/common/der/der_ec.h.in
 providers/common/der/der_ec_gen.c.in
 providers/common/der/der_ec_key.c
 providers/common/der/der_ec_sig.c
-providers/common/der/der_ecx.h.in
 providers/common/der/der_ecx_gen.c.in
 providers/common/der/der_ecx_key.c
-providers/common/der/der_rsa.h.in
 providers/common/der/der_rsa_gen.c.in
 providers/common/der/der_rsa_key.c
 providers/common/der/der_rsa_sig.c
-providers/common/der/der_sm2.h.in
-providers/common/der/der_sm2_gen.c.in
-providers/common/der/der_wrap.h.in
 providers/common/der/der_wrap_gen.c.in
 providers/common/digest_to_nid.c
-providers/common/include/prov/bio.h
-providers/common/include/prov/proverr.h
-providers/common/include/prov/provider_ctx.h
-providers/common/include/prov/provider_util.h
-providers/common/include/prov/providercommon.h
-providers/common/include/prov/securitycheck.h
 providers/common/provider_ctx.c
 providers/common/provider_err.c
 providers/common/provider_seeding.c
@@ -521,39 +333,25 @@ providers/common/securitycheck_fips.c
 providers/fips/fips_entry.c
 providers/fips/fipsprov.c
 providers/fips/self_test.c
-providers/fips/self_test.h
-providers/fips/self_test_data.inc
 providers/fips/self_test_kats.c
 providers/implementations/asymciphers/rsa_enc.c
 providers/implementations/ciphers/cipher_aes.c
-providers/implementations/ciphers/cipher_aes.h
 providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
-providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.h
 providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
 providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
 providers/implementations/ciphers/cipher_aes_ccm.c
-providers/implementations/ciphers/cipher_aes_ccm.h
 providers/implementations/ciphers/cipher_aes_ccm_hw.c
-providers/implementations/ciphers/cipher_aes_ccm_hw_aesni.inc
 providers/implementations/ciphers/cipher_aes_cts.c
-providers/implementations/ciphers/cipher_aes_cts.h
-providers/implementations/ciphers/cipher_aes_cts.inc
 providers/implementations/ciphers/cipher_aes_gcm.c
-providers/implementations/ciphers/cipher_aes_gcm.h
 providers/implementations/ciphers/cipher_aes_gcm_hw.c
-providers/implementations/ciphers/cipher_aes_gcm_hw_aesni.inc
 providers/implementations/ciphers/cipher_aes_hw.c
-providers/implementations/ciphers/cipher_aes_hw_aesni.inc
 providers/implementations/ciphers/cipher_aes_ocb.c
-providers/implementations/ciphers/cipher_aes_ocb.h
 providers/implementations/ciphers/cipher_aes_ocb_hw.c
 providers/implementations/ciphers/cipher_aes_wrp.c
 providers/implementations/ciphers/cipher_aes_xts.c
-providers/implementations/ciphers/cipher_aes_xts.h
 providers/implementations/ciphers/cipher_aes_xts_fips.c
 providers/implementations/ciphers/cipher_aes_xts_hw.c
 providers/implementations/ciphers/cipher_tdes.c
-providers/implementations/ciphers/cipher_tdes.h
 providers/implementations/ciphers/cipher_tdes_common.c
 providers/implementations/ciphers/cipher_tdes_hw.c
 providers/implementations/ciphers/ciphercommon.c
@@ -563,7 +361,6 @@ providers/implementations/ciphers/ciphercommon_ccm_hw.c
 providers/implementations/ciphers/ciphercommon_gcm.c
 providers/implementations/ciphers/ciphercommon_gcm_hw.c
 providers/implementations/ciphers/ciphercommon_hw.c
-providers/implementations/ciphers/ciphercommon_local.h
 providers/implementations/digests/digestcommon.c
 providers/implementations/digests/sha2_prov.c
 providers/implementations/digests/sha3_prov.c
@@ -571,20 +368,9 @@ providers/implementations/exchange/dh_exch.c
 providers/implementations/exchange/ecdh_exch.c
 providers/implementations/exchange/ecx_exch.c
 providers/implementations/exchange/kdf_exch.c
-providers/implementations/include/prov/ciphercommon.h
-providers/implementations/include/prov/ciphercommon_aead.h
-providers/implementations/include/prov/ciphercommon_ccm.h
-providers/implementations/include/prov/ciphercommon_gcm.h
-providers/implementations/include/prov/digestcommon.h
-providers/implementations/include/prov/implementations.h
-providers/implementations/include/prov/kdfexchange.h
-providers/implementations/include/prov/macsignature.h
-providers/implementations/include/prov/names.h
-providers/implementations/include/prov/seeding.h
 providers/implementations/kdfs/hkdf.c
 providers/implementations/kdfs/kbkdf.c
 providers/implementations/kdfs/pbkdf2.c
-providers/implementations/kdfs/pbkdf2.h
 providers/implementations/kdfs/pbkdf2_fips.c
 providers/implementations/kdfs/sshkdf.c
 providers/implementations/kdfs/sskdf.c
@@ -594,7 +380,6 @@ providers/implementations/kem/rsa_kem.c
 providers/implementations/keymgmt/dh_kmgmt.c
 providers/implementations/keymgmt/dsa_kmgmt.c
 providers/implementations/keymgmt/ec_kmgmt.c
-providers/implementations/keymgmt/ec_kmgmt_imexport.inc
 providers/implementations/keymgmt/ecx_kmgmt.c
 providers/implementations/keymgmt/kdf_legacy_kmgmt.c
 providers/implementations/keymgmt/mac_legacy_kmgmt.c
@@ -608,7 +393,6 @@ providers/implementations/rands/drbg.c
 providers/implementations/rands/drbg_ctr.c
 providers/implementations/rands/drbg_hash.c
 providers/implementations/rands/drbg_hmac.c
-providers/implementations/rands/drbg_local.h
 providers/implementations/rands/test_rng.c
 providers/implementations/signature/dsa_sig.c
 providers/implementations/signature/ecdsa_sig.c
@@ -617,3 +401,4 @@ providers/implementations/signature/mac_legacy_sig.c
 providers/implementations/signature/rsa_sig.c
 ssl/record/tls_pad.c
 ssl/s3_cbc.c
+util/providers.num


More information about the openssl-commits mailing list