Oopenvela-robotexternal/optee_os: Fix sim build optee_os error
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Squashed commit upgrading to libtomcrypt-1.18.2-develop-20180819 Squash merging branch import/libtomcrypt-1.18.2-develop-20180819 5ecac6e9227c ("core: ltc: adapt to new version of LibTomCrypt") 54d7f2f10c33 ("core: ltc: aes_modes_armv8a_ce_a64.S: get rid of literal load of addend vector") 68b1adf4c3db ("core: ltc: aes_modes_armv8a_ce_a64.S: fix incorrect assembly syntax") b73cfbef058f ("core: ltc: make key in accel_ecb_encrypt() and accel_ecb_decrypt() const") 7160452f6698 ("core: ltc: fix 'switch case misses default'") 05313fd03df1 ("core: ltc: move AES CE files under aes/") 00ed54001f7d ("core: ltc: add custom DH key generation function dh_make_key()") 279e09ee4c7c ("core: ltc: tomcrypt_custom.h: OP-TEE thread support") e61adb1a2203 ("core: crypto: libtomcrypt: fix LTC_CLEAN_STACK bug") 5c75c2d02f13 ("core: LTC use only _CFG_CORE_LTC_ variables") 5decfe20864a ("core: crypto: arm64 ce: update AES CBC routines") c54b6344cc4e ("core: crypto: cleanup and fix CE accelerated AES CTR") 3f4d78d04eef ("core: crypto: arm32: add counter increment in ce_aes_ctr_encrypt()") a85a4f88e39d ("Remove 'All rights reserved' from Linaro files") 14ec45d62762 ("Remove license notice from Linaro files") 084691667db2 ("Add SPDX license identifiers") 48de810896b8 ("LTC: add GHASH acceleration") 9f4ecf2ea898 ("arm32: AES using ARMv8-A cryptographic extensions") a360627e4130 ("arm64: libtomcrypt: rename AES CE files") 48dab9f6464b ("arm64: libtomcrypt: move inline assembly to .S file") 7479ed2a4be9 ("ltc: bugfix find_prng()") 271db0fe9309 ("ltc: make cipher_descriptor a pointer to descriptors") cbf6e51b6086 ("ltc: make hash_descriptor a pointer to descriptors") 6982b2b65910 ("ltc: make prng_descriptor a pointer to descriptors") 034ed64a6bb2 ("arm: Fix SHA-1 with cryptographic extensions") 468fcca20d8b ("arm64: SHA-224/SHA-256 using ARMv8-A cryptographic extensions") a55567f8611c ("arm: update SHA-256 32-bit CE implementation to process multiple blocks") ee62ece8ecf4 ("arm: update SHA-1 32-bit CE implementation to process multiple blocks") 4287faa43c7c ("arm64: SHA-1 using ARMv8-A cryptographic extensions") 0c6c51d33f05 ("ECC: optimize the pool of temporary variables") f79f07210b95 ("arm64: AES XTS using ARMv8-A cryptographic extensions") dc3e64eee4af ("arm64: AES using ARMv8-A cryptographic extensions") fcad408195d8 ("SHA-1 ARMv8 crypto extension implementation") e9fa8daa66ed ("SHA-256 ARMv8 crypto extension implementation") 36c11ddb0f2f ("Import LibTomCrypt v1.18.2 branch "develop" (Aug 19, 2019)") 01c7a0fe164c ("Remove LibTomCrypt") Signed-off-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> | 6 年前 | |
external/optee_os: Fix sim build optee_os error Fix error: optee_os/core/lib/libtomcrypt/src/modes/ctr/ctr_encrypt.c:56:15: error: ‘x’ undeclared (first use in this function) Signed-off-by: yanghuatao <yanghuatao@xiaomi.com> | 3 个月前 | |
core: libtomcrypt: Fix compilation issue with CFG_CRYPTO_ECC=n Disabling ECC crypto does not disable the libtomcrypt ECC related declarations, so CFG_CRYPTO_ECC=n gives a compilation error. Signed-off-by: Sohaib ul Hassan <sohaib.ul.hassan@unikie.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> | 4 年前 | |
core: ltc: use AES crypto accelerated routines Uses the recently provided accelerated AES crypto routines in LTC. Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> | 6 年前 | |
core: ltc: use AES crypto accelerated routines Uses the recently provided accelerated AES crypto routines in LTC. Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> | 6 年前 | |
Squashed commit upgrading to libtomcrypt-1.18.2-develop-20180819 Squash merging branch import/libtomcrypt-1.18.2-develop-20180819 5ecac6e9227c ("core: ltc: adapt to new version of LibTomCrypt") 54d7f2f10c33 ("core: ltc: aes_modes_armv8a_ce_a64.S: get rid of literal load of addend vector") 68b1adf4c3db ("core: ltc: aes_modes_armv8a_ce_a64.S: fix incorrect assembly syntax") b73cfbef058f ("core: ltc: make key in accel_ecb_encrypt() and accel_ecb_decrypt() const") 7160452f6698 ("core: ltc: fix 'switch case misses default'") 05313fd03df1 ("core: ltc: move AES CE files under aes/") 00ed54001f7d ("core: ltc: add custom DH key generation function dh_make_key()") 279e09ee4c7c ("core: ltc: tomcrypt_custom.h: OP-TEE thread support") e61adb1a2203 ("core: crypto: libtomcrypt: fix LTC_CLEAN_STACK bug") 5c75c2d02f13 ("core: LTC use only _CFG_CORE_LTC_ variables") 5decfe20864a ("core: crypto: arm64 ce: update AES CBC routines") c54b6344cc4e ("core: crypto: cleanup and fix CE accelerated AES CTR") 3f4d78d04eef ("core: crypto: arm32: add counter increment in ce_aes_ctr_encrypt()") a85a4f88e39d ("Remove 'All rights reserved' from Linaro files") 14ec45d62762 ("Remove license notice from Linaro files") 084691667db2 ("Add SPDX license identifiers") 48de810896b8 ("LTC: add GHASH acceleration") 9f4ecf2ea898 ("arm32: AES using ARMv8-A cryptographic extensions") a360627e4130 ("arm64: libtomcrypt: rename AES CE files") 48dab9f6464b ("arm64: libtomcrypt: move inline assembly to .S file") 7479ed2a4be9 ("ltc: bugfix find_prng()") 271db0fe9309 ("ltc: make cipher_descriptor a pointer to descriptors") cbf6e51b6086 ("ltc: make hash_descriptor a pointer to descriptors") 6982b2b65910 ("ltc: make prng_descriptor a pointer to descriptors") 034ed64a6bb2 ("arm: Fix SHA-1 with cryptographic extensions") 468fcca20d8b ("arm64: SHA-224/SHA-256 using ARMv8-A cryptographic extensions") a55567f8611c ("arm: update SHA-256 32-bit CE implementation to process multiple blocks") ee62ece8ecf4 ("arm: update SHA-1 32-bit CE implementation to process multiple blocks") 4287faa43c7c ("arm64: SHA-1 using ARMv8-A cryptographic extensions") 0c6c51d33f05 ("ECC: optimize the pool of temporary variables") f79f07210b95 ("arm64: AES XTS using ARMv8-A cryptographic extensions") dc3e64eee4af ("arm64: AES using ARMv8-A cryptographic extensions") fcad408195d8 ("SHA-1 ARMv8 crypto extension implementation") e9fa8daa66ed ("SHA-256 ARMv8 crypto extension implementation") 36c11ddb0f2f ("Import LibTomCrypt v1.18.2 branch "develop" (Aug 19, 2019)") 01c7a0fe164c ("Remove LibTomCrypt") Signed-off-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> | 6 年前 | |
core: add overflow checks in crypto_aes_ccm_init() aad_len and payload_len are of the type size_t which has a greater range than int which is used for the corresponding arguments when passed to ccm_init(). So to guard against wrapped or truncated values check that the variables can be in a int first before calling ccm_init(). Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> | 3 年前 | |
core: libtomcrypt: add 3DES CMAC implementation Add 3DES CMAC (NIST SP800-38B). Signed-off-by: Alexander Zakharov <uglym8@gmail.com> Reviewed-by: Jerome Forissier <jerome@forissier.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> [jf: add commit description] Signed-off-by: Jerome Forissier <jerome@forissier.org> | 5 年前 | |
Squashed commit upgrading to libtomcrypt-1.18.2-develop-20180819 Squash merging branch import/libtomcrypt-1.18.2-develop-20180819 5ecac6e9227c ("core: ltc: adapt to new version of LibTomCrypt") 54d7f2f10c33 ("core: ltc: aes_modes_armv8a_ce_a64.S: get rid of literal load of addend vector") 68b1adf4c3db ("core: ltc: aes_modes_armv8a_ce_a64.S: fix incorrect assembly syntax") b73cfbef058f ("core: ltc: make key in accel_ecb_encrypt() and accel_ecb_decrypt() const") 7160452f6698 ("core: ltc: fix 'switch case misses default'") 05313fd03df1 ("core: ltc: move AES CE files under aes/") 00ed54001f7d ("core: ltc: add custom DH key generation function dh_make_key()") 279e09ee4c7c ("core: ltc: tomcrypt_custom.h: OP-TEE thread support") e61adb1a2203 ("core: crypto: libtomcrypt: fix LTC_CLEAN_STACK bug") 5c75c2d02f13 ("core: LTC use only _CFG_CORE_LTC_ variables") 5decfe20864a ("core: crypto: arm64 ce: update AES CBC routines") c54b6344cc4e ("core: crypto: cleanup and fix CE accelerated AES CTR") 3f4d78d04eef ("core: crypto: arm32: add counter increment in ce_aes_ctr_encrypt()") a85a4f88e39d ("Remove 'All rights reserved' from Linaro files") 14ec45d62762 ("Remove license notice from Linaro files") 084691667db2 ("Add SPDX license identifiers") 48de810896b8 ("LTC: add GHASH acceleration") 9f4ecf2ea898 ("arm32: AES using ARMv8-A cryptographic extensions") a360627e4130 ("arm64: libtomcrypt: rename AES CE files") 48dab9f6464b ("arm64: libtomcrypt: move inline assembly to .S file") 7479ed2a4be9 ("ltc: bugfix find_prng()") 271db0fe9309 ("ltc: make cipher_descriptor a pointer to descriptors") cbf6e51b6086 ("ltc: make hash_descriptor a pointer to descriptors") 6982b2b65910 ("ltc: make prng_descriptor a pointer to descriptors") 034ed64a6bb2 ("arm: Fix SHA-1 with cryptographic extensions") 468fcca20d8b ("arm64: SHA-224/SHA-256 using ARMv8-A cryptographic extensions") a55567f8611c ("arm: update SHA-256 32-bit CE implementation to process multiple blocks") ee62ece8ecf4 ("arm: update SHA-1 32-bit CE implementation to process multiple blocks") 4287faa43c7c ("arm64: SHA-1 using ARMv8-A cryptographic extensions") 0c6c51d33f05 ("ECC: optimize the pool of temporary variables") f79f07210b95 ("arm64: AES XTS using ARMv8-A cryptographic extensions") dc3e64eee4af ("arm64: AES using ARMv8-A cryptographic extensions") fcad408195d8 ("SHA-1 ARMv8 crypto extension implementation") e9fa8daa66ed ("SHA-256 ARMv8 crypto extension implementation") 36c11ddb0f2f ("Import LibTomCrypt v1.18.2 branch "develop" (Aug 19, 2019)") 01c7a0fe164c ("Remove LibTomCrypt") Signed-off-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> | 6 年前 | |
core: crypto: introduce struct crypto_cipher_ops Uses struct crypto_cipher_ops pointer in crypto context for ciphers as a glue layer instead of a switch(algo) in each crypto_cipher_*() function. Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> | 7 年前 | |
core: crypto: DH: make sure key_size is consistent with attributes TEE_GenerateKey() takes a key_size argument and various attributes. For Diffie-Hellman, if the size of the prime number (TEE_ATTR_DH_PRIME) is not key_size, we should return TEE_ERROR_BAD_PARAMETERS as per the GP TEE Internal Core API specification v1.2.1: "If an incorrect or inconsistent attribute is detected. The checks that are performed depend on the implementation.". Signed-off-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> | 6 年前 | |
Squashed commit upgrading to libtomcrypt-1.18.2-develop-20220913 Squash merging branch import/libtomcrypt-1.18.2-develop-20220913 cedf001cc024 ("ci: rust: apply upstream patch to fix failure in authentication-rs") 1c8f27245e4f ("core: ltc: fix .qord value in DSA sign and verify") 87431ada69ed ("libtomcrypt: define LTC_MPI at the same time as LTC_DER") 7d8cdbb85a57 ("core: ltc: add missing <string_ext.h>") fa3ac5998cc7 ("core: ltc: import sub.mk files from master and update") 35f56bc9f8c4 ("core: libtomcrypt: Remove prng_state* NULL pointer check from x25519_make_key()") 85140c1f9be4 ("core: ltc: fix missing mutex unlock") 02f519845bbe ("core: ltc: add SM2 curve parameters") 757ab2c4462d ("core: ltc: make key in accel_ecb_encrypt() and accel_ecb_decrypt() const") 15c897fbe000 ("core: ltc: fix 'switch case misses default'") 6276df75362f ("core: ltc: add custom DH key generation function dh_make_key()") 1da50b460270 ("core: ltc: tomcrypt_custom.h: OP-TEE thread support") 6f78a99a6e8c ("libtomcrypt: implement zeromem() with memzero_explicit()") 90eaafe0f10f ("core: LTC use only _CFG_CORE_LTC_ variables") fbd6fb746576 ("LTC: add GHASH acceleration") e3ff5f701223 ("ltc: make cipher_descriptor a pointer to descriptors") fbe13c05804d ("ltc: make hash_descriptor a pointer to descriptors") 6c193f5e561a ("ltc: make prng_descriptor a pointer to descriptors") 9f40d2838fa3 ("libtomcrypt: tomcrypt_private.h: add HASH_PROCESS_NBLOCKS") 4f6b32962d15 ("ECC: optimize the pool of temporary variables") 955eced29a6f ("Import LibTomCrypt v1.18.2 branch "develop" (Sep 13, 2022)") 3717d76418c8 ("Remove LibTomCrypt") Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> | 3 年前 | |
Squashed commit upgrading to libtomcrypt-1.18.2-develop-20180819 Squash merging branch import/libtomcrypt-1.18.2-develop-20180819 5ecac6e9227c ("core: ltc: adapt to new version of LibTomCrypt") 54d7f2f10c33 ("core: ltc: aes_modes_armv8a_ce_a64.S: get rid of literal load of addend vector") 68b1adf4c3db ("core: ltc: aes_modes_armv8a_ce_a64.S: fix incorrect assembly syntax") b73cfbef058f ("core: ltc: make key in accel_ecb_encrypt() and accel_ecb_decrypt() const") 7160452f6698 ("core: ltc: fix 'switch case misses default'") 05313fd03df1 ("core: ltc: move AES CE files under aes/") 00ed54001f7d ("core: ltc: add custom DH key generation function dh_make_key()") 279e09ee4c7c ("core: ltc: tomcrypt_custom.h: OP-TEE thread support") e61adb1a2203 ("core: crypto: libtomcrypt: fix LTC_CLEAN_STACK bug") 5c75c2d02f13 ("core: LTC use only _CFG_CORE_LTC_ variables") 5decfe20864a ("core: crypto: arm64 ce: update AES CBC routines") c54b6344cc4e ("core: crypto: cleanup and fix CE accelerated AES CTR") 3f4d78d04eef ("core: crypto: arm32: add counter increment in ce_aes_ctr_encrypt()") a85a4f88e39d ("Remove 'All rights reserved' from Linaro files") 14ec45d62762 ("Remove license notice from Linaro files") 084691667db2 ("Add SPDX license identifiers") 48de810896b8 ("LTC: add GHASH acceleration") 9f4ecf2ea898 ("arm32: AES using ARMv8-A cryptographic extensions") a360627e4130 ("arm64: libtomcrypt: rename AES CE files") 48dab9f6464b ("arm64: libtomcrypt: move inline assembly to .S file") 7479ed2a4be9 ("ltc: bugfix find_prng()") 271db0fe9309 ("ltc: make cipher_descriptor a pointer to descriptors") cbf6e51b6086 ("ltc: make hash_descriptor a pointer to descriptors") 6982b2b65910 ("ltc: make prng_descriptor a pointer to descriptors") 034ed64a6bb2 ("arm: Fix SHA-1 with cryptographic extensions") 468fcca20d8b ("arm64: SHA-224/SHA-256 using ARMv8-A cryptographic extensions") a55567f8611c ("arm: update SHA-256 32-bit CE implementation to process multiple blocks") ee62ece8ecf4 ("arm: update SHA-1 32-bit CE implementation to process multiple blocks") 4287faa43c7c ("arm64: SHA-1 using ARMv8-A cryptographic extensions") 0c6c51d33f05 ("ECC: optimize the pool of temporary variables") f79f07210b95 ("arm64: AES XTS using ARMv8-A cryptographic extensions") dc3e64eee4af ("arm64: AES using ARMv8-A cryptographic extensions") fcad408195d8 ("SHA-1 ARMv8 crypto extension implementation") e9fa8daa66ed ("SHA-256 ARMv8 crypto extension implementation") 36c11ddb0f2f ("Import LibTomCrypt v1.18.2 branch "develop" (Aug 19, 2019)") 01c7a0fe164c ("Remove LibTomCrypt") Signed-off-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> | 6 年前 | |
GP131: Add TEE_ALG_ECDH_DERIVE_SHARED_SECRET and TEE_ALG_ECDSA_SHA* Adds the defines - TEE_ALG_ECDH_DERIVE_SHARED_SECRET - TEE_ALG_ECDSA_SHA1 - TEE_ALG_ECDSA_SHA224 - TEE_ALG_ECDSA_SHA256 - TEE_ALG_ECDSA_SHA386 - TEE_ALG_ECDSA_SHA512 from TEE Internal Core API version 1.3.1 to replace the previous now deprecated defines: - TEE_ALG_ECDSA_P192 - TEE_ALG_ECDSA_P224 - TEE_ALG_ECDSA_P256 - TEE_ALG_ECDSA_P384 - TEE_ALG_ECDSA_P521 - TEE_ALG_ECDH_P192 - TEE_ALG_ECDH_P224 - TEE_ALG_ECDH_P256 - TEE_ALG_ECDH_P384 - TEE_ALG_ECDH_P521 The new defines have new values and the values from the old defines are not reused. The syscall ABI maintains compatibility by handling both the old and new values in parallel from now on. Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> | 3 年前 | |
core: crypto: fix memory leak in Ed25519 support The software implementation of ED25519 algorithm has a memory leak in the key and key pair allocation. Upon every public key allocation, a key pair is allocated (public and private components). When freeing the public key, only the public component is freed. To reproduce the issue: $ while xtest 4016; do :; done Until the following error: * regression_4016 Test TEE Internal API ED25519 sign/verify E/LD: copy_section_headers:1124 sys_copy_from_ta_bin E/TC:? 0 ldelf_init_with_ldelf:131 ldelf failed with res: 0xffff000c /usr/src/debug/optee-test/master.imx-r0/host/xtest/regression_4000.c:6062: xtest_teec_open_session(&session, &crypt_user_ta_uuid, ((void *)0), &ret_orig) has an unexpected value: 0xffff000c = TEEC_ERROR_OUT_OF_MEMORY, expected 0x0 = TEEC_SUCCESS regression_4016 FAILED To fix the memory leak, a separate public key allocation function must be defined along a ED25519 public key structure. Fixes: 0aaad418ac8b ("core: crypto: add Ed25519 support") Signed-off-by: Clement Faure <clement.faure@nxp.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> | 3 年前 | |
Squashed commit upgrading to libtomcrypt-1.18.2-develop-20180819 Squash merging branch import/libtomcrypt-1.18.2-develop-20180819 5ecac6e9227c ("core: ltc: adapt to new version of LibTomCrypt") 54d7f2f10c33 ("core: ltc: aes_modes_armv8a_ce_a64.S: get rid of literal load of addend vector") 68b1adf4c3db ("core: ltc: aes_modes_armv8a_ce_a64.S: fix incorrect assembly syntax") b73cfbef058f ("core: ltc: make key in accel_ecb_encrypt() and accel_ecb_decrypt() const") 7160452f6698 ("core: ltc: fix 'switch case misses default'") 05313fd03df1 ("core: ltc: move AES CE files under aes/") 00ed54001f7d ("core: ltc: add custom DH key generation function dh_make_key()") 279e09ee4c7c ("core: ltc: tomcrypt_custom.h: OP-TEE thread support") e61adb1a2203 ("core: crypto: libtomcrypt: fix LTC_CLEAN_STACK bug") 5c75c2d02f13 ("core: LTC use only _CFG_CORE_LTC_ variables") 5decfe20864a ("core: crypto: arm64 ce: update AES CBC routines") c54b6344cc4e ("core: crypto: cleanup and fix CE accelerated AES CTR") 3f4d78d04eef ("core: crypto: arm32: add counter increment in ce_aes_ctr_encrypt()") a85a4f88e39d ("Remove 'All rights reserved' from Linaro files") 14ec45d62762 ("Remove license notice from Linaro files") 084691667db2 ("Add SPDX license identifiers") 48de810896b8 ("LTC: add GHASH acceleration") 9f4ecf2ea898 ("arm32: AES using ARMv8-A cryptographic extensions") a360627e4130 ("arm64: libtomcrypt: rename AES CE files") 48dab9f6464b ("arm64: libtomcrypt: move inline assembly to .S file") 7479ed2a4be9 ("ltc: bugfix find_prng()") 271db0fe9309 ("ltc: make cipher_descriptor a pointer to descriptors") cbf6e51b6086 ("ltc: make hash_descriptor a pointer to descriptors") 6982b2b65910 ("ltc: make prng_descriptor a pointer to descriptors") 034ed64a6bb2 ("arm: Fix SHA-1 with cryptographic extensions") 468fcca20d8b ("arm64: SHA-224/SHA-256 using ARMv8-A cryptographic extensions") a55567f8611c ("arm: update SHA-256 32-bit CE implementation to process multiple blocks") ee62ece8ecf4 ("arm: update SHA-1 32-bit CE implementation to process multiple blocks") 4287faa43c7c ("arm64: SHA-1 using ARMv8-A cryptographic extensions") 0c6c51d33f05 ("ECC: optimize the pool of temporary variables") f79f07210b95 ("arm64: AES XTS using ARMv8-A cryptographic extensions") dc3e64eee4af ("arm64: AES using ARMv8-A cryptographic extensions") fcad408195d8 ("SHA-1 ARMv8 crypto extension implementation") e9fa8daa66ed ("SHA-256 ARMv8 crypto extension implementation") 36c11ddb0f2f ("Import LibTomCrypt v1.18.2 branch "develop" (Aug 19, 2019)") 01c7a0fe164c ("Remove LibTomCrypt") Signed-off-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> | 6 年前 | |
core: LTC: conditionally enable SHA-3 implementation Enables SHA-3 implementation in libtomcrypt and add OP-TEE wrappers. Adds LTC fallback for mbedtls configurations since mbedtls doesn't support SHA-3 yet. Implementation of the crypto_hmac_*_alloc_ctx() functions is updated to only add a full implementation if the corresponding hash function also is configured. Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> | 3 年前 | |
core: LTC: conditionally enable SHA-3 implementation Enables SHA-3 implementation in libtomcrypt and add OP-TEE wrappers. Adds LTC fallback for mbedtls configurations since mbedtls doesn't support SHA-3 yet. Implementation of the crypto_hmac_*_alloc_ctx() functions is updated to only add a full implementation if the corresponding hash function also is configured. Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> | 3 年前 | |
core: LTC mpi_desc.c: use mempool_alloc() instead of malloc() Replace the calls to malloc() and free() with calls to mempool_alloc() and mempool_free() in order to guarantee that we don't have to return TEE_ERROR_OUT_OF_MEMORY and cause a panic in the TA. Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> | 3 年前 | |
core: crypto: add support MD5 hashes in RSA sign/verify/cipher Introduce support of using MD5 hashes in RSA sign/verify/cipher operations, which is required by AOSP Keymaster. This is verified in VerificationOperationsTest.RsaSuccess VTS Test [1], which checks usage of such digests: NONE, MD5, SHA1, SHA_2_224, SHA_2_256, SHA_2_384, SHA_2_512. This patch has been inspired by commit[2]: Link: [1] https://android.googlesource.com/platform/hardware/interfaces/+/master/keymaster/3.0/vts/functional/keymaster_hidl_hal_test.cpp Link: [2] https://github.com/OP-TEE/optee_os/commit/199d0b7310d1705661a106358f1f0b46e4c5c587 ("core: crypto: add support MD5 hashes in RSA sign/verify") Signed-off-by: Julien Masson <jmasson@baylibre.com> Signed-off-by: Safae Ouajih <souajih@baylibre.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> | 3 年前 | |
core: ltc: use SHA1 crypto accelerated function Uses the recently provided accelerated SHA1 function in LTC. Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> | 6 年前 | |
libtomcrypt/sha256_accel: fix stringop-overflow error Attempting to build optee-os with gcc11 fails with the following error ---- In function ‘sha256_compress_nblocks’, inlined from ‘sha256_compress’ at core/lib/libtomcrypt/sha256_accel.c:81:11, inlined from ‘sha256_done’ at core/lib/libtomcrypt/sha256_accel.c:158:5: core/lib/libtomcrypt/sha256_accel.c:75:5: error: ‘crypto_accel_sha256_compress’ accessing 32 bytes in a region of size 20 [-Werror=stringop-overflow=] 75 | crypto_accel_sha256_compress(state, buf, blocks); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ core/lib/libtomcrypt/sha256_accel.c: In function ‘sha256_done’: core/lib/libtomcrypt/sha256_accel.c:75:5: note: referencing argument 1 of type ‘uint32_t *’ {aka ‘unsigned int *’} In file included from core/lib/libtomcrypt/sha256_accel.c:41: core/include/crypto/crypto_accel.h:45:6: note: in a call to function ‘crypto_accel_sha256_compress’ 45 | void crypto_accel_sha256_compress(uint32_t state[8], const void *src, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ---- Indeed, the 'state' argument here is taken from sha1.state which is a uint32_t state[5], so 20 bytes long instead of the uint32_t state[8] crypto_accel_sha256_compress expects. OTOH we're in a sha256 function, and sha256.state conveniently is of the correct size, so use sha256.state as appropriate instead. Note that hash_state is a union and sha{1,256}.state are at the same offset, so this is actually a no-op change. Signed-off-by: Dominique Martinet <dominique.martinet@atmark-techno.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org> | 4 年前 | |
core: ltc: use SHA-3 crypto accelerated function Uses the recently provided accelerated SHA-3 function in LTC Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> | 3 年前 | |
core: ltc: use SHA-512 crypto accelerated function Uses the recently provided accelerated SHA-512 function in LTC. Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> | 3 年前 | |
core: LTC: conditionally enable SHA-3 implementation Enables SHA-3 implementation in libtomcrypt and add OP-TEE wrappers. Adds LTC fallback for mbedtls configurations since mbedtls doesn't support SHA-3 yet. Implementation of the crypto_hmac_*_alloc_ctx() functions is updated to only add a full implementation if the corresponding hash function also is configured. Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> | 3 年前 | |
core: ltc: set SM2 ECC Keys operations Change the SM2 DSA sign/verify to be called through the allocated ECC keys operations like ECC sign/verify operations. Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> | 5 年前 | |
core: ltc: move sm2_kdf() to common core/crypto/sm2-kdf.c The key derivation function sm2_kdf() is a helper function used by SM2 KEP (Key Exchange Protocol) and PKE (Private Key Encryption). It is currently implemented in core/lib/libtomcrypt/sm2_kdf.c, next to the SM2 source code based on LibTomCrypt. In order to provide an MBed TLS implementation of SM2, the helper function shall be outside the LibTomCrypt directory. Move it to core/crypto/sm2-kdf.c. Signed-off-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> | 5 年前 | |
Squashed commit upgrading to libtomcrypt-1.18.2-develop-20220913 Squash merging branch import/libtomcrypt-1.18.2-develop-20220913 cedf001cc024 ("ci: rust: apply upstream patch to fix failure in authentication-rs") 1c8f27245e4f ("core: ltc: fix .qord value in DSA sign and verify") 87431ada69ed ("libtomcrypt: define LTC_MPI at the same time as LTC_DER") 7d8cdbb85a57 ("core: ltc: add missing <string_ext.h>") fa3ac5998cc7 ("core: ltc: import sub.mk files from master and update") 35f56bc9f8c4 ("core: libtomcrypt: Remove prng_state* NULL pointer check from x25519_make_key()") 85140c1f9be4 ("core: ltc: fix missing mutex unlock") 02f519845bbe ("core: ltc: add SM2 curve parameters") 757ab2c4462d ("core: ltc: make key in accel_ecb_encrypt() and accel_ecb_decrypt() const") 15c897fbe000 ("core: ltc: fix 'switch case misses default'") 6276df75362f ("core: ltc: add custom DH key generation function dh_make_key()") 1da50b460270 ("core: ltc: tomcrypt_custom.h: OP-TEE thread support") 6f78a99a6e8c ("libtomcrypt: implement zeromem() with memzero_explicit()") 90eaafe0f10f ("core: LTC use only _CFG_CORE_LTC_ variables") fbd6fb746576 ("LTC: add GHASH acceleration") e3ff5f701223 ("ltc: make cipher_descriptor a pointer to descriptors") fbe13c05804d ("ltc: make hash_descriptor a pointer to descriptors") 6c193f5e561a ("ltc: make prng_descriptor a pointer to descriptors") 9f40d2838fa3 ("libtomcrypt: tomcrypt_private.h: add HASH_PROCESS_NBLOCKS") 4f6b32962d15 ("ECC: optimize the pool of temporary variables") 955eced29a6f ("Import LibTomCrypt v1.18.2 branch "develop" (Sep 13, 2022)") 3717d76418c8 ("Remove LibTomCrypt") Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> | 3 年前 | |
core: ltc: use SHA-3 crypto accelerated function Uses the recently provided accelerated SHA-3 function in LTC Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> | 3 年前 | |
core: ltc: use SHA-3 crypto accelerated function Uses the recently provided accelerated SHA-3 function in LTC Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> | 3 年前 | |
Squashed commit upgrading to libtomcrypt-1.18.2-develop-20220913 Squash merging branch import/libtomcrypt-1.18.2-develop-20220913 cedf001cc024 ("ci: rust: apply upstream patch to fix failure in authentication-rs") 1c8f27245e4f ("core: ltc: fix .qord value in DSA sign and verify") 87431ada69ed ("libtomcrypt: define LTC_MPI at the same time as LTC_DER") 7d8cdbb85a57 ("core: ltc: add missing <string_ext.h>") fa3ac5998cc7 ("core: ltc: import sub.mk files from master and update") 35f56bc9f8c4 ("core: libtomcrypt: Remove prng_state* NULL pointer check from x25519_make_key()") 85140c1f9be4 ("core: ltc: fix missing mutex unlock") 02f519845bbe ("core: ltc: add SM2 curve parameters") 757ab2c4462d ("core: ltc: make key in accel_ecb_encrypt() and accel_ecb_decrypt() const") 15c897fbe000 ("core: ltc: fix 'switch case misses default'") 6276df75362f ("core: ltc: add custom DH key generation function dh_make_key()") 1da50b460270 ("core: ltc: tomcrypt_custom.h: OP-TEE thread support") 6f78a99a6e8c ("libtomcrypt: implement zeromem() with memzero_explicit()") 90eaafe0f10f ("core: LTC use only _CFG_CORE_LTC_ variables") fbd6fb746576 ("LTC: add GHASH acceleration") e3ff5f701223 ("ltc: make cipher_descriptor a pointer to descriptors") fbe13c05804d ("ltc: make hash_descriptor a pointer to descriptors") 6c193f5e561a ("ltc: make prng_descriptor a pointer to descriptors") 9f40d2838fa3 ("libtomcrypt: tomcrypt_private.h: add HASH_PROCESS_NBLOCKS") 4f6b32962d15 ("ECC: optimize the pool of temporary variables") 955eced29a6f ("Import LibTomCrypt v1.18.2 branch "develop" (Sep 13, 2022)") 3717d76418c8 ("Remove LibTomCrypt") Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> | 3 年前 | |
Squashed commit upgrading to libtomcrypt-1.18.2-develop-20180819 Squash merging branch import/libtomcrypt-1.18.2-develop-20180819 5ecac6e9227c ("core: ltc: adapt to new version of LibTomCrypt") 54d7f2f10c33 ("core: ltc: aes_modes_armv8a_ce_a64.S: get rid of literal load of addend vector") 68b1adf4c3db ("core: ltc: aes_modes_armv8a_ce_a64.S: fix incorrect assembly syntax") b73cfbef058f ("core: ltc: make key in accel_ecb_encrypt() and accel_ecb_decrypt() const") 7160452f6698 ("core: ltc: fix 'switch case misses default'") 05313fd03df1 ("core: ltc: move AES CE files under aes/") 00ed54001f7d ("core: ltc: add custom DH key generation function dh_make_key()") 279e09ee4c7c ("core: ltc: tomcrypt_custom.h: OP-TEE thread support") e61adb1a2203 ("core: crypto: libtomcrypt: fix LTC_CLEAN_STACK bug") 5c75c2d02f13 ("core: LTC use only _CFG_CORE_LTC_ variables") 5decfe20864a ("core: crypto: arm64 ce: update AES CBC routines") c54b6344cc4e ("core: crypto: cleanup and fix CE accelerated AES CTR") 3f4d78d04eef ("core: crypto: arm32: add counter increment in ce_aes_ctr_encrypt()") a85a4f88e39d ("Remove 'All rights reserved' from Linaro files") 14ec45d62762 ("Remove license notice from Linaro files") 084691667db2 ("Add SPDX license identifiers") 48de810896b8 ("LTC: add GHASH acceleration") 9f4ecf2ea898 ("arm32: AES using ARMv8-A cryptographic extensions") a360627e4130 ("arm64: libtomcrypt: rename AES CE files") 48dab9f6464b ("arm64: libtomcrypt: move inline assembly to .S file") 7479ed2a4be9 ("ltc: bugfix find_prng()") 271db0fe9309 ("ltc: make cipher_descriptor a pointer to descriptors") cbf6e51b6086 ("ltc: make hash_descriptor a pointer to descriptors") 6982b2b65910 ("ltc: make prng_descriptor a pointer to descriptors") 034ed64a6bb2 ("arm: Fix SHA-1 with cryptographic extensions") 468fcca20d8b ("arm64: SHA-224/SHA-256 using ARMv8-A cryptographic extensions") a55567f8611c ("arm: update SHA-256 32-bit CE implementation to process multiple blocks") ee62ece8ecf4 ("arm: update SHA-1 32-bit CE implementation to process multiple blocks") 4287faa43c7c ("arm64: SHA-1 using ARMv8-A cryptographic extensions") 0c6c51d33f05 ("ECC: optimize the pool of temporary variables") f79f07210b95 ("arm64: AES XTS using ARMv8-A cryptographic extensions") dc3e64eee4af ("arm64: AES using ARMv8-A cryptographic extensions") fcad408195d8 ("SHA-1 ARMv8 crypto extension implementation") e9fa8daa66ed ("SHA-256 ARMv8 crypto extension implementation") 36c11ddb0f2f ("Import LibTomCrypt v1.18.2 branch "develop" (Aug 19, 2019)") 01c7a0fe164c ("Remove LibTomCrypt") Signed-off-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> | 6 年前 |