summaryrefslogtreecommitdiffstats
path: root/include/crypto
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2019-09-01 16:35:31 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2019-09-05 00:54:54 -0400
commit34d6245fbc81e764806a65fceaeb3ab3274a1e63 (patch)
treeec464144e0cea02d4d998e6d07777fcf78fa63d9 /include/crypto
parent527aa8958f6e112e10479a8a8989c94164e090c0 (diff)
crypto: sha256 - Merge crypto/sha256.h into crypto/sha.h
The generic sha256 implementation from lib/crypto/sha256.c uses data structs defined in crypto/sha.h, so lets move the function prototypes there too. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'include/crypto')
-rw-r--r--include/crypto/sha.h21
-rw-r--r--include/crypto/sha256.h34
2 files changed, 21 insertions, 34 deletions
diff --git a/include/crypto/sha.h b/include/crypto/sha.h
index 8a46202b1857..535955c84187 100644
--- a/include/crypto/sha.h
+++ b/include/crypto/sha.h
@@ -112,4 +112,25 @@ extern int crypto_sha512_update(struct shash_desc *desc, const u8 *data,
112 112
113extern int crypto_sha512_finup(struct shash_desc *desc, const u8 *data, 113extern int crypto_sha512_finup(struct shash_desc *desc, const u8 *data,
114 unsigned int len, u8 *hash); 114 unsigned int len, u8 *hash);
115
116/*
117 * Stand-alone implementation of the SHA256 algorithm. It is designed to
118 * have as little dependencies as possible so it can be used in the
119 * kexec_file purgatory. In other cases you should generally use the
120 * hash APIs from include/crypto/hash.h. Especially when hashing large
121 * amounts of data as those APIs may be hw-accelerated.
122 *
123 * For details see lib/crypto/sha256.c
124 */
125
126extern int sha256_init(struct sha256_state *sctx);
127extern int sha256_update(struct sha256_state *sctx, const u8 *input,
128 unsigned int length);
129extern int sha256_final(struct sha256_state *sctx, u8 *hash);
130
131extern int sha224_init(struct sha256_state *sctx);
132extern int sha224_update(struct sha256_state *sctx, const u8 *input,
133 unsigned int length);
134extern int sha224_final(struct sha256_state *sctx, u8 *hash);
135
115#endif 136#endif
diff --git a/include/crypto/sha256.h b/include/crypto/sha256.h
deleted file mode 100644
index a75998d65a41..000000000000
--- a/include/crypto/sha256.h
+++ /dev/null
@@ -1,34 +0,0 @@
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Copyright (C) 2014 Red Hat Inc.
4 *
5 * Author: Vivek Goyal <vgoyal@redhat.com>
6 */
7
8#ifndef SHA256_H
9#define SHA256_H
10
11#include <linux/types.h>
12#include <crypto/sha.h>
13
14/*
15 * Stand-alone implementation of the SHA256 algorithm. It is designed to
16 * have as little dependencies as possible so it can be used in the
17 * kexec_file purgatory. In other cases you should generally use the
18 * hash APIs from include/crypto/hash.h. Especially when hashing large
19 * amounts of data as those APIs may be hw-accelerated.
20 *
21 * For details see lib/crypto/sha256.c
22 */
23
24extern int sha256_init(struct sha256_state *sctx);
25extern int sha256_update(struct sha256_state *sctx, const u8 *input,
26 unsigned int length);
27extern int sha256_final(struct sha256_state *sctx, u8 *hash);
28
29extern int sha224_init(struct sha256_state *sctx);
30extern int sha224_update(struct sha256_state *sctx, const u8 *input,
31 unsigned int length);
32extern int sha224_final(struct sha256_state *sctx, u8 *hash);
33
34#endif /* SHA256_H */