Home
last modified time | relevance | path

Searched refs:krb5 (Results 1 – 19 of 19) sorted by relevance

/linux/crypto/krb5/
H A Dkrb5_api.c37 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 Drfc3961_simplified.c138 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 Dinternal.h18 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 Dselftest.c120 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 Dkrb5_kdf.c32 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 Drfc8009_aes2.c28 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 DMakefile6 krb5-y += \
14 krb5-$(CONFIG_CRYPTO_KRB5_SELFTESTS) += \
18 obj-$(CONFIG_CRYPTO_KRB5) += krb5.o
H A Drfc6803_camellia.c24 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 Drxgk_kdf.c62 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 Drxgk.c22 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 Drxgk_common.h22 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 Drxgk_app.c188 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 Drxperf.c588 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 Dkrb5.h109 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 Dcm_security.c122 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 Dkrb5.rst46 #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 Dindex.rst29 krb5
/linux/Documentation/admin-guide/cifs/
H A Dusage.rst672 krb5
742 may use Kerberos security (krb5) 0x00008
/linux/crypto/
H A DKconfig1411 source "crypto/krb5/Kconfig"