start aes_gcm
This commit is contained in:
47
crypto/aes_gcm.c
Normal file
47
crypto/aes_gcm.c
Normal file
@@ -0,0 +1,47 @@
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "aes.h"
|
||||
#include "crypto.h"
|
||||
#include "util.h"
|
||||
|
||||
#define BLOCK_SIZE 16
|
||||
|
||||
static struct AES_ctx aes_ctx;
|
||||
|
||||
// void AES_CTR_xcrypt_buffer(struct AES_ctx* ctx, uint8_t* buf, uint32_t length);
|
||||
|
||||
int8_t crypto_aes256_gcm_encrypt(uint8_t * data, uint32_t length, uint8_t * authtag)
|
||||
{
|
||||
memset(authtag, 0, BLOCK_SIZE);
|
||||
AES_CTR_xcrypt_buffer(&aes_ctx, authtag, BLOCK_SIZE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef TEST
|
||||
|
||||
int main(int argc, char * argv[])
|
||||
{
|
||||
uint8_t nonce[16];
|
||||
uint8_t key[32];
|
||||
uint8_t authtag[BLOCK_SIZE];
|
||||
|
||||
uint8_t * authtag1 = "\x53\x0f\x8a\xfb\xc7\x45\x36\xb9\xa9\x63\xb4\xf1\xc4\xcb\x73\x8b";
|
||||
|
||||
memset(nonce,0,16);
|
||||
memset(key,0,16);
|
||||
|
||||
AES_init_ctx_iv(&aes_ctx, key, nonce);
|
||||
|
||||
crypto_aes256_gcm_encrypt(NULL, 0, authtag);
|
||||
|
||||
printf("Auth tag: "); dump_hex(authtag, BLOCK_SIZE);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user