Home | History | Annotate | Download | only in gpxe
      1 #ifndef _GPXE_AES_H
      2 #define _GPXE_AES_H
      3 
      4 FILE_LICENCE ( GPL2_OR_LATER );
      5 
      6 struct cipher_algorithm;
      7 
      8 /** Basic AES blocksize */
      9 #define AES_BLOCKSIZE 16
     10 
     11 #include "crypto/axtls/crypto.h"
     12 
     13 /** AES context */
     14 struct aes_context {
     15 	/** AES context for AXTLS */
     16 	AES_CTX axtls_ctx;
     17 	/** Cipher is being used for decrypting */
     18 	int decrypting;
     19 };
     20 
     21 /** AES context size */
     22 #define AES_CTX_SIZE sizeof ( struct aes_context )
     23 
     24 extern struct cipher_algorithm aes_algorithm;
     25 extern struct cipher_algorithm aes_cbc_algorithm;
     26 
     27 int aes_wrap ( const void *kek, const void *src, void *dest, int nblk );
     28 int aes_unwrap ( const void *kek, const void *src, void *dest, int nblk );
     29 
     30 #endif /* _GPXE_AES_H */
     31