The library implementation of the SHA-1 compression function is confusingly called just "sha_transform()". Alongside it are some "SHA_" constants and "sha_init()". Presumably these are left over from a time when SHA just meant SHA-1. But now there are also SHA-2 and SHA-3, and moreover SHA-1 is now considered insecure and thus shouldn't be used. Therefore, rename these functions and constants to make it very clear that they are for SHA-1. Also add a comment to make it clear that these shouldn't be used. For the extra-misleadingly named "SHA_MESSAGE_BYTES", rename it to SHA1_BLOCK_SIZE and define it to just '64' rather than '(512/8)' so that it matches the same definition in <crypto/sha.h>. This prepares for merging <linux/cryptohash.h> into <crypto/sha.h>. Change-Id: I16b8f12df33a2ac84a27c2087fbccf8fdf547d1f Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
19 lines
546 B
C
19 lines
546 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef __CRYPTOHASH_H
|
|
#define __CRYPTOHASH_H
|
|
|
|
#include <uapi/linux/types.h>
|
|
|
|
/*
|
|
* An implementation of SHA-1's compression function. Don't use in new code!
|
|
* You shouldn't be using SHA-1, and even if you *have* to use SHA-1, this isn't
|
|
* the correct way to hash something with SHA-1 (use crypto_shash instead).
|
|
*/
|
|
#define SHA1_DIGEST_WORDS 5
|
|
#define SHA1_BLOCK_SIZE 64
|
|
#define SHA1_WORKSPACE_WORDS 16
|
|
void sha1_init(__u32 *buf);
|
|
void sha1_transform(__u32 *digest, const char *data, __u32 *W);
|
|
|
|
#endif
|