[rng] Add ANS X9.82 Approved Hash_df derivation function

ANS X9.82 specifies several Approved derivation functions for use in
distributing entropy throughout a buffer.  One such derivation
function is Hash_df, which can be implemented using the existing iPXE
SHA-1 functionality.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2012-02-19 14:31:41 +00:00
parent 32c4a3a255
commit eec068253f
2 changed files with 164 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
#ifndef _IPXE_HASH_DF_H
#define _IPXE_HASH_DF_H
/** @file
*
* Hash-based derivation function (Hash_df)
*
*/
FILE_LICENCE ( GPL2_OR_LATER );
#include <stdint.h>
#include <ipxe/sha1.h>
/** Use SHA-1 as the underlying hash algorithm
*
* Hash_df using SHA-1 is an Approved algorithm in ANS X9.82.
*/
#define hash_df_algorithm sha1_algorithm
/** Underlying hash algorithm output length (in bytes) */
#define HASH_DF_OUTLEN_BYTES SHA1_DIGEST_SIZE
/** Underlying hash algorithm context size (in bytes) */
#define HASH_DF_CTX_SIZE SHA1_CTX_SIZE
extern void hash_df ( const void *input, size_t input_len, void *output,
size_t output_len );
#endif /* _IPXE_HASH_DF_H */