Commit a0f15883 authored by Nick Mathewson's avatar Nick Mathewson 🤹
Browse files

Add a the public-domain AES implementation, with a minimal counter-mode wrapper.


svn:r361
parent 517b418b
Loading
Loading
Loading
Loading

src/common/aes.c

0 → 100644
+1356 −0

File added.

Preview size limit exceeded, changes collapsed.

src/common/aes.h

0 → 100644
+23 −0
Original line number Diff line number Diff line
/* Copyright 2003 Roger Dingledine */
/* See LICENSE for licensing information */
/* $Id$ */

/* Implements a minimal interface to counter-mode AES. */

#ifndef __AES_H
#define __AES_H

#include <stdint.h>

struct aes_cnt_cipher;
typedef struct aes_cnt_cipher aes_cnt_cipher_t;

aes_cnt_cipher_t* aes_new_cipher();
void aes_free_cipher(aes_cnt_cipher_t *cipher);
void aes_set_key(aes_cnt_cipher_t *cipher, unsigned char *key, int key_bits);
void aes_crypt(aes_cnt_cipher_t *cipher, char *input, int len, char *output);
uint64_t aes_get_counter(aes_cnt_cipher_t *cipher);
void aes_set_counter(aes_cnt_cipher_t *cipher, uint64_t counter);
void aes_adjust_counter(aes_cnt_cipher_t *cipher, long delta);

#endif