]> git.saurik.com Git - apple/xnu.git/blob - EXTERNAL_HEADERS/corecrypto/ccdes.h
xnu-6153.41.3.tar.gz
[apple/xnu.git] / EXTERNAL_HEADERS / corecrypto / ccdes.h
1 /*
2 * ccdes.h
3 * corecrypto
4 *
5 * Created on 12/20/2010
6 *
7 * Copyright (c) 2010,2012,2015 Apple Inc. All rights reserved.
8 *
9 */
10
11
12 #ifndef _CORECRYPTO_CCDES_H_
13 #define _CORECRYPTO_CCDES_H_
14
15 #include <corecrypto/ccmode.h>
16
17 #define CCDES_BLOCK_SIZE 8
18 #define CCDES_KEY_SIZE 8
19
20 extern const struct ccmode_ecb ccdes3_ltc_ecb_decrypt_mode;
21 extern const struct ccmode_ecb ccdes3_ltc_ecb_encrypt_mode;
22
23 const struct ccmode_ecb *ccdes_ecb_decrypt_mode(void);
24 const struct ccmode_ecb *ccdes_ecb_encrypt_mode(void);
25
26 const struct ccmode_cbc *ccdes_cbc_decrypt_mode(void);
27 const struct ccmode_cbc *ccdes_cbc_encrypt_mode(void);
28
29 const struct ccmode_cfb *ccdes_cfb_decrypt_mode(void);
30 const struct ccmode_cfb *ccdes_cfb_encrypt_mode(void);
31
32 const struct ccmode_cfb8 *ccdes_cfb8_decrypt_mode(void);
33 const struct ccmode_cfb8 *ccdes_cfb8_encrypt_mode(void);
34
35 const struct ccmode_ctr *ccdes_ctr_crypt_mode(void);
36
37 const struct ccmode_ofb *ccdes_ofb_crypt_mode(void);
38
39
40 const struct ccmode_ecb *ccdes3_ecb_decrypt_mode(void);
41 const struct ccmode_ecb *ccdes3_ecb_encrypt_mode(void);
42
43 const struct ccmode_cbc *ccdes3_cbc_decrypt_mode(void);
44 const struct ccmode_cbc *ccdes3_cbc_encrypt_mode(void);
45
46 const struct ccmode_cfb *ccdes3_cfb_decrypt_mode(void);
47 const struct ccmode_cfb *ccdes3_cfb_encrypt_mode(void);
48
49 const struct ccmode_cfb8 *ccdes3_cfb8_decrypt_mode(void);
50 const struct ccmode_cfb8 *ccdes3_cfb8_encrypt_mode(void);
51
52 const struct ccmode_ctr *ccdes3_ctr_crypt_mode(void);
53
54 const struct ccmode_ofb *ccdes3_ofb_crypt_mode(void);
55
56 int ccdes_key_is_weak( void *key, size_t length);
57 void ccdes_key_set_odd_parity(void *key, size_t length);
58
59 uint32_t
60 ccdes_cbc_cksum(const void *in, void *out, size_t length,
61 const void *key, size_t key_nbytes, const void *ivec);
62
63
64 #endif /* _CORECRYPTO_CCDES_H_ */