[crypto] Make AES context size and algorithm structure externally available
authorJoshua Oreman <oremanj@rwcr.net>
Fri, 3 Jul 2009 23:06:05 +0000 (16:06 -0700)
committerMarty Connor <mdc@etherboot.org>
Tue, 5 Jan 2010 14:04:25 +0000 (09:04 -0500)
This is required to support modes of AES beyond cipher-block chaining.

Signed-off-by: Marty Connor <mdc@etherboot.org>
src/crypto/axtls_aes.c
src/include/gpxe/aes.h

index 9e4044e..8bd3758 100644 (file)
@@ -32,17 +32,6 @@ FILE_LICENCE ( GPL2_OR_LATER );
  *
  */
 
  *
  */
 
-/** Basic AES blocksize */
-#define AES_BLOCKSIZE 16
-
-/** AES context */
-struct aes_context {
-       /** AES context for AXTLS */
-       AES_CTX axtls_ctx;
-       /** Cipher is being used for decrypting */
-       int decrypting;
-};
-
 /**
  * Set key
  *
 /**
  * Set key
  *
@@ -154,7 +143,7 @@ static void aes_decrypt ( void *ctx, const void *src, void *dst,
 }
 
 /** Basic AES algorithm */
 }
 
 /** Basic AES algorithm */
-static struct cipher_algorithm aes_algorithm = {
+struct cipher_algorithm aes_algorithm = {
        .name = "aes",
        .ctxsize = sizeof ( struct aes_context ),
        .blocksize = AES_BLOCKSIZE,
        .name = "aes",
        .ctxsize = sizeof ( struct aes_context ),
        .blocksize = AES_BLOCKSIZE,
index bdc32bd..9e0e34a 100644 (file)
@@ -5,6 +5,23 @@ FILE_LICENCE ( GPL2_OR_LATER );
 
 struct cipher_algorithm;
 
 
 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 )
+
+extern struct cipher_algorithm aes_algorithm;
 extern struct cipher_algorithm aes_cbc_algorithm;
 
 #endif /* _GPXE_AES_H */
 extern struct cipher_algorithm aes_cbc_algorithm;
 
 #endif /* _GPXE_AES_H */