mirror of https://github.com/ipxe/ipxe.git
35 lines
852 B
C
35 lines
852 B
C
#ifndef _IPXE_AES_H
|
|
#define _IPXE_AES_H
|
|
|
|
FILE_LICENCE ( GPL2_OR_LATER );
|
|
|
|
struct cipher_algorithm;
|
|
|
|
/** Basic AES blocksize */
|
|
#define AES_BLOCKSIZE 16
|
|
|
|
#include "crypto/axtls/crypto.h"
|
|
|
|
/** AES context */
|
|
struct aes_context {
|
|
/** AES context for AXTLS */
|
|
AES_CTX axtls_ctx;
|
|
/** Cipher is being used for decrypting */
|
|
int decrypting;
|
|
};
|
|
|
|
/** AES context size */
|
|
#define AES_CTX_SIZE sizeof ( struct aes_context )
|
|
|
|
/* AXTLS functions */
|
|
extern void axtls_aes_encrypt ( const AES_CTX *ctx, uint32_t *data );
|
|
extern void axtls_aes_decrypt ( const AES_CTX *ctx, uint32_t *data );
|
|
|
|
extern struct cipher_algorithm aes_algorithm;
|
|
extern struct cipher_algorithm aes_cbc_algorithm;
|
|
|
|
int aes_wrap ( const void *kek, const void *src, void *dest, int nblk );
|
|
int aes_unwrap ( const void *kek, const void *src, void *dest, int nblk );
|
|
|
|
#endif /* _IPXE_AES_H */
|