mirror of
https://github.com/cwyark/ameba-sdk-gcc-make.git
synced 2024-11-24 15:04:19 +00:00
39 lines
1.2 KiB
C
39 lines
1.2 KiB
C
|
/******************************************************************************
|
||
|
*
|
||
|
* Copyright(c) 2007 - 2014 Realtek Corporation. All rights reserved.
|
||
|
*
|
||
|
* This is ROM code section.
|
||
|
*
|
||
|
*
|
||
|
******************************************************************************/
|
||
|
#ifndef ROM_AES_H
|
||
|
#define ROM_AES_H
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
u32 erk[64]; /* encryption round keys */
|
||
|
u32 drk[64]; /* decryption round keys */
|
||
|
int nr; /* number of rounds */
|
||
|
}aes_context;
|
||
|
|
||
|
|
||
|
#define AES_BLOCKSIZE8 8
|
||
|
#define AES_BLK_SIZE 16 // # octets in an AES block
|
||
|
typedef union _aes_block // AES cipher block
|
||
|
{
|
||
|
unsigned long x[AES_BLK_SIZE/4]; // access as 8-bit octets or 32-bit words
|
||
|
unsigned char b[AES_BLK_SIZE];
|
||
|
}aes_block;
|
||
|
|
||
|
|
||
|
void AES_WRAP(unsigned char * plain, int plain_len,
|
||
|
unsigned char * iv, int iv_len,
|
||
|
unsigned char * kek, int kek_len,
|
||
|
unsigned char *cipher, unsigned short *cipher_len);
|
||
|
|
||
|
void AES_UnWRAP(unsigned char * cipher, int cipher_len,
|
||
|
unsigned char * kek, int kek_len,
|
||
|
unsigned char * plain);
|
||
|
|
||
|
#endif
|