Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

crypto: sha512_generic - add a sha384 0-length pre-computed hash

This patch adds the sha384 pre-computed 0-length hash so that device
drivers can use it when an hardware engine does not support computing a
hash from a 0 length input.

Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Antoine Tenart and committed by
Herbert Xu
26f7120b 87eee125

+12
+10
crypto/sha512_generic.c
··· 23 23 #include <asm/byteorder.h> 24 24 #include <asm/unaligned.h> 25 25 26 + const u8 sha384_zero_message_hash[SHA384_DIGEST_SIZE] = { 27 + 0x38, 0xb0, 0x60, 0xa7, 0x51, 0xac, 0x96, 0x38, 28 + 0x4c, 0xd9, 0x32, 0x7e, 0xb1, 0xb1, 0xe3, 0x6a, 29 + 0x21, 0xfd, 0xb7, 0x11, 0x14, 0xbe, 0x07, 0x43, 30 + 0x4c, 0x0c, 0xc7, 0xbf, 0x63, 0xf6, 0xe1, 0xda, 31 + 0x27, 0x4e, 0xde, 0xbf, 0xe7, 0x6f, 0x65, 0xfb, 32 + 0xd5, 0x1a, 0xd2, 0xf1, 0x48, 0x98, 0xb9, 0x5b 33 + }; 34 + EXPORT_SYMBOL_GPL(sha384_zero_message_hash); 35 + 26 36 const u8 sha512_zero_message_hash[SHA512_DIGEST_SIZE] = { 27 37 0xcf, 0x83, 0xe1, 0x35, 0x7e, 0xef, 0xb8, 0xbd, 28 38 0xf1, 0x54, 0x28, 0x50, 0xd6, 0x6d, 0x80, 0x07,
+2
include/crypto/sha.h
··· 71 71 72 72 extern const u8 sha256_zero_message_hash[SHA256_DIGEST_SIZE]; 73 73 74 + extern const u8 sha384_zero_message_hash[SHA384_DIGEST_SIZE]; 75 + 74 76 extern const u8 sha512_zero_message_hash[SHA512_DIGEST_SIZE]; 75 77 76 78 struct sha1_state {