Coverity Scan: Analysis completed for openssl/openssl

2022-01-18 Thread scan-admin


Your request for analysis of openssl/openssl has been completed 
successfully.
The results are available at 
https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50yoN-2BQSVjTtaSz8wS4wOr7HlekBtV1P4YRtWclMVkCdvAA-3D-3D90gb_MulOTlHne1IxTRELXXnGni8d68xSVF-2BUCe3a7Ux-2BjeF4sIcimiEWGcfF210CeMw6SR-2BbrxSYjPt9k68mT2OmGiu7oW71NaK-2FILw0c-2B13qo20pzNsRZBVPVQ4zwjYldcfCRij80-2BVy1wOhV-2BgY9bxM1zgb9bCIGByRHCdT3zkaFs6sujRTaXEw0AJEpHrlfrAgPF8owct1aiS5V0lzm3wVkwl-2ByqFaybha6Tk0XR4EfY-3D

Build ID: 431342

Analysis Summary:
   New defects found: 0
   Defects eliminated: 0



Coverity Scan: Analysis completed for openssl-mirror

2022-01-18 Thread scan-admin


Your request for analysis of openssl-mirror has been completed successfully.
The results are available at 
https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50yoN-2BQSVjTtaSz8wS4wOr7HlyiBnvCURZ-2FU92UvyipM66g-3D-3DZK7d_MulOTlHne1IxTRELXXnGni8d68xSVF-2BUCe3a7Ux-2BjeH3WHqPACgAY9LNKL4qVE38M4CPwVnaYynjUu8G9CjnqkHdgBChg0bq2visrHAro6ZOBxqIl-2Fa-2Ffu34l6BZYpAAFTOl9Mv3tnkVIP7UsDUKil1Xgvjv-2Ftjvc40yNDCtRM15N92vv19hciQ-2Bl8MKpCUZMpGZ086Xjlve7YsSLvgoWm33bs4nxjW-2BXt-2BLqN7SJeo-3D

Build ID: 431224

Analysis Summary:
   New defects found: 0
   Defects eliminated: 0



[openssl] master update

2022-01-18 Thread tomas
The branch master has been updated
   via  15b7175f558bf9eb057ec3266685486f727dd70f (commit)
  from  c1167f09d840b109ef1c1c1485e3de64be2fc625 (commit)


- Log -
commit 15b7175f558bf9eb057ec3266685486f727dd70f
Author: Daniel Hu 
Date:   Tue Oct 19 22:49:05 2021 +0100

SM4 optimization for ARM by HW instruction

This patch implements the SM4 optimization for ARM processor,
using SM4 HW instruction, which is an optional feature of
crypto extension for aarch64 V8.

Tested on some modern ARM micro-architectures with SM4 support, the
performance uplift can be observed around 8X~40X over existing
C implementation in openssl. Algorithms that can be parallelized
(like CTR, ECB, CBC decryption) are on higher end, with algorithm
like CBC encryption on lower end (due to inter-block dependency)

Perf data on Yitian-710 2.75GHz hardware, before and after optimization:

Before:
  type  16 bytes 64 bytes256 bytes1024 bytes   8192 bytes  
16384 bytes
  SM4-CTR  105787.80k   107837.87k   108380.84k   108462.08k   108549.46k   
108554.92k
  SM4-ECB  111924.58k   118173.76k   119776.00k   120093.70k   120264.02k   
120274.94k
  SM4-CBC  106428.09k   109190.98k   109674.33k   109774.51k   109827.41k   
109827.41k

After (7.4x - 36.6x faster):
  type  16 bytes 64 bytes256 bytes1024 bytes   8192 bytes  
16384 bytes
  SM4-CTR  781979.02k  2432994.28k  3437753.86k  3834177.88k  3963715.58k  
3974556.33k
  SM4-ECB  937590.69k  2941689.02k  3945751.81k  4328655.87k  4459181.40k  
4468692.31k
  SM4-CBC  890639.88k  1027746.58k  1050621.78k  1056696.66k  1058613.93k  
1058701.31k

Signed-off-by: Daniel Hu 

