sha384.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2023 TU Dresden
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
21 #ifndef HASHES_SHA384_H
22 #define HASHES_SHA384_H
23 
24 #include <inttypes.h>
25 #include <stddef.h>
26 
27 #include "hashes/sha512_common.h"
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
36 #define SHA384_DIGEST_LENGTH (48)
37 
41 #define SHA384_INTERNAL_BLOCK_SIZE (128)
42 
47 
54 
62 static inline void sha384_update(sha384_context_t *ctx, const void *data, size_t len)
63 {
64  sha512_common_update(ctx, data, len);
65 }
66 
75 static inline void sha384_final(sha384_context_t *ctx, void *digest)
76 {
78 }
79 
89 void sha384(const void *data, size_t len, void *digest);
90 
91 #ifdef __cplusplus
92 }
93 #endif
94 
96 #endif /* HASHES_SHA384_H */
static void sha384_final(sha384_context_t *ctx, void *digest)
SHA-384 finalization.
Definition: sha384.h:75
#define SHA384_DIGEST_LENGTH
Length of SHA384 digests in bytes.
Definition: sha384.h:36
static void sha384_update(sha384_context_t *ctx, const void *data, size_t len)
Add bytes into the hash.
Definition: sha384.h:62
void sha384_init(sha384_context_t *ctx)
SHA-384 initialization.
void sha384(const void *data, size_t len, void *digest)
A wrapper function to simplify the generation of a hash.
sha512_common_context_t sha384_context_t
Context for cipher operations based on sha384.
Definition: sha384.h:46
void sha512_common_update(sha512_common_context_t *ctx, const void *data, size_t len)
Add bytes into the hash.
void sha512_common_final(sha512_common_context_t *ctx, void *digest, size_t dig_len)
SHA-512 finalization.
Adds include for missing inttype definitions.
Common definitions for the SHA-512 hash function.
Structure to hold the SHA-512 context.
Definition: sha512_common.h:34