xref: /linux-6.15/include/crypto/krb5.h (revision 2ac92fed)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /* Kerberos 5 crypto
3  *
4  * Copyright (C) 2025 Red Hat, Inc. All Rights Reserved.
5  * Written by David Howells ([email protected])
6  */
7 
8 #ifndef _CRYPTO_KRB5_H
9 #define _CRYPTO_KRB5_H
10 
11 /*
12  * Per Kerberos v5 protocol spec crypto types from the wire.  These get mapped
13  * to linux kernel crypto routines.
14  */
15 #define KRB5_ENCTYPE_NULL			0x0000
16 #define KRB5_ENCTYPE_DES_CBC_CRC		0x0001	/* DES cbc mode with CRC-32 */
17 #define KRB5_ENCTYPE_DES_CBC_MD4		0x0002	/* DES cbc mode with RSA-MD4 */
18 #define KRB5_ENCTYPE_DES_CBC_MD5		0x0003	/* DES cbc mode with RSA-MD5 */
19 #define KRB5_ENCTYPE_DES_CBC_RAW		0x0004	/* DES cbc mode raw */
20 /* XXX deprecated? */
21 #define KRB5_ENCTYPE_DES3_CBC_SHA		0x0005	/* DES-3 cbc mode with NIST-SHA */
22 #define KRB5_ENCTYPE_DES3_CBC_RAW		0x0006	/* DES-3 cbc mode raw */
23 #define KRB5_ENCTYPE_DES_HMAC_SHA1		0x0008
24 #define KRB5_ENCTYPE_DES3_CBC_SHA1		0x0010
25 #define KRB5_ENCTYPE_AES128_CTS_HMAC_SHA1_96	0x0011
26 #define KRB5_ENCTYPE_AES256_CTS_HMAC_SHA1_96	0x0012
27 #define KRB5_ENCTYPE_ARCFOUR_HMAC		0x0017
28 #define KRB5_ENCTYPE_ARCFOUR_HMAC_EXP		0x0018
29 #define KRB5_ENCTYPE_UNKNOWN			0x01ff
30 
31 #define KRB5_CKSUMTYPE_CRC32			0x0001
32 #define KRB5_CKSUMTYPE_RSA_MD4			0x0002
33 #define KRB5_CKSUMTYPE_RSA_MD4_DES		0x0003
34 #define KRB5_CKSUMTYPE_DESCBC			0x0004
35 #define KRB5_CKSUMTYPE_RSA_MD5			0x0007
36 #define KRB5_CKSUMTYPE_RSA_MD5_DES		0x0008
37 #define KRB5_CKSUMTYPE_NIST_SHA			0x0009
38 #define KRB5_CKSUMTYPE_HMAC_SHA1_DES3		0x000c
39 #define KRB5_CKSUMTYPE_HMAC_SHA1_96_AES128	0x000f
40 #define KRB5_CKSUMTYPE_HMAC_SHA1_96_AES256	0x0010
41 #define KRB5_CKSUMTYPE_HMAC_MD5_ARCFOUR		-138 /* Microsoft md5 hmac cksumtype */
42 
43 /*
44  * Constants used for key derivation
45  */
46 /* from rfc3961 */
47 #define KEY_USAGE_SEED_CHECKSUM         (0x99)
48 #define KEY_USAGE_SEED_ENCRYPTION       (0xAA)
49 #define KEY_USAGE_SEED_INTEGRITY        (0x55)
50 
51 #endif /* _CRYPTO_KRB5_H */
52