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