blob: b036d4e460acc8a474c3d7315e59967d48890fd7 [file] [log] [blame]
/*
*
* Copyright (c) 2011-2015 Nest Labs, Inc.
* All rights reserved.
*
* This document is the property of Nest. It is considered
* confidential and proprietary information.
*
* This document may not be reproduced or transmitted in any form,
* in whole or in part, without the express written permission of
* Nest.
*
* Description:
* Implementation of PolarSSL AES functions that maps calls onto OpenSSL's
* functions.
*/
#include "aes.h"
#include <stdio.h>
int aes_setkey_enc( aes_context *ctx, const unsigned char *key, unsigned int keysize )
{
AES_set_encrypt_key(key, (int)keysize, ctx);
return 0;
}
int aes_setkey_dec( aes_context *ctx, const unsigned char *key, unsigned int keysize )
{
AES_set_decrypt_key(key, (int)keysize, ctx);
return 0;
}
int aes_crypt_ecb( aes_context *ctx,
int mode,
const unsigned char input[16],
unsigned char output[16] )
{
/* Only encryption supported (and needed) for now.
*/
if (mode != AES_ENCRYPT)
return -1;
AES_encrypt(input, output, ctx);
return 0;
}