00001 #ifndef _GPXE_AES_H 00002 #define _GPXE_AES_H 00003 00004 FILE_LICENCE ( GPL2_OR_LATER ); 00005 00006 struct cipher_algorithm; 00007 00008 /** Basic AES blocksize */ 00009 #define AES_BLOCKSIZE 16 00010 00011 #include "crypto/axtls/crypto.h" 00012 00013 /** AES context */ 00014 struct aes_context { 00015 /** AES context for AXTLS */ 00016 AES_CTX axtls_ctx; 00017 /** Cipher is being used for decrypting */ 00018 int decrypting; 00019 }; 00020 00021 /** AES context size */ 00022 #define AES_CTX_SIZE sizeof ( struct aes_context ) 00023 00024 extern struct cipher_algorithm aes_algorithm; 00025 extern struct cipher_algorithm aes_cbc_algorithm; 00026 00027 int aes_wrap ( const void *kek, const void *src, void *dest, int nblk ); 00028 int aes_unwrap ( const void *kek, const void *src, void *dest, int nblk ); 00029 00030 #endif /* _GPXE_AES_H */
1.5.7.1