1 /* Copyright 2003 Roger Dingledine */
2 /* See LICENSE for licensing information */
5 /* Implements a minimal interface to counter-mode AES. */
10 #include "../common/torint.h"
12 struct aes_cnt_cipher
;
13 typedef struct aes_cnt_cipher aes_cnt_cipher_t
;
15 aes_cnt_cipher_t
* aes_new_cipher();
16 void aes_free_cipher(aes_cnt_cipher_t
*cipher
);
17 void aes_set_key(aes_cnt_cipher_t
*cipher
, unsigned char *key
, int key_bits
);
18 void aes_crypt(aes_cnt_cipher_t
*cipher
, char *input
, int len
, char *output
);
19 uint64_t aes_get_counter(aes_cnt_cipher_t
*cipher
);
20 void aes_set_counter(aes_cnt_cipher_t
*cipher
, uint64_t counter
);
21 void aes_adjust_counter(aes_cnt_cipher_t
*cipher
, long delta
);