Compare commits

...

3 Commits

Author SHA1 Message Date
zl523856 a4e0c31a7e
Merge 5557a1c5f0 into b8c46cba5f 2025-07-31 20:11:48 +08:00
Tomas Mraz b8c46cba5f CMS KEMRecipientInfo support requires HKDF with fixed digests
OS Zoo CI / linux-ppc64le (push) Has been cancelled Details
OS Zoo CI / linux-s390x (push) Has been cancelled Details
OS Zoo CI / linux-riscv64 (push) Has been cancelled Details
OS Zoo CI / freebsd-x86_64 (push) Has been cancelled Details
Provider compatibility across versions / fips-releases (map[dir:openssl-3.0.0 tgz:openssl-3.0.0.tar.gz url:https://www.openssl.org/source/old/3.0/openssl-3.0.0.tar.gz]) (push) Has been cancelled Details
Provider compatibility across versions / fips-releases (map[dir:openssl-3.0.8 tgz:openssl-3.0.8.tar.gz url:https://www.openssl.org/source/openssl-3.0.8.tar.gz]) (push) Has been cancelled Details
Provider compatibility across versions / fips-releases (map[dir:openssl-3.0.9 tgz:openssl-3.0.9.tar.gz url:https://www.openssl.org/source/openssl-3.0.9.tar.gz]) (push) Has been cancelled Details
Provider compatibility across versions / fips-releases (map[dir:openssl-3.1.2 tgz:openssl-3.1.2.tar.gz url:https://www.openssl.org/source/openssl-3.1.2.tar.gz]) (push) Has been cancelled Details
Provider compatibility across versions / development-branches (map[dir:branch-3.0 extra_config: name:openssl-3.0 tgz:branch-3.0.tar.gz]) (push) Has been cancelled Details
Provider compatibility across versions / development-branches (map[dir:branch-3.2 extra_config: name:openssl-3.2 tgz:branch-3.2.tar.gz]) (push) Has been cancelled Details
Provider compatibility across versions / development-branches (map[dir:branch-3.3 extra_config: name:openssl-3.3 tgz:branch-3.3.tar.gz]) (push) Has been cancelled Details
Provider compatibility across versions / development-branches (map[dir:branch-3.4 extra_config: name:openssl-3.4 tgz:branch-3.4.tar.gz]) (push) Has been cancelled Details
Provider compatibility across versions / development-branches (map[dir:branch-3.5 extra_config: name:openssl-3.5 tgz:branch-3.5.tar.gz]) (push) Has been cancelled Details
Provider compatibility across versions / development-branches (map[dir:branch-master extra_config:enable-lms name:master tgz:branch-master.tar.gz]) (push) Has been cancelled Details
Static Analysis / coverity (push) Has been cancelled Details
Static Analysis On Prem / coverity-analysis (push) Has been cancelled Details
Run-checker daily / run-checker (-DOPENSSL_NO_BUILTIN_OVERFLOW_CHECKING) (push) Has been cancelled Details
Run-checker daily / run-checker (-DOPENSSL_PEDANTIC_ZEROIZATION enable-fips) (push) Has been cancelled Details
Run-checker daily / run-checker (-DOPENSSL_PEDANTIC_ZEROIZATION) (push) Has been cancelled Details
Run-checker daily / run-checker (-DOPENSSL_TLS_SECURITY_LEVEL=0) (push) Has been cancelled Details
Run-checker daily / run-checker (-DSSL3_ALIGN_PAYLOAD=4) (push) Has been cancelled Details
Run-checker daily / run-checker (386) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-crypto-mdebug) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-crypto-mdebug-backtrace) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-demos) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-ec_nistp_64_gcc_128) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-egd) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-fips enable-acvp-tests) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-fips no-des no-dsa no-ec2m) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-fips no-tls1_3) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-fips) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-h3demo) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-heartbeats) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-hqinterop) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-lms) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-md2) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-rc5) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-ssl3) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-ssl3-method) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-sslkeylog) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-tfo) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-trace) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-unit-test) (push) Has been cancelled Details
Run-checker daily / run-checker (enable-zlib-dynamic) (push) Has been cancelled Details
Run-checker daily / run-checker (no-afalgeng) (push) Has been cancelled Details
Run-checker daily / run-checker (no-apps) (push) Has been cancelled Details
Run-checker daily / run-checker (no-aria) (push) Has been cancelled Details
Run-checker daily / run-checker (no-asan) (push) Has been cancelled Details
Run-checker daily / run-checker (no-asm) (push) Has been cancelled Details
Run-checker daily / run-checker (no-async) (push) Has been cancelled Details
Run-checker daily / run-checker (no-atexit) (push) Has been cancelled Details
Run-checker daily / run-checker (no-autoalginit) (push) Has been cancelled Details
Run-checker daily / run-checker (no-autoerrinit) (push) Has been cancelled Details
Run-checker daily / run-checker (no-autoload-config) (push) Has been cancelled Details
Run-checker daily / run-checker (no-bf) (push) Has been cancelled Details
Run-checker daily / run-checker (no-blake2) (push) Has been cancelled Details
Run-checker daily / run-checker (no-buildtest-c++) (push) Has been cancelled Details
Run-checker daily / run-checker (no-bulk) (push) Has been cancelled Details
Run-checker daily / run-checker (no-cached-fetch) (push) Has been cancelled Details
Run-checker daily / run-checker (no-camellia) (push) Has been cancelled Details
Run-checker daily / run-checker (no-capieng) (push) Has been cancelled Details
Run-checker daily / run-checker (no-cast) (push) Has been cancelled Details
Run-checker daily / run-checker (no-chacha) (push) Has been cancelled Details
Run-checker daily / run-checker (no-cmac) (push) Has been cancelled Details
Run-checker daily / run-checker (no-comp) (push) Has been cancelled Details
Run-checker daily / run-checker (no-ct) (push) Has been cancelled Details
Run-checker daily / run-checker (no-deprecated) (push) Has been cancelled Details
Run-checker daily / run-checker (no-des) (push) Has been cancelled Details
Run-checker daily / run-checker (no-docs) (push) Has been cancelled Details
Run-checker daily / run-checker (no-dsa) (push) Has been cancelled Details
Run-checker daily / run-checker (no-dtls1) (push) Has been cancelled Details
Run-checker daily / run-checker (no-dtls1-method) (push) Has been cancelled Details
Run-checker daily / run-checker (no-dtls1_2) (push) Has been cancelled Details
Run-checker daily / run-checker (no-dtls1_2-method) (push) Has been cancelled Details
Run-checker daily / run-checker (no-ecdh) (push) Has been cancelled Details
Run-checker daily / run-checker (no-ecdsa) (push) Has been cancelled Details
Run-checker daily / run-checker (no-engine) (push) Has been cancelled Details
Run-checker daily / run-checker (no-gost) (push) Has been cancelled Details
Run-checker daily / run-checker (no-hw) (push) Has been cancelled Details
Run-checker daily / run-checker (no-hw-padlock) (push) Has been cancelled Details
Run-checker daily / run-checker (no-idea) (push) Has been cancelled Details
Run-checker daily / run-checker (no-makedepend) (push) Has been cancelled Details
Run-checker daily / run-checker (no-md4) (push) Has been cancelled Details
Run-checker daily / run-checker (no-mdc2) (push) Has been cancelled Details
Run-checker daily / run-checker (no-msan) (push) Has been cancelled Details
Run-checker daily / run-checker (no-multiblock) (push) Has been cancelled Details
Run-checker daily / run-checker (no-nextprotoneg) (push) Has been cancelled Details
Run-checker daily / run-checker (no-ocb) (push) Has been cancelled Details
Run-checker daily / run-checker (no-padlockeng) (push) Has been cancelled Details
Run-checker daily / run-checker (no-pic) (push) Has been cancelled Details
Run-checker daily / run-checker (no-poly1305) (push) Has been cancelled Details
Run-checker daily / run-checker (no-posix-io) (push) Has been cancelled Details
Run-checker daily / run-checker (no-psk) (push) Has been cancelled Details
Run-checker daily / run-checker (no-rc2) (push) Has been cancelled Details
Run-checker daily / run-checker (no-rdrand) (push) Has been cancelled Details
Run-checker daily / run-checker (no-rfc3779) (push) Has been cancelled Details
Run-checker daily / run-checker (no-ripemd) (push) Has been cancelled Details
Run-checker daily / run-checker (no-rmd160) (push) Has been cancelled Details
Run-checker daily / run-checker (no-scrypt) (push) Has been cancelled Details
Run-checker daily / run-checker (no-secure-memory) (push) Has been cancelled Details
Run-checker daily / run-checker (no-seed) (push) Has been cancelled Details
Run-checker daily / run-checker (no-shared) (push) Has been cancelled Details
Run-checker daily / run-checker (no-siphash) (push) Has been cancelled Details
Run-checker daily / run-checker (no-siv) (push) Has been cancelled Details
Run-checker daily / run-checker (no-sm2-precomp) (push) Has been cancelled Details
Run-checker daily / run-checker (no-sm3) (push) Has been cancelled Details
Run-checker daily / run-checker (no-sm4) (push) Has been cancelled Details
Run-checker daily / run-checker (no-sock) (push) Has been cancelled Details
Run-checker daily / run-checker (no-sse2) (push) Has been cancelled Details
Run-checker daily / run-checker (no-ssl) (push) Has been cancelled Details
Run-checker daily / run-checker (no-ssl-trace) (push) Has been cancelled Details
Run-checker daily / run-checker (no-static-engine no-shared) (push) Has been cancelled Details
Run-checker daily / run-checker (no-tests) (push) Has been cancelled Details
Run-checker daily / run-checker (no-tls1) (push) Has been cancelled Details
Run-checker daily / run-checker (no-tls1-method) (push) Has been cancelled Details
Run-checker daily / run-checker (no-tls1_1) (push) Has been cancelled Details
Run-checker daily / run-checker (no-tls1_1-method) (push) Has been cancelled Details
Run-checker daily / run-checker (no-tls1_2-method) (push) Has been cancelled Details
Run-checker daily / run-checker (no-ubsan) (push) Has been cancelled Details
Run-checker daily / run-checker (no-ui-console) (push) Has been cancelled Details
Run-checker daily / run-checker (no-uplink) (push) Has been cancelled Details
Run-checker daily / run-checker (no-weak-ssl-ciphers) (push) Has been cancelled Details
Run-checker daily / run-checker (no-whirlpool) (push) Has been cancelled Details
Run-checker daily / run-checker-sctp (push) Has been cancelled Details
Run-checker daily / enable_brotli_dynamic (push) Has been cancelled Details
Run-checker daily / enable_zstd_dynamic (push) Has been cancelled Details
Run-checker daily / enable_brotli_and_zstd_dynamic (push) Has been cancelled Details
Run-checker daily / enable_brotli_and_asan_ubsan (push) Has been cancelled Details
Run-checker daily / enable_zstd_and_asan_ubsan (push) Has been cancelled Details
Run-checker daily / enable_tfo (macos-13) (push) Has been cancelled Details
Run-checker daily / enable_tfo (macos-14) (push) Has been cancelled Details
Run-checker daily / enable_tfo (ubuntu-latest) (push) Has been cancelled Details
Run-checker daily / enable_buildtest (push) Has been cancelled Details
Run-checker daily / memory_sanitizer_slh_dsa (push) Has been cancelled Details
Build openssl interop containers / update_quay_container (push) Has been cancelled Details
Build openssl interop containers / update_msquic_quay_container (push) Has been cancelled Details
OS Zoo CI / alpine (clang, edge) (push) Has been cancelled Details
OS Zoo CI / alpine (clang, latest) (push) Has been cancelled Details
Interoperability tests with GnuTLS and NSS / test (gnutls) (push) Has been cancelled Details
Interoperability tests with GnuTLS and NSS / test (nss) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.0, branch-3.0) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.0, branch-3.2) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.0, branch-3.3) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.0, branch-3.4) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.0, branch-3.5) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.0, branch-master) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.2, branch-3.0) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.2, branch-3.2) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.2, branch-3.3) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.2, branch-3.4) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.2, branch-3.5) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.2, branch-master) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.3, branch-3.0) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.3, branch-3.2) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.3, branch-3.3) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.3, branch-3.4) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.3, branch-3.5) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.3, branch-master) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.4, branch-3.0) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.4, branch-3.2) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.4, branch-3.3) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.4, branch-3.4) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.4, branch-3.5) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.4, branch-master) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.5, branch-3.0) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.5, branch-3.2) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.5, branch-3.3) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.5, branch-3.4) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.5, branch-3.5) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-3.5, branch-master) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-master, branch-3.0) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-master, branch-3.2) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-master, branch-3.3) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-master, branch-3.4) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-master, branch-3.5) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (branch-master, branch-master) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.0.0, branch-3.0) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.0.0, branch-3.2) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.0.0, branch-3.3) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.0.0, branch-3.4) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.0.0, branch-3.5) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.0.0, branch-master) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.0.8, branch-3.0) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.0.8, branch-3.2) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.0.8, branch-3.3) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.0.8, branch-3.4) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.0.8, branch-3.5) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.0.8, branch-master) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.0.9, branch-3.0) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.0.9, branch-3.2) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.0.9, branch-3.3) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.0.9, branch-3.4) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.0.9, branch-3.5) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.0.9, branch-master) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.1.2, branch-3.0) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.1.2, branch-3.2) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.1.2, branch-3.3) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.1.2, branch-3.4) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.1.2, branch-3.5) (push) Has been cancelled Details
Provider compatibility across versions / cross-testing (openssl-3.1.2, branch-master) (push) Has been cancelled Details
These are not present in FIPS providers <3.6.0.

Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Nicola Tuveri <nic.tuv@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/28133)
2025-07-31 11:54:28 +02:00
zl523856 5557a1c5f0 [RISC-V] Further optimization for AES-128-CBC decryption performance [skip ci] 2025-07-16 15:32:14 +08:00
2 changed files with 141 additions and 1 deletions

