Lines Matching refs:csp

105 ossl_lookup_hash(const struct crypto_session_params *csp)
108 switch (csp->csp_auth_alg) {
132 ossl_lookup_cipher(const struct crypto_session_params *csp)
135 switch (csp->csp_cipher_alg) {
137 switch (csp->csp_cipher_klen * 8) {
147 switch (csp->csp_cipher_klen * 8) {
157 if (csp->csp_cipher_klen != CHACHA_KEY_SIZE)
166 ossl_probesession(device_t dev, const struct crypto_session_params *csp)
170 if ((csp->csp_flags & ~(CSP_F_SEPARATE_OUTPUT | CSP_F_SEPARATE_AAD)) !=
173 switch (csp->csp_mode) {
175 if (ossl_lookup_hash(csp) == NULL)
179 if (csp->csp_cipher_alg != CRYPTO_CHACHA20 && !sc->has_aes)
181 if (ossl_lookup_cipher(csp) == NULL)
186 csp->csp_cipher_alg == CRYPTO_CHACHA20 ||
187 ossl_lookup_hash(csp) == NULL ||
188 ossl_lookup_cipher(csp) == NULL)
192 switch (csp->csp_cipher_alg) {
196 if (!sc->has_aes_gcm || ossl_lookup_cipher(csp) == NULL)
198 if (csp->csp_ivlen != AES_GCM_IV_LEN)
200 if (csp->csp_auth_mlen != 0 &&
201 csp->csp_auth_mlen != GMAC_DIGEST_LEN)
217 const struct crypto_session_params *csp)
221 axf = ossl_lookup_hash(csp);
223 if (csp->csp_auth_mlen == 0)
226 s->hash.mlen = csp->csp_auth_mlen;
228 if (csp->csp_auth_klen == 0) {
231 if (csp->csp_auth_key != NULL) {
235 axf->Setkey(&s->hash.ictx, csp->csp_auth_key,
236 csp->csp_auth_klen);
238 hmac_init_ipad(axf, csp->csp_auth_key,
239 csp->csp_auth_klen, &s->hash.ictx);
240 hmac_init_opad(axf, csp->csp_auth_key,
241 csp->csp_auth_klen, &s->hash.octx);
250 const struct crypto_session_params *csp)
255 cipher = ossl_lookup_cipher(csp);
261 if (csp->csp_cipher_key == NULL)
266 error = cipher->set_encrypt_key(csp->csp_cipher_key,
267 8 * csp->csp_cipher_klen, &s->cipher.enc_ctx);
274 error = cipher->set_decrypt_key(csp->csp_cipher_key,
275 8 * csp->csp_cipher_klen, &s->cipher.dec_ctx);
283 const struct crypto_session_params *csp)
289 switch (csp->csp_mode) {
291 ossl_newsession_hash(s, csp);
294 error = ossl_newsession_cipher(s, csp);
297 ossl_newsession_hash(s, csp);
298 error = ossl_newsession_cipher(s, csp);
301 if (csp->csp_cipher_alg != CRYPTO_CHACHA20_POLY1305)
302 error = ossl_newsession_cipher(s, csp);
313 const struct crypto_session_params *csp)
328 csp->csp_auth_klen);
331 csp->csp_auth_klen, &ctx);
350 if (csp->csp_auth_klen != 0 && axf->Setkey == NULL) {
355 csp->csp_auth_klen, &ctx);
381 const struct crypto_session_params *csp)
383 return (s->cipher.cipher->process(&s->cipher, crp, csp));
388 const struct crypto_session_params *csp)
393 error = s->cipher.cipher->process(&s->cipher, crp, csp);
395 error = ossl_process_hash(s, crp, csp);
397 error = ossl_process_hash(s, crp, csp);
399 error = s->cipher.cipher->process(&s->cipher, crp, csp);
407 const struct crypto_session_params *csp)
409 if (csp->csp_cipher_alg == CRYPTO_CHACHA20_POLY1305) {
411 return (ossl_chacha20_poly1305_encrypt(crp, csp));
413 return (ossl_chacha20_poly1305_decrypt(crp, csp));
415 return (s->cipher.cipher->process(&s->cipher, crp, csp));
422 const struct crypto_session_params *csp;
428 csp = crypto_get_params(crp->crp_session);
437 switch (csp->csp_mode) {
439 error = ossl_process_hash(s, crp, csp);
442 error = ossl_process_cipher(s, crp, csp);
445 error = ossl_process_eta(s, crp, csp);
448 error = ossl_process_aead(s, crp, csp);