linux/arch/arm64/crypto
Ard Biesheuvel 6be141eb36 ANDROID: crypto: fips140 - perform load time integrity check
In order to comply with FIPS 140-2 requirements, implement a fips140
module that carries all AES, SHA-xxx and DRBG implementations with the
associated chaining mode templates, and perform an integrity selfcheck
at load time. The algorithms contained in the module will be registered
with the crypto API, and will supersede any existing copies of the same
algorithms that were already being provided by the core kernel.

Bug: 153614920
Bug: 188620248
Test: boot tested on Pixel hw both with and without a live algo ('hmac(sha1-ce)')
Change-Id: Ia893d9992fc12e2617d1ed2899c9794859c389d1
Signed-off-by: Ard Biesheuvel <ardb@google.com>
2021-06-11 07:49:58 +00:00
..
.gitignore SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
aes-ce-ccm-core.S crypto: arm64 - Use modern annotations for assembly functions 2019-12-20 14:58:35 +08:00
aes-ce-ccm-glue.c crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN 2020-01-09 11:30:53 +08:00
aes-ce-core.S crypto: arm64 - Use modern annotations for assembly functions 2019-12-20 14:58:35 +08:00
aes-ce-glue.c crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN 2020-01-09 11:30:53 +08:00
aes-ce-setkey.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
aes-ce.S arm64: crypto: Modernize names for AES function macros 2020-03-09 17:35:04 +00:00
aes-cipher-core.S crypto: arm64 - Use modern annotations for assembly functions 2019-12-20 14:58:35 +08:00
aes-cipher-glue.c crypto: arm64/aes-ce-cipher - use AES library as fallback 2019-07-26 14:58:09 +10:00
aes-glue.c FROMLIST: crypto: arm64/aes-ce - stop using SIMD helper for skciphers 2021-06-03 15:25:42 +00:00
aes-modes.S BACKPORT: arm64: fpsimd: run kernel mode NEON with softirqs disabled 2021-05-13 07:53:33 +00:00
aes-neon.S arm64: crypto: Modernize names for AES function macros 2020-03-09 17:35:04 +00:00
aes-neonbs-core.S UPSTREAM: crypto: arm64/aes-neonbs - remove NEON yield calls 2021-05-13 07:53:32 +00:00
aes-neonbs-glue.c FROMLIST: crypto: arm64/aes-neonbs - stop using SIMD helper for skciphers 2021-06-03 15:25:42 +00:00
chacha-neon-core.S crypto: arm64 - Use modern annotations for assembly functions 2019-12-20 14:58:35 +08:00
chacha-neon-glue.c crypto: arch/lib - limit simd usage to 4k chunks 2020-04-30 15:16:59 +10:00
crct10dif-ce-core.S UPSTREAM: crypto: arm64/crc-t10dif - move NEON yield to C code 2021-05-13 07:53:32 +00:00
crct10dif-ce-glue.c UPSTREAM: crypto: arm64/crc-t10dif - move NEON yield to C code 2021-05-13 07:53:32 +00:00
ghash-ce-core.S UPSTREAM: crypto: arm64/gcm - move authentication tag check to SIMD domain 2021-05-13 07:53:32 +00:00
ghash-ce-glue.c UPSTREAM: crypto: arm64/gcm - move authentication tag check to SIMD domain 2021-05-13 07:53:32 +00:00
Kbuild.fips140 ANDROID: crypto: fips140 - perform load time integrity check 2021-06-11 07:49:58 +00:00
Kconfig FROMLIST: crypto: arm64/aes-ce - stop using SIMD helper for skciphers 2021-06-03 15:25:42 +00:00
Makefile crypto: arm64/poly1305 - incorporate OpenSSL/CRYPTOGAMS NEON implementation 2019-11-17 09:02:41 +08:00
nh-neon-core.S crypto: arm64 - Use modern annotations for assembly functions 2019-12-20 14:58:35 +08:00
nhpoly1305-neon-glue.c crypto: arch/nhpoly1305 - process in explicit 4k chunks 2020-04-30 15:16:59 +10:00
poly1305-armv8.pl crypto: arm64/poly1305-neon - reorder PAC authentication with SP update 2020-12-30 11:53:02 +01:00
poly1305-core.S_shipped crypto: arm64/poly1305-neon - reorder PAC authentication with SP update 2020-12-30 11:53:02 +01:00
poly1305-glue.c crypto: poly1305 - fix poly1305_core_setkey() declaration 2021-05-14 09:50:13 +02:00
sha1-ce-core.S BACKPORT: arm64: fpsimd: run kernel mode NEON with softirqs disabled 2021-05-13 07:53:33 +00:00
sha1-ce-glue.c UPSTREAM: crypto: arm64/sha1-ce - simplify NEON yield 2021-05-13 07:53:31 +00:00
sha2-ce-core.S BACKPORT: arm64: fpsimd: run kernel mode NEON with softirqs disabled 2021-05-13 07:53:33 +00:00
sha2-ce-glue.c UPSTREAM: crypto: arm64/sha2-ce - simplify NEON yield 2021-05-13 07:53:31 +00:00
sha3-ce-core.S BACKPORT: arm64: fpsimd: run kernel mode NEON with softirqs disabled 2021-05-13 07:53:33 +00:00
sha3-ce-glue.c UPSTREAM: crypto: arm64/sha3-ce - simplify NEON yield 2021-05-13 07:53:31 +00:00
sha256-core.S_shipped crypto: clarify licensing of OpenSSL asm code 2018-05-31 00:13:44 +08:00
sha256-glue.c crypto: lib/sha1 - remove unnecessary includes of linux/cryptohash.h 2020-05-08 15:32:17 +10:00
sha512-armv8.pl crypto: clarify licensing of OpenSSL asm code 2018-05-31 00:13:44 +08:00
sha512-ce-core.S BACKPORT: arm64: fpsimd: run kernel mode NEON with softirqs disabled 2021-05-13 07:53:33 +00:00
sha512-ce-glue.c UPSTREAM: crypto: arm64/sha512-ce - simplify NEON yield 2021-05-13 07:53:31 +00:00
sha512-core.S_shipped crypto: clarify licensing of OpenSSL asm code 2018-05-31 00:13:44 +08:00
sha512-glue.c crypto: lib/sha1 - remove unnecessary includes of linux/cryptohash.h 2020-05-08 15:32:17 +10:00
sm3-ce-core.S crypto: arm64 - Use modern annotations for assembly functions 2019-12-20 14:58:35 +08:00
sm3-ce-glue.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sm4-ce-core.S crypto: arm64 - Use modern annotations for assembly functions 2019-12-20 14:58:35 +08:00
sm4-ce-glue.c crypto: arm64 - convert to use crypto_simd_usable() 2019-03-22 20:57:27 +08:00