View File

@ -210,6 +210,88 @@ ___
return $code;
}
# aes-128 decryption with round keys v1-v11
sub aes_128_decrypt_6 {
my $code=<<___;
@{[vaesz_vs $V24, $V11]} # with round key w[40,43]
@{[vaesz_vs $V25, $V11]} # with round key w[40,43]
@{[vaesz_vs $V26, $V11]} # with round key w[40,43]
@{[vaesz_vs $V27, $V11]} # with round key w[40,43]
@{[vaesz_vs $V28, $V11]} # with round key w[40,43]
@{[vaesz_vs $V29, $V11]} # with round key w[40,43]
@{[vaesdm_vs $V24, $V10]} # with round key w[36,39]
@{[vaesdm_vs $V25, $V10]} # with round key w[36,39]
@{[vaesdm_vs $V26, $V10]} # with round key w[36,39]
@{[vaesdm_vs $V27, $V10]} # with round key w[36,39]
@{[vaesdm_vs $V28, $V10]} # with round key w[36,39]
@{[vaesdm_vs $V29, $V10]} # with round key w[36,39]
@{[vaesdm_vs $V24, $V9]} # with round key w[32,35]
@{[vaesdm_vs $V25, $V9]} # with round key w[32,35]
@{[vaesdm_vs $V26, $V9]} # with round key w[32,35]
@{[vaesdm_vs $V27, $V9]} # with round key w[32,35]
@{[vaesdm_vs $V28, $V9]} # with round key w[32,35]
@{[vaesdm_vs $V29, $V9]} # with round key w[32,35]
@{[vaesdm_vs $V24, $V8]} # with round key w[28,31]
@{[vaesdm_vs $V25, $V8]} # with round key w[28,31]
@{[vaesdm_vs $V26, $V8]} # with round key w[28,31]
@{[vaesdm_vs $V27, $V8]} # with round key w[28,31]
@{[vaesdm_vs $V28, $V8]} # with round key w[28,31]
@{[vaesdm_vs $V29, $V8]} # with round key w[28,31]
@{[vaesdm_vs $V24, $V7]} # with round key w[24,27]
@{[vaesdm_vs $V25, $V7]} # with round key w[24,27]
@{[vaesdm_vs $V26, $V7]} # with round key w[24,27]
@{[vaesdm_vs $V27, $V7]} # with round key w[24,27]
@{[vaesdm_vs $V28, $V7]} # with round key w[24,27]
@{[vaesdm_vs $V29, $V7]} # with round key w[24,27]
@{[vaesdm_vs $V24, $V6]} # with round key w[20,23]
@{[vaesdm_vs $V25, $V6]} # with round key w[20,23]
@{[vaesdm_vs $V26, $V6]} # with round key w[20,23]
@{[vaesdm_vs $V27, $V6]} # with round key w[20,23]
@{[vaesdm_vs $V28, $V6]} # with round key w[20,23]
@{[vaesdm_vs $V29, $V6]} # with round key w[20,23]
@{[vaesdm_vs $V24, $V5]} # with round key w[16,19]
@{[vaesdm_vs $V25, $V5]} # with round key w[16,19]
@{[vaesdm_vs $V26, $V5]} # with round key w[16,19]
@{[vaesdm_vs $V27, $V5]} # with round key w[16,19]
@{[vaesdm_vs $V28, $V5]} # with round key w[16,19]
@{[vaesdm_vs $V29, $V5]} # with round key w[16,19]
@{[vaesdm_vs $V24, $V4]} # with round key w[12,15]
@{[vaesdm_vs $V25, $V4]} # with round key w[12,15]
@{[vaesdm_vs $V26, $V4]} # with round key w[12,15]
@{[vaesdm_vs $V27, $V4]} # with round key w[12,15]
@{[vaesdm_vs $V28, $V4]} # with round key w[12,15]
@{[vaesdm_vs $V29, $V4]} # with round key w[12,15]
@{[vaesdm_vs $V24, $V3]} # with round key w[ 8,11]
@{[vaesdm_vs $V25, $V3]} # with round key w[ 8,11]
@{[vaesdm_vs $V26, $V3]} # with round key w[ 8,11]
@{[vaesdm_vs $V27, $V3]} # with round key w[ 8,11]
@{[vaesdm_vs $V28, $V3]} # with round key w[ 8,11]
@{[vaesdm_vs $V29, $V3]} # with round key w[ 8,11]
@{[vaesdm_vs $V24, $V2]} # with round key w[ 4, 7]
@{[vaesdm_vs $V25, $V2]} # with round key w[ 4, 7]
@{[vaesdm_vs $V26, $V2]} # with round key w[ 4, 7]
@{[vaesdm_vs $V27, $V2]} # with round key w[ 4, 7]
@{[vaesdm_vs $V28, $V2]} # with round key w[ 4, 7]
@{[vaesdm_vs $V29, $V2]} # with round key w[ 4, 7]
@{[vaesdf_vs $V24, $V1]} # with round key w[ 0, 3]
@{[vaesdf_vs $V25, $V1]} # with round key w[ 0, 3]
@{[vaesdf_vs $V26, $V1]} # with round key w[ 0, 3]
@{[vaesdf_vs $V27, $V1]} # with round key w[ 0, 3]
@{[vaesdf_vs $V28, $V1]} # with round key w[ 0, 3]
@{[vaesdf_vs $V29, $V1]} # with round key w[ 0, 3]
___
return $code;
}
# aes-192 encryption with round keys v1-v13
sub aes_192_encrypt {
my $code=<<___;
@ -481,6 +563,61 @@ L_cbc_dec_128:
# Load IV.
@{[vle32_v $V16, $IVP]}
li $T1, 96
3:
blt $LEN, $T1, L_small
@{[vle32_v $V24, $INP]}
addi $INP, $INP, 16
@{[vle32_v $V25, $INP]}
addi $INP, $INP, 16
@{[vle32_v $V26, $INP]}
addi $INP, $INP, 16
@{[vle32_v $V27, $INP]}
addi $INP, $INP, 16
@{[vle32_v $V28, $INP]}
addi $INP, $INP, 16
@{[vle32_v $V29, $INP]}
addi $INP, $INP, 16
@{[vmv_v_v $V17, $V24]}
@{[vmv_v_v $V18, $V25]}
@{[vmv_v_v $V19, $V26]}
@{[vmv_v_v $V20, $V27]}
@{[vmv_v_v $V21, $V28]}
@{[vmv_v_v $V22, $V29]}
@{[aes_128_decrypt_6]}
@{[vxor_vv $V24, $V24, $V16]}
@{[vxor_vv $V25, $V25, $V17]}
@{[vxor_vv $V26, $V26, $V18]}
@{[vxor_vv $V27, $V27, $V19]}
@{[vxor_vv $V28, $V28, $V20]}
@{[vxor_vv $V29, $V29, $V21]}
@{[vse32_v $V24, $OUTP]}
addi $OUTP, $OUTP, 16
@{[vse32_v $V25, $OUTP]}
addi $OUTP, $OUTP, 16
@{[vse32_v $V26, $OUTP]}
addi $OUTP, $OUTP, 16
@{[vse32_v $V27, $OUTP]}
addi $OUTP, $OUTP, 16
@{[vse32_v $V28, $OUTP]}
addi $OUTP, $OUTP, 16
@{[vse32_v $V29, $OUTP]}
addi $OUTP, $OUTP, 16
@{[vmv_v_v $V16, $V22]}
addi $LEN, $LEN, -96
bnez $LEN, 3b
@{[vse32_v $V16, $IVP]}
ret
L_small:
@{[vle32_v $V24, $INP]}
@{[vmv_v_v $V17, $V24]}
j 2f

View File

@ -43,6 +43,7 @@ my @config = ( );
my $provname = 'default';
my $dsaallow = '1';
my $no_pqc = 0;
my $no_hkdf_fixed = 0;
my $datadir = srctop_dir("test", "recipes", "80-test_cms_data");
my $smdir = srctop_dir("test", "smime-certs");
@ -68,6 +69,8 @@ unless ($no_fips) {
$old_fips = 1 if $dsaallow != '0';
run(test(["fips_version_test", "-config", $provconf, "<3.5.0"]),
capture => 1, statusvar => \$no_pqc);
run(test(["fips_version_test", "-config", $provconf, "<3.6.0"]),
capture => 1, statusvar => \$no_hkdf_fixed);
}
$ENV{OPENSSL_TEST_LIBCTX} = "1";
@ -1534,7 +1537,7 @@ subtest "ML-KEM KEMRecipientInfo tests for CMS" => sub {
SKIP: {
skip "ML-KEM is not supported in this build", 5
if disabled("ml-kem") || $no_pqc;
if disabled("ml-kem") || $no_hkdf_fixed;
ok(run(app(["openssl", "cms", @prov, "-encrypt", "-in", $smcont,
"-out", "mlkem512.cms",