MCPcopy Create free account
hub / github.com/F-Stack/f-stack / blake2_cipher_setup

Function blake2_cipher_setup

freebsd/crypto/blake2/blake2_cryptodev.c:272–305  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

270}
271
272static int
273blake2_cipher_setup(struct blake2_session *ses,
274 const struct crypto_session_params *csp)
275{
276 int hashlen;
277
278 CTASSERT((size_t)BLAKE2S_OUTBYTES <= (size_t)BLAKE2B_OUTBYTES);
279
280 if (!blake2_check_klen(csp, csp->csp_auth_klen))
281 return (EINVAL);
282
283 if (csp->csp_auth_mlen < 0)
284 return (EINVAL);
285
286 switch (csp->csp_auth_alg) {
287 case CRYPTO_BLAKE2S:
288 hashlen = BLAKE2S_OUTBYTES;
289 break;
290 case CRYPTO_BLAKE2B:
291 hashlen = BLAKE2B_OUTBYTES;
292 break;
293 default:
294 return (EINVAL);
295 }
296
297 if (csp->csp_auth_mlen > hashlen)
298 return (EINVAL);
299
300 if (csp->csp_auth_mlen == 0)
301 ses->mlen = hashlen;
302 else
303 ses->mlen = csp->csp_auth_mlen;
304 return (0);
305}
306
307static int
308blake2b_applicator(void *state, const void *buf, u_int len)

Callers 1

blake2_newsessionFunction · 0.85

Calls 1

blake2_check_klenFunction · 0.85

Tested by

no test coverage detected