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
13extern void
14krb5_arcfour_encrypt_length(const struct krb5_enc_provider *,
15			const struct krb5_hash_provider *,
16			size_t,
17			size_t *);
18
19extern
20krb5_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
29extern
30krb5_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
40extern 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
49extern const struct krb5_enc_provider krb5int_enc_arcfour;
50
51krb5_keyusage krb5int_arcfour_translate_usage(krb5_keyusage usage);
52
53#endif /* ARCFOUR_H */
54