The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/qat/qat_api/common/crypto/sym/include/lac_sym_qat_key.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /* SPDX-License-Identifier: BSD-3-Clause */
    2 /* Copyright(c) 2007-2022 Intel Corporation */
    3 /* $FreeBSD$ */
    4 
    5 /**
    6  *****************************************************************************
    7  * @file lac_sym_qat_key.h
    8  *
    9  * @defgroup LacSymQatKey  Key QAT
   10  *
   11  * @ingroup LacSymQat
   12  *
   13  * interfaces for populating qat structures for a key operation
   14  *
   15  *****************************************************************************/
   16 
   17 #ifndef LAC_SYM_QAT_KEY_H
   18 #define LAC_SYM_QAT_KEY_H
   19 
   20 #include "cpa.h"
   21 #include "lac_sym.h"
   22 #include "icp_qat_fw_la.h"
   23 
   24 /**
   25 ******************************************************************************
   26 * @ingroup LacSymQatKey
   27 *      Number of bytes generated per iteration
   28 * @description
   29 *      This define is the number of bytes generated per iteration
   30 *****************************************************************************/
   31 #define LAC_SYM_QAT_KEY_SSL_BYTES_PER_ITERATION (16)
   32 
   33 /**
   34 ******************************************************************************
   35 * @ingroup LacSymQatKey
   36 *      Shift to calculate the number of iterations
   37 * @description
   38 *      This define is the shift to calculate the number of iterations
   39 *****************************************************************************/
   40 #define LAC_SYM_QAT_KEY_SSL_ITERATIONS_SHIFT LAC_16BYTE_ALIGNMENT_SHIFT
   41 
   42 /**
   43 *******************************************************************************
   44 * @ingroup LacSymKey
   45 *      Populate the SSL request
   46 *
   47 * @description
   48 *      Populate the SSL request
   49 *
   50 * @param[out] pKeyGenReqHdr            Pointer to Key Generation request Header
   51 * @param[out] pKeyGenReqMid            Pointer to LW's 14/15 of Key Gen request
   52 * @param[in] generatedKeyLenInBytes    Length of Key generated
   53 * @param[in] labelLenInBytes           Length of Label
   54 * @param[in] secretLenInBytes          Length of Secret
   55 * @param[in] iterations                Number of iterations. This is related
   56 *                                      to the label length.
   57 *
   58 * @return None
   59 *
   60 *****************************************************************************/
   61 void
   62 LacSymQat_KeySslRequestPopulate(icp_qat_la_bulk_req_hdr_t *pKeyGenReqHdr,
   63                                 icp_qat_fw_la_key_gen_common_t *pKeyGenReqMid,
   64                                 Cpa32U generatedKeyLenInBytes,
   65                                 Cpa32U labelLenInBytes,
   66                                 Cpa32U secretLenInBytes,
   67                                 Cpa32U iterations);
   68 
   69 /**
   70 *******************************************************************************
   71 * @ingroup LacSymKey
   72 *      Populate the TLS request
   73 *
   74 * @description
   75 *      Populate the TLS request
   76 *
   77 * @param[out] pKeyGenReq               Pointer to Key Generation request
   78 * @param[in] generatedKeyLenInBytes    Length of Key generated
   79 * @param[in] labelLenInBytes           Length of Label
   80 * @param[in] secretLenInBytes          Length of Secret
   81 * @param[in] seedLenInBytes            Length of Seed
   82 * @param[in] cmdId                     Command Id to differentiate TLS versions
   83 *
   84 * @return None
   85 *
   86 *****************************************************************************/
   87 void LacSymQat_KeyTlsRequestPopulate(
   88     icp_qat_fw_la_key_gen_common_t *pKeyGenReqParams,
   89     Cpa32U generatedKeyLenInBytes,
   90     Cpa32U labelLenInBytes,
   91     Cpa32U secretLenInBytes,
   92     Cpa8U seedLenInBytes,
   93     icp_qat_fw_la_cmd_id_t cmdId);
   94 
   95 /**
   96 *******************************************************************************
   97 * @ingroup LacSymKey
   98 *      Populate MGF request
   99 *
  100 * @description
  101 *      Populate MGF request
  102 *
  103 * @param[out] pKeyGenReqHdr      Pointer to Key Generation request Header
  104 * @param[out] pKeyGenReqMid      Pointer to LW's 14/15 of Key Gen request
  105 * @param[in] seedLenInBytes      Length of Seed
  106 * @param[in] maskLenInBytes      Length of Mask
  107 * @param[in] hashLenInBytes      Length of hash
  108 *
  109 * @return None
  110 *
  111 *****************************************************************************/
  112 void
  113 LacSymQat_KeyMgfRequestPopulate(icp_qat_la_bulk_req_hdr_t *pKeyGenReqHdr,
  114                                 icp_qat_fw_la_key_gen_common_t *pKeyGenReqMid,
  115                                 Cpa8U seedLenInBytes,
  116                                 Cpa16U maskLenInBytes,
  117                                 Cpa8U hashLenInBytes);
  118 
  119 /**
  120 *******************************************************************************
  121 * @ingroup LacSymKey
  122 *      Populate the SSL key material input
  123 *
  124 * @description
  125 *      Populate the SSL key material input
  126 *
  127 * @param[in] pService                  Pointer to service
  128 * @param[out] pSslKeyMaterialInput     Pointer to SSL key material input
  129 * @param[in] pSeed                     Pointer to Seed
  130 * @param[in] labelPhysAddr             Physical address of the label
  131 * @param[in] pSecret                   Pointer to Secret
  132 *
  133 * @return None
  134 *
  135 *****************************************************************************/
  136 void LacSymQat_KeySslKeyMaterialInputPopulate(
  137     sal_service_t *pService,
  138     icp_qat_fw_la_ssl_key_material_input_t *pSslKeyMaterialInput,
  139     void *pSeed,
  140     Cpa64U labelPhysAddr,
  141     void *pSecret);
  142 
  143 /**
  144 *******************************************************************************
  145 * @ingroup LacSymKey
  146 *      Populate the TLS key material input
  147 *
  148 * @description
  149 *      Populate the TLS key material input
  150 *
  151 * @param[in] pService                  Pointer to service
  152 * @param[out] pTlsKeyMaterialInput   Pointer to TLS key material input
  153 * @param[in] pSeed                   Pointer to Seed
  154 * @param[in] labelPhysAddr             Physical address of the label
  155 *
  156 * @return None
  157 *
  158 *****************************************************************************/
  159 void LacSymQat_KeyTlsKeyMaterialInputPopulate(
  160     sal_service_t *pService,
  161     icp_qat_fw_la_tls_key_material_input_t *pTlsKeyMaterialInput,
  162     void *pSeed,
  163     Cpa64U labelPhysAddr);
  164 
  165 /**
  166 *******************************************************************************
  167 * @ingroup LacSymKey
  168 *      Populate the TLS HKDF key material input
  169 *
  170 * @description
  171 *      Populate the TLS HKDF key material input
  172 *
  173 * @param[in] pService                  Pointer to service
  174 * @param[out] pTlsKeyMaterialInput     Pointer to TLS key material input
  175 * @param[in] pSeed                     Pointer to Seed
  176 * @param[in] labelPhysAddr             Physical address of the label
  177 * @param[in] cmdId                     Command ID
  178 *
  179 * @return None
  180 *
  181 *****************************************************************************/
  182 void LacSymQat_KeyTlsHKDFKeyMaterialInputPopulate(
  183     sal_service_t *pService,
  184     icp_qat_fw_la_hkdf_key_material_input_t *pTlsKeyMaterialInput,
  185     CpaCyKeyGenHKDFOpData *pKeyGenTlsOpData,
  186     Cpa64U subLabelsPhysAddr,
  187     icp_qat_fw_la_cmd_id_t cmdId);
  188 
  189 #endif /* LAC_SYM_QAT_KEY_H */

Cache object: 31fac7548412fb5b86e388369bfd0690


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.