diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/libcrypto/sha/sha3.c | 56 | ||||
-rw-r--r-- | src/lib/libcrypto/sha/sha3_internal.h | 16 |
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 | ||
99 | int | 99 | int |
100 | sha3_init(sha3_ctx *c, int mdlen) | 100 | sha3_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 | ||
113 | int | 113 | int |
114 | sha3_update(sha3_ctx *c, const void *_data, size_t len) | 114 | sha3_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 | ||
132 | int | 132 | int |
133 | sha3_final(void *_md, sha3_ctx *c) | 133 | sha3_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. */ |
149 | void | 149 | void |
150 | shake_xof(sha3_ctx *c) | 150 | shake_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 | ||
158 | void | 158 | void |
159 | shake_out(sha3_ctx *c, void *_out, size_t len) | 159 | shake_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 | ||
69 | int sha3_init(sha3_ctx *c, int mdlen); | 69 | int sha3_init(sha3_ctx *ctx, int mdlen); |
70 | int sha3_update(sha3_ctx *c, const void *data, size_t len); | 70 | int sha3_update(sha3_ctx *ctx, const void *data, size_t len); |
71 | int sha3_final(void *md, sha3_ctx *c); | 71 | int 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 | ||
78 | void shake_xof(sha3_ctx *c); | 78 | void shake_xof(sha3_ctx *ctx); |
79 | void shake_out(sha3_ctx *c, void *out, size_t len); | 79 | void shake_out(sha3_ctx *ctx, void *out, size_t len); |
80 | 80 | ||
81 | #endif | 81 | #endif |