From 1ddfce2308e0d9c4babf383f142d6014f18023c8 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Mon, 11 Sep 2006 16:29:45 +0000 Subject: [PATCH] Generalisation of a message digest algorithm --- src/include/gpxe/crypto.h | 44 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/include/gpxe/crypto.h diff --git a/src/include/gpxe/crypto.h b/src/include/gpxe/crypto.h new file mode 100644 index 00000000..e2a728fd --- /dev/null +++ b/src/include/gpxe/crypto.h @@ -0,0 +1,44 @@ +#ifndef _GPXE_CRYPTO_H +#define _GPXE_CRYPTO_H + +/** @file + * + * Cryptographic API + * + */ + +#include + +/** + * A message-digest algorithm + * + */ +struct digest_algorithm { + /** Size of a context for this algorithm */ + size_t context_len; + /** Size of a message digest for this algorithm */ + size_t digest_len; + /** + * Initialise digest algorithm + * + * @v context Context for digest operations + */ + void ( * init ) ( void *context ); + /** + * Calculate digest over data buffer + * + * @v context Context for digest operations + * @v data Data buffer + * @v len Length of data buffer + */ + void ( * update ) ( void *context, const void *data, size_t len ); + /** + * Finish calculating digest + * + * @v context Context for digest operations + * @v digest Buffer for message digest + */ + void ( * finish ) ( void *context, void *digest ); +}; + +#endif /* _GPXE_CRYPTO_H */