-/* Copyright (C) 2009, Martin Johansson <martin@fatbob.nu>
- Copyright (C) 2005-2009, Thorvald Natvig <thorvald@natvig.com>
+/* Copyright (C) 2009-2014, Martin Johansson <martin@fatbob.nu>
+ Copyright (C) 2005-2014, Thorvald Natvig <thorvald@natvig.com>
All rights reserved.
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef _CRYPTSTATE_H
-#define _CRYPTSTATE_H
+#ifndef CRYPTSTATE_H_34564356
+#define CRYPTSTATE_H_34564356
+#include "byteorder.h"
+#include "config.h"
+
+#ifdef USE_POLARSSL
+#include <polarssl/havege.h>
+#include <polarssl/aes.h>
+#define AES_BLOCK_SIZE 16
+#else
#include <openssl/rand.h>
#include <openssl/aes.h>
+#endif
+
#include <stdint.h>
#include "timer.h"
#include "types.h"
uint8_t encrypt_iv[AES_BLOCK_SIZE];
uint8_t decrypt_iv[AES_BLOCK_SIZE];
uint8_t decrypt_history[0x100];
-
+
unsigned int uiGood;
unsigned int uiLate;
unsigned int uiLost;
unsigned int uiResync;
-
+
unsigned int uiRemoteGood;
unsigned int uiRemoteLate;
unsigned int uiRemoteLost;
unsigned int uiRemoteResync;
-
+#ifndef USE_POLARSSL
AES_KEY encrypt_key;
AES_KEY decrypt_key;
+#else
+ aes_context aes_enc;
+ aes_context aes_dec;
+#endif
etimer_t tLastGood;
etimer_t tLastRequest;
- bool_t bInit;
+ bool_t bInit;
} cryptState_t;
void CryptState_init(cryptState_t *cs);
bool_t CryptState_decrypt(cryptState_t *cs, const unsigned char *source, unsigned char *dst, unsigned int crypted_length);
void CryptState_encrypt(cryptState_t *cs, const unsigned char *source, unsigned char *dst, unsigned int plain_length);
+
#endif