Reviewed-by: Paul Dale 
Reviewed-by: Tomas Mraz 
(Merged from https://github.com/openssl/openssl/pull/17455)

---

Summary of changes:
 crypto/arm64cpuid.pl   |   8 +
 crypto/arm_arch.h  |   1 +
 crypto/armcap.c|  10 +
 crypto/evp/e_sm4.c | 193 +--
 crypto/sm4/asm/sm4-armv8.pl| 635 +
 crypto/sm4/build.info  |  32 +-
 include/crypto/sm4_platform.h  |  48 ++
 providers/implementations/ciphers/cipher_sm4.h |   1 +
 .../implementations/ciphers/cipher_sm4_gcm_hw.c|  20 +-
 providers/implementations/ciphers/cipher_sm4_hw.c  |  57 +-
 10 files changed, 945 insertions(+), 60 deletions(-)
 create mode 100755 crypto/sm4/asm/sm4-armv8.pl
 create mode 100644 include/crypto/sm4_platform.h

diff --git a/crypto/arm64cpuid.pl b/crypto/arm64cpuid.pl
index b30f505339..1841c0cc04 100755
--- a/crypto/arm64cpuid.pl
+++ b/crypto/arm64cpuid.pl
@@ -80,6 +80,14 @@ _armv8_pmull_probe:
ret
 .size  _armv8_pmull_probe,.-_armv8_pmull_probe
 
+.globl _armv8_sm4_probe
+.type  _armv8_sm4_probe,%function
+_armv8_sm4_probe:
+   AARCH64_VALID_CALL_TARGET
+   .long   0xcec08400  // sm4e v0.4s, v0.4s
+   ret
+.size  _armv8_sm4_probe,.-_armv8_sm4_probe
+
 .globl _armv8_sha512_probe
 .type  _armv8_sha512_probe,%function
 _armv8_sha512_probe:
diff --git a/crypto/arm_arch.h b/crypto/arm_arch.h
index 77173cae42..291620ebc9 100644
--- a/crypto/arm_arch.h
+++ b/crypto/arm_arch.h
@@ -80,6 +80,7 @@ extern unsigned int OPENSSL_armv8_rsa_neonized;
 # define ARMV8_CPUID (1<<7)
 # define ARMV8_RNG   (1<<8)
 # define ARMV8_SM3   (1<<9)
+# define ARMV8_SM4   (1<<10)
 
 /*
  * MIDR_EL1 system register
diff --git a/crypto/armcap.c b/crypto/armcap.c
index 93003c9121..5016987eeb 100644
--- a/crypto/armcap.c
+++ b/crypto/armcap.c
@@ -54,6 +54,7 @@ void _armv8_sha256_probe(void);
 void _armv8_pmull_probe(void);
 # ifdef __aarch64__
 void _armv8_sm3_probe(void);
+void _armv8_sm4_probe(void);
 void _armv8_sha512_probe(void);
 unsigned int _armv8_cpuid_probe(void);
 void _armv8_rng_probe(void);
@@ -171,6 +172,7 @@ static unsigned long getauxval(unsigned long key)
 #  define HWCAP_CE_SHA256(1 << 6)
 #  define HWCAP_CPUID(1 << 11)
 #  define HWCAP_CE_SM3   (1 << 18)
+#  define HWCAP_CE_SM4   (1 << 19)
 #  define HWCAP_CE_SHA512(1 << 21)
   /* AT_HWCAP2 */
 #  define HWCAP2 26
@@ -242,6 +244,9 @@ void OPENSSL_cpuid_setup(void)
 OPENSSL_armcap_P |= ARMV8_SHA256;
 
 #  ifdef __aarch64__
+if (hwcap & HWCAP_CE_SM4)
+OPENSSL_armcap_P |= ARMV8_SM4;
+
 if (hwcap & HWCAP_CE_SHA512)
 OPENSSL_armcap_P |= ARMV8_SHA512;
 
@@ -293,6 +298,11 @@ void OPENSSL_cpuid_setup(void)
 OPENSSL_armcap_P |= ARMV8_SHA256;
 }
 #  if defined(__aarch64__) && !defined(__APPLE__)
