liboqs
Loading...
Searching...
No Matches
sha2_ops.h
Go to the documentation of this file.
1
10#ifndef OQS_SHA2_OPS_H
11#define OQS_SHA2_OPS_H
12
13#include <stddef.h>
14#include <stdint.h>
15
16#include <oqs/common.h>
17
18#if defined(__cplusplus)
19extern "C" {
20#endif
21
23typedef struct {
25 void *ctx;
27 size_t data_len;
29 uint8_t data[128];
31
33typedef struct {
35 void *ctx;
37 size_t data_len;
39 uint8_t data[128];
41
43typedef struct {
45 void *ctx;
47 size_t data_len;
49 uint8_t data[128];
51
53typedef struct {
55 void *ctx;
57 size_t data_len;
59 uint8_t data[128];
61
68 void (*SHA2_sha256)(uint8_t *output, const uint8_t *input, size_t inplen);
69
74
79
83 void (*SHA2_sha256_inc)(OQS_SHA2_sha256_ctx *state, const uint8_t *in, size_t len);
84
88 void (*SHA2_sha256_inc_blocks)(OQS_SHA2_sha256_ctx *state, const uint8_t *in, size_t inblocks);
89
93 void (*SHA2_sha256_inc_finalize)(uint8_t *out, OQS_SHA2_sha256_ctx *state, const uint8_t *in, size_t inlen);
94
99
103 void (*SHA2_sha384)(uint8_t *output, const uint8_t *input, size_t inplen);
104
109
114
118 void (*SHA2_sha384_inc_blocks)(OQS_SHA2_sha384_ctx *state, const uint8_t *in, size_t inblocks);
119
123 void (*SHA2_sha384_inc_finalize)(uint8_t *out, OQS_SHA2_sha384_ctx *state, const uint8_t *in, size_t inlen);
124
129
133 void (*SHA2_sha512)(uint8_t *output, const uint8_t *input, size_t inplen);
134
139
144
148 void (*SHA2_sha512_inc_blocks)(OQS_SHA2_sha512_ctx *state, const uint8_t *in, size_t inblocks);
149
153 void (*SHA2_sha512_inc_finalize)(uint8_t *out, OQS_SHA2_sha512_ctx *state, const uint8_t *in, size_t inlen);
154
159};
160
171
172#if defined(__cplusplus)
173} // extern "C"
174#endif
175
176#endif // OQS_SHA2_OPS_H
#define OQS_API
Definition common.h:92
OQS_API void OQS_SHA2_set_callbacks(struct OQS_SHA2_callbacks *new_callbacks)
Definition sha2_ops.h:64
void(* SHA2_sha512_inc_finalize)(uint8_t *out, OQS_SHA2_sha512_ctx *state, const uint8_t *in, size_t inlen)
Definition sha2_ops.h:153
void(* SHA2_sha384_inc_init)(OQS_SHA2_sha384_ctx *state)
Definition sha2_ops.h:108
void(* SHA2_sha256_inc_finalize)(uint8_t *out, OQS_SHA2_sha256_ctx *state, const uint8_t *in, size_t inlen)
Definition sha2_ops.h:93
void(* SHA2_sha256_inc_ctx_clone)(OQS_SHA2_sha256_ctx *dest, const OQS_SHA2_sha256_ctx *src)
Definition sha2_ops.h:78
void(* SHA2_sha256_inc_init)(OQS_SHA2_sha256_ctx *state)
Definition sha2_ops.h:73
void(* SHA2_sha384)(uint8_t *output, const uint8_t *input, size_t inplen)
Definition sha2_ops.h:103
void(* SHA2_sha256)(uint8_t *output, const uint8_t *input, size_t inplen)
Definition sha2_ops.h:68
void(* SHA2_sha256_inc_blocks)(OQS_SHA2_sha256_ctx *state, const uint8_t *in, size_t inblocks)
Definition sha2_ops.h:88
void(* SHA2_sha384_inc_ctx_release)(OQS_SHA2_sha384_ctx *state)
Definition sha2_ops.h:128
void(* SHA2_sha384_inc_finalize)(uint8_t *out, OQS_SHA2_sha384_ctx *state, const uint8_t *in, size_t inlen)
Definition sha2_ops.h:123
void(* SHA2_sha512)(uint8_t *output, const uint8_t *input, size_t inplen)
Definition sha2_ops.h:133
void(* SHA2_sha512_inc_init)(OQS_SHA2_sha512_ctx *state)
Definition sha2_ops.h:138
void(* SHA2_sha256_inc)(OQS_SHA2_sha256_ctx *state, const uint8_t *in, size_t len)
Definition sha2_ops.h:83
void(* SHA2_sha384_inc_blocks)(OQS_SHA2_sha384_ctx *state, const uint8_t *in, size_t inblocks)
Definition sha2_ops.h:118
void(* SHA2_sha512_inc_ctx_release)(OQS_SHA2_sha512_ctx *state)
Definition sha2_ops.h:158
void(* SHA2_sha256_inc_ctx_release)(OQS_SHA2_sha256_ctx *state)
Definition sha2_ops.h:98
void(* SHA2_sha384_inc_ctx_clone)(OQS_SHA2_sha384_ctx *dest, const OQS_SHA2_sha384_ctx *src)
Definition sha2_ops.h:113
void(* SHA2_sha512_inc_blocks)(OQS_SHA2_sha512_ctx *state, const uint8_t *in, size_t inblocks)
Definition sha2_ops.h:148
void(* SHA2_sha512_inc_ctx_clone)(OQS_SHA2_sha512_ctx *dest, const OQS_SHA2_sha512_ctx *src)
Definition sha2_ops.h:143
Definition sha2_ops.h:23
size_t data_len
Definition sha2_ops.h:27
void * ctx
Definition sha2_ops.h:25
Definition sha2_ops.h:33
void * ctx
Definition sha2_ops.h:35
size_t data_len
Definition sha2_ops.h:37
Definition sha2_ops.h:43
size_t data_len
Definition sha2_ops.h:47
void * ctx
Definition sha2_ops.h:45
Definition sha2_ops.h:53
size_t data_len
Definition sha2_ops.h:57
void * ctx
Definition sha2_ops.h:55