blob: a78cf1637f2b8ed8f9bd09e15271048f8cda3950 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
/* -*- Mode: C; c-file-style: "bsd" -*- */
#ifndef YCIPHER_H
#define YCIPHER_H
/* block cipher interface */
typedef struct
{
krb5_keyblock key;
} CIPHER_CTX;
/* We need to choose a cipher. To do this, choose an enc_provider.
* Be sure to update the block size and key size constants below;
* they are here because static data structures are sized based on
* them so they must be known at compile time./ Thus we cannot
* call the enc_provider function to get the info.
*/
#define yarrow_enc_provider krb5int_enc_des3
#define CIPHER_BLOCK_SIZE 8
#define CIPHER_KEY_SIZE 21
#if defined( YARROW_NO_MATHLIB )
/* see macros at end for functions evaluated */
#define POW_CIPHER_KEY_SIZE 72057594037927936.0
#define POW_CIPHER_BLOCK_SIZE 18446744073709551616.0
#endif
int krb5int_yarrow_cipher_init (CIPHER_CTX *ctx, unsigned const char *key);
int krb5int_yarrow_cipher_encrypt_block
(CIPHER_CTX *ctx, const unsigned char *in, unsigned char *out);
#if !defined( YARROW_NO_MATHLIB )
#define POW_CIPHER_KEY_SIZE pow(2.0, CIPHER_KEY_SIZE * 8 / 3.0)
#define POW_CIPHER_BLOCK_SIZE pow(2.0, CIPHER_BLOCK_SIZE * 8)
#endif
#endif /* YCIPHER_H */
|