summaryrefslogtreecommitdiffstats
path: root/providers
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2021-04-14 14:31:58 +1000
committerPauli <pauli@openssl.org>2021-05-08 20:39:29 +1000
commit0d40ca47bd86e74a95c3a2f5fb6c67cdbee93c79 (patch)
treed5939a2a1b410da4a696461e7724da37bfa9697e /providers
parent531df8185ff4a083aca550b2c8a56d7993b2c60d (diff)
bn: Add fixed length (n=6), unrolled PPC Montgomery Multiplication
Overall improvement for p384 of ~18% on Power 9, compared to existing Power assembling code. See comment in code for more details. Multiple unrolled versions could be generated for values other than 6. However, for TLS 1.3 the only other ECC algorithms that might use Montgomery Multiplication are p256 and p521, but these have custom algorithms that don't use Montgomery Multiplication. Non-ECC algorithms are likely to use larger key lengths that won't fit into the n <= 10 length limitation of this code. Signed-off-by: Amitay Isaacs <amitay@ozlabs.org> Signed-off-by: Alastair D'Silva <alastair@d-silva.org> Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15175)
Diffstat (limited to 'providers')
-rw-r--r--providers/fips-sources.checksums1
-rw-r--r--providers/fips.checksum2
-rw-r--r--providers/fips.module.sources1
3 files changed, 3 insertions, 1 deletions
diff --git a/providers/fips-sources.checksums b/providers/fips-sources.checksums
index 01968b7e6f..b1ec8f2339 100644
--- a/providers/fips-sources.checksums
+++ b/providers/fips-sources.checksums
@@ -42,6 +42,7 @@ eb240c1f72063048abe026ab7fab340361a329d5cd355276a25950be446cc091 crypto/bn/asm/
b27ec5181e387e812925bb26823b830f49d7a6e4971b6d11ea583f5632a1504b crypto/bn/asm/parisc-mont.pl
9973523b361db963eea4938a7a8a3adc692e1a4e1aec4fa1f1e57dc93da37921 crypto/bn/asm/ppc-mont.pl
59cd27e1e10c4984b7fb684b27f491e7634473b1bcff197a07e0ca653124aa9a crypto/bn/asm/ppc.pl
+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
diff --git a/providers/fips.checksum b/providers/fips.checksum
index e5ff9a8040..e9adf327b3 100644
--- a/providers/fips.checksum
+++ b/providers/fips.checksum
@@ -1 +1 @@
-2e67c3ed3222fedf2d26e91f47b2b7708a95f39a74bd1489412f324f84daa57d providers/fips-sources.checksums
+4fcfc6375eef7bed6219191cce24513be04a6ebb8b2d5da8e404150a2ecc0eba providers/fips-sources.checksums
diff --git a/providers/fips.module.sources b/providers/fips.module.sources
index 7e17658602..416a2b97f7 100644
--- a/providers/fips.module.sources
+++ b/providers/fips.module.sources
@@ -42,6 +42,7 @@ crypto/bn/asm/mips.pl
crypto/bn/asm/parisc-mont.pl
crypto/bn/asm/ppc-mont.pl
crypto/bn/asm/ppc.pl
+crypto/bn/asm/ppc64-mont-fixed.pl
crypto/bn/asm/ppc64-mont.pl
crypto/bn/asm/rsaz-avx2.pl
crypto/bn/asm/rsaz-avx512.pl