+if (sigsetjmp(ill_jm

[openssl] openssl-3.0 update

2022-01-18 Thread tomas
The branch openssl-3.0 has been updated
   via  174adc705c2c3921cb3da34ce11641c159bd139b (commit)
  from  5f7757265bfd7ccdf1973bf09f9d72634ea70949 (commit)


- Log -
commit 174adc705c2c3921cb3da34ce11641c159bd139b
Author: Tomas Mraz 
Date:   Fri Jan 14 16:19:33 2022 +0100

dh_exch.c: Correct gettable parameters for DH key exchange

Fixes #17510

Reviewed-by: Matt Caswell 
Reviewed-by: Paul Dale 
(Merged from https://github.com/openssl/openssl/pull/17515)

(cherry picked from commit c1167f09d840b109ef1c1c1485e3de64be2fc625)

---

Summary of changes:
 providers/implementations/exchange/dh_exch.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/providers/implementations/exchange/dh_exch.c 
b/providers/implementations/exchange/dh_exch.c
index ea05b3177e..cd92f26957 100644
--- a/providers/implementations/exchange/dh_exch.c
+++ b/providers/implementations/exchange/dh_exch.c
@@ -414,12 +414,12 @@ static const OSSL_PARAM 
*dh_settable_ctx_params(ossl_unused void *vpdhctx,
 }
 
 static const OSSL_PARAM known_gettable_ctx_params[] = {
-OSSL_PARAM_int(OSSL_EXCHANGE_PARAM_EC_ECDH_COFACTOR_MODE, NULL),
 OSSL_PARAM_utf8_string(OSSL_EXCHANGE_PARAM_KDF_TYPE, NULL, 0),
 OSSL_PARAM_utf8_string(OSSL_EXCHANGE_PARAM_KDF_DIGEST, NULL, 0),
 OSSL_PARAM_size_t(OSSL_EXCHANGE_PARAM_KDF_OUTLEN, NULL),
 OSSL_PARAM_DEFN(OSSL_EXCHANGE_PARAM_KDF_UKM, OSSL_PARAM_OCTET_PTR,
 NULL, 0),
+OSSL_PARAM_utf8_string(OSSL_KDF_PARAM_CEK_ALG, NULL, 0),
 OSSL_PARAM_END
 };
 


[openssl] master update

2022-01-18 Thread tomas
The branch master has been updated
   via  c1167f09d840b109ef1c1c1485e3de64be2fc625 (commit)
  from  14951ef01f9b54d804baf2fabdf0a715c630827b (commit)


- Log -
commit c1167f09d840b109ef1c1c1485e3de64be2fc625
Author: Tomas Mraz 
Date:   Fri Jan 14 16:19:33 2022 +0100

dh_exch.c: Correct gettable parameters for DH key exchange

Fixes #17510

Reviewed-by: Matt Caswell 
Reviewed-by: Paul Dale 
(Merged from https://github.com/openssl/openssl/pull/17515)

---

Summary of changes:
 providers/implementations/exchange/dh_exch.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/providers/implementations/exchange/dh_exch.c 
b/providers/implementations/exchange/dh_exch.c
index 4bea7af4ec..b0dd6b3591 100644
--- a/providers/implementations/exchange/dh_exch.c
+++ b/providers/implementations/exchange/dh_exch.c
@@ -415,12 +415,12 @@ static const OSSL_PARAM 
*dh_settable_ctx_params(ossl_unused void *vpdhctx,
 }
 
 static const OSSL_PARAM known_gettable_ctx_params[] = {
-OSSL_PARAM_int(OSSL_EXCHANGE_PARAM_EC_ECDH_COFACTOR_MODE, NULL),
 OSSL_PARAM_utf8_string(OSSL_EXCHANGE_PARAM_KDF_TYPE, NULL, 0),
 OSSL_PARAM_utf8_string(OSSL_EXCHANGE_PARAM_KDF_DIGEST, NULL, 0),
 OSSL_PARAM_size_t(OSSL_EXCHANGE_PARAM_KDF_OUTLEN, NULL),
 OSSL_PARAM_DEFN(OSSL_EXCHANGE_PARAM_KDF_UKM, OSSL_PARAM_OCTET_PTR,
 NULL, 0),
+OSSL_PARAM_utf8_string(OSSL_KDF_PARAM_CEK_ALG, NULL, 0),
 OSSL_PARAM_END
 };
 


Coverity Scan: Analysis completed for openssl-mirror

2022-01-18 Thread scan-admin


Your request for analysis of openssl-mirror has been completed successfully.
The results are available at 
https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50yoN-2BQSVjTtaSz8wS4wOr7HlyiBnvCURZ-2FU92UvyipM66g-3D-3DX8J4_MulOTlHne1IxTRELXXnGni8d68xSVF-2BUCe3a7Ux-2BjeH-2Bt0yymF0fWI6yQ0A45kH8cby6zUmh1TTk6uHmGxzqoFhMVvYw8rxZCrGCb8kfrCEYb9-2BuojTTmDY1Rr2XlZaNjF9bdox7w5ebexqmHQm-2BKcDQG6vjKoV470ttvizYTWjgMO5OSkDPZdwpJ6KB65ZKs6mAbD-2FzwxLR32zZsec693gmjVhHk4Jg73rUn13RhQI-3D

Build ID: 431208

Analysis Summary:
   New defects found: 0
   Defects eliminated: 0