/linux/arch/powerpc/crypto/ |
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 5 # Arch-specific CryptoAPI modules. 8 obj-$(CONFIG_CRYPTO_AES_PPC_SPE) += aes-ppc-spe.o 9 obj-$(CONFIG_CRYPTO_MD5_PPC) += md5-ppc.o 10 obj-$(CONFIG_CRYPTO_SHA1_PPC) += sha1-powerpc.o 11 obj-$(CONFIG_CRYPTO_SHA1_PPC_SPE) += sha1-ppc-spe.o 12 obj-$(CONFIG_CRYPTO_SHA256_PPC_SPE) += sha256-ppc-spe.o 13 obj-$(CONFIG_CRYPTO_CRC32C_VPMSUM) += crc32c-vpmsum.o 14 obj-$(CONFIG_CRYPTO_CRCT10DIF_VPMSUM) += crct10dif-vpmsum.o 15 obj-$(CONFIG_CRYPTO_VPMSUM_TESTER) += crc-vpmsum_test.o [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 14 - Little-endian 25 - AltiVec extensions 37 - AltiVec extensions 59 tristate "Hash functions: SHA-1" 62 SHA-1 secure hash algorithm (FIPS 180) 67 tristate "Hash functions: SHA-1 (SPE)" 70 SHA-1 secure hash algorithm (FIPS 180) 73 - SPE (Signal Processing Engine) extensions 76 tristate "Hash functions: SHA-224 and SHA-256 (SPE)" [all …]
|
/linux/arch/arm64/crypto/ |
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0-only 8 obj-$(CONFIG_CRYPTO_SHA1_ARM64_CE) += sha1-ce.o 9 sha1-ce-y := sha1-ce-glue.o sha1-ce-core.o 11 obj-$(CONFIG_CRYPTO_SHA2_ARM64_CE) += sha2-ce.o 12 sha2-ce-y := sha2-ce-glue.o sha2-ce-core.o 14 obj-$(CONFIG_CRYPTO_SHA512_ARM64_CE) += sha512-ce.o 15 sha512-ce-y := sha512-ce-glue.o sha512-ce-core.o 17 obj-$(CONFIG_CRYPTO_SHA3_ARM64) += sha3-ce.o 18 sha3-ce-y := sha3-ce-glue.o sha3-ce-core.o 20 obj-$(CONFIG_CRYPTO_SM3_NEON) += sm3-neon.o [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 13 GCM GHASH function (NIST SP800-38D) 16 - ARMv8 Crypto Extensions 26 - NEON (Advanced SIMD) extensions 37 - NEON (Advanced SIMD) extensions 40 tristate "Hash functions: SHA-1 (ARMv8 Crypto Extensions)" 45 SHA-1 secure hash algorithm (FIPS 180) 48 - ARMv8 Crypto Extensions 51 tristate "Hash functions: SHA-224 and SHA-256" 54 SHA-224 and SHA-256 secure hash algorithms (FIPS 180) [all …]
|
H A D | ghash-ce-glue.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2014 - 2018 Linaro Ltd. <ard.biesheuvel@linaro.org> 11 #include <crypto/aes.h> 12 #include <crypto/gcm.h> 25 MODULE_DESCRIPTION("GHASH and AES-GCM using ARMv8 Crypto Extensions"); 91 gf128mul_lle(&dst, &key->k); in ghash_do_update() 92 } while (--blocks); in ghash_do_update() 108 simd_update(blocks, dg, src, key->h, head); in ghash_do_simd_update() 122 unsigned int partial = ctx->count % GHASH_BLOCK_SIZE; in ghash_update() 124 ctx->count += len; in ghash_update() [all …]
|
/linux/tools/perf/pmu-events/arch/s390/cf_z16/ |
H A D | pai_crypto.json | 3 "Unit": "PAI-CRYPTO", 10 "Unit": "PAI-CRYPTO", 14 "PublicDescription": "KM-DEA function ending with CC=0" 17 "Unit": "PAI-CRYPTO", 21 "PublicDescription": "KM-TDEA-128 function ending with CC=0" 24 "Unit": "PAI-CRYPTO", 28 "PublicDescription": "KM-TDEA-192 function ending with CC=0" 31 "Unit": "PAI-CRYPTO", 35 "PublicDescription": "KM-Encrypted-DEA function ending with CC=0" 38 "Unit": "PAI-CRYPTO", [all …]
|
/linux/drivers/crypto/ccp/ |
H A D | ccp-crypto-aes-galois.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * AMD Cryptographic Coprocessor (CCP) AES GCM crypto API support 17 #include <crypto/aes.h> 19 #include <crypto/gcm.h> 22 #include "ccp-crypto.h" 36 ctx->u.aes.type = CCP_AES_TYPE_128; in ccp_aes_gcm_setkey() 39 ctx->u.aes.type = CCP_AES_TYPE_192; in ccp_aes_gcm_setkey() 42 ctx->u.aes.type = CCP_AES_TYPE_256; in ccp_aes_gcm_setkey() 45 return -EINVAL; in ccp_aes_gcm_setkey() 48 ctx->u.aes.mode = CCP_AES_MODE_GCM; in ccp_aes_gcm_setkey() [all …]
|
/linux/lib/crypto/ |
H A D | aesgcm.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Minimal library implementation of GCM 11 #include <crypto/gcm.h> 22 * In AES-GCM, both the GHASH key derivation and the CTR mode in aesgcm_encrypt_block() 24 * timing attacks on the encryption key. The AES library already in aesgcm_encrypt_block() 25 * mitigates this risk to some extent by pulling the entire S-box into in aesgcm_encrypt_block() 35 * aesgcm_expandkey - Expands the AES and GHASH keys for the AES-GCM key 38 * @ctx: The data structure that will hold the AES-GCM key schedule 39 * @key: The AES encryption input key 41 * @authsize: The size in bytes of the GCM authentication tag [all …]
|
/linux/arch/s390/crypto/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 18 tristate "Hash functions: SHA-384 and SHA-512" 22 SHA-384 and SHA-512 secure hash algorithms (FIPS 180) 29 tristate "Hash functions: SHA-1" 33 SHA-1 secure hash algorithm (FIPS 180) 40 tristate "Hash functions: SHA-224 and SHA-256" 44 SHA-224 and SHA-256 secure hash algorithms (FIPS 180) 51 tristate "Hash functions: SHA3-224 and SHA3-256" 55 SHA3-224 and SHA3-256 secure hash algorithms (FIPS 202) 62 tristate "Hash functions: SHA3-384 and SHA3-512" [all …]
|
/linux/Documentation/devicetree/bindings/crypto/ |
H A D | xlnx,zynqmp-aes.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/crypto/xlnx,zynqmp-aes.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Xilinx ZynqMP AES-GCM Hardware Accelerator 10 - Kalyani Akula <kalyani.akula@amd.com> 11 - Michal Simek <michal.simek@amd.com> 14 The ZynqMP AES-GCM hardened cryptographic accelerator is used to 19 const: xlnx,zynqmp-aes 22 - compatible [all …]
|
H A D | nvidia,tegra234-se-aes.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/crypto/nvidia,tegra234-se-aes.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: NVIDIA Tegra Security Engine for AES algorithms 10 The Tegra Security Engine accelerates the following AES encryption/decryption 11 algorithms - AES-ECB, AES-CBC, AES-OFB, AES-XTS, AES-CTR, AES-GCM, AES-CCM, 12 AES-CMAC 15 - Akhil R <akhilrajeev@nvidia.com> 19 const: nvidia,tegra234-se-aes [all …]
|
/linux/drivers/crypto/nx/ |
H A D | nx-aes-gcm.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * AES GCM routines supporting the Power 7+ Nest Accelerators driver 11 #include <crypto/aes.h> 13 #include <crypto/gcm.h> 28 struct nx_csbcpb *csbcpb = nx_ctx->csbcpb; in gcm_aes_nx_set_key() 29 struct nx_csbcpb *csbcpb_aead = nx_ctx->csbcpb_aead; in gcm_aes_nx_set_key() 37 nx_ctx->ap = &nx_ctx->props[NX_PROPS_AES_128]; in gcm_aes_nx_set_key() 42 nx_ctx->ap = &nx_ctx->props[NX_PROPS_AES_192]; in gcm_aes_nx_set_key() 47 nx_ctx->ap = &nx_ctx->props[NX_PROPS_AES_256]; in gcm_aes_nx_set_key() 50 return -EINVAL; in gcm_aes_nx_set_key() [all …]
|
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 obj-$(CONFIG_CRYPTO_DEV_NX_ENCRYPT) += nx-crypto.o 3 nx-crypto-objs := nx.o \ 4 nx-aes-cbc.o \ 5 nx-aes-ecb.o \ 6 nx-aes-gcm.o \ 7 nx-aes-ccm.o \ 8 nx-aes-ctr.o \ 9 nx-aes-xcbc.o \ 10 nx-sha256.o \ [all …]
|
/linux/drivers/crypto/intel/keembay/ |
H A D | Kconfig | 2 tristate "Support for Intel Keem Bay OCS AES/SM4 HW acceleration" 9 Support for Intel Keem Bay Offload and Crypto Subsystem (OCS) AES and 13 cbc(aes), ctr(aes), ccm(aes), gcm(aes), cbc(sm4), ctr(sm4), ccm(sm4) 14 and gcm(sm4). 17 enabled: ecb(aes), cts(cbc(aes)), ecb(sm4) and cts(cbc(sm4)). 20 bool "Support for Intel Keem Bay OCS AES/SM4 ECB HW acceleration" 24 AES/SM4 ECB mode hardware acceleration for use with Crypto API. 26 Provides OCS version of ecb(aes) and ecb(sm4) 28 Intel does not recommend use of ECB mode with AES/SM4. 31 bool "Support for Intel Keem Bay OCS AES/SM4 CTS HW acceleration" [all …]
|
/linux/security/keys/trusted-keys/ |
H A D | trusted_dcp.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 #include <crypto/aes.h> 9 #include <crypto/gcm.h> 11 #include <keys/trusted-type.h> 12 #include <linux/key-type.h> 25 * The Data Co-Processor (DCP) provides hardware-bound AES keys using its 26 * AES encryption engine only. It does not provide direct key sealing/unsealing. 28 * our own custom format that uses a hardware-bound key to secure the sealing 31 * Whenever a new trusted key using DCP is generated, we generate a random 128-bit 32 * blob encryption key (BEK) and 128-bit nonce. The BEK and nonce are used to [all …]
|
/linux/drivers/crypto/ccree/ |
H A D | cc_aead.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Copyright (C) 2012-2019 ARM Limited (or its affiliates). */ 15 /* mac_cmp - HW writes 8 B but all bytes hold the same value */ 20 /* defines for AES GCM configuration buffer */ 28 /* Offsets into AES CCM configuration buffer */ 39 ccm_header_size_null = -1, 49 * Used for both: digest HW compare and CCM/GCM MAC value 54 //used in gcm 75 //used in gcm 76 /* buffer for internal gcm configurations */ [all …]
|
/linux/tools/testing/selftests/net/ |
H A D | l2tp.sh | 2 # SPDX-License-Identifier: GPL-2.0 6 # host-1 | router | host-2 30 if [ ${rc} -eq ${expected} ]; then 31 printf "TEST: %-60s [ OK ]\n" "${msg}" 36 printf "TEST: %-60s [FAIL]\n" "${msg}" 63 if [ "$VERBOSE" = "1" -a -n "$out" ]; then 81 [ -z "${addr}" ] && addr="-" 82 [ -z "${addr6}" ] && addr6="-" 84 if [ "${addr}" != "-" ]; then 85 ip -netns ${ns} addr add dev lo ${addr} [all …]
|
/linux/arch/x86/crypto/ |
H A D | aesni-intel_glue.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Support for AES-NI and VAES instructions. This file contains glue code. 4 * The real AES implementations are in aesni-intel_asm.S and other .S files. 9 * Added RFC4106 AES-GCM support for 128-bit keys under the AEAD 10 * interface for 64-bit kernels. 25 #include <crypto/aes.h> 28 #include <crypto/gcm.h> 44 #define AES_BLOCK_MASK (~(AES_BLOCK_SIZE - 1)) 45 #define AESNI_ALIGN_EXTRA ((AESNI_ALIGN - 1) & ~(CRYPTO_MINALIGN - 1)) 193 nbytes &= AES_BLOCK_SIZE - 1; in ecb_encrypt() [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 14 - ADX (large integer arithmetic) 17 tristate "Ciphers: AES, modes: ECB, CBC, CTS, CTR, XCTR, XTS, GCM (AES-NI/VAES)" 26 Block cipher: AES cipher algorithms 27 AEAD cipher: AES with GCM 28 Length-preserving ciphers: AES with ECB, CBC, CTS, CTR, XCTR, XTS 30 Architecture: x86 (32-bit and 64-bit) using: 31 - AES-NI (AES new instructions) 32 - VAES (Vector AES) 34 Some algorithm implementations are supported only in 64-bit builds, [all …]
|
H A D | aes-gcm-avx10-x86_64.S | 1 /* SPDX-License-Identifier: Apache-2.0 OR BSD-2-Clause */ 3 // VAES and VPCLMULQDQ optimized AES-GCM for x86_64 9 //------------------------------------------------------------------------------ 11 // This file is dual-licensed, meaning that you can use it under your choice of 17 // http://www.apache.org/licenses/LICENSE-2.0 49 //------------------------------------------------------------------------------ 51 // This file implements AES-GCM (Galois/Counter Mode) for x86_64 CPUs that 52 // support VAES (vector AES), VPCLMULQDQ (vector carryless multiplication), and 54 // decryption update functions which are the most performance-critical, are 55 // provided in two variants generated from a macro: one using 256-bit vectors [all …]
|
H A D | aes-gcm-aesni-x86_64.S | 1 /* SPDX-License-Identifier: Apache-2.0 OR BSD-2-Clause */ 3 // AES-NI optimized AES-GCM for x86_64 9 //------------------------------------------------------------------------------ 11 // This file is dual-licensed, meaning that you can use it under your choice of 17 // http://www.apache.org/licenses/LICENSE-2.0 49 //------------------------------------------------------------------------------ 51 // This file implements AES-GCM (Galois/Counter Mode) for x86_64 CPUs that 52 // support the original set of AES instructions, i.e. AES-NI. Two 55 // that the AVX implementation takes advantage of VEX-coded instructions in some 57 // implementation does *not* use 256-bit vectors, as AES is not supported on [all …]
|
/linux/crypto/ |
H A D | tcrypt.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 9 * Copyright (c) 2002 Jean-Francois Dive <jef@linuxbe.org> 12 * Updated RFC4106 AES-GCM testing. 91 while (i-- > 0) in testmgr_alloc_buf() 94 return -ENOMEM; in testmgr_alloc_buf() 109 int np = (buflen + PAGE_SIZE - 1)/PAGE_SIZE; in sg_init_aead() 124 np--; in sg_init_aead() 134 struct crypto_wait *wait = req->base.data; in do_one_aead_op() 185 return -ENOMEM; in test_mb_aead_jiffies() 212 return -ENOMEM; in test_mb_aead_cycles() [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 149 cbc(aes). 168 cbc(aes). 171 bool "Disable run-time self tests" 174 Disable run-time self tests that normally take place at 178 bool "Enable extra run-time crypto self tests" 181 Enable extra run-time self tests of registered crypto algorithms, 247 menu "Public-key cryptography" 250 tristate "RSA (Rivest-Shamir-Adleman)" 257 RSA (Rivest-Shamir-Adleman) public key algorithm (RFC8017) [all …]
|
/linux/arch/arm/crypto/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 14 - NEON (Advanced SIMD) extensions 25 GCM GHASH function (NIST SP800-38D) 28 - PMULL (Polynomial Multiply Long) instructions 29 - NEON (Advanced SIMD) extensions 30 - ARMv8 Crypto Extensions 32 Use an implementation of GHASH (used by the GCM AEAD chaining mode) 45 - NEON (Advanced SIMD) extensions 55 - NEON (Advanced SIMD) extensions 78 - NEON (Advanced SIMD) extensions [all …]
|
/linux/net/xfrm/ |
H A D | xfrm_algo.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 29 .name = "rfc4106(gcm(aes))", 48 .name = "rfc4106(gcm(aes))", 67 .name = "rfc4106(gcm(aes))", 86 .name = "rfc4309(ccm(aes))", 105 .name = "rfc4309(ccm(aes))", 124 .name = "rfc4309(ccm(aes))", 143 .name = "rfc4543(gcm(aes))", 314 .name = "xcbc(aes)", 334 .name = "cmac(aes)", [all …]
|