1 /* 2 * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. 3 * 4 * Licensed under the Apache License 2.0 (the "License"). You may not use 5 * this file except in compliance with the License. You can obtain a copy 6 * in the file LICENSE in the source distribution or at 7 * https://www.openssl.org/source/license.html 8 */ 9 10 #ifndef OPENSSL_CAST_H 11 # define OPENSSL_CAST_H 12 # pragma once 13 14 # include <openssl/macros.h> 15 # ifndef OPENSSL_NO_DEPRECATED_3_0 16 # define HEADER_CAST_H 17 # endif 18 19 # include <openssl/opensslconf.h> 20 21 # ifndef OPENSSL_NO_CAST 22 # ifdef __cplusplus 23 extern "C" { 24 # endif 25 26 # define CAST_BLOCK 8 27 # define CAST_KEY_LENGTH 16 28 29 # ifndef OPENSSL_NO_DEPRECATED_3_0 30 31 # define CAST_ENCRYPT 1 32 # define CAST_DECRYPT 0 33 34 # define CAST_LONG unsigned int 35 36 typedef struct cast_key_st { 37 CAST_LONG data[32]; 38 int short_key; /* Use reduced rounds for short key */ 39 } CAST_KEY; 40 41 # endif /* OPENSSL_NO_DEPRECATED_3_0 */ 42 # ifndef OPENSSL_NO_DEPRECATED_3_0 43 OSSL_DEPRECATEDIN_3_0 44 void CAST_set_key(CAST_KEY *key, int len, const unsigned char *data); 45 OSSL_DEPRECATEDIN_3_0 46 void CAST_ecb_encrypt(const unsigned char *in, unsigned char *out, 47 const CAST_KEY *key, int enc); 48 OSSL_DEPRECATEDIN_3_0 49 void CAST_encrypt(CAST_LONG *data, const CAST_KEY *key); 50 OSSL_DEPRECATEDIN_3_0 51 void CAST_decrypt(CAST_LONG *data, const CAST_KEY *key); 52 OSSL_DEPRECATEDIN_3_0 53 void CAST_cbc_encrypt(const unsigned char *in, unsigned char *out, 54 long length, const CAST_KEY *ks, unsigned char *iv, 55 int enc); 56 OSSL_DEPRECATEDIN_3_0 57 void CAST_cfb64_encrypt(const unsigned char *in, unsigned char *out, 58 long length, const CAST_KEY *schedule, 59 unsigned char *ivec, int *num, int enc); 60 OSSL_DEPRECATEDIN_3_0 61 void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out, 62 long length, const CAST_KEY *schedule, 63 unsigned char *ivec, int *num); 64 # endif 65 66 # ifdef __cplusplus 67 } 68 # endif 69 # endif 70 71 #endif 72