/openbmc/linux/Documentation/crypto/ |
H A D | architecture.rst | 4 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 …]
|
H A D | userspace-if.rst | 13 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 …]
|
H A D | api-skcipher.rst | 1 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
|
H A D | intro.rst | 19 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
|
/openbmc/linux/include/crypto/internal/ |
H A D | cipher.h | 21 * 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 …]
|
/openbmc/qemu/include/crypto/ |
H A D | cipher.h | 2 * QEMU Crypto cipher algorithms 48 * QCryptoCipher *cipher; 54 * error_report(errp, "Feature <blah> requires AES cipher support"); 58 * cipher = qcrypto_cipher_new(QCRYPTO_CIPHER_ALGO_AES_128, 62 * if (!cipher) { 66 * if (qcrypto_cipher_set_iv(cipher, iv, keylen, errp) < 0) { 70 * if (qcrypto_cipher_encrypt(cipher, rawdata, encdata, datalen, errp) < 0) { 74 * qcrypto_cipher_free(cipher); 88 * @alg: the cipher algorithm 89 * @mode: the cipher mode [all …]
|
/openbmc/openbmc-test-automation/ipmi/ |
H A D | test_ipmi_cipher.robot | 12 Suite Setup IPMI Cipher Suite Setup 29 FOR ${cipher} IN @{valid_ciphers} 30 Run External IPMI Standard Command power status C=${cipher} 37 FOR ${cipher} IN @{unsupported_ciphers} 39 ... Run External IPMI Standard Command power status C=${cipher} 48 # Example 'RMCP+ Cipher Suites' entry: 3,17 49 ${ciphers}= Split String ${lan_print['RMCP+ Cipher Suites']} , 54 Verify Supported Cipher Via Getciphers 74 # Example cipher entry: 3 17 81 Verify Cipher Suite And Supported Algorithms Via IPMI Raw Command [all …]
|
/openbmc/qemu/crypto/ |
H A D | cipher.c | 2 * QEMU Crypto cipher algorithms 24 #include "crypto/cipher.h" 110 error_setg(errp, "Cipher algorithm %d out of range", in qcrypto_cipher_validate_key_length() 122 error_setg(errp, "XTS cipher key length should be a multiple of 2"); in qcrypto_cipher_validate_key_length() 127 error_setg(errp, "Cipher key length %zu should be %zu", in qcrypto_cipher_validate_key_length() 133 error_setg(errp, "Cipher key length %zu should be %zu", in qcrypto_cipher_validate_key_length() 142 #include "cipher-gcrypt.c.inc" 144 #include "cipher-nettle.c.inc" 146 #include "cipher-gnutls.c.inc" 148 #include "cipher-builtin.c.inc" [all …]
|
H A D | block.c | 238 /* Usually there is a free cipher available */ in qcrypto_block_pop_cipher() 246 /* Otherwise allocate a new cipher */ in qcrypto_block_pop_cipher() 253 QCryptoCipher *cipher) in qcrypto_block_push_cipher() argument 264 block->free_ciphers[block->n_free_ciphers] = cipher; in qcrypto_block_push_cipher() 275 QCryptoCipher *cipher; in qcrypto_block_init_cipher() local 280 /* Stash away cipher parameters for qcrypto_block_pop_cipher() */ in qcrypto_block_init_cipher() 287 * Create a new cipher to validate the parameters now. This reduces the in qcrypto_block_init_cipher() 288 * chance of cipher creation failing at I/O time. in qcrypto_block_init_cipher() 290 cipher = qcrypto_block_pop_cipher(block, errp); in qcrypto_block_init_cipher() 291 if (!cipher) { in qcrypto_block_init_cipher() [all …]
|
H A D | cipher-builtin.c.inc | 2 * QEMU Crypto cipher built-in algorithms 48 static void qcrypto_cipher_ctx_free(QCryptoCipher *cipher) 50 g_free(cipher); 53 static int qcrypto_cipher_no_setiv(QCryptoCipher *cipher, 138 static int qcrypto_cipher_aes_encrypt_ecb(QCryptoCipher *cipher, 143 = container_of(cipher, QCryptoCipherBuiltinAES, base); 152 static int qcrypto_cipher_aes_decrypt_ecb(QCryptoCipher *cipher, 157 = container_of(cipher, QCryptoCipherBuiltinAES, base); 166 static int qcrypto_cipher_aes_encrypt_cbc(QCryptoCipher *cipher, 171 = container_of(cipher, QCryptoCipherBuiltinAES, base); [all …]
|
/openbmc/linux/arch/arm64/crypto/ |
H A D | Kconfig | 135 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 …]
|
/openbmc/linux/include/crypto/ |
H A D | skcipher.h | 21 * struct skcipher_request - Symmetric key cipher request 53 * struct crypto_istat_cipher - statistics for cipher algorithm 58 * @err_cnt: number of error for cipher requests 69 * struct skcipher_alg - symmetric key cipher definition 121 * @stat: Statistics for cipher algorithm 161 * DOC: Symmetric Key Cipher API 163 * Symmetric key cipher API is used with the ciphers of type 166 * Asynchronous cipher operations imply that the function invocation for a 167 * cipher request returns immediately before the completion of the operation. 168 * The cipher request is scheduled as a separate kernel thread and therefore [all …]
|
H A D | aead.h | 18 * 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 121 * struct aead_alg - AEAD cipher definition 152 * @base: Definition of a generic crypto cipher algorithm. 189 * crypto_alloc_aead() - allocate AEAD cipher handle [all …]
|
H A D | hash.h | 57 * @base: Start of data structure of cipher algorithm. The common data 279 * The asynchronous cipher operation discussion provided for the 289 * crypto_alloc_ahash() - allocate ahash cipher handle 291 * ahash cipher 292 * @type: specifies the type of the cipher 293 * @mask: specifies the mask for the cipher 295 * Allocate a cipher handle for an ahash. The returned struct 296 * crypto_ahash is the cipher handle that is required for any subsequent 299 * Return: allocated cipher handle in case of success; IS_ERR() is true in case 314 * @tfm: cipher handle to be freed [all …]
|
H A D | rng.h | 94 * message digest cipher 95 * @type: specifies the type of the cipher 96 * @mask: specifies the mask for the cipher 98 * Allocate a cipher handle for a random number generator. The returned struct 99 * crypto_rng is the cipher handle that is required for any subsequent 108 * Return: allocated cipher handle in case of success; IS_ERR() is true in case 125 * @tfm: cipher handle 138 * @tfm: cipher handle to be freed 169 * @tfm: cipher handle 177 * cipher handle. [all …]
|
/openbmc/qemu/tests/unit/ |
H A D | test-crypto-cipher.c | 2 * QEMU Crypto cipher algorithms 24 #include "crypto/cipher.h" 45 .path = "/crypto/cipher/aes-ecb-128", 62 .path = "/crypto/cipher/aes-ecb-192", 79 .path = "/crypto/cipher/aes-ecb-256", 98 .path = "/crypto/cipher/aes-cbc-128", 116 .path = "/crypto/cipher/aes-cbc-192", 134 .path = "/crypto/cipher/aes-cbc-256", 158 .path = "/crypto/cipher/des-ecb-56-one-block", 167 .path = "/crypto/cipher/des-cbc-56-one-block", [all …]
|
/openbmc/phosphor-host-ipmid/app/ |
H A D | channel.cpp | 21 namespace cipher namespace 24 /** @brief Get the supported Cipher records 26 * The cipher records are read from the JSON file and converted into 27 * 1. cipher suite record format mentioned in the IPMI specification. The 28 * records can be either OEM or standard cipher. Each json entry is parsed and 29 * converted into the cipher record format and pushed into the vector. 32 * @return pair of vector containing 1. all the cipher suite records. 2. 46 lg2::error("Channel Cipher suites file not found"); in getCipherRecords() 53 lg2::error("Parsing channel cipher suites JSON failed"); in getCipherRecords() 61 // OEM cipher suite - 0xC1 in getCipherRecords() [all …]
|
/openbmc/linux/arch/x86/crypto/ |
H A D | Kconfig | 25 Block cipher: AES cipher algorithms 26 AEAD cipher: AES with GCM 39 Block cipher: Blowfish cipher algorithm 50 Block cipher: Camellia cipher algorithms 89 Length-preserving ciphers: CAST5 (CAST-128) cipher algorithm 107 Length-preserving ciphers: CAST6 (CAST-256) cipher algorithm 122 Block cipher: Triple DES EDE (FIPS 46-3) cipher algorithm 137 Length-preserving ciphers: Serpent cipher algorithm 153 Length-preserving ciphers: Serpent cipher algorithm 170 Length-preserving ciphers: Serpent cipher algorithm [all …]
|
/openbmc/linux/crypto/ |
H A D | cbc.c | 3 * CBC: Cipher Block Chaining mode 9 #include <crypto/internal/cipher.h> 25 struct crypto_cipher *cipher; in crypto_cbc_encrypt_segment() local 29 cipher = skcipher_cipher_simple(skcipher); in crypto_cbc_encrypt_segment() 30 tfm = crypto_cipher_tfm(cipher); in crypto_cbc_encrypt_segment() 31 fn = crypto_cipher_alg(cipher)->cia_encrypt; in crypto_cbc_encrypt_segment() 52 struct crypto_cipher *cipher; in crypto_cbc_encrypt_inplace() local 56 cipher = skcipher_cipher_simple(skcipher); in crypto_cbc_encrypt_inplace() 57 tfm = crypto_cipher_tfm(cipher); in crypto_cbc_encrypt_inplace() 58 fn = crypto_cipher_alg(cipher)->cia_encrypt; in crypto_cbc_encrypt_inplace() [all …]
|
H A D | Kconfig | 349 AES cipher algorithms (Rijndael)(FIPS-197, ISO/IEC 18033-3) 367 AES cipher algorithms (Rijndael)(FIPS-197, ISO/IEC 18033-3) 388 Anubis cipher algorithm 390 Anubis is a variable key length cipher which can use keys from 401 ARIA cipher algorithm (RFC5794) 417 Blowfish cipher algorithm, by Bruce Schneier 419 This is a variable key length cipher which can use keys from 32 428 Common parts of the Blowfish cipher algorithm shared by the 435 Camellia cipher algorithms (ISO/IEC 18033-3) 437 Camellia is a symmetric key block cipher developed jointly [all …]
|
H A D | ecb.c | 9 #include <crypto/internal/cipher.h> 17 struct crypto_cipher *cipher, in crypto_ecb_crypt() argument 20 const unsigned int bsize = crypto_cipher_blocksize(cipher); in crypto_ecb_crypt() 32 fn(crypto_cipher_tfm(cipher), dst, src); in crypto_ecb_crypt() 47 struct crypto_cipher *cipher = skcipher_cipher_simple(tfm); in crypto_ecb_encrypt() local 49 return crypto_ecb_crypt(req, cipher, in crypto_ecb_encrypt() 50 crypto_cipher_alg(cipher)->cia_encrypt); in crypto_ecb_encrypt() 56 struct crypto_cipher *cipher = skcipher_cipher_simple(tfm); in crypto_ecb_decrypt() local 58 return crypto_ecb_crypt(req, cipher, in crypto_ecb_decrypt() 59 crypto_cipher_alg(cipher)->cia_decrypt); in crypto_ecb_decrypt() [all …]
|
/openbmc/linux/drivers/crypto/amcc/ |
H A D | crypto4xx_alg.c | 73 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_cfb(struct crypto_skcipher *cipher, in crypto4xx_setkey_aes_cfb() argument 187 return crypto4xx_setkey_aes(cipher, key, keylen, CRYPTO_MODE_CFB, in crypto4xx_setkey_aes_cfb() 191 int crypto4xx_setkey_aes_ecb(struct crypto_skcipher *cipher, in crypto4xx_setkey_aes_ecb() argument 194 return crypto4xx_setkey_aes(cipher, key, keylen, CRYPTO_MODE_ECB, in crypto4xx_setkey_aes_ecb() [all …]
|
/openbmc/linux/drivers/crypto/cavium/nitrox/ |
H A D | nitrox_skcipher.c | 24 * 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 …]
|
/openbmc/qemu/tests/bench/ |
H A D | benchmark-crypto-cipher.c | 2 * QEMU Crypto cipher speed benchmark 16 #include "crypto/cipher.h" 22 QCryptoCipher *cipher; in test_cipher_speed() local 52 cipher = qcrypto_cipher_new(alg, mode, in test_cipher_speed() 54 g_assert(cipher != NULL); in test_cipher_speed() 57 g_assert(qcrypto_cipher_setiv(cipher, in test_cipher_speed() 64 g_assert(qcrypto_cipher_encrypt(cipher, in test_cipher_speed() 81 g_assert(qcrypto_cipher_decrypt(cipher, in test_cipher_speed() 95 qcrypto_cipher_free(cipher); in test_cipher_speed() 175 #define ADD_TEST(mode, cipher, keysize, chunk) \ in main() argument [all …]
|
/openbmc/phosphor-host-ipmid/user_channel/ |
H A D | cipher_mgmt.hpp | 39 * @brief Class to provide cipher suite functionalities 49 /** @brief function to get cipher suite privileges from config file 51 * @param[in] chNum - channel number for which we want to get cipher suite 54 * @param[in] csPrivilegeLevels - gets filled by cipher suite privilege 62 /** @brief function to set/update cipher suite privileges in config file 64 * @param[in] chNum - channel number for which we want to update cipher 67 * @param[in] csPrivilegeLevels - cipher suite privilege levels to update 95 /** @brief convert to cipher suite privilege from string to value 99 * @return cipher suite privilege index 125 * @param[in] csFileName - user setting cipher suite privilege file name [all …]
|