mirror of
https://github.com/pvvx/rtl00TstMinAmebaV35a.git
synced 2024-12-30 18:15:18 +00:00
38 lines
1.1 KiB
C
38 lines
1.1 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
|