summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/sha/sha3.c56
-rw-r--r--src/lib/libcrypto/sha/sha3_internal.h16
2 files changed, 36 insertions, 36 deletions
diff --git a/src/lib/libcrypto/sha/sha3.c b/src/lib/libcrypto/sha/sha3.c
index 91b912cb73..fde0da94ff 100644
--- a/src/lib/libcrypto/sha/sha3.c
+++ b/src/lib/libcrypto/sha/sha3.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: sha3.c,v 1.19 2025/04/18 07:27:42 jsing Exp $ */ 1/* $OpenBSD: sha3.c,v 1.20 2025/04/18 07:36:11 jsing Exp $ */
2/* 2/*
3 * The MIT License (MIT) 3 * The MIT License (MIT)
4 * 4 *
@@ -97,77 +97,77 @@ sha3_keccakf(uint64_t st[25])
97} 97}
98 98
99int 99int
100sha3_init(sha3_ctx *c, int mdlen) 100sha3_init(sha3_ctx *ctx, int mdlen)
101{ 101{
102 if (mdlen < 0 || mdlen >= KECCAK_BYTE_WIDTH / 2) 102 if (mdlen < 0 || mdlen >= KECCAK_BYTE_WIDTH / 2)
103 return 0; 103 return 0;
104 104
105 memset(c, 0, sizeof(*c)); 105 memset(ctx, 0, sizeof(*ctx));
106 106
107 c->mdlen = mdlen; 107 ctx->mdlen = mdlen;
108 c->rsize = KECCAK_BYTE_WIDTH - 2 * mdlen; 108 ctx->rsize = KECCAK_BYTE_WIDTH - 2 * mdlen;
109 109
110 return 1; 110 return 1;
111} 111}
112 112
113int 113int
114sha3_update(sha3_ctx *c, const void *_data, size_t len) 114sha3_update(sha3_ctx *ctx, const void *_data, size_t len)
115{ 115{
116 const uint8_t *data = _data; 116 const uint8_t *data = _data;
117 size_t i, j; 117 size_t i, j;
118 118
119 j = c->pt; 119 j = ctx->pt;
120 for (i = 0; i < len; i++) { 120 for (i = 0; i < len; i++) {
121 c->state.b[j++] ^= data[i]; 121 ctx->state.b[j++] ^= data[i];
122 if (j >= c->rsize) { 122 if (j >= ctx->rsize) {
123 sha3_keccakf(c->state.q); 123 sha3_keccakf(ctx->state.q);
124 j = 0; 124 j = 0;
125 } 125 }
126 } 126 }
127 c->pt = j; 127 ctx->pt = j;
128 128
129 return 1; 129 return 1;
130} 130}
131 131
132int 132int
133sha3_final(void *_md, sha3_ctx *c) 133sha3_final(void *_md, sha3_ctx *ctx)
134{ 134{
135 uint8_t *md = _md; 135 uint8_t *md = _md;
136 int i; 136 int i;
137 137
138 c->state.b[c->pt] ^= 0x06; 138 ctx->state.b[ctx->pt] ^= 0x06;
139 c->state.b[c->rsize - 1] ^= 0x80; 139 ctx->state.b[ctx->rsize - 1] ^= 0x80;
140 sha3_keccakf(c->state.q); 140 sha3_keccakf(ctx->state.q);
141 141
142 for (i = 0; i < c->mdlen; i++) 142 for (i = 0; i < ctx->mdlen; i++)
143 md[i] = c->state.b[i]; 143 md[i] = ctx->state.b[i];
144 144
145 return 1; 145 return 1;
146} 146}
147 147
148/* SHAKE128 and SHAKE256 extensible-output functionality. */ 148/* SHAKE128 and SHAKE256 extensible-output functionality. */
149void 149void
150shake_xof(sha3_ctx *c) 150shake_xof(sha3_ctx *ctx)
151{ 151{
152 c->state.b[c->pt] ^= 0x1F; 152 ctx->state.b[ctx->pt] ^= 0x1f;
153 c->state.b[c->rsize - 1] ^= 0x80; 153 ctx->state.b[ctx->rsize - 1] ^= 0x80;
154 sha3_keccakf(c->state.q); 154 sha3_keccakf(ctx->state.q);
155 c->pt = 0; 155 ctx->pt = 0;
156} 156}
157 157
158void 158void
159shake_out(sha3_ctx *c, void *_out, size_t len) 159shake_out(sha3_ctx *ctx, void *_out, size_t len)
160{ 160{
161 uint8_t *out = _out; 161 uint8_t *out = _out;
162 size_t i, j; 162 size_t i, j;
163 163
164 j = c->pt; 164 j = ctx->pt;
165 for (i = 0; i < len; i++) { 165 for (i = 0; i < len; i++) {
166 if (j >= c->rsize) { 166 if (j >= ctx->rsize) {
167 sha3_keccakf(c->state.q); 167 sha3_keccakf(ctx->state.q);
168 j = 0; 168 j = 0;
169 } 169 }
170 out[i] = c->state.b[j++]; 170 out[i] = ctx->state.b[j++];
171 } 171 }
172 c->pt = j; 172 ctx->pt = j;
173} 173}
diff --git a/src/lib/libcrypto/sha/sha3_internal.h b/src/lib/libcrypto/sha/sha3_internal.h
index 53a4980c19..db09d06cc0 100644
--- a/src/lib/libcrypto/sha/sha3_internal.h
+++ b/src/lib/libcrypto/sha/sha3_internal.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: sha3_internal.h,v 1.15 2023/04/25 19:32:19 tb Exp $ */ 1/* $OpenBSD: sha3_internal.h,v 1.16 2025/04/18 07:36:11 jsing Exp $ */
2/* 2/*
3 * The MIT License (MIT) 3 * The MIT License (MIT)
4 * 4 *
@@ -66,16 +66,16 @@ typedef struct sha3_ctx_st {
66 size_t mdlen; 66 size_t mdlen;
67} sha3_ctx; 67} sha3_ctx;
68 68
69int sha3_init(sha3_ctx *c, int mdlen); 69int sha3_init(sha3_ctx *ctx, int mdlen);
70int sha3_update(sha3_ctx *c, const void *data, size_t len); 70int sha3_update(sha3_ctx *ctx, const void *data, size_t len);
71int sha3_final(void *md, sha3_ctx *c); 71int sha3_final(void *md, sha3_ctx *ctx);
72 72
73/* SHAKE128 and SHAKE256 extensible-output functions. */ 73/* SHAKE128 and SHAKE256 extensible-output functions. */
74#define shake128_init(c) sha3_init(c, 16) 74#define shake128_init(ctx) sha3_init((ctx), 16)
75#define shake256_init(c) sha3_init(c, 32) 75#define shake256_init(ctx) sha3_init((ctx), 32)
76#define shake_update sha3_update 76#define shake_update sha3_update
77 77
78void shake_xof(sha3_ctx *c); 78void shake_xof(sha3_ctx *ctx);
79void shake_out(sha3_ctx *c, void *out, size_t len); 79void shake_out(sha3_ctx *ctx, void *out, size_t len);
80 80
81#endif 81#endif