summaryrefslogtreecommitdiff
path: root/include/hw_sha.h
diff options
context:
space:
mode:
authorJoel Stanley <joel@jms.id.au>2021-02-17 13:50:42 +1030
committerTom Rini <trini@konsulko.com>2021-04-12 17:17:11 -0400
commita479f103dc1c801d0c6fe90bbaf99ae1700a84dc (patch)
tree8938b57915e1f080267c046bfaf62d24361f82ac /include/hw_sha.h
parentba139783110a1a6aee1b60d091744a26ecad4806 (diff)
hash: Allow for SHA512 hardware implementations
Similar to support for SHA1 and SHA256, allow the use of hardware hashing engine by enabling the algorithm and setting CONFIG_SHA_HW_ACCEL / CONFIG_SHA_PROG_HW_ACCEL. Signed-off-by: Joel Stanley <joel@jms.id.au>
Diffstat (limited to 'include/hw_sha.h')
-rw-r--r--include/hw_sha.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/include/hw_sha.h b/include/hw_sha.h
index 15b1a1c798..d4f3471c43 100644
--- a/include/hw_sha.h
+++ b/include/hw_sha.h
@@ -14,6 +14,32 @@
* @param in_addr A pointer to the input buffer
* @param bufleni Byte length of input buffer
* @param out_addr A pointer to the output buffer. When complete
+ * 64 bytes are copied to pout[0]...pout[63]. Thus, a user
+ * should allocate at least 64 bytes at pOut in advance.
+ * @param chunk_size chunk size for sha512
+ */
+void hw_sha512(const uchar *in_addr, uint buflen, uchar *out_addr,
+ uint chunk_size);
+
+/**
+ * Computes hash value of input pbuf using h/w acceleration
+ *
+ * @param in_addr A pointer to the input buffer
+ * @param bufleni Byte length of input buffer
+ * @param out_addr A pointer to the output buffer. When complete
+ * 48 bytes are copied to pout[0]...pout[47]. Thus, a user
+ * should allocate at least 48 bytes at pOut in advance.
+ * @param chunk_size chunk size for sha384
+ */
+void hw_sha384(const uchar *in_addr, uint buflen, uchar *out_addr,
+ uint chunk_size);
+
+/**
+ * Computes hash value of input pbuf using h/w acceleration
+ *
+ * @param in_addr A pointer to the input buffer
+ * @param bufleni Byte length of input buffer
+ * @param out_addr A pointer to the output buffer. When complete
* 32 bytes are copied to pout[0]...pout[31]. Thus, a user
* should allocate at least 32 bytes at pOut in advance.
* @param chunk_size chunk size for sha256