| /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_AES_GCM_P10) += aes-gcm-p10-crypto.o 10 obj-$(CONFIG_CRYPTO_DEV_VMX_ENCRYPT) += vmx-crypto.o 12 aes-ppc-spe-y := aes-spe-core.o aes-spe-keys.o aes-tab-4k.o aes-spe-modes.o aes-spe-glue.o 13 aes-gcm-p10-crypto-y := aes-gcm-p10-glue.o aes-gcm-p10.o ghashp10-ppc.o aesp10-ppc.o 14 vmx-crypto-objs := vmx.o aesp8-ppc.o ghashp8-ppc.o aes.o aes_cbc.o aes_ctr.o aes_xts.o ghash.o 17 override flavour := linux-ppc64le 20 override flavour := linux-ppc64-elfv2 [all …]
|
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 6 tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (SPE)" 10 Block ciphers: AES cipher algorithms (FIPS-197) 11 Length-preserving ciphers: AES with ECB, CBC, CTR, and XTS modes 14 - SPE (Signal Processing Engine) extensions 17 - Processor Type: Freescale 8500 18 - CPU selection: e500 (8540) 21 without hardware AES acceleration (e.g. caam crypto). It reduces the 22 size of the AES tables from 16KB to 8KB + 256 bytes and mitigates 25 tables or 256 bytes S-boxes. [all …]
|
| /linux/arch/arm64/crypto/ |
| H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0-only 8 obj-$(CONFIG_CRYPTO_SHA3_ARM64) += sha3-ce.o 9 sha3-ce-y := sha3-ce-glue.o sha3-ce-core.o 11 obj-$(CONFIG_CRYPTO_SM3_NEON) += sm3-neon.o 12 sm3-neon-y := sm3-neon-glue.o sm3-neon-core.o 14 obj-$(CONFIG_CRYPTO_SM3_ARM64_CE) += sm3-ce.o 15 sm3-ce-y := sm3-ce-glue.o sm3-ce-core.o 17 obj-$(CONFIG_CRYPTO_SM4_ARM64_CE) += sm4-ce-cipher.o 18 sm4-ce-cipher-y := sm4-ce-cipher-glue.o sm4-ce-cipher-core.o 20 obj-$(CONFIG_CRYPTO_SM4_ARM64_CE_BLK) += sm4-ce.o [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/tools/perf/pmu-events/arch/s390/cf_z17/ |
| 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/arch/s390/crypto/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 6 tristate "Hash functions: SHA3-224 and SHA3-256" 9 SHA3-224 and SHA3-256 secure hash algorithms (FIPS 202) 16 tristate "Hash functions: SHA3-384 and SHA3-512" 19 SHA3-384 and SHA3-512 secure hash algorithms (FIPS 202) 29 GCM GHASH hash function (NIST SP800-38D) 36 tristate "Ciphers: AES, modes: ECB, CBC, CTR, XTS, GCM" 40 Block cipher: AES cipher algorithms (FIPS 197) 41 AEAD cipher: AES with GCM 42 Length-preserving ciphers: AES with ECB, CBC, XTS, and CTR modes [all …]
|
| /linux/lib/crypto/ |
| H A D | aesgcm.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Minimal library implementation of GCM 9 #include <crypto/gcm.h> 21 * In AES-GCM, both the GHASH key derivation and the CTR mode in aesgcm_encrypt_block() 23 * timing attacks on the encryption key. The AES library already in aesgcm_encrypt_block() 24 * mitigates this risk to some extent by pulling the entire S-box into in aesgcm_encrypt_block() 34 * aesgcm_expandkey - Expands the AES and GHASH keys for the AES-GCM key 37 * @ctx: The data structure that will hold the AES-GCM key schedule 38 * @key: The AES encryption input key 40 * @authsize: The size in bytes of the GCM authentication tag [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/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> 27 #include <crypto/gcm.h> 43 #define AES_BLOCK_MASK (~(AES_BLOCK_SIZE - 1)) 44 #define AESNI_ALIGN_EXTRA ((AESNI_ALIGN - 1) & ~(CRYPTO_MINALIGN - 1)) 170 nbytes &= AES_BLOCK_SIZE - 1; in ecb_encrypt() [all …]
|
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 6 tristate "Ciphers: AES, modes: ECB, CBC, CTS, CTR, XCTR, XTS, GCM (AES-NI/VAES)" 13 Block cipher: AES cipher algorithms 14 AEAD cipher: AES with GCM 15 Length-preserving ciphers: AES with ECB, CBC, CTS, CTR, XCTR, XTS 17 Architecture: x86 (32-bit and 64-bit) using: 18 - AES-NI (AES new instructions) 19 - VAES (Vector AES) 21 Some algorithm implementations are supported only in 64-bit builds, 32 Length-preserving ciphers: Blowfish with ECB and CBC modes [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 …]
|
| H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 5 obj-$(CONFIG_CRYPTO_TWOFISH_586) += twofish-i586.o 6 twofish-i586-y := twofish-i586-asm_32.o twofish_glue.o 7 obj-$(CONFIG_CRYPTO_TWOFISH_X86_64) += twofish-x86_64.o 8 twofish-x86_64-y := twofish-x86_64-asm_64.o twofish_glue.o 9 obj-$(CONFIG_CRYPTO_TWOFISH_X86_64_3WAY) += twofish-x86_64-3way.o 10 twofish-x86_64-3way-y := twofish-x86_64-asm_64-3way.o twofish_glue_3way.o 11 obj-$(CONFIG_CRYPTO_TWOFISH_AVX_X86_64) += twofish-avx-x86_64.o 12 twofish-avx-x86_64-y := twofish-avx-x86_64-asm_64.o twofish_avx_glue.o 14 obj-$(CONFIG_CRYPTO_SERPENT_SSE2_586) += serpent-sse2-i586.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/arm/crypto/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 14 GCM GHASH function (NIST SP800-38D) 17 - PMULL (Polynomial Multiply Long) instructions 18 - NEON (Advanced SIMD) extensions 19 - ARMv8 Crypto Extensions 21 Use an implementation of GHASH (used by the GCM AEAD chaining mode) 34 - NEON (Advanced SIMD) extensions 44 - NEON (Advanced SIMD) extensions 49 much faster than the SHA-2 family and slightly faster than 50 SHA-1. [all …]
|
| /linux/drivers/crypto/nx/ |
| 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/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(ae [all...] |
| /linux/crypto/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 156 cbc(aes), and the support for the crypto self-tests. 175 cbc(aes). 178 bool "Enable cryptographic self-tests" 181 Enable the cryptographic self-tests. 183 The cryptographic self-tests run at boot time, or at algorithm 188 - Development and pre-release testing. In this case, also enable 192 - Production kernels, to help prevent buggy drivers from being used 193 and/or meet FIPS 140-3 pre-operational testing requirements. In 197 bool "Enable the full set of cryptographic self-tests" [all …]
|
| /linux/arch/riscv/crypto/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 6 tristate "Ciphers: AES, modes: ECB, CBC, CTS, CTR, XTS" 12 Block cipher: AES cipher algorithms 13 Length-preserving ciphers: AES with ECB, CBC, CTS, CTR, XTS 16 - Zvkned vector crypto extension 17 - Zvbb vector extension (XTS) 18 - Zvkb vector crypto extension (CTR) 19 - Zvkg vector crypto extension (XTS) 26 GCM GHASH function (NIST SP 800-38D) 29 - Zvkg vector crypto extension [all …]
|
| /linux/drivers/crypto/bcm/ |
| H A D | cipher.h | 2 /* SPDX-License-Identifier: GPL-2.0-only */ 11 #include <linux/mailbox/brcm-message.h> 13 #include <crypto/aes.h> 18 #include <crypto/gcm.h> 41 /* size of salt value for AES-GCM-ESP and AES-CCM-ESP */ 53 * Maximum number of bytes from a non-final hash request that can be deferred 59 /* Force at least 4-byte alignment of all SPU message fields */ 80 * SPUM_NS2 and SPUM_NSP are the SPU-M block on Northstar 2 and Northstar Plus, 126 * SPU request message header. For SPU-M, holds MH, EMH, SCTX, BDESC, 140 /* SPU-M request message STATUS field */ [all …]
|
| H A D | spu.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 8 * SPU message formats: SPU-M and SPU2. The hardware uses different values to 9 * identify the same things in SPU-M vs SPU2. So this file defines values that 12 * spu.c and spu2.c convert these to hardware-specific values. 135 /* length of hash pad. signed, needs to handle roll-overs */ 142 u8 aad_pad_len; /* For AES GCM/CCM, length of padding after AAD */ 143 u8 data_pad_len;/* For AES GCM/CCM, length of padding after data */ 153 /* Max length of padding for 4-byte alignment of STATUS field */ 156 /* Max length of pad fragment. 4 is for 4-byte alignment of STATUS field */ 160 /* GCM and CCM require 16-byte alignment */ [all …]
|