[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 3/4] sha512sum: use kernel crypto API
From: |
Matteo Croce |
Subject: |
[PATCH v2 3/4] sha512sum: use kernel crypto API |
Date: |
Wed, 25 Apr 2018 13:27:31 +0200 |
Use AF_ALG for sha384 and sha512 too
Signed-off-by: Matteo Croce <address@hidden>
---
lib/sha512.c | 34 ++++++++++++++++++++++++++++++++--
modules/crypto/sha512 | 4 +++-
2 files changed, 35 insertions(+), 3 deletions(-)
diff --git a/lib/sha512.c b/lib/sha512.c
index 8a6dd4e83..1d3471f20 100644
--- a/lib/sha512.c
+++ b/lib/sha512.c
@@ -32,6 +32,12 @@
#include <stdlib.h>
#include <string.h>
+#include <sys/socket.h>
+
+#ifdef AF_ALG
+# include "af_alg.h"
+#endif
+
#if USE_UNLOCKED_IO
# include "unlocked-io.h"
#endif
@@ -185,8 +191,20 @@ sha512_stream (FILE *stream, void *resblock)
{
struct sha512_ctx ctx;
size_t sum;
+ char *buffer;
- char *buffer = malloc (BLOCKSIZE + 72);
+#ifdef AF_ALG
+ int ret;
+
+ ret = afalg_stream(stream, resblock, "sha512", SHA512_DIGEST_SIZE);
+ if (!ret)
+ return 0;
+
+ if (ret == -EIO)
+ return 1;
+#endif
+
+ buffer = malloc (BLOCKSIZE + 72);
if (!buffer)
return 1;
@@ -256,8 +274,20 @@ sha384_stream (FILE *stream, void *resblock)
{
struct sha512_ctx ctx;
size_t sum;
+ char *buffer;
+
+#ifdef AF_ALG
+ int ret;
+
+ ret = afalg_stream(stream, resblock, "sha384", SHA384_DIGEST_SIZE);
+ if (!ret)
+ return 0;
+
+ if (ret == -EIO)
+ return 1;
+#endif
- char *buffer = malloc (BLOCKSIZE + 72);
+ buffer = malloc (BLOCKSIZE + 72);
if (!buffer)
return 1;
diff --git a/modules/crypto/sha512 b/modules/crypto/sha512
index 4c97604cd..feefbf8f8 100644
--- a/modules/crypto/sha512
+++ b/modules/crypto/sha512
@@ -5,6 +5,8 @@ Files:
lib/gl_openssl.h
lib/sha512.h
lib/sha512.c
+lib/af_alg.h
+lib/af_alg.c
m4/gl-openssl.m4
m4/sha512.m4
@@ -18,7 +20,7 @@ configure.ac:
gl_SHA512
Makefile.am:
-lib_SOURCES += sha512.c
+lib_SOURCES += sha512.c af_alg.c
Include:
"sha512.h"
--
2.14.3
- Re: [PATCH v2 1/4] sha1sum: use AF_ALG when available, (continued)
Re: [PATCH v2 1/4] sha1sum: use AF_ALG when available, Assaf Gordon, 2018/04/25
Re: [PATCH v2 1/4] sha1sum: use AF_ALG when available, Bernhard Voelker, 2018/04/25
Re: [PATCH v2 1/4] sha1sum: use AF_ALG when available, Paul Eggert, 2018/04/25
[PATCH v2 2/4] sha256sum: use kernel crypto API, Matteo Croce, 2018/04/25
[PATCH v2 3/4] sha512sum: use kernel crypto API,
Matteo Croce <=
[PATCH v2 4/4] md5sum: use kernel crypto API, Matteo Croce, 2018/04/25