| /linux/crypto/krb5/ |
| H A D | krb5_api.c | 37 const struct krb5_enctype *krb5; in crypto_krb5_find_enctype() local 41 krb5 = krb5_supported_enctypes[i]; in crypto_krb5_find_enctype() 42 if (krb5->etype == enctype) in crypto_krb5_find_enctype() 43 return krb5; in crypto_krb5_find_enctype() 62 size_t crypto_krb5_how_much_buffer(const struct krb5_enctype *krb5, in crypto_krb5_how_much_buffer() argument 68 *_offset = krb5->cksum_len; in crypto_krb5_how_much_buffer() 69 return krb5->cksum_len + data_size; in crypto_krb5_how_much_buffer() 72 *_offset = krb5->conf_len; in crypto_krb5_how_much_buffer() 73 return krb5->conf_len + data_size + krb5->cksum_len; in crypto_krb5_how_much_buffer() 96 size_t crypto_krb5_how_much_data(const struct krb5_enctype *krb5, in crypto_krb5_how_much_data() argument [all …]
|
| H A D | rfc3961_simplified.c | 138 static int rfc3961_calc_H(const struct krb5_enctype *krb5, in rfc3961_calc_H() argument 148 tfm = crypto_alloc_shash(krb5->hash_name, 0, 0); in rfc3961_calc_H() 264 static int rfc3961_calc_DK(const struct krb5_enctype *krb5, in rfc3961_calc_DK() argument 275 blocksize = krb5->block_len; in rfc3961_calc_DK() 276 keybytes = krb5->key_bytes; in rfc3961_calc_DK() 277 keylength = krb5->key_len; in rfc3961_calc_DK() 281 if (!krb5->random_to_key && result->len != keybytes) in rfc3961_calc_DK() 284 cipher = crypto_alloc_sync_skcipher(krb5->derivation_enc, 0, 0); in rfc3961_calc_DK() 327 if (!krb5->random_to_key) { in rfc3961_calc_DK() 332 ret = krb5->random_to_key(krb5, &rawkey, result); in rfc3961_calc_DK() [all …]
|
| H A D | internal.h | 18 int (*calc_PRF)(const struct krb5_enctype *krb5, 25 int (*calc_Kc)(const struct krb5_enctype *krb5, 32 int (*calc_Ke)(const struct krb5_enctype *krb5, 39 int (*calc_Ki)(const struct krb5_enctype *krb5, 46 int (*derive_encrypt_keys)(const struct krb5_enctype *krb5, 53 int (*load_encrypt_keys)(const struct krb5_enctype *krb5, 60 int (*derive_checksum_key)(const struct krb5_enctype *krb5, 67 int (*load_checksum_key)(const struct krb5_enctype *krb5, 73 ssize_t (*encrypt)(const struct krb5_enctype *krb5, 81 int (*decrypt)(const struct krb5_enctype *krb5, [all …]
|
| H A D | selftest.c | 120 const struct krb5_enctype *krb5 = crypto_krb5_find_enctype(test->etype); in krb5_test_one_prf() local 124 if (!krb5) in krb5_test_one_prf() 127 pr_notice("Running %s %s\n", krb5->name, test->name); in krb5_test_one_prf() 132 PREP_BUF(&result, krb5->prf_len); in krb5_test_one_prf() 139 ret = krb5->profile->calc_PRF(krb5, &key, &octet, &result, GFP_KERNEL); in krb5_test_one_prf() 165 static int krb5_test_key(const struct krb5_enctype *krb5, in krb5_test_key() argument 178 ret = krb5_derive_Kc(krb5, base_key, test->use, &result, GFP_KERNEL); in krb5_test_key() 181 ret = krb5_derive_Ke(krb5, base_key, test->use, &result, GFP_KERNEL); in krb5_test_key() 184 ret = krb5_derive_Ki(krb5, base_key, test->use, &result, GFP_KERNEL); in krb5_test_key() 212 const struct krb5_enctype *krb5 = crypto_krb5_find_enctype(test->etype); in krb5_test_one_key() local [all …]
|
| H A D | krb5_kdf.c | 32 int crypto_krb5_calc_PRFplus(const struct krb5_enctype *krb5, in crypto_krb5_calc_PRFplus() argument 43 Tn.len = krb5->prf_len; in crypto_krb5_calc_PRFplus() 58 ret = krb5->profile->calc_PRF(krb5, K, &n_S, &Tn, gfp); in crypto_krb5_calc_PRFplus() 86 int krb5_derive_Kc(const struct krb5_enctype *krb5, const struct krb5_buffer *TK, in krb5_derive_Kc() argument 95 key->len = krb5->Kc_len; in krb5_derive_Kc() 96 return krb5->profile->calc_Kc(krb5, TK, &usage_constant, key, gfp); in krb5_derive_Kc() 110 int krb5_derive_Ke(const struct krb5_enctype *krb5, const struct krb5_buffer *TK, in krb5_derive_Ke() argument 119 key->len = krb5->Ke_len; in krb5_derive_Ke() 120 return krb5->profile->calc_Ke(krb5, TK, &usage_constant, key, gfp); in krb5_derive_Ke() 134 int krb5_derive_Ki(const struct krb5_enctype *krb5, const struct krb5_buffer *TK, in krb5_derive_Ki() argument [all …]
|
| H A D | rfc8009_aes2.c | 28 static int rfc8009_calc_KDF_HMAC_SHA2(const struct krb5_enctype *krb5, in rfc8009_calc_KDF_HMAC_SHA2() argument 48 shash = crypto_alloc_shash(krb5->cksum_name, 0, 0); in rfc8009_calc_KDF_HMAC_SHA2() 119 static int rfc8009_calc_PRF(const struct krb5_enctype *krb5, in rfc8009_calc_PRF() argument 127 return rfc8009_calc_KDF_HMAC_SHA2(krb5, input_key, &prfconstant, in rfc8009_calc_PRF() 128 octet_string, krb5->prf_len * 8, in rfc8009_calc_PRF() 138 static int rfc8009_calc_Ke(const struct krb5_enctype *krb5, in rfc8009_calc_Ke() argument 144 return rfc8009_calc_KDF_HMAC_SHA2(krb5, base_key, usage_constant, in rfc8009_calc_Ke() 145 &rfc8009_no_context, krb5->key_bytes * 8, in rfc8009_calc_Ke() 157 static int rfc8009_calc_Ki(const struct krb5_enctype *krb5, in rfc8009_calc_Ki() argument 163 return rfc8009_calc_KDF_HMAC_SHA2(krb5, base_key, usage_constant, in rfc8009_calc_Ki() [all …]
|
| H A D | Makefile | 6 krb5-y += \ 14 krb5-$(CONFIG_CRYPTO_KRB5_SELFTESTS) += \ 18 obj-$(CONFIG_CRYPTO_KRB5) += krb5.o
|
| H A D | rfc6803_camellia.c | 24 static int rfc6803_calc_KDF_FEEDBACK_CMAC(const struct krb5_enctype *krb5, in rfc6803_calc_KDF_FEEDBACK_CMAC() argument 40 shash = crypto_alloc_shash(krb5->cksum_name, 0, 0); in rfc6803_calc_KDF_FEEDBACK_CMAC() 115 static int rfc6803_calc_PRF(const struct krb5_enctype *krb5, in rfc6803_calc_PRF() argument 129 Kp.len = krb5->prf_len; in rfc6803_calc_PRF() 131 shash = crypto_alloc_shash(krb5->cksum_name, 0, 0); in rfc6803_calc_PRF() 151 ret = rfc6803_calc_KDF_FEEDBACK_CMAC(krb5, protocol_key, &prfconstant, in rfc6803_calc_PRF()
|
| /linux/net/rxrpc/ |
| H A D | rxgk_kdf.c | 62 const struct krb5_enctype *krb5 = gk->krb5; in rxgk_derive_transport_key() local 64 unsigned int L = krb5->key_bytes; in rxgk_derive_transport_key() 86 ret = crypto_krb5_calc_PRFplus(krb5, &rxgk->key, L, &conn_info, TK, gfp); in rxgk_derive_transport_key() 100 const struct krb5_enctype *krb5 = gk->krb5; in rxgk_set_up_ciphers() local 108 buffer = kzalloc(krb5->key_bytes, gfp); in rxgk_set_up_ciphers() 112 TK.len = krb5->key_bytes; in rxgk_set_up_ciphers() 119 aead = crypto_krb5_prepare_encryption(krb5, &TK, RXGK_CLIENT_ENC_RESPONSE, gfp); in rxgk_set_up_ciphers() 124 if (crypto_aead_blocksize(gk->resp_enc) != krb5->block_len || in rxgk_set_up_ciphers() 125 crypto_aead_authsize(gk->resp_enc) != krb5->cksum_len) { in rxgk_set_up_ciphers() 127 crypto_aead_blocksize(gk->resp_enc), krb5->block_len, in rxgk_set_up_ciphers() [all …]
|
| H A D | rxgk.c | 22 const struct krb5_enctype *krb5; in rxgk_preparse_server_key() local 36 krb5 = crypto_krb5_find_enctype(enctype); in rxgk_preparse_server_key() 37 if (!krb5) in rxgk_preparse_server_key() 40 prep->payload.data[0] = (struct krb5_enctype *)krb5; in rxgk_preparse_server_key() 42 if (prep->datalen != krb5->key_len) in rxgk_preparse_server_key() 73 const struct krb5_enctype *krb5 = key->payload.data[0]; in rxgk_describe_server_key() local 75 if (krb5) in rxgk_describe_server_key() 76 seq_printf(m, ": %s", krb5->name); in rxgk_describe_server_key() 254 conn->rxgk.enctype = gk->krb5->etype; in rxgk_init_connection_security() 310 limit = crypto_krb5_how_much_data(gk->krb5, mode, &alloc, &offset); in rxgk_alloc_txbuf() [all …]
|
| H A D | rxgk_common.h | 22 const struct krb5_enctype *krb5; /* RxGK encryption type */ member 69 int rxgk_decrypt_skb(const struct krb5_enctype *krb5, in rxgk_decrypt_skb() argument 84 ret = crypto_krb5_decrypt(krb5, aead, sg, nr_sg, in rxgk_decrypt_skb() 112 int rxgk_verify_mic_skb(const struct krb5_enctype *krb5, in rxgk_verify_mic_skb() argument 128 ret = crypto_krb5_verify_mic(krb5, shash, metadata, sg, nr_sg, in rxgk_verify_mic_skb()
|
| H A D | rxgk_app.c | 188 const struct krb5_enctype *krb5; in rxgk_extract_token() local 230 ret = rxgk_set_up_token_cipher(server_secret, &token_enc, enctype, &krb5, GFP_NOFS); in rxgk_extract_token() 240 ret = rxgk_decrypt_skb(krb5, token_enc, skb, in rxgk_extract_token()
|
| H A D | rxperf.c | 588 const struct krb5_enctype *krb5 = crypto_krb5_find_enctype(enctype); in rxperf_add_yfs_rxgk_key() local 594 if (!krb5 || krb5->key_len > sizeof(key)) in rxperf_add_yfs_rxgk_key() 598 for (int i = 0; i < krb5->key_len; i++) in rxperf_add_yfs_rxgk_key() 605 key, krb5->key_len, in rxperf_add_yfs_rxgk_key()
|
| /linux/include/crypto/ |
| H A D | krb5.h | 109 int (*random_to_key)(const struct krb5_enctype *krb5, 118 size_t crypto_krb5_how_much_buffer(const struct krb5_enctype *krb5, 121 size_t crypto_krb5_how_much_data(const struct krb5_enctype *krb5, 124 void crypto_krb5_where_is_the_data(const struct krb5_enctype *krb5, 127 struct crypto_aead *crypto_krb5_prepare_encryption(const struct krb5_enctype *krb5, 130 struct crypto_shash *crypto_krb5_prepare_checksum(const struct krb5_enctype *krb5, 133 ssize_t crypto_krb5_encrypt(const struct krb5_enctype *krb5, 139 int crypto_krb5_decrypt(const struct krb5_enctype *krb5, 143 ssize_t crypto_krb5_get_mic(const struct krb5_enctype *krb5, 149 int crypto_krb5_verify_mic(const struct krb5_enctype *krb5, [all …]
|
| /linux/fs/afs/ |
| H A D | cm_security.c | 122 const struct krb5_enctype *krb5; in afs_create_token_key() local 142 krb5 = crypto_krb5_find_enctype(KRB5_ENCTYPE_AES128_CTS_HMAC_SHA1_96); in afs_create_token_key() 143 if (!krb5) in afs_create_token_key() 146 if (WARN_ON_ONCE(krb5->key_len > sizeof(K0))) in afs_create_token_key() 151 YFS_CM_SERVICE, RXRPC_SECURITY_YFS_RXGK, 1, krb5->etype); in afs_create_token_key() 156 get_random_bytes(K0, krb5->key_len); in afs_create_token_key() 160 K0, krb5->key_len, in afs_create_token_key()
|
| /linux/Documentation/crypto/ |
| H A D | krb5.rst | 46 #include <crypto/krb5.h> 118 int crypto_krb5_calc_PRFplus(const struct krb5_enctype *krb5, 141 size_t crypto_krb5_how_much_buffer(const struct krb5_enctype *krb5, 145 size_t crypto_krb5_how_much_data(const struct krb5_enctype *krb5, 161 void crypto_krb5_where_is_the_data(const struct krb5_enctype *krb5, 176 crypto_krb5_prepare_encryption(const struct krb5_enctype *krb5, 180 crypto_krb5_prepare_checksum(const struct krb5_enctype *krb5, 195 ssize_t crypto_krb5_encrypt(const struct krb5_enctype *krb5, 201 int crypto_krb5_decrypt(const struct krb5_enctype *krb5, 224 ssize_t crypto_krb5_get_mic(const struct krb5_enctype *krb5, [all …]
|
| H A D | index.rst | 29 krb5
|
| /linux/Documentation/admin-guide/cifs/ |
| H A D | usage.rst | 672 krb5 742 may use Kerberos security (krb5) 0x00008
|
| /linux/crypto/ |
| H A D | Kconfig | 1411 source "crypto/krb5/Kconfig"
|