43
43
const struct krb5_keytypes krb5_enctypes_list[] = {
44
44
{ ENCTYPE_DES_CBC_CRC,
45
"des-cbc-crc", "DES cbc mode with CRC-32",
45
"des-cbc-crc", { 0 }, "DES cbc mode with CRC-32",
46
46
&krb5int_enc_des, &krb5int_hash_crc32,
48
48
krb5_old_encrypt_length, krb5_old_encrypt, krb5_old_decrypt,
49
49
krb5int_des_string_to_key,
52
54
{ ENCTYPE_DES_CBC_MD4,
53
"des-cbc-md4", "DES cbc mode with RSA-MD4",
55
"des-cbc-md4", { 0 }, "DES cbc mode with RSA-MD4",
54
56
&krb5int_enc_des, &krb5int_hash_md4,
56
58
krb5_old_encrypt_length, krb5_old_encrypt, krb5_old_decrypt,
57
59
krb5int_des_string_to_key,
60
{ ENCTYPE_DES_CBC_MD5,
61
"des-cbc-md5", "DES cbc mode with RSA-MD5",
62
&krb5int_enc_des, &krb5int_hash_md5,
64
krb5_old_encrypt_length, krb5_old_encrypt, krb5_old_decrypt,
65
krb5int_des_string_to_key,
68
{ ENCTYPE_DES_CBC_MD5,
69
"des", "DES cbc mode with RSA-MD5", /* alias */
70
&krb5int_enc_des, &krb5int_hash_md5,
72
krb5_old_encrypt_length, krb5_old_encrypt, krb5_old_decrypt,
73
krb5int_des_string_to_key,
64
{ ENCTYPE_DES_CBC_MD5,
65
"des-cbc-md5", { "des" }, "DES cbc mode with RSA-MD5",
66
&krb5int_enc_des, &krb5int_hash_md5,
68
krb5_old_encrypt_length, krb5_old_encrypt, krb5_old_decrypt,
69
krb5int_des_string_to_key,
77
74
{ ENCTYPE_DES_CBC_RAW,
78
"des-cbc-raw", "DES cbc mode raw",
75
"des-cbc-raw", { 0 }, "DES cbc mode raw",
79
76
&krb5int_enc_des, NULL,
81
78
krb5_raw_encrypt_length, krb5_raw_encrypt, krb5_raw_decrypt,
82
79
krb5int_des_string_to_key,
85
84
{ ENCTYPE_DES3_CBC_RAW,
86
"des3-cbc-raw", "Triple DES cbc mode raw",
85
"des3-cbc-raw", { 0 }, "Triple DES cbc mode raw",
87
86
&krb5int_enc_des3, NULL,
89
88
krb5_raw_encrypt_length, krb5_raw_encrypt, krb5_raw_decrypt,
90
89
krb5int_dk_string_to_key,
94
95
{ ENCTYPE_DES3_CBC_SHA1,
95
"des3-cbc-sha1", "Triple DES cbc mode with HMAC/sha1",
96
&krb5int_enc_des3, &krb5int_hash_sha1,
98
krb5_dk_encrypt_length, krb5_dk_encrypt, krb5_dk_decrypt,
99
krb5int_dk_string_to_key,
101
CKSUMTYPE_HMAC_SHA1_DES3 },
102
{ ENCTYPE_DES3_CBC_SHA1, /* alias */
103
"des3-hmac-sha1", "Triple DES cbc mode with HMAC/sha1",
104
&krb5int_enc_des3, &krb5int_hash_sha1,
106
krb5_dk_encrypt_length, krb5_dk_encrypt, krb5_dk_decrypt,
107
krb5int_dk_string_to_key,
109
CKSUMTYPE_HMAC_SHA1_DES3 },
110
{ ENCTYPE_DES3_CBC_SHA1, /* alias */
111
"des3-cbc-sha1-kd", "Triple DES cbc mode with HMAC/sha1",
112
&krb5int_enc_des3, &krb5int_hash_sha1,
114
krb5_dk_encrypt_length, krb5_dk_encrypt, krb5_dk_decrypt,
115
krb5int_dk_string_to_key,
117
CKSUMTYPE_HMAC_SHA1_DES3 },
96
"des3-cbc-sha1", { "des3-hmac-sha1", "des3-cbc-sha1-kd" },
97
"Triple DES cbc mode with HMAC/sha1",
98
&krb5int_enc_des3, &krb5int_hash_sha1,
100
krb5_dk_encrypt_length, krb5_dk_encrypt, krb5_dk_decrypt,
101
krb5int_dk_string_to_key,
103
CKSUMTYPE_HMAC_SHA1_DES3,
119
107
{ ENCTYPE_DES_HMAC_SHA1,
120
"des-hmac-sha1", "DES with HMAC/sha1",
108
"des-hmac-sha1", { 0 }, "DES with HMAC/sha1",
121
109
&krb5int_enc_des, &krb5int_hash_sha1,
123
111
krb5_dk_encrypt_length, krb5_dk_encrypt, krb5_dk_decrypt,
124
112
krb5int_dk_string_to_key,
127
117
{ ENCTYPE_ARCFOUR_HMAC,
128
"arcfour-hmac","ArcFour with HMAC/md5", &krb5int_enc_arcfour,
131
krb5_arcfour_encrypt_length, krb5_arcfour_encrypt,
132
krb5_arcfour_decrypt, krb5int_arcfour_string_to_key,
134
CKSUMTYPE_HMAC_MD5_ARCFOUR },
135
{ ENCTYPE_ARCFOUR_HMAC, /* alias */
136
"rc4-hmac", "ArcFour with HMAC/md5", &krb5int_enc_arcfour,
139
krb5_arcfour_encrypt_length, krb5_arcfour_encrypt,
140
krb5_arcfour_decrypt, krb5int_arcfour_string_to_key,
142
CKSUMTYPE_HMAC_MD5_ARCFOUR },
143
{ ENCTYPE_ARCFOUR_HMAC, /* alias */
144
"arcfour-hmac-md5", "ArcFour with HMAC/md5", &krb5int_enc_arcfour,
147
krb5_arcfour_encrypt_length, krb5_arcfour_encrypt,
148
krb5_arcfour_decrypt, krb5int_arcfour_string_to_key,
150
CKSUMTYPE_HMAC_MD5_ARCFOUR },
118
"arcfour-hmac", { "rc4-hmac", "arcfour-hmac-md5" },
119
"ArcFour with HMAC/md5",
120
&krb5int_enc_arcfour,
123
krb5_arcfour_encrypt_length, krb5_arcfour_encrypt,
124
krb5_arcfour_decrypt, krb5int_arcfour_string_to_key,
125
krb5int_arcfour_prf, /*PRF*/
126
CKSUMTYPE_HMAC_MD5_ARCFOUR,
127
&krb5int_aead_arcfour,
151
129
{ ENCTYPE_ARCFOUR_HMAC_EXP,
152
"arcfour-hmac-exp", "Exportable ArcFour with HMAC/md5",
153
&krb5int_enc_arcfour,
156
krb5_arcfour_encrypt_length, krb5_arcfour_encrypt,
157
krb5_arcfour_decrypt, krb5int_arcfour_string_to_key,
159
CKSUMTYPE_HMAC_MD5_ARCFOUR },
160
{ ENCTYPE_ARCFOUR_HMAC_EXP, /* alias */
161
"rc4-hmac-exp", "Exportable ArcFour with HMAC/md5",
162
&krb5int_enc_arcfour,
165
krb5_arcfour_encrypt_length, krb5_arcfour_encrypt,
166
krb5_arcfour_decrypt, krb5int_arcfour_string_to_key,
168
CKSUMTYPE_HMAC_MD5_ARCFOUR },
169
{ ENCTYPE_ARCFOUR_HMAC_EXP, /* alias */
170
"arcfour-hmac-md5-exp", "Exportable ArcFour with HMAC/md5",
171
&krb5int_enc_arcfour,
174
krb5_arcfour_encrypt_length, krb5_arcfour_encrypt,
175
krb5_arcfour_decrypt, krb5int_arcfour_string_to_key,
177
CKSUMTYPE_HMAC_MD5_ARCFOUR },
130
"arcfour-hmac-exp", { "rc4-hmac-exp", "arcfour-hmac-md5-exp" },
131
"Exportable ArcFour with HMAC/md5",
132
&krb5int_enc_arcfour,
135
krb5_arcfour_encrypt_length, krb5_arcfour_encrypt,
136
krb5_arcfour_decrypt, krb5int_arcfour_string_to_key,
137
krb5int_arcfour_prf, /*PRF*/
138
CKSUMTYPE_HMAC_MD5_ARCFOUR,
139
&krb5int_aead_arcfour,
179
143
{ ENCTYPE_AES128_CTS_HMAC_SHA1_96,
180
"aes128-cts-hmac-sha1-96", "AES-128 CTS mode with 96-bit SHA-1 HMAC",
181
&krb5int_enc_aes128, &krb5int_hash_sha1,
183
krb5int_aes_encrypt_length, krb5int_aes_dk_encrypt, krb5int_aes_dk_decrypt,
184
krb5int_aes_string_to_key,
186
CKSUMTYPE_HMAC_SHA1_96_AES128 },
187
{ ENCTYPE_AES128_CTS_HMAC_SHA1_96, /* alias */
188
"aes128-cts", "AES-128 CTS mode with 96-bit SHA-1 HMAC",
189
&krb5int_enc_aes128, &krb5int_hash_sha1,
191
krb5int_aes_encrypt_length, krb5int_aes_dk_encrypt, krb5int_aes_dk_decrypt,
192
krb5int_aes_string_to_key,
194
CKSUMTYPE_HMAC_SHA1_96_AES128 },
144
"aes128-cts-hmac-sha1-96", { "aes128-cts" },
145
"AES-128 CTS mode with 96-bit SHA-1 HMAC",
146
&krb5int_enc_aes128, &krb5int_hash_sha1,
148
krb5int_aes_encrypt_length, krb5int_aes_dk_encrypt, krb5int_aes_dk_decrypt,
149
krb5int_aes_string_to_key,
151
CKSUMTYPE_HMAC_SHA1_96_AES128,
195
154
{ ENCTYPE_AES256_CTS_HMAC_SHA1_96,
196
"aes256-cts-hmac-sha1-96", "AES-256 CTS mode with 96-bit SHA-1 HMAC",
197
&krb5int_enc_aes256, &krb5int_hash_sha1,
199
krb5int_aes_encrypt_length, krb5int_aes_dk_encrypt, krb5int_aes_dk_decrypt,
200
krb5int_aes_string_to_key,
202
CKSUMTYPE_HMAC_SHA1_96_AES256 },
203
{ ENCTYPE_AES256_CTS_HMAC_SHA1_96, /* alias */
204
"aes256-cts", "AES-256 CTS mode with 96-bit SHA-1 HMAC",
205
&krb5int_enc_aes256, &krb5int_hash_sha1,
207
krb5int_aes_encrypt_length, krb5int_aes_dk_encrypt, krb5int_aes_dk_decrypt,
208
krb5int_aes_string_to_key,
210
CKSUMTYPE_HMAC_SHA1_96_AES256 },
155
"aes256-cts-hmac-sha1-96", { "aes256-cts" },
156
"AES-256 CTS mode with 96-bit SHA-1 HMAC",
157
&krb5int_enc_aes256, &krb5int_hash_sha1,
159
krb5int_aes_encrypt_length, krb5int_aes_dk_encrypt, krb5int_aes_dk_decrypt,
160
krb5int_aes_string_to_key,
162
CKSUMTYPE_HMAC_SHA1_96_AES256,
213
167
const int krb5_enctypes_length =