c-libp2p/crypto/aes.c

21 lines
717 B
C
Raw Normal View History

2017-03-02 21:14:52 +00:00
#include "mbedtls/aes.h"
/**
* Encrypt a block of text
* @param key the aes key
* @param iv the random part of encryption
* @param input the text to encrypt
* @param input_size the length of the array
* @param output where the output will be placed
* @param output_size the length of the memory allocated for output
* @returns true(1) on success, otherwise false(0)
*/
int libp2p_crypto_aes_encrypt(char* key, char* iv, char* input, size_t input_size, unsigned char* output, size_t* output_size) {
mbedtls_aes_context ctx;
mbedtls_aes_init(&ctx);
mbedtls_aes_setkey_enc(&ctx, key, 256);
mbedtls_aes_crypt_cbc(&ctx, MBEDTLS_AES_ENCRYPT, 24, iv, input, output);
//TODO Implement this method
return 0;
}