Lines Matching refs:csp

134 	struct crypto_session_params csp;  member
489 return (&crypto_session->csp); in crypto_get_params()
493 crypto_auth_hash(const struct crypto_session_params *csp) in crypto_auth_hash() argument
496 switch (csp->csp_auth_alg) { in crypto_auth_hash()
524 switch (csp->csp_auth_klen) { in crypto_auth_hash()
541 switch (csp->csp_auth_klen) { in crypto_auth_hash()
557 crypto_cipher(const struct crypto_session_params *csp) in crypto_cipher() argument
560 switch (csp->csp_cipher_alg) { in crypto_cipher()
598 crypto_select_driver(const struct crypto_session_params *csp, int flags) in crypto_select_driver() argument
617 error = CRYPTODEV_PROBESESSION(cap->cc_dev, csp); in crypto_select_driver()
743 check_csp(const struct crypto_session_params *csp) in check_csp() argument
748 if ((csp->csp_flags & ~(SUPPORTED_SES)) != 0) in check_csp()
750 if (csp->csp_ivlen < 0 || csp->csp_cipher_klen < 0 || in check_csp()
751 csp->csp_auth_klen < 0 || csp->csp_auth_mlen < 0) in check_csp()
753 if (csp->csp_auth_key != NULL && csp->csp_auth_klen == 0) in check_csp()
755 if (csp->csp_cipher_key != NULL && csp->csp_cipher_klen == 0) in check_csp()
758 switch (csp->csp_mode) { in check_csp()
760 if (!alg_is_compression(csp->csp_cipher_alg)) in check_csp()
762 if (csp->csp_flags & CSP_F_SEPARATE_OUTPUT) in check_csp()
764 if (csp->csp_flags & CSP_F_SEPARATE_AAD) in check_csp()
766 if (csp->csp_cipher_klen != 0 || csp->csp_ivlen != 0 || in check_csp()
767 csp->csp_auth_alg != 0 || csp->csp_auth_klen != 0 || in check_csp()
768 csp->csp_auth_mlen != 0) in check_csp()
772 if (!alg_is_cipher(csp->csp_cipher_alg)) in check_csp()
774 if (csp->csp_flags & CSP_F_SEPARATE_AAD) in check_csp()
776 if (csp->csp_cipher_alg != CRYPTO_NULL_CBC) { in check_csp()
777 if (csp->csp_cipher_klen == 0) in check_csp()
779 if (csp->csp_ivlen == 0) in check_csp()
782 if (csp->csp_ivlen >= EALG_MAX_BLOCK_LEN) in check_csp()
784 if (csp->csp_auth_alg != 0 || csp->csp_auth_klen != 0 || in check_csp()
785 csp->csp_auth_mlen != 0) in check_csp()
789 if (csp->csp_cipher_alg != 0 || csp->csp_cipher_klen != 0) in check_csp()
792 if (csp->csp_flags & CSP_F_SEPARATE_AAD) in check_csp()
796 switch (csp->csp_auth_alg) { in check_csp()
798 if (csp->csp_ivlen < 7 || csp->csp_ivlen > 13) in check_csp()
802 if (csp->csp_ivlen != AES_GCM_IV_LEN) in check_csp()
806 if (csp->csp_ivlen != 0) in check_csp()
811 if (!alg_is_digest(csp->csp_auth_alg)) in check_csp()
815 if (csp->csp_auth_alg == CRYPTO_BLAKE2B || in check_csp()
816 csp->csp_auth_alg == CRYPTO_BLAKE2S) in check_csp()
818 else if (alg_is_keyed_digest(csp->csp_auth_alg)) { in check_csp()
819 if (csp->csp_auth_klen == 0) in check_csp()
822 if (csp->csp_auth_klen != 0) in check_csp()
825 if (csp->csp_auth_mlen != 0) { in check_csp()
826 axf = crypto_auth_hash(csp); in check_csp()
827 if (axf == NULL || csp->csp_auth_mlen > axf->hashsize) in check_csp()
830 if (csp->csp_auth_alg == CRYPTO_AES_CCM_CBC_MAC && in check_csp()
831 !ccm_tag_length_valid(csp->csp_auth_mlen)) in check_csp()
836 if (!alg_is_aead(csp->csp_cipher_alg)) in check_csp()
838 if (csp->csp_cipher_klen == 0) in check_csp()
840 if (csp->csp_ivlen == 0 || in check_csp()
841 csp->csp_ivlen >= EALG_MAX_BLOCK_LEN) in check_csp()
843 if (csp->csp_auth_alg != 0 || csp->csp_auth_klen != 0) in check_csp()
846 switch (csp->csp_cipher_alg) { in check_csp()
848 if (csp->csp_auth_mlen != 0 && in check_csp()
849 !ccm_tag_length_valid(csp->csp_auth_mlen)) in check_csp()
852 if (csp->csp_ivlen < 7 || csp->csp_ivlen > 13) in check_csp()
856 if (csp->csp_auth_mlen > AES_GMAC_HASH_LEN) in check_csp()
859 if (csp->csp_ivlen != AES_GCM_IV_LEN) in check_csp()
863 if (csp->csp_ivlen != 8 && csp->csp_ivlen != 12) in check_csp()
865 if (csp->csp_auth_mlen > POLY1305_HASH_LEN) in check_csp()
869 if (csp->csp_ivlen != XCHACHA20_POLY1305_IV_LEN) in check_csp()
871 if (csp->csp_auth_mlen > POLY1305_HASH_LEN) in check_csp()
877 if (!alg_is_cipher(csp->csp_cipher_alg)) in check_csp()
879 if (csp->csp_cipher_alg != CRYPTO_NULL_CBC) { in check_csp()
880 if (csp->csp_cipher_klen == 0) in check_csp()
882 if (csp->csp_ivlen == 0) in check_csp()
885 if (csp->csp_ivlen >= EALG_MAX_BLOCK_LEN) in check_csp()
887 if (!alg_is_digest(csp->csp_auth_alg)) in check_csp()
891 if (csp->csp_auth_alg == CRYPTO_BLAKE2B || in check_csp()
892 csp->csp_auth_alg == CRYPTO_BLAKE2S) in check_csp()
894 else if (alg_is_keyed_digest(csp->csp_auth_alg)) { in check_csp()
895 if (csp->csp_auth_klen == 0) in check_csp()
898 if (csp->csp_auth_klen != 0) in check_csp()
901 if (csp->csp_auth_mlen != 0) { in check_csp()
902 axf = crypto_auth_hash(csp); in check_csp()
903 if (axf == NULL || csp->csp_auth_mlen > axf->hashsize) in check_csp()
942 const struct crypto_session_params *csp, int crid) in crypto_newsession() argument
949 if (!check_csp(csp)) in crypto_newsession()
960 if (cap != NULL && CRYPTODEV_PROBESESSION(cap->cc_dev, csp) > 0) in crypto_newsession()
966 cap = crypto_select_driver(csp, crid); in crypto_newsession()
981 res->csp = *csp; in crypto_newsession()
985 err = CRYPTODEV_NEWSESSION(cap->cc_dev, res, csp); in crypto_newsession()
1257 struct crypto_session_params *csp; in crp_sanity() local
1267 csp = &crp->crp_session->csp; in crp_sanity()
1272 if (csp->csp_flags & CSP_F_SEPARATE_OUTPUT) { in crp_sanity()
1283 switch (csp->csp_mode) { in crp_sanity()
1316 if (csp->csp_mode == CSP_MODE_AEAD || csp->csp_mode == CSP_MODE_ETA) { in crp_sanity()
1328 KASSERT(csp->csp_flags & CSP_F_SEPARATE_AAD, in crp_sanity()
1340 if (csp->csp_ivlen == 0) { in crp_sanity()
1351 KASSERT(crp->crp_iv_start + csp->csp_ivlen <= ilen, in crp_sanity()
1363 } else if (csp->csp_mode == CSP_MODE_DIGEST) { in crp_sanity()
1376 if (csp->csp_mode == CSP_MODE_DIGEST || in crp_sanity()
1377 csp->csp_mode == CSP_MODE_AEAD || csp->csp_mode == CSP_MODE_ETA) { in crp_sanity()
1386 KASSERT(crp->crp_digest_start + csp->csp_auth_mlen <= len, in crp_sanity()
1392 if (csp->csp_cipher_klen != 0) in crp_sanity()
1393 KASSERT(csp->csp_cipher_key != NULL || in crp_sanity()
1396 if (csp->csp_auth_klen != 0) in crp_sanity()
1397 KASSERT(csp->csp_auth_key != NULL || crp->crp_auth_key != NULL, in crp_sanity()
1527 struct crypto_session_params csp; in crypto_invoke() local
1547 csp = crp->crp_session->csp; in crypto_invoke()
1561 if (crypto_newsession(&nses, &csp, in crypto_invoke()