1 #ifndef DES_PROTOTYPES_H
2 #define DES_PROTOTYPES_H
5 extern afs_uint32 long_swap_bits(afs_uint32 x);
6 extern afs_uint32 swap_six_bits_to_ansi(afs_uint32 old);
7 extern afs_uint32 swap_four_bits_to_ansi(afs_uint32 old);
8 extern afs_uint32 swap_bit_pos_1(afs_uint32 x);
9 extern afs_uint32 swap_bit_pos_0(afs_uint32 x);
10 extern afs_uint32 swap_bit_pos_0_to_ansi(afs_uint32 x);
11 extern afs_uint32 rev_swap_bit_pos_0(afs_uint32 x);
12 extern afs_uint32 swap_byte_bits(afs_uint32 x);
13 extern int swap_long_bytes_bit_number(afs_uint32 x);
15 extern void test_set(FILE * stream, const char *src, int testbit,
16 const char *dest, int setbit);
20 static_inline unsigned char *
21 cblockptr_to_cblock(des_cblock *key) {
22 return (unsigned char *)key;
25 static_inline unsigned char *
26 charptr_to_cblock(char *key) {
27 return (unsigned char *)key;
30 static_inline des_cblock *
31 charptr_to_cblockptr(char *key) {
32 return (unsigned char (*)[])key;
36 extern afs_int32 des_cbc_encrypt(void * in, void * out,
37 register afs_int32 length,
38 des_key_schedule key, des_cblock * iv,
42 extern afs_int32 des_pcbc_encrypt(void * in, void * out,
43 register afs_int32 length,
44 des_key_schedule key, des_cblock * iv,
48 extern afs_int32 des_ecb_encrypt(void * clear, void * cipher,
49 register des_key_schedule schedule,
54 extern int des_cblock_print_file(des_cblock * x, FILE * fp);
59 extern void gen(FILE * stream);
63 extern int des_is_weak_key(des_cblock key);
66 extern void des_fixup_key_parity(register des_cblock key);
67 extern int des_check_key_parity(register des_cblock key);
70 extern afs_uint32 des_cbc_cksum(des_cblock * in, des_cblock * out,
71 register afs_int32 length,
72 des_key_schedule key, des_cblock * iv);
75 extern afs_uint32 des_quad_cksum(unsigned char *in, afs_uint32 * out,
76 afs_int32 length, int out_count,
80 extern int afs_des_key_sched(register des_cblock k,
81 des_key_schedule schedule);
82 extern int des_key_sched(register des_cblock k, des_key_schedule schedule);
86 extern void des_string_to_key(char *str, register des_cblock * key);
89 extern int des_random_key(des_cblock key);
90 extern void des_init_random_number_generator(des_cblock key);
91 extern void des_set_random_generator_seed(des_cblock key);
94 extern int des_read_password(des_cblock * k, char *prompt, int verify);
95 extern int des_read_pw_string(char *, int, char *, int);