OLD | NEW |
1 /* crypto/cast/cast.h */ | 1 /* crypto/cast/cast.h */ |
2 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 * All rights reserved. | 3 * All rights reserved. |
4 * | 4 * |
5 * This package is an SSL implementation written | 5 * This package is an SSL implementation written |
6 * by Eric Young (eay@cryptsoft.com). | 6 * by Eric Young (eay@cryptsoft.com). |
7 * The implementation was written so as to conform with Netscapes SSL. | 7 * The implementation was written so as to conform with Netscapes SSL. |
8 * | 8 * |
9 * This library is free for commercial and non-commercial use as long as | 9 * This library is free for commercial and non-commercial use as long as |
10 * the following conditions are aheared to. The following conditions | 10 * the following conditions are aheared to. The following conditions |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 | 65 |
66 #include <openssl/opensslconf.h> | 66 #include <openssl/opensslconf.h> |
67 | 67 |
68 #ifdef OPENSSL_NO_CAST | 68 #ifdef OPENSSL_NO_CAST |
69 #error CAST is disabled. | 69 #error CAST is disabled. |
70 #endif | 70 #endif |
71 | 71 |
72 #define CAST_ENCRYPT 1 | 72 #define CAST_ENCRYPT 1 |
73 #define CAST_DECRYPT 0 | 73 #define CAST_DECRYPT 0 |
74 | 74 |
75 #define CAST_LONG unsigned long | 75 #define CAST_LONG unsigned int |
76 | 76 |
77 #define CAST_BLOCK 8 | 77 #define CAST_BLOCK 8 |
78 #define CAST_KEY_LENGTH 16 | 78 #define CAST_KEY_LENGTH 16 |
79 | 79 |
80 typedef struct cast_key_st | 80 typedef struct cast_key_st |
81 { | 81 { |
82 CAST_LONG data[32]; | 82 CAST_LONG data[32]; |
83 int short_key; /* Use reduced rounds for short key */ | 83 int short_key; /* Use reduced rounds for short key */ |
84 } CAST_KEY; | 84 } CAST_KEY; |
85 | 85 |
86 #ifdef OPENSSL_FIPS | 86 |
87 void private_CAST_set_key(CAST_KEY *key, int len, const unsigned char *data); | |
88 #endif | |
89 void CAST_set_key(CAST_KEY *key, int len, const unsigned char *data); | 87 void CAST_set_key(CAST_KEY *key, int len, const unsigned char *data); |
90 void CAST_ecb_encrypt(const unsigned char *in, unsigned char *out, const CAST_KE
Y *key, | 88 void CAST_ecb_encrypt(const unsigned char *in, unsigned char *out, const CAST_KE
Y *key, |
91 int enc); | 89 int enc); |
92 void CAST_encrypt(CAST_LONG *data, const CAST_KEY *key); | 90 void CAST_encrypt(CAST_LONG *data, const CAST_KEY *key); |
93 void CAST_decrypt(CAST_LONG *data, const CAST_KEY *key); | 91 void CAST_decrypt(CAST_LONG *data, const CAST_KEY *key); |
94 void CAST_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, | 92 void CAST_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, |
95 const CAST_KEY *ks, unsigned char *iv, int enc); | 93 const CAST_KEY *ks, unsigned char *iv, int enc); |
96 void CAST_cfb64_encrypt(const unsigned char *in, unsigned char *out, | 94 void CAST_cfb64_encrypt(const unsigned char *in, unsigned char *out, |
97 long length, const CAST_KEY *schedule, unsigned char *iv
ec, | 95 long length, const CAST_KEY *schedule, unsigned char *iv
ec, |
98 int *num, int enc); | 96 int *num, int enc); |
99 void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out, | 97 void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out, |
100 long length, const CAST_KEY *schedule, unsigned char *iv
ec, | 98 long length, const CAST_KEY *schedule, unsigned char *iv
ec, |
101 int *num); | 99 int *num); |
102 | 100 |
103 #ifdef __cplusplus | 101 #ifdef __cplusplus |
104 } | 102 } |
105 #endif | 103 #endif |
106 | 104 |
107 #endif | 105 #endif |
OLD | NEW |