summaryrefslogtreecommitdiffstats
path: root/security/nss/lib/freebl/Hacl_Hash_SHA2_shim.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:13:27 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:13:27 +0000
commit40a355a42d4a9444dc753c04c6608dade2f06a23 (patch)
tree871fc667d2de662f171103ce5ec067014ef85e61 /security/nss/lib/freebl/Hacl_Hash_SHA2_shim.h
parentAdding upstream version 124.0.1. (diff)
downloadfirefox-40a355a42d4a9444dc753c04c6608dade2f06a23.tar.xz
firefox-40a355a42d4a9444dc753c04c6608dade2f06a23.zip
Adding upstream version 125.0.1.upstream/125.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'security/nss/lib/freebl/Hacl_Hash_SHA2_shim.h')
-rw-r--r--security/nss/lib/freebl/Hacl_Hash_SHA2_shim.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/security/nss/lib/freebl/Hacl_Hash_SHA2_shim.h b/security/nss/lib/freebl/Hacl_Hash_SHA2_shim.h
new file mode 100644
index 0000000000..8e510e914d
--- /dev/null
+++ b/security/nss/lib/freebl/Hacl_Hash_SHA2_shim.h
@@ -0,0 +1,38 @@
+#include "blapi.h"
+#include "../pqg.h"
+
+static inline void
+sha512_pre_msg(uint8_t *hash, uint8_t *prefix, uint32_t len, uint8_t *input)
+{
+ SHA512Context *ctx = SHA512_NewContext();
+ uint32_t l = SHA512_LENGTH;
+ SHA512_Begin(ctx);
+ SHA512_Update(ctx, prefix, 32);
+ SHA512_Update(ctx, input, len);
+ SHA512_End(ctx, hash, &l, SHA512_LENGTH);
+ SHA512_DestroyContext(ctx, PR_TRUE);
+}
+
+static inline void
+sha512_pre_pre2_msg(
+ uint8_t *hash,
+ uint8_t *prefix,
+ uint8_t *prefix2,
+ uint32_t len,
+ uint8_t *input)
+{
+ SHA512Context *ctx = SHA512_NewContext();
+ uint32_t l = SHA512_LENGTH;
+ SHA512_Begin(ctx);
+ SHA512_Update(ctx, prefix, 32);
+ SHA512_Update(ctx, prefix2, 32);
+ SHA512_Update(ctx, input, len);
+ SHA512_End(ctx, hash, &l, SHA512_LENGTH);
+ SHA512_DestroyContext(ctx, PR_TRUE);
+}
+
+static void
+Hacl_Streaming_SHA2_hash_512(uint8_t *secret, uint32_t len, uint8_t *expanded)
+{
+ SHA512_HashBuf(expanded, secret, len);
+} \ No newline at end of file