1 /* Copyright 2003 Roger Dingledine */
2 /* See LICENSE for licensing information */
5 /* Implements a minimal interface to counter-mode AES. */
9 #define AES_H_ID "$Id$"
13 * \brief Headers for aes.c
16 #include "../common/torint.h"
18 struct aes_cnt_cipher
;
19 typedef struct aes_cnt_cipher aes_cnt_cipher_t
;
21 aes_cnt_cipher_t
* aes_new_cipher(void);
22 void aes_free_cipher(aes_cnt_cipher_t
*cipher
);
23 void aes_set_key(aes_cnt_cipher_t
*cipher
, const unsigned char *key
, int key_bits
);
24 void aes_crypt(aes_cnt_cipher_t
*cipher
, const char *input
, int len
, char *output
);
25 uint64_t aes_get_counter(aes_cnt_cipher_t
*cipher
);
26 void aes_set_counter(aes_cnt_cipher_t
*cipher
, uint64_t counter
);
27 void aes_adjust_counter(aes_cnt_cipher_t
*cipher
, long delta
);