History log of /optee_os/core/lib/libtomcrypt/ (Results 76 – 100 of 287)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
7fb525f123-Jan-2020 Jerome Forissier <jerome@forissier.org>

Remove libmpa in favor of libmbedtls

We currently have two "big numbers" library, Mbed TLS and MPA. Both can
be used by libutee to implement the TEE Internal Core API Arithmetical
functions, and by

Remove libmpa in favor of libmbedtls

We currently have two "big numbers" library, Mbed TLS and MPA. Both can
be used by libutee to implement the TEE Internal Core API Arithmetical
functions, and by the TEE core or pseudo-TAs. This situation is
reflected by two configuration variables allowing to choose between
libmbedtls and libmpa:

- CFG_TA_MBEDTLS_MPI (default y) configures libutee,
- CFG_CORE_MBEDTLS_MPI (default y) configures the TEE core/PTAs.

In addition there is CFG_TA_MBEDTLS (default y, mandatory when
CFG_TA_MBEDTLS_MPI is y) to build libmbedtls and install it into the
SDK for direct use by TAs (libmbedtls also has function to deal with
certificates for instance).

MBed TLS has been supported and used by default for just over a year;
and we have recently found an issue with the MPA implementation of the
integer multiplication with modulus (mpa_mulmod()) [1] [2]. Therefore,
now is a good time to remove libmpa and use libmbedtls instead.

Link: [1] https://github.com/OP-TEE/optee_os/pull/3541#issuecomment-577592381
Link: [2] https://github.com/OP-TEE/optee_test/pull/389
Signed-off-by: Jerome Forissier <jerome@forissier.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


/optee_os/.shippable.yml
/optee_os/CHANGELOG.md
/optee_os/MAINTAINERS
/optee_os/core/arch/arm/include/arm32.h
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/kernel/generic_boot.h
/optee_os/core/arch/arm/include/mm/core_mmu.h
/optee_os/core/arch/arm/kernel/generic_boot.c
/optee_os/core/arch/arm/kernel/generic_entry_a32.S
/optee_os/core/arch/arm/kernel/generic_entry_a64.S
/optee_os/core/arch/arm/kernel/pseudo_ta.c
/optee_os/core/arch/arm/mm/core_mmu.c
/optee_os/core/arch/arm/mm/mobj.c
/optee_os/core/arch/arm/mm/mobj_dyn_shm.c
/optee_os/core/arch/arm/mm/tee_mmu.c
/optee_os/core/arch/arm/plat-amlogic/conf.mk
/optee_os/core/arch/arm/plat-amlogic/link.mk
/optee_os/core/arch/arm/plat-amlogic/main.c
/optee_os/core/arch/arm/plat-amlogic/platform_config.h
/optee_os/core/arch/arm/plat-amlogic/scripts/aml_bin2img.py
/optee_os/core/arch/arm/plat-amlogic/sub.mk
/optee_os/core/arch/arm/plat-hikey/conf.mk
/optee_os/core/arch/arm/plat-imx/crypto_conf.mk
/optee_os/core/arch/arm/plat-imx/drivers/imx_csu.c
/optee_os/core/arch/arm/plat-imx/registers/imx6.h
/optee_os/core/arch/arm/plat-imx/registers/imx7.h
/optee_os/core/arch/arm/tee/entry_fast.c
/optee_os/core/core.mk
/optee_os/core/drivers/amlogic_uart.c
/optee_os/core/drivers/crypto/caam/hash/caam_hash.c
/optee_os/core/drivers/crypto/caam/include/caam_common.h
/optee_os/core/drivers/crypto/caam/include/caam_desc_helper.h
/optee_os/core/drivers/crypto/caam/include/caam_trace.h
/optee_os/core/drivers/crypto/caam/include/caam_utils_mem.h
/optee_os/core/drivers/crypto/caam/include/caam_utils_sgt.h
/optee_os/core/drivers/crypto/caam/utils/utils_mem.c
/optee_os/core/drivers/crypto/caam/utils/utils_sgt.c
/optee_os/core/drivers/sub.mk
/optee_os/core/include/drivers/amlogic_uart.h
/optee_os/core/lib/libfdt/README.license
/optee_os/core/lib/libfdt/fdt.c
/optee_os/core/lib/libfdt/fdt_addresses.c
/optee_os/core/lib/libfdt/fdt_empty_tree.c
/optee_os/core/lib/libfdt/fdt_overlay.c
/optee_os/core/lib/libfdt/fdt_ro.c
/optee_os/core/lib/libfdt/fdt_rw.c
/optee_os/core/lib/libfdt/fdt_strerror.c
/optee_os/core/lib/libfdt/fdt_sw.c
/optee_os/core/lib/libfdt/fdt_wip.c
/optee_os/core/lib/libfdt/include/fdt.h
/optee_os/core/lib/libfdt/include/libfdt.h
/optee_os/core/lib/libfdt/include/libfdt_env.h
/optee_os/core/lib/libfdt/libfdt_internal.h
mpi_desc.c
sub.mk
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/lib/libmbedtls/core/dh.c
/optee_os/lib/libmbedtls/include/mbedtls_config_kernel.h
/optee_os/lib/libutee/include/tee_api.h
/optee_os/lib/libutee/include/tee_api_defines.h
/optee_os/lib/libutee/include/tee_arith_internal.h
/optee_os/lib/libutee/include/utee_defines.h
/optee_os/lib/libutee/sub.mk
/optee_os/lib/libutee/tee_api_operations.c
/optee_os/lib/libutils/ext/include/config.h
/optee_os/mk/config.mk
/optee_os/scripts/gen_tee_bin.py
/optee_os/scripts/symbolize.py
/optee_os/ta/mk/build-user-ta.mk
/optee_os/ta/mk/ta_dev_kit.mk
/optee_os/ta/pkcs11/Android.mk
/optee_os/ta/pkcs11/Makefile
/optee_os/ta/pkcs11/include/pkcs11_ta.h
/optee_os/ta/pkcs11/src/entry.c
/optee_os/ta/pkcs11/src/pkcs11_helpers.c
/optee_os/ta/pkcs11/src/pkcs11_helpers.h
/optee_os/ta/pkcs11/src/sub.mk
/optee_os/ta/pkcs11/src/user_ta_header_defines.h
/optee_os/ta/pkcs11/sub.mk
/optee_os/ta/pkcs11/user_ta.mk
/optee_os/ta/ta.mk
6b6195cb22-Jan-2020 Jerome Forissier <jerome@forissier.org>

core: ltc: sm2: add missing status check

crypto_acipher_sm2_pke_decrypt() fails to check a return status from
LibTomCrypt. Add the missing check.

