Home
last modified time | relevance | path

Searched full:cipher (Results 1 – 25 of 524) sorted by relevance

12345678910>>...21

/linux-6.14.4/Documentation/crypto/
Darchitecture.rst4 Cipher algorithm types
8 cipher types:
33 A single block cipher may even be called with multiple templates.
34 However, templates cannot be used without a single cipher.
63 When using the synchronous API operation, the caller invokes a cipher
65 That means, the caller waits until the cipher operation completes.
71 implies that the invocation of a cipher operation will complete almost
72 instantly. That invocation triggers the cipher operation but it does not
73 signal its completion. Before invoking a cipher operation, the caller
75 signal the completion of the cipher operation. Furthermore, the caller
[all …]
Duserspace-if.rst13 consumer and never as a provider of a transformation or cipher
56 A cipher is accessed with the same name as done for the in-kernel API
61 user space application. User space invokes the cipher operation with the
62 send()/write() system call family. The result of the cipher operation is
73 parameter specified below for the different cipher types.
79 particular cipher instance. When invoking send/write or recv/read
83 In-place Cipher operation
87 space interface allows the cipher operation in-place. That means that
90 is of particular interest for symmetric cipher operations where a
101 The message digest type to be used for the cipher operation is selected
[all …]
Dapi-skcipher.rst1 Block Cipher Algorithm Definitions
5 :doc: Block Cipher Algorithm Definitions
10 Symmetric Key Cipher API
14 :doc: Symmetric Key Cipher API
19 Symmetric Key Cipher Request Handle
23 :doc: Symmetric Key Cipher Request Handle
28 Single Block Cipher API
31 .. kernel-doc:: include/crypto/internal/cipher.h
32 :doc: Single Block Cipher API
34 .. kernel-doc:: include/crypto/internal/cipher.h
Dintro.rst19 Therefore, a cipher handle variable usually has the name "tfm". Besides
37 Note: The terms "transformation" and cipher algorithm are used
56 to as a "cipher handle". Such a cipher handle is always subject to the
58 a cipher handle:
60 1. Initialization of a cipher handle.
62 2. Execution of all intended cipher operations applicable for the handle
63 where the cipher handle must be furnished to every API call.
65 3. Destruction of a cipher handle.
67 When using the initialization API calls, a cipher handle is created and
Ddevel-algos.rst1 Developing Cipher Algorithms
47 Single-Block Symmetric Ciphers [CIPHER]
53 implementations, that being the CIPHER type used for symmetric ciphers.
54 The CIPHER type is used for transformations which operate on exactly one
60 The registration of [CIPHER] algorithm is specific in that struct
61 crypto_alg field .cra_type is empty. The .cra_u.cipher has to be
66 Cipher Definition With struct cipher_alg
69 Struct cipher_alg defines a single block cipher.
103 This section describes the multi-block cipher transformation
111 The registration of multi-block cipher algorithms is one of the most
[all …]
/linux-6.14.4/include/crypto/internal/
Dcipher.h21 * DOC: Single Block Cipher API
23 * The single block cipher API is used with the ciphers of type
24 * CRYPTO_ALG_TYPE_CIPHER (listed as type "cipher" in /proc/crypto).
26 * Using the single block cipher API calls, operations with the basic cipher
27 * primitive can be implemented. These cipher primitives exclude any block
30 * The purpose of this single block cipher API is to support the implementation
31 * of templates or other concepts that only need to perform the cipher operation
32 * on one block at a time. Templates invoke the underlying cipher primitive
33 * block-wise and process either the input or the output data of these cipher
43 * crypto_alloc_cipher() - allocate single block cipher handle
[all …]
/linux-6.14.4/arch/arm64/crypto/
DKconfig135 Block ciphers: AES cipher algorithms (FIPS-197)
138 AEAD cipher: AES with CBC, ESSIV, and SHA-256
149 Block ciphers: AES cipher algorithms (FIPS-197)
160 Length-preserving ciphers: AES cipher algorithms (FIPS-197)
161 with block cipher modes:
163 - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
177 Length-preserving ciphers: AES cipher algorithms (FIPS-197)
178 with block cipher modes:
180 - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
196 stream cipher algorithms
[all …]
/linux-6.14.4/include/crypto/
Dskcipher.h32 * struct skcipher_request - Symmetric key cipher request
98 * struct skcipher_alg - symmetric key cipher definition
170 * struct lskcipher_alg - linear symmetric key cipher definition
229 * DOC: Symmetric Key Cipher API
231 * Symmetric key cipher API is used with the ciphers of type
234 * Asynchronous cipher operations imply that the function invocation for a
235 * cipher request returns immediately before the completion of the operation.
236 * The cipher request is scheduled as a separate kernel thread and therefore
238 * the kernel crypto API to inform the caller about the completion of a cipher
240 * invoked with the cipher handle when the request completes.
[all …]
Daead.h18 * DOC: Authenticated Encryption With Associated Data (AEAD) Cipher API
20 * The AEAD cipher API is used with the ciphers of type CRYPTO_ALG_TYPE_AEAD
25 * with the following cipher string:
27 * authenc(keyed message digest, block cipher)
31 * The example code provided for the symmetric key cipher operation applies
36 * decryption operation. Another deviation from the asynchronous block cipher
40 * code is the key bonus an AEAD cipher has over "standard" block chaining
105 * struct aead_alg - AEAD cipher definition
135 * @base: Definition of a generic crypto cipher algorithm.
168 * crypto_alloc_aead() - allocate AEAD cipher handle
[all …]
Dhash.h38 * @base: Start of data structure of cipher algorithm. The common data
244 * The asynchronous cipher operation discussion provided for the
254 * crypto_alloc_ahash() - allocate ahash cipher handle
256 * ahash cipher
257 * @type: specifies the type of the cipher
258 * @mask: specifies the mask for the cipher
260 * Allocate a cipher handle for an ahash. The returned struct
261 * crypto_ahash is the cipher handle that is required for any subsequent
264 * Return: allocated cipher handle in case of success; IS_ERR() is true in case
279 * @tfm: cipher handle to be freed
[all …]
Drng.h75 * message digest cipher
76 * @type: specifies the type of the cipher
77 * @mask: specifies the mask for the cipher
79 * Allocate a cipher handle for a random number generator. The returned struct
80 * crypto_rng is the cipher handle that is required for any subsequent
89 * Return: allocated cipher handle in case of success; IS_ERR() is true in case
106 * @tfm: cipher handle
119 * @tfm: cipher handle to be freed
130 * @tfm: cipher handle
138 * cipher handle.
[all …]
/linux-6.14.4/arch/x86/crypto/
DKconfig26 Block cipher: AES cipher algorithms
27 AEAD cipher: AES with GCM
44 Block cipher: Blowfish cipher algorithm
55 Block cipher: Camellia cipher algorithms
94 Length-preserving ciphers: CAST5 (CAST-128) cipher algorithm
112 Length-preserving ciphers: CAST6 (CAST-256) cipher algorithm
127 Block cipher: Triple DES EDE (FIPS 46-3) cipher algorithm
142 Length-preserving ciphers: Serpent cipher algorithm
158 Length-preserving ciphers: Serpent cipher algorithm
175 Length-preserving ciphers: Serpent cipher algorithm
[all …]
/linux-6.14.4/crypto/
Decb.c8 #include <crypto/internal/cipher.h>
16 static int crypto_ecb_crypt(struct crypto_cipher *cipher, const u8 *src, in crypto_ecb_crypt() argument
20 const unsigned int bsize = crypto_cipher_blocksize(cipher); in crypto_ecb_crypt()
23 fn(crypto_cipher_tfm(cipher), dst, src); in crypto_ecb_crypt()
38 struct crypto_cipher *cipher = *ctx; in crypto_ecb_encrypt2() local
40 return crypto_ecb_crypt(cipher, src, dst, len, in crypto_ecb_encrypt2()
42 crypto_cipher_alg(cipher)->cia_encrypt); in crypto_ecb_encrypt2()
49 struct crypto_cipher *cipher = *ctx; in crypto_ecb_decrypt2() local
51 return crypto_ecb_crypt(cipher, src, dst, len, in crypto_ecb_decrypt2()
53 crypto_cipher_alg(cipher)->cia_decrypt); in crypto_ecb_decrypt2()
[all …]
DKconfig333 AES cipher algorithms (Rijndael)(FIPS-197, ISO/IEC 18033-3)
351 AES cipher algorithms (Rijndael)(FIPS-197, ISO/IEC 18033-3)
372 Anubis cipher algorithm
374 Anubis is a variable key length cipher which can use keys from
385 ARIA cipher algorithm (RFC5794)
401 Blowfish cipher algorithm, by Bruce Schneier
403 This is a variable key length cipher which can use keys from 32
412 Common parts of the Blowfish cipher algorithm shared by the
419 Camellia cipher algorithms (ISO/IEC 18033-3)
421 Camellia is a symmetric key block cipher developed jointly
[all …]
Dctr.c10 #include <crypto/internal/cipher.h>
102 struct crypto_cipher *cipher = skcipher_cipher_simple(tfm); in crypto_ctr_crypt() local
103 const unsigned int bsize = crypto_cipher_blocksize(cipher); in crypto_ctr_crypt()
112 nbytes = crypto_ctr_crypt_inplace(&walk, cipher); in crypto_ctr_crypt()
114 nbytes = crypto_ctr_crypt_segment(&walk, cipher); in crypto_ctr_crypt()
120 crypto_ctr_crypt_final(&walk, cipher); in crypto_ctr_crypt()
148 /* CTR mode is a stream cipher. */ in crypto_ctr_create()
223 struct crypto_skcipher *cipher; in crypto_rfc3686_init_tfm() local
227 cipher = crypto_spawn_skcipher(spawn); in crypto_rfc3686_init_tfm()
228 if (IS_ERR(cipher)) in crypto_rfc3686_init_tfm()
[all …]
Dlskcipher.c3 * Linear symmetric key cipher operations.
36 struct lskcipher_alg *cipher = crypto_lskcipher_alg(tfm); in lskcipher_setkey_unaligned() local
48 ret = cipher->setkey(tfm, alignbuffer, keylen); in lskcipher_setkey_unaligned()
57 struct lskcipher_alg *cipher = crypto_lskcipher_alg(tfm); in crypto_lskcipher_setkey() local
59 if (keylen < cipher->co.min_keysize || keylen > cipher->co.max_keysize) in crypto_lskcipher_setkey()
65 return cipher->setkey(tfm, key, keylen); in crypto_lskcipher_setkey()
428 struct crypto_lskcipher *cipher = lskcipher_cipher_simple(tfm); in lskcipher_setkey_simple() local
430 crypto_lskcipher_clear_flags(cipher, CRYPTO_TFM_REQ_MASK); in lskcipher_setkey_simple()
431 crypto_lskcipher_set_flags(cipher, crypto_lskcipher_get_flags(tfm) & in lskcipher_setkey_simple()
433 return crypto_lskcipher_setkey(cipher, key, keylen); in lskcipher_setkey_simple()
[all …]
Dpcbc.c3 * PCBC: Propagating Cipher Block Chaining mode
13 #include <crypto/internal/cipher.h>
67 struct crypto_cipher *cipher = skcipher_cipher_simple(tfm); in crypto_pcbc_encrypt() local
77 cipher); in crypto_pcbc_encrypt()
80 cipher); in crypto_pcbc_encrypt()
134 struct crypto_cipher *cipher = skcipher_cipher_simple(tfm); in crypto_pcbc_decrypt() local
144 cipher); in crypto_pcbc_decrypt()
147 cipher); in crypto_pcbc_decrypt()
193 MODULE_DESCRIPTION("PCBC block cipher mode of operation");
/linux-6.14.4/drivers/crypto/amcc/
Dcrypto4xx_alg.c73 struct crypto_skcipher *cipher = crypto_skcipher_reqtfm(req); in crypto4xx_crypt() local
74 struct crypto4xx_ctx *ctx = crypto_skcipher_ctx(cipher); in crypto4xx_crypt()
121 static int crypto4xx_setkey_aes(struct crypto_skcipher *cipher, in crypto4xx_setkey_aes() argument
127 struct crypto4xx_ctx *ctx = crypto_skcipher_ctx(cipher); in crypto4xx_setkey_aes()
177 int crypto4xx_setkey_aes_cbc(struct crypto_skcipher *cipher, in crypto4xx_setkey_aes_cbc() argument
180 return crypto4xx_setkey_aes(cipher, key, keylen, CRYPTO_MODE_CBC, in crypto4xx_setkey_aes_cbc()
184 int crypto4xx_setkey_aes_ecb(struct crypto_skcipher *cipher, in crypto4xx_setkey_aes_ecb() argument
187 return crypto4xx_setkey_aes(cipher, key, keylen, CRYPTO_MODE_ECB, in crypto4xx_setkey_aes_ecb()
191 int crypto4xx_setkey_rfc3686(struct crypto_skcipher *cipher, in crypto4xx_setkey_rfc3686() argument
194 struct crypto4xx_ctx *ctx = crypto_skcipher_ctx(cipher); in crypto4xx_setkey_rfc3686()
[all …]
/linux-6.14.4/drivers/crypto/cavium/nitrox/
Dnitrox_skcipher.c24 * supported cipher list
41 const struct nitrox_cipher *cipher = flexi_cipher_table; in flexi_cipher_type() local
43 while (cipher->name) { in flexi_cipher_type()
44 if (!strcmp(cipher->name, name)) in flexi_cipher_type()
46 cipher++; in flexi_cipher_type()
48 return cipher->value; in flexi_cipher_type()
83 struct crypto_skcipher *cipher = crypto_skcipher_reqtfm(skreq); in nitrox_cbc_cipher_callback() local
84 int ivsize = crypto_skcipher_ivsize(cipher); in nitrox_cbc_cipher_callback()
165 static inline int nitrox_skcipher_setkey(struct crypto_skcipher *cipher, in nitrox_skcipher_setkey() argument
169 struct crypto_tfm *tfm = crypto_skcipher_tfm(cipher); in nitrox_skcipher_setkey()
[all …]
/linux-6.14.4/net/sunrpc/auth_gss/
Dgss_krb5_crypto.c66 * pad minimum plaintext length to at least a single cipher block.
88 * @tfm: initialized cipher transform
96 * cipher's ivsize.
143 * @tfm: initialized cipher transform
151 * cipher's ivsize.
537 gss_krb5_cts_crypt(struct crypto_sync_skcipher *cipher, struct xdr_buf *buf, in gss_krb5_cts_crypt() argument
542 SYNC_SKCIPHER_REQUEST_ON_STACK(req, cipher); in gss_krb5_cts_crypt()
571 skcipher_request_set_sync_tfm(req, cipher); in gss_krb5_cts_crypt()
594 memcpy(iv, data, crypto_sync_skcipher_ivsize(cipher)); in gss_krb5_cts_crypt()
604 * @cts_tfm: CBC cipher with CTS
[all …]
/linux-6.14.4/drivers/crypto/bcm/
Dspu2.c88 * Convert from a software cipher mode value to the corresponding value
126 * spu2_cipher_xlate() - Convert a cipher {alg/mode/type} triple to a SPU2
127 * cipher type and mode.
128 * @cipher_alg: [in] cipher algorithm value from software enumeration
129 * @cipher_mode: [in] cipher mode value from software enumeration
130 * @cipher_type: [in] cipher type value from software enumeration
131 * @spu2_type: [out] cipher type value used by spu2 hardware
132 * @spu2_mode: [out] cipher mode value used by spu2 hardware
146 flow_log("Invalid cipher mode %d\n", cipher_mode); in spu2_cipher_xlate()
187 flow_log("Invalid cipher alg %d or type %d\n", in spu2_cipher_xlate()
[all …]
/linux-6.14.4/drivers/nvme/common/
Dkeyring.c137 enum nvme_tcp_tls_cipher cipher; member
141 .cipher = NVME_TCP_TLS_CIPHER_SHA384, },
144 .cipher = NVME_TCP_TLS_CIPHER_SHA256, },
147 .cipher = NVME_TCP_TLS_CIPHER_SHA384, },
150 .cipher = NVME_TCP_TLS_CIPHER_SHA256, },
153 .cipher = NVME_TCP_TLS_CIPHER_SHA384, },
156 .cipher = NVME_TCP_TLS_CIPHER_SHA256, },
159 .cipher = NVME_TCP_TLS_CIPHER_SHA384, },
162 .cipher = NVME_TCP_TLS_CIPHER_SHA256, },
178 enum nvme_tcp_tls_cipher cipher = nvme_tls_psk_prio[prio].cipher; in nvme_tls_psk_default() local
[all …]
/linux-6.14.4/arch/sparc/crypto/
DKconfig12 Block cipher: DES (FIPS 46-2) cipher algorithm
13 Block cipher: Triple DES EDE (FIPS 46-3) cipher algorithm
64 Block ciphers: AES cipher algorithms (FIPS-197)
75 Block ciphers: Camellia cipher algorithms
/linux-6.14.4/arch/s390/crypto/
DKconfig77 Block cipher: AES cipher algorithms (FIPS 197)
78 AEAD cipher: AES with GCM
100 Block ciphers: DES (FIPS 46-2) cipher algorithm
101 Block ciphers: Triple DES EDE (FIPS 46-3) cipher algorithm
117 Length-preserving cipher: ChaCha20 stream cipher (RFC 7539)
/linux-6.14.4/arch/arm/crypto/
DKconfig153 Block ciphers: AES cipher algorithms (FIPS-197)
174 Length-preserving ciphers: AES cipher algorithms (FIPS-197)
175 with block cipher modes:
177 - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
202 Length-preserving ciphers: AES cipher algorithms (FIPS-197)
203 with block cipher modes:
205 - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
207 - CTS (Cipher Text Stealing) mode (NIST SP800-38A)
220 stream cipher algorithms

12345678910>>...21