xref: /illumos-gate/usr/src/uts/common/gssapi/mechs/krb5/include/arcfour.h (revision 89b2a9fbeabf42fa54594df0e5927bcc50a07cc9)
1 /*
2  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
3  * Use is subject to license terms.
4  */
5 
6 #pragma ident	"%Z%%M%	%I%	%E% SMI"
7 
8 #ifndef ARCFOUR_H
9 #define ARCFOUR_H
10 
11 #define CONFOUNDERLENGTH 8
12 
13 extern void
14 krb5_arcfour_encrypt_length(const struct krb5_enc_provider *,
15 			const struct krb5_hash_provider *,
16 			size_t,
17 			size_t *);
18 
19 extern
20 krb5_error_code krb5_arcfour_encrypt(krb5_context,
21 			const struct krb5_enc_provider *,
22 			const struct krb5_hash_provider *,
23 			const krb5_keyblock *,
24 			krb5_keyusage,
25 			const krb5_data *,
26      			const krb5_data *,
27 			krb5_data *);
28 
29 extern
30 krb5_error_code krb5_arcfour_decrypt(krb5_context,
31 			const struct krb5_enc_provider *,
32 			const struct krb5_hash_provider *,
33 			const krb5_keyblock *,
34 			krb5_keyusage,
35 			const krb5_data *,
36 			const krb5_data *,
37 			krb5_data *);
38 
39 #ifndef _KERNEL
40 extern krb5_error_code krb5int_arcfour_string_to_key(
41 	krb5_context,
42      const struct krb5_enc_provider *,
43      const krb5_data *,
44      const krb5_data *,
45      const krb5_data *,
46      krb5_keyblock *);
47 #endif /* _KERNEL */
48 
49 extern const struct krb5_enc_provider krb5int_enc_arcfour;
50 
51 krb5_keyusage krb5int_arcfour_translate_usage(krb5_keyusage usage);
52 
53 #endif /* ARCFOUR_H */
54