/Linux-v5.10/Documentation/crypto/ |
D | architecture.rst | 5 ---------------------- 10 - Symmetric ciphers 12 - AEAD ciphers 14 - Message digest, including keyed message digest 16 - Random number generation 18 - User space interface 21 --------------------- 30 a caller or invoked together with a template to form multi-block ciphers 38 - aes 40 - ecb(aes) [all …]
|
/Linux-v5.10/drivers/crypto/ccp/ |
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-v5.10/Documentation/devicetree/bindings/crypto/ |
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 Device Tree Bindings 10 - Kalyani Akula <kalyani.akula@xilinx.com> 11 - Michal Simek <michal.simek@xilinx.com> 14 The ZynqMP AES-GCM hardened cryptographic accelerator is used to 19 const: xlnx,zynqmp-aes 22 - compatible [all …]
|
/Linux-v5.10/drivers/crypto/ccree/ |
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-v5.10/drivers/crypto/nx/ |
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 …]
|
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 \ 5 nx-aes-cbc.o \ 6 nx-aes-ecb.o \ 7 nx-aes-gcm.o \ 8 nx-aes-ccm.o \ 9 nx-aes-ctr.o \ 10 nx-aes-xcbc.o \ 11 nx-sha256.o \ [all …]
|
/Linux-v5.10/tools/testing/selftests/net/ |
D | l2tp.sh | 2 # SPDX-License-Identifier: GPL-2.0 6 # host-1 | router | host-2 29 if [ ${rc} -eq ${expected} ]; then 30 printf "TEST: %-60s [ OK ]\n" "${msg}" 35 printf "TEST: %-60s [FAIL]\n" "${msg}" 62 if [ "$VERBOSE" = "1" -a -n "$out" ]; then 80 [ -z "${addr}" ] && addr="-" 81 [ -z "${addr6}" ] && addr6="-" 85 ip -netns ${ns} link set lo up 86 if [ "${addr}" != "-" ]; then [all …]
|
/Linux-v5.10/drivers/crypto/xilinx/ |
D | zynqmp-aes-gcm.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Xilinx ZynqMP AES Driver. 7 #include <crypto/aes.h> 9 #include <crypto/gcm.h> 13 #include <linux/dma-mapping.h> 18 #include <linux/firmware/xlnx-zynqmp.h> 82 struct device *dev = tfm_ctx->dev; in zynqmp_aes_aead_cipher() 92 if (tfm_ctx->keysrc == ZYNQMP_AES_KUP_KEY) in zynqmp_aes_aead_cipher() 93 dma_size = req->cryptlen + ZYNQMP_AES_KEY_SIZE in zynqmp_aes_aead_cipher() 96 dma_size = req->cryptlen + GCM_AES_IV_SIZE; in zynqmp_aes_aead_cipher() [all …]
|
D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0-only 2 obj-$(CONFIG_CRYPTO_DEV_ZYNQMP_AES) += zynqmp-aes-gcm.o
|
/Linux-v5.10/drivers/crypto/mediatek/ |
D | mtk-aes.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Driver for EIP97 AES acceleration. 9 * Some ideas are from atmel-aes.c drivers. 12 #include <crypto/aes.h> 13 #include <crypto/gcm.h> 15 #include "mtk-platform.h" 20 & ~(AES_BLOCK_SIZE - 1)) 27 /* AES-CBC/ECB/CTR/OFB/CFB command token */ 31 /* AES-GCM command token */ 40 /* AES transform information word 0 fields */ [all …]
|
/Linux-v5.10/net/xfrm/ |
D | xfrm_algo.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 28 .name = "rfc4106(gcm(aes))", 47 .name = "rfc4106(gcm(aes))", 66 .name = "rfc4106(gcm(aes))", 85 .name = "rfc4309(ccm(aes))", 104 .name = "rfc4309(ccm(aes))", 123 .name = "rfc4309(ccm(aes))", 142 .name = "rfc4543(gcm(aes))", 313 .name = "xcbc(aes)", 333 .name = "cmac(aes)", [all …]
|
/Linux-v5.10/arch/arm64/crypto/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 13 tristate "SHA-224/SHA-256 digest algorithm for arm64" 17 tristate "SHA-384/SHA-512 digest algorithm for arm64" 21 tristate "SHA-1 digest algorithm (ARMv8 Crypto Extensions)" 27 tristate "SHA-224/SHA-256 digest algorithm (ARMv8 Crypto Extensions)" 33 tristate "SHA-384/SHA-512 digest algorithm (ARMv8 Crypto Extensions)" 57 tristate "GHASH/AES-GCM using ARMv8 Crypto Extensions" 69 tristate "AES core cipher using scalar instructions" 73 tristate "AES core cipher using ARMv8 Crypto Extensions" 79 tristate "AES in CCM mode using ARMv8 Crypto Extensions" [all …]
|
/Linux-v5.10/crypto/ |
D | ghash-generic.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * GHASH: hash function for GCM (Galois/Counter Mode). 5 * Copyright (c) 2007 Nokia Siemens Networks - Mikko Herranen <mh1@iki.fi> 11 * GHASH is a keyed hash function used in GCM authentication tag generation. 13 * The original GCM paper [1] presents GHASH as a function GHASH(H, A, C) which 14 * takes a 16-byte hash key H, additional authenticated data A, and a ciphertext 18 * However, the NIST standard for GCM [2] presents GHASH as GHASH(H, X) where X 19 * is the already-formatted byte string containing both A and C. 21 * "ghash" in the Linux crypto API uses the 'X' (pre-formatted) convention, 23 * formatting of 'A' and 'C' is done in the "gcm" template, not in "ghash". [all …]
|
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. 71 "blowfish", "twofish", "serpent", "sha384", "sha512", "md4", "aes", 75 "lzo", "lzo-rle", "cts", "sha3-224", "sha3-256", "sha3-384", 76 "sha3-512", "streebog256", "streebog512", 99 while (i-- > 0) in testmgr_alloc_buf() 102 return -ENOMEM; in testmgr_alloc_buf() 117 int np = (buflen + PAGE_SIZE - 1)/PAGE_SIZE; in sg_init_aead() 132 np--; in sg_init_aead() [all …]
|
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 120 cbc(aes). 137 cbc(aes). 140 bool "Disable run-time self tests" 143 Disable run-time self tests that normally take place at 147 bool "Enable extra run-time crypto self tests" 150 Enable extra run-time self tests of registered crypto algorithms, 221 comment "Public-key cryptography" 233 tristate "Diffie-Hellman algorithm" 237 Generic implementation of the Diffie-Hellman algorithm. [all …]
|
/Linux-v5.10/drivers/crypto/ |
D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 obj-$(CONFIG_CRYPTO_DEV_ALLWINNER) += allwinner/ 3 obj-$(CONFIG_CRYPTO_DEV_ATMEL_AES) += atmel-aes.o 4 obj-$(CONFIG_CRYPTO_DEV_ATMEL_SHA) += atmel-sha.o 5 obj-$(CONFIG_CRYPTO_DEV_ATMEL_TDES) += atmel-tdes.o 6 obj-$(CONFIG_CRYPTO_DEV_ATMEL_I2C) += atmel-i2c.o 7 obj-$(CONFIG_CRYPTO_DEV_ATMEL_ECC) += atmel-ecc.o 8 obj-$(CONFIG_CRYPTO_DEV_ATMEL_SHA204A) += atmel-sha204a.o 9 obj-$(CONFIG_CRYPTO_DEV_CAVIUM_ZIP) += cavium/ 10 obj-$(CONFIG_CRYPTO_DEV_CCP) += ccp/ [all …]
|
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 29 tristate "PadLock driver for AES algorithm" 34 Use VIA PadLock for AES algorithm. 39 called padlock-aes. 53 called padlock-sha. 56 tristate "Support for the Geode LX AES engine" 61 Say 'Y' here to use the AMD Geode LX processor on-board AES 62 engine for the CryptoAPI AES algorithm. 65 will be called geode-aes. 131 AES cipher algorithms for use with protected key. [all …]
|
D | omap-aes.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Support for OMAP AES HW acceleration. 23 #include <linux/dma-mapping.h> 33 #include <crypto/aes.h> 34 #include <crypto/gcm.h> 39 #include "omap-crypto.h" 40 #include "omap-aes.h" 52 _read_ret = __raw_readl(dd->io_base + offset); \ 60 return __raw_readl(dd->io_base + offset); in omap_aes_read() 69 __raw_writel(value, dd->io_base + offset); \ [all …]
|
/Linux-v5.10/drivers/crypto/bcm/ |
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> 40 /* size of salt value for AES-GCM-ESP and AES-CCM-ESP */ 52 * Maximum number of bytes from a non-final hash request that can be deferred 58 /* Force at least 4-byte alignment of all SPU message fields */ 79 * SPUM_NS2 and SPUM_NSP are the SPU-M block on Northstar 2 and Northstar Plus, 125 * SPU request message header. For SPU-M, holds MH, EMH, SCTX, BDESC, 139 /* SPU-M request message STATUS field */ [all …]
|
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. 134 /* length of hash pad. signed, needs to handle roll-overs */ 141 u8 aad_pad_len; /* For AES GCM/CCM, length of padding after AAD */ 142 u8 data_pad_len;/* For AES GCM/CCM, length of padding after data */ 152 /* Max length of padding for 4-byte alignment of STATUS field */ 155 /* Max length of pad fragment. 4 is for 4-byte alignment of STATUS field */ 159 /* GCM and CCM require 16-byte alignment */ [all …]
|
/Linux-v5.10/arch/arm/crypto/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 13 tristate "SHA1 digest algorithm (ARM-asm)" 17 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented 27 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented 37 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented 41 tristate "SHA-224/256 digest algorithm (ARM v8 Crypto Extensions)" 46 SHA-256 secure hash standard (DFIPS 180-2) implemented 50 tristate "SHA-224/256 digest algorithm (ARM-asm and NEON)" 54 SHA-256 secure hash standard (DFIPS 180-2) implemented 58 tristate "SHA-384/512 digest algorithm (ARM-asm and NEON)" [all …]
|
/Linux-v5.10/drivers/net/ethernet/chelsio/inline_crypto/chtls/ |
D | chtls_hw.c | 1 // SPDX-License-Identifier: GPL-2.0-only 29 INIT_TP_WR_CPL(req, CPL_SET_TCB_FIELD, csk->tid); in __set_tcb_field_direct() 30 req->wr.wr_mid |= htonl(FW_WR_FLOWID_V(csk->tid)); in __set_tcb_field_direct() 31 req->reply_ctrl = htons(NO_REPLY_V(no_reply) | in __set_tcb_field_direct() 32 QUEUENO_V(csk->rss_qid)); in __set_tcb_field_direct() 33 req->word_cookie = htons(TCB_WORD_V(word) | TCB_COOKIE_V(cookie)); in __set_tcb_field_direct() 34 req->mask = cpu_to_be64(mask); in __set_tcb_field_direct() 35 req->val = cpu_to_be64(val); in __set_tcb_field_direct() 37 sc->cmd_more = htonl(ULPTX_CMD_V(ULP_TX_SC_NOOP)); in __set_tcb_field_direct() 38 sc->len = htonl(0); in __set_tcb_field_direct() [all …]
|
/Linux-v5.10/arch/x86/crypto/ |
D | aesni-intel_glue.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Support for Intel AES-NI instructions. This file contains glue 4 * code, the real AES implementation is in intel-aes_asm.S. 9 * Added RFC4106 AES-GCM support for 128-bit keys under the AEAD 10 * interface for 64-bit kernels. 23 #include <crypto/aes.h> 26 #include <crypto/gcm.h> 43 #define AES_BLOCK_MASK (~(AES_BLOCK_SIZE - 1)) 45 #define AESNI_ALIGN_EXTRA ((AESNI_ALIGN - 1) & ~(CRYPTO_MINALIGN - 1)) 111 * void *ctx, AES Key schedule. Starts on a 16 byte boundary. [all …]
|
/Linux-v5.10/net/mac80211/ |
D | aes_gmac.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * AES-GMAC for IEEE 802.11 BIP-GMAC-128 and BIP-GMAC-256 11 #include <crypto/aes.h> 27 return -EINVAL; in ieee80211_aes_gmac() 31 return -ENOMEM; in ieee80211_aes_gmac() 43 sg_set_buf(&sg[2], data + 8, data_len - 8 - GMAC_MIC_LEN); in ieee80211_aes_gmac() 49 sg_set_buf(&sg[1], data, data_len - GMAC_MIC_LEN); in ieee80211_aes_gmac() 55 memset(iv + GMAC_NONCE_LEN, 0, sizeof(iv) - GMAC_NONCE_LEN); in ieee80211_aes_gmac() 56 iv[AES_BLOCK_SIZE - 1] = 0x01; in ieee80211_aes_gmac() 74 tfm = crypto_alloc_aead("gcm(aes)", 0, CRYPTO_ALG_ASYNC); in ieee80211_aes_gmac_key_setup()
|
/Linux-v5.10/drivers/crypto/stm32/ |
D | stm32-cryp.c | 1 // SPDX-License-Identifier: GPL-2.0-only 17 #include <crypto/aes.h> 24 #define DRIVER_NAME "stm32-cryp" 108 #define _walked_in (cryp->in_walk.offset - cryp->in_sg->offset) 109 #define _walked_out (cryp->out_walk.offset - cryp->out_sg->offset) 182 return cryp->flags & FLG_AES; in is_aes() 187 return cryp->flags & FLG_DES; in is_des() 192 return cryp->flags & FLG_TDES; in is_tdes() 197 return cryp->flags & FLG_ECB; in is_ecb() 202 return cryp->flags & FLG_CBC; in is_cbc() [all …]
|