19#define SHA512_ROUNDS 80
60#define SHA512_CTX_SIZE MDHASH_CTX_SIZE ( struct sha512_digest_data )
63#define SHA512_BLOCK_SIZE sizeof ( union sha512_block )
66#define SHA512_DIGEST_SIZE sizeof ( struct sha512_digest )
69#define SHA384_DIGEST_SIZE ( SHA512_DIGEST_SIZE * 384 / 512 )
72#define SHA512_256_DIGEST_SIZE ( SHA512_DIGEST_SIZE * 256 / 512 )
75#define SHA512_224_DIGEST_SIZE ( SHA512_DIGEST_SIZE * 224 / 512 )
81#define SHA512_ALGORITHM( _name, _digest, _init, _digestsize ) \
82 MDHASH_ALGORITHM( _name, _digest, sha512_compress, \
83 __BIG_ENDIAN, struct sha512_digest_data, \
unsigned long long uint64_t
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
Merkle-Damgård hash algorithms.
struct digest_algorithm sha512_224_algorithm
struct digest_algorithm sha512_algorithm
struct digest_algorithm sha512_256_algorithm
struct digest_algorithm sha384_algorithm
void sha512_compress(struct sha512_digest_data *dd, const struct sha512_digest *digest)
Calculate SHA-512 digest of accumulated data.
A message digest algorithm.
SHA-512 digest and data block.
struct sha512_digest digest
Digest of data already processed.
union sha512_block data
Accumulated data.
uint64_t h[8]
Hash output.
uint64_t hi
High 64 bits (unused by iPXE).
uint64_t qword[16]
Raw qwords.
uint64_t lo
Low 64 bits (unused by iPXE).