Fixes: f9a78287dd12 ("core: ltc: add support for SM

core: ltc: sm2: add missing status check

crypto_acipher_sm2_pke_decrypt() fails to check a return status from
LibTomCrypt. Add the missing check.

Fixes: f9a78287dd12 ("core: ltc: add support for SM2 PKE")
Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

5b385b3f06-Jan-2020 Jerome Forissier <jerome@forissier.org>

core: crypto: add support for SM2 KEP

Adds SM2 Key Exchange Protocol [1] using LibTomCrypt. The TA interface
complies with the GlobalPlatform TEE Internal Core API version 1.2.

SM2 KEP is enabled w

core: crypto: add support for SM2 KEP

Adds SM2 Key Exchange Protocol [1] using LibTomCrypt. The TA interface
complies with the GlobalPlatform TEE Internal Core API version 1.2.

SM2 KEP is enabled with CFG_CRYPTO_SM2_KEP=y (default y) wich currently
requires that CFG_CRYPTOLIB_NAME=tomcrypt. An Mbed TLS implementation
could be added later if needed.

[1] http://www.gmbz.org.cn/main/postDetail.html?id=20180724110812

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

c2c877db15-Jan-2020 Jerome Forissier <jerome@forissier.org>

core: ltc: add support for SM2 KEP

Adds support for the SM3 Key Exchange Protocol [1] for use by
OP-TEE core based on LibTomCrypt.

[1] http://www.gmbz.org.cn/main/postDetail.html?id=20180724110812

core: ltc: add support for SM2 KEP

Adds support for the SM3 Key Exchange Protocol [1] for use by
OP-TEE core based on LibTomCrypt.

[1] http://www.gmbz.org.cn/main/postDetail.html?id=20180724110812

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

eee2e03b14-Jan-2020 Jerome Forissier <jerome@forissier.org>

core: ltc: SM2 PKE: export sm2_kdf()

The Key Derivation Function used by the SM2 Public Key Encryption
algorithm is also used by the Key Exchange Protocol. Move it to its
file in order to be able to

core: ltc: SM2 PKE: export sm2_kdf()

The Key Derivation Function used by the SM2 Public Key Encryption
algorithm is also used by the Key Exchange Protocol. Move it to its
file in order to be able to re-use it.

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

72d11d9514-Jan-2020 Jerome Forissier <jerome@forissier.org>

core: ltc: SM2 DSA: fix configuration variable name

The name of the config variable indicating support for SM2 DSA is
_CFG_CORE_LTC_SM2_DSA, not _CFG_CORE_LTC_SM2_DSA_SM3.

Fixes: 76c7ba4b9ff7 ("cor

core: ltc: SM2 DSA: fix configuration variable name

The name of the config variable indicating support for SM2 DSA is
_CFG_CORE_LTC_SM2_DSA, not _CFG_CORE_LTC_SM2_DSA_SM3.

Fixes: 76c7ba4b9ff7 ("core: ltc: add support for SM2 DSA")
Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

7ecec89414-Jan-2020 Jerome Forissier <jerome@forissier.org>

core: ltc: ecc_populate_ltc_private_key(): copy public part

A private key alone is not always useful; the public part of the
key is often needed. Adjust ecc_populate_ltc_private_key() accordingly.

core: ltc: ecc_populate_ltc_private_key(): copy public part

A private key alone is not always useful; the public part of the
key is often needed. Adjust ecc_populate_ltc_private_key() accordingly.

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

8cda2ac416-Jan-2020 Jerome Forissier <jerome@forissier.org>

core: ltc: SM2 DSA: fix bignum conversions

All integers used in the SM2 algorithms are encoded as 32 byte buffers
in big endian format. The current code does not properly pad the buffer
with zeros w

core: ltc: SM2 DSA: fix bignum conversions

All integers used in the SM2 algorithms are encoded as 32 byte buffers
in big endian format. The current code does not properly pad the buffer
with zeros when a value does not need the whole 32 bytes. Fix that.

Fixes: 76c7ba4b9ff7 ("core: ltc: add support for SM2 DSA")
Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

a72295ea16-Jan-2020 Jerome Forissier <jerome@forissier.org>

core: ltc: SM2 PKE: fix bignum conversions

All integers used in the SM2 algorithms are encoded as 32 byte buffers
in big endian format. The current code does not properly pad the buffer
with zeros w

core: ltc: SM2 PKE: fix bignum conversions

All integers used in the SM2 algorithms are encoded as 32 byte buffers
in big endian format. The current code does not properly pad the buffer
with zeros when a value does not need the whole 32 bytes and has a few
other related issues. Fix that.

Fixes: f9a78287dd12 ("core: ltc: add support for SM2 PKE")
Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

463acb4d17-Jan-2020 Jerome Forissier <jerome@forissier.org>

core: ltc: acipher_helpers.h: add macro mp_to_unsigned_bin2()

Writing a bignum to a fixed size integer buffer in big endian order is
slightly cumbersome, because one has to take into account the act

core: ltc: acipher_helpers.h: add macro mp_to_unsigned_bin2()

Writing a bignum to a fixed size integer buffer in big endian order is
slightly cumbersome, because one has to take into account the actual
size of the bignum in order to have the zero padding on the left.
Let's say I am working with 256-bit numbers:

unsigned char buf[32] = { };
void *n = compute_some_bignum(...);

mp_to_unsigned_bin(n, buf + sizeof(buf) - mp_unsigned_bin_size(n));

This commit introduces mp_to_unsigned_bin2() which can be used like so:

unsigned char buf[32] = { };
void *n = compute_some_bignum(...);

mp_to_unsigned_bin2(n, buf, sizeof(buf));

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

0b38353c09-Jan-2020 Jerome Forissier <jerome@forissier.org>

core: ltc: SM2 DSA: fix bignum memory leaks

crypto_acipher_sm2_dsa_sign() and crypto_acipher_sm2_dsa_verify() leak
some bignum memory due to missing calls to ecc_free().
This is all the more problem

core: ltc: SM2 DSA: fix bignum memory leaks

crypto_acipher_sm2_dsa_sign() and crypto_acipher_sm2_dsa_verify() leak
some bignum memory due to missing calls to ecc_free().
This is all the more problematic that bignum allocations use a special
memory pool [1] that can easily cause deadlocks when misused.

This commit adds the missing calls.

[1] Commit a2eb5b55d169 ("libutils: add mempool API")

Fixes: 76c7ba4b9ff7 ("core: ltc: add support for SM2 DSA")
Signed-off-by: Jerome Forissier <jerome@forissier.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

80d47d0a09-Jan-2020 Jerome Forissier <jerome@forissier.org>

core: ltc: SM2 PKE: fix bignum memory leaks

crypto_acipher_sm2_pke_encrypt() and crypto_acipher_sm2_pke_decrypt()
leak some bignum memory due to missing calls to ecc_free() and also due
to the fact

core: ltc: SM2 PKE: fix bignum memory leaks

crypto_acipher_sm2_pke_encrypt() and crypto_acipher_sm2_pke_decrypt()
leak some bignum memory due to missing calls to ecc_free() and also due
to the fact that the x and y fields of an ecc_point are overwritten.
This is all the more problematic that bignum allocations use a special
memory pool [1] that can easily cause deadlocks when misused.

This commit fixes these problems.

[1] Commit a2eb5b55d169 ("libutils: add mempool API")

Fixes: f9a78287dd12 ("core: ltc: add support for SM2 PKE")
Signed-off-by: Jerome Forissier <jerome@forissier.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

17d4286f09-Jan-2020 Jerome Forissier <jerome@forissier.org>

core: ltc: SM2 PKE: add missing return status check

The status of function ltc_ecc_is_point_at_infinity() is not checked in
crypto_acipher_sm2_pke_encrypt(). Fix that.

Fixes: f9a78287dd12 ("core: l

core: ltc: SM2 PKE: add missing return status check

The status of function ltc_ecc_is_point_at_infinity() is not checked in
crypto_acipher_sm2_pke_encrypt(). Fix that.

Fixes: f9a78287dd12 ("core: ltc: add support for SM2 PKE")
Signed-off-by: Jerome Forissier <jerome@forissier.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

0f15194317-Dec-2019 Jerome Forissier <jerome@forissier.org>

core: crypto add support for SM2 DSA

Adds SM2 Digital Signature Algorithm [1] using LibTomCrypt. The TA
interface complies with the GlobalPlatform TEE Internal Core API
version 1.2.

SM2 DSA is enab

core: crypto add support for SM2 DSA

Adds SM2 Digital Signature Algorithm [1] using LibTomCrypt. The TA
interface complies with the GlobalPlatform TEE Internal Core API
version 1.2.

SM2 DSA is enabled with CFG_CRYPTO_SM2_DSA=y (default y) which currently
requires that CFG_CRYPTOLIB_NAME=tomcrypt. An Mbed TLS implementation
could be added later if needed.

[1] http://www.gmbz.org.cn/main/postDetail.html?id=20180724110812

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

76c7ba4b06-Jan-2020 Jerome Forissier <jerome@forissier.org>

core: ltc: add support for SM2 DSA

Adds support for the SM2 Digital Signature Algorithm [1] for use by
OP-TEE core based on LibTomCrypt.

[1] http://www.gmbz.org.cn/main/postDetail.html?id=20180724

core: ltc: add support for SM2 DSA

Adds support for the SM2 Digital Signature Algorithm [1] for use by
OP-TEE core based on LibTomCrypt.

[1] http://www.gmbz.org.cn/main/postDetail.html?id=20180724110812

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

91fc6bd817-Dec-2019 Jerome Forissier <jerome@forissier.org>

core: crypto: add support for SM2 PKE

Adds SM2 Public Key Encryption [1] using LibTomCrypt. The TA interface
complies with the GlobalPlatform TEE Internal Core API version 1.2.

SM2 is enabled with

core: crypto: add support for SM2 PKE

Adds SM2 Public Key Encryption [1] using LibTomCrypt. The TA interface
complies with the GlobalPlatform TEE Internal Core API version 1.2.

SM2 is enabled with CFG_CRYPTO_SM2_PKE=y (default y) which currently
requires that CFG_CRYPTOLIB_NAME=tomcrypt. An Mbed TLS implementation
could be added later if needed.

[1] http://www.gmbz.org.cn/main/postDetail.html?id=20180724110812

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

f9a7828717-Dec-2019 Jerome Forissier <jerome@forissier.org>

core: ltc: add support for SM2 PKE

SM2 is a set of public key cryptographic algorithms based on elliptic
curves published by the Chinese Commercial Cryptography Administration
Office [1]. The standa

core: ltc: add support for SM2 PKE

SM2 is a set of public key cryptographic algorithms based on elliptic
curves published by the Chinese Commercial Cryptography Administration
Office [1]. The standard has three main parts which define:

- A Digital Signature Algorithm (part 2)
- A Key Exchange Protocol (part 3)
- A Public Key Encryption method (part 4)

This commit implements the PKE LibTomcrypt for use by the OP-TEE core.
It uses the LibTomCrypt ECC and arithmetic helper functions as well as
the OP-TEE hash interface for the SM3 algorithm.

As far as the ECC point encoding goes, only the uncompressed form is
supported, as permitted by the standard. In practice, it means that the
cipher text always starts with the byte value 0x04. Other forms cannot
be decrypted by this implementation.

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

c069113004-Jan-2020 Jerome Forissier <jerome@forissier.org>

core: ltc: export ECC key helper functions

The static functions ecc_populate_ltc_private_key() and
ecc_populate_ltc_public_key() will be useful for other ECC algorithms
than the ones currently handl

core: ltc: export ECC key helper functions

The static functions ecc_populate_ltc_private_key() and
ecc_populate_ltc_public_key() will be useful for other ECC algorithms
than the ones currently handled by core/lib/libtomcrypt/ecc.c, namely:
the SM2 family of algorithms. Therefore, export these functions in
"acipher_helpers.h".

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

d8ab8de720-Dec-2019 Jerome Forissier <jerome@forissier.org>

core: ltc: add implementations for .addmod and .submod

Adds the addmod() and submod() functions which are missing from the
ltc_mp descriptor. It is a bug, because crypto functions never check the
fu

core: ltc: add implementations for .addmod and .submod

Adds the addmod() and submod() functions which are missing from the
ltc_mp descriptor. It is a bug, because crypto functions never check the
functions pointers before using them.

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

43be645301-Jan-2020 Jerome Forissier <jerome@forissier.org>

core: ltc: add SM2 curve parameters

Adds the recommended curve parameters for SM2 [1] [2].

[1] http://www.gmbz.org.cn/main/postDetail.html?id=20180724110812
[2] https://tools.ietf.org/id/draft-ribo

core: ltc: add SM2 curve parameters

Adds the recommended curve parameters for SM2 [1] [2].

[1] http://www.gmbz.org.cn/main/postDetail.html?id=20180724110812
[2] https://tools.ietf.org/id/draft-ribose-openpgp-oscca-00.html

Signed-off-by: Jerome Forissier <jerome@forissier.org>

show more ...


/optee_os/.shippable.yml
/optee_os/CHANGELOG.md
/optee_os/MAINTAINERS
/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/include/arm.h
/optee_os/core/arch/arm/include/kernel/generic_boot.h
/optee_os/core/arch/arm/include/kernel/linker.h
/optee_os/core/arch/arm/include/kernel/misc.h
/optee_os/core/arch/arm/include/kernel/thread.h
/optee_os/core/arch/arm/include/kernel/user_ta.h
/optee_os/core/arch/arm/include/mm/core_mmu.h
/optee_os/core/arch/arm/include/mm/mobj.h
/optee_os/core/arch/arm/include/mm/tee_pager.h
/optee_os/core/arch/arm/include/sm/optee_smc.h
/optee_os/core/arch/arm/include/sm/sm.h
/optee_os/core/arch/arm/include/tee/arch_svc.h
/optee_os/core/arch/arm/kernel/abort.c
/optee_os/core/arch/arm/kernel/asm-defines.c
/optee_os/core/arch/arm/kernel/early_ta.c
/optee_os/core/arch/arm/kernel/generic_boot.c
/optee_os/core/arch/arm/kernel/generic_entry_a32.S
/optee_os/core/arch/arm/kernel/generic_entry_a64.S
/optee_os/core/arch/arm/kernel/kern.ld.S
/optee_os/core/arch/arm/kernel/link.mk
/optee_os/core/arch/arm/kernel/link_dummies.c
/optee_os/core/arch/arm/kernel/link_dummy.ld
/optee_os/core/arch/arm/kernel/misc_a32.S
/optee_os/core/arch/arm/kernel/misc_a64.S
/optee_os/core/arch/arm/kernel/otp_stubs.c
/optee_os/core/arch/arm/kernel/pseudo_ta.c
/optee_os/core/arch/arm/kernel/ree_fs_ta.c
/optee_os/core/arch/arm/kernel/sub.mk
/optee_os/core/arch/arm/kernel/thread.c
/optee_os/core/arch/arm/kernel/thread_a32.S
/optee_os/core/arch/arm/kernel/thread_a64.S
/optee_os/core/arch/arm/kernel/thread_optee_smc.c
/optee_os/core/arch/arm/kernel/thread_optee_smc_a32.S
/optee_os/core/arch/arm/kernel/thread_optee_smc_a64.S
/optee_os/core/arch/arm/kernel/thread_private.h
/optee_os/core/arch/arm/kernel/trace_ext.c
/optee_os/core/arch/arm/kernel/unwind_arm32.c
/optee_os/core/arch/arm/kernel/unwind_arm64.c
/optee_os/core/arch/arm/kernel/user_ta.c
/optee_os/core/arch/arm/mm/core_mmu.c
/optee_os/core/arch/arm/mm/core_mmu_lpae.c
/optee_os/core/arch/arm/mm/core_mmu_private.h
/optee_os/core/arch/arm/mm/core_mmu_v7.c
/optee_os/core/arch/arm/mm/mobj.c
/optee_os/core/arch/arm/mm/mobj_dyn_shm.c
/optee_os/core/arch/arm/mm/sub.mk
/optee_os/core/arch/arm/mm/tee_mmu.c
/optee_os/core/arch/arm/mm/tee_pager.c
/optee_os/core/arch/arm/plat-bcm/bcm_elog.c
/optee_os/core/arch/arm/plat-bcm/bcm_elog.h
/optee_os/core/arch/arm/plat-bcm/conf.mk
/optee_os/core/arch/arm/plat-bcm/crc32.c
/optee_os/core/arch/arm/plat-bcm/crc32.h
/optee_os/core/arch/arm/plat-bcm/main.c
/optee_os/core/arch/arm/plat-bcm/platform_config.h
/optee_os/core/arch/arm/plat-bcm/sub.mk
/optee_os/core/arch/arm/plat-hikey/conf.mk
/optee_os/core/arch/arm/plat-hikey/main.c
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-imx/drivers/tzc380.c
/optee_os/core/arch/arm/plat-imx/imx-common.c
/optee_os/core/arch/arm/plat-imx/imx-regs.h
/optee_os/core/arch/arm/plat-imx/main.c
/optee_os/core/arch/arm/plat-imx/pm/cpuidle-imx7d.c
/optee_os/core/arch/arm/plat-imx/pm/imx7_suspend.c
/optee_os/core/arch/arm/plat-imx/registers/imx6-crm.h
/optee_os/core/arch/arm/plat-imx/registers/imx6.h
/optee_os/core/arch/arm/plat-imx/registers/imx7-crm.h
/optee_os/core/arch/arm/plat-imx/registers/imx7.h
/optee_os/core/arch/arm/plat-imx/registers/imx7ulp-crm.h
/optee_os/core/arch/arm/plat-imx/registers/imx8m.h
/optee_os/core/arch/arm/plat-ls/main.c
/optee_os/core/arch/arm/plat-rockchip/common.h
/optee_os/core/arch/arm/plat-rockchip/conf.mk
/optee_os/core/arch/arm/plat-rockchip/cru.h
/optee_os/core/arch/arm/plat-rockchip/grf.h
/optee_os/core/arch/arm/plat-rockchip/main.c
/optee_os/core/arch/arm/plat-rockchip/plat_init.S
/optee_os/core/arch/arm/plat-rockchip/platform.c
/optee_os/core/arch/arm/plat-rockchip/platform.h
/optee_os/core/arch/arm/plat-rockchip/platform_config.h
/optee_os/core/arch/arm/plat-rockchip/platform_px30.c
/optee_os/core/arch/arm/plat-rockchip/platform_rk322x.c
/optee_os/core/arch/arm/plat-rockchip/platform_rk3399.c
/optee_os/core/arch/arm/plat-rockchip/psci_rk322x.c
/optee_os/core/arch/arm/plat-rockchip/sub.mk
/optee_os/core/arch/arm/plat-sam/main.c
/optee_os/core/arch/arm/plat-stm/main.c
/optee_os/core/arch/arm/plat-stm/tz_a9init.S
/optee_os/core/arch/arm/plat-sunxi/main.c
/optee_os/core/arch/arm/plat-ti/a9_plat_init.S
/optee_os/core/arch/arm/plat-ti/sm_platform_handler_a15.c
/optee_os/core/arch/arm/plat-ti/sm_platform_handler_a9.c
/optee_os/core/arch/arm/plat-vexpress/conf.mk
/optee_os/core/arch/arm/plat-zynq7k/main.c
/optee_os/core/arch/arm/sm/sm_a32.S
/optee_os/core/arch/arm/tee/arch_svc.c
/optee_os/core/arch/arm/tee/entry_std.c
/optee_os/core/arch/arm/tee/svc_cache.c
/optee_os/core/core.mk
/optee_os/core/crypto.mk
/optee_os/core/crypto/aes-cts.c
/optee_os/core/crypto/cbc-mac.c
/optee_os/core/crypto/crypto.c
/optee_os/core/crypto/rng_fortuna.c
/optee_os/core/crypto/signed_hdr.c
/optee_os/core/crypto/sm3-hash.c
/optee_os/core/crypto/sm3-hmac.c
/optee_os/core/crypto/sm3.c
/optee_os/core/crypto/sm3.h
/optee_os/core/crypto/sm4-cbc.c
/optee_os/core/crypto/sm4-ctr.c
/optee_os/core/crypto/sm4-ecb.c
/optee_os/core/crypto/sm4.c
/optee_os/core/crypto/sm4.h
/optee_os/core/crypto/sub.mk
/optee_os/core/drivers/bcm_gpio.c
/optee_os/core/drivers/bcm_sotp.c
/optee_os/core/drivers/bnxt/bnxt.c
/optee_os/core/drivers/bnxt/bnxt_fw.c
/optee_os/core/drivers/bnxt/bnxt_images.c
/optee_os/core/drivers/bnxt/sub.mk
/optee_os/core/drivers/crypto/caam/hal/sub.mk
/optee_os/core/drivers/sub.mk
/optee_os/core/include/crypto/crypto.h
/optee_os/core/include/crypto/crypto_impl.h
/optee_os/core/include/drivers/bcm/bnxt.h
/optee_os/core/include/drivers/bcm_gpio.h
/optee_os/core/include/drivers/gic.h
/optee_os/core/include/kernel/huk_subkey.h
/optee_os/core/include/kernel/tee_common_otp.h
/optee_os/core/include/kernel/tee_ta_manager.h
/optee_os/core/include/kernel/user_mode_ctx.h
/optee_os/core/include/kernel/user_mode_ctx_struct.h
/optee_os/core/include/mm/fobj.h
/optee_os/core/include/mm/tee_mmu.h
/optee_os/core/include/mm/tee_mmu_types.h
/optee_os/core/include/signed_hdr.h
/optee_os/core/include/tee/tee_cryp_utl.h
/optee_os/core/include/tee/tee_ta_enc_manager.h
/optee_os/core/kernel/huk_subkey.c
/optee_os/core/kernel/msg_param.c
/optee_os/core/kernel/sub.mk
/optee_os/core/kernel/tee_ta_manager.c
/optee_os/core/kernel/user_mode_ctx.c
src/pk/ecc/ecc.c
src/pk/ecc/ecc_find_curve.c
/optee_os/core/mm/fobj.c
/optee_os/core/pta/bcm/bnxt.c
/optee_os/core/pta/bcm/elog.c
/optee_os/core/pta/bcm/gpio.c
/optee_os/core/pta/bcm/hwrng.c
/optee_os/core/pta/bcm/sotp.c
/optee_os/core/pta/bcm/sub.mk
/optee_os/core/pta/bcm/wdt.c
/optee_os/core/pta/secstor_ta_mgmt.c
/optee_os/core/pta/sub.mk
/optee_os/core/pta/system.c
/optee_os/core/pta/tests/invoke.c
/optee_os/core/sub.mk
/optee_os/core/tee/fs_htree.c
/optee_os/core/tee/sub.mk
/optee_os/core/tee/tadb.c
/optee_os/core/tee/tee_cryp_concat_kdf.c
/optee_os/core/tee/tee_cryp_hkdf.c
/optee_os/core/tee/tee_cryp_pbkdf2.c
/optee_os/core/tee/tee_cryp_utl.c
/optee_os/core/tee/tee_fs_key_manager.c
/optee_os/core/tee/tee_rpmb_fs.c
/optee_os/core/tee/tee_svc.c
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/core/tee/tee_svc_storage.c
/optee_os/core/tee/tee_ta_enc_manager.c
/optee_os/ldelf/ftrace.c
/optee_os/ldelf/ftrace.h
/optee_os/ldelf/include/elf_common.h
/optee_os/ldelf/link.mk
/optee_os/ldelf/main.c
/optee_os/ldelf/sub.mk
/optee_os/lib/libmbedtls/include/mbedtls_config_uta.h
/optee_os/lib/libutee/arch/arm/gprof/gprof.c
/optee_os/lib/libutee/arch/arm/sub.mk
/optee_os/lib/libutee/include/tee_api_defines.h
/optee_os/lib/libutee/include/user_ta_header.h
/optee_os/lib/libutee/include/utee_defines.h
/optee_os/lib/libutee/tee_api_operations.c
/optee_os/lib/libutils/ext/arch/arm/mcount_a32.S
/optee_os/lib/libutils/ext/arch/arm/mcount_a64.S
/optee_os/lib/libutils/ext/arch/arm/sub.mk
/optee_os/lib/libutils/ext/ftrace/ftrace.c
/optee_os/lib/libutils/ext/ftrace/ftrace.h
/optee_os/lib/libutils/ext/ftrace/sub.mk
/optee_os/lib/libutils/ext/include/asm.S
/optee_os/lib/libutils/ext/include/compiler.h
/optee_os/lib/libutils/ext/include/trace.h
/optee_os/lib/libutils/ext/sub.mk
/optee_os/lib/libutils/isoc/arch/arm/setjmp_a32.S
/optee_os/lib/libutils/isoc/arch/arm/setjmp_a64.S
/optee_os/lib/libutils/isoc/include/setjmp.h
/optee_os/lib/libutils/isoc/include/stdint.h
/optee_os/mk/clang.mk
/optee_os/mk/compile.mk
/optee_os/mk/config.mk
/optee_os/mk/lib.mk
/optee_os/mk/subdir.mk
/optee_os/scripts/arm32_sysreg.py
/optee_os/scripts/gen_ldelf_hex.py
/optee_os/scripts/gen_tee_bin.py
/optee_os/scripts/mem_usage.py
/optee_os/scripts/sign_encrypt.py
/optee_os/scripts/symbolize.py
/optee_os/scripts/tee_bin_parser.py
/optee_os/scripts/update_changelog.py
/optee_os/ta/arch/arm/link.mk
/optee_os/ta/arch/arm/link_shlib.mk
/optee_os/ta/arch/arm/ta.ld.S
/optee_os/ta/arch/arm/user_ta_header.c
/optee_os/ta/avb/user_ta.mk
/optee_os/ta/mk/ta_dev_kit.mk
/optee_os/ta/ta.mk
a253662b02-Aug-2019 Joakim Bech <joakim.bech@linaro.org>

ltc: check range in _rijndael_ecb_ functions

There is no check that the 'skey' structure has been properly
initialized. For example, the skey->rijndael.Nr is assumed to contain a
positive number cor

ltc: check range in _rijndael_ecb_ functions

There is no check that the 'skey' structure has been properly
initialized. For example, the skey->rijndael.Nr is assumed to contain a
positive number corresponding to the number of AES rounds to perform. In
_rijndael_ecb_encrypt the skey->rijndael.Nr is subtracted by two, which
can result in an integer underflow if the structure hasn't been
initialized correctly.

By clamping the value for skey->rijndael.Nr into the valid rounds for
AES we can return an error instead of ending up reading outside the
boundaries (of skey->rijndael.eK).

Patch manually picked from [1].

Link: [1] https://github.com/libtom/libtomcrypt/commit/7b4a5c1dcf2803e9c6cbcbc2458db9317e6fb8ca
Signed-off-by: Joakim Bech <joakim.bech@linaro.org>
Tested-by: Joakim Bech <joakim.bech@linaro.org> (QEMU v7)
Reported-by: Martijn Bogaard <bogaard@riscure.com>
Acked-by: Jerome Forissier <jerome@forissier.org>

show more ...

c4108ef503-Oct-2019 Luigi Coniglio <werew@ret2libc.com>

Fixes #507 in LTC - vulnerability in der_decode_utf8_string()

Fix a vulnerability in der_decode_utf8_string as specified here:
https://github.com/libtom/libtomcrypt/issues/507

Patch manually picked

Fixes #507 in LTC - vulnerability in der_decode_utf8_string()

Fix a vulnerability in der_decode_utf8_string as specified here:
https://github.com/libtom/libtomcrypt/issues/507

Patch manually picked from:
https://github.com/libtom/libtomcrypt/commit/25c26a3b7a9ad8192ccc923e15cf62bf0108ef94

Signed-off-by: Luigi Coniglio <werew@ret2libc.com>
[Joakim Bech: Extended commit message]
Signed-off-by: Joakim Bech <joakim.bech@linaro.org>
Acked-by: Joakim Bech <joakim.bech@linaro.org>
Tested-by: Joakim Bech <joakim.bech@linaro.org> (QEMU v7)
Acked-by: Jerome Forissier <jerome@forissier.org>

show more ...


/optee_os/.shippable.yml
/optee_os/MAINTAINERS
/optee_os/Makefile
/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/kernel/early_ta.c
/optee_os/core/arch/arm/kernel/thread.c
/optee_os/core/arch/arm/plat-hikey/conf.mk
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-imx/crypto_conf.mk
/optee_os/core/arch/arm/plat-imx/imx.h
/optee_os/core/arch/arm/plat-imx/platform_config.h
/optee_os/core/arch/arm/plat-imx/registers/imx7ulp-crm.h
/optee_os/core/arch/arm/plat-imx/registers/imx7ulp.h
/optee_os/core/arch/arm/plat-rcar/conf.mk
/optee_os/core/core.mk
/optee_os/core/drivers/crypto/caam/caam_ctrl.c
/optee_os/core/drivers/crypto/caam/caam_desc.c
/optee_os/core/drivers/crypto/caam/caam_jr.c
/optee_os/core/drivers/crypto/caam/caam_pwr.c
/optee_os/core/drivers/crypto/caam/caam_rng.c
/optee_os/core/drivers/crypto/caam/hal/common/hal_cfg.c
/optee_os/core/drivers/crypto/caam/hal/common/hal_cfg_dt.c
/optee_os/core/drivers/crypto/caam/hal/common/hal_ctrl.c
/optee_os/core/drivers/crypto/caam/hal/common/hal_jr.c
/optee_os/core/drivers/crypto/caam/hal/common/hal_rng.c
/optee_os/core/drivers/crypto/caam/hal/common/registers/ccb_regs.h
/optee_os/core/drivers/crypto/caam/hal/common/registers/jr_regs.h
/optee_os/core/drivers/crypto/caam/hal/common/registers/rng_regs.h
/optee_os/core/drivers/crypto/caam/hal/common/registers/version_regs.h
/optee_os/core/drivers/crypto/caam/hal/common/sub.mk
/optee_os/core/drivers/crypto/caam/hal/imx_6_7/hal_clk_mx6.c
/optee_os/core/drivers/crypto/caam/hal/imx_6_7/hal_clk_mx7.c
/optee_os/core/drivers/crypto/caam/hal/imx_6_7/hal_clk_mx7ulp.c
/optee_os/core/drivers/crypto/caam/hal/imx_6_7/hal_ctrl.c
/optee_os/core/drivers/crypto/caam/hal/imx_6_7/hal_jr.c
/optee_os/core/drivers/crypto/caam/hal/imx_6_7/registers/ctrl_regs.h
/optee_os/core/drivers/crypto/caam/hal/imx_6_7/sub.mk
/optee_os/core/drivers/crypto/caam/hal/imx_8m/hal_clk.c
/optee_os/core/drivers/crypto/caam/hal/imx_8m/hal_ctrl.c
/optee_os/core/drivers/crypto/caam/hal/imx_8m/hal_jr.c
/optee_os/core/drivers/crypto/caam/hal/imx_8m/registers/ctrl_regs.h
/optee_os/core/drivers/crypto/caam/hal/imx_8m/sub.mk
/optee_os/core/drivers/crypto/caam/hal/ls/hal_clk.c
/optee_os/core/drivers/crypto/caam/hal/ls/hal_ctrl.c
/optee_os/core/drivers/crypto/caam/hal/ls/hal_jr.c
/optee_os/core/drivers/crypto/caam/hal/ls/registers/ctrl_regs.h
/optee_os/core/drivers/crypto/caam/hal/ls/sub.mk
/optee_os/core/drivers/crypto/caam/hal/sub.mk
/optee_os/core/drivers/crypto/caam/hash/caam_hash.c
/optee_os/core/drivers/crypto/caam/hash/sub.mk
/optee_os/core/drivers/crypto/caam/include/caam_common.h
/optee_os/core/drivers/crypto/caam/include/caam_desc_defines.h
/optee_os/core/drivers/crypto/caam/include/caam_desc_helper.h
/optee_os/core/drivers/crypto/caam/include/caam_hal_cfg.h
/optee_os/core/drivers/crypto/caam/include/caam_hal_clk.h
/optee_os/core/drivers/crypto/caam/include/caam_hal_ctrl.h
/optee_os/core/drivers/crypto/caam/include/caam_hal_jr.h
/optee_os/core/drivers/crypto/caam/include/caam_hal_rng.h
/optee_os/core/drivers/crypto/caam/include/caam_hash.h
/optee_os/core/drivers/crypto/caam/include/caam_io.h
/optee_os/core/drivers/crypto/caam/include/caam_jr.h
/optee_os/core/drivers/crypto/caam/include/caam_jr_status.h
/optee_os/core/drivers/crypto/caam/include/caam_pwr.h
/optee_os/core/drivers/crypto/caam/include/caam_rng.h
/optee_os/core/drivers/crypto/caam/include/caam_status.h
/optee_os/core/drivers/crypto/caam/include/caam_trace.h
/optee_os/core/drivers/crypto/caam/include/caam_utils_delay.h
/optee_os/core/drivers/crypto/caam/include/caam_utils_mem.h
/optee_os/core/drivers/crypto/caam/include/caam_utils_sgt.h
/optee_os/core/drivers/crypto/caam/include/caam_utils_status.h
/optee_os/core/drivers/crypto/caam/sub.mk
/optee_os/core/drivers/crypto/caam/utils/sub.mk
/optee_os/core/drivers/crypto/caam/utils/utils_delay.c
/optee_os/core/drivers/crypto/caam/utils/utils_mem.c
/optee_os/core/drivers/crypto/caam/utils/utils_sgt.c
/optee_os/core/drivers/crypto/caam/utils/utils_status.c
/optee_os/core/drivers/crypto/sub.mk
/optee_os/core/kernel/show_conf.c
/optee_os/core/kernel/sub.mk
src/pk/asn1/der/utf8/der_decode_utf8_string.c
/optee_os/core/sub.mk
/optee_os/core/tee/tadb.c
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/ldelf/main.c
/optee_os/lib/libutils/ext/include/compiler.h
/optee_os/mk/checkconf.mk
/optee_os/mk/clang.mk
/optee_os/mk/compile.mk
/optee_os/mk/config.mk
/optee_os/scripts/bin_to_c.py
/optee_os/scripts/llvm-objcopy-wrapper
/optee_os/ta/mk/ta_dev_kit.mk
/optee_os/ta/ta.mk
9e8c816a26-Sep-2019 Jerome Forissier <jerome@forissier.org>

build: make cfg-one-enabled return 'n' instead of an empty string

Modify cfg-one-enabled in the same way the parent commit modified
cfg-all-enabled.

Signed-off-by: Jerome Forissier <jerome@forissie

build: make cfg-one-enabled return 'n' instead of an empty string

Modify cfg-one-enabled in the same way the parent commit modified
cfg-all-enabled.

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

5a913ee720-Aug-2019 Jerome Forissier <jerome@forissier.org>

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")
54d

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>

show more ...


/optee_os/core/arch/arm/crypto/ghash-ce-core_a32.S
/optee_os/core/arch/arm/crypto/ghash-ce-core_a64.S
aes.c
cbc.c
ccm.c
cmac.c
ctr.c
dh.c
dsa.c
ecb.c
ecc.c
gcm.c
hash.c
hmac.c
mpa_desc.c
mpi_desc.c
rsa.c
src/ciphers/aes/aes.c
src/ciphers/aes/aes_armv8a_ce.c
src/ciphers/aes/aes_modes_armv8a_ce_a32.S
src/ciphers/aes/aes_modes_armv8a_ce_a64.S
src/ciphers/aes/aes_tab.c
src/ciphers/aes/sub.mk
src/ciphers/anubis.c
src/ciphers/blowfish.c
src/ciphers/camellia.c
src/ciphers/cast5.c
src/ciphers/des.c
src/ciphers/idea.c
src/ciphers/kasumi.c
src/ciphers/khazad.c
src/ciphers/kseed.c
src/ciphers/multi2.c
src/ciphers/noekeon.c
src/ciphers/rc2.c
src/ciphers/rc5.c
src/ciphers/rc6.c
src/ciphers/safer/safer.c
src/ciphers/safer/safer_tab.c
src/ciphers/safer/saferp.c
src/ciphers/serpent.c
src/ciphers/skipjack.c
src/ciphers/sub.mk
src/ciphers/twofish/twofish.c
src/ciphers/twofish/twofish_tab.c
src/ciphers/xtea.c
src/encauth/ccm/ccm_add_aad.c
src/encauth/ccm/ccm_add_nonce.c
src/encauth/ccm/ccm_done.c
src/encauth/ccm/ccm_init.c
src/encauth/ccm/ccm_memory.c
src/encauth/ccm/ccm_process.c
src/encauth/ccm/ccm_reset.c
src/encauth/ccm/ccm_test.c
src/encauth/ccm/sub.mk
src/encauth/chachapoly/chacha20poly1305_add_aad.c
src/encauth/chachapoly/chacha20poly1305_decrypt.c
src/encauth/chachapoly/chacha20poly1305_done.c
src/encauth/chachapoly/chacha20poly1305_encrypt.c
src/encauth/chachapoly/chacha20poly1305_init.c
src/encauth/chachapoly/chacha20poly1305_memory.c
src/encauth/chachapoly/chacha20poly1305_setiv.c
src/encauth/chachapoly/chacha20poly1305_setiv_rfc7905.c
src/encauth/chachapoly/chacha20poly1305_test.c
src/encauth/eax/eax_addheader.c
src/encauth/eax/eax_decrypt.c
src/encauth/eax/eax_decrypt_verify_memory.c
src/encauth/eax/eax_done.c
src/encauth/eax/eax_encrypt.c
src/encauth/eax/eax_encrypt_authenticate_memory.c
src/encauth/eax/eax_init.c
src/encauth/eax/eax_test.c
src/encauth/gcm/gcm_add_aad.c
src/encauth/gcm/gcm_add_iv.c
src/encauth/gcm/gcm_done.c
src/encauth/gcm/gcm_gf_mult.c
src/encauth/gcm/gcm_init.c
src/encauth/gcm/gcm_memory.c
src/encauth/gcm/gcm_mult_h.c
src/encauth/gcm/gcm_process.c
src/encauth/gcm/gcm_reset.c
src/encauth/gcm/gcm_test.c
src/encauth/gcm/sub.mk
src/encauth/ocb/ocb_decrypt.c
src/encauth/ocb/ocb_decrypt_verify_memory.c
src/encauth/ocb/ocb_done_decrypt.c
src/encauth/ocb/ocb_done_encrypt.c
src/encauth/ocb/ocb_encrypt.c
src/encauth/ocb/ocb_encrypt_authenticate_memory.c
src/encauth/ocb/ocb_init.c
src/encauth/ocb/ocb_ntz.c
src/encauth/ocb/ocb_shift_xor.c
src/encauth/ocb/ocb_test.c
src/encauth/ocb/s_ocb_done.c
src/encauth/ocb3/ocb3_add_aad.c
src/encauth/ocb3/ocb3_decrypt.c
src/encauth/ocb3/ocb3_decrypt_last.c
src/encauth/ocb3/ocb3_decrypt_verify_memory.c
src/encauth/ocb3/ocb3_done.c
src/encauth/ocb3/ocb3_encrypt.c
src/encauth/ocb3/ocb3_encrypt_authenticate_memory.c
src/encauth/ocb3/ocb3_encrypt_last.c
src/encauth/ocb3/ocb3_init.c
src/encauth/ocb3/ocb3_int_ntz.c
src/encauth/ocb3/ocb3_int_xor_blocks.c
src/encauth/ocb3/ocb3_test.c
src/hashes/blake2b.c
src/hashes/blake2s.c
src/hashes/chc/chc.c
src/hashes/helper/hash_file.c
src/hashes/helper/hash_filehandle.c
src/hashes/helper/hash_memory.c
src/hashes/helper/hash_memory_multi.c
src/hashes/helper/sub.mk
src/hashes/md2.c
src/hashes/md4.c
src/hashes/md5.c
src/hashes/rmd128.c
src/hashes/rmd160.c
src/hashes/rmd256.c
src/hashes/rmd320.c
src/hashes/sha1.c
src/hashes/sha1_armv8a_ce.c
src/hashes/sha2/sha224.c
src/hashes/sha2/sha256.c
src/hashes/sha2/sha256_armv8a_ce.c
src/hashes/sha2/sha384.c
src/hashes/sha2/sha512.c
src/hashes/sha2/sha512_224.c
src/hashes/sha2/sha512_256.c
src/hashes/sha3.c
src/hashes/sha3_test.c
src/hashes/tiger.c
src/hashes/whirl/whirl.c
src/hashes/whirl/whirltab.c
src/headers/tomcrypt.h
src/headers/tomcrypt_argchk.h
src/headers/tomcrypt_arm_neon.h
src/headers/tomcrypt_cfg.h
src/headers/tomcrypt_cipher.h
src/headers/tomcrypt_custom.h
src/headers/tomcrypt_hash.h
src/headers/tomcrypt_mac.h
src/headers/tomcrypt_macros.h
src/headers/tomcrypt_math.h
src/headers/tomcrypt_misc.h
src/headers/tomcrypt_pk.h
src/headers/tomcrypt_pkcs.h
src/headers/tomcrypt_private.h
src/headers/tomcrypt_prng.h
src/mac/blake2/blake2bmac.c
src/mac/blake2/blake2bmac_file.c
src/mac/blake2/blake2bmac_memory.c
src/mac/blake2/blake2bmac_memory_multi.c
src/mac/blake2/blake2bmac_test.c
src/mac/blake2/blake2smac.c
src/mac/blake2/blake2smac_file.c
src/mac/blake2/blake2smac_memory.c
src/mac/blake2/blake2smac_memory_multi.c
src/mac/blake2/blake2smac_test.c
src/mac/f9/f9_done.c
src/mac/f9/f9_file.c
src/mac/f9/f9_init.c
src/mac/f9/f9_memory.c
src/mac/f9/f9_memory_multi.c
src/mac/f9/f9_process.c
src/mac/f9/f9_test.c
src/mac/hmac/hmac_done.c
src/mac/hmac/hmac_file.c
src/mac/hmac/hmac_init.c
src/mac/hmac/hmac_memory.c
src/mac/hmac/hmac_memory_multi.c
src/mac/hmac/hmac_process.c
src/mac/hmac/hmac_test.c
src/mac/hmac/sub.mk
src/mac/omac/omac_done.c
src/mac/omac/omac_file.c
src/mac/omac/omac_init.c
src/mac/omac/omac_memory.c
src/mac/omac/omac_memory_multi.c
src/mac/omac/omac_process.c
src/mac/omac/omac_test.c
src/mac/omac/sub.mk
src/mac/pelican/pelican.c
src/mac/pelican/pelican_memory.c
src/mac/pelican/pelican_test.c
src/mac/pmac/pmac_done.c
src/mac/pmac/pmac_file.c
src/mac/pmac/pmac_init.c
src/mac/pmac/pmac_memory.c
src/mac/pmac/pmac_memory_multi.c
src/mac/pmac/pmac_ntz.c
src/mac/pmac/pmac_process.c
src/mac/pmac/pmac_shift_xor.c
src/mac/pmac/pmac_test.c
src/mac/poly1305/poly1305.c
src/mac/poly1305/poly1305_file.c
src/mac/poly1305/poly1305_memory.c
src/mac/poly1305/poly1305_memory_multi.c
src/mac/poly1305/poly1305_test.c
src/mac/xcbc/xcbc_done.c
src/mac/xcbc/xcbc_file.c
src/mac/xcbc/xcbc_init.c
src/mac/xcbc/xcbc_memory.c
src/mac/xcbc/xcbc_memory_multi.c
src/mac/xcbc/xcbc_process.c
src/mac/xcbc/xcbc_test.c
src/math/fp/ltc_ecc_fp_mulmod.c
src/math/gmp_desc.c
src/math/ltm_desc.c
src/math/multi.c
src/math/radix_to_bin.c
src/math/rand_bn.c
src/math/rand_prime.c
src/math/tfm_desc.c
src/misc/adler32.c
src/misc/base16/base16_decode.c
src/misc/base16/base16_encode.c
src/misc/base32/base32_decode.c
src/misc/base32/base32_encode.c
src/misc/base64/base64_decode.c
src/misc/base64/base64_encode.c
src/misc/burn_stack.c
src/misc/compare_testvector.c
src/misc/copy_or_zeromem.c
src/misc/crc32.c
src/misc/crypt/crypt.c
src/misc/crypt/crypt_argchk.c
src/misc/crypt/crypt_cipher_descriptor.c
src/misc/crypt/crypt_cipher_is_valid.c
src/misc/crypt/crypt_constants.c
src/misc/crypt/crypt_find_cipher.c
src/misc/crypt/crypt_find_cipher_any.c
src/misc/crypt/crypt_find_cipher_id.c
src/misc/crypt/crypt_find_hash.c
src/misc/crypt/crypt_find_hash_any.c
src/misc/crypt/crypt_find_hash_id.c
src/misc/crypt/crypt_find_hash_oid.c
src/misc/crypt/crypt_find_prng.c
src/misc/crypt/crypt_fsa.c
src/misc/crypt/crypt_hash_descriptor.c
src/misc/crypt/crypt_hash_is_valid.c
src/misc/crypt/crypt_inits.c
src/misc/crypt/crypt_ltc_mp_descriptor.c
src/misc/crypt/crypt_prng_descriptor.c
src/misc/crypt/crypt_prng_is_valid.c
src/misc/crypt/crypt_prng_rng_descriptor.c
src/misc/crypt/crypt_register_all_ciphers.c
src/misc/crypt/crypt_register_all_hashes.c
src/misc/crypt/crypt_register_all_prngs.c
src/misc/crypt/crypt_register_cipher.c
src/misc/crypt/crypt_register_hash.c
src/misc/crypt/crypt_register_prng.c
src/misc/crypt/crypt_sizes.c
src/misc/crypt/crypt_unregister_cipher.c
src/misc/crypt/crypt_unregister_hash.c
src/misc/crypt/crypt_unregister_prng.c
src/misc/error_to_string.c
src/misc/hkdf/hkdf.c
src/misc/hkdf/hkdf_test.c
src/misc/mem_neq.c
src/misc/padding/padding_depad.c
src/misc/padding/padding_pad.c
src/misc/pbes/pbes.c
src/misc/pbes/pbes1.c
src/misc/pbes/pbes2.c
src/misc/pkcs12/pkcs12_kdf.c
src/misc/pkcs12/pkcs12_utf8_to_utf16.c
src/misc/pkcs5/pkcs_5_1.c
src/misc/pkcs5/pkcs_5_2.c
src/misc/pkcs5/pkcs_5_test.c
src/misc/ssh/ssh_decode_sequence_multi.c
src/misc/ssh/ssh_encode_sequence_multi.c
src/misc/ssh/sub.mk
src/misc/sub.mk
src/misc/zeromem.c
src/modes/cbc/cbc_decrypt.c
src/modes/cbc/cbc_done.c
src/modes/cbc/cbc_encrypt.c
src/modes/cbc/cbc_getiv.c
src/modes/cbc/cbc_setiv.c
src/modes/cbc/cbc_start.c
src/modes/cfb/cfb_decrypt.c
src/modes/cfb/cfb_done.c
src/modes/cfb/cfb_encrypt.c
src/modes/cfb/cfb_getiv.c
src/modes/cfb/cfb_setiv.c
src/modes/cfb/cfb_start.c
src/modes/ctr/ctr_decrypt.c
src/modes/ctr/ctr_done.c
src/modes/ctr/ctr_encrypt.c
src/modes/ctr/ctr_getiv.c
src/modes/ctr/ctr_setiv.c
src/modes/ctr/ctr_start.c
src/modes/ctr/ctr_test.c
src/modes/ctr/sub.mk
src/modes/ecb/ecb_decrypt.c
src/modes/ecb/ecb_done.c
src/modes/ecb/ecb_encrypt.c
src/modes/ecb/ecb_start.c
src/modes/f8/f8_decrypt.c
src/modes/f8/f8_done.c
src/modes/f8/f8_encrypt.c
src/modes/f8/f8_getiv.c
src/modes/f8/f8_setiv.c
src/modes/f8/f8_start.c
src/modes/f8/f8_test_mode.c
src/modes/lrw/lrw_decrypt.c
src/modes/lrw/lrw_done.c
src/modes/lrw/lrw_encrypt.c
src/modes/lrw/lrw_getiv.c
src/modes/lrw/lrw_process.c
src/modes/lrw/lrw_setiv.c
src/modes/lrw/lrw_start.c
src/modes/lrw/lrw_test.c
src/modes/lrw/sub.mk
src/modes/ofb/ofb_decrypt.c
src/modes/ofb/ofb_done.c
src/modes/ofb/ofb_encrypt.c
src/modes/ofb/ofb_getiv.c
src/modes/ofb/ofb_setiv.c
src/modes/ofb/ofb_start.c
src/modes/xts/sub.mk
src/modes/xts/xts_decrypt.c
src/modes/xts/xts_done.c
src/modes/xts/xts_encrypt.c
src/modes/xts/xts_init.c
src/modes/xts/xts_mult_x.c
src/modes/xts/xts_test.c
src/pk/asn1/der/bit/der_decode_bit_string.c
src/pk/asn1/der/bit/der_decode_raw_bit_string.c
src/pk/asn1/der/bit/der_encode_bit_string.c
src/pk/asn1/der/bit/der_encode_raw_bit_string.c
src/pk/asn1/der/bit/der_length_bit_string.c
src/pk/asn1/der/boolean/der_decode_boolean.c
src/pk/asn1/der/boolean/der_encode_boolean.c
src/pk/asn1/der/boolean/der_length_boolean.c
src/pk/asn1/der/choice/der_decode_choice.c
src/pk/asn1/der/custom_type/der_decode_custom_type.c
src/pk/asn1/der/custom_type/der_encode_custom_type.c
src/pk/asn1/der/custom_type/der_length_custom_type.c
src/pk/asn1/der/custom_type/sub.mk
src/pk/asn1/der/general/der_asn1_maps.c
src/pk/asn1/der/general/der_decode_asn1_identifier.c
src/pk/asn1/der/general/der_decode_asn1_length.c
src/pk/asn1/der/general/der_encode_asn1_identifier.c
src/pk/asn1/der/general/der_encode_asn1_length.c
src/pk/asn1/der/general/der_length_asn1_identifier.c
src/pk/asn1/der/general/der_length_asn1_length.c
src/pk/asn1/der/general/sub.mk
src/pk/asn1/der/generalizedtime/der_decode_generalizedtime.c
src/pk/asn1/der/generalizedtime/der_encode_generalizedtime.c
src/pk/asn1/der/generalizedtime/der_length_generalizedtime.c
src/pk/asn1/der/generalizedtime/sub.mk
src/pk/asn1/der/ia5/der_decode_ia5_string.c
src/pk/asn1/der/ia5/der_encode_ia5_string.c
src/pk/asn1/der/ia5/der_length_ia5_string.c
src/pk/asn1/der/integer/der_decode_integer.c
src/pk/asn1/der/integer/der_encode_integer.c
src/pk/asn1/der/integer/der_length_integer.c
src/pk/asn1/der/object_identifier/der_decode_object_identifier.c
src/pk/asn1/der/object_identifier/der_encode_object_identifier.c
src/pk/asn1/der/object_identifier/der_length_object_identifier.c
src/pk/asn1/der/octet/der_decode_octet_string.c
src/pk/asn1/der/octet/der_encode_octet_string.c
src/pk/asn1/der/octet/der_length_octet_string.c
src/pk/asn1/der/printable_string/der_decode_printable_string.c
src/pk/asn1/der/printable_string/der_encode_printable_string.c
src/pk/asn1/der/printable_string/der_length_printable_string.c
src/pk/asn1/der/sequence/der_decode_sequence_ex.c
src/pk/asn1/der/sequence/der_decode_sequence_flexi.c
src/pk/asn1/der/sequence/der_decode_sequence_multi.c
src/pk/asn1/der/sequence/der_encode_sequence_ex.c
src/pk/asn1/der/sequence/der_encode_sequence_multi.c
src/pk/asn1/der/sequence/der_length_sequence.c
src/pk/asn1/der/sequence/der_sequence_free.c
src/pk/asn1/der/sequence/der_sequence_shrink.c
src/pk/asn1/der/sequence/sub.mk
src/pk/asn1/der/set/der_encode_set.c
src/pk/asn1/der/set/der_encode_setof.c
src/pk/asn1/der/short_integer/der_decode_short_integer.c
src/pk/asn1/der/short_integer/der_encode_short_integer.c
src/pk/asn1/der/short_integer/der_length_short_integer.c
src/pk/asn1/der/sub.mk
src/pk/asn1/der/teletex_string/der_decode_teletex_string.c
src/pk/asn1/der/teletex_string/der_length_teletex_string.c
src/pk/asn1/der/utctime/der_decode_utctime.c
src/pk/asn1/der/utctime/der_encode_utctime.c
src/pk/asn1/der/utctime/der_length_utctime.c
src/pk/asn1/der/utf8/der_decode_utf8_string.c
src/pk/asn1/der/utf8/der_encode_utf8_string.c
src/pk/asn1/der/utf8/der_length_utf8_string.c
src/pk/asn1/oid/pk_get_oid.c
src/pk/asn1/oid/pk_oid_cmp.c
src/pk/asn1/oid/pk_oid_str.c
src/pk/asn1/oid/sub.mk
src/pk/asn1/pkcs8/pkcs8_decode_flexi.c
src/pk/asn1/sub.mk
src/pk/asn1/x509/x509_decode_public_key_from_certificate.c
src/pk/asn1/x509/x509_decode_subject_public_key_info.c
src/pk/asn1/x509/x509_encode_subject_public_key_info.c
src/pk/dh/dh.c
src/pk/dh/dh_check_pubkey.c
src/pk/dh/dh_export.c
src/pk/dh/dh_export_key.c
src/pk/dh/dh_free.c
src/pk/dh/dh_generate_key.c
src/pk/dh/dh_import.c
src/pk/dh/dh_make_key.c
src/pk/dh/dh_set.c
src/pk/dh/dh_set_pg_dhparam.c
src/pk/dh/dh_shared_secret.c
src/pk/dh/sub.mk
src/pk/dsa/dsa_decrypt_key.c
src/pk/dsa/dsa_encrypt_key.c
src/pk/dsa/dsa_export.c
src/pk/dsa/dsa_free.c
src/pk/dsa/dsa_generate_key.c
src/pk/dsa/dsa_generate_pqg.c
src/pk/dsa/dsa_import.c
src/pk/dsa/dsa_make_key.c
src/pk/dsa/dsa_set.c
src/pk/dsa/dsa_set_pqg_dsaparam.c
src/pk/dsa/dsa_shared_secret.c
src/pk/dsa/dsa_sign_hash.c
src/pk/dsa/dsa_verify_hash.c
src/pk/dsa/dsa_verify_key.c
src/pk/dsa/sub.mk
src/pk/ec25519/ec25519_export.c
src/pk/ec25519/ec25519_import_pkcs8.c
src/pk/ec25519/tweetnacl.c
src/pk/ecc/ecc.c
src/pk/ecc/ecc_ansi_x963_export.c
src/pk/ecc/ecc_ansi_x963_import.c
src/pk/ecc/ecc_decrypt_key.c
src/pk/ecc/ecc_encrypt_key.c
src/pk/ecc/ecc_export.c
src/pk/ecc/ecc_export_openssl.c
src/pk/ecc/ecc_find_curve.c
src/pk/ecc/ecc_free.c
src/pk/ecc/ecc_get_key.c
src/pk/ecc/ecc_get_oid_str.c
src/pk/ecc/ecc_get_size.c
src/pk/ecc/ecc_import.c
src/pk/ecc/ecc_import_openssl.c
src/pk/ecc/ecc_import_pkcs8.c
src/pk/ecc/ecc_import_x509.c
src/pk/ecc/ecc_make_key.c
src/pk/ecc/ecc_recover_key.c
src/pk/ecc/ecc_set_curve.c
src/pk/ecc/ecc_set_curve_internal.c
src/pk/ecc/ecc_set_key.c
src/pk/ecc/ecc_shared_secret.c
src/pk/ecc/ecc_sign_hash.c
src/pk/ecc/ecc_sizes.c
src/pk/ecc/ecc_ssh_ecdsa_encode_name.c
src/pk/ecc/ecc_verify_hash.c
src/pk/ecc/ltc_ecc_export_point.c
src/pk/ecc/ltc_ecc_import_point.c
src/pk/ecc/ltc_ecc_is_point.c
src/pk/ecc/ltc_ecc_is_point_at_infinity.c
src/pk/ecc/ltc_ecc_map.c
src/pk/ecc/ltc_ecc_mul2add.c
src/pk/ecc/ltc_ecc_mulmod.c
src/pk/ecc/ltc_ecc_mulmod_timing.c
src/pk/ecc/ltc_ecc_points.c
src/pk/ecc/ltc_ecc_projective_add_point.c
src/pk/ecc/ltc_ecc_projective_dbl_point.c
src/pk/ecc/ltc_ecc_verify_key.c
src/pk/ecc/sub.mk
src/pk/ed25519/ed25519_export.c
src/pk/ed25519/ed25519_import.c
src/pk/ed25519/ed25519_import_pkcs8.c
src/pk/ed25519/ed25519_import_x509.c
src/pk/ed25519/ed25519_make_key.c
src/pk/ed25519/ed25519_set_key.c
src/pk/ed25519/ed25519_sign.c
src/pk/ed25519/ed25519_verify.c
src/pk/pkcs1/pkcs_1_i2osp.c
src/pk/pkcs1/pkcs_1_mgf1.c
src/pk/pkcs1/pkcs_1_oaep_decode.c
src/pk/pkcs1/pkcs_1_oaep_encode.c
src/pk/pkcs1/pkcs_1_os2ip.c
src/pk/pkcs1/pkcs_1_pss_decode.c
src/pk/pkcs1/pkcs_1_pss_encode.c
src/pk/pkcs1/pkcs_1_v1_5_decode.c
src/pk/pkcs1/pkcs_1_v1_5_encode.c
src/pk/rsa/rsa_decrypt_key.c
src/pk/rsa/rsa_encrypt_key.c
src/pk/rsa/rsa_export.c
src/pk/rsa/rsa_exptmod.c
src/pk/rsa/rsa_free.c
src/pk/rsa/rsa_get_size.c
src/pk/rsa/rsa_import.c
src/pk/rsa/rsa_import_pkcs8.c
src/pk/rsa/rsa_import_x509.c
src/pk/rsa/rsa_make_key.c
src/pk/rsa/rsa_set.c
src/pk/rsa/rsa_sign_hash.c
src/pk/rsa/rsa_sign_saltlen_get.c
src/pk/rsa/rsa_verify_hash.c
src/pk/x25519/x25519_export.c
src/pk/x25519/x25519_import.c
src/pk/x25519/x25519_import_pkcs8.c
src/pk/x25519/x25519_import_x509.c
src/pk/x25519/x25519_make_key.c
src/pk/x25519/x25519_set_key.c
src/pk/x25519/x25519_shared_secret.c
src/prngs/chacha20.c
src/prngs/fortuna.c
src/prngs/rc4.c
src/prngs/rng_get_bytes.c
src/prngs/rng_make_prng.c
src/prngs/sober128.c
src/prngs/sprng.c
src/prngs/yarrow.c
src/stream/chacha/chacha_crypt.c
src/stream/chacha/chacha_done.c
src/stream/chacha/chacha_ivctr32.c
src/stream/chacha/chacha_ivctr64.c
src/stream/chacha/chacha_keystream.c
src/stream/chacha/chacha_memory.c
src/stream/chacha/chacha_setup.c
src/stream/chacha/chacha_test.c
src/stream/rabbit/rabbit.c
src/stream/rabbit/rabbit_memory.c
src/stream/rc4/rc4_stream.c
src/stream/rc4/rc4_stream_memory.c
src/stream/rc4/rc4_test.c
src/stream/salsa20/salsa20_crypt.c
src/stream/salsa20/salsa20_done.c
src/stream/salsa20/salsa20_ivctr64.c
src/stream/salsa20/salsa20_keystream.c
src/stream/salsa20/salsa20_memory.c
src/stream/salsa20/salsa20_setup.c
src/stream/salsa20/salsa20_test.c
src/stream/salsa20/xsalsa20_memory.c
src/stream/salsa20/xsalsa20_setup.c
src/stream/salsa20/xsalsa20_test.c
src/stream/sober128/sober128_stream.c
src/stream/sober128/sober128_stream_memory.c
src/stream/sober128/sober128_test.c
src/stream/sober128/sober128tab.c
src/stream/sosemanuk/sosemanuk.c
src/stream/sosemanuk/sosemanuk_memory.c
src/stream/sosemanuk/sosemanuk_test.c
sub.mk
tomcrypt.c
xts.c
/optee_os/ldelf/ta_elf_rel.c
/optee_os/lib/libutils/ext/include/compiler.h
bb1d5c3210-Sep-2019 Jerome Forissier <jerome@forissier.org>

core: ltc: aes_modes_armv8a_ce_a64.S: get rid of literal load of addend vector

Cherry pick of Linux kernel commit ed6ed11830a9 ("crypto:
arm64/aes-modes - get rid of literal load of addend vector").

core: ltc: aes_modes_armv8a_ce_a64.S: get rid of literal load of addend vector

Cherry pick of Linux kernel commit ed6ed11830a9 ("crypto:
arm64/aes-modes - get rid of literal load of addend vector"). Original
commit message:

"
Replace the literal load of the addend vector with a sequence that
performs each add individually. This sequence is only 2 instructions
longer than the original, and 2% faster on Cortex-A53.

This is an improvement by itself, but also works around a Clang issue,
whose integrated assembler does not implement the GNU ARM asm syntax
completely, and does not support the =literal notation for FP registers
(more info at https://bugs.llvm.org/show_bug.cgi?id=38642)
"

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

show more ...

12345678910>>...12