/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 …]
|
D | sha2-ce-glue.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * sha2-ce-glue.c - SHA-224/SHA-256 using ARMv8 Crypto Extensions 10 #include <crypto/sha.h> 23 MODULE_DESCRIPTION("SHA-224/SHA-256 secure hash using ARMv8 Crypto Extensions"); 36 (sctx->count % SHA256_BLOCK_SIZE) + len < SHA256_BLOCK_SIZE) in sha2_ce_update() 77 .cra_driver_name = "sha224-ce", 91 .cra_driver_name = "sha256-ce",
|
/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" 121 tristate "AES in ECB/CBC/CTR/XTS modes using bit-sliced NEON algorithm"
|
D | sha2-ce-glue.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * sha2-ce-glue.c - SHA-224/SHA-256 using ARMv8 Crypto Extensions 5 * Copyright (C) 2014 - 2017 Linaro Ltd <ard.biesheuvel@linaro.org> 13 #include <crypto/sha.h> 19 MODULE_DESCRIPTION("SHA-224/SHA-256 secure hash using ARMv8 Crypto Extensions"); 51 sha256_block_data_order(sst->state, src, blocks); in __sha256_block_data_order() 63 sctx->finalize = 0; in sha256_ce_update() 75 bool finalize = !sctx->sst.count && !(len % SHA256_BLOCK_SIZE) && len; in sha256_ce_finup() 89 sctx->finalize = finalize; in sha256_ce_finup() 108 sctx->finalize = 0; in sha256_ce_final() [all …]
|
D | sha2-ce-core.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * sha2-ce-core.S - core SHA-224/SHA-256 transform using v8 Crypto Extensions 12 .arch armv8-a+crypto 51 * The SHA-256 round constants 87 ld1 { v0.4s- v3.4s}, [x8], #64 88 ld1 { v4.4s- v7.4s}, [x8], #64 89 ld1 { v8.4s-v11.4s}, [x8], #64 90 ld1 {v12.4s-v15.4s}, [x8] 100 1: ld1 {v16.4s-v19.4s}, [x20], #64
|
D | sha256-glue.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 13 #include <crypto/sha.h> 18 MODULE_DESCRIPTION("SHA-224/SHA-256 secure hash for arm64"); 32 sha256_block_data_order(sst->state, src, blocks); in __sha256_block_data_order() 41 sha256_block_neon(sst->state, src, blocks); in __sha256_block_neon() 75 .base.cra_driver_name = "sha256-arm64", 87 .base.cra_driver_name = "sha224-arm64", 111 chunk + sctx->count % SHA256_BLOCK_SIZE > SHA256_BLOCK_SIZE) in sha256_update_neon() 112 chunk = SHA256_BLOCK_SIZE - in sha256_update_neon() 113 sctx->count % SHA256_BLOCK_SIZE; in sha256_update_neon() [all …]
|
/Linux-v5.10/Documentation/devicetree/bindings/crypto/ |
D | samsung-slimsss.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/crypto/samsung-slimsss.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Krzysztof Kozlowski <krzk@kernel.org> 11 - Kamil Konieczny <k.konieczny@partner.samsung.com> 15 -- Feeder (FeedCtrl) 16 -- Advanced Encryption Standard (AES) with ECB,CBC,CTR,XTS and (CBC/XTS)/CTS 17 -- SHA-1/SHA-256 and (SHA-1/SHA-256)/HMAC 22 - const: samsung,exynos5433-slim-sss [all …]
|
D | samsung-sss.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/crypto/samsung-sss.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Krzysztof Kozlowski <krzk@kernel.org> 11 - Kamil Konieczny <k.konieczny@partner.samsung.com> 15 -- Feeder (FeedCtrl) 16 -- Advanced Encryption Standard (AES) 17 -- Data Encryption Standard (DES)/3DES 18 -- Public Key Accelerator (PKA) [all …]
|
/Linux-v5.10/Documentation/ABI/testing/ |
D | debugfs-pfo-nx-crypto | 1 What: /sys/kernel/debug/nx-crypto/* 7 These debugfs interfaces are built by the nx-crypto driver, built in 18 The most recent non-zero return code from the H_COP_OP hcall. -EBUSY is not 19 recorded here (the hcall will retry until -EBUSY goes away). 36 The total number of bytes hashed by the hardware using SHA-256. 39 The total number of SHA-256 operations submitted to the hardware. 42 The total number of bytes hashed by the hardware using SHA-512. 45 The total number of SHA-512 operations submitted to the hardware.
|
/Linux-v5.10/crypto/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 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. 251 tristate "EC-RDSA (GOST 34.10) algorithm" 258 Elliptic Curve Russian Digital Signature Algorithm (GOST R 34.10-2012, [all …]
|
D | sha256_generic.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright (c) Jean-Luc Cooke <jlcooke@certainkey.com> 15 #include <crypto/sha.h> 58 if (crypto_shash_digestsize(desc->tfm) == SHA224_DIGEST_SIZE) in crypto_sha256_final() 82 .cra_driver_name= "sha256-generic", 96 .cra_driver_name= "sha224-generic", 117 MODULE_DESCRIPTION("SHA-224 and SHA-256 Secure Hash Algorithm"); 120 MODULE_ALIAS_CRYPTO("sha224-generic"); 122 MODULE_ALIAS_CRYPTO("sha256-generic");
|
/Linux-v5.10/drivers/crypto/ccp/ |
D | ccp-ops.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2013-2019 Advanced Micro Devices, Inc. 11 #include <linux/dma-mapping.h> 19 #include "ccp-dev.h" 21 /* SHA initial context values */ 56 #define CCP_NEW_JOBID(ccp) ((ccp->vdata->version == CCP_VERSION(3, 0)) ? \ 61 return atomic_inc_return(&ccp->current_id) & CCP_JOBID_MASK; in ccp_gen_jobid() 66 if (wa->dma_count) in ccp_sg_free() 67 dma_unmap_sg(wa->dma_dev, wa->dma_sg_head, wa->nents, wa->dma_dir); in ccp_sg_free() 69 wa->dma_count = 0; in ccp_sg_free() [all …]
|
D | ccp-dev.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 19 #include <linux/dma-direction.h> 27 #include "sp-dev.h" 63 /* ------------------------ CCP Version 5 Specifics ------------------------ */ 103 #define QUEUE_SIZE_VAL ((ffs(COMMANDS_PER_QUEUE) - 2) & \ 105 #define Q_PTR_MASK (2 << (QUEUE_SIZE_VAL + 5) - 1) 125 /* ------------------------ CCP Version 3 Specifics ------------------------ */ 147 /* XTS-AES Related Values */ 150 /* SHA Related Values */ 156 /* Pass-Through Related Values */ [all …]
|
/Linux-v5.10/include/linux/ |
D | ccp.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 18 #include <crypto/sha.h> 26 * ccp_present - check if a CCP device is present 28 * Returns zero if a CCP device is present, -ENODEV otherwise. 33 #define CCP_VMASK ((unsigned int)((1 << CCP_VSIZE) - 1)) 38 * ccp_version - get the version of the CCP 45 * ccp_enqueue_cmd - queue an operation for processing by the CCP 54 * result in a return code of -EBUSY. 60 * will be -EINPROGRESS. Any other "err" value during callback is 64 * the return code is -EINPROGRESS or [all …]
|
/Linux-v5.10/fs/verity/ |
D | fsverity_private.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * fs-verity: read-only file-based authenticity protection 15 #define pr_fmt(fmt) "fs-verity: " fmt 17 #include <crypto/sha.h> 25 * it's enough for over U64_MAX bytes of data using SHA-256 and 4K blocks. 30 * Largest digest size among all hash algorithms supported by fs-verity. 35 /* A hash algorithm supported by fs-verity */ 39 unsigned int digest_size; /* digest size in bytes, e.g. 32 for SHA-256 */ 40 unsigned int block_size; /* block size in bytes, e.g. 64 for SHA-256 */ 48 unsigned int digest_size; /* same as hash_alg->digest_size */ [all …]
|
/Linux-v5.10/arch/sparc/crypto/ |
D | sha256_glue.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 * Copyright (c) Jean-Luc Cooke <jlcooke@certainkey.com> 19 #include <crypto/sha.h> 32 sctx->state[0] = SHA224_H0; in sha224_sparc64_init() 33 sctx->state[1] = SHA224_H1; in sha224_sparc64_init() 34 sctx->state[2] = SHA224_H2; in sha224_sparc64_init() 35 sctx->state[3] = SHA224_H3; in sha224_sparc64_init() 36 sctx->state[4] = SHA224_H4; in sha224_sparc64_init() 37 sctx->state[5] = SHA224_H5; in sha224_sparc64_init() 38 sctx->state[6] = SHA224_H6; in sha224_sparc64_init() [all …]
|
/Linux-v5.10/Documentation/admin-guide/ |
D | module-signing.rst | 2 ------------------------------ 6 .. - Overview. 7 .. - Configuring module signing. 8 .. - Generating signing keys. 9 .. - Public keys in the kernel. 10 .. - Manually signing modules. 11 .. - Signed modules and stripping. 12 .. - Loading signed modules. 13 .. - Non-valid signatures and unsigned modules. 14 .. - Administering/protecting the private key. [all …]
|
/Linux-v5.10/arch/mips/cavium-octeon/crypto/ |
D | octeon-sha256.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * SHA-224 and SHA-256 Secure Hash Algorithm. 11 * Copyright (c) Jean-Luc Cooke <jlcooke@certainkey.com> 18 #include <crypto/sha.h> 26 #include "octeon-crypto.h" 29 * We pass everything as 64-bit. OCTEON can handle misaligned data. 34 u64 *hash = (u64 *)sctx->state; in octeon_sha256_store_hash() 44 u64 *hash = (u64 *)sctx->state; in octeon_sha256_read_hash() 70 sctx->state[0] = SHA224_H0; in octeon_sha224_init() 71 sctx->state[1] = SHA224_H1; in octeon_sha224_init() [all …]
|
/Linux-v5.10/arch/s390/crypto/ |
D | sha3_256_s390.c | 1 // SPDX-License-Identifier: GPL-2.0+ 15 #include <crypto/sha.h> 19 #include "sha.h" 25 memset(sctx->state, 0, sizeof(sctx->state)); in sha3_256_init() 26 sctx->count = 0; in sha3_256_init() 27 sctx->func = CPACF_KIMD_SHA3_256; in sha3_256_init() 37 octx->rsiz = sctx->count; in sha3_256_export() 38 memcpy(octx->st, sctx->state, sizeof(octx->st)); in sha3_256_export() 39 memcpy(octx->buf, sctx->buf, sizeof(octx->buf)); in sha3_256_export() 49 sctx->count = ictx->rsiz; in sha3_256_import() [all …]
|
/Linux-v5.10/arch/x86/crypto/ |
D | sha256_ni_asm.S | 2 * Intel SHA Extensions optimized implementation of a SHA-256 update function 79 * Intel SHA Extensions optimized implementation of a SHA-256 update function 89 * The non-indented lines are instructions related to the message schedule. 109 * DCBA, HGFE -> ABEF, CDGH 128 /* Rounds 0-3 */ 137 /* Rounds 4-7 */ 147 /* Rounds 8-11 */ 157 /* Rounds 12-15 */ 171 /* Rounds 16-19 */ 183 /* Rounds 20-23 */ [all …]
|
/Linux-v5.10/arch/powerpc/crypto/ |
D | sha256-spe-glue.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Glue code for SHA-256 implementation for SPE instructions (PPC) 16 #include <crypto/sha.h> 56 do { *ptr++ = 0; } while (--count); in ppc_sha256_clear_context() 63 sctx->state[0] = SHA256_H0; in ppc_spe_sha256_init() 64 sctx->state[1] = SHA256_H1; in ppc_spe_sha256_init() 65 sctx->state[2] = SHA256_H2; in ppc_spe_sha256_init() 66 sctx->state[3] = SHA256_H3; in ppc_spe_sha256_init() 67 sctx->state[4] = SHA256_H4; in ppc_spe_sha256_init() 68 sctx->state[5] = SHA256_H5; in ppc_spe_sha256_init() [all …]
|
/Linux-v5.10/drivers/crypto/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 39 called padlock-aes. 53 called padlock-sha. 61 Say 'Y' here to use the AMD Geode LX processor on-board AES 65 will be called geode-aes. 142 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). 152 SHA256 secure hash standard (DFIPS 180-2). 194 DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). 206 AES cipher algorithms (FIPS-197). 213 key sizes and XTS mode is hardware accelerated for 256 and [all …]
|
/Linux-v5.10/include/crypto/ |
D | sha256_base.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * sha256_base.h - core logic for SHA-256 implementations 12 #include <crypto/sha.h> 43 unsigned int partial = sctx->count % SHA256_BLOCK_SIZE; in sha256_base_do_update() 45 sctx->count += len; in sha256_base_do_update() 51 int p = SHA256_BLOCK_SIZE - partial; in sha256_base_do_update() 53 memcpy(sctx->buf + partial, data, p); in sha256_base_do_update() 55 len -= p; in sha256_base_do_update() 57 block_fn(sctx, sctx->buf, 1); in sha256_base_do_update() 70 memcpy(sctx->buf + partial, data, len); in sha256_base_do_update() [all …]
|
D | sha3.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Common values for SHA-3 algorithms 9 #define SHA3_224_BLOCK_SIZE (200 - 2 * SHA3_224_DIGEST_SIZE) 11 #define SHA3_256_DIGEST_SIZE (256 / 8) 12 #define SHA3_256_BLOCK_SIZE (200 - 2 * SHA3_256_DIGEST_SIZE) 15 #define SHA3_384_BLOCK_SIZE (200 - 2 * SHA3_384_DIGEST_SIZE) 18 #define SHA3_512_BLOCK_SIZE (200 - 2 * SHA3_512_DIGEST_SIZE)
|
/Linux-v5.10/fs/crypto/ |
D | hkdf.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Implementation of HKDF ("HMAC-based Extract-and-Expand Key Derivation 13 #include <crypto/sha.h> 19 * SHA-512 because it is reasonably secure and efficient; and since it produces 20 * a 64-byte digest, deriving an AES-256-XTS key preserves all 64 bytes of 21 * entropy from the master key and requires only one iteration of HKDF-Expand. 29 * 1. HKDF-Extract: extract a pseudorandom key of length HKDF_HASHLEN bytes from 31 * 2. HKDF-Expand: expand the pseudorandom key into output keying material of 32 * any length, parameterized by an application-specific info string. 34 * HKDF-Extract can be skipped if the input is already a pseudorandom key of [all …]
|