1 /* SPDX-License-Identifier: BSD-3-Clause */
2 /* Copyright(c) 2007-2022 Intel Corporation */
3 
4 /* --- (Automatically generated (build v. 2.7), do not modify manually) --- */
5 
6 
7 /**
8  * @file icp_qat_fw_mmp.h
9  * @defgroup icp_qat_fw_mmp ICP QAT FW MMP Processing Definitions
10  * @ingroup icp_qat_fw
11  * $Revision: 0.1 $
12  * @brief
13  *      This file documents the external interfaces that the QAT FW running
14  *      on the QAT Acceleration Engine provides to clients wanting to
15  *      accelerate crypto assymetric applications
16  */
17 
18 
19 #ifndef __ICP_QAT_FW_MMP__
20 #define __ICP_QAT_FW_MMP__
21 
22 
23 /**************************************************************************
24  * Include local header files
25  **************************************************************************
26  */
27 
28 
29 #include "icp_qat_fw.h"
30 
31 
32 /**************************************************************************
33  * Local constants
34  **************************************************************************
35  */
36 #define ICP_QAT_FW_PKE_INPUT_COUNT_MAX      7
37 /**< @ingroup icp_qat_fw_pke
38  * Maximum number of input paramaters in all PKE request */
39 #define ICP_QAT_FW_PKE_OUTPUT_COUNT_MAX     5
40 /**< @ingroup icp_qat_fw_pke
41  * Maximum number of output paramaters in all PKE request */
42 
43 /**
44  * @ingroup icp_qat_fw_mmp
45  * @brief
46  *    Input parameter list for ECC P384 Variable Point Multiplication [k]P ,
47  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
48  * #PKE_EC_POINT_MULTIPLICATION_P384.
49  */
50 typedef struct icp_qat_fw_mmp_ec_point_multiplication_p384_input_s
51 {
52     uint64_t xp; /**< xP = affine coordinate X of point P  (6 qwords)*/
53     uint64_t yp; /**< yP = affine coordinate Y of point P  (6 qwords)*/
54     uint64_t k;  /**< k  = scalar  (6 qwords)*/
55 } icp_qat_fw_mmp_ec_point_multiplication_p384_input_t;
56 
57 /**
58  * @ingroup icp_qat_fw_mmp
59  * @brief
60  *    Input parameter list for ECC P384 Generator Point Multiplication [k]G ,
61  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
62  * #PKE_EC_GENERATOR_MULTIPLICATION_P384.
63  */
64 typedef struct icp_qat_fw_mmp_ec_generator_multiplication_p384_input_s
65 {
66     uint64_t k; /**< k  = scalar  (6 qwords)*/
67 } icp_qat_fw_mmp_ec_generator_multiplication_p384_input_t;
68 
69 /**
70  * @ingroup icp_qat_fw_mmp
71  * @brief
72  *    Input parameter list for ECC P384 ECDSA Sign RS ,
73  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
74  * #PKE_ECDSA_SIGN_RS_P384.
75  */
76 typedef struct icp_qat_fw_mmp_ecdsa_sign_rs_p384_input_s
77 {
78     uint64_t k; /**< k  = random value, &gt; 0 and &lt; n (order of G for P384)
79                    (6 qwords)*/
80     uint64_t e; /**<  (6 qwords)*/
81     uint64_t d; /**<  (6 qwords)*/
82 } icp_qat_fw_mmp_ecdsa_sign_rs_p384_input_t;
83 
84 /**
85  * @ingroup icp_qat_fw_mmp
86  * @brief
87  *    Input parameter list for ECC P256 Variable Point Multiplication [k]P ,
88  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
89  * #PKE_EC_POINT_MULTIPLICATION_P256.
90  */
91 typedef struct icp_qat_fw_mmp_ec_point_multiplication_p256_input_s
92 {
93     uint64_t xp; /**< xP = affine coordinate X of point P  (4 qwords)*/
94     uint64_t yp; /**< yP = affine coordinate Y of point P  (4 qwords)*/
95     uint64_t k;  /**< k  = scalar  (4 qwords)*/
96 } icp_qat_fw_mmp_ec_point_multiplication_p256_input_t;
97 
98 /**
99  * @ingroup icp_qat_fw_mmp
100  * @brief
101  *    Input parameter list for ECC P256 Generator Point Multiplication [k]G ,
102  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
103  * #PKE_EC_GENERATOR_MULTIPLICATION_P256.
104  */
105 typedef struct icp_qat_fw_mmp_ec_generator_multiplication_p256_input_s
106 {
107     uint64_t k; /**< k  = scalar  (4 qwords)*/
108 } icp_qat_fw_mmp_ec_generator_multiplication_p256_input_t;
109 
110 /**
111  * @ingroup icp_qat_fw_mmp
112  * @brief
113  *    Input parameter list for ECC P256 ECDSA Sign RS ,
114  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
115  * #PKE_ECDSA_SIGN_RS_P256.
116  */
117 typedef struct icp_qat_fw_mmp_ecdsa_sign_rs_p256_input_s
118 {
119     uint64_t k; /**< k  = random value, &gt; 0 and &lt; n (order of G for P256)
120                    (4 qwords)*/
121     uint64_t e; /**<  (4 qwords)*/
122     uint64_t d; /**<  (4 qwords)*/
123 } icp_qat_fw_mmp_ecdsa_sign_rs_p256_input_t;
124 
125 /**
126  * @ingroup icp_qat_fw_mmp
127  * @brief
128  *    Input parameter list for ECC SM2 point multiply [k]G ,
129  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
130  * #PKE_ECSM2_GENERATOR_MULTIPLICATION.
131  */
132 typedef struct icp_qat_fw_mmp_ecsm2_generator_multiplication_input_s
133 {
134     uint64_t k; /**< k  = multiplicand  (4 qwords)*/
135 } icp_qat_fw_mmp_ecsm2_generator_multiplication_input_t;
136 
137 /**
138  * @ingroup icp_qat_fw_mmp
139  * @brief
140  *    Input parameter list for Initialisation sequence ,
141  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_INIT.
142  */
143 typedef struct icp_qat_fw_mmp_init_input_s
144 {
145     uint64_t z; /**< zeroed quadword (1 qwords)*/
146 } icp_qat_fw_mmp_init_input_t;
147 
148 
149 
150 /**
151  * @ingroup icp_qat_fw_mmp
152  * @brief
153  *    Input parameter list for Diffie-Hellman Modular exponentiation base 2 for 768-bit numbers ,
154  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DH_G2_768.
155  */
156 typedef struct icp_qat_fw_mmp_dh_g2_768_input_s
157 {
158     uint64_t e; /**< exponent &gt; 0 and &lt; 2^768 (12 qwords)*/
159     uint64_t m; /**< modulus   &ge; 2^767 and &lt; 2^768 (12 qwords)*/
160 } icp_qat_fw_mmp_dh_g2_768_input_t;
161 
162 
163 
164 /**
165  * @ingroup icp_qat_fw_mmp
166  * @brief
167  *    Input parameter list for Diffie-Hellman Modular exponentiation for 768-bit numbers ,
168  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DH_768.
169  */
170 typedef struct icp_qat_fw_mmp_dh_768_input_s
171 {
172     uint64_t g; /**< base &ge; 0 and &lt; 2^768 (12 qwords)*/
173     uint64_t e; /**< exponent &gt; 0 and &lt; 2^768 (12 qwords)*/
174     uint64_t m; /**< modulus   &ge; 2^767 and &lt; 2^768 (12 qwords)*/
175 } icp_qat_fw_mmp_dh_768_input_t;
176 
177 
178 
179 /**
180  * @ingroup icp_qat_fw_mmp
181  * @brief
182  *    Input parameter list for Diffie-Hellman Modular exponentiation base 2 for 1024-bit numbers ,
183  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DH_G2_1024.
184  */
185 typedef struct icp_qat_fw_mmp_dh_g2_1024_input_s
186 {
187     uint64_t e; /**< exponent &gt; 0 and &lt; 2^1024 (16 qwords)*/
188     uint64_t m; /**< modulus   &ge; 2^1023 and &lt; 2^1024 (16 qwords)*/
189 } icp_qat_fw_mmp_dh_g2_1024_input_t;
190 
191 
192 
193 /**
194  * @ingroup icp_qat_fw_mmp
195  * @brief
196  *    Input parameter list for Diffie-Hellman Modular exponentiation for 1024-bit numbers ,
197  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DH_1024.
198  */
199 typedef struct icp_qat_fw_mmp_dh_1024_input_s
200 {
201     uint64_t g; /**< base &ge; 0 and &lt; 2^1024 (16 qwords)*/
202     uint64_t e; /**< exponent &gt; 0 and &lt; 2^1024 (16 qwords)*/
203     uint64_t m; /**< modulus   &ge; 2^1023 and &lt; 2^1024 (16 qwords)*/
204 } icp_qat_fw_mmp_dh_1024_input_t;
205 
206 
207 
208 /**
209  * @ingroup icp_qat_fw_mmp
210  * @brief
211  *    Input parameter list for Diffie-Hellman Modular exponentiation base 2 for 1536-bit numbers ,
212  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DH_G2_1536.
213  */
214 typedef struct icp_qat_fw_mmp_dh_g2_1536_input_s
215 {
216     uint64_t e; /**< exponent &gt; 0 and &lt; 2^1536 (24 qwords)*/
217     uint64_t m; /**< modulus   &ge; 2^1535 and &lt; 2^1536 (24 qwords)*/
218 } icp_qat_fw_mmp_dh_g2_1536_input_t;
219 
220 
221 
222 /**
223  * @ingroup icp_qat_fw_mmp
224  * @brief
225  *    Input parameter list for Diffie-Hellman Modular exponentiation for 1536-bit numbers ,
226  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DH_1536.
227  */
228 typedef struct icp_qat_fw_mmp_dh_1536_input_s
229 {
230     uint64_t g; /**< base &ge; 0 and &lt; 2^1536 (24 qwords)*/
231     uint64_t e; /**< exponent &gt; 0 and &lt; 2^1536 (24 qwords)*/
232     uint64_t m; /**< modulus   &ge; 2^1535 and &lt; 2^1536 (24 qwords)*/
233 } icp_qat_fw_mmp_dh_1536_input_t;
234 
235 
236 
237 /**
238  * @ingroup icp_qat_fw_mmp
239  * @brief
240  *    Input parameter list for Diffie-Hellman Modular exponentiation base 2 for 2048-bit numbers ,
241  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DH_G2_2048.
242  */
243 typedef struct icp_qat_fw_mmp_dh_g2_2048_input_s
244 {
245     uint64_t e; /**< exponent &gt; 0 and &lt; 2^2048 (32 qwords)*/
246     uint64_t m; /**< modulus  &ge; 2^2047 and &lt; 2^2048 (32 qwords)*/
247 } icp_qat_fw_mmp_dh_g2_2048_input_t;
248 
249 
250 
251 /**
252  * @ingroup icp_qat_fw_mmp
253  * @brief
254  *    Input parameter list for Diffie-Hellman Modular exponentiation for 2048-bit numbers ,
255  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DH_2048.
256  */
257 typedef struct icp_qat_fw_mmp_dh_2048_input_s
258 {
259     uint64_t g; /**< base &ge; 0 and &lt; 2^2048 (32 qwords)*/
260     uint64_t e; /**< exponent &gt; 0 and &lt; 2^2048 (32 qwords)*/
261     uint64_t m; /**< modulus   &ge; 2^2047 and &lt; 2^2048 (32 qwords)*/
262 } icp_qat_fw_mmp_dh_2048_input_t;
263 
264 
265 
266 /**
267  * @ingroup icp_qat_fw_mmp
268  * @brief
269  *    Input parameter list for Diffie-Hellman Modular exponentiation base 2 for 3072-bit numbers ,
270  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DH_G2_3072.
271  */
272 typedef struct icp_qat_fw_mmp_dh_g2_3072_input_s
273 {
274     uint64_t e; /**< exponent &gt; 0 and &lt; 2^3072 (48 qwords)*/
275     uint64_t m; /**< modulus  &ge; 2^3071 and &lt; 2^3072 (48 qwords)*/
276 } icp_qat_fw_mmp_dh_g2_3072_input_t;
277 
278 
279 
280 /**
281  * @ingroup icp_qat_fw_mmp
282  * @brief
283  *    Input parameter list for Diffie-Hellman Modular exponentiation for 3072-bit numbers ,
284  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DH_3072.
285  */
286 typedef struct icp_qat_fw_mmp_dh_3072_input_s
287 {
288     uint64_t g; /**< base &ge; 0 and &lt; 2^3072 (48 qwords)*/
289     uint64_t e; /**< exponent &gt; 0 and &lt; 2^3072 (48 qwords)*/
290     uint64_t m; /**< modulus  &ge; 2^3071 and &lt; 2^3072 (48 qwords)*/
291 } icp_qat_fw_mmp_dh_3072_input_t;
292 
293 
294 
295 /**
296  * @ingroup icp_qat_fw_mmp
297  * @brief
298  *    Input parameter list for Diffie-Hellman Modular exponentiation base 2 for 4096-bit numbers ,
299  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DH_G2_4096.
300  */
301 typedef struct icp_qat_fw_mmp_dh_g2_4096_input_s
302 {
303     uint64_t e; /**< exponent &gt; 0 and &lt; 2^4096 (64 qwords)*/
304     uint64_t m; /**< modulus   &ge; 2^4095 and &lt; 2^4096 (64 qwords)*/
305 } icp_qat_fw_mmp_dh_g2_4096_input_t;
306 
307 
308 
309 /**
310  * @ingroup icp_qat_fw_mmp
311  * @brief
312  *    Input parameter list for Diffie-Hellman Modular exponentiation for 4096-bit numbers ,
313  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DH_4096.
314  */
315 typedef struct icp_qat_fw_mmp_dh_4096_input_s
316 {
317     uint64_t g; /**< base &ge; 0 and &lt; 2^4096 (64 qwords)*/
318     uint64_t e; /**< exponent &gt; 0 and &lt; 2^4096 (64 qwords)*/
319     uint64_t m; /**< modulus   &ge; 2^4095 and &lt; 2^4096 (64 qwords)*/
320 } icp_qat_fw_mmp_dh_4096_input_t;
321 
322 /**
323  * @ingroup icp_qat_fw_mmp
324  * @brief
325  *    Input parameter list for Diffie-Hellman Modular exponentiation base 2 for
326  * 8192-bit numbers , to be used when icp_qat_fw_pke_request_s::functionalityId
327  * is #PKE_DH_G2_8192.
328  */
329 typedef struct icp_qat_fw_mmp_dh_g2_8192_input_s
330 {
331     uint64_t e; /**< exponent &gt; 0 and &lt; 2^8192 (128 qwords)*/
332     uint64_t m; /**< modulus   &ge; 2^8191 and &lt; 2^8192 (128 qwords)*/
333 } icp_qat_fw_mmp_dh_g2_8192_input_t;
334 
335 /**
336  * @ingroup icp_qat_fw_mmp
337  * @brief
338  *    Input parameter list for Diffie-Hellman Modular exponentiation for
339  * 8192-bit numbers , to be used when icp_qat_fw_pke_request_s::functionalityId
340  * is #PKE_DH_8192.
341  */
342 typedef struct icp_qat_fw_mmp_dh_8192_input_s
343 {
344     uint64_t g; /**< base &ge; 0 and &lt; 2^8192 (128 qwords)*/
345     uint64_t e; /**< exponent &gt; 0 and &lt; 2^8192 (128 qwords)*/
346     uint64_t m; /**< modulus   &ge; 2^8191 and &lt; 2^8192 (128 qwords)*/
347 } icp_qat_fw_mmp_dh_8192_input_t;
348 
349 /**
350  * @ingroup icp_qat_fw_mmp
351  * @brief
352  *    Input parameter list for RSA 512 key generation first form ,
353  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_KP1_512.
354  */
355 typedef struct icp_qat_fw_mmp_rsa_kp1_512_input_s
356 {
357     uint64_t p; /**< RSA parameter, prime, &nbsp;2 &lt; p &lt; 2^256 (4 qwords)*/
358     uint64_t q; /**< RSA parameter, prime, &nbsp;2 &lt; q &lt; 2^256 (4 qwords)*/
359     uint64_t e; /**< RSA public key, must be odd, &ge; 3 and &le; (p*q)-1, &nbsp;with GCD(e, p-1, q-1) = 1 (8 qwords)*/
360 } icp_qat_fw_mmp_rsa_kp1_512_input_t;
361 
362 
363 
364 /**
365  * @ingroup icp_qat_fw_mmp
366  * @brief
367  *    Input parameter list for RSA 512 key generation second form ,
368  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_KP2_512.
369  */
370 typedef struct icp_qat_fw_mmp_rsa_kp2_512_input_s
371 {
372     uint64_t p; /**< RSA parameter, prime, &nbsp;2^255 &lt; p &lt; 2^256 (4 qwords)*/
373     uint64_t q; /**< RSA parameter, prime, &nbsp;2^255 &lt; q &lt; 2^256 (4 qwords)*/
374     uint64_t e; /**< RSA public key, must be odd, &ge; 3 and &le; (p*q)-1, &nbsp;with GCD(e, p-1, q-1) = 1 (8 qwords)*/
375 } icp_qat_fw_mmp_rsa_kp2_512_input_t;
376 
377 
378 
379 /**
380  * @ingroup icp_qat_fw_mmp
381  * @brief
382  *    Input parameter list for RSA 512 Encryption ,
383  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_EP_512.
384  */
385 typedef struct icp_qat_fw_mmp_rsa_ep_512_input_s
386 {
387     uint64_t m; /**< message representative, &lt; n (8 qwords)*/
388     uint64_t e; /**< RSA public key, &ge; 3 and &le; n-1 (8 qwords)*/
389     uint64_t n; /**< RSA key, &gt; 0 and &lt; 2^256 (8 qwords)*/
390 } icp_qat_fw_mmp_rsa_ep_512_input_t;
391 
392 
393 
394 /**
395  * @ingroup icp_qat_fw_mmp
396  * @brief
397  *    Input parameter list for RSA 512 Decryption ,
398  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_DP1_512.
399  */
400 typedef struct icp_qat_fw_mmp_rsa_dp1_512_input_s
401 {
402     uint64_t c; /**< cipher text representative, &lt; n (8 qwords)*/
403     uint64_t d; /**< RSA private key (RSADP first form) (8 qwords)*/
404     uint64_t n; /**< RSA key &gt; 0 and &lt; 2^256 (8 qwords)*/
405 } icp_qat_fw_mmp_rsa_dp1_512_input_t;
406 
407 
408 
409 /**
410  * @ingroup icp_qat_fw_mmp
411  * @brief
412  *    Input parameter list for RSA 1024 Decryption with CRT ,
413  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_DP2_512.
414  */
415 typedef struct icp_qat_fw_mmp_rsa_dp2_512_input_s
416 {
417     uint64_t c; /**< cipher text representative, &lt; (p*q) (8 qwords)*/
418     uint64_t p; /**< RSA parameter, prime, &nbsp;2^255 &lt; p &lt; 2^256 (4 qwords)*/
419     uint64_t q; /**< RSA parameter, prime, &nbsp;2^255 &lt; q &lt; 2^256 (4 qwords)*/
420     uint64_t dp; /**< RSA private key, 0 &lt; dp &lt; p-1 (4 qwords)*/
421     uint64_t dq; /**< RSA private key 0 &lt; dq &lt; q-1 (4 qwords)*/
422     uint64_t qinv; /**< RSA private key 0 &lt; qInv &lt; p (4 qwords)*/
423 } icp_qat_fw_mmp_rsa_dp2_512_input_t;
424 
425 
426 
427 /**
428  * @ingroup icp_qat_fw_mmp
429  * @brief
430  *    Input parameter list for RSA 1024 key generation first form ,
431  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_KP1_1024.
432  */
433 typedef struct icp_qat_fw_mmp_rsa_kp1_1024_input_s
434 {
435     uint64_t p; /**< RSA parameter, prime, &nbsp;2 &lt; p &lt; 2^512 (8 qwords)*/
436     uint64_t q; /**< RSA parameter, prime, &nbsp;2 &lt; q &lt; 2^512 (8 qwords)*/
437     uint64_t e; /**< RSA public key, must be odd, &ge; 3 and &le; (p*q)-1, &nbsp;with GCD(e, p-1, q-1) = 1 (16 qwords)*/
438 } icp_qat_fw_mmp_rsa_kp1_1024_input_t;
439 
440 
441 
442 /**
443  * @ingroup icp_qat_fw_mmp
444  * @brief
445  *    Input parameter list for RSA 1024 key generation second form ,
446  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_KP2_1024.
447  */
448 typedef struct icp_qat_fw_mmp_rsa_kp2_1024_input_s
449 {
450     uint64_t p; /**< RSA parameter, prime, &nbsp;2^511 &lt; p &lt; 2^512 (8 qwords)*/
451     uint64_t q; /**< RSA parameter, prime, &nbsp;2^511 &lt; q &lt; 2^512 (8 qwords)*/
452     uint64_t e; /**< RSA public key, must be odd, &ge; 3 and &le; (p*q)-1, &nbsp;with GCD(e, p-1, q-1) = 1 (16 qwords)*/
453 } icp_qat_fw_mmp_rsa_kp2_1024_input_t;
454 
455 
456 
457 /**
458  * @ingroup icp_qat_fw_mmp
459  * @brief
460  *    Input parameter list for RSA 1024 Encryption ,
461  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_EP_1024.
462  */
463 typedef struct icp_qat_fw_mmp_rsa_ep_1024_input_s
464 {
465     uint64_t m; /**< message representative, &lt; n (16 qwords)*/
466     uint64_t e; /**< RSA public key, &ge; 3 and &le; n-1 (16 qwords)*/
467     uint64_t n; /**< RSA key, &gt; 0 and &lt; 2^1024 (16 qwords)*/
468 } icp_qat_fw_mmp_rsa_ep_1024_input_t;
469 
470 
471 
472 /**
473  * @ingroup icp_qat_fw_mmp
474  * @brief
475  *    Input parameter list for RSA 1024 Decryption ,
476  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_DP1_1024.
477  */
478 typedef struct icp_qat_fw_mmp_rsa_dp1_1024_input_s
479 {
480     uint64_t c; /**< cipher text representative, &lt; n (16 qwords)*/
481     uint64_t d; /**< RSA private key (RSADP first form) (16 qwords)*/
482     uint64_t n; /**< RSA key &gt; 0 and &lt; 2^1024 (16 qwords)*/
483 } icp_qat_fw_mmp_rsa_dp1_1024_input_t;
484 
485 
486 
487 /**
488  * @ingroup icp_qat_fw_mmp
489  * @brief
490  *    Input parameter list for RSA 1024 Decryption with CRT ,
491  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_DP2_1024.
492  */
493 typedef struct icp_qat_fw_mmp_rsa_dp2_1024_input_s
494 {
495     uint64_t c; /**< cipher text representative, &lt; (p*q) (16 qwords)*/
496     uint64_t p; /**< RSA parameter, prime, &nbsp;2^511 &lt; p &lt; 2^512 (8 qwords)*/
497     uint64_t q; /**< RSA parameter, prime, &nbsp;2^511 &lt; q &lt; 2^512 (8 qwords)*/
498     uint64_t dp; /**< RSA private key, 0 &lt; dp &lt; p-1 (8 qwords)*/
499     uint64_t dq; /**< RSA private key 0 &lt; dq &lt; q-1 (8 qwords)*/
500     uint64_t qinv; /**< RSA private key 0 &lt; qInv &lt; p (8 qwords)*/
501 } icp_qat_fw_mmp_rsa_dp2_1024_input_t;
502 
503 
504 
505 /**
506  * @ingroup icp_qat_fw_mmp
507  * @brief
508  *    Input parameter list for RSA 1536 key generation first form ,
509  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_KP1_1536.
510  */
511 typedef struct icp_qat_fw_mmp_rsa_kp1_1536_input_s
512 {
513     uint64_t p; /**< RSA parameter, prime, &nbsp;2 &lt; p &lt; 2^768 (12 qwords)*/
514     uint64_t q; /**< RSA parameter, prime, &nbsp;2 &lt; q &lt; 2^768 (12 qwords)*/
515     uint64_t e; /**< RSA public key, must be odd, &ge; 3 and &le; (p*q)-1, &nbsp;with GCD(e, p-1, q-1) = 1 (24 qwords)*/
516 } icp_qat_fw_mmp_rsa_kp1_1536_input_t;
517 
518 
519 
520 /**
521  * @ingroup icp_qat_fw_mmp
522  * @brief
523  *    Input parameter list for RSA 1536 key generation second form ,
524  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_KP2_1536.
525  */
526 typedef struct icp_qat_fw_mmp_rsa_kp2_1536_input_s
527 {
528     uint64_t p; /**< RSA parameter, prime, &nbsp;2^767 &lt; p &lt; 2^768 (12 qwords)*/
529     uint64_t q; /**< RSA parameter, prime, &nbsp;2^767 &lt; q &lt; 2^768 (12 qwords)*/
530     uint64_t e; /**< RSA public key, must be odd, &ge; 3 and &le; (p*q)-1, &nbsp;with GCD(e, p-1, q-1) = 1 (24 qwords)*/
531 } icp_qat_fw_mmp_rsa_kp2_1536_input_t;
532 
533 
534 
535 /**
536  * @ingroup icp_qat_fw_mmp
537  * @brief
538  *    Input parameter list for RSA 1536 Encryption ,
539  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_EP_1536.
540  */
541 typedef struct icp_qat_fw_mmp_rsa_ep_1536_input_s
542 {
543     uint64_t m; /**< message representative, &lt; n (24 qwords)*/
544     uint64_t e; /**< RSA public key, &ge; 3 and &le; (p*q)-1 (24 qwords)*/
545     uint64_t n; /**< RSA key &gt; 0 and &lt; 2^1536 (24 qwords)*/
546 } icp_qat_fw_mmp_rsa_ep_1536_input_t;
547 
548 
549 
550 /**
551  * @ingroup icp_qat_fw_mmp
552  * @brief
553  *    Input parameter list for RSA 1536 Decryption ,
554  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_DP1_1536.
555  */
556 typedef struct icp_qat_fw_mmp_rsa_dp1_1536_input_s
557 {
558     uint64_t c; /**< cipher text representative, &lt; n (24 qwords)*/
559     uint64_t d; /**< RSA private key (24 qwords)*/
560     uint64_t n; /**< RSA key, &gt; 0 and &lt; 2^1536 (24 qwords)*/
561 } icp_qat_fw_mmp_rsa_dp1_1536_input_t;
562 
563 
564 
565 /**
566  * @ingroup icp_qat_fw_mmp
567  * @brief
568  *    Input parameter list for RSA 1536 Decryption with CRT ,
569  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_DP2_1536.
570  */
571 typedef struct icp_qat_fw_mmp_rsa_dp2_1536_input_s
572 {
573     uint64_t c; /**< cipher text representative, &lt; (p*q) (24 qwords)*/
574     uint64_t p; /**< RSA parameter, prime, &nbsp;2^767 &lt; p &lt; 2^768 (12 qwords)*/
575     uint64_t q; /**< RSA parameter, prime, &nbsp;2^767 &lt; p &lt; 2^768 (12 qwords)*/
576     uint64_t dp; /**< RSA private key, 0 &lt; dp &lt; p-1 (12 qwords)*/
577     uint64_t dq; /**< RSA private key, 0 &lt; dq &lt; q-1 (12 qwords)*/
578     uint64_t qinv; /**< RSA private key, 0 &lt; qInv &lt; p (12 qwords)*/
579 } icp_qat_fw_mmp_rsa_dp2_1536_input_t;
580 
581 
582 
583 /**
584  * @ingroup icp_qat_fw_mmp
585  * @brief
586  *    Input parameter list for RSA 2048 key generation first form ,
587  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_KP1_2048.
588  */
589 typedef struct icp_qat_fw_mmp_rsa_kp1_2048_input_s
590 {
591     uint64_t p; /**< RSA parameter, prime, &nbsp;2 &lt; p &lt; 2^1024 (16 qwords)*/
592     uint64_t q; /**< RSA parameter, prime, &nbsp;2 &lt; q &lt; 2^1024 (16 qwords)*/
593     uint64_t e; /**< RSA public key, must be odd, &ge; 3 and &le; (p*q)-1, &nbsp;with GCD(e, p-1, q-1) = 1 (32 qwords)*/
594 } icp_qat_fw_mmp_rsa_kp1_2048_input_t;
595 
596 
597 
598 /**
599  * @ingroup icp_qat_fw_mmp
600  * @brief
601  *    Input parameter list for RSA 2048 key generation second form ,
602  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_KP2_2048.
603  */
604 typedef struct icp_qat_fw_mmp_rsa_kp2_2048_input_s
605 {
606     uint64_t p; /**< RSA parameter, prime, &nbsp;2^1023 &lt; p &lt; 2^1024 (16 qwords)*/
607     uint64_t q; /**< RSA parameter, prime, &nbsp;2^1023 &lt; q &lt; 2^1024 (16 qwords)*/
608     uint64_t e; /**< RSA public key, must be odd, &ge; 3 and &le; (p*q)-1, &nbsp;with GCD(e, p-1, q-1) = 1 (32 qwords)*/
609 } icp_qat_fw_mmp_rsa_kp2_2048_input_t;
610 
611 
612 
613 /**
614  * @ingroup icp_qat_fw_mmp
615  * @brief
616  *    Input parameter list for RSA 2048 Encryption ,
617  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_EP_2048.
618  */
619 typedef struct icp_qat_fw_mmp_rsa_ep_2048_input_s
620 {
621     uint64_t m; /**< message representative, &lt; n (32 qwords)*/
622     uint64_t e; /**< RSA public key, &ge; 3 and &le; n-1 (32 qwords)*/
623     uint64_t n; /**< RSA key &gt; 0 and &lt; 2^2048 (32 qwords)*/
624 } icp_qat_fw_mmp_rsa_ep_2048_input_t;
625 
626 
627 
628 /**
629  * @ingroup icp_qat_fw_mmp
630  * @brief
631  *    Input parameter list for RSA 2048 Decryption ,
632  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_DP1_2048.
633  */
634 typedef struct icp_qat_fw_mmp_rsa_dp1_2048_input_s
635 {
636     uint64_t c; /**< cipher text representative, &lt; n (32 qwords)*/
637     uint64_t d; /**< RSA private key (32 qwords)*/
638     uint64_t n; /**< RSA key &gt; 0 and &lt; 2^2048 (32 qwords)*/
639 } icp_qat_fw_mmp_rsa_dp1_2048_input_t;
640 
641 
642 
643 /**
644  * @ingroup icp_qat_fw_mmp
645  * @brief
646  *    Input parameter list for RSA 2048 Decryption with CRT ,
647  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_DP2_2048.
648  */
649 typedef struct icp_qat_fw_mmp_rsa_dp2_2048_input_s
650 {
651     uint64_t c; /**< cipher text representative, &lt; (p*q) (32 qwords)*/
652     uint64_t p; /**< RSA parameter, prime, &nbsp;2^1023 &lt; p &lt; 2^1024 (16 qwords)*/
653     uint64_t q; /**< RSA parameter, prime, &nbsp;2^1023 &lt; q &lt; 2^1024 (16 qwords)*/
654     uint64_t dp; /**< RSA private key, 0 &lt; dp &lt; p-1 (16 qwords)*/
655     uint64_t dq; /**< RSA private key, 0 &lt; dq &lt; q-1 (16 qwords)*/
656     uint64_t qinv; /**< RSA private key, 0 &lt; qInv &lt; p (16 qwords)*/
657 } icp_qat_fw_mmp_rsa_dp2_2048_input_t;
658 
659 
660 
661 /**
662  * @ingroup icp_qat_fw_mmp
663  * @brief
664  *    Input parameter list for RSA 3072 key generation first form ,
665  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_KP1_3072.
666  */
667 typedef struct icp_qat_fw_mmp_rsa_kp1_3072_input_s
668 {
669     uint64_t p; /**< RSA parameter, prime, &nbsp;2 &lt; p &lt; 2^1536 (24 qwords)*/
670     uint64_t q; /**< RSA parameter, prime, &nbsp;2 &lt; q &lt; 2^1536 (24 qwords)*/
671     uint64_t e; /**< RSA public key, must be odd, &ge; 3 and &le; (p*q)-1, &nbsp;with GCD(e, p-1, q-1) = 1 (48 qwords)*/
672 } icp_qat_fw_mmp_rsa_kp1_3072_input_t;
673 
674 
675 
676 /**
677  * @ingroup icp_qat_fw_mmp
678  * @brief
679  *    Input parameter list for RSA 3072 key generation second form ,
680  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_KP2_3072.
681  */
682 typedef struct icp_qat_fw_mmp_rsa_kp2_3072_input_s
683 {
684     uint64_t p; /**< RSA parameter, prime, &nbsp;2^1535 &lt; p &lt; 2^1536 (24 qwords)*/
685     uint64_t q; /**< RSA parameter, prime, &nbsp;2^1535 &lt; q &lt; 2^1536 (24 qwords)*/
686     uint64_t e; /**< RSA public key, must be odd, &ge; 3 and &le; (p*q)-1, &nbsp;with GCD(e, p-1, q-1) = 1 (48 qwords)*/
687 } icp_qat_fw_mmp_rsa_kp2_3072_input_t;
688 
689 
690 
691 /**
692  * @ingroup icp_qat_fw_mmp
693  * @brief
694  *    Input parameter list for RSA 3072 Encryption ,
695  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_EP_3072.
696  */
697 typedef struct icp_qat_fw_mmp_rsa_ep_3072_input_s
698 {
699     uint64_t m; /**< message representative, &lt; n (48 qwords)*/
700     uint64_t e; /**< RSA public key, &ge; 3 and &le; n-1 (48 qwords)*/
701     uint64_t n; /**< RSA key &gt; 0 and &lt; 2^3072 (48 qwords)*/
702 } icp_qat_fw_mmp_rsa_ep_3072_input_t;
703 
704 
705 
706 /**
707  * @ingroup icp_qat_fw_mmp
708  * @brief
709  *    Input parameter list for RSA 3072 Decryption ,
710  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_DP1_3072.
711  */
712 typedef struct icp_qat_fw_mmp_rsa_dp1_3072_input_s
713 {
714     uint64_t c; /**< cipher text representative, &lt; n (48 qwords)*/
715     uint64_t d; /**< RSA private key (48 qwords)*/
716     uint64_t n; /**< RSA key &gt; 0 and &lt; 2^3072 (48 qwords)*/
717 } icp_qat_fw_mmp_rsa_dp1_3072_input_t;
718 
719 
720 
721 /**
722  * @ingroup icp_qat_fw_mmp
723  * @brief
724  *    Input parameter list for RSA 3072 Decryption with CRT ,
725  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_DP2_3072.
726  */
727 typedef struct icp_qat_fw_mmp_rsa_dp2_3072_input_s
728 {
729     uint64_t c; /**< cipher text representative, &lt; (p*q) (48 qwords)*/
730     uint64_t p; /**< RSA parameter, prime, &nbsp;2^1535 &lt; p &lt; 2^1536 (24 qwords)*/
731     uint64_t q; /**< RSA parameter, prime, &nbsp;2^1535 &lt; q &lt; 2^1536 (24 qwords)*/
732     uint64_t dp; /**< RSA private key, 0 &lt; dp &lt; p-1 (24 qwords)*/
733     uint64_t dq; /**< RSA private key, 0 &lt; dq &lt; q-1 (24 qwords)*/
734     uint64_t qinv; /**< RSA private key, 0 &lt; qInv &lt; p (24 qwords)*/
735 } icp_qat_fw_mmp_rsa_dp2_3072_input_t;
736 
737 
738 
739 /**
740  * @ingroup icp_qat_fw_mmp
741  * @brief
742  *    Input parameter list for RSA 4096 key generation first form ,
743  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_KP1_4096.
744  */
745 typedef struct icp_qat_fw_mmp_rsa_kp1_4096_input_s
746 {
747     uint64_t p; /**< RSA parameter, prime, &nbsp;2 &lt; p &lt; 2^2048 (32 qwords)*/
748     uint64_t q; /**< RSA parameter, prime, &nbsp;2 &lt; q &lt; 2^2048 (32 qwords)*/
749     uint64_t e; /**< RSA public key, must be odd, &ge; 3 and &le; (p*q)-1, &nbsp;with GCD(e, p-1, q-1) = 1 (64 qwords)*/
750 } icp_qat_fw_mmp_rsa_kp1_4096_input_t;
751 
752 
753 
754 /**
755  * @ingroup icp_qat_fw_mmp
756  * @brief
757  *    Input parameter list for RSA 4096 key generation second form ,
758  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_KP2_4096.
759  */
760 typedef struct icp_qat_fw_mmp_rsa_kp2_4096_input_s
761 {
762     uint64_t p; /**< RSA parameter, prime, &nbsp;2^2047 &lt; p &lt; 2^2048 (32 qwords)*/
763     uint64_t q; /**< RSA parameter, prime, &nbsp;2^2047 &lt; q &lt; 2^2048 (32 qwords)*/
764     uint64_t e; /**< RSA public key, must be odd, &ge; 3 and &le; (p*q)-1, &nbsp;with GCD(e, p-1, q-1) = 1 (64 qwords)*/
765 } icp_qat_fw_mmp_rsa_kp2_4096_input_t;
766 
767 
768 
769 /**
770  * @ingroup icp_qat_fw_mmp
771  * @brief
772  *    Input parameter list for RSA 4096 Encryption ,
773  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_EP_4096.
774  */
775 typedef struct icp_qat_fw_mmp_rsa_ep_4096_input_s
776 {
777     uint64_t m; /**< message representative, &lt; n (64 qwords)*/
778     uint64_t e; /**< RSA public key, &ge; 3 and &le; n-1 (64 qwords)*/
779     uint64_t n; /**< RSA key, &gt; 0 and &lt; 2^4096 (64 qwords)*/
780 } icp_qat_fw_mmp_rsa_ep_4096_input_t;
781 
782 
783 
784 /**
785  * @ingroup icp_qat_fw_mmp
786  * @brief
787  *    Input parameter list for RSA 4096 Decryption ,
788  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_DP1_4096.
789  */
790 typedef struct icp_qat_fw_mmp_rsa_dp1_4096_input_s
791 {
792     uint64_t c; /**< cipher text representative, &lt; n (64 qwords)*/
793     uint64_t d; /**< RSA private key (64 qwords)*/
794     uint64_t n; /**< RSA key, &gt; 0 and &lt; 2^4096 (64 qwords)*/
795 } icp_qat_fw_mmp_rsa_dp1_4096_input_t;
796 
797 
798 
799 /**
800  * @ingroup icp_qat_fw_mmp
801  * @brief
802  *    Input parameter list for RSA 4096 Decryption with CRT ,
803  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_RSA_DP2_4096.
804  */
805 typedef struct icp_qat_fw_mmp_rsa_dp2_4096_input_s
806 {
807     uint64_t c; /**< cipher text representative, &lt; (p*q) (64 qwords)*/
808     uint64_t p; /**< RSA parameter, prime, &nbsp;2^2047 &lt; p &lt; 2^2048 (32 qwords)*/
809     uint64_t q; /**< RSA parameter, prime, &nbsp;2^2047 &lt; q &lt; 2^2048 (32 qwords)*/
810     uint64_t dp; /**< RSA private key, 0 &lt; dp &lt; p-1 (32 qwords)*/
811     uint64_t dq; /**< RSA private key, 0 &lt; dq &lt; q-1 (32 qwords)*/
812     uint64_t qinv; /**< RSA private key, 0 &lt; qInv &lt; p (32 qwords)*/
813 } icp_qat_fw_mmp_rsa_dp2_4096_input_t;
814 
815 /**
816  * @ingroup icp_qat_fw_mmp
817  * @brief
818  *    Input parameter list for RSA 8192 Encryption ,
819  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
820  * #PKE_RSA_EP_8192.
821  */
822 typedef struct icp_qat_fw_mmp_rsa_ep_8192_input_s
823 {
824     uint64_t m; /**< message representative, &lt; n (128 qwords)*/
825     uint64_t e; /**< RSA public key, &ge; 3 and &le; n-1 (128 qwords)*/
826     uint64_t n; /**< RSA key, &gt; 0 and &lt; 2^8192 (128 qwords)*/
827 } icp_qat_fw_mmp_rsa_ep_8192_input_t;
828 
829 /**
830  * @ingroup icp_qat_fw_mmp
831  * @brief
832  *    Input parameter list for RSA 8192 Decryption ,
833  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
834  * #PKE_RSA_DP1_8192.
835  */
836 typedef struct icp_qat_fw_mmp_rsa_dp1_8192_input_s
837 {
838     uint64_t c; /**< cipher text representative, &lt; n (128 qwords)*/
839     uint64_t d; /**< RSA private key (128 qwords)*/
840     uint64_t n; /**< RSA key, &gt; 0 and &lt; 2^8192 (128 qwords)*/
841 } icp_qat_fw_mmp_rsa_dp1_8192_input_t;
842 
843 /**
844  * @ingroup icp_qat_fw_mmp
845  * @brief
846  *    Input parameter list for RSA 8192 Decryption with CRT ,
847  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
848  * #PKE_RSA_DP2_8192.
849  */
850 typedef struct icp_qat_fw_mmp_rsa_dp2_8192_input_s
851 {
852     uint64_t c;  /**< cipher text representative, &lt; (p*q) (128 qwords)*/
853     uint64_t p;  /**< RSA parameter, prime, &nbsp;2^4095 &lt; p &lt; 2^4096 (64
854                     qwords)*/
855     uint64_t q;  /**< RSA parameter, prime, &nbsp;2^4095 &lt; q &lt; 2^4096 (64
856                     qwords)*/
857     uint64_t dp; /**< RSA private key, 0 &lt; dp &lt; p-1 (64 qwords)*/
858     uint64_t dq; /**< RSA private key, 0 &lt; dq &lt; q-1 (64 qwords)*/
859     uint64_t qinv; /**< RSA private key, 0 &lt; qInv &lt; p (64 qwords)*/
860 } icp_qat_fw_mmp_rsa_dp2_8192_input_t;
861 
862 /**
863  * @ingroup icp_qat_fw_mmp
864  * @brief
865  *    Input parameter list for GCD primality test for 192-bit numbers ,
866  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_GCD_PT_192.
867  */
868 typedef struct icp_qat_fw_mmp_gcd_pt_192_input_s
869 {
870     uint64_t m; /**< prime candidate &gt; 1 and &lt; 2^192 (3 qwords)*/
871 } icp_qat_fw_mmp_gcd_pt_192_input_t;
872 
873 
874 
875 /**
876  * @ingroup icp_qat_fw_mmp
877  * @brief
878  *    Input parameter list for GCD primality test for 256-bit numbers ,
879  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_GCD_PT_256.
880  */
881 typedef struct icp_qat_fw_mmp_gcd_pt_256_input_s
882 {
883     uint64_t m; /**< prime candidate &gt; 1 and &lt; 2^256 (4 qwords)*/
884 } icp_qat_fw_mmp_gcd_pt_256_input_t;
885 
886 
887 
888 /**
889  * @ingroup icp_qat_fw_mmp
890  * @brief
891  *    Input parameter list for GCD primality test for 384-bit numbers ,
892  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_GCD_PT_384.
893  */
894 typedef struct icp_qat_fw_mmp_gcd_pt_384_input_s
895 {
896     uint64_t m; /**< prime candidate &gt; 1 and &lt; 2^384 (6 qwords)*/
897 } icp_qat_fw_mmp_gcd_pt_384_input_t;
898 
899 
900 
901 /**
902  * @ingroup icp_qat_fw_mmp
903  * @brief
904  *    Input parameter list for GCD primality test for 512-bit numbers ,
905  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_GCD_PT_512.
906  */
907 typedef struct icp_qat_fw_mmp_gcd_pt_512_input_s
908 {
909     uint64_t m; /**< prime candidate &gt; 1 and &lt; 2^512 (8 qwords)*/
910 } icp_qat_fw_mmp_gcd_pt_512_input_t;
911 
912 
913 
914 /**
915  * @ingroup icp_qat_fw_mmp
916  * @brief
917  *    Input parameter list for GCD primality test for 768-bit numbers ,
918  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_GCD_PT_768.
919  */
920 typedef struct icp_qat_fw_mmp_gcd_pt_768_input_s
921 {
922     uint64_t m; /**< prime candidate &gt; 1 and &lt; 2^768 (12 qwords)*/
923 } icp_qat_fw_mmp_gcd_pt_768_input_t;
924 
925 
926 
927 /**
928  * @ingroup icp_qat_fw_mmp
929  * @brief
930  *    Input parameter list for GCD primality test for 1024-bit numbers ,
931  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_GCD_PT_1024.
932  */
933 typedef struct icp_qat_fw_mmp_gcd_pt_1024_input_s
934 {
935     uint64_t m; /**< prime candidate &gt; 1 and &lt; 2^1024 (16 qwords)*/
936 } icp_qat_fw_mmp_gcd_pt_1024_input_t;
937 
938 
939 
940 /**
941  * @ingroup icp_qat_fw_mmp
942  * @brief
943  *    Input parameter list for GCD primality test for 1536-bit numbers ,
944  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_GCD_PT_1536.
945  */
946 typedef struct icp_qat_fw_mmp_gcd_pt_1536_input_s
947 {
948     uint64_t m; /**<  (24 qwords)*/
949 } icp_qat_fw_mmp_gcd_pt_1536_input_t;
950 
951 
952 
953 /**
954  * @ingroup icp_qat_fw_mmp
955  * @brief
956  *    Input parameter list for GCD primality test for 2048-bit numbers ,
957  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_GCD_PT_2048.
958  */
959 typedef struct icp_qat_fw_mmp_gcd_pt_2048_input_s
960 {
961     uint64_t m; /**< prime candidate &gt; 1 and &lt; 2^2048 (32 qwords)*/
962 } icp_qat_fw_mmp_gcd_pt_2048_input_t;
963 
964 
965 
966 /**
967  * @ingroup icp_qat_fw_mmp
968  * @brief
969  *    Input parameter list for GCD primality test for 3072-bit numbers ,
970  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_GCD_PT_3072.
971  */
972 typedef struct icp_qat_fw_mmp_gcd_pt_3072_input_s
973 {
974     uint64_t m; /**< prime candidate &gt; 1 and &lt; 2^3072 (48 qwords)*/
975 } icp_qat_fw_mmp_gcd_pt_3072_input_t;
976 
977 
978 
979 /**
980  * @ingroup icp_qat_fw_mmp
981  * @brief
982  *    Input parameter list for GCD primality test for 4096-bit numbers ,
983  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_GCD_PT_4096.
984  */
985 typedef struct icp_qat_fw_mmp_gcd_pt_4096_input_s
986 {
987     uint64_t m; /**< prime candidate &gt; 1 and &lt; 2^4096 (64 qwords)*/
988 } icp_qat_fw_mmp_gcd_pt_4096_input_t;
989 
990 
991 
992 /**
993  * @ingroup icp_qat_fw_mmp
994  * @brief
995  *    Input parameter list for Fermat primality test for 160-bit numbers ,
996  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_FERMAT_PT_160.
997  */
998 typedef struct icp_qat_fw_mmp_fermat_pt_160_input_s
999 {
1000     uint64_t m; /**< prime candidate, 2^159 &lt; m &lt; 2^160 (3 qwords)*/
1001 } icp_qat_fw_mmp_fermat_pt_160_input_t;
1002 
1003 
1004 
1005 /**
1006  * @ingroup icp_qat_fw_mmp
1007  * @brief
1008  *    Input parameter list for Fermat primality test for 512-bit numbers ,
1009  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_FERMAT_PT_512.
1010  */
1011 typedef struct icp_qat_fw_mmp_fermat_pt_512_input_s
1012 {
1013     uint64_t m; /**< prime candidate, 2^511 &lt; m &lt; 2^512 (8 qwords)*/
1014 } icp_qat_fw_mmp_fermat_pt_512_input_t;
1015 
1016 
1017 
1018 /**
1019  * @ingroup icp_qat_fw_mmp
1020  * @brief
1021  *    Input parameter list for Fermat primality test for &lte; 512-bit numbers ,
1022  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_FERMAT_PT_L512.
1023  */
1024 typedef struct icp_qat_fw_mmp_fermat_pt_l512_input_s
1025 {
1026     uint64_t m; /**< prime candidate, 5 &lt; m &lt; 2^512 (8 qwords)*/
1027 } icp_qat_fw_mmp_fermat_pt_l512_input_t;
1028 
1029 
1030 
1031 /**
1032  * @ingroup icp_qat_fw_mmp
1033  * @brief
1034  *    Input parameter list for Fermat primality test for 768-bit numbers ,
1035  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_FERMAT_PT_768.
1036  */
1037 typedef struct icp_qat_fw_mmp_fermat_pt_768_input_s
1038 {
1039     uint64_t m; /**< prime candidate, 2^767 &lt; m &lt; 2^768 (12 qwords)*/
1040 } icp_qat_fw_mmp_fermat_pt_768_input_t;
1041 
1042 
1043 
1044 /**
1045  * @ingroup icp_qat_fw_mmp
1046  * @brief
1047  *    Input parameter list for Fermat primality test for 1024-bit numbers ,
1048  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_FERMAT_PT_1024.
1049  */
1050 typedef struct icp_qat_fw_mmp_fermat_pt_1024_input_s
1051 {
1052     uint64_t m; /**< prime candidate, 2^1023 &lt; m &lt; 2^1024 (16 qwords)*/
1053 } icp_qat_fw_mmp_fermat_pt_1024_input_t;
1054 
1055 
1056 
1057 /**
1058  * @ingroup icp_qat_fw_mmp
1059  * @brief
1060  *    Input parameter list for Fermat primality test for 1536-bit numbers ,
1061  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_FERMAT_PT_1536.
1062  */
1063 typedef struct icp_qat_fw_mmp_fermat_pt_1536_input_s
1064 {
1065     uint64_t m; /**< prime candidate, 2^1535 &lt; m &lt; 2^1536 (24 qwords)*/
1066 } icp_qat_fw_mmp_fermat_pt_1536_input_t;
1067 
1068 
1069 
1070 /**
1071  * @ingroup icp_qat_fw_mmp
1072  * @brief
1073  *    Input parameter list for Fermat primality test for 2048-bit numbers ,
1074  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_FERMAT_PT_2048.
1075  */
1076 typedef struct icp_qat_fw_mmp_fermat_pt_2048_input_s
1077 {
1078     uint64_t m; /**< prime candidate, 2^2047 &lt; m &lt; 2^2048 (32 qwords)*/
1079 } icp_qat_fw_mmp_fermat_pt_2048_input_t;
1080 
1081 
1082 
1083 /**
1084  * @ingroup icp_qat_fw_mmp
1085  * @brief
1086  *    Input parameter list for Fermat primality test for 3072-bit numbers ,
1087  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_FERMAT_PT_3072.
1088  */
1089 typedef struct icp_qat_fw_mmp_fermat_pt_3072_input_s
1090 {
1091     uint64_t m; /**< prime candidate, 2^3071 &lt; m &lt; 2^3072 (48 qwords)*/
1092 } icp_qat_fw_mmp_fermat_pt_3072_input_t;
1093 
1094 
1095 
1096 /**
1097  * @ingroup icp_qat_fw_mmp
1098  * @brief
1099  *    Input parameter list for Fermat primality test for 4096-bit numbers ,
1100  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_FERMAT_PT_4096.
1101  */
1102 typedef struct icp_qat_fw_mmp_fermat_pt_4096_input_s
1103 {
1104     uint64_t m; /**< prime candidate, 2^4095 &lt; m &lt; 2^4096 (64 qwords)*/
1105 } icp_qat_fw_mmp_fermat_pt_4096_input_t;
1106 
1107 
1108 
1109 /**
1110  * @ingroup icp_qat_fw_mmp
1111  * @brief
1112  *    Input parameter list for Miller-Rabin primality test for 160-bit numbers ,
1113  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_MR_PT_160.
1114  */
1115 typedef struct icp_qat_fw_mmp_mr_pt_160_input_s
1116 {
1117     uint64_t x; /**< randomness  &gt; 1 and &lt; m-1 (3 qwords)*/
1118     uint64_t m; /**< prime candidate &gt; 2^159 and &lt; 2^160 (3 qwords)*/
1119 } icp_qat_fw_mmp_mr_pt_160_input_t;
1120 
1121 
1122 
1123 /**
1124  * @ingroup icp_qat_fw_mmp
1125  * @brief
1126  *    Input parameter list for Miller-Rabin primality test for 512-bit numbers ,
1127  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_MR_PT_512.
1128  */
1129 typedef struct icp_qat_fw_mmp_mr_pt_512_input_s
1130 {
1131     uint64_t x; /**< randomness   &gt; 1 and &lt; m-1 (8 qwords)*/
1132     uint64_t m; /**< prime candidate  &gt; 2^511 and &lt; 2^512 (8 qwords)*/
1133 } icp_qat_fw_mmp_mr_pt_512_input_t;
1134 
1135 
1136 
1137 /**
1138  * @ingroup icp_qat_fw_mmp
1139  * @brief
1140  *    Input parameter list for Miller-Rabin primality test for 768-bit numbers ,
1141  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_MR_PT_768.
1142  */
1143 typedef struct icp_qat_fw_mmp_mr_pt_768_input_s
1144 {
1145     uint64_t x; /**< randomness  &gt; 1 and &lt; m-1 (12 qwords)*/
1146     uint64_t m; /**< prime candidate &gt; 2^767 and &lt; 2^768 (12 qwords)*/
1147 } icp_qat_fw_mmp_mr_pt_768_input_t;
1148 
1149 
1150 
1151 /**
1152  * @ingroup icp_qat_fw_mmp
1153  * @brief
1154  *    Input parameter list for Miller-Rabin primality test for 1024-bit numbers ,
1155  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_MR_PT_1024.
1156  */
1157 typedef struct icp_qat_fw_mmp_mr_pt_1024_input_s
1158 {
1159     uint64_t x; /**< randomness &gt; 1 and &lt; m-1 (16 qwords)*/
1160     uint64_t m; /**< prime candidate &gt; 2^1023 and &lt; 2^1024 (16 qwords)*/
1161 } icp_qat_fw_mmp_mr_pt_1024_input_t;
1162 
1163 
1164 
1165 /**
1166  * @ingroup icp_qat_fw_mmp
1167  * @brief
1168  *    Input parameter list for Miller-Rabin primality test for 1536-bit numbers ,
1169  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_MR_PT_1536.
1170  */
1171 typedef struct icp_qat_fw_mmp_mr_pt_1536_input_s
1172 {
1173     uint64_t x; /**< randomness &gt; 1 and &lt; m-1 (24 qwords)*/
1174     uint64_t m; /**< prime candidate &gt; 2^1535 and &lt; 2^1536 (24 qwords)*/
1175 } icp_qat_fw_mmp_mr_pt_1536_input_t;
1176 
1177 
1178 
1179 /**
1180  * @ingroup icp_qat_fw_mmp
1181  * @brief
1182  *    Input parameter list for Miller-Rabin primality test for 2048-bit numbers ,
1183  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_MR_PT_2048.
1184  */
1185 typedef struct icp_qat_fw_mmp_mr_pt_2048_input_s
1186 {
1187     uint64_t x; /**< randomness  &gt; 1 and &lt;m-1 (32 qwords)*/
1188     uint64_t m; /**< prime candidate  &gt; 2^2047 and &lt; 2^2048 (32 qwords)*/
1189 } icp_qat_fw_mmp_mr_pt_2048_input_t;
1190 
1191 
1192 
1193 /**
1194  * @ingroup icp_qat_fw_mmp
1195  * @brief
1196  *    Input parameter list for Miller-Rabin primality test for 3072-bit numbers ,
1197  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_MR_PT_3072.
1198  */
1199 typedef struct icp_qat_fw_mmp_mr_pt_3072_input_s
1200 {
1201     uint64_t x; /**< randomness  &gt; 1 and &lt; m-1 (48 qwords)*/
1202     uint64_t m; /**< prime candidate &gt; 2^3071 and &lt; 2^3072 (48 qwords)*/
1203 } icp_qat_fw_mmp_mr_pt_3072_input_t;
1204 
1205 
1206 
1207 /**
1208  * @ingroup icp_qat_fw_mmp
1209  * @brief
1210  *    Input parameter list for Miller-Rabin primality test for 4096-bit numbers ,
1211  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_MR_PT_4096.
1212  */
1213 typedef struct icp_qat_fw_mmp_mr_pt_4096_input_s
1214 {
1215     uint64_t x; /**< randomness  &gt; 1 and &lt; m-1 (64 qwords)*/
1216     uint64_t m; /**< prime candidate &gt; 2^4095 and &lt; 2^4096 (64 qwords)*/
1217 } icp_qat_fw_mmp_mr_pt_4096_input_t;
1218 
1219 
1220 
1221 /**
1222  * @ingroup icp_qat_fw_mmp
1223  * @brief
1224  *    Input parameter list for Miller-Rabin primality test for 512-bit numbers ,
1225  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_MR_PT_L512.
1226  */
1227 typedef struct icp_qat_fw_mmp_mr_pt_l512_input_s
1228 {
1229     uint64_t x; /**< randomness   &gt; 1 and &lt; m-1 (8 qwords)*/
1230     uint64_t m; /**< prime candidate  &gt; 1 and &lt; 2^512 (8 qwords)*/
1231 } icp_qat_fw_mmp_mr_pt_l512_input_t;
1232 
1233 
1234 
1235 /**
1236  * @ingroup icp_qat_fw_mmp
1237  * @brief
1238  *    Input parameter list for Lucas primality test for 160-bit numbers ,
1239  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_LUCAS_PT_160.
1240  */
1241 typedef struct icp_qat_fw_mmp_lucas_pt_160_input_s
1242 {
1243     uint64_t m; /**< odd prime candidate &gt; 2^159 and &lt; 2^160 (3 qwords)*/
1244 } icp_qat_fw_mmp_lucas_pt_160_input_t;
1245 
1246 
1247 
1248 /**
1249  * @ingroup icp_qat_fw_mmp
1250  * @brief
1251  *    Input parameter list for Lucas primality test for 512-bit numbers ,
1252  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_LUCAS_PT_512.
1253  */
1254 typedef struct icp_qat_fw_mmp_lucas_pt_512_input_s
1255 {
1256     uint64_t m; /**< odd prime candidate &gt; 2^511 and &lt; 2^512 (8 qwords)*/
1257 } icp_qat_fw_mmp_lucas_pt_512_input_t;
1258 
1259 
1260 
1261 /**
1262  * @ingroup icp_qat_fw_mmp
1263  * @brief
1264  *    Input parameter list for Lucas primality test for 768-bit numbers ,
1265  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_LUCAS_PT_768.
1266  */
1267 typedef struct icp_qat_fw_mmp_lucas_pt_768_input_s
1268 {
1269     uint64_t m; /**< odd prime candidate &gt; 2^767 and &lt; 2^768 (12 qwords)*/
1270 } icp_qat_fw_mmp_lucas_pt_768_input_t;
1271 
1272 
1273 
1274 /**
1275  * @ingroup icp_qat_fw_mmp
1276  * @brief
1277  *    Input parameter list for Lucas primality test for 1024-bit numbers ,
1278  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_LUCAS_PT_1024.
1279  */
1280 typedef struct icp_qat_fw_mmp_lucas_pt_1024_input_s
1281 {
1282     uint64_t m; /**< odd prime candidate &gt; 2^1023 and &lt; 2^1024 (16 qwords)*/
1283 } icp_qat_fw_mmp_lucas_pt_1024_input_t;
1284 
1285 
1286 
1287 /**
1288  * @ingroup icp_qat_fw_mmp
1289  * @brief
1290  *    Input parameter list for Lucas primality test for 1536-bit numbers ,
1291  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_LUCAS_PT_1536.
1292  */
1293 typedef struct icp_qat_fw_mmp_lucas_pt_1536_input_s
1294 {
1295     uint64_t m; /**< odd prime candidate &gt; 2^1535 and &lt; 2^1536 (24 qwords)*/
1296 } icp_qat_fw_mmp_lucas_pt_1536_input_t;
1297 
1298 
1299 
1300 /**
1301  * @ingroup icp_qat_fw_mmp
1302  * @brief
1303  *    Input parameter list for Lucas primality test for 2048-bit numbers ,
1304  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_LUCAS_PT_2048.
1305  */
1306 typedef struct icp_qat_fw_mmp_lucas_pt_2048_input_s
1307 {
1308     uint64_t m; /**< odd prime candidate &gt; 2^2047 and &lt; 2^2048 (32 qwords)*/
1309 } icp_qat_fw_mmp_lucas_pt_2048_input_t;
1310 
1311 
1312 
1313 /**
1314  * @ingroup icp_qat_fw_mmp
1315  * @brief
1316  *    Input parameter list for Lucas primality test for 3072-bit numbers ,
1317  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_LUCAS_PT_3072.
1318  */
1319 typedef struct icp_qat_fw_mmp_lucas_pt_3072_input_s
1320 {
1321     uint64_t m; /**< odd prime candidate &gt; 2^3071 and &lt; 2^3072 (48 qwords)*/
1322 } icp_qat_fw_mmp_lucas_pt_3072_input_t;
1323 
1324 
1325 
1326 /**
1327  * @ingroup icp_qat_fw_mmp
1328  * @brief
1329  *    Input parameter list for Lucas primality test for 4096-bit numbers ,
1330  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_LUCAS_PT_4096.
1331  */
1332 typedef struct icp_qat_fw_mmp_lucas_pt_4096_input_s
1333 {
1334     uint64_t m; /**< odd prime candidate &gt; 2^4096 and &lt; 2^4096 (64 qwords)*/
1335 } icp_qat_fw_mmp_lucas_pt_4096_input_t;
1336 
1337 
1338 
1339 /**
1340  * @ingroup icp_qat_fw_mmp
1341  * @brief
1342  *    Input parameter list for Lucas primality test for L512-bit numbers ,
1343  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_LUCAS_PT_L512.
1344  */
1345 typedef struct icp_qat_fw_mmp_lucas_pt_l512_input_s
1346 {
1347     uint64_t m; /**< odd prime candidate &gt; 5 and &lt; 2^512 (8 qwords)*/
1348 } icp_qat_fw_mmp_lucas_pt_l512_input_t;
1349 
1350 
1351 
1352 /**
1353  * @ingroup icp_qat_fw_mmp
1354  * @brief
1355  *    Input parameter list for Modular exponentiation for numbers less than 512-bits ,
1356  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODEXP_L512.
1357  */
1358 typedef struct icp_qat_fw_maths_modexp_l512_input_s
1359 {
1360     uint64_t g; /**< base &ge; 0 and &lt; 2^512 (8 qwords)*/
1361     uint64_t e; /**< exponent &ge; 0 and &lt; 2^512 (8 qwords)*/
1362     uint64_t m; /**< modulus   &gt; 0 and &lt; 2^512 (8 qwords)*/
1363 } icp_qat_fw_maths_modexp_l512_input_t;
1364 
1365 
1366 
1367 /**
1368  * @ingroup icp_qat_fw_mmp
1369  * @brief
1370  *    Input parameter list for Modular exponentiation for numbers less than 1024-bit ,
1371  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODEXP_L1024.
1372  */
1373 typedef struct icp_qat_fw_maths_modexp_l1024_input_s
1374 {
1375     uint64_t g; /**< base &ge; 0 and &lt; 2^1024 (16 qwords)*/
1376     uint64_t e; /**< exponent &ge; 0 and &lt; 2^1024 (16 qwords)*/
1377     uint64_t m; /**< modulus &gt; 0 and &lt; 2^1024 (16 qwords)*/
1378 } icp_qat_fw_maths_modexp_l1024_input_t;
1379 
1380 
1381 
1382 /**
1383  * @ingroup icp_qat_fw_mmp
1384  * @brief
1385  *    Input parameter list for Modular exponentiation for numbers less than 1536-bits ,
1386  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODEXP_L1536.
1387  */
1388 typedef struct icp_qat_fw_maths_modexp_l1536_input_s
1389 {
1390     uint64_t g; /**< base &ge; 0 and &lt; 2^1536 (24 qwords)*/
1391     uint64_t e; /**< exponent &ge; 0 and &lt; 2^1536 (24 qwords)*/
1392     uint64_t m; /**< modulus   &gt; 0 and &lt; 2^1536 (24 qwords)*/
1393 } icp_qat_fw_maths_modexp_l1536_input_t;
1394 
1395 
1396 
1397 /**
1398  * @ingroup icp_qat_fw_mmp
1399  * @brief
1400  *    Input parameter list for Modular exponentiation for numbers less than 2048-bit ,
1401  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODEXP_L2048.
1402  */
1403 typedef struct icp_qat_fw_maths_modexp_l2048_input_s
1404 {
1405     uint64_t g; /**< base &ge; 0 and &lt; 2^2048 (32 qwords)*/
1406     uint64_t e; /**< exponent &ge; 0 and &lt; 2^2048 (32 qwords)*/
1407     uint64_t m; /**< modulus &gt; 0 and &lt; 2^2048 (32 qwords)*/
1408 } icp_qat_fw_maths_modexp_l2048_input_t;
1409 
1410 
1411 
1412 /**
1413  * @ingroup icp_qat_fw_mmp
1414  * @brief
1415  *    Input parameter list for Modular exponentiation for numbers less than 2560-bits ,
1416  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODEXP_L2560.
1417  */
1418 typedef struct icp_qat_fw_maths_modexp_l2560_input_s
1419 {
1420     uint64_t g; /**< base &ge; 0 and &lt; 2^2560 (40 qwords)*/
1421     uint64_t e; /**< exponent &ge; 0 and &lt; 2^2560 (40 qwords)*/
1422     uint64_t m; /**< modulus   &gt; 0 and &lt; 2^2560 (40 qwords)*/
1423 } icp_qat_fw_maths_modexp_l2560_input_t;
1424 
1425 
1426 
1427 /**
1428  * @ingroup icp_qat_fw_mmp
1429  * @brief
1430  *    Input parameter list for Modular exponentiation for numbers less than 3072-bits ,
1431  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODEXP_L3072.
1432  */
1433 typedef struct icp_qat_fw_maths_modexp_l3072_input_s
1434 {
1435     uint64_t g; /**< base &ge; 0 and &lt; 2^3072 (48 qwords)*/
1436     uint64_t e; /**< exponent &ge; 0 and &lt; 2^3072 (48 qwords)*/
1437     uint64_t m; /**< modulus   &gt; 0 and &lt; 2^3072 (48 qwords)*/
1438 } icp_qat_fw_maths_modexp_l3072_input_t;
1439 
1440 
1441 
1442 /**
1443  * @ingroup icp_qat_fw_mmp
1444  * @brief
1445  *    Input parameter list for Modular exponentiation for numbers less than 3584-bits ,
1446  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODEXP_L3584.
1447  */
1448 typedef struct icp_qat_fw_maths_modexp_l3584_input_s
1449 {
1450     uint64_t g; /**< base &ge; 0 and &lt; 2^3584 (56 qwords)*/
1451     uint64_t e; /**< exponent &ge; 0 and &lt; 2^3584 (56 qwords)*/
1452     uint64_t m; /**< modulus   &gt; 0 and &lt; 2^3584 (56 qwords)*/
1453 } icp_qat_fw_maths_modexp_l3584_input_t;
1454 
1455 
1456 
1457 /**
1458  * @ingroup icp_qat_fw_mmp
1459  * @brief
1460  *    Input parameter list for Modular exponentiation for numbers less than 4096-bit ,
1461  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODEXP_L4096.
1462  */
1463 typedef struct icp_qat_fw_maths_modexp_l4096_input_s
1464 {
1465     uint64_t g; /**< base &ge; 0 and &lt; 2^4096 (64 qwords)*/
1466     uint64_t e; /**< exponent &ge; 0 and &lt; 2^4096 (64 qwords)*/
1467     uint64_t m; /**< modulus   &gt; 0 and &lt; 2^4096 (64 qwords)*/
1468 } icp_qat_fw_maths_modexp_l4096_input_t;
1469 
1470 /**
1471  * @ingroup icp_qat_fw_mmp
1472  * @brief
1473  *    Input parameter list for Modular exponentiation for numbers up to 8192
1474  * bits , to be used when icp_qat_fw_pke_request_s::functionalityId is
1475  * #MATHS_MODEXP_L8192.
1476  */
1477 typedef struct icp_qat_fw_maths_modexp_l8192_input_s
1478 {
1479     uint64_t g; /**< base &ge; 0 and &lt; 2^8192 (128 qwords)*/
1480     uint64_t e; /**< exponent &ge; 0 and &lt; 2^8192 (128 qwords)*/
1481     uint64_t m; /**< modulus   &gt; 0 and &lt; 2^8192 (128 qwords)*/
1482 } icp_qat_fw_maths_modexp_l8192_input_t;
1483 
1484 /**
1485  * @ingroup icp_qat_fw_mmp
1486  * @brief
1487  *    Input parameter list for Modular multiplicative inverse for numbers less
1488  * than 128 bits , to be used when icp_qat_fw_pke_request_s::functionalityId is
1489  * #MATHS_MODINV_ODD_L128.
1490  */
1491 typedef struct icp_qat_fw_maths_modinv_odd_l128_input_s
1492 {
1493     uint64_t a; /**< number &gt; 0 and &lt; 2^128 (2 qwords)*/
1494     uint64_t b; /**< odd modulus &gt; 0 and &lt; 2^128, coprime to a (2 qwords)*/
1495 } icp_qat_fw_maths_modinv_odd_l128_input_t;
1496 
1497 
1498 
1499 /**
1500  * @ingroup icp_qat_fw_mmp
1501  * @brief
1502  *    Input parameter list for Modular multiplicative inverse for numbers less than 192 bits ,
1503  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODINV_ODD_L192.
1504  */
1505 typedef struct icp_qat_fw_maths_modinv_odd_l192_input_s
1506 {
1507     uint64_t a; /**< number &gt; 0 and &lt; 2^192 (3 qwords)*/
1508     uint64_t b; /**< odd modulus &gt; 0 and &lt; 2^192, coprime to a (3 qwords)*/
1509 } icp_qat_fw_maths_modinv_odd_l192_input_t;
1510 
1511 
1512 
1513 /**
1514  * @ingroup icp_qat_fw_mmp
1515  * @brief
1516  *    Input parameter list for Modular multiplicative inverse for numbers less than 256 bits ,
1517  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODINV_ODD_L256.
1518  */
1519 typedef struct icp_qat_fw_maths_modinv_odd_l256_input_s
1520 {
1521     uint64_t a; /**< number &gt; 0 and &lt; 2^256 (4 qwords)*/
1522     uint64_t b; /**< odd modulus &gt; 0 and &lt; 2^256, coprime to a (4 qwords)*/
1523 } icp_qat_fw_maths_modinv_odd_l256_input_t;
1524 
1525 
1526 
1527 /**
1528  * @ingroup icp_qat_fw_mmp
1529  * @brief
1530  *    Input parameter list for Modular multiplicative inverse for numbers less than 384 bits ,
1531  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODINV_ODD_L384.
1532  */
1533 typedef struct icp_qat_fw_maths_modinv_odd_l384_input_s
1534 {
1535     uint64_t a; /**< number &gt; 0 and &lt; 2^384 (6 qwords)*/
1536     uint64_t b; /**< odd modulus &gt; 0 and &lt; 2^384, coprime to a (6 qwords)*/
1537 } icp_qat_fw_maths_modinv_odd_l384_input_t;
1538 
1539 
1540 
1541 /**
1542  * @ingroup icp_qat_fw_mmp
1543  * @brief
1544  *    Input parameter list for Modular multiplicative inverse for numbers less than 512 bits ,
1545  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODINV_ODD_L512.
1546  */
1547 typedef struct icp_qat_fw_maths_modinv_odd_l512_input_s
1548 {
1549     uint64_t a; /**< number &gt; 0 and &lt; 2^512 (8 qwords)*/
1550     uint64_t b; /**< odd modulus &gt; 0 and &lt; 2^512, coprime to a (8 qwords)*/
1551 } icp_qat_fw_maths_modinv_odd_l512_input_t;
1552 
1553 
1554 
1555 /**
1556  * @ingroup icp_qat_fw_mmp
1557  * @brief
1558  *    Input parameter list for Modular multiplicative inverse for numbers less than 768 bits ,
1559  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODINV_ODD_L768.
1560  */
1561 typedef struct icp_qat_fw_maths_modinv_odd_l768_input_s
1562 {
1563     uint64_t a; /**< number &gt; 0 and &lt; 2^768 (12 qwords)*/
1564     uint64_t b; /**< odd modulus &gt; 0 and &lt; 2^768 ,coprime to a (12 qwords)*/
1565 } icp_qat_fw_maths_modinv_odd_l768_input_t;
1566 
1567 
1568 
1569 /**
1570  * @ingroup icp_qat_fw_mmp
1571  * @brief
1572  *    Input parameter list for Modular multiplicative inverse for numbers less than 1024 bits ,
1573  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODINV_ODD_L1024.
1574  */
1575 typedef struct icp_qat_fw_maths_modinv_odd_l1024_input_s
1576 {
1577     uint64_t a; /**< number &gt; 0 and &lt; 2^1024 (16 qwords)*/
1578     uint64_t b; /**< odd modulus &gt; 0 and &lt; 2^1024, coprime to a (16 qwords)*/
1579 } icp_qat_fw_maths_modinv_odd_l1024_input_t;
1580 
1581 
1582 
1583 /**
1584  * @ingroup icp_qat_fw_mmp
1585  * @brief
1586  *    Input parameter list for Modular multiplicative inverse for numbers less than 1536 bits ,
1587  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODINV_ODD_L1536.
1588  */
1589 typedef struct icp_qat_fw_maths_modinv_odd_l1536_input_s
1590 {
1591     uint64_t a; /**< number &gt; 0 and &lt; 2^1536 (24 qwords)*/
1592     uint64_t b; /**< odd modulus &gt; 0 and &lt; 2^1536, coprime to a (24 qwords)*/
1593 } icp_qat_fw_maths_modinv_odd_l1536_input_t;
1594 
1595 
1596 
1597 /**
1598  * @ingroup icp_qat_fw_mmp
1599  * @brief
1600  *    Input parameter list for Modular multiplicative inverse for numbers less than 2048 bits ,
1601  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODINV_ODD_L2048.
1602  */
1603 typedef struct icp_qat_fw_maths_modinv_odd_l2048_input_s
1604 {
1605     uint64_t a; /**< number &gt; 0 and &lt; 2^2048 (32 qwords)*/
1606     uint64_t b; /**< odd modulus &gt; 0 and &lt; 2^2048, coprime to a (32 qwords)*/
1607 } icp_qat_fw_maths_modinv_odd_l2048_input_t;
1608 
1609 
1610 
1611 /**
1612  * @ingroup icp_qat_fw_mmp
1613  * @brief
1614  *    Input parameter list for Modular multiplicative inverse for numbers less than 3072 bits ,
1615  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODINV_ODD_L3072.
1616  */
1617 typedef struct icp_qat_fw_maths_modinv_odd_l3072_input_s
1618 {
1619     uint64_t a; /**< number &gt; 0 and &lt; 2^3072 (48 qwords)*/
1620     uint64_t b; /**< odd modulus &gt; 0 and &lt; 2^3072, coprime to a (48 qwords)*/
1621 } icp_qat_fw_maths_modinv_odd_l3072_input_t;
1622 
1623 
1624 
1625 /**
1626  * @ingroup icp_qat_fw_mmp
1627  * @brief
1628  *    Input parameter list for Modular multiplicative inverse for numbers less than 4096 bits ,
1629  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODINV_ODD_L4096.
1630  */
1631 typedef struct icp_qat_fw_maths_modinv_odd_l4096_input_s
1632 {
1633     uint64_t a; /**< number &gt; 0 and &lt; 2^4096 (64 qwords)*/
1634     uint64_t b; /**< odd modulus &gt; 0 and &lt; 2^4096, coprime to a (64 qwords)*/
1635 } icp_qat_fw_maths_modinv_odd_l4096_input_t;
1636 
1637 /**
1638  * @ingroup icp_qat_fw_mmp
1639  * @brief
1640  *    Input parameter list for Modular multiplicative inverse for numbers up to
1641  * 8192 bits , to be used when icp_qat_fw_pke_request_s::functionalityId is
1642  * #MATHS_MODINV_ODD_L8192.
1643  */
1644 typedef struct icp_qat_fw_maths_modinv_odd_l8192_input_s
1645 {
1646     uint64_t a; /**< number &gt; 0 and &lt; 2^8192 (128 qwords)*/
1647     uint64_t
1648         b; /**< odd modulus &gt; 0 and &lt; 2^8192, coprime to a (128 qwords)*/
1649 } icp_qat_fw_maths_modinv_odd_l8192_input_t;
1650 
1651 /**
1652  * @ingroup icp_qat_fw_mmp
1653  * @brief
1654  *    Input parameter list for Modular multiplicative inverse for numbers less
1655  * than 128 bits , to be used when icp_qat_fw_pke_request_s::functionalityId is
1656  * #MATHS_MODINV_EVEN_L128.
1657  */
1658 typedef struct icp_qat_fw_maths_modinv_even_l128_input_s
1659 {
1660     uint64_t a; /**< odd number &gt; 0 and &lt; 2^128 (2 qwords)*/
1661     uint64_t b; /**< even modulus   &gt; 0 and &lt; 2^128, coprime with a (2 qwords)*/
1662 } icp_qat_fw_maths_modinv_even_l128_input_t;
1663 
1664 
1665 
1666 /**
1667  * @ingroup icp_qat_fw_mmp
1668  * @brief
1669  *    Input parameter list for Modular multiplicative inverse for numbers less than 192 bits ,
1670  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODINV_EVEN_L192.
1671  */
1672 typedef struct icp_qat_fw_maths_modinv_even_l192_input_s
1673 {
1674     uint64_t a; /**< odd number &gt; 0 and &lt; 2^192 (3 qwords)*/
1675     uint64_t b; /**< even modulus   &gt; 0 and &lt; 2^192, coprime with a (3 qwords)*/
1676 } icp_qat_fw_maths_modinv_even_l192_input_t;
1677 
1678 
1679 
1680 /**
1681  * @ingroup icp_qat_fw_mmp
1682  * @brief
1683  *    Input parameter list for Modular multiplicative inverse for numbers less than 256 bits ,
1684  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODINV_EVEN_L256.
1685  */
1686 typedef struct icp_qat_fw_maths_modinv_even_l256_input_s
1687 {
1688     uint64_t a; /**< odd number &gt; 0 and &lt; 2^256 (4 qwords)*/
1689     uint64_t b; /**< even modulus   &gt; 0 and &lt; 2^256, coprime with a (4 qwords)*/
1690 } icp_qat_fw_maths_modinv_even_l256_input_t;
1691 
1692 
1693 
1694 /**
1695  * @ingroup icp_qat_fw_mmp
1696  * @brief
1697  *    Input parameter list for Modular multiplicative inverse for numbers less than 384 bits ,
1698  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODINV_EVEN_L384.
1699  */
1700 typedef struct icp_qat_fw_maths_modinv_even_l384_input_s
1701 {
1702     uint64_t a; /**< odd number &gt; 0 and &lt; 2^384 (6 qwords)*/
1703     uint64_t b; /**< even modulus   &gt; 0 and &lt; 2^384, coprime with a (6 qwords)*/
1704 } icp_qat_fw_maths_modinv_even_l384_input_t;
1705 
1706 
1707 
1708 /**
1709  * @ingroup icp_qat_fw_mmp
1710  * @brief
1711  *    Input parameter list for Modular multiplicative inverse for numbers less than 512 bits ,
1712  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODINV_EVEN_L512.
1713  */
1714 typedef struct icp_qat_fw_maths_modinv_even_l512_input_s
1715 {
1716     uint64_t a; /**< odd number &gt; 0 and &lt; 2^512 (8 qwords)*/
1717     uint64_t b; /**< even modulus   &gt; 0 and &lt; 2^512, coprime with a (8 qwords)*/
1718 } icp_qat_fw_maths_modinv_even_l512_input_t;
1719 
1720 
1721 
1722 /**
1723  * @ingroup icp_qat_fw_mmp
1724  * @brief
1725  *    Input parameter list for Modular multiplicative inverse for numbers less than 768 bits ,
1726  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODINV_EVEN_L768.
1727  */
1728 typedef struct icp_qat_fw_maths_modinv_even_l768_input_s
1729 {
1730     uint64_t a; /**< odd number &gt; 0 and &lt; 2^768 (12 qwords)*/
1731     uint64_t b; /**< even modulus   &gt; 0 and &lt; 2^768, coprime with a (12 qwords)*/
1732 } icp_qat_fw_maths_modinv_even_l768_input_t;
1733 
1734 
1735 
1736 /**
1737  * @ingroup icp_qat_fw_mmp
1738  * @brief
1739  *    Input parameter list for Modular multiplicative inverse for numbers less than 1024 bits ,
1740  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODINV_EVEN_L1024.
1741  */
1742 typedef struct icp_qat_fw_maths_modinv_even_l1024_input_s
1743 {
1744     uint64_t a; /**< odd number &gt; 0 and &lt; 2^1024 (16 qwords)*/
1745     uint64_t b; /**< even modulus   &gt; 0 and &lt; 2^1024, coprime with a (16 qwords)*/
1746 } icp_qat_fw_maths_modinv_even_l1024_input_t;
1747 
1748 
1749 
1750 /**
1751  * @ingroup icp_qat_fw_mmp
1752  * @brief
1753  *    Input parameter list for Modular multiplicative inverse for numbers less than 1536 bits ,
1754  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODINV_EVEN_L1536.
1755  */
1756 typedef struct icp_qat_fw_maths_modinv_even_l1536_input_s
1757 {
1758     uint64_t a; /**< odd number &gt; 0 and &lt; 2^1536 (24 qwords)*/
1759     uint64_t b; /**< even modulus   &gt; 0 and &lt; 2^1536, coprime with a (24 qwords)*/
1760 } icp_qat_fw_maths_modinv_even_l1536_input_t;
1761 
1762 
1763 
1764 /**
1765  * @ingroup icp_qat_fw_mmp
1766  * @brief
1767  *    Input parameter list for Modular multiplicative inverse for numbers less than 2048 bits ,
1768  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODINV_EVEN_L2048.
1769  */
1770 typedef struct icp_qat_fw_maths_modinv_even_l2048_input_s
1771 {
1772     uint64_t a; /**< odd number &gt; 0 and &lt; 2^2048 (32 qwords)*/
1773     uint64_t b; /**< even modulus   &gt; 0 and &lt; 2^2048, coprime with a (32 qwords)*/
1774 } icp_qat_fw_maths_modinv_even_l2048_input_t;
1775 
1776 
1777 
1778 /**
1779  * @ingroup icp_qat_fw_mmp
1780  * @brief
1781  *    Input parameter list for Modular multiplicative inverse for numbers less than 3072 bits ,
1782  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODINV_EVEN_L3072.
1783  */
1784 typedef struct icp_qat_fw_maths_modinv_even_l3072_input_s
1785 {
1786     uint64_t a; /**< odd number &gt; 0 and &lt; 2^3072 (48 qwords)*/
1787     uint64_t b; /**< even modulus   &gt; 0 and &lt; 2^3072, coprime with a (48 qwords)*/
1788 } icp_qat_fw_maths_modinv_even_l3072_input_t;
1789 
1790 
1791 
1792 /**
1793  * @ingroup icp_qat_fw_mmp
1794  * @brief
1795  *    Input parameter list for Modular multiplicative inverse for numbers less than 4096 bits ,
1796  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_MODINV_EVEN_L4096.
1797  */
1798 typedef struct icp_qat_fw_maths_modinv_even_l4096_input_s
1799 {
1800     uint64_t a; /**< odd number &gt; 0 and &lt; 2^4096 (64 qwords)*/
1801     uint64_t b; /**< even modulus   &gt; 0 and &lt; 2^4096, coprime with a (64 qwords)*/
1802 } icp_qat_fw_maths_modinv_even_l4096_input_t;
1803 
1804 /**
1805  * @ingroup icp_qat_fw_mmp
1806  * @brief
1807  *    Input parameter list for Modular multiplicative inverse for numbers up to
1808  * 8192 bits , to be used when icp_qat_fw_pke_request_s::functionalityId is
1809  * #MATHS_MODINV_EVEN_L8192.
1810  */
1811 typedef struct icp_qat_fw_maths_modinv_even_l8192_input_s
1812 {
1813     uint64_t a; /**< odd number &gt; 0 and &lt; 2^8192 (128 qwords)*/
1814     uint64_t b; /**< even modulus   &gt; 0 and &lt; 2^8192, coprime with a (128
1815                    qwords)*/
1816 } icp_qat_fw_maths_modinv_even_l8192_input_t;
1817 
1818 /**
1819  * @ingroup icp_qat_fw_mmp
1820  * @brief
1821  *    Input parameter list for DSA parameter generation P ,
1822  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_GEN_P_1024_160.
1823  */
1824 typedef struct icp_qat_fw_mmp_dsa_gen_p_1024_160_input_s
1825 {
1826     uint64_t x; /**< DSA 1024-bit randomness  (16 qwords)*/
1827     uint64_t q; /**< DSA 160-bit parameter  (3 qwords)*/
1828 } icp_qat_fw_mmp_dsa_gen_p_1024_160_input_t;
1829 
1830 
1831 
1832 /**
1833  * @ingroup icp_qat_fw_mmp
1834  * @brief
1835  *    Input parameter list for DSA key generation G ,
1836  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_GEN_G_1024.
1837  */
1838 typedef struct icp_qat_fw_mmp_dsa_gen_g_1024_input_s
1839 {
1840     uint64_t p; /**< DSA 1024-bit parameter  (16 qwords)*/
1841     uint64_t q; /**< DSA 160-bit parameter  (3 qwords)*/
1842     uint64_t h; /**< DSA 1024-bit parameter  (16 qwords)*/
1843 } icp_qat_fw_mmp_dsa_gen_g_1024_input_t;
1844 
1845 
1846 
1847 /**
1848  * @ingroup icp_qat_fw_mmp
1849  * @brief
1850  *    Input parameter list for DSA key generation Y ,
1851  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_GEN_Y_1024.
1852  */
1853 typedef struct icp_qat_fw_mmp_dsa_gen_y_1024_input_s
1854 {
1855     uint64_t p; /**< DSA 1024-bit parameter  (16 qwords)*/
1856     uint64_t g; /**< DSA parameter  (16 qwords)*/
1857     uint64_t x; /**< randomly generated DSA parameter (160 bits),  (3 qwords)*/
1858 } icp_qat_fw_mmp_dsa_gen_y_1024_input_t;
1859 
1860 
1861 
1862 /**
1863  * @ingroup icp_qat_fw_mmp
1864  * @brief
1865  *    Input parameter list for DSA Sign R ,
1866  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_SIGN_R_1024_160.
1867  */
1868 typedef struct icp_qat_fw_mmp_dsa_sign_r_1024_160_input_s
1869 {
1870     uint64_t k; /**< randomly generated DSA parameter  (3 qwords)*/
1871     uint64_t p; /**< DSA parameter,  (16 qwords)*/
1872     uint64_t q; /**< DSA parameter  (3 qwords)*/
1873     uint64_t g; /**< DSA parameter  (16 qwords)*/
1874 } icp_qat_fw_mmp_dsa_sign_r_1024_160_input_t;
1875 
1876 
1877 
1878 /**
1879  * @ingroup icp_qat_fw_mmp
1880  * @brief
1881  *    Input parameter list for DSA Sign S ,
1882  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_SIGN_S_160.
1883  */
1884 typedef struct icp_qat_fw_mmp_dsa_sign_s_160_input_s
1885 {
1886     uint64_t m; /**< digest message to be signed  (3 qwords)*/
1887     uint64_t k; /**< randomly generated DSA parameter  (3 qwords)*/
1888     uint64_t q; /**< DSA parameter  (3 qwords)*/
1889     uint64_t r; /**< DSA parameter  (3 qwords)*/
1890     uint64_t x; /**< randomly generated DSA parameter  (3 qwords)*/
1891 } icp_qat_fw_mmp_dsa_sign_s_160_input_t;
1892 
1893 
1894 
1895 /**
1896  * @ingroup icp_qat_fw_mmp
1897  * @brief
1898  *    Input parameter list for DSA Sign R S ,
1899  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_SIGN_R_S_1024_160.
1900  */
1901 typedef struct icp_qat_fw_mmp_dsa_sign_r_s_1024_160_input_s
1902 {
1903     uint64_t m; /**< digest of the message to be signed  (3 qwords)*/
1904     uint64_t k; /**< randomly generated DSA parameter  (3 qwords)*/
1905     uint64_t p; /**< DSA parameter  (16 qwords)*/
1906     uint64_t q; /**< DSA parameter  (3 qwords)*/
1907     uint64_t g; /**< DSA parameter  (16 qwords)*/
1908     uint64_t x; /**< randomly generated DSA parameter  (3 qwords)*/
1909 } icp_qat_fw_mmp_dsa_sign_r_s_1024_160_input_t;
1910 
1911 
1912 
1913 /**
1914  * @ingroup icp_qat_fw_mmp
1915  * @brief
1916  *    Input parameter list for DSA Verify ,
1917  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_VERIFY_1024_160.
1918  */
1919 typedef struct icp_qat_fw_mmp_dsa_verify_1024_160_input_s
1920 {
1921     uint64_t r; /**< DSA 160-bits signature  (3 qwords)*/
1922     uint64_t s; /**< DSA 160-bits signature  (3 qwords)*/
1923     uint64_t m; /**< digest of the message  (3 qwords)*/
1924     uint64_t p; /**< DSA parameter  (16 qwords)*/
1925     uint64_t q; /**< DSA parameter  (3 qwords)*/
1926     uint64_t g; /**< DSA parameter  (16 qwords)*/
1927     uint64_t y; /**< DSA parameter  (16 qwords)*/
1928 } icp_qat_fw_mmp_dsa_verify_1024_160_input_t;
1929 
1930 
1931 
1932 /**
1933  * @ingroup icp_qat_fw_mmp
1934  * @brief
1935  *    Input parameter list for DSA parameter generation P ,
1936  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_GEN_P_2048_224.
1937  */
1938 typedef struct icp_qat_fw_mmp_dsa_gen_p_2048_224_input_s
1939 {
1940     uint64_t x; /**< DSA 2048-bit randomness  (32 qwords)*/
1941     uint64_t q; /**< DSA 224-bit parameter  (4 qwords)*/
1942 } icp_qat_fw_mmp_dsa_gen_p_2048_224_input_t;
1943 
1944 
1945 
1946 /**
1947  * @ingroup icp_qat_fw_mmp
1948  * @brief
1949  *    Input parameter list for DSA key generation Y ,
1950  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_GEN_Y_2048.
1951  */
1952 typedef struct icp_qat_fw_mmp_dsa_gen_y_2048_input_s
1953 {
1954     uint64_t p; /**< DSA 2048-bit parameter  (32 qwords)*/
1955     uint64_t g; /**< DSA parameter  (32 qwords)*/
1956     uint64_t x; /**< randomly generated DSA parameter (224/256 bits),  (4 qwords)*/
1957 } icp_qat_fw_mmp_dsa_gen_y_2048_input_t;
1958 
1959 
1960 
1961 /**
1962  * @ingroup icp_qat_fw_mmp
1963  * @brief
1964  *    Input parameter list for DSA Sign R ,
1965  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_SIGN_R_2048_224.
1966  */
1967 typedef struct icp_qat_fw_mmp_dsa_sign_r_2048_224_input_s
1968 {
1969     uint64_t k; /**< randomly generated DSA parameter  (4 qwords)*/
1970     uint64_t p; /**< DSA parameter,  (32 qwords)*/
1971     uint64_t q; /**< DSA parameter  (4 qwords)*/
1972     uint64_t g; /**< DSA parameter  (32 qwords)*/
1973 } icp_qat_fw_mmp_dsa_sign_r_2048_224_input_t;
1974 
1975 
1976 
1977 /**
1978  * @ingroup icp_qat_fw_mmp
1979  * @brief
1980  *    Input parameter list for DSA Sign S ,
1981  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_SIGN_S_224.
1982  */
1983 typedef struct icp_qat_fw_mmp_dsa_sign_s_224_input_s
1984 {
1985     uint64_t m; /**< digest message to be signed  (4 qwords)*/
1986     uint64_t k; /**< randomly generated DSA parameter  (4 qwords)*/
1987     uint64_t q; /**< DSA parameter  (4 qwords)*/
1988     uint64_t r; /**< DSA parameter  (4 qwords)*/
1989     uint64_t x; /**< randomly generated DSA parameter  (4 qwords)*/
1990 } icp_qat_fw_mmp_dsa_sign_s_224_input_t;
1991 
1992 
1993 
1994 /**
1995  * @ingroup icp_qat_fw_mmp
1996  * @brief
1997  *    Input parameter list for DSA Sign R S ,
1998  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_SIGN_R_S_2048_224.
1999  */
2000 typedef struct icp_qat_fw_mmp_dsa_sign_r_s_2048_224_input_s
2001 {
2002     uint64_t m; /**< digest of the message to be signed  (4 qwords)*/
2003     uint64_t k; /**< randomly generated DSA parameter  (4 qwords)*/
2004     uint64_t p; /**< DSA parameter  (32 qwords)*/
2005     uint64_t q; /**< DSA parameter  (4 qwords)*/
2006     uint64_t g; /**< DSA parameter  (32 qwords)*/
2007     uint64_t x; /**< randomly generated DSA parameter  (4 qwords)*/
2008 } icp_qat_fw_mmp_dsa_sign_r_s_2048_224_input_t;
2009 
2010 
2011 
2012 /**
2013  * @ingroup icp_qat_fw_mmp
2014  * @brief
2015  *    Input parameter list for DSA Verify ,
2016  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_VERIFY_2048_224.
2017  */
2018 typedef struct icp_qat_fw_mmp_dsa_verify_2048_224_input_s
2019 {
2020     uint64_t r; /**< DSA 224-bits signature  (4 qwords)*/
2021     uint64_t s; /**< DSA 224-bits signature  (4 qwords)*/
2022     uint64_t m; /**< digest of the message  (4 qwords)*/
2023     uint64_t p; /**< DSA parameter  (32 qwords)*/
2024     uint64_t q; /**< DSA parameter  (4 qwords)*/
2025     uint64_t g; /**< DSA parameter  (32 qwords)*/
2026     uint64_t y; /**< DSA parameter  (32 qwords)*/
2027 } icp_qat_fw_mmp_dsa_verify_2048_224_input_t;
2028 
2029 
2030 
2031 /**
2032  * @ingroup icp_qat_fw_mmp
2033  * @brief
2034  *    Input parameter list for DSA parameter generation P ,
2035  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_GEN_P_2048_256.
2036  */
2037 typedef struct icp_qat_fw_mmp_dsa_gen_p_2048_256_input_s
2038 {
2039     uint64_t x; /**< DSA 2048-bit randomness  (32 qwords)*/
2040     uint64_t q; /**< DSA 256-bit parameter  (4 qwords)*/
2041 } icp_qat_fw_mmp_dsa_gen_p_2048_256_input_t;
2042 
2043 
2044 
2045 /**
2046  * @ingroup icp_qat_fw_mmp
2047  * @brief
2048  *    Input parameter list for DSA key generation G ,
2049  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_GEN_G_2048.
2050  */
2051 typedef struct icp_qat_fw_mmp_dsa_gen_g_2048_input_s
2052 {
2053     uint64_t p; /**< DSA 2048-bit parameter  (32 qwords)*/
2054     uint64_t q; /**< DSA 256-bit parameter  (4 qwords)*/
2055     uint64_t h; /**< DSA 2048-bit parameter  (32 qwords)*/
2056 } icp_qat_fw_mmp_dsa_gen_g_2048_input_t;
2057 
2058 
2059 
2060 /**
2061  * @ingroup icp_qat_fw_mmp
2062  * @brief
2063  *    Input parameter list for DSA Sign R ,
2064  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_SIGN_R_2048_256.
2065  */
2066 typedef struct icp_qat_fw_mmp_dsa_sign_r_2048_256_input_s
2067 {
2068     uint64_t k; /**< randomly generated DSA parameter  (4 qwords)*/
2069     uint64_t p; /**< DSA parameter,  (32 qwords)*/
2070     uint64_t q; /**< DSA parameter  (4 qwords)*/
2071     uint64_t g; /**< DSA parameter  (32 qwords)*/
2072 } icp_qat_fw_mmp_dsa_sign_r_2048_256_input_t;
2073 
2074 
2075 
2076 /**
2077  * @ingroup icp_qat_fw_mmp
2078  * @brief
2079  *    Input parameter list for DSA Sign S ,
2080  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_SIGN_S_256.
2081  */
2082 typedef struct icp_qat_fw_mmp_dsa_sign_s_256_input_s
2083 {
2084     uint64_t m; /**< digest message to be signed  (4 qwords)*/
2085     uint64_t k; /**< randomly generated DSA parameter  (4 qwords)*/
2086     uint64_t q; /**< DSA parameter  (4 qwords)*/
2087     uint64_t r; /**< DSA parameter  (4 qwords)*/
2088     uint64_t x; /**< randomly generated DSA parameter  (4 qwords)*/
2089 } icp_qat_fw_mmp_dsa_sign_s_256_input_t;
2090 
2091 
2092 
2093 /**
2094  * @ingroup icp_qat_fw_mmp
2095  * @brief
2096  *    Input parameter list for DSA Sign R S ,
2097  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_SIGN_R_S_2048_256.
2098  */
2099 typedef struct icp_qat_fw_mmp_dsa_sign_r_s_2048_256_input_s
2100 {
2101     uint64_t m; /**< digest of the message to be signed  (4 qwords)*/
2102     uint64_t k; /**< randomly generated DSA parameter  (4 qwords)*/
2103     uint64_t p; /**< DSA parameter  (32 qwords)*/
2104     uint64_t q; /**< DSA parameter  (4 qwords)*/
2105     uint64_t g; /**< DSA parameter  (32 qwords)*/
2106     uint64_t x; /**< randomly generated DSA parameter  (4 qwords)*/
2107 } icp_qat_fw_mmp_dsa_sign_r_s_2048_256_input_t;
2108 
2109 
2110 
2111 /**
2112  * @ingroup icp_qat_fw_mmp
2113  * @brief
2114  *    Input parameter list for DSA Verify ,
2115  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_VERIFY_2048_256.
2116  */
2117 typedef struct icp_qat_fw_mmp_dsa_verify_2048_256_input_s
2118 {
2119     uint64_t r; /**< DSA 256-bits signature  (4 qwords)*/
2120     uint64_t s; /**< DSA 256-bits signature  (4 qwords)*/
2121     uint64_t m; /**< digest of the message  (4 qwords)*/
2122     uint64_t p; /**< DSA parameter  (32 qwords)*/
2123     uint64_t q; /**< DSA parameter  (4 qwords)*/
2124     uint64_t g; /**< DSA parameter  (32 qwords)*/
2125     uint64_t y; /**< DSA parameter  (32 qwords)*/
2126 } icp_qat_fw_mmp_dsa_verify_2048_256_input_t;
2127 
2128 
2129 
2130 /**
2131  * @ingroup icp_qat_fw_mmp
2132  * @brief
2133  *    Input parameter list for DSA parameter generation P ,
2134  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_GEN_P_3072_256.
2135  */
2136 typedef struct icp_qat_fw_mmp_dsa_gen_p_3072_256_input_s
2137 {
2138     uint64_t x; /**< DSA 3072-bit randomness  (48 qwords)*/
2139     uint64_t q; /**< DSA 256-bit parameter  (4 qwords)*/
2140 } icp_qat_fw_mmp_dsa_gen_p_3072_256_input_t;
2141 
2142 
2143 
2144 /**
2145  * @ingroup icp_qat_fw_mmp
2146  * @brief
2147  *    Input parameter list for DSA key generation G ,
2148  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_GEN_G_3072.
2149  */
2150 typedef struct icp_qat_fw_mmp_dsa_gen_g_3072_input_s
2151 {
2152     uint64_t p; /**< DSA 3072-bit parameter  (48 qwords)*/
2153     uint64_t q; /**< DSA 256-bit parameter  (4 qwords)*/
2154     uint64_t h; /**< DSA 3072-bit parameter  (48 qwords)*/
2155 } icp_qat_fw_mmp_dsa_gen_g_3072_input_t;
2156 
2157 
2158 
2159 /**
2160  * @ingroup icp_qat_fw_mmp
2161  * @brief
2162  *    Input parameter list for DSA key generation Y ,
2163  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_GEN_Y_3072.
2164  */
2165 typedef struct icp_qat_fw_mmp_dsa_gen_y_3072_input_s
2166 {
2167     uint64_t p; /**< DSA 3072-bit parameter  (48 qwords)*/
2168     uint64_t g; /**< DSA parameter  (48 qwords)*/
2169     uint64_t x; /**< randomly generated DSA parameter (3072 bits),  (4 qwords)*/
2170 } icp_qat_fw_mmp_dsa_gen_y_3072_input_t;
2171 
2172 
2173 
2174 /**
2175  * @ingroup icp_qat_fw_mmp
2176  * @brief
2177  *    Input parameter list for DSA Sign R ,
2178  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_SIGN_R_3072_256.
2179  */
2180 typedef struct icp_qat_fw_mmp_dsa_sign_r_3072_256_input_s
2181 {
2182     uint64_t k; /**< randomly generated DSA parameter  (4 qwords)*/
2183     uint64_t p; /**< DSA parameter,  (48 qwords)*/
2184     uint64_t q; /**< DSA parameter  (4 qwords)*/
2185     uint64_t g; /**< DSA parameter  (48 qwords)*/
2186 } icp_qat_fw_mmp_dsa_sign_r_3072_256_input_t;
2187 
2188 
2189 
2190 /**
2191  * @ingroup icp_qat_fw_mmp
2192  * @brief
2193  *    Input parameter list for DSA Sign R S ,
2194  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_SIGN_R_S_3072_256.
2195  */
2196 typedef struct icp_qat_fw_mmp_dsa_sign_r_s_3072_256_input_s
2197 {
2198     uint64_t m; /**< digest of the message to be signed  (4 qwords)*/
2199     uint64_t k; /**< randomly generated DSA parameter  (4 qwords)*/
2200     uint64_t p; /**< DSA parameter  (48 qwords)*/
2201     uint64_t q; /**< DSA parameter  (4 qwords)*/
2202     uint64_t g; /**< DSA parameter  (48 qwords)*/
2203     uint64_t x; /**< randomly generated DSA parameter  (4 qwords)*/
2204 } icp_qat_fw_mmp_dsa_sign_r_s_3072_256_input_t;
2205 
2206 
2207 
2208 /**
2209  * @ingroup icp_qat_fw_mmp
2210  * @brief
2211  *    Input parameter list for DSA Verify ,
2212  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_DSA_VERIFY_3072_256.
2213  */
2214 typedef struct icp_qat_fw_mmp_dsa_verify_3072_256_input_s
2215 {
2216     uint64_t r; /**< DSA 256-bits signature  (4 qwords)*/
2217     uint64_t s; /**< DSA 256-bits signature  (4 qwords)*/
2218     uint64_t m; /**< digest of the message  (4 qwords)*/
2219     uint64_t p; /**< DSA parameter  (48 qwords)*/
2220     uint64_t q; /**< DSA parameter  (4 qwords)*/
2221     uint64_t g; /**< DSA parameter  (48 qwords)*/
2222     uint64_t y; /**< DSA parameter  (48 qwords)*/
2223 } icp_qat_fw_mmp_dsa_verify_3072_256_input_t;
2224 
2225 
2226 
2227 /**
2228  * @ingroup icp_qat_fw_mmp
2229  * @brief
2230  *    Input parameter list for ECDSA Sign RS for curves B/K-163 and B/K-233 ,
2231  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_SIGN_RS_GF2_L256.
2232  */
2233 typedef struct icp_qat_fw_mmp_ecdsa_sign_rs_gf2_l256_input_s
2234 {
2235     uint64_t in; /**< concatenated input parameters (G, n, q, a, b, k, e, d)  (36 qwords)*/
2236 } icp_qat_fw_mmp_ecdsa_sign_rs_gf2_l256_input_t;
2237 
2238 
2239 
2240 /**
2241  * @ingroup icp_qat_fw_mmp
2242  * @brief
2243  *    Input parameter list for ECDSA Sign R for curves B/K-163 and B/K-233 ,
2244  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_SIGN_R_GF2_L256.
2245  */
2246 typedef struct icp_qat_fw_mmp_ecdsa_sign_r_gf2_l256_input_s
2247 {
2248     uint64_t xg; /**< x coordinate of base point G of B/K-163 of B/K-233  (4 qwords)*/
2249     uint64_t yg; /**< y coordinate of base point G of B/K-163 or B/K-233  (4 qwords)*/
2250     uint64_t n; /**< order of the base point of B/K-163 or B/K-233  (4 qwords)*/
2251     uint64_t q; /**< field polynomial of B/K-163 or B/K-233  (4 qwords)*/
2252     uint64_t a; /**< a equation coefficient of B/K-163 of B/K-233  (4 qwords)*/
2253     uint64_t b; /**< b equation coefficient of B/K-163 or B/K-233  (4 qwords)*/
2254     uint64_t k; /**< random value &gt; 0 and &lt; n  (4 qwords)*/
2255 } icp_qat_fw_mmp_ecdsa_sign_r_gf2_l256_input_t;
2256 
2257 
2258 
2259 /**
2260  * @ingroup icp_qat_fw_mmp
2261  * @brief
2262  *    Input parameter list for ECDSA Sign S for curves with n &lt; 2^256 ,
2263  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_SIGN_S_GF2_L256.
2264  */
2265 typedef struct icp_qat_fw_mmp_ecdsa_sign_s_gf2_l256_input_s
2266 {
2267     uint64_t e; /**< hash of message (0 &lt; e &lt; 2^256)  (4 qwords)*/
2268     uint64_t d; /**< private key (&gt;0 and &lt; n)  (4 qwords)*/
2269     uint64_t r; /**< ECDSA r signature value (&gt;0 and &lt; n)  (4 qwords)*/
2270     uint64_t k; /**< random value &gt; 0 and &lt; n  (4 qwords)*/
2271     uint64_t n; /**< order of the base point G (2 &lt; n &lt; 2^256)  (4 qwords)*/
2272 } icp_qat_fw_mmp_ecdsa_sign_s_gf2_l256_input_t;
2273 
2274 
2275 
2276 /**
2277  * @ingroup icp_qat_fw_mmp
2278  * @brief
2279  *    Input parameter list for ECDSA Verify for curves B/K-163 and B/K-233 ,
2280  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_VERIFY_GF2_L256.
2281  */
2282 typedef struct icp_qat_fw_mmp_ecdsa_verify_gf2_l256_input_s
2283 {
2284     uint64_t in; /**< concatenated curve parameter (e,s,r,n,G,Q,a,b,q)  (44 qwords)*/
2285 } icp_qat_fw_mmp_ecdsa_verify_gf2_l256_input_t;
2286 
2287 
2288 
2289 /**
2290  * @ingroup icp_qat_fw_mmp
2291  * @brief
2292  *    Input parameter list for ECDSA Sign RS ,
2293  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_SIGN_RS_GF2_L512.
2294  */
2295 typedef struct icp_qat_fw_mmp_ecdsa_sign_rs_gf2_l512_input_s
2296 {
2297     uint64_t in; /**< concatenated input parameters (G, n, q, a, b, k, e, d)  (72 qwords)*/
2298 } icp_qat_fw_mmp_ecdsa_sign_rs_gf2_l512_input_t;
2299 
2300 
2301 
2302 /**
2303  * @ingroup icp_qat_fw_mmp
2304  * @brief
2305  *    Input parameter list for ECDSA GF2 Sign R ,
2306  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_SIGN_R_GF2_L512.
2307  */
2308 typedef struct icp_qat_fw_mmp_ecdsa_sign_r_gf2_l512_input_s
2309 {
2310     uint64_t xg; /**< x coordinate of verified base point (&gt; 0 and degree(x(G)) &lt; degree(q))  (8 qwords)*/
2311     uint64_t yg; /**< y coordinate of verified base point (&gt; 0 and degree(y(G)) &lt; degree(q))  (8 qwords)*/
2312     uint64_t n; /**< order of the base point G, which must be prime and a divisor of #E and &lt; 2^512)  (8 qwords)*/
2313     uint64_t q; /**< field polynomial of degree &gt; 2 and &lt; 512  (8 qwords)*/
2314     uint64_t a; /**< a equation coefficient (degree(a) &lt; degree(q))  (8 qwords)*/
2315     uint64_t b; /**< b equation coefficient (degree(b) &lt; degree(q))  (8 qwords)*/
2316     uint64_t k; /**< random value &gt; 0 and &lt; n  (8 qwords)*/
2317 } icp_qat_fw_mmp_ecdsa_sign_r_gf2_l512_input_t;
2318 
2319 
2320 
2321 /**
2322  * @ingroup icp_qat_fw_mmp
2323  * @brief
2324  *    Input parameter list for ECDSA GF2 Sign S ,
2325  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_SIGN_S_GF2_L512.
2326  */
2327 typedef struct icp_qat_fw_mmp_ecdsa_sign_s_gf2_l512_input_s
2328 {
2329     uint64_t e; /**< hash of message (0 &lt; e &lt; 2^512)  (8 qwords)*/
2330     uint64_t d; /**< private key (&gt;0 and &lt; n)  (8 qwords)*/
2331     uint64_t r; /**< ECDSA r signature value (&gt;0 and &lt; n)  (8 qwords)*/
2332     uint64_t k; /**< random value &gt; 0 and &lt; n  (8 qwords)*/
2333     uint64_t n; /**< order of the base point G, which must be prime and a divisor of #E and &lt; 2^512)  (8 qwords)*/
2334 } icp_qat_fw_mmp_ecdsa_sign_s_gf2_l512_input_t;
2335 
2336 
2337 
2338 /**
2339  * @ingroup icp_qat_fw_mmp
2340  * @brief
2341  *    Input parameter list for ECDSA GF2 Verify ,
2342  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_VERIFY_GF2_L512.
2343  */
2344 typedef struct icp_qat_fw_mmp_ecdsa_verify_gf2_l512_input_s
2345 {
2346     uint64_t in; /**< concatenated curve parameters (e, s, r, n, xG, yG, xQ, yQ, a, b, q)  (88 qwords)*/
2347 } icp_qat_fw_mmp_ecdsa_verify_gf2_l512_input_t;
2348 
2349 
2350 
2351 /**
2352  * @ingroup icp_qat_fw_mmp
2353  * @brief
2354  *    Input parameter list for ECDSA GF2 Sign RS for curves B-571/K-571 ,
2355  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_SIGN_RS_GF2_571.
2356  */
2357 typedef struct icp_qat_fw_mmp_ecdsa_sign_rs_gf2_571_input_s
2358 {
2359     uint64_t in; /**< concatenated input parameters (x(G), y(G), n, q, a, b, k, e, d)  (81 qwords)*/
2360 } icp_qat_fw_mmp_ecdsa_sign_rs_gf2_571_input_t;
2361 
2362 
2363 
2364 /**
2365  * @ingroup icp_qat_fw_mmp
2366  * @brief
2367  *    Input parameter list for ECDSA GF2 Sign S for curves with deg(q) &lt; 576 ,
2368  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_SIGN_S_GF2_571.
2369  */
2370 typedef struct icp_qat_fw_mmp_ecdsa_sign_s_gf2_571_input_s
2371 {
2372     uint64_t e; /**< hash of message &lt; 2^576  (9 qwords)*/
2373     uint64_t d; /**< private key (&gt; 0 and &lt; n)  (9 qwords)*/
2374     uint64_t r; /**< ECDSA r signature value  (&gt; 0 and &lt; n)  (9 qwords)*/
2375     uint64_t k; /**< random value (&gt; 0 and &lt; n)  (9 qwords)*/
2376     uint64_t n; /**< order of the base point of the curve (n &lt; 2^576)  (9 qwords)*/
2377 } icp_qat_fw_mmp_ecdsa_sign_s_gf2_571_input_t;
2378 
2379 
2380 
2381 /**
2382  * @ingroup icp_qat_fw_mmp
2383  * @brief
2384  *    Input parameter list for ECDSA GF2 Sign R for degree 571 ,
2385  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_SIGN_R_GF2_571.
2386  */
2387 typedef struct icp_qat_fw_mmp_ecdsa_sign_r_gf2_571_input_s
2388 {
2389     uint64_t xg; /**< x coordinate of verified base point belonging to B/K-571  (9 qwords)*/
2390     uint64_t yg; /**< y coordinate of verified base point belonging to B/K-571  (9 qwords)*/
2391     uint64_t n; /**< order of the base point G  (9 qwords)*/
2392     uint64_t q; /**< irreducible field polynomial of B/K-571  (9 qwords)*/
2393     uint64_t a; /**< a coefficient of curve B/K-571 (degree(a) &lt; degree(q))  (9 qwords)*/
2394     uint64_t b; /**< b coefficient of curve B/K-571 (degree(b) &lt; degree(q))  (9 qwords)*/
2395     uint64_t k; /**< random value &gt; 0 and &lt; n  (9 qwords)*/
2396 } icp_qat_fw_mmp_ecdsa_sign_r_gf2_571_input_t;
2397 
2398 
2399 
2400 /**
2401  * @ingroup icp_qat_fw_mmp
2402  * @brief
2403  *    Input parameter list for ECDSA GF2 Verify for degree 571 ,
2404  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_VERIFY_GF2_571.
2405  */
2406 typedef struct icp_qat_fw_mmp_ecdsa_verify_gf2_571_input_s
2407 {
2408     uint64_t in; /**< concatenated input (e, s, r, n, G, Q, a, b, q) (99 qwords)*/
2409 } icp_qat_fw_mmp_ecdsa_verify_gf2_571_input_t;
2410 
2411 
2412 
2413 /**
2414  * @ingroup icp_qat_fw_mmp
2415  * @brief
2416  *    Input parameter list for MATHS GF2 Point Multiplication ,
2417  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_POINT_MULTIPLICATION_GF2_L256.
2418  */
2419 typedef struct icp_qat_fw_maths_point_multiplication_gf2_l256_input_s
2420 {
2421     uint64_t k; /**< scalar multiplier &gt; 0 and &lt; 2^256 (4 qwords)*/
2422     uint64_t xg; /**< x coordinate of curve point (degree(xG) &lt; 256) (4 qwords)*/
2423     uint64_t yg; /**< y coordinate of curve point (degree(yG) &lt; 256) (4 qwords)*/
2424     uint64_t a; /**< a equation coefficient of B/K-163 or B/K-233 (4 qwords)*/
2425     uint64_t b; /**< b equation coefficient of B/K-163 or B/K-233 (4 qwords)*/
2426     uint64_t q; /**< field polynomial of B/K-163 or B/K-233 (4 qwords)*/
2427     uint64_t h; /**< cofactor of B/K-163 or B/K-233 (4 qwords)*/
2428 } icp_qat_fw_maths_point_multiplication_gf2_l256_input_t;
2429 
2430 
2431 
2432 /**
2433  * @ingroup icp_qat_fw_mmp
2434  * @brief
2435  *    Input parameter list for MATHS GF2 Point Verification ,
2436  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_POINT_VERIFY_GF2_L256.
2437  */
2438 typedef struct icp_qat_fw_maths_point_verify_gf2_l256_input_s
2439 {
2440     uint64_t xq; /**< x coordinate of input point (4 qwords)*/
2441     uint64_t yq; /**< y coordinate of input point (4 qwords)*/
2442     uint64_t q; /**< field polynomial of curve, degree(q) &lt; 256 (4 qwords)*/
2443     uint64_t a; /**< a equation coefficient of curve, degree(a) &lt; 256 (4 qwords)*/
2444     uint64_t b; /**< b equation coefficient of curve, degree(b) &lt; 256 (4 qwords)*/
2445 } icp_qat_fw_maths_point_verify_gf2_l256_input_t;
2446 
2447 
2448 
2449 /**
2450  * @ingroup icp_qat_fw_mmp
2451  * @brief
2452  *    Input parameter list for MATHS GF2 Point Multiplication ,
2453  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_POINT_MULTIPLICATION_GF2_L512.
2454  */
2455 typedef struct icp_qat_fw_maths_point_multiplication_gf2_l512_input_s
2456 {
2457     uint64_t k; /**< scalar multiplier &gt; 0 and &lt; 2^512 (8 qwords)*/
2458     uint64_t xg; /**< x coordinate of curve point (degree(xG) &lt; 512) (8 qwords)*/
2459     uint64_t yg; /**< y coordinate of curve point (degree(yG) &lt; 512) (8 qwords)*/
2460     uint64_t a; /**< a equation coefficient (degree(a) &lt; 512) (8 qwords)*/
2461     uint64_t b; /**< b equation coefficient (degree(b) &lt; 512) (8 qwords)*/
2462     uint64_t q; /**< field polynomial of degree &gt; 2 and &lt; 512 (8 qwords)*/
2463     uint64_t h; /**< cofactor (&lt; 2^512) (8 qwords)*/
2464 } icp_qat_fw_maths_point_multiplication_gf2_l512_input_t;
2465 
2466 
2467 
2468 /**
2469  * @ingroup icp_qat_fw_mmp
2470  * @brief
2471  *    Input parameter list for MATHS GF2 Point Verification ,
2472  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_POINT_VERIFY_GF2_L512.
2473  */
2474 typedef struct icp_qat_fw_maths_point_verify_gf2_l512_input_s
2475 {
2476     uint64_t xq; /**< x coordinate of input point (8 qwords)*/
2477     uint64_t yq; /**< y coordinate of input point (8 qwords)*/
2478     uint64_t q; /**< field polynomial of degree &gt; 2 and &lt; 512 (8 qwords)*/
2479     uint64_t a; /**< a equation coefficient (degree(a) &lt; 512) (8 qwords)*/
2480     uint64_t b; /**< b equation coefficient (degree(a) &lt; 512) (8 qwords)*/
2481 } icp_qat_fw_maths_point_verify_gf2_l512_input_t;
2482 
2483 
2484 
2485 /**
2486  * @ingroup icp_qat_fw_mmp
2487  * @brief
2488  *    Input parameter list for ECC GF2 Point Multiplication for curves B-571/K-571 ,
2489  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_POINT_MULTIPLICATION_GF2_571.
2490  */
2491 typedef struct icp_qat_fw_maths_point_multiplication_gf2_571_input_s
2492 {
2493     uint64_t k; /**< scalar value &gt; 0 and &lt; 2^576 (9 qwords)*/
2494     uint64_t xg; /**< x coordinate of curve point (degree(xG) &lt; degree(q)) (9 qwords)*/
2495     uint64_t yg; /**< y coordinate of curve point (degree(xG) &lt; degree(q)) (9 qwords)*/
2496     uint64_t a; /**< a equation coefficient for B/K-571 (9 qwords)*/
2497     uint64_t b; /**< b equation coefficient for B/K-571 (9 qwords)*/
2498     uint64_t q; /**< field polynomial of B/K-571 (9 qwords)*/
2499     uint64_t h; /**< cofactor for B/K-571 (1 qwords)*/
2500 } icp_qat_fw_maths_point_multiplication_gf2_571_input_t;
2501 
2502 
2503 
2504 /**
2505  * @ingroup icp_qat_fw_mmp
2506  * @brief
2507  *    Input parameter list for ECC GF2 Point Verification for degree 571 ,
2508  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_POINT_VERIFY_GF2_571.
2509  */
2510 typedef struct icp_qat_fw_maths_point_verify_gf2_571_input_s
2511 {
2512     uint64_t xq; /**< x coordinate of candidate public key (9 qwords)*/
2513     uint64_t yq; /**< y coordinate of candidate public key (9 qwords)*/
2514     uint64_t q; /**< field polynomial of B/K-571 (9 qwords)*/
2515     uint64_t a; /**< a equation coefficient of B/K-571 (9 qwords)*/
2516     uint64_t b; /**< b equation coefficient of B/K-571 (9 qwords)*/
2517 } icp_qat_fw_maths_point_verify_gf2_571_input_t;
2518 
2519 
2520 
2521 /**
2522  * @ingroup icp_qat_fw_mmp
2523  * @brief
2524  *    Input parameter list for ECDSA GFP Sign R ,
2525  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_SIGN_R_GFP_L256.
2526  */
2527 typedef struct icp_qat_fw_mmp_ecdsa_sign_r_gfp_l256_input_s
2528 {
2529     uint64_t xg; /**< x coordinate of base point G,  (4 qwords)*/
2530     uint64_t yg; /**< y coordinate of base point G,  (4 qwords)*/
2531     uint64_t n; /**< order of the base point G, which shall be prime  (4 qwords)*/
2532     uint64_t q; /**< modulus  (4 qwords)*/
2533     uint64_t a; /**< a equation coefficient  (4 qwords)*/
2534     uint64_t b; /**< b equation coefficient  (4 qwords)*/
2535     uint64_t k; /**< random value  (4 qwords)*/
2536 } icp_qat_fw_mmp_ecdsa_sign_r_gfp_l256_input_t;
2537 
2538 
2539 
2540 /**
2541  * @ingroup icp_qat_fw_mmp
2542  * @brief
2543  *    Input parameter list for ECDSA GFP Sign S ,
2544  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_SIGN_S_GFP_L256.
2545  */
2546 typedef struct icp_qat_fw_mmp_ecdsa_sign_s_gfp_l256_input_s
2547 {
2548     uint64_t e; /**< digest of the message to be signed  (4 qwords)*/
2549     uint64_t d; /**< private key  (4 qwords)*/
2550     uint64_t r; /**< DSA r signature value  (4 qwords)*/
2551     uint64_t k; /**< random value  (4 qwords)*/
2552     uint64_t n; /**< order of the base point G, which shall be prime  (4 qwords)*/
2553 } icp_qat_fw_mmp_ecdsa_sign_s_gfp_l256_input_t;
2554 
2555 
2556 
2557 /**
2558  * @ingroup icp_qat_fw_mmp
2559  * @brief
2560  *    Input parameter list for ECDSA GFP Sign RS ,
2561  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_SIGN_RS_GFP_L256.
2562  */
2563 typedef struct icp_qat_fw_mmp_ecdsa_sign_rs_gfp_l256_input_s
2564 {
2565     uint64_t in; /**< {xG, yG, n, q, a, b, k, e, d} concatenated  (36 qwords)*/
2566 } icp_qat_fw_mmp_ecdsa_sign_rs_gfp_l256_input_t;
2567 
2568 
2569 
2570 /**
2571  * @ingroup icp_qat_fw_mmp
2572  * @brief
2573  *    Input parameter list for ECDSA GFP Verify ,
2574  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_VERIFY_GFP_L256.
2575  */
2576 typedef struct icp_qat_fw_mmp_ecdsa_verify_gfp_l256_input_s
2577 {
2578     uint64_t in; /**< in = {e, s, r, n, xG, yG, xQ, yQ, a, b ,q} concatenated  (44 qwords)*/
2579 } icp_qat_fw_mmp_ecdsa_verify_gfp_l256_input_t;
2580 
2581 
2582 
2583 /**
2584  * @ingroup icp_qat_fw_mmp
2585  * @brief
2586  *    Input parameter list for ECDSA GFP Sign R ,
2587  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_SIGN_R_GFP_L512.
2588  */
2589 typedef struct icp_qat_fw_mmp_ecdsa_sign_r_gfp_l512_input_s
2590 {
2591     uint64_t xg; /**< x coordinate of base point G,  (8 qwords)*/
2592     uint64_t yg; /**< y coordinate of base point G,  (8 qwords)*/
2593     uint64_t n; /**< order of the base point G, which shall be prime  (8 qwords)*/
2594     uint64_t q; /**< modulus  (8 qwords)*/
2595     uint64_t a; /**< a equation coefficient  (8 qwords)*/
2596     uint64_t b; /**< b equation coefficient  (8 qwords)*/
2597     uint64_t k; /**< random value  (8 qwords)*/
2598 } icp_qat_fw_mmp_ecdsa_sign_r_gfp_l512_input_t;
2599 
2600 
2601 
2602 /**
2603  * @ingroup icp_qat_fw_mmp
2604  * @brief
2605  *    Input parameter list for ECDSA GFP Sign S ,
2606  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_SIGN_S_GFP_L512.
2607  */
2608 typedef struct icp_qat_fw_mmp_ecdsa_sign_s_gfp_l512_input_s
2609 {
2610     uint64_t e; /**< digest of the message to be signed  (8 qwords)*/
2611     uint64_t d; /**< private key  (8 qwords)*/
2612     uint64_t r; /**< DSA r signature value  (8 qwords)*/
2613     uint64_t k; /**< random value  (8 qwords)*/
2614     uint64_t n; /**< order of the base point G, which shall be prime  (8 qwords)*/
2615 } icp_qat_fw_mmp_ecdsa_sign_s_gfp_l512_input_t;
2616 
2617 
2618 
2619 /**
2620  * @ingroup icp_qat_fw_mmp
2621  * @brief
2622  *    Input parameter list for ECDSA GFP Sign RS ,
2623  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_SIGN_RS_GFP_L512.
2624  */
2625 typedef struct icp_qat_fw_mmp_ecdsa_sign_rs_gfp_l512_input_s
2626 {
2627     uint64_t in; /**< {xG, yG, n, q, a, b, k, e, d} concatenated  (72 qwords)*/
2628 } icp_qat_fw_mmp_ecdsa_sign_rs_gfp_l512_input_t;
2629 
2630 
2631 
2632 /**
2633  * @ingroup icp_qat_fw_mmp
2634  * @brief
2635  *    Input parameter list for ECDSA GFP Verify ,
2636  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_VERIFY_GFP_L512.
2637  */
2638 typedef struct icp_qat_fw_mmp_ecdsa_verify_gfp_l512_input_s
2639 {
2640     uint64_t in; /**< in = {e, s, r, n, xG, yG, xQ, yQ, a, b ,q} concatenated  (88 qwords)*/
2641 } icp_qat_fw_mmp_ecdsa_verify_gfp_l512_input_t;
2642 
2643 
2644 
2645 /**
2646  * @ingroup icp_qat_fw_mmp
2647  * @brief
2648  *    Input parameter list for ECDSA GFP Sign R ,
2649  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_SIGN_R_GFP_521.
2650  */
2651 typedef struct icp_qat_fw_mmp_ecdsa_sign_r_gfp_521_input_s
2652 {
2653     uint64_t xg; /**< x coordinate of base point G,  (9 qwords)*/
2654     uint64_t yg; /**< y coordinate of base point G,  (9 qwords)*/
2655     uint64_t n; /**< order of the base point G, which shall be prime  (9 qwords)*/
2656     uint64_t q; /**< modulus  (9 qwords)*/
2657     uint64_t a; /**< a equation coefficient  (9 qwords)*/
2658     uint64_t b; /**< b equation coefficient  (9 qwords)*/
2659     uint64_t k; /**< random value  (9 qwords)*/
2660 } icp_qat_fw_mmp_ecdsa_sign_r_gfp_521_input_t;
2661 
2662 
2663 
2664 /**
2665  * @ingroup icp_qat_fw_mmp
2666  * @brief
2667  *    Input parameter list for ECDSA GFP Sign S ,
2668  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_SIGN_S_GFP_521.
2669  */
2670 typedef struct icp_qat_fw_mmp_ecdsa_sign_s_gfp_521_input_s
2671 {
2672     uint64_t e; /**< digest of the message to be signed  (9 qwords)*/
2673     uint64_t d; /**< private key  (9 qwords)*/
2674     uint64_t r; /**< DSA r signature value  (9 qwords)*/
2675     uint64_t k; /**< random value  (9 qwords)*/
2676     uint64_t n; /**< order of the base point G, which shall be prime  (9 qwords)*/
2677 } icp_qat_fw_mmp_ecdsa_sign_s_gfp_521_input_t;
2678 
2679 
2680 
2681 /**
2682  * @ingroup icp_qat_fw_mmp
2683  * @brief
2684  *    Input parameter list for ECDSA GFP Sign RS ,
2685  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_SIGN_RS_GFP_521.
2686  */
2687 typedef struct icp_qat_fw_mmp_ecdsa_sign_rs_gfp_521_input_s
2688 {
2689     uint64_t in; /**< {xG, yG, n, q, a, b, k, e, d} concatenated  (81 qwords)*/
2690 } icp_qat_fw_mmp_ecdsa_sign_rs_gfp_521_input_t;
2691 
2692 
2693 
2694 /**
2695  * @ingroup icp_qat_fw_mmp
2696  * @brief
2697  *    Input parameter list for ECDSA GFP Verify ,
2698  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #PKE_ECDSA_VERIFY_GFP_521.
2699  */
2700 typedef struct icp_qat_fw_mmp_ecdsa_verify_gfp_521_input_s
2701 {
2702     uint64_t in; /**< in = {e, s, r, n, xG, yG, xQ, yQ, a, b ,q} concatenated  (99 qwords)*/
2703 } icp_qat_fw_mmp_ecdsa_verify_gfp_521_input_t;
2704 
2705 
2706 
2707 /**
2708  * @ingroup icp_qat_fw_mmp
2709  * @brief
2710  *    Input parameter list for ECC GFP Point Multiplication ,
2711  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_POINT_MULTIPLICATION_GFP_L256.
2712  */
2713 typedef struct icp_qat_fw_maths_point_multiplication_gfp_l256_input_s
2714 {
2715     uint64_t k; /**< scalar multiplier  (4 qwords)*/
2716     uint64_t xg; /**< x coordinate of curve point  (4 qwords)*/
2717     uint64_t yg; /**< y coordinate of curve point  (4 qwords)*/
2718     uint64_t a; /**< a equation coefficient  (4 qwords)*/
2719     uint64_t b; /**< b equation coefficient  (4 qwords)*/
2720     uint64_t q; /**< modulus  (4 qwords)*/
2721     uint64_t h; /**< cofactor  (4 qwords)*/
2722 } icp_qat_fw_maths_point_multiplication_gfp_l256_input_t;
2723 
2724 
2725 
2726 /**
2727  * @ingroup icp_qat_fw_mmp
2728  * @brief
2729  *    Input parameter list for ECC GFP Partial Point Verification ,
2730  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_POINT_VERIFY_GFP_L256.
2731  */
2732 typedef struct icp_qat_fw_maths_point_verify_gfp_l256_input_s
2733 {
2734     uint64_t xq; /**< x coordinate of candidate point (4 qwords)*/
2735     uint64_t yq; /**< y coordinate of candidate point (4 qwords)*/
2736     uint64_t q; /**< modulus (4 qwords)*/
2737     uint64_t a; /**< a equation coefficient  (4 qwords)*/
2738     uint64_t b; /**< b equation coefficient  (4 qwords)*/
2739 } icp_qat_fw_maths_point_verify_gfp_l256_input_t;
2740 
2741 
2742 
2743 /**
2744  * @ingroup icp_qat_fw_mmp
2745  * @brief
2746  *    Input parameter list for ECC GFP Point Multiplication ,
2747  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_POINT_MULTIPLICATION_GFP_L512.
2748  */
2749 typedef struct icp_qat_fw_maths_point_multiplication_gfp_l512_input_s
2750 {
2751     uint64_t k; /**< scalar multiplier  (8 qwords)*/
2752     uint64_t xg; /**< x coordinate of curve point  (8 qwords)*/
2753     uint64_t yg; /**< y coordinate of curve point  (8 qwords)*/
2754     uint64_t a; /**< a equation coefficient  (8 qwords)*/
2755     uint64_t b; /**< b equation coefficient  (8 qwords)*/
2756     uint64_t q; /**< modulus  (8 qwords)*/
2757     uint64_t h; /**< cofactor  (8 qwords)*/
2758 } icp_qat_fw_maths_point_multiplication_gfp_l512_input_t;
2759 
2760 
2761 
2762 /**
2763  * @ingroup icp_qat_fw_mmp
2764  * @brief
2765  *    Input parameter list for ECC GFP Partial Point ,
2766  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_POINT_VERIFY_GFP_L512.
2767  */
2768 typedef struct icp_qat_fw_maths_point_verify_gfp_l512_input_s
2769 {
2770     uint64_t xq; /**< x coordinate of candidate point (8 qwords)*/
2771     uint64_t yq; /**< y coordinate of candidate point (8 qwords)*/
2772     uint64_t q; /**< modulus  (8 qwords)*/
2773     uint64_t a; /**< a equation coefficient  (8 qwords)*/
2774     uint64_t b; /**< b equation coefficient  (8 qwords)*/
2775 } icp_qat_fw_maths_point_verify_gfp_l512_input_t;
2776 
2777 
2778 
2779 /**
2780  * @ingroup icp_qat_fw_mmp
2781  * @brief
2782  *    Input parameter list for ECC GFP Point Multiplication ,
2783  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_POINT_MULTIPLICATION_GFP_521.
2784  */
2785 typedef struct icp_qat_fw_maths_point_multiplication_gfp_521_input_s
2786 {
2787     uint64_t k; /**< scalar multiplier  (9 qwords)*/
2788     uint64_t xg; /**< x coordinate of curve point  (9 qwords)*/
2789     uint64_t yg; /**< y coordinate of curve point  (9 qwords)*/
2790     uint64_t a; /**< a equation coefficient  (9 qwords)*/
2791     uint64_t b; /**< b equation coefficient (9 qwords)*/
2792     uint64_t q; /**< modulus  (9 qwords)*/
2793     uint64_t h; /**< cofactor  (1 qwords)*/
2794 } icp_qat_fw_maths_point_multiplication_gfp_521_input_t;
2795 
2796 
2797 
2798 /**
2799  * @ingroup icp_qat_fw_mmp
2800  * @brief
2801  *    Input parameter list for ECC GFP Partial Point Verification ,
2802  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #MATHS_POINT_VERIFY_GFP_521.
2803  */
2804 typedef struct icp_qat_fw_maths_point_verify_gfp_521_input_s
2805 {
2806     uint64_t xq; /**< x coordinate of candidate point (9 qwords)*/
2807     uint64_t yq; /**< y coordinate of candidate point (9 qwords)*/
2808     uint64_t q; /**< modulus  (9 qwords)*/
2809     uint64_t a; /**< a equation coefficient  (9 qwords)*/
2810     uint64_t b; /**< b equation coefficient (9 qwords)*/
2811 } icp_qat_fw_maths_point_verify_gfp_521_input_t;
2812 
2813 
2814 
2815 /**
2816  * @ingroup icp_qat_fw_mmp
2817  * @brief
2818  *    Input parameter list for ECC curve25519 Variable Point Multiplication [k]P(x), as specified in RFC7748 ,
2819  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #POINT_MULTIPLICATION_C25519.
2820  */
2821 typedef struct icp_qat_fw_point_multiplication_c25519_input_s
2822 {
2823     uint64_t xp; /**< xP = Montgomery affine coordinate X of point P  (4 qwords)*/
2824     uint64_t k; /**< k  = scalar  (4 qwords)*/
2825 } icp_qat_fw_point_multiplication_c25519_input_t;
2826 
2827 
2828 
2829 /**
2830  * @ingroup icp_qat_fw_mmp
2831  * @brief
2832  *    Input parameter list for ECC curve25519 Generator Point Multiplication [k]G(x), as specified in RFC7748 ,
2833  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #GENERATOR_MULTIPLICATION_C25519.
2834  */
2835 typedef struct icp_qat_fw_generator_multiplication_c25519_input_s
2836 {
2837     uint64_t k; /**< k  = scalar  (4 qwords)*/
2838 } icp_qat_fw_generator_multiplication_c25519_input_t;
2839 
2840 
2841 
2842 /**
2843  * @ingroup icp_qat_fw_mmp
2844  * @brief
2845  *    Input parameter list for ECC edwards25519 Variable Point Multiplication [k]P, as specified in RFC8032 ,
2846  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #POINT_MULTIPLICATION_ED25519.
2847  */
2848 typedef struct icp_qat_fw_point_multiplication_ed25519_input_s
2849 {
2850     uint64_t xp; /**< xP = Twisted Edwards affine coordinate X of point P  (4 qwords)*/
2851     uint64_t yp; /**< yP = Twisted Edwards affine coordinate Y of point P  (4 qwords)*/
2852     uint64_t k; /**< k  = scalar  (4 qwords)*/
2853 } icp_qat_fw_point_multiplication_ed25519_input_t;
2854 
2855 
2856 
2857 /**
2858  * @ingroup icp_qat_fw_mmp
2859  * @brief
2860  *    Input parameter list for ECC edwards25519 Generator Point Multiplication [k]G, as specified in RFC8032 ,
2861  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #GENERATOR_MULTIPLICATION_ED25519.
2862  */
2863 typedef struct icp_qat_fw_generator_multiplication_ed25519_input_s
2864 {
2865     uint64_t k; /**< k  = scalar  (4 qwords)*/
2866 } icp_qat_fw_generator_multiplication_ed25519_input_t;
2867 
2868 
2869 
2870 /**
2871  * @ingroup icp_qat_fw_mmp
2872  * @brief
2873  *    Input parameter list for ECC curve448 Variable Point Multiplication [k]P(x), as specified in RFC7748 ,
2874  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #POINT_MULTIPLICATION_C448.
2875  */
2876 typedef struct icp_qat_fw_point_multiplication_c448_input_s
2877 {
2878     uint64_t xp; /**< xP = Montgomery affine coordinate X of point P  (8 qwords)*/
2879     uint64_t k; /**< k  = scalar  (8 qwords)*/
2880 } icp_qat_fw_point_multiplication_c448_input_t;
2881 
2882 
2883 
2884 /**
2885  * @ingroup icp_qat_fw_mmp
2886  * @brief
2887  *    Input parameter list for ECC curve448 Generator Point Multiplication [k]G(x), as specified in RFC7748 ,
2888  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #GENERATOR_MULTIPLICATION_C448.
2889  */
2890 typedef struct icp_qat_fw_generator_multiplication_c448_input_s
2891 {
2892     uint64_t k; /**< k  = scalar  (8 qwords)*/
2893 } icp_qat_fw_generator_multiplication_c448_input_t;
2894 
2895 
2896 
2897 /**
2898  * @ingroup icp_qat_fw_mmp
2899  * @brief
2900  *    Input parameter list for ECC edwards448 Variable Point Multiplication [k]P, as specified in RFC8032 ,
2901  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #POINT_MULTIPLICATION_ED448.
2902  */
2903 typedef struct icp_qat_fw_point_multiplication_ed448_input_s
2904 {
2905     uint64_t xp; /**< xP = Edwards affine coordinate X of point P  (8 qwords)*/
2906     uint64_t yp; /**< yP = Edwards affine coordinate Y of point P  (8 qwords)*/
2907     uint64_t k; /**< k  = scalar  (8 qwords)*/
2908 } icp_qat_fw_point_multiplication_ed448_input_t;
2909 
2910 
2911 
2912 /**
2913  * @ingroup icp_qat_fw_mmp
2914  * @brief
2915  *    Input parameter list for ECC edwards448 Generator Point Multiplication [k]P, as specified in RFC8032 ,
2916  *      to be used when icp_qat_fw_pke_request_s::functionalityId is #GENERATOR_MULTIPLICATION_ED448.
2917  */
2918 typedef struct icp_qat_fw_generator_multiplication_ed448_input_s
2919 {
2920     uint64_t k; /**< k  = scalar  (8 qwords)*/
2921 } icp_qat_fw_generator_multiplication_ed448_input_t;
2922 
2923 /**
2924  * @ingroup icp_qat_fw_mmp
2925  * @brief
2926  *    Input parameter list for ECC P521 ECDSA Sign RS ,
2927  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
2928  * #PKE_KPT_ECDSA_SIGN_RS_P521.
2929  */
2930 typedef struct icp_qat_fw_mmp_kpt_ecdsa_sign_rs_p521_input_s
2931 {
2932     uint64_t kpt_wrapped;          /**<  (42 qwords)*/
2933     uint64_t kpt_wrapping_context; /**< unwrap context (8 qwords)*/
2934     uint64_t e;                    /**<  (6 qwords)*/
2935 } icp_qat_fw_mmp_kpt_ecdsa_sign_rs_p521_input_t;
2936 
2937 /**
2938  * @ingroup icp_qat_fw_mmp
2939  * @brief
2940  *    Input parameter list for ECC P384 ECDSA Sign RS ,
2941  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
2942  * #PKE_KPT_ECDSA_SIGN_RS_P384.
2943  */
2944 typedef struct icp_qat_fw_mmp_kpt_ecdsa_sign_rs_p384_input_s
2945 {
2946     uint64_t kpt_wrapped;          /**<  (42 qwords)*/
2947     uint64_t kpt_wrapping_context; /**< unwrap context (8 qwords)*/
2948     uint64_t e;                    /**<  (6 qwords)*/
2949 } icp_qat_fw_mmp_kpt_ecdsa_sign_rs_p384_input_t;
2950 
2951 /**
2952  * @ingroup icp_qat_fw_mmp
2953  * @brief
2954  *    Input parameter list for ECC KPT P256 ECDSA Sign RS ,
2955  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
2956  * #PKE_KPT_ECDSA_SIGN_RS_P256.
2957  */
2958 typedef struct icp_qat_fw_mmp_kpt_ecdsa_sign_rs_p256_input_s
2959 {
2960     uint64_t kpt_wrapped;        /**<  (28 qwords)*/
2961     uint64_t key_unwrap_context; /**< unwrap context  (8 qwords)*/
2962     uint64_t e;                  /**<  (4 qwords)*/
2963 } icp_qat_fw_mmp_kpt_ecdsa_sign_rs_p256_input_t;
2964 
2965 /**
2966  * @ingroup icp_qat_fw_mmp
2967  * @brief
2968  *    Input parameter list for KPT RSA 512 Decryption ,
2969  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
2970  * #PKE_KPT_RSA_DP1_512.
2971  */
2972 typedef struct icp_qat_fw_mmp_kpt_rsa_dp1_512_input_s
2973 {
2974     uint64_t c;           /**< cipher text representative, &lt; n (8 qwords)*/
2975     uint64_t kpt_wrapped; /**<  (16 qwords)*/
2976     uint64_t kpt_unwrap_context; /**< unwrap context (8 qwords)*/
2977 } icp_qat_fw_mmp_kpt_rsa_dp1_512_input_t;
2978 
2979 /**
2980  * @ingroup icp_qat_fw_mmp
2981  * @brief
2982  *    Input parameter list for KPT RSA 1024 Decryption ,
2983  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
2984  * #PKE_KPT_RSA_DP1_1024.
2985  */
2986 typedef struct icp_qat_fw_mmp_kpt_rsa_dp1_1024_input_s
2987 {
2988     uint64_t c;           /**< cipher text representative, &lt; n (16 qwords)*/
2989     uint64_t kpt_wrapped; /**<  (32 qwords)*/
2990     uint64_t kpt_unwrap_context; /**< unwrap context (8 qwords)*/
2991 } icp_qat_fw_mmp_kpt_rsa_dp1_1024_input_t;
2992 
2993 /**
2994  * @ingroup icp_qat_fw_mmp
2995  * @brief
2996  *    Input parameter list for KPT RSA 1536 Decryption ,
2997  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
2998  * #PKE_KPT_RSA_DP1_1536.
2999  */
3000 typedef struct icp_qat_fw_mmp_kpt_rsa_dp1_1536_input_s
3001 {
3002     uint64_t c;           /**< cipher text representative, &lt; n (24 qwords)*/
3003     uint64_t kpt_wrapped; /**<  (48 qwords)*/
3004     uint64_t kpt_unwrap_context; /**< unwrap context (8 qwords)*/
3005 } icp_qat_fw_mmp_kpt_rsa_dp1_1536_input_t;
3006 
3007 /**
3008  * @ingroup icp_qat_fw_mmp
3009  * @brief
3010  *    Input parameter list for KPT RSA 2048 Decryption ,
3011  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
3012  * #PKE_KPT_RSA_DP1_2048.
3013  */
3014 typedef struct icp_qat_fw_mmp_kpt_rsa_dp1_2048_input_s
3015 {
3016     uint64_t c;           /**< cipher text representative, &lt; n (32 qwords)*/
3017     uint64_t kpt_wrapped; /**<  (64 qwords)*/
3018     uint64_t kpt_unwrap_context; /**< unwrap context (8 qwords)*/
3019 } icp_qat_fw_mmp_kpt_rsa_dp1_2048_input_t;
3020 
3021 /**
3022  * @ingroup icp_qat_fw_mmp
3023  * @brief
3024  *    Input parameter list for KPT RSA 3072 Decryption ,
3025  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
3026  * #PKE_KPT_RSA_DP1_3072.
3027  */
3028 typedef struct icp_qat_fw_mmp_kpt_rsa_dp1_3072_input_s
3029 {
3030     uint64_t c;           /**< cipher text representative, &lt; n (48 qwords)*/
3031     uint64_t kpt_wrapped; /**<  (96 qwords)*/
3032     uint64_t kpt_unwrap_context; /**< unwrap context (8 qwords)*/
3033 } icp_qat_fw_mmp_kpt_rsa_dp1_3072_input_t;
3034 
3035 /**
3036  * @ingroup icp_qat_fw_mmp
3037  * @brief
3038  *    Input parameter list for KPT RSA 4096 Decryption ,
3039  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
3040  * #PKE_KPT_RSA_DP1_4096.
3041  */
3042 typedef struct icp_qat_fw_mmp_kpt_rsa_dp1_4096_input_s
3043 {
3044     uint64_t c;           /**< cipher text representative, &lt; n (64 qwords)*/
3045     uint64_t kpt_wrapped; /**<  (128 qwords)*/
3046     uint64_t kpt_unwrap_context; /**< unwrap context (8 qwords)*/
3047 } icp_qat_fw_mmp_kpt_rsa_dp1_4096_input_t;
3048 
3049 /**
3050  * @ingroup icp_qat_fw_mmp
3051  * @brief
3052  *    Input parameter list for KPT RSA 8192 Decryption ,
3053  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
3054  * #PKE_KPT_RSA_DP1_8192.
3055  */
3056 typedef struct icp_qat_fw_mmp_kpt_rsa_dp1_8192_input_s
3057 {
3058     uint64_t c;           /**< cipher text representative, &lt; n (128 qwords)*/
3059     uint64_t kpt_wrapped; /**<  (256 qwords)*/
3060     uint64_t kpt_unwrap_context; /**< unwrap context (8 qwords)*/
3061 } icp_qat_fw_mmp_kpt_rsa_dp1_8192_input_t;
3062 
3063 /**
3064  * @ingroup icp_qat_fw_mmp
3065  * @brief
3066  *    Input parameter list for RSA 512 decryption second form ,
3067  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
3068  * #PKE_KPT_RSA_DP2_512.
3069  */
3070 typedef struct icp_qat_fw_mmp_kpt_rsa_dp2_512_input_s
3071 {
3072     uint64_t c; /**< cipher text representative, &lt; (p*q) (8 qwords)*/
3073     uint64_t kpt_wrapped;        /**<  (28 qwords)*/
3074     uint64_t kpt_unwrap_context; /**< unwrap context (8 qwords)*/
3075 } icp_qat_fw_mmp_kpt_rsa_dp2_512_input_t;
3076 
3077 /**
3078  * @ingroup icp_qat_fw_mmp
3079  * @brief
3080  *    Input parameter list for RSA 1024 Decryption with CRT ,
3081  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
3082  * #PKE_KPT_RSA_DP2_1024.
3083  */
3084 typedef struct icp_qat_fw_mmp_kpt_rsa_dp2_1024_input_s
3085 {
3086     uint64_t c; /**< cipher text representative, &lt; (p*q) (16 qwords)*/
3087     uint64_t kpt_wrapped;        /**<  (56 qwords)*/
3088     uint64_t kpt_unwrap_context; /**< unwrap context (8 qwords)*/
3089 } icp_qat_fw_mmp_kpt_rsa_dp2_1024_input_t;
3090 
3091 /**
3092  * @ingroup icp_qat_fw_mmp
3093  * @brief
3094  *    Input parameter list for KPT RSA 1536 Decryption with CRT ,
3095  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
3096  * #PKE_KPT_RSA_DP2_1536.
3097  */
3098 typedef struct icp_qat_fw_mmp_kpt_rsa_dp2_1536_input_s
3099 {
3100     uint64_t c; /**< cipher text representative, &lt; (p*q) (24 qwords)*/
3101     uint64_t kpt_wrapped;        /**<  (84 qwords)*/
3102     uint64_t kpt_unwrap_context; /**< unwrap context (8 qwords)*/
3103 } icp_qat_fw_mmp_kpt_rsa_dp2_1536_input_t;
3104 
3105 /**
3106  * @ingroup icp_qat_fw_mmp
3107  * @brief
3108  *    Input parameter list for RSA 2048 Decryption with CRT ,
3109  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
3110  * #PKE_KPT_RSA_DP2_2048.
3111  */
3112 typedef struct icp_qat_fw_mmp_kpt_rsa_dp2_2048_input_s
3113 {
3114     uint64_t c; /**< cipher text representative, &lt; (p*q) (32 qwords)*/
3115     uint64_t kpt_wrapped;        /**<  (112 qwords)*/
3116     uint64_t kpt_unwrap_context; /**< unwrap context (8 qwords)*/
3117 } icp_qat_fw_mmp_kpt_rsa_dp2_2048_input_t;
3118 
3119 /**
3120  * @ingroup icp_qat_fw_mmp
3121  * @brief
3122  *    Input parameter list for ,
3123  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
3124  * #PKE_KPT_RSA_DP2_3072.
3125  */
3126 typedef struct icp_qat_fw_mmp_kpt_rsa_dp2_3072_input_s
3127 {
3128     uint64_t c; /**< cipher text representative, &lt; (p*q) (48 qwords)*/
3129     uint64_t kpt_wrapped;        /**<  (168 qwords)*/
3130     uint64_t kpt_unwrap_context; /**< unwrap context (8 qwords)*/
3131 } icp_qat_fw_mmp_kpt_rsa_dp2_3072_input_t;
3132 
3133 /**
3134  * @ingroup icp_qat_fw_mmp
3135  * @brief
3136  *    Input parameter list for RSA 4096 Decryption with CRT ,
3137  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
3138  * #PKE_KPT_RSA_DP2_4096.
3139  */
3140 typedef struct icp_qat_fw_mmp_kpt_rsa_dp2_4096_input_s
3141 {
3142     uint64_t c; /**< cipher text representative, &lt; (p*q) (64 qwords)*/
3143     uint64_t kpt_wrapped;        /**<  (224 qwords)*/
3144     uint64_t kpt_unwrap_context; /**< unwrap context (8 qwords)*/
3145 } icp_qat_fw_mmp_kpt_rsa_dp2_4096_input_t;
3146 
3147 /**
3148  * @ingroup icp_qat_fw_mmp
3149  * @brief
3150  *    Input parameter list for RSA 8192 Decryption with CRT ,
3151  *      to be used when icp_qat_fw_pke_request_s::functionalityId is
3152  * #PKE_KPT_RSA_DP2_8192.
3153  */
3154 typedef struct icp_qat_fw_mmp_kpt_rsa_dp2_8192_input_s
3155 {
3156     uint64_t c; /**< cipher text representative, &lt; (p*q) (128 qwords)*/
3157     uint64_t kpt_wrapped;        /**<  (448 qwords)*/
3158     uint64_t kpt_unwrap_context; /**< unwrap context (8 qwords)*/
3159 } icp_qat_fw_mmp_kpt_rsa_dp2_8192_input_t;
3160 
3161 /**
3162  * @ingroup icp_qat_fw_mmp
3163  * @brief
3164  *    MMP input parameters
3165  */
3166 typedef union icp_qat_fw_mmp_input_param_u
3167 {
3168     /** Generic parameter structure : All members of this wrapper structure
3169      * are pointers to large integers.
3170      */
3171     uint64_t flat_array[ICP_QAT_FW_PKE_INPUT_COUNT_MAX];
3172     /** ECC P384 Variable Point Multiplication [k]P  */
3173 
3174     icp_qat_fw_mmp_ec_point_multiplication_p384_input_t
3175         mmp_ec_point_multiplication_p384;
3176 
3177     /** ECC P384 Generator Point Multiplication [k]G  */
3178     icp_qat_fw_mmp_ec_generator_multiplication_p384_input_t
3179         mmp_ec_generator_multiplication_p384;
3180 
3181     /** ECC P384 ECDSA Sign RS  */
3182     icp_qat_fw_mmp_ecdsa_sign_rs_p384_input_t mmp_ecdsa_sign_rs_p384;
3183 
3184     /** ECC P256 Variable Point Multiplication [k]P  */
3185     icp_qat_fw_mmp_ec_point_multiplication_p256_input_t
3186         mmp_ec_point_multiplication_p256;
3187 
3188     /** ECC P256 Generator Point Multiplication [k]G  */
3189     icp_qat_fw_mmp_ec_generator_multiplication_p256_input_t
3190         mmp_ec_generator_multiplication_p256;
3191 
3192     /** ECC P256 ECDSA Sign RS  */
3193     icp_qat_fw_mmp_ecdsa_sign_rs_p256_input_t mmp_ecdsa_sign_rs_p256;
3194 
3195     /** Initialisation sequence  */
3196     icp_qat_fw_mmp_init_input_t mmp_init;
3197 
3198     /** Diffie-Hellman Modular exponentiation base 2 for 768-bit numbers  */
3199     icp_qat_fw_mmp_dh_g2_768_input_t mmp_dh_g2_768;
3200 
3201     /** Diffie-Hellman Modular exponentiation for 768-bit numbers  */
3202     icp_qat_fw_mmp_dh_768_input_t mmp_dh_768;
3203 
3204     /** Diffie-Hellman Modular exponentiation base 2 for 1024-bit numbers  */
3205     icp_qat_fw_mmp_dh_g2_1024_input_t mmp_dh_g2_1024;
3206 
3207     /** Diffie-Hellman Modular exponentiation for 1024-bit numbers  */
3208     icp_qat_fw_mmp_dh_1024_input_t mmp_dh_1024;
3209 
3210     /** Diffie-Hellman Modular exponentiation base 2 for 1536-bit numbers  */
3211     icp_qat_fw_mmp_dh_g2_1536_input_t mmp_dh_g2_1536;
3212 
3213     /** Diffie-Hellman Modular exponentiation for 1536-bit numbers  */
3214     icp_qat_fw_mmp_dh_1536_input_t mmp_dh_1536;
3215 
3216     /** Diffie-Hellman Modular exponentiation base 2 for 2048-bit numbers  */
3217     icp_qat_fw_mmp_dh_g2_2048_input_t mmp_dh_g2_2048;
3218 
3219     /** Diffie-Hellman Modular exponentiation for 2048-bit numbers  */
3220     icp_qat_fw_mmp_dh_2048_input_t mmp_dh_2048;
3221 
3222     /** Diffie-Hellman Modular exponentiation base 2 for 3072-bit numbers  */
3223     icp_qat_fw_mmp_dh_g2_3072_input_t mmp_dh_g2_3072;
3224 
3225     /** Diffie-Hellman Modular exponentiation for 3072-bit numbers  */
3226     icp_qat_fw_mmp_dh_3072_input_t mmp_dh_3072;
3227 
3228     /** Diffie-Hellman Modular exponentiation base 2 for 4096-bit numbers  */
3229     icp_qat_fw_mmp_dh_g2_4096_input_t mmp_dh_g2_4096;
3230 
3231     /** Diffie-Hellman Modular exponentiation for 4096-bit numbers  */
3232     icp_qat_fw_mmp_dh_4096_input_t mmp_dh_4096;
3233 
3234     /** Diffie-Hellman Modular exponentiation base 2 for 8192-bit numbers  */
3235     icp_qat_fw_mmp_dh_g2_8192_input_t mmp_dh_g2_8192;
3236 
3237     /** Diffie-Hellman Modular exponentiation for 8192-bit numbers  */
3238     icp_qat_fw_mmp_dh_8192_input_t mmp_dh_8192;
3239 
3240     /** RSA 512 key generation first form  */
3241     icp_qat_fw_mmp_rsa_kp1_512_input_t mmp_rsa_kp1_512;
3242 
3243     /** RSA 512 key generation second form  */
3244     icp_qat_fw_mmp_rsa_kp2_512_input_t mmp_rsa_kp2_512;
3245 
3246     /** RSA 512 Encryption  */
3247     icp_qat_fw_mmp_rsa_ep_512_input_t mmp_rsa_ep_512;
3248 
3249     /** RSA 512 Decryption  */
3250     icp_qat_fw_mmp_rsa_dp1_512_input_t mmp_rsa_dp1_512;
3251 
3252     /** RSA 1024 Decryption with CRT  */
3253     icp_qat_fw_mmp_rsa_dp2_512_input_t mmp_rsa_dp2_512;
3254 
3255     /** RSA 1024 key generation first form  */
3256     icp_qat_fw_mmp_rsa_kp1_1024_input_t mmp_rsa_kp1_1024;
3257 
3258     /** RSA 1024 key generation second form  */
3259     icp_qat_fw_mmp_rsa_kp2_1024_input_t mmp_rsa_kp2_1024;
3260 
3261     /** RSA 1024 Encryption  */
3262     icp_qat_fw_mmp_rsa_ep_1024_input_t mmp_rsa_ep_1024;
3263 
3264     /** RSA 1024 Decryption  */
3265     icp_qat_fw_mmp_rsa_dp1_1024_input_t mmp_rsa_dp1_1024;
3266 
3267     /** RSA 1024 Decryption with CRT  */
3268     icp_qat_fw_mmp_rsa_dp2_1024_input_t mmp_rsa_dp2_1024;
3269 
3270     /** RSA 1536 key generation first form  */
3271     icp_qat_fw_mmp_rsa_kp1_1536_input_t mmp_rsa_kp1_1536;
3272 
3273     /** RSA 1536 key generation second form  */
3274     icp_qat_fw_mmp_rsa_kp2_1536_input_t mmp_rsa_kp2_1536;
3275 
3276     /** RSA 1536 Encryption  */
3277     icp_qat_fw_mmp_rsa_ep_1536_input_t mmp_rsa_ep_1536;
3278 
3279     /** RSA 1536 Decryption  */
3280     icp_qat_fw_mmp_rsa_dp1_1536_input_t mmp_rsa_dp1_1536;
3281 
3282     /** RSA 1536 Decryption with CRT  */
3283     icp_qat_fw_mmp_rsa_dp2_1536_input_t mmp_rsa_dp2_1536;
3284 
3285     /** RSA 2048 key generation first form  */
3286     icp_qat_fw_mmp_rsa_kp1_2048_input_t mmp_rsa_kp1_2048;
3287 
3288     /** RSA 2048 key generation second form  */
3289     icp_qat_fw_mmp_rsa_kp2_2048_input_t mmp_rsa_kp2_2048;
3290 
3291     /** RSA 2048 Encryption  */
3292     icp_qat_fw_mmp_rsa_ep_2048_input_t mmp_rsa_ep_2048;
3293 
3294     /** RSA 2048 Decryption  */
3295     icp_qat_fw_mmp_rsa_dp1_2048_input_t mmp_rsa_dp1_2048;
3296 
3297     /** RSA 2048 Decryption with CRT  */
3298     icp_qat_fw_mmp_rsa_dp2_2048_input_t mmp_rsa_dp2_2048;
3299 
3300     /** RSA 3072 key generation first form  */
3301     icp_qat_fw_mmp_rsa_kp1_3072_input_t mmp_rsa_kp1_3072;
3302 
3303     /** RSA 3072 key generation second form  */
3304     icp_qat_fw_mmp_rsa_kp2_3072_input_t mmp_rsa_kp2_3072;
3305 
3306     /** RSA 3072 Encryption  */
3307     icp_qat_fw_mmp_rsa_ep_3072_input_t mmp_rsa_ep_3072;
3308 
3309     /** RSA 3072 Decryption  */
3310     icp_qat_fw_mmp_rsa_dp1_3072_input_t mmp_rsa_dp1_3072;
3311 
3312     /** RSA 3072 Decryption with CRT  */
3313     icp_qat_fw_mmp_rsa_dp2_3072_input_t mmp_rsa_dp2_3072;
3314 
3315     /** RSA 4096 key generation first form  */
3316     icp_qat_fw_mmp_rsa_kp1_4096_input_t mmp_rsa_kp1_4096;
3317 
3318     /** RSA 4096 key generation second form  */
3319     icp_qat_fw_mmp_rsa_kp2_4096_input_t mmp_rsa_kp2_4096;
3320 
3321     /** RSA 4096 Encryption  */
3322     icp_qat_fw_mmp_rsa_ep_4096_input_t mmp_rsa_ep_4096;
3323 
3324     /** RSA 4096 Decryption  */
3325     icp_qat_fw_mmp_rsa_dp1_4096_input_t mmp_rsa_dp1_4096;
3326 
3327     /** RSA 4096 Decryption with CRT  */
3328     icp_qat_fw_mmp_rsa_dp2_4096_input_t mmp_rsa_dp2_4096;
3329 
3330     /** RSA 8192 Encryption  */
3331     icp_qat_fw_mmp_rsa_ep_8192_input_t mmp_rsa_ep_8192;
3332 
3333     /** RSA 8192 Decryption  */
3334     icp_qat_fw_mmp_rsa_dp1_8192_input_t mmp_rsa_dp1_8192;
3335 
3336     /** RSA 8192 Decryption with CRT  */
3337     icp_qat_fw_mmp_rsa_dp2_8192_input_t mmp_rsa_dp2_8192;
3338 
3339     /** GCD primality test for 192-bit numbers  */
3340     icp_qat_fw_mmp_gcd_pt_192_input_t mmp_gcd_pt_192;
3341 
3342     /** GCD primality test for 256-bit numbers  */
3343     icp_qat_fw_mmp_gcd_pt_256_input_t mmp_gcd_pt_256;
3344 
3345     /** GCD primality test for 384-bit numbers  */
3346     icp_qat_fw_mmp_gcd_pt_384_input_t mmp_gcd_pt_384;
3347 
3348     /** GCD primality test for 512-bit numbers  */
3349     icp_qat_fw_mmp_gcd_pt_512_input_t mmp_gcd_pt_512;
3350 
3351     /** GCD primality test for 768-bit numbers  */
3352     icp_qat_fw_mmp_gcd_pt_768_input_t mmp_gcd_pt_768;
3353 
3354     /** GCD primality test for 1024-bit numbers  */
3355     icp_qat_fw_mmp_gcd_pt_1024_input_t mmp_gcd_pt_1024;
3356 
3357     /** GCD primality test for 1536-bit numbers  */
3358     icp_qat_fw_mmp_gcd_pt_1536_input_t mmp_gcd_pt_1536;
3359 
3360     /** GCD primality test for 2048-bit numbers  */
3361     icp_qat_fw_mmp_gcd_pt_2048_input_t mmp_gcd_pt_2048;
3362 
3363     /** GCD primality test for 3072-bit numbers  */
3364     icp_qat_fw_mmp_gcd_pt_3072_input_t mmp_gcd_pt_3072;
3365 
3366     /** GCD primality test for 4096-bit numbers  */
3367     icp_qat_fw_mmp_gcd_pt_4096_input_t mmp_gcd_pt_4096;
3368 
3369     /** Fermat primality test for 160-bit numbers  */
3370     icp_qat_fw_mmp_fermat_pt_160_input_t mmp_fermat_pt_160;
3371 
3372     /** Fermat primality test for 512-bit numbers  */
3373     icp_qat_fw_mmp_fermat_pt_512_input_t mmp_fermat_pt_512;
3374 
3375     /** Fermat primality test for &lte; 512-bit numbers  */
3376     icp_qat_fw_mmp_fermat_pt_l512_input_t mmp_fermat_pt_l512;
3377 
3378     /** Fermat primality test for 768-bit numbers  */
3379     icp_qat_fw_mmp_fermat_pt_768_input_t mmp_fermat_pt_768;
3380 
3381     /** Fermat primality test for 1024-bit numbers  */
3382     icp_qat_fw_mmp_fermat_pt_1024_input_t mmp_fermat_pt_1024;
3383 
3384     /** Fermat primality test for 1536-bit numbers  */
3385     icp_qat_fw_mmp_fermat_pt_1536_input_t mmp_fermat_pt_1536;
3386 
3387     /** Fermat primality test for 2048-bit numbers  */
3388     icp_qat_fw_mmp_fermat_pt_2048_input_t mmp_fermat_pt_2048;
3389 
3390     /** Fermat primality test for 3072-bit numbers  */
3391     icp_qat_fw_mmp_fermat_pt_3072_input_t mmp_fermat_pt_3072;
3392 
3393     /** Fermat primality test for 4096-bit numbers  */
3394     icp_qat_fw_mmp_fermat_pt_4096_input_t mmp_fermat_pt_4096;
3395 
3396     /** Miller-Rabin primality test for 160-bit numbers  */
3397     icp_qat_fw_mmp_mr_pt_160_input_t mmp_mr_pt_160;
3398 
3399     /** Miller-Rabin primality test for 512-bit numbers  */
3400     icp_qat_fw_mmp_mr_pt_512_input_t mmp_mr_pt_512;
3401 
3402     /** Miller-Rabin primality test for 768-bit numbers  */
3403     icp_qat_fw_mmp_mr_pt_768_input_t mmp_mr_pt_768;
3404 
3405     /** Miller-Rabin primality test for 1024-bit numbers  */
3406     icp_qat_fw_mmp_mr_pt_1024_input_t mmp_mr_pt_1024;
3407 
3408     /** Miller-Rabin primality test for 1536-bit numbers  */
3409     icp_qat_fw_mmp_mr_pt_1536_input_t mmp_mr_pt_1536;
3410 
3411     /** Miller-Rabin primality test for 2048-bit numbers  */
3412     icp_qat_fw_mmp_mr_pt_2048_input_t mmp_mr_pt_2048;
3413 
3414     /** Miller-Rabin primality test for 3072-bit numbers  */
3415     icp_qat_fw_mmp_mr_pt_3072_input_t mmp_mr_pt_3072;
3416 
3417     /** Miller-Rabin primality test for 4096-bit numbers  */
3418     icp_qat_fw_mmp_mr_pt_4096_input_t mmp_mr_pt_4096;
3419 
3420     /** Miller-Rabin primality test for 512-bit numbers  */
3421     icp_qat_fw_mmp_mr_pt_l512_input_t mmp_mr_pt_l512;
3422 
3423     /** Lucas primality test for 160-bit numbers  */
3424     icp_qat_fw_mmp_lucas_pt_160_input_t mmp_lucas_pt_160;
3425 
3426     /** Lucas primality test for 512-bit numbers  */
3427     icp_qat_fw_mmp_lucas_pt_512_input_t mmp_lucas_pt_512;
3428 
3429     /** Lucas primality test for 768-bit numbers  */
3430     icp_qat_fw_mmp_lucas_pt_768_input_t mmp_lucas_pt_768;
3431 
3432     /** Lucas primality test for 1024-bit numbers  */
3433     icp_qat_fw_mmp_lucas_pt_1024_input_t mmp_lucas_pt_1024;
3434 
3435     /** Lucas primality test for 1536-bit numbers  */
3436     icp_qat_fw_mmp_lucas_pt_1536_input_t mmp_lucas_pt_1536;
3437 
3438     /** Lucas primality test for 2048-bit numbers  */
3439     icp_qat_fw_mmp_lucas_pt_2048_input_t mmp_lucas_pt_2048;
3440 
3441     /** Lucas primality test for 3072-bit numbers  */
3442     icp_qat_fw_mmp_lucas_pt_3072_input_t mmp_lucas_pt_3072;
3443 
3444     /** Lucas primality test for 4096-bit numbers  */
3445     icp_qat_fw_mmp_lucas_pt_4096_input_t mmp_lucas_pt_4096;
3446 
3447     /** Lucas primality test for L512-bit numbers  */
3448     icp_qat_fw_mmp_lucas_pt_l512_input_t mmp_lucas_pt_l512;
3449 
3450     /** Modular exponentiation for numbers less than 512-bits  */
3451     icp_qat_fw_maths_modexp_l512_input_t maths_modexp_l512;
3452 
3453     /** Modular exponentiation for numbers less than 1024-bit  */
3454     icp_qat_fw_maths_modexp_l1024_input_t maths_modexp_l1024;
3455 
3456     /** Modular exponentiation for numbers less than 1536-bits  */
3457     icp_qat_fw_maths_modexp_l1536_input_t maths_modexp_l1536;
3458 
3459     /** Modular exponentiation for numbers less than 2048-bit  */
3460     icp_qat_fw_maths_modexp_l2048_input_t maths_modexp_l2048;
3461 
3462     /** Modular exponentiation for numbers less than 2560-bits  */
3463     icp_qat_fw_maths_modexp_l2560_input_t maths_modexp_l2560;
3464 
3465     /** Modular exponentiation for numbers less than 3072-bits  */
3466     icp_qat_fw_maths_modexp_l3072_input_t maths_modexp_l3072;
3467 
3468     /** Modular exponentiation for numbers less than 3584-bits  */
3469     icp_qat_fw_maths_modexp_l3584_input_t maths_modexp_l3584;
3470 
3471     /** Modular exponentiation for numbers less than 4096-bit  */
3472     icp_qat_fw_maths_modexp_l4096_input_t maths_modexp_l4096;
3473 
3474     /** Modular exponentiation for numbers up to 8192 bits  */
3475     icp_qat_fw_maths_modexp_l8192_input_t maths_modexp_l8192;
3476 
3477     /** Modular multiplicative inverse for numbers less than 128 bits  */
3478     icp_qat_fw_maths_modinv_odd_l128_input_t maths_modinv_odd_l128;
3479 
3480     /** Modular multiplicative inverse for numbers less than 192 bits  */
3481     icp_qat_fw_maths_modinv_odd_l192_input_t maths_modinv_odd_l192;
3482 
3483     /** Modular multiplicative inverse for numbers less than 256 bits  */
3484     icp_qat_fw_maths_modinv_odd_l256_input_t maths_modinv_odd_l256;
3485 
3486     /** Modular multiplicative inverse for numbers less than 384 bits  */
3487     icp_qat_fw_maths_modinv_odd_l384_input_t maths_modinv_odd_l384;
3488 
3489     /** Modular multiplicative inverse for numbers less than 512 bits  */
3490     icp_qat_fw_maths_modinv_odd_l512_input_t maths_modinv_odd_l512;
3491 
3492     /** Modular multiplicative inverse for numbers less than 768 bits  */
3493     icp_qat_fw_maths_modinv_odd_l768_input_t maths_modinv_odd_l768;
3494 
3495     /** Modular multiplicative inverse for numbers less than 1024 bits  */
3496     icp_qat_fw_maths_modinv_odd_l1024_input_t maths_modinv_odd_l1024;
3497 
3498     /** Modular multiplicative inverse for numbers less than 1536 bits  */
3499     icp_qat_fw_maths_modinv_odd_l1536_input_t maths_modinv_odd_l1536;
3500 
3501     /** Modular multiplicative inverse for numbers less than 2048 bits  */
3502     icp_qat_fw_maths_modinv_odd_l2048_input_t maths_modinv_odd_l2048;
3503 
3504     /** Modular multiplicative inverse for numbers less than 3072 bits  */
3505     icp_qat_fw_maths_modinv_odd_l3072_input_t maths_modinv_odd_l3072;
3506 
3507     /** Modular multiplicative inverse for numbers less than 4096 bits  */
3508     icp_qat_fw_maths_modinv_odd_l4096_input_t maths_modinv_odd_l4096;
3509 
3510     /** Modular multiplicative inverse for numbers up to 8192 bits  */
3511     icp_qat_fw_maths_modinv_odd_l8192_input_t maths_modinv_odd_l8192;
3512 
3513     /** Modular multiplicative inverse for numbers less than 128 bits  */
3514     icp_qat_fw_maths_modinv_even_l128_input_t maths_modinv_even_l128;
3515 
3516     /** Modular multiplicative inverse for numbers less than 192 bits  */
3517     icp_qat_fw_maths_modinv_even_l192_input_t maths_modinv_even_l192;
3518 
3519     /** Modular multiplicative inverse for numbers less than 256 bits  */
3520     icp_qat_fw_maths_modinv_even_l256_input_t maths_modinv_even_l256;
3521 
3522     /** Modular multiplicative inverse for numbers less than 384 bits  */
3523     icp_qat_fw_maths_modinv_even_l384_input_t maths_modinv_even_l384;
3524 
3525     /** Modular multiplicative inverse for numbers less than 512 bits  */
3526     icp_qat_fw_maths_modinv_even_l512_input_t maths_modinv_even_l512;
3527 
3528     /** Modular multiplicative inverse for numbers less than 768 bits  */
3529     icp_qat_fw_maths_modinv_even_l768_input_t maths_modinv_even_l768;
3530 
3531     /** Modular multiplicative inverse for numbers less than 1024 bits  */
3532     icp_qat_fw_maths_modinv_even_l1024_input_t maths_modinv_even_l1024;
3533 
3534     /** Modular multiplicative inverse for numbers less than 1536 bits  */
3535     icp_qat_fw_maths_modinv_even_l1536_input_t maths_modinv_even_l1536;
3536 
3537     /** Modular multiplicative inverse for numbers less than 2048 bits  */
3538     icp_qat_fw_maths_modinv_even_l2048_input_t maths_modinv_even_l2048;
3539 
3540     /** Modular multiplicative inverse for numbers less than 3072 bits  */
3541     icp_qat_fw_maths_modinv_even_l3072_input_t maths_modinv_even_l3072;
3542 
3543     /** Modular multiplicative inverse for numbers less than 4096 bits  */
3544     icp_qat_fw_maths_modinv_even_l4096_input_t maths_modinv_even_l4096;
3545 
3546     /** Modular multiplicative inverse for numbers up to 8192 bits  */
3547     icp_qat_fw_maths_modinv_even_l8192_input_t maths_modinv_even_l8192;
3548 
3549     /** DSA parameter generation P  */
3550     icp_qat_fw_mmp_dsa_gen_p_1024_160_input_t mmp_dsa_gen_p_1024_160;
3551 
3552     /** DSA key generation G  */
3553     icp_qat_fw_mmp_dsa_gen_g_1024_input_t mmp_dsa_gen_g_1024;
3554 
3555     /** DSA key generation Y  */
3556     icp_qat_fw_mmp_dsa_gen_y_1024_input_t mmp_dsa_gen_y_1024;
3557 
3558     /** DSA Sign R  */
3559     icp_qat_fw_mmp_dsa_sign_r_1024_160_input_t mmp_dsa_sign_r_1024_160;
3560 
3561     /** DSA Sign S  */
3562     icp_qat_fw_mmp_dsa_sign_s_160_input_t mmp_dsa_sign_s_160;
3563 
3564     /** DSA Sign R S  */
3565     icp_qat_fw_mmp_dsa_sign_r_s_1024_160_input_t mmp_dsa_sign_r_s_1024_160;
3566 
3567     /** DSA Verify  */
3568     icp_qat_fw_mmp_dsa_verify_1024_160_input_t mmp_dsa_verify_1024_160;
3569 
3570     /** DSA parameter generation P  */
3571     icp_qat_fw_mmp_dsa_gen_p_2048_224_input_t mmp_dsa_gen_p_2048_224;
3572 
3573     /** DSA key generation Y  */
3574     icp_qat_fw_mmp_dsa_gen_y_2048_input_t mmp_dsa_gen_y_2048;
3575 
3576     /** DSA Sign R  */
3577     icp_qat_fw_mmp_dsa_sign_r_2048_224_input_t mmp_dsa_sign_r_2048_224;
3578 
3579     /** DSA Sign S  */
3580     icp_qat_fw_mmp_dsa_sign_s_224_input_t mmp_dsa_sign_s_224;
3581 
3582     /** DSA Sign R S  */
3583     icp_qat_fw_mmp_dsa_sign_r_s_2048_224_input_t mmp_dsa_sign_r_s_2048_224;
3584 
3585     /** DSA Verify  */
3586     icp_qat_fw_mmp_dsa_verify_2048_224_input_t mmp_dsa_verify_2048_224;
3587 
3588     /** DSA parameter generation P  */
3589     icp_qat_fw_mmp_dsa_gen_p_2048_256_input_t mmp_dsa_gen_p_2048_256;
3590 
3591     /** DSA key generation G  */
3592     icp_qat_fw_mmp_dsa_gen_g_2048_input_t mmp_dsa_gen_g_2048;
3593 
3594     /** DSA Sign R  */
3595     icp_qat_fw_mmp_dsa_sign_r_2048_256_input_t mmp_dsa_sign_r_2048_256;
3596 
3597     /** DSA Sign S  */
3598     icp_qat_fw_mmp_dsa_sign_s_256_input_t mmp_dsa_sign_s_256;
3599 
3600     /** DSA Sign R S  */
3601     icp_qat_fw_mmp_dsa_sign_r_s_2048_256_input_t mmp_dsa_sign_r_s_2048_256;
3602 
3603     /** DSA Verify  */
3604     icp_qat_fw_mmp_dsa_verify_2048_256_input_t mmp_dsa_verify_2048_256;
3605 
3606     /** DSA parameter generation P  */
3607     icp_qat_fw_mmp_dsa_gen_p_3072_256_input_t mmp_dsa_gen_p_3072_256;
3608 
3609     /** DSA key generation G  */
3610     icp_qat_fw_mmp_dsa_gen_g_3072_input_t mmp_dsa_gen_g_3072;
3611 
3612     /** DSA key generation Y  */
3613     icp_qat_fw_mmp_dsa_gen_y_3072_input_t mmp_dsa_gen_y_3072;
3614 
3615     /** DSA Sign R  */
3616     icp_qat_fw_mmp_dsa_sign_r_3072_256_input_t mmp_dsa_sign_r_3072_256;
3617 
3618     /** DSA Sign R S  */
3619     icp_qat_fw_mmp_dsa_sign_r_s_3072_256_input_t mmp_dsa_sign_r_s_3072_256;
3620 
3621     /** DSA Verify  */
3622     icp_qat_fw_mmp_dsa_verify_3072_256_input_t mmp_dsa_verify_3072_256;
3623 
3624     /** ECDSA Sign RS for curves B/K-163 and B/K-233  */
3625     icp_qat_fw_mmp_ecdsa_sign_rs_gf2_l256_input_t mmp_ecdsa_sign_rs_gf2_l256;
3626 
3627     /** ECDSA Sign R for curves B/K-163 and B/K-233  */
3628     icp_qat_fw_mmp_ecdsa_sign_r_gf2_l256_input_t mmp_ecdsa_sign_r_gf2_l256;
3629 
3630     /** ECDSA Sign S for curves with n &lt; 2^256  */
3631     icp_qat_fw_mmp_ecdsa_sign_s_gf2_l256_input_t mmp_ecdsa_sign_s_gf2_l256;
3632 
3633     /** ECDSA Verify for curves B/K-163 and B/K-233  */
3634     icp_qat_fw_mmp_ecdsa_verify_gf2_l256_input_t mmp_ecdsa_verify_gf2_l256;
3635 
3636     /** ECDSA Sign RS  */
3637     icp_qat_fw_mmp_ecdsa_sign_rs_gf2_l512_input_t mmp_ecdsa_sign_rs_gf2_l512;
3638 
3639     /** ECDSA GF2 Sign R  */
3640     icp_qat_fw_mmp_ecdsa_sign_r_gf2_l512_input_t mmp_ecdsa_sign_r_gf2_l512;
3641 
3642     /** ECDSA GF2 Sign S  */
3643     icp_qat_fw_mmp_ecdsa_sign_s_gf2_l512_input_t mmp_ecdsa_sign_s_gf2_l512;
3644 
3645     /** ECDSA GF2 Verify  */
3646     icp_qat_fw_mmp_ecdsa_verify_gf2_l512_input_t mmp_ecdsa_verify_gf2_l512;
3647 
3648     /** ECDSA GF2 Sign RS for curves B-571/K-571  */
3649     icp_qat_fw_mmp_ecdsa_sign_rs_gf2_571_input_t mmp_ecdsa_sign_rs_gf2_571;
3650 
3651     /** ECDSA GF2 Sign S for curves with deg(q) &lt; 576  */
3652     icp_qat_fw_mmp_ecdsa_sign_s_gf2_571_input_t mmp_ecdsa_sign_s_gf2_571;
3653 
3654     /** ECDSA GF2 Sign R for degree 571  */
3655     icp_qat_fw_mmp_ecdsa_sign_r_gf2_571_input_t mmp_ecdsa_sign_r_gf2_571;
3656 
3657     /** ECDSA GF2 Verify for degree 571  */
3658     icp_qat_fw_mmp_ecdsa_verify_gf2_571_input_t mmp_ecdsa_verify_gf2_571;
3659 
3660     /** MATHS GF2 Point Multiplication  */
3661     icp_qat_fw_maths_point_multiplication_gf2_l256_input_t maths_point_multiplication_gf2_l256;
3662 
3663     /** MATHS GF2 Point Verification  */
3664     icp_qat_fw_maths_point_verify_gf2_l256_input_t maths_point_verify_gf2_l256;
3665 
3666     /** MATHS GF2 Point Multiplication  */
3667     icp_qat_fw_maths_point_multiplication_gf2_l512_input_t maths_point_multiplication_gf2_l512;
3668 
3669     /** MATHS GF2 Point Verification  */
3670     icp_qat_fw_maths_point_verify_gf2_l512_input_t maths_point_verify_gf2_l512;
3671 
3672     /** ECC GF2 Point Multiplication for curves B-571/K-571  */
3673     icp_qat_fw_maths_point_multiplication_gf2_571_input_t maths_point_multiplication_gf2_571;
3674 
3675     /** ECC GF2 Point Verification for degree 571  */
3676     icp_qat_fw_maths_point_verify_gf2_571_input_t maths_point_verify_gf2_571;
3677 
3678     /** ECDSA GFP Sign R  */
3679     icp_qat_fw_mmp_ecdsa_sign_r_gfp_l256_input_t mmp_ecdsa_sign_r_gfp_l256;
3680 
3681     /** ECDSA GFP Sign S  */
3682     icp_qat_fw_mmp_ecdsa_sign_s_gfp_l256_input_t mmp_ecdsa_sign_s_gfp_l256;
3683 
3684     /** ECDSA GFP Sign RS  */
3685     icp_qat_fw_mmp_ecdsa_sign_rs_gfp_l256_input_t mmp_ecdsa_sign_rs_gfp_l256;
3686 
3687     /** ECDSA GFP Verify  */
3688     icp_qat_fw_mmp_ecdsa_verify_gfp_l256_input_t mmp_ecdsa_verify_gfp_l256;
3689 
3690     /** ECDSA GFP Sign R  */
3691     icp_qat_fw_mmp_ecdsa_sign_r_gfp_l512_input_t mmp_ecdsa_sign_r_gfp_l512;
3692 
3693     /** ECDSA GFP Sign S  */
3694     icp_qat_fw_mmp_ecdsa_sign_s_gfp_l512_input_t mmp_ecdsa_sign_s_gfp_l512;
3695 
3696     /** ECDSA GFP Sign RS  */
3697     icp_qat_fw_mmp_ecdsa_sign_rs_gfp_l512_input_t mmp_ecdsa_sign_rs_gfp_l512;
3698 
3699     /** ECDSA GFP Verify  */
3700     icp_qat_fw_mmp_ecdsa_verify_gfp_l512_input_t mmp_ecdsa_verify_gfp_l512;
3701 
3702     /** ECDSA GFP Sign R  */
3703     icp_qat_fw_mmp_ecdsa_sign_r_gfp_521_input_t mmp_ecdsa_sign_r_gfp_521;
3704 
3705     /** ECDSA GFP Sign S  */
3706     icp_qat_fw_mmp_ecdsa_sign_s_gfp_521_input_t mmp_ecdsa_sign_s_gfp_521;
3707 
3708     /** ECDSA GFP Sign RS  */
3709     icp_qat_fw_mmp_ecdsa_sign_rs_gfp_521_input_t mmp_ecdsa_sign_rs_gfp_521;
3710 
3711     /** ECDSA GFP Verify  */
3712     icp_qat_fw_mmp_ecdsa_verify_gfp_521_input_t mmp_ecdsa_verify_gfp_521;
3713 
3714     /** ECC GFP Point Multiplication  */
3715     icp_qat_fw_maths_point_multiplication_gfp_l256_input_t maths_point_multiplication_gfp_l256;
3716 
3717     /** ECC GFP Partial Point Verification  */
3718     icp_qat_fw_maths_point_verify_gfp_l256_input_t maths_point_verify_gfp_l256;
3719 
3720     /** ECC GFP Point Multiplication  */
3721     icp_qat_fw_maths_point_multiplication_gfp_l512_input_t maths_point_multiplication_gfp_l512;
3722 
3723     /** ECC GFP Partial Point  */
3724     icp_qat_fw_maths_point_verify_gfp_l512_input_t maths_point_verify_gfp_l512;
3725 
3726     /** ECC GFP Point Multiplication  */
3727     icp_qat_fw_maths_point_multiplication_gfp_521_input_t maths_point_multiplication_gfp_521;
3728 
3729     /** ECC GFP Partial Point Verification  */
3730     icp_qat_fw_maths_point_verify_gfp_521_input_t maths_point_verify_gfp_521;
3731 
3732     /** ECC curve25519 Variable Point Multiplication [k]P(x), as specified in RFC7748  */
3733     icp_qat_fw_point_multiplication_c25519_input_t point_multiplication_c25519;
3734 
3735     /** ECC curve25519 Generator Point Multiplication [k]G(x), as specified in RFC7748  */
3736     icp_qat_fw_generator_multiplication_c25519_input_t generator_multiplication_c25519;
3737 
3738     /** ECC edwards25519 Variable Point Multiplication [k]P, as specified in RFC8032  */
3739     icp_qat_fw_point_multiplication_ed25519_input_t point_multiplication_ed25519;
3740 
3741     /** ECC edwards25519 Generator Point Multiplication [k]G, as specified in RFC8032  */
3742     icp_qat_fw_generator_multiplication_ed25519_input_t generator_multiplication_ed25519;
3743 
3744     /** ECC curve448 Variable Point Multiplication [k]P(x), as specified in RFC7748  */
3745     icp_qat_fw_point_multiplication_c448_input_t point_multiplication_c448;
3746 
3747     /** ECC curve448 Generator Point Multiplication [k]G(x), as specified in RFC7748  */
3748     icp_qat_fw_generator_multiplication_c448_input_t generator_multiplication_c448;
3749 
3750     /** ECC edwards448 Variable Point Multiplication [k]P, as specified in RFC8032  */
3751     icp_qat_fw_point_multiplication_ed448_input_t point_multiplication_ed448;
3752 
3753     /** ECC edwards448 Generator Point Multiplication [k]P, as specified in RFC8032  */
3754     icp_qat_fw_generator_multiplication_ed448_input_t generator_multiplication_ed448;
3755 
3756     /** ECC P521 ECDSA Sign RS  */
3757     icp_qat_fw_mmp_kpt_ecdsa_sign_rs_p521_input_t mmp_kpt_ecdsa_sign_rs_p521;
3758 
3759     /** ECC P384 ECDSA Sign RS  */
3760     icp_qat_fw_mmp_kpt_ecdsa_sign_rs_p384_input_t mmp_kpt_ecdsa_sign_rs_p384;
3761 
3762     /** ECC KPT P256 ECDSA Sign RS  */
3763     icp_qat_fw_mmp_kpt_ecdsa_sign_rs_p256_input_t mmp_kpt_ecdsa_sign_rs_p256;
3764 
3765     /** KPT RSA 512 Decryption  */
3766     icp_qat_fw_mmp_kpt_rsa_dp1_512_input_t mmp_kpt_rsa_dp1_512;
3767 
3768     /** KPT RSA 1024 Decryption  */
3769     icp_qat_fw_mmp_kpt_rsa_dp1_1024_input_t mmp_kpt_rsa_dp1_1024;
3770 
3771     /** KPT RSA 1536 Decryption  */
3772     icp_qat_fw_mmp_kpt_rsa_dp1_1536_input_t mmp_kpt_rsa_dp1_1536;
3773 
3774     /** KPT RSA 2048 Decryption  */
3775     icp_qat_fw_mmp_kpt_rsa_dp1_2048_input_t mmp_kpt_rsa_dp1_2048;
3776 
3777     /** KPT RSA 3072 Decryption  */
3778     icp_qat_fw_mmp_kpt_rsa_dp1_3072_input_t mmp_kpt_rsa_dp1_3072;
3779 
3780     /** KPT RSA 4096 Decryption  */
3781     icp_qat_fw_mmp_kpt_rsa_dp1_4096_input_t mmp_kpt_rsa_dp1_4096;
3782 
3783     /** KPT RSA 8192 Decryption  */
3784     icp_qat_fw_mmp_kpt_rsa_dp1_8192_input_t mmp_kpt_rsa_dp1_8192;
3785 
3786     /** RSA 512 decryption second form  */
3787     icp_qat_fw_mmp_kpt_rsa_dp2_512_input_t mmp_kpt_rsa_dp2_512;
3788 
3789     /** RSA 1024 Decryption with CRT  */
3790     icp_qat_fw_mmp_kpt_rsa_dp2_1024_input_t mmp_kpt_rsa_dp2_1024;
3791 
3792     /** KPT RSA 1536 Decryption with CRT  */
3793     icp_qat_fw_mmp_kpt_rsa_dp2_1536_input_t mmp_kpt_rsa_dp2_1536;
3794 
3795     /** RSA 2048 Decryption with CRT  */
3796     icp_qat_fw_mmp_kpt_rsa_dp2_2048_input_t mmp_kpt_rsa_dp2_2048;
3797 
3798     /**  */
3799     icp_qat_fw_mmp_kpt_rsa_dp2_3072_input_t mmp_kpt_rsa_dp2_3072;
3800 
3801     /** RSA 4096 Decryption with CRT  */
3802     icp_qat_fw_mmp_kpt_rsa_dp2_4096_input_t mmp_kpt_rsa_dp2_4096;
3803 
3804     /** RSA 8192 Decryption with CRT  */
3805     icp_qat_fw_mmp_kpt_rsa_dp2_8192_input_t mmp_kpt_rsa_dp2_8192;
3806 
3807 } icp_qat_fw_mmp_input_param_t;
3808 
3809 /**
3810  * @ingroup icp_qat_fw_mmp
3811  * @brief
3812  *    Output parameter list for ECC P384 Variable Point Multiplication [k]P ,
3813  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
3814  * #PKE_EC_POINT_MULTIPLICATION_P384.
3815  */
3816 typedef struct icp_qat_fw_mmp_ec_point_multiplication_p384_output_s
3817 {
3818     uint64_t xr; /**< xR = affine coordinate X of point [k]P  (6 qwords)*/
3819     uint64_t yr; /**< yR = affine coordinate Y of point [k]P  (6 qwords)*/
3820 } icp_qat_fw_mmp_ec_point_multiplication_p384_output_t;
3821 
3822 /**
3823  * @ingroup icp_qat_fw_mmp
3824  * @brief
3825  *    Output parameter list for ECC P384 Generator Point Multiplication [k]G ,
3826  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
3827  * #PKE_EC_GENERATOR_MULTIPLICATION_P384.
3828  */
3829 typedef struct icp_qat_fw_mmp_ec_generator_multiplication_p384_output_s
3830 {
3831     uint64_t xr; /**< xR = affine coordinate X of point [k]G  (6 qwords)*/
3832     uint64_t yr; /**< yR = affine coordinate Y of point [k]G  (6 qwords)*/
3833 } icp_qat_fw_mmp_ec_generator_multiplication_p384_output_t;
3834 
3835 /**
3836  * @ingroup icp_qat_fw_mmp
3837  * @brief
3838  *    Output parameter list for ECC P384 ECDSA Sign RS ,
3839  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
3840  * #PKE_ECDSA_SIGN_RS_P384.
3841  */
3842 typedef struct icp_qat_fw_mmp_ecdsa_sign_rs_p384_output_s
3843 {
3844     uint64_t r; /**< ECDSA signature r  (6 qwords)*/
3845     uint64_t s; /**< ECDSA signature s  (6 qwords)*/
3846 } icp_qat_fw_mmp_ecdsa_sign_rs_p384_output_t;
3847 
3848 /**
3849  * @ingroup icp_qat_fw_mmp
3850  * @brief
3851  *    Output parameter list for ECC P256 Variable Point Multiplication [k]P ,
3852  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
3853  * #PKE_EC_POINT_MULTIPLICATION_P256.
3854  */
3855 typedef struct icp_qat_fw_mmp_ec_point_multiplication_p256_output_s
3856 {
3857     uint64_t xr; /**< xR = affine coordinate X of point [k]P  (4 qwords)*/
3858     uint64_t yr; /**< yR = affine coordinate Y of point [k]P  (4 qwords)*/
3859 } icp_qat_fw_mmp_ec_point_multiplication_p256_output_t;
3860 
3861 /**
3862  * @ingroup icp_qat_fw_mmp
3863  * @brief
3864  *    Output parameter list for ECC P256 Generator Point Multiplication [k]G ,
3865  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
3866  * #PKE_EC_GENERATOR_MULTIPLICATION_P256.
3867  */
3868 typedef struct icp_qat_fw_mmp_ec_generator_multiplication_p256_output_s
3869 {
3870     uint64_t xr; /**< xR = affine coordinate X of point [k]G  (4 qwords)*/
3871     uint64_t yr; /**< yR = affine coordinate Y of point [k]G  (4 qwords)*/
3872 } icp_qat_fw_mmp_ec_generator_multiplication_p256_output_t;
3873 
3874 /**
3875  * @ingroup icp_qat_fw_mmp
3876  * @brief
3877  *    Output parameter list for ECC P256 ECDSA Sign RS ,
3878  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
3879  * #PKE_ECDSA_SIGN_RS_P256.
3880  */
3881 typedef struct icp_qat_fw_mmp_ecdsa_sign_rs_p256_output_s
3882 {
3883     uint64_t r; /**< ECDSA signature r  (4 qwords)*/
3884     uint64_t s; /**< ECDSA signature s  (4 qwords)*/
3885 } icp_qat_fw_mmp_ecdsa_sign_rs_p256_output_t;
3886 
3887 /**
3888  * @ingroup icp_qat_fw_mmp
3889  * @brief
3890  *    Output parameter list for ECC SM2 point multiply [k]G ,
3891  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
3892  * #PKE_ECSM2_GENERATOR_MULTIPLICATION.
3893  */
3894 typedef struct icp_qat_fw_mmp_ecsm2_generator_multiplication_output_s
3895 {
3896     uint64_t xd; /**< xD = affine coordinate X of point [k]G  (4 qwords)*/
3897     uint64_t yd; /**< yD = affine coordinate Y of point [k]G  (4 qwords)*/
3898 } icp_qat_fw_mmp_ecsm2_generator_multiplication_output_t;
3899 
3900 /**
3901  * @ingroup icp_qat_fw_mmp
3902  * @brief
3903  *    Output parameter list for Initialisation sequence ,
3904  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_INIT.
3905  */
3906 typedef struct icp_qat_fw_mmp_init_output_s
3907 {
3908     uint64_t zz; /**< 1'd quadword (1 qwords)*/
3909 } icp_qat_fw_mmp_init_output_t;
3910 
3911 
3912 
3913 /**
3914  * @ingroup icp_qat_fw_mmp
3915  * @brief
3916  *    Output parameter list for Diffie-Hellman Modular exponentiation base 2 for 768-bit numbers ,
3917  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DH_G2_768.
3918  */
3919 typedef struct icp_qat_fw_mmp_dh_g2_768_output_s
3920 {
3921     uint64_t r; /**< modular exponentiation result  &ge; 0 and &lt; m (12 qwords)*/
3922 } icp_qat_fw_mmp_dh_g2_768_output_t;
3923 
3924 
3925 
3926 /**
3927  * @ingroup icp_qat_fw_mmp
3928  * @brief
3929  *    Output parameter list for Diffie-Hellman Modular exponentiation for 768-bit numbers ,
3930  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DH_768.
3931  */
3932 typedef struct icp_qat_fw_mmp_dh_768_output_s
3933 {
3934     uint64_t r; /**< modular exponentiation result  &ge; 0 and &lt; m (12 qwords)*/
3935 } icp_qat_fw_mmp_dh_768_output_t;
3936 
3937 
3938 
3939 /**
3940  * @ingroup icp_qat_fw_mmp
3941  * @brief
3942  *    Output parameter list for Diffie-Hellman Modular exponentiation base 2 for 1024-bit numbers ,
3943  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DH_G2_1024.
3944  */
3945 typedef struct icp_qat_fw_mmp_dh_g2_1024_output_s
3946 {
3947     uint64_t r; /**< modular exponentiation result  &ge; 0 and &lt; m (16 qwords)*/
3948 } icp_qat_fw_mmp_dh_g2_1024_output_t;
3949 
3950 
3951 
3952 /**
3953  * @ingroup icp_qat_fw_mmp
3954  * @brief
3955  *    Output parameter list for Diffie-Hellman Modular exponentiation for 1024-bit numbers ,
3956  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DH_1024.
3957  */
3958 typedef struct icp_qat_fw_mmp_dh_1024_output_s
3959 {
3960     uint64_t r; /**< modular exponentiation result  &ge; 0 and &lt; m (16 qwords)*/
3961 } icp_qat_fw_mmp_dh_1024_output_t;
3962 
3963 
3964 
3965 /**
3966  * @ingroup icp_qat_fw_mmp
3967  * @brief
3968  *    Output parameter list for Diffie-Hellman Modular exponentiation base 2 for 1536-bit numbers ,
3969  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DH_G2_1536.
3970  */
3971 typedef struct icp_qat_fw_mmp_dh_g2_1536_output_s
3972 {
3973     uint64_t r; /**< modular exponentiation result  &ge; 0 and &lt; m (24 qwords)*/
3974 } icp_qat_fw_mmp_dh_g2_1536_output_t;
3975 
3976 
3977 
3978 /**
3979  * @ingroup icp_qat_fw_mmp
3980  * @brief
3981  *    Output parameter list for Diffie-Hellman Modular exponentiation for 1536-bit numbers ,
3982  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DH_1536.
3983  */
3984 typedef struct icp_qat_fw_mmp_dh_1536_output_s
3985 {
3986     uint64_t r; /**< modular exponentiation result  &ge; 0 and &lt; m (24 qwords)*/
3987 } icp_qat_fw_mmp_dh_1536_output_t;
3988 
3989 
3990 
3991 /**
3992  * @ingroup icp_qat_fw_mmp
3993  * @brief
3994  *    Output parameter list for Diffie-Hellman Modular exponentiation base 2 for 2048-bit numbers ,
3995  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DH_G2_2048.
3996  */
3997 typedef struct icp_qat_fw_mmp_dh_g2_2048_output_s
3998 {
3999     uint64_t r; /**< modular exponentiation result   &ge; 0 and &lt; m (32 qwords)*/
4000 } icp_qat_fw_mmp_dh_g2_2048_output_t;
4001 
4002 
4003 
4004 /**
4005  * @ingroup icp_qat_fw_mmp
4006  * @brief
4007  *    Output parameter list for Diffie-Hellman Modular exponentiation for 2048-bit numbers ,
4008  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DH_2048.
4009  */
4010 typedef struct icp_qat_fw_mmp_dh_2048_output_s
4011 {
4012     uint64_t r; /**< modular exponentiation result   &ge; 0 and &lt; m (32 qwords)*/
4013 } icp_qat_fw_mmp_dh_2048_output_t;
4014 
4015 
4016 
4017 /**
4018  * @ingroup icp_qat_fw_mmp
4019  * @brief
4020  *    Output parameter list for Diffie-Hellman Modular exponentiation base 2 for 3072-bit numbers ,
4021  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DH_G2_3072.
4022  */
4023 typedef struct icp_qat_fw_mmp_dh_g2_3072_output_s
4024 {
4025     uint64_t r; /**< modular exponentiation result   &ge; 0 and &lt; m (48 qwords)*/
4026 } icp_qat_fw_mmp_dh_g2_3072_output_t;
4027 
4028 
4029 
4030 /**
4031  * @ingroup icp_qat_fw_mmp
4032  * @brief
4033  *    Output parameter list for Diffie-Hellman Modular exponentiation for 3072-bit numbers ,
4034  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DH_3072.
4035  */
4036 typedef struct icp_qat_fw_mmp_dh_3072_output_s
4037 {
4038     uint64_t r; /**< modular exponentiation result   &ge; 0 and &lt; m (48 qwords)*/
4039 } icp_qat_fw_mmp_dh_3072_output_t;
4040 
4041 
4042 
4043 /**
4044  * @ingroup icp_qat_fw_mmp
4045  * @brief
4046  *    Output parameter list for Diffie-Hellman Modular exponentiation base 2 for 4096-bit numbers ,
4047  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DH_G2_4096.
4048  */
4049 typedef struct icp_qat_fw_mmp_dh_g2_4096_output_s
4050 {
4051     uint64_t r; /**< modular exponentiation result  &ge; 0 and &lt; m (64 qwords)*/
4052 } icp_qat_fw_mmp_dh_g2_4096_output_t;
4053 
4054 
4055 
4056 /**
4057  * @ingroup icp_qat_fw_mmp
4058  * @brief
4059  *    Output parameter list for Diffie-Hellman Modular exponentiation for 4096-bit numbers ,
4060  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DH_4096.
4061  */
4062 typedef struct icp_qat_fw_mmp_dh_4096_output_s
4063 {
4064     uint64_t r; /**< modular exponentiation result   &ge; 0 and &lt; m (64 qwords)*/
4065 } icp_qat_fw_mmp_dh_4096_output_t;
4066 
4067 /**
4068  * @ingroup icp_qat_fw_mmp
4069  * @brief
4070  *    Output parameter list for Diffie-Hellman Modular exponentiation base 2 for
4071  * 8192-bit numbers , to be used when icp_qat_fw_pke_response_s::functionalityId
4072  * is #PKE_DH_G2_8192.
4073  */
4074 typedef struct icp_qat_fw_mmp_dh_g2_8192_output_s
4075 {
4076     uint64_t
4077         r; /**< modular exponentiation result  &ge; 0 and &lt; m (128 qwords)*/
4078 } icp_qat_fw_mmp_dh_g2_8192_output_t;
4079 
4080 /**
4081  * @ingroup icp_qat_fw_mmp
4082  * @brief
4083  *    Output parameter list for Diffie-Hellman Modular exponentiation for
4084  * 8192-bit numbers , to be used when icp_qat_fw_pke_response_s::functionalityId
4085  * is #PKE_DH_8192.
4086  */
4087 typedef struct icp_qat_fw_mmp_dh_8192_output_s
4088 {
4089     uint64_t
4090         r; /**< modular exponentiation result   &ge; 0 and &lt; m (128 qwords)*/
4091 } icp_qat_fw_mmp_dh_8192_output_t;
4092 
4093 /**
4094  * @ingroup icp_qat_fw_mmp
4095  * @brief
4096  *    Output parameter list for RSA 512 key generation first form ,
4097  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_KP1_512.
4098  */
4099 typedef struct icp_qat_fw_mmp_rsa_kp1_512_output_s
4100 {
4101     uint64_t n; /**< RSA key (8 qwords)*/
4102     uint64_t d; /**< RSA private key (first form) (8 qwords)*/
4103 } icp_qat_fw_mmp_rsa_kp1_512_output_t;
4104 
4105 
4106 
4107 /**
4108  * @ingroup icp_qat_fw_mmp
4109  * @brief
4110  *    Output parameter list for RSA 512 key generation second form ,
4111  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_KP2_512.
4112  */
4113 typedef struct icp_qat_fw_mmp_rsa_kp2_512_output_s
4114 {
4115     uint64_t n; /**< RSA key (8 qwords)*/
4116     uint64_t d; /**< RSA private key (second form) (8 qwords)*/
4117     uint64_t dp; /**< RSA private key (second form) (4 qwords)*/
4118     uint64_t dq; /**< RSA private key (second form) (4 qwords)*/
4119     uint64_t qinv; /**< RSA private key (second form) (4 qwords)*/
4120 } icp_qat_fw_mmp_rsa_kp2_512_output_t;
4121 
4122 
4123 
4124 /**
4125  * @ingroup icp_qat_fw_mmp
4126  * @brief
4127  *    Output parameter list for RSA 512 Encryption ,
4128  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_EP_512.
4129  */
4130 typedef struct icp_qat_fw_mmp_rsa_ep_512_output_s
4131 {
4132     uint64_t c; /**< cipher text representative, &lt; n (8 qwords)*/
4133 } icp_qat_fw_mmp_rsa_ep_512_output_t;
4134 
4135 
4136 
4137 /**
4138  * @ingroup icp_qat_fw_mmp
4139  * @brief
4140  *    Output parameter list for RSA 512 Decryption ,
4141  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_DP1_512.
4142  */
4143 typedef struct icp_qat_fw_mmp_rsa_dp1_512_output_s
4144 {
4145     uint64_t m; /**< message representative, &lt; n (8 qwords)*/
4146 } icp_qat_fw_mmp_rsa_dp1_512_output_t;
4147 
4148 
4149 
4150 /**
4151  * @ingroup icp_qat_fw_mmp
4152  * @brief
4153  *    Output parameter list for RSA 1024 Decryption with CRT ,
4154  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_DP2_512.
4155  */
4156 typedef struct icp_qat_fw_mmp_rsa_dp2_512_output_s
4157 {
4158     uint64_t m; /**< message representative, &lt; (p*q) (8 qwords)*/
4159 } icp_qat_fw_mmp_rsa_dp2_512_output_t;
4160 
4161 
4162 
4163 /**
4164  * @ingroup icp_qat_fw_mmp
4165  * @brief
4166  *    Output parameter list for RSA 1024 key generation first form ,
4167  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_KP1_1024.
4168  */
4169 typedef struct icp_qat_fw_mmp_rsa_kp1_1024_output_s
4170 {
4171     uint64_t n; /**< RSA key (16 qwords)*/
4172     uint64_t d; /**< RSA private key (first form) (16 qwords)*/
4173 } icp_qat_fw_mmp_rsa_kp1_1024_output_t;
4174 
4175 
4176 
4177 /**
4178  * @ingroup icp_qat_fw_mmp
4179  * @brief
4180  *    Output parameter list for RSA 1024 key generation second form ,
4181  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_KP2_1024.
4182  */
4183 typedef struct icp_qat_fw_mmp_rsa_kp2_1024_output_s
4184 {
4185     uint64_t n; /**< RSA key (16 qwords)*/
4186     uint64_t d; /**< RSA private key (second form) (16 qwords)*/
4187     uint64_t dp; /**< RSA private key (second form) (8 qwords)*/
4188     uint64_t dq; /**< RSA private key (second form) (8 qwords)*/
4189     uint64_t qinv; /**< RSA private key (second form) (8 qwords)*/
4190 } icp_qat_fw_mmp_rsa_kp2_1024_output_t;
4191 
4192 
4193 
4194 /**
4195  * @ingroup icp_qat_fw_mmp
4196  * @brief
4197  *    Output parameter list for RSA 1024 Encryption ,
4198  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_EP_1024.
4199  */
4200 typedef struct icp_qat_fw_mmp_rsa_ep_1024_output_s
4201 {
4202     uint64_t c; /**< cipher text representative, &lt; n (16 qwords)*/
4203 } icp_qat_fw_mmp_rsa_ep_1024_output_t;
4204 
4205 
4206 
4207 /**
4208  * @ingroup icp_qat_fw_mmp
4209  * @brief
4210  *    Output parameter list for RSA 1024 Decryption ,
4211  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_DP1_1024.
4212  */
4213 typedef struct icp_qat_fw_mmp_rsa_dp1_1024_output_s
4214 {
4215     uint64_t m; /**< message representative, &lt; n (16 qwords)*/
4216 } icp_qat_fw_mmp_rsa_dp1_1024_output_t;
4217 
4218 
4219 
4220 /**
4221  * @ingroup icp_qat_fw_mmp
4222  * @brief
4223  *    Output parameter list for RSA 1024 Decryption with CRT ,
4224  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_DP2_1024.
4225  */
4226 typedef struct icp_qat_fw_mmp_rsa_dp2_1024_output_s
4227 {
4228     uint64_t m; /**< message representative, &lt; (p*q) (16 qwords)*/
4229 } icp_qat_fw_mmp_rsa_dp2_1024_output_t;
4230 
4231 
4232 
4233 /**
4234  * @ingroup icp_qat_fw_mmp
4235  * @brief
4236  *    Output parameter list for RSA 1536 key generation first form ,
4237  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_KP1_1536.
4238  */
4239 typedef struct icp_qat_fw_mmp_rsa_kp1_1536_output_s
4240 {
4241     uint64_t n; /**< RSA key (24 qwords)*/
4242     uint64_t d; /**< RSA private key (24 qwords)*/
4243 } icp_qat_fw_mmp_rsa_kp1_1536_output_t;
4244 
4245 
4246 
4247 /**
4248  * @ingroup icp_qat_fw_mmp
4249  * @brief
4250  *    Output parameter list for RSA 1536 key generation second form ,
4251  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_KP2_1536.
4252  */
4253 typedef struct icp_qat_fw_mmp_rsa_kp2_1536_output_s
4254 {
4255     uint64_t n; /**< RSA key (24 qwords)*/
4256     uint64_t d; /**< RSA private key (24 qwords)*/
4257     uint64_t dp; /**< RSA private key (12 qwords)*/
4258     uint64_t dq; /**< RSA private key (12 qwords)*/
4259     uint64_t qinv; /**< RSA private key (12 qwords)*/
4260 } icp_qat_fw_mmp_rsa_kp2_1536_output_t;
4261 
4262 
4263 
4264 /**
4265  * @ingroup icp_qat_fw_mmp
4266  * @brief
4267  *    Output parameter list for RSA 1536 Encryption ,
4268  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_EP_1536.
4269  */
4270 typedef struct icp_qat_fw_mmp_rsa_ep_1536_output_s
4271 {
4272     uint64_t c; /**< cipher text representative, &lt; n (24 qwords)*/
4273 } icp_qat_fw_mmp_rsa_ep_1536_output_t;
4274 
4275 
4276 
4277 /**
4278  * @ingroup icp_qat_fw_mmp
4279  * @brief
4280  *    Output parameter list for RSA 1536 Decryption ,
4281  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_DP1_1536.
4282  */
4283 typedef struct icp_qat_fw_mmp_rsa_dp1_1536_output_s
4284 {
4285     uint64_t m; /**< message representative, &lt; n (24 qwords)*/
4286 } icp_qat_fw_mmp_rsa_dp1_1536_output_t;
4287 
4288 
4289 
4290 /**
4291  * @ingroup icp_qat_fw_mmp
4292  * @brief
4293  *    Output parameter list for RSA 1536 Decryption with CRT ,
4294  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_DP2_1536.
4295  */
4296 typedef struct icp_qat_fw_mmp_rsa_dp2_1536_output_s
4297 {
4298     uint64_t m; /**< message representative, &lt; (p*q) (24 qwords)*/
4299 } icp_qat_fw_mmp_rsa_dp2_1536_output_t;
4300 
4301 
4302 
4303 /**
4304  * @ingroup icp_qat_fw_mmp
4305  * @brief
4306  *    Output parameter list for RSA 2048 key generation first form ,
4307  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_KP1_2048.
4308  */
4309 typedef struct icp_qat_fw_mmp_rsa_kp1_2048_output_s
4310 {
4311     uint64_t n; /**< RSA key (32 qwords)*/
4312     uint64_t d; /**< RSA private key (32 qwords)*/
4313 } icp_qat_fw_mmp_rsa_kp1_2048_output_t;
4314 
4315 
4316 
4317 /**
4318  * @ingroup icp_qat_fw_mmp
4319  * @brief
4320  *    Output parameter list for RSA 2048 key generation second form ,
4321  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_KP2_2048.
4322  */
4323 typedef struct icp_qat_fw_mmp_rsa_kp2_2048_output_s
4324 {
4325     uint64_t n; /**< RSA key (32 qwords)*/
4326     uint64_t d; /**< RSA private key (32 qwords)*/
4327     uint64_t dp; /**< RSA private key (16 qwords)*/
4328     uint64_t dq; /**< RSA private key (16 qwords)*/
4329     uint64_t qinv; /**< RSA private key (16 qwords)*/
4330 } icp_qat_fw_mmp_rsa_kp2_2048_output_t;
4331 
4332 
4333 
4334 /**
4335  * @ingroup icp_qat_fw_mmp
4336  * @brief
4337  *    Output parameter list for RSA 2048 Encryption ,
4338  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_EP_2048.
4339  */
4340 typedef struct icp_qat_fw_mmp_rsa_ep_2048_output_s
4341 {
4342     uint64_t c; /**< cipher text representative, &lt; n (32 qwords)*/
4343 } icp_qat_fw_mmp_rsa_ep_2048_output_t;
4344 
4345 
4346 
4347 /**
4348  * @ingroup icp_qat_fw_mmp
4349  * @brief
4350  *    Output parameter list for RSA 2048 Decryption ,
4351  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_DP1_2048.
4352  */
4353 typedef struct icp_qat_fw_mmp_rsa_dp1_2048_output_s
4354 {
4355     uint64_t m; /**< message representative, &lt; n (32 qwords)*/
4356 } icp_qat_fw_mmp_rsa_dp1_2048_output_t;
4357 
4358 
4359 
4360 /**
4361  * @ingroup icp_qat_fw_mmp
4362  * @brief
4363  *    Output parameter list for RSA 2048 Decryption with CRT ,
4364  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_DP2_2048.
4365  */
4366 typedef struct icp_qat_fw_mmp_rsa_dp2_2048_output_s
4367 {
4368     uint64_t m; /**< message representative, &lt; (p*q) (32 qwords)*/
4369 } icp_qat_fw_mmp_rsa_dp2_2048_output_t;
4370 
4371 
4372 
4373 /**
4374  * @ingroup icp_qat_fw_mmp
4375  * @brief
4376  *    Output parameter list for RSA 3072 key generation first form ,
4377  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_KP1_3072.
4378  */
4379 typedef struct icp_qat_fw_mmp_rsa_kp1_3072_output_s
4380 {
4381     uint64_t n; /**< RSA key (48 qwords)*/
4382     uint64_t d; /**< RSA private key (48 qwords)*/
4383 } icp_qat_fw_mmp_rsa_kp1_3072_output_t;
4384 
4385 
4386 
4387 /**
4388  * @ingroup icp_qat_fw_mmp
4389  * @brief
4390  *    Output parameter list for RSA 3072 key generation second form ,
4391  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_KP2_3072.
4392  */
4393 typedef struct icp_qat_fw_mmp_rsa_kp2_3072_output_s
4394 {
4395     uint64_t n; /**< RSA key (48 qwords)*/
4396     uint64_t d; /**< RSA private key (48 qwords)*/
4397     uint64_t dp; /**< RSA private key (24 qwords)*/
4398     uint64_t dq; /**< RSA private key (24 qwords)*/
4399     uint64_t qinv; /**< RSA private key (24 qwords)*/
4400 } icp_qat_fw_mmp_rsa_kp2_3072_output_t;
4401 
4402 
4403 
4404 /**
4405  * @ingroup icp_qat_fw_mmp
4406  * @brief
4407  *    Output parameter list for RSA 3072 Encryption ,
4408  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_EP_3072.
4409  */
4410 typedef struct icp_qat_fw_mmp_rsa_ep_3072_output_s
4411 {
4412     uint64_t c; /**< cipher text representative, &lt; n (48 qwords)*/
4413 } icp_qat_fw_mmp_rsa_ep_3072_output_t;
4414 
4415 
4416 
4417 /**
4418  * @ingroup icp_qat_fw_mmp
4419  * @brief
4420  *    Output parameter list for RSA 3072 Decryption ,
4421  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_DP1_3072.
4422  */
4423 typedef struct icp_qat_fw_mmp_rsa_dp1_3072_output_s
4424 {
4425     uint64_t m; /**< message representative, &lt; n (48 qwords)*/
4426 } icp_qat_fw_mmp_rsa_dp1_3072_output_t;
4427 
4428 
4429 
4430 /**
4431  * @ingroup icp_qat_fw_mmp
4432  * @brief
4433  *    Output parameter list for RSA 3072 Decryption with CRT ,
4434  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_DP2_3072.
4435  */
4436 typedef struct icp_qat_fw_mmp_rsa_dp2_3072_output_s
4437 {
4438     uint64_t m; /**< message representative, &lt; (p*q) (48 qwords)*/
4439 } icp_qat_fw_mmp_rsa_dp2_3072_output_t;
4440 
4441 
4442 
4443 /**
4444  * @ingroup icp_qat_fw_mmp
4445  * @brief
4446  *    Output parameter list for RSA 4096 key generation first form ,
4447  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_KP1_4096.
4448  */
4449 typedef struct icp_qat_fw_mmp_rsa_kp1_4096_output_s
4450 {
4451     uint64_t n; /**< RSA key (64 qwords)*/
4452     uint64_t d; /**< RSA private key (64 qwords)*/
4453 } icp_qat_fw_mmp_rsa_kp1_4096_output_t;
4454 
4455 
4456 
4457 /**
4458  * @ingroup icp_qat_fw_mmp
4459  * @brief
4460  *    Output parameter list for RSA 4096 key generation second form ,
4461  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_KP2_4096.
4462  */
4463 typedef struct icp_qat_fw_mmp_rsa_kp2_4096_output_s
4464 {
4465     uint64_t n; /**< RSA key (64 qwords)*/
4466     uint64_t d; /**< RSA private key (64 qwords)*/
4467     uint64_t dp; /**< RSA private key (32 qwords)*/
4468     uint64_t dq; /**< RSA private key (32 qwords)*/
4469     uint64_t qinv; /**< RSA private key (32 qwords)*/
4470 } icp_qat_fw_mmp_rsa_kp2_4096_output_t;
4471 
4472 
4473 
4474 /**
4475  * @ingroup icp_qat_fw_mmp
4476  * @brief
4477  *    Output parameter list for RSA 4096 Encryption ,
4478  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_EP_4096.
4479  */
4480 typedef struct icp_qat_fw_mmp_rsa_ep_4096_output_s
4481 {
4482     uint64_t c; /**< cipher text representative, &lt; n (64 qwords)*/
4483 } icp_qat_fw_mmp_rsa_ep_4096_output_t;
4484 
4485 
4486 
4487 /**
4488  * @ingroup icp_qat_fw_mmp
4489  * @brief
4490  *    Output parameter list for RSA 4096 Decryption ,
4491  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_DP1_4096.
4492  */
4493 typedef struct icp_qat_fw_mmp_rsa_dp1_4096_output_s
4494 {
4495     uint64_t m; /**< message representative, &lt; n (64 qwords)*/
4496 } icp_qat_fw_mmp_rsa_dp1_4096_output_t;
4497 
4498 
4499 
4500 /**
4501  * @ingroup icp_qat_fw_mmp
4502  * @brief
4503  *    Output parameter list for RSA 4096 Decryption with CRT ,
4504  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_RSA_DP2_4096.
4505  */
4506 typedef struct icp_qat_fw_mmp_rsa_dp2_4096_output_s
4507 {
4508     uint64_t m; /**< message representative, &lt; (p*q) (64 qwords)*/
4509 } icp_qat_fw_mmp_rsa_dp2_4096_output_t;
4510 
4511 /**
4512  * @ingroup icp_qat_fw_mmp
4513  * @brief
4514  *    Output parameter list for RSA 8192 Encryption ,
4515  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
4516  * #PKE_RSA_EP_8192.
4517  */
4518 typedef struct icp_qat_fw_mmp_rsa_ep_8192_output_s
4519 {
4520     uint64_t c; /**< cipher text representative, &lt; n (128 qwords)*/
4521 } icp_qat_fw_mmp_rsa_ep_8192_output_t;
4522 
4523 /**
4524  * @ingroup icp_qat_fw_mmp
4525  * @brief
4526  *    Output parameter list for RSA 8192 Decryption ,
4527  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
4528  * #PKE_RSA_DP1_8192.
4529  */
4530 typedef struct icp_qat_fw_mmp_rsa_dp1_8192_output_s
4531 {
4532     uint64_t m; /**< message representative, &lt; n (128 qwords)*/
4533 } icp_qat_fw_mmp_rsa_dp1_8192_output_t;
4534 
4535 /**
4536  * @ingroup icp_qat_fw_mmp
4537  * @brief
4538  *    Output parameter list for RSA 8192 Decryption with CRT ,
4539  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
4540  * #PKE_RSA_DP2_8192.
4541  */
4542 typedef struct icp_qat_fw_mmp_rsa_dp2_8192_output_s
4543 {
4544     uint64_t m; /**< message representative, &lt; (p*q) (128 qwords)*/
4545 } icp_qat_fw_mmp_rsa_dp2_8192_output_t;
4546 
4547 /**
4548  * @ingroup icp_qat_fw_mmp
4549  * @brief
4550  *    Output parameter list for GCD primality test for 192-bit numbers ,
4551  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_GCD_PT_192.
4552  */
4553 typedef struct icp_qat_fw_mmp_gcd_pt_192_output_s
4554 {
4555     /* no output parameters */
4556 } icp_qat_fw_mmp_gcd_pt_192_output_t;
4557 
4558 
4559 
4560 /**
4561  * @ingroup icp_qat_fw_mmp
4562  * @brief
4563  *    Output parameter list for GCD primality test for 256-bit numbers ,
4564  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_GCD_PT_256.
4565  */
4566 typedef struct icp_qat_fw_mmp_gcd_pt_256_output_s
4567 {
4568     /* no output parameters */
4569 } icp_qat_fw_mmp_gcd_pt_256_output_t;
4570 
4571 
4572 
4573 /**
4574  * @ingroup icp_qat_fw_mmp
4575  * @brief
4576  *    Output parameter list for GCD primality test for 384-bit numbers ,
4577  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_GCD_PT_384.
4578  */
4579 typedef struct icp_qat_fw_mmp_gcd_pt_384_output_s
4580 {
4581     /* no output parameters */
4582 } icp_qat_fw_mmp_gcd_pt_384_output_t;
4583 
4584 
4585 
4586 /**
4587  * @ingroup icp_qat_fw_mmp
4588  * @brief
4589  *    Output parameter list for GCD primality test for 512-bit numbers ,
4590  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_GCD_PT_512.
4591  */
4592 typedef struct icp_qat_fw_mmp_gcd_pt_512_output_s
4593 {
4594     /* no output parameters */
4595 } icp_qat_fw_mmp_gcd_pt_512_output_t;
4596 
4597 
4598 
4599 /**
4600  * @ingroup icp_qat_fw_mmp
4601  * @brief
4602  *    Output parameter list for GCD primality test for 768-bit numbers ,
4603  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_GCD_PT_768.
4604  */
4605 typedef struct icp_qat_fw_mmp_gcd_pt_768_output_s
4606 {
4607     /* no output parameters */
4608 } icp_qat_fw_mmp_gcd_pt_768_output_t;
4609 
4610 
4611 
4612 /**
4613  * @ingroup icp_qat_fw_mmp
4614  * @brief
4615  *    Output parameter list for GCD primality test for 1024-bit numbers ,
4616  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_GCD_PT_1024.
4617  */
4618 typedef struct icp_qat_fw_mmp_gcd_pt_1024_output_s
4619 {
4620     /* no output parameters */
4621 } icp_qat_fw_mmp_gcd_pt_1024_output_t;
4622 
4623 
4624 
4625 /**
4626  * @ingroup icp_qat_fw_mmp
4627  * @brief
4628  *    Output parameter list for GCD primality test for 1536-bit numbers ,
4629  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_GCD_PT_1536.
4630  */
4631 typedef struct icp_qat_fw_mmp_gcd_pt_1536_output_s
4632 {
4633     /* no output parameters */
4634 } icp_qat_fw_mmp_gcd_pt_1536_output_t;
4635 
4636 
4637 
4638 /**
4639  * @ingroup icp_qat_fw_mmp
4640  * @brief
4641  *    Output parameter list for GCD primality test for 2048-bit numbers ,
4642  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_GCD_PT_2048.
4643  */
4644 typedef struct icp_qat_fw_mmp_gcd_pt_2048_output_s
4645 {
4646     /* no output parameters */
4647 } icp_qat_fw_mmp_gcd_pt_2048_output_t;
4648 
4649 
4650 
4651 /**
4652  * @ingroup icp_qat_fw_mmp
4653  * @brief
4654  *    Output parameter list for GCD primality test for 3072-bit numbers ,
4655  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_GCD_PT_3072.
4656  */
4657 typedef struct icp_qat_fw_mmp_gcd_pt_3072_output_s
4658 {
4659     /* no output parameters */
4660 } icp_qat_fw_mmp_gcd_pt_3072_output_t;
4661 
4662 
4663 
4664 /**
4665  * @ingroup icp_qat_fw_mmp
4666  * @brief
4667  *    Output parameter list for GCD primality test for 4096-bit numbers ,
4668  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_GCD_PT_4096.
4669  */
4670 typedef struct icp_qat_fw_mmp_gcd_pt_4096_output_s
4671 {
4672     /* no output parameters */
4673 } icp_qat_fw_mmp_gcd_pt_4096_output_t;
4674 
4675 
4676 
4677 /**
4678  * @ingroup icp_qat_fw_mmp
4679  * @brief
4680  *    Output parameter list for Fermat primality test for 160-bit numbers ,
4681  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_FERMAT_PT_160.
4682  */
4683 typedef struct icp_qat_fw_mmp_fermat_pt_160_output_s
4684 {
4685     /* no output parameters */
4686 } icp_qat_fw_mmp_fermat_pt_160_output_t;
4687 
4688 
4689 
4690 /**
4691  * @ingroup icp_qat_fw_mmp
4692  * @brief
4693  *    Output parameter list for Fermat primality test for 512-bit numbers ,
4694  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_FERMAT_PT_512.
4695  */
4696 typedef struct icp_qat_fw_mmp_fermat_pt_512_output_s
4697 {
4698     /* no output parameters */
4699 } icp_qat_fw_mmp_fermat_pt_512_output_t;
4700 
4701 
4702 
4703 /**
4704  * @ingroup icp_qat_fw_mmp
4705  * @brief
4706  *    Output parameter list for Fermat primality test for &lte; 512-bit numbers ,
4707  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_FERMAT_PT_L512.
4708  */
4709 typedef struct icp_qat_fw_mmp_fermat_pt_l512_output_s
4710 {
4711     /* no output parameters */
4712 } icp_qat_fw_mmp_fermat_pt_l512_output_t;
4713 
4714 
4715 
4716 /**
4717  * @ingroup icp_qat_fw_mmp
4718  * @brief
4719  *    Output parameter list for Fermat primality test for 768-bit numbers ,
4720  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_FERMAT_PT_768.
4721  */
4722 typedef struct icp_qat_fw_mmp_fermat_pt_768_output_s
4723 {
4724     /* no output parameters */
4725 } icp_qat_fw_mmp_fermat_pt_768_output_t;
4726 
4727 
4728 
4729 /**
4730  * @ingroup icp_qat_fw_mmp
4731  * @brief
4732  *    Output parameter list for Fermat primality test for 1024-bit numbers ,
4733  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_FERMAT_PT_1024.
4734  */
4735 typedef struct icp_qat_fw_mmp_fermat_pt_1024_output_s
4736 {
4737     /* no output parameters */
4738 } icp_qat_fw_mmp_fermat_pt_1024_output_t;
4739 
4740 
4741 
4742 /**
4743  * @ingroup icp_qat_fw_mmp
4744  * @brief
4745  *    Output parameter list for Fermat primality test for 1536-bit numbers ,
4746  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_FERMAT_PT_1536.
4747  */
4748 typedef struct icp_qat_fw_mmp_fermat_pt_1536_output_s
4749 {
4750     /* no output parameters */
4751 } icp_qat_fw_mmp_fermat_pt_1536_output_t;
4752 
4753 
4754 
4755 /**
4756  * @ingroup icp_qat_fw_mmp
4757  * @brief
4758  *    Output parameter list for Fermat primality test for 2048-bit numbers ,
4759  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_FERMAT_PT_2048.
4760  */
4761 typedef struct icp_qat_fw_mmp_fermat_pt_2048_output_s
4762 {
4763     /* no output parameters */
4764 } icp_qat_fw_mmp_fermat_pt_2048_output_t;
4765 
4766 
4767 
4768 /**
4769  * @ingroup icp_qat_fw_mmp
4770  * @brief
4771  *    Output parameter list for Fermat primality test for 3072-bit numbers ,
4772  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_FERMAT_PT_3072.
4773  */
4774 typedef struct icp_qat_fw_mmp_fermat_pt_3072_output_s
4775 {
4776     /* no output parameters */
4777 } icp_qat_fw_mmp_fermat_pt_3072_output_t;
4778 
4779 
4780 
4781 /**
4782  * @ingroup icp_qat_fw_mmp
4783  * @brief
4784  *    Output parameter list for Fermat primality test for 4096-bit numbers ,
4785  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_FERMAT_PT_4096.
4786  */
4787 typedef struct icp_qat_fw_mmp_fermat_pt_4096_output_s
4788 {
4789     /* no output parameters */
4790 } icp_qat_fw_mmp_fermat_pt_4096_output_t;
4791 
4792 
4793 
4794 /**
4795  * @ingroup icp_qat_fw_mmp
4796  * @brief
4797  *    Output parameter list for Miller-Rabin primality test for 160-bit numbers ,
4798  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_MR_PT_160.
4799  */
4800 typedef struct icp_qat_fw_mmp_mr_pt_160_output_s
4801 {
4802     /* no output parameters */
4803 } icp_qat_fw_mmp_mr_pt_160_output_t;
4804 
4805 
4806 
4807 /**
4808  * @ingroup icp_qat_fw_mmp
4809  * @brief
4810  *    Output parameter list for Miller-Rabin primality test for 512-bit numbers ,
4811  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_MR_PT_512.
4812  */
4813 typedef struct icp_qat_fw_mmp_mr_pt_512_output_s
4814 {
4815     /* no output parameters */
4816 } icp_qat_fw_mmp_mr_pt_512_output_t;
4817 
4818 
4819 
4820 /**
4821  * @ingroup icp_qat_fw_mmp
4822  * @brief
4823  *    Output parameter list for Miller-Rabin primality test for 768-bit numbers ,
4824  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_MR_PT_768.
4825  */
4826 typedef struct icp_qat_fw_mmp_mr_pt_768_output_s
4827 {
4828     /* no output parameters */
4829 } icp_qat_fw_mmp_mr_pt_768_output_t;
4830 
4831 
4832 
4833 /**
4834  * @ingroup icp_qat_fw_mmp
4835  * @brief
4836  *    Output parameter list for Miller-Rabin primality test for 1024-bit numbers ,
4837  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_MR_PT_1024.
4838  */
4839 typedef struct icp_qat_fw_mmp_mr_pt_1024_output_s
4840 {
4841     /* no output parameters */
4842 } icp_qat_fw_mmp_mr_pt_1024_output_t;
4843 
4844 
4845 
4846 /**
4847  * @ingroup icp_qat_fw_mmp
4848  * @brief
4849  *    Output parameter list for Miller-Rabin primality test for 1536-bit numbers ,
4850  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_MR_PT_1536.
4851  */
4852 typedef struct icp_qat_fw_mmp_mr_pt_1536_output_s
4853 {
4854     /* no output parameters */
4855 } icp_qat_fw_mmp_mr_pt_1536_output_t;
4856 
4857 
4858 
4859 /**
4860  * @ingroup icp_qat_fw_mmp
4861  * @brief
4862  *    Output parameter list for Miller-Rabin primality test for 2048-bit numbers ,
4863  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_MR_PT_2048.
4864  */
4865 typedef struct icp_qat_fw_mmp_mr_pt_2048_output_s
4866 {
4867     /* no output parameters */
4868 } icp_qat_fw_mmp_mr_pt_2048_output_t;
4869 
4870 
4871 
4872 /**
4873  * @ingroup icp_qat_fw_mmp
4874  * @brief
4875  *    Output parameter list for Miller-Rabin primality test for 3072-bit numbers ,
4876  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_MR_PT_3072.
4877  */
4878 typedef struct icp_qat_fw_mmp_mr_pt_3072_output_s
4879 {
4880     /* no output parameters */
4881 } icp_qat_fw_mmp_mr_pt_3072_output_t;
4882 
4883 
4884 
4885 /**
4886  * @ingroup icp_qat_fw_mmp
4887  * @brief
4888  *    Output parameter list for Miller-Rabin primality test for 4096-bit numbers ,
4889  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_MR_PT_4096.
4890  */
4891 typedef struct icp_qat_fw_mmp_mr_pt_4096_output_s
4892 {
4893     /* no output parameters */
4894 } icp_qat_fw_mmp_mr_pt_4096_output_t;
4895 
4896 
4897 
4898 /**
4899  * @ingroup icp_qat_fw_mmp
4900  * @brief
4901  *    Output parameter list for Miller-Rabin primality test for 512-bit numbers ,
4902  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_MR_PT_L512.
4903  */
4904 typedef struct icp_qat_fw_mmp_mr_pt_l512_output_s
4905 {
4906     /* no output parameters */
4907 } icp_qat_fw_mmp_mr_pt_l512_output_t;
4908 
4909 
4910 
4911 /**
4912  * @ingroup icp_qat_fw_mmp
4913  * @brief
4914  *    Output parameter list for Lucas primality test for 160-bit numbers ,
4915  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_LUCAS_PT_160.
4916  */
4917 typedef struct icp_qat_fw_mmp_lucas_pt_160_output_s
4918 {
4919     /* no output parameters */
4920 } icp_qat_fw_mmp_lucas_pt_160_output_t;
4921 
4922 
4923 
4924 /**
4925  * @ingroup icp_qat_fw_mmp
4926  * @brief
4927  *    Output parameter list for Lucas primality test for 512-bit numbers ,
4928  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_LUCAS_PT_512.
4929  */
4930 typedef struct icp_qat_fw_mmp_lucas_pt_512_output_s
4931 {
4932     /* no output parameters */
4933 } icp_qat_fw_mmp_lucas_pt_512_output_t;
4934 
4935 
4936 
4937 /**
4938  * @ingroup icp_qat_fw_mmp
4939  * @brief
4940  *    Output parameter list for Lucas primality test for 768-bit numbers ,
4941  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_LUCAS_PT_768.
4942  */
4943 typedef struct icp_qat_fw_mmp_lucas_pt_768_output_s
4944 {
4945     /* no output parameters */
4946 } icp_qat_fw_mmp_lucas_pt_768_output_t;
4947 
4948 
4949 
4950 /**
4951  * @ingroup icp_qat_fw_mmp
4952  * @brief
4953  *    Output parameter list for Lucas primality test for 1024-bit numbers ,
4954  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_LUCAS_PT_1024.
4955  */
4956 typedef struct icp_qat_fw_mmp_lucas_pt_1024_output_s
4957 {
4958     /* no output parameters */
4959 } icp_qat_fw_mmp_lucas_pt_1024_output_t;
4960 
4961 
4962 
4963 /**
4964  * @ingroup icp_qat_fw_mmp
4965  * @brief
4966  *    Output parameter list for Lucas primality test for 1536-bit numbers ,
4967  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_LUCAS_PT_1536.
4968  */
4969 typedef struct icp_qat_fw_mmp_lucas_pt_1536_output_s
4970 {
4971     /* no output parameters */
4972 } icp_qat_fw_mmp_lucas_pt_1536_output_t;
4973 
4974 
4975 
4976 /**
4977  * @ingroup icp_qat_fw_mmp
4978  * @brief
4979  *    Output parameter list for Lucas primality test for 2048-bit numbers ,
4980  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_LUCAS_PT_2048.
4981  */
4982 typedef struct icp_qat_fw_mmp_lucas_pt_2048_output_s
4983 {
4984     /* no output parameters */
4985 } icp_qat_fw_mmp_lucas_pt_2048_output_t;
4986 
4987 
4988 
4989 /**
4990  * @ingroup icp_qat_fw_mmp
4991  * @brief
4992  *    Output parameter list for Lucas primality test for 3072-bit numbers ,
4993  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_LUCAS_PT_3072.
4994  */
4995 typedef struct icp_qat_fw_mmp_lucas_pt_3072_output_s
4996 {
4997     /* no output parameters */
4998 } icp_qat_fw_mmp_lucas_pt_3072_output_t;
4999 
5000 
5001 
5002 /**
5003  * @ingroup icp_qat_fw_mmp
5004  * @brief
5005  *    Output parameter list for Lucas primality test for 4096-bit numbers ,
5006  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_LUCAS_PT_4096.
5007  */
5008 typedef struct icp_qat_fw_mmp_lucas_pt_4096_output_s
5009 {
5010     /* no output parameters */
5011 } icp_qat_fw_mmp_lucas_pt_4096_output_t;
5012 
5013 
5014 
5015 /**
5016  * @ingroup icp_qat_fw_mmp
5017  * @brief
5018  *    Output parameter list for Lucas primality test for L512-bit numbers ,
5019  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_LUCAS_PT_L512.
5020  */
5021 typedef struct icp_qat_fw_mmp_lucas_pt_l512_output_s
5022 {
5023     /* no output parameters */
5024 } icp_qat_fw_mmp_lucas_pt_l512_output_t;
5025 
5026 
5027 
5028 /**
5029  * @ingroup icp_qat_fw_mmp
5030  * @brief
5031  *    Output parameter list for Modular exponentiation for numbers less than 512-bits ,
5032  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODEXP_L512.
5033  */
5034 typedef struct icp_qat_fw_maths_modexp_l512_output_s
5035 {
5036     uint64_t r; /**< modular exponentiation result  &ge; 0 and &lt; m (8 qwords)*/
5037 } icp_qat_fw_maths_modexp_l512_output_t;
5038 
5039 
5040 
5041 /**
5042  * @ingroup icp_qat_fw_mmp
5043  * @brief
5044  *    Output parameter list for Modular exponentiation for numbers less than 1024-bit ,
5045  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODEXP_L1024.
5046  */
5047 typedef struct icp_qat_fw_maths_modexp_l1024_output_s
5048 {
5049     uint64_t r; /**< modular exponentiation result  &ge; 0 and &lt; m (16 qwords)*/
5050 } icp_qat_fw_maths_modexp_l1024_output_t;
5051 
5052 
5053 
5054 /**
5055  * @ingroup icp_qat_fw_mmp
5056  * @brief
5057  *    Output parameter list for Modular exponentiation for numbers less than 1536-bits ,
5058  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODEXP_L1536.
5059  */
5060 typedef struct icp_qat_fw_maths_modexp_l1536_output_s
5061 {
5062     uint64_t r; /**< modular exponentiation result  &ge; 0 and &lt; m (24 qwords)*/
5063 } icp_qat_fw_maths_modexp_l1536_output_t;
5064 
5065 
5066 
5067 /**
5068  * @ingroup icp_qat_fw_mmp
5069  * @brief
5070  *    Output parameter list for Modular exponentiation for numbers less than 2048-bit ,
5071  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODEXP_L2048.
5072  */
5073 typedef struct icp_qat_fw_maths_modexp_l2048_output_s
5074 {
5075     uint64_t r; /**< modular exponentiation result  &ge; 0 and &lt; m (32 qwords)*/
5076 } icp_qat_fw_maths_modexp_l2048_output_t;
5077 
5078 
5079 
5080 /**
5081  * @ingroup icp_qat_fw_mmp
5082  * @brief
5083  *    Output parameter list for Modular exponentiation for numbers less than 2560-bits ,
5084  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODEXP_L2560.
5085  */
5086 typedef struct icp_qat_fw_maths_modexp_l2560_output_s
5087 {
5088     uint64_t r; /**< modular exponentiation result  &ge; 0 and &lt; m (40 qwords)*/
5089 } icp_qat_fw_maths_modexp_l2560_output_t;
5090 
5091 
5092 
5093 /**
5094  * @ingroup icp_qat_fw_mmp
5095  * @brief
5096  *    Output parameter list for Modular exponentiation for numbers less than 3072-bits ,
5097  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODEXP_L3072.
5098  */
5099 typedef struct icp_qat_fw_maths_modexp_l3072_output_s
5100 {
5101     uint64_t r; /**< modular exponentiation result  &ge; 0 and &lt; m (48 qwords)*/
5102 } icp_qat_fw_maths_modexp_l3072_output_t;
5103 
5104 
5105 
5106 /**
5107  * @ingroup icp_qat_fw_mmp
5108  * @brief
5109  *    Output parameter list for Modular exponentiation for numbers less than 3584-bits ,
5110  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODEXP_L3584.
5111  */
5112 typedef struct icp_qat_fw_maths_modexp_l3584_output_s
5113 {
5114     uint64_t r; /**< modular exponentiation result  &ge; 0 and &lt; m (56 qwords)*/
5115 } icp_qat_fw_maths_modexp_l3584_output_t;
5116 
5117 
5118 
5119 /**
5120  * @ingroup icp_qat_fw_mmp
5121  * @brief
5122  *    Output parameter list for Modular exponentiation for numbers less than 4096-bit ,
5123  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODEXP_L4096.
5124  */
5125 typedef struct icp_qat_fw_maths_modexp_l4096_output_s
5126 {
5127     uint64_t r; /**< modular exponentiation result   &ge; 0 and &lt; m (64 qwords)*/
5128 } icp_qat_fw_maths_modexp_l4096_output_t;
5129 
5130 /**
5131  * @ingroup icp_qat_fw_mmp
5132  * @brief
5133  *    Output parameter list for Modular exponentiation for numbers up to 8192
5134  * bits , to be used when icp_qat_fw_pke_response_s::functionalityId is
5135  * #MATHS_MODEXP_L8192.
5136  */
5137 typedef struct icp_qat_fw_maths_modexp_l8192_output_s
5138 {
5139     uint64_t
5140         r; /**< modular exponentiation result   &ge; 0 and &lt; m (128 qwords)*/
5141 } icp_qat_fw_maths_modexp_l8192_output_t;
5142 
5143 /**
5144  * @ingroup icp_qat_fw_mmp
5145  * @brief
5146  *    Output parameter list for Modular multiplicative inverse for numbers less
5147  * than 128 bits , to be used when icp_qat_fw_pke_response_s::functionalityId is
5148  * #MATHS_MODINV_ODD_L128.
5149  */
5150 typedef struct icp_qat_fw_maths_modinv_odd_l128_output_s
5151 {
5152     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (2 qwords)*/
5153 } icp_qat_fw_maths_modinv_odd_l128_output_t;
5154 
5155 
5156 
5157 /**
5158  * @ingroup icp_qat_fw_mmp
5159  * @brief
5160  *    Output parameter list for Modular multiplicative inverse for numbers less than 192 bits ,
5161  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODINV_ODD_L192.
5162  */
5163 typedef struct icp_qat_fw_maths_modinv_odd_l192_output_s
5164 {
5165     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (3 qwords)*/
5166 } icp_qat_fw_maths_modinv_odd_l192_output_t;
5167 
5168 
5169 
5170 /**
5171  * @ingroup icp_qat_fw_mmp
5172  * @brief
5173  *    Output parameter list for Modular multiplicative inverse for numbers less than 256 bits ,
5174  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODINV_ODD_L256.
5175  */
5176 typedef struct icp_qat_fw_maths_modinv_odd_l256_output_s
5177 {
5178     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (4 qwords)*/
5179 } icp_qat_fw_maths_modinv_odd_l256_output_t;
5180 
5181 
5182 
5183 /**
5184  * @ingroup icp_qat_fw_mmp
5185  * @brief
5186  *    Output parameter list for Modular multiplicative inverse for numbers less than 384 bits ,
5187  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODINV_ODD_L384.
5188  */
5189 typedef struct icp_qat_fw_maths_modinv_odd_l384_output_s
5190 {
5191     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (6 qwords)*/
5192 } icp_qat_fw_maths_modinv_odd_l384_output_t;
5193 
5194 
5195 
5196 /**
5197  * @ingroup icp_qat_fw_mmp
5198  * @brief
5199  *    Output parameter list for Modular multiplicative inverse for numbers less than 512 bits ,
5200  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODINV_ODD_L512.
5201  */
5202 typedef struct icp_qat_fw_maths_modinv_odd_l512_output_s
5203 {
5204     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (8 qwords)*/
5205 } icp_qat_fw_maths_modinv_odd_l512_output_t;
5206 
5207 
5208 
5209 /**
5210  * @ingroup icp_qat_fw_mmp
5211  * @brief
5212  *    Output parameter list for Modular multiplicative inverse for numbers less than 768 bits ,
5213  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODINV_ODD_L768.
5214  */
5215 typedef struct icp_qat_fw_maths_modinv_odd_l768_output_s
5216 {
5217     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (12 qwords)*/
5218 } icp_qat_fw_maths_modinv_odd_l768_output_t;
5219 
5220 
5221 
5222 /**
5223  * @ingroup icp_qat_fw_mmp
5224  * @brief
5225  *    Output parameter list for Modular multiplicative inverse for numbers less than 1024 bits ,
5226  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODINV_ODD_L1024.
5227  */
5228 typedef struct icp_qat_fw_maths_modinv_odd_l1024_output_s
5229 {
5230     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (16 qwords)*/
5231 } icp_qat_fw_maths_modinv_odd_l1024_output_t;
5232 
5233 
5234 
5235 /**
5236  * @ingroup icp_qat_fw_mmp
5237  * @brief
5238  *    Output parameter list for Modular multiplicative inverse for numbers less than 1536 bits ,
5239  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODINV_ODD_L1536.
5240  */
5241 typedef struct icp_qat_fw_maths_modinv_odd_l1536_output_s
5242 {
5243     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (24 qwords)*/
5244 } icp_qat_fw_maths_modinv_odd_l1536_output_t;
5245 
5246 
5247 
5248 /**
5249  * @ingroup icp_qat_fw_mmp
5250  * @brief
5251  *    Output parameter list for Modular multiplicative inverse for numbers less than 2048 bits ,
5252  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODINV_ODD_L2048.
5253  */
5254 typedef struct icp_qat_fw_maths_modinv_odd_l2048_output_s
5255 {
5256     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (32 qwords)*/
5257 } icp_qat_fw_maths_modinv_odd_l2048_output_t;
5258 
5259 
5260 
5261 /**
5262  * @ingroup icp_qat_fw_mmp
5263  * @brief
5264  *    Output parameter list for Modular multiplicative inverse for numbers less than 3072 bits ,
5265  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODINV_ODD_L3072.
5266  */
5267 typedef struct icp_qat_fw_maths_modinv_odd_l3072_output_s
5268 {
5269     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (48 qwords)*/
5270 } icp_qat_fw_maths_modinv_odd_l3072_output_t;
5271 
5272 
5273 
5274 /**
5275  * @ingroup icp_qat_fw_mmp
5276  * @brief
5277  *    Output parameter list for Modular multiplicative inverse for numbers less than 4096 bits ,
5278  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODINV_ODD_L4096.
5279  */
5280 typedef struct icp_qat_fw_maths_modinv_odd_l4096_output_s
5281 {
5282     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (64 qwords)*/
5283 } icp_qat_fw_maths_modinv_odd_l4096_output_t;
5284 
5285 /**
5286  * @ingroup icp_qat_fw_mmp
5287  * @brief
5288  *    Output parameter list for Modular multiplicative inverse for numbers up to
5289  * 8192 bits , to be used when icp_qat_fw_pke_response_s::functionalityId is
5290  * #MATHS_MODINV_ODD_L8192.
5291  */
5292 typedef struct icp_qat_fw_maths_modinv_odd_l8192_output_s
5293 {
5294     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (128
5295                    qwords)*/
5296 } icp_qat_fw_maths_modinv_odd_l8192_output_t;
5297 
5298 /**
5299  * @ingroup icp_qat_fw_mmp
5300  * @brief
5301  *    Output parameter list for Modular multiplicative inverse for numbers less
5302  * than 128 bits , to be used when icp_qat_fw_pke_response_s::functionalityId is
5303  * #MATHS_MODINV_EVEN_L128.
5304  */
5305 typedef struct icp_qat_fw_maths_modinv_even_l128_output_s
5306 {
5307     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (2 qwords)*/
5308 } icp_qat_fw_maths_modinv_even_l128_output_t;
5309 
5310 
5311 
5312 /**
5313  * @ingroup icp_qat_fw_mmp
5314  * @brief
5315  *    Output parameter list for Modular multiplicative inverse for numbers less than 192 bits ,
5316  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODINV_EVEN_L192.
5317  */
5318 typedef struct icp_qat_fw_maths_modinv_even_l192_output_s
5319 {
5320     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (3 qwords)*/
5321 } icp_qat_fw_maths_modinv_even_l192_output_t;
5322 
5323 
5324 
5325 /**
5326  * @ingroup icp_qat_fw_mmp
5327  * @brief
5328  *    Output parameter list for Modular multiplicative inverse for numbers less than 256 bits ,
5329  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODINV_EVEN_L256.
5330  */
5331 typedef struct icp_qat_fw_maths_modinv_even_l256_output_s
5332 {
5333     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (4 qwords)*/
5334 } icp_qat_fw_maths_modinv_even_l256_output_t;
5335 
5336 
5337 
5338 /**
5339  * @ingroup icp_qat_fw_mmp
5340  * @brief
5341  *    Output parameter list for Modular multiplicative inverse for numbers less than 384 bits ,
5342  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODINV_EVEN_L384.
5343  */
5344 typedef struct icp_qat_fw_maths_modinv_even_l384_output_s
5345 {
5346     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (6 qwords)*/
5347 } icp_qat_fw_maths_modinv_even_l384_output_t;
5348 
5349 
5350 
5351 /**
5352  * @ingroup icp_qat_fw_mmp
5353  * @brief
5354  *    Output parameter list for Modular multiplicative inverse for numbers less than 512 bits ,
5355  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODINV_EVEN_L512.
5356  */
5357 typedef struct icp_qat_fw_maths_modinv_even_l512_output_s
5358 {
5359     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (8 qwords)*/
5360 } icp_qat_fw_maths_modinv_even_l512_output_t;
5361 
5362 
5363 
5364 /**
5365  * @ingroup icp_qat_fw_mmp
5366  * @brief
5367  *    Output parameter list for Modular multiplicative inverse for numbers less than 768 bits ,
5368  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODINV_EVEN_L768.
5369  */
5370 typedef struct icp_qat_fw_maths_modinv_even_l768_output_s
5371 {
5372     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (12 qwords)*/
5373 } icp_qat_fw_maths_modinv_even_l768_output_t;
5374 
5375 
5376 
5377 /**
5378  * @ingroup icp_qat_fw_mmp
5379  * @brief
5380  *    Output parameter list for Modular multiplicative inverse for numbers less than 1024 bits ,
5381  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODINV_EVEN_L1024.
5382  */
5383 typedef struct icp_qat_fw_maths_modinv_even_l1024_output_s
5384 {
5385     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (16 qwords)*/
5386 } icp_qat_fw_maths_modinv_even_l1024_output_t;
5387 
5388 
5389 
5390 /**
5391  * @ingroup icp_qat_fw_mmp
5392  * @brief
5393  *    Output parameter list for Modular multiplicative inverse for numbers less than 1536 bits ,
5394  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODINV_EVEN_L1536.
5395  */
5396 typedef struct icp_qat_fw_maths_modinv_even_l1536_output_s
5397 {
5398     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (24 qwords)*/
5399 } icp_qat_fw_maths_modinv_even_l1536_output_t;
5400 
5401 
5402 
5403 /**
5404  * @ingroup icp_qat_fw_mmp
5405  * @brief
5406  *    Output parameter list for Modular multiplicative inverse for numbers less than 2048 bits ,
5407  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODINV_EVEN_L2048.
5408  */
5409 typedef struct icp_qat_fw_maths_modinv_even_l2048_output_s
5410 {
5411     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (32 qwords)*/
5412 } icp_qat_fw_maths_modinv_even_l2048_output_t;
5413 
5414 
5415 
5416 /**
5417  * @ingroup icp_qat_fw_mmp
5418  * @brief
5419  *    Output parameter list for Modular multiplicative inverse for numbers less than 3072 bits ,
5420  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODINV_EVEN_L3072.
5421  */
5422 typedef struct icp_qat_fw_maths_modinv_even_l3072_output_s
5423 {
5424     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (48 qwords)*/
5425 } icp_qat_fw_maths_modinv_even_l3072_output_t;
5426 
5427 
5428 
5429 /**
5430  * @ingroup icp_qat_fw_mmp
5431  * @brief
5432  *    Output parameter list for Modular multiplicative inverse for numbers less than 4096 bits ,
5433  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_MODINV_EVEN_L4096.
5434  */
5435 typedef struct icp_qat_fw_maths_modinv_even_l4096_output_s
5436 {
5437     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (64 qwords)*/
5438 } icp_qat_fw_maths_modinv_even_l4096_output_t;
5439 
5440 /**
5441  * @ingroup icp_qat_fw_mmp
5442  * @brief
5443  *    Output parameter list for Modular multiplicative inverse for numbers up to
5444  * 8192 bits , to be used when icp_qat_fw_pke_response_s::functionalityId is
5445  * #MATHS_MODINV_EVEN_L8192.
5446  */
5447 typedef struct icp_qat_fw_maths_modinv_even_l8192_output_s
5448 {
5449     uint64_t c; /**< modular multiplicative inverse of a, &gt; 0 and &lt; b (128
5450                    qwords)*/
5451 } icp_qat_fw_maths_modinv_even_l8192_output_t;
5452 
5453 /**
5454  * @ingroup icp_qat_fw_mmp
5455  * @brief
5456  *    Output parameter list for DSA parameter generation P ,
5457  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_GEN_P_1024_160.
5458  */
5459 typedef struct icp_qat_fw_mmp_dsa_gen_p_1024_160_output_s
5460 {
5461     uint64_t p; /**< candidate for DSA parameter p  (16 qwords)*/
5462 } icp_qat_fw_mmp_dsa_gen_p_1024_160_output_t;
5463 
5464 
5465 
5466 /**
5467  * @ingroup icp_qat_fw_mmp
5468  * @brief
5469  *    Output parameter list for DSA key generation G ,
5470  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_GEN_G_1024.
5471  */
5472 typedef struct icp_qat_fw_mmp_dsa_gen_g_1024_output_s
5473 {
5474     uint64_t g; /**< DSA parameter  (16 qwords)*/
5475 } icp_qat_fw_mmp_dsa_gen_g_1024_output_t;
5476 
5477 
5478 
5479 /**
5480  * @ingroup icp_qat_fw_mmp
5481  * @brief
5482  *    Output parameter list for DSA key generation Y ,
5483  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_GEN_Y_1024.
5484  */
5485 typedef struct icp_qat_fw_mmp_dsa_gen_y_1024_output_s
5486 {
5487     uint64_t y; /**< DSA parameter (16 qwords)*/
5488 } icp_qat_fw_mmp_dsa_gen_y_1024_output_t;
5489 
5490 
5491 
5492 /**
5493  * @ingroup icp_qat_fw_mmp
5494  * @brief
5495  *    Output parameter list for DSA Sign R ,
5496  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_SIGN_R_1024_160.
5497  */
5498 typedef struct icp_qat_fw_mmp_dsa_sign_r_1024_160_output_s
5499 {
5500     uint64_t r; /**< DSA 160-bits signature  (3 qwords)*/
5501 } icp_qat_fw_mmp_dsa_sign_r_1024_160_output_t;
5502 
5503 
5504 
5505 /**
5506  * @ingroup icp_qat_fw_mmp
5507  * @brief
5508  *    Output parameter list for DSA Sign S ,
5509  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_SIGN_S_160.
5510  */
5511 typedef struct icp_qat_fw_mmp_dsa_sign_s_160_output_s
5512 {
5513     uint64_t s; /**< s DSA 160-bits signature  (3 qwords)*/
5514 } icp_qat_fw_mmp_dsa_sign_s_160_output_t;
5515 
5516 
5517 
5518 /**
5519  * @ingroup icp_qat_fw_mmp
5520  * @brief
5521  *    Output parameter list for DSA Sign R S ,
5522  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_SIGN_R_S_1024_160.
5523  */
5524 typedef struct icp_qat_fw_mmp_dsa_sign_r_s_1024_160_output_s
5525 {
5526     uint64_t r; /**< DSA 160-bits signature  (3 qwords)*/
5527     uint64_t s; /**< DSA 160-bits signature  (3 qwords)*/
5528 } icp_qat_fw_mmp_dsa_sign_r_s_1024_160_output_t;
5529 
5530 
5531 
5532 /**
5533  * @ingroup icp_qat_fw_mmp
5534  * @brief
5535  *    Output parameter list for DSA Verify ,
5536  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_VERIFY_1024_160.
5537  */
5538 typedef struct icp_qat_fw_mmp_dsa_verify_1024_160_output_s
5539 {
5540     /* no output parameters */
5541 } icp_qat_fw_mmp_dsa_verify_1024_160_output_t;
5542 
5543 
5544 
5545 /**
5546  * @ingroup icp_qat_fw_mmp
5547  * @brief
5548  *    Output parameter list for DSA parameter generation P ,
5549  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_GEN_P_2048_224.
5550  */
5551 typedef struct icp_qat_fw_mmp_dsa_gen_p_2048_224_output_s
5552 {
5553     uint64_t p; /**< candidate for DSA parameter p  (32 qwords)*/
5554 } icp_qat_fw_mmp_dsa_gen_p_2048_224_output_t;
5555 
5556 
5557 
5558 /**
5559  * @ingroup icp_qat_fw_mmp
5560  * @brief
5561  *    Output parameter list for DSA key generation Y ,
5562  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_GEN_Y_2048.
5563  */
5564 typedef struct icp_qat_fw_mmp_dsa_gen_y_2048_output_s
5565 {
5566     uint64_t y; /**< DSA parameter (32 qwords)*/
5567 } icp_qat_fw_mmp_dsa_gen_y_2048_output_t;
5568 
5569 
5570 
5571 /**
5572  * @ingroup icp_qat_fw_mmp
5573  * @brief
5574  *    Output parameter list for DSA Sign R ,
5575  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_SIGN_R_2048_224.
5576  */
5577 typedef struct icp_qat_fw_mmp_dsa_sign_r_2048_224_output_s
5578 {
5579     uint64_t r; /**< DSA 224-bits signature  (4 qwords)*/
5580 } icp_qat_fw_mmp_dsa_sign_r_2048_224_output_t;
5581 
5582 
5583 
5584 /**
5585  * @ingroup icp_qat_fw_mmp
5586  * @brief
5587  *    Output parameter list for DSA Sign S ,
5588  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_SIGN_S_224.
5589  */
5590 typedef struct icp_qat_fw_mmp_dsa_sign_s_224_output_s
5591 {
5592     uint64_t s; /**< s DSA 224-bits signature  (4 qwords)*/
5593 } icp_qat_fw_mmp_dsa_sign_s_224_output_t;
5594 
5595 
5596 
5597 /**
5598  * @ingroup icp_qat_fw_mmp
5599  * @brief
5600  *    Output parameter list for DSA Sign R S ,
5601  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_SIGN_R_S_2048_224.
5602  */
5603 typedef struct icp_qat_fw_mmp_dsa_sign_r_s_2048_224_output_s
5604 {
5605     uint64_t r; /**< DSA 224-bits signature  (4 qwords)*/
5606     uint64_t s; /**< DSA 224-bits signature  (4 qwords)*/
5607 } icp_qat_fw_mmp_dsa_sign_r_s_2048_224_output_t;
5608 
5609 
5610 
5611 /**
5612  * @ingroup icp_qat_fw_mmp
5613  * @brief
5614  *    Output parameter list for DSA Verify ,
5615  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_VERIFY_2048_224.
5616  */
5617 typedef struct icp_qat_fw_mmp_dsa_verify_2048_224_output_s
5618 {
5619     /* no output parameters */
5620 } icp_qat_fw_mmp_dsa_verify_2048_224_output_t;
5621 
5622 
5623 
5624 /**
5625  * @ingroup icp_qat_fw_mmp
5626  * @brief
5627  *    Output parameter list for DSA parameter generation P ,
5628  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_GEN_P_2048_256.
5629  */
5630 typedef struct icp_qat_fw_mmp_dsa_gen_p_2048_256_output_s
5631 {
5632     uint64_t p; /**< candidate for DSA parameter p  (32 qwords)*/
5633 } icp_qat_fw_mmp_dsa_gen_p_2048_256_output_t;
5634 
5635 
5636 
5637 /**
5638  * @ingroup icp_qat_fw_mmp
5639  * @brief
5640  *    Output parameter list for DSA key generation G ,
5641  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_GEN_G_2048.
5642  */
5643 typedef struct icp_qat_fw_mmp_dsa_gen_g_2048_output_s
5644 {
5645     uint64_t g; /**< DSA parameter  (32 qwords)*/
5646 } icp_qat_fw_mmp_dsa_gen_g_2048_output_t;
5647 
5648 
5649 
5650 /**
5651  * @ingroup icp_qat_fw_mmp
5652  * @brief
5653  *    Output parameter list for DSA Sign R ,
5654  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_SIGN_R_2048_256.
5655  */
5656 typedef struct icp_qat_fw_mmp_dsa_sign_r_2048_256_output_s
5657 {
5658     uint64_t r; /**< DSA 256-bits signature  (4 qwords)*/
5659 } icp_qat_fw_mmp_dsa_sign_r_2048_256_output_t;
5660 
5661 
5662 
5663 /**
5664  * @ingroup icp_qat_fw_mmp
5665  * @brief
5666  *    Output parameter list for DSA Sign S ,
5667  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_SIGN_S_256.
5668  */
5669 typedef struct icp_qat_fw_mmp_dsa_sign_s_256_output_s
5670 {
5671     uint64_t s; /**< s DSA 256-bits signature  (4 qwords)*/
5672 } icp_qat_fw_mmp_dsa_sign_s_256_output_t;
5673 
5674 
5675 
5676 /**
5677  * @ingroup icp_qat_fw_mmp
5678  * @brief
5679  *    Output parameter list for DSA Sign R S ,
5680  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_SIGN_R_S_2048_256.
5681  */
5682 typedef struct icp_qat_fw_mmp_dsa_sign_r_s_2048_256_output_s
5683 {
5684     uint64_t r; /**< DSA 256-bits signature  (4 qwords)*/
5685     uint64_t s; /**< DSA 256-bits signature  (4 qwords)*/
5686 } icp_qat_fw_mmp_dsa_sign_r_s_2048_256_output_t;
5687 
5688 
5689 
5690 /**
5691  * @ingroup icp_qat_fw_mmp
5692  * @brief
5693  *    Output parameter list for DSA Verify ,
5694  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_VERIFY_2048_256.
5695  */
5696 typedef struct icp_qat_fw_mmp_dsa_verify_2048_256_output_s
5697 {
5698     /* no output parameters */
5699 } icp_qat_fw_mmp_dsa_verify_2048_256_output_t;
5700 
5701 
5702 
5703 /**
5704  * @ingroup icp_qat_fw_mmp
5705  * @brief
5706  *    Output parameter list for DSA parameter generation P ,
5707  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_GEN_P_3072_256.
5708  */
5709 typedef struct icp_qat_fw_mmp_dsa_gen_p_3072_256_output_s
5710 {
5711     uint64_t p; /**< candidate for DSA parameter p  (48 qwords)*/
5712 } icp_qat_fw_mmp_dsa_gen_p_3072_256_output_t;
5713 
5714 
5715 
5716 /**
5717  * @ingroup icp_qat_fw_mmp
5718  * @brief
5719  *    Output parameter list for DSA key generation G ,
5720  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_GEN_G_3072.
5721  */
5722 typedef struct icp_qat_fw_mmp_dsa_gen_g_3072_output_s
5723 {
5724     uint64_t g; /**< DSA parameter  (48 qwords)*/
5725 } icp_qat_fw_mmp_dsa_gen_g_3072_output_t;
5726 
5727 
5728 
5729 /**
5730  * @ingroup icp_qat_fw_mmp
5731  * @brief
5732  *    Output parameter list for DSA key generation Y ,
5733  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_GEN_Y_3072.
5734  */
5735 typedef struct icp_qat_fw_mmp_dsa_gen_y_3072_output_s
5736 {
5737     uint64_t y; /**< DSA parameter (48 qwords)*/
5738 } icp_qat_fw_mmp_dsa_gen_y_3072_output_t;
5739 
5740 
5741 
5742 /**
5743  * @ingroup icp_qat_fw_mmp
5744  * @brief
5745  *    Output parameter list for DSA Sign R ,
5746  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_SIGN_R_3072_256.
5747  */
5748 typedef struct icp_qat_fw_mmp_dsa_sign_r_3072_256_output_s
5749 {
5750     uint64_t r; /**< DSA 256-bits signature  (4 qwords)*/
5751 } icp_qat_fw_mmp_dsa_sign_r_3072_256_output_t;
5752 
5753 
5754 
5755 /**
5756  * @ingroup icp_qat_fw_mmp
5757  * @brief
5758  *    Output parameter list for DSA Sign R S ,
5759  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_SIGN_R_S_3072_256.
5760  */
5761 typedef struct icp_qat_fw_mmp_dsa_sign_r_s_3072_256_output_s
5762 {
5763     uint64_t r; /**< DSA 256-bits signature  (4 qwords)*/
5764     uint64_t s; /**< DSA 256-bits signature  (4 qwords)*/
5765 } icp_qat_fw_mmp_dsa_sign_r_s_3072_256_output_t;
5766 
5767 
5768 
5769 /**
5770  * @ingroup icp_qat_fw_mmp
5771  * @brief
5772  *    Output parameter list for DSA Verify ,
5773  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_DSA_VERIFY_3072_256.
5774  */
5775 typedef struct icp_qat_fw_mmp_dsa_verify_3072_256_output_s
5776 {
5777     /* no output parameters */
5778 } icp_qat_fw_mmp_dsa_verify_3072_256_output_t;
5779 
5780 
5781 
5782 /**
5783  * @ingroup icp_qat_fw_mmp
5784  * @brief
5785  *    Output parameter list for ECDSA Sign RS for curves B/K-163 and B/K-233 ,
5786  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_SIGN_RS_GF2_L256.
5787  */
5788 typedef struct icp_qat_fw_mmp_ecdsa_sign_rs_gf2_l256_output_s
5789 {
5790     uint64_t r; /**< ECDSA signature r &gt; 0 and &lt; n (4 qwords)*/
5791     uint64_t s; /**< ECDSA signature s &gt; 0 and &lt; n (4 qwords)*/
5792 } icp_qat_fw_mmp_ecdsa_sign_rs_gf2_l256_output_t;
5793 
5794 
5795 
5796 /**
5797  * @ingroup icp_qat_fw_mmp
5798  * @brief
5799  *    Output parameter list for ECDSA Sign R for curves B/K-163 and B/K-233 ,
5800  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_SIGN_R_GF2_L256.
5801  */
5802 typedef struct icp_qat_fw_mmp_ecdsa_sign_r_gf2_l256_output_s
5803 {
5804     uint64_t r; /**< ECDSA signature r &gt; 0 and &lt; n (4 qwords)*/
5805 } icp_qat_fw_mmp_ecdsa_sign_r_gf2_l256_output_t;
5806 
5807 
5808 
5809 /**
5810  * @ingroup icp_qat_fw_mmp
5811  * @brief
5812  *    Output parameter list for ECDSA Sign S for curves with n &lt; 2^256 ,
5813  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_SIGN_S_GF2_L256.
5814  */
5815 typedef struct icp_qat_fw_mmp_ecdsa_sign_s_gf2_l256_output_s
5816 {
5817     uint64_t s; /**< ECDSA signature s &gt; 0 and &lt; n (4 qwords)*/
5818 } icp_qat_fw_mmp_ecdsa_sign_s_gf2_l256_output_t;
5819 
5820 
5821 
5822 /**
5823  * @ingroup icp_qat_fw_mmp
5824  * @brief
5825  *    Output parameter list for ECDSA Verify for curves B/K-163 and B/K-233 ,
5826  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_VERIFY_GF2_L256.
5827  */
5828 typedef struct icp_qat_fw_mmp_ecdsa_verify_gf2_l256_output_s
5829 {
5830     /* no output parameters */
5831 } icp_qat_fw_mmp_ecdsa_verify_gf2_l256_output_t;
5832 
5833 
5834 
5835 /**
5836  * @ingroup icp_qat_fw_mmp
5837  * @brief
5838  *    Output parameter list for ECDSA Sign RS ,
5839  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_SIGN_RS_GF2_L512.
5840  */
5841 typedef struct icp_qat_fw_mmp_ecdsa_sign_rs_gf2_l512_output_s
5842 {
5843     uint64_t r; /**<  (8 qwords)*/
5844     uint64_t s; /**< ECDSA signature r &gt; 0 and &lt; n ECDSA signature s &gt; 0 and &lt; n (8 qwords)*/
5845 } icp_qat_fw_mmp_ecdsa_sign_rs_gf2_l512_output_t;
5846 
5847 
5848 
5849 /**
5850  * @ingroup icp_qat_fw_mmp
5851  * @brief
5852  *    Output parameter list for ECDSA GF2 Sign R ,
5853  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_SIGN_R_GF2_L512.
5854  */
5855 typedef struct icp_qat_fw_mmp_ecdsa_sign_r_gf2_l512_output_s
5856 {
5857     uint64_t r; /**< ECDSA signature r &gt; 0 and &lt; n (8 qwords)*/
5858 } icp_qat_fw_mmp_ecdsa_sign_r_gf2_l512_output_t;
5859 
5860 
5861 
5862 /**
5863  * @ingroup icp_qat_fw_mmp
5864  * @brief
5865  *    Output parameter list for ECDSA GF2 Sign S ,
5866  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_SIGN_S_GF2_L512.
5867  */
5868 typedef struct icp_qat_fw_mmp_ecdsa_sign_s_gf2_l512_output_s
5869 {
5870     uint64_t s; /**< ECDSA signature s &gt; 0 and &lt; n (8 qwords)*/
5871 } icp_qat_fw_mmp_ecdsa_sign_s_gf2_l512_output_t;
5872 
5873 
5874 
5875 /**
5876  * @ingroup icp_qat_fw_mmp
5877  * @brief
5878  *    Output parameter list for ECDSA GF2 Verify ,
5879  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_VERIFY_GF2_L512.
5880  */
5881 typedef struct icp_qat_fw_mmp_ecdsa_verify_gf2_l512_output_s
5882 {
5883     /* no output parameters */
5884 } icp_qat_fw_mmp_ecdsa_verify_gf2_l512_output_t;
5885 
5886 
5887 
5888 /**
5889  * @ingroup icp_qat_fw_mmp
5890  * @brief
5891  *    Output parameter list for ECDSA GF2 Sign RS for curves B-571/K-571 ,
5892  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_SIGN_RS_GF2_571.
5893  */
5894 typedef struct icp_qat_fw_mmp_ecdsa_sign_rs_gf2_571_output_s
5895 {
5896     uint64_t r; /**<  (9 qwords)*/
5897     uint64_t s; /**< ECDSA signature r &gt; 0 and &lt; n ECDSA signature s &gt; 0 and &lt; n (9 qwords)*/
5898 } icp_qat_fw_mmp_ecdsa_sign_rs_gf2_571_output_t;
5899 
5900 
5901 
5902 /**
5903  * @ingroup icp_qat_fw_mmp
5904  * @brief
5905  *    Output parameter list for ECDSA GF2 Sign S for curves with deg(q) &lt; 576 ,
5906  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_SIGN_S_GF2_571.
5907  */
5908 typedef struct icp_qat_fw_mmp_ecdsa_sign_s_gf2_571_output_s
5909 {
5910     uint64_t s; /**< ECDSA signature s &gt; 0 and &lt; n (9 qwords)*/
5911 } icp_qat_fw_mmp_ecdsa_sign_s_gf2_571_output_t;
5912 
5913 
5914 
5915 /**
5916  * @ingroup icp_qat_fw_mmp
5917  * @brief
5918  *    Output parameter list for ECDSA GF2 Sign R for degree 571 ,
5919  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_SIGN_R_GF2_571.
5920  */
5921 typedef struct icp_qat_fw_mmp_ecdsa_sign_r_gf2_571_output_s
5922 {
5923     uint64_t r; /**< ECDSA signature r &gt; 0 and &lt; n (9 qwords)*/
5924 } icp_qat_fw_mmp_ecdsa_sign_r_gf2_571_output_t;
5925 
5926 
5927 
5928 /**
5929  * @ingroup icp_qat_fw_mmp
5930  * @brief
5931  *    Output parameter list for ECDSA GF2 Verify for degree 571 ,
5932  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_VERIFY_GF2_571.
5933  */
5934 typedef struct icp_qat_fw_mmp_ecdsa_verify_gf2_571_output_s
5935 {
5936     /* no output parameters */
5937 } icp_qat_fw_mmp_ecdsa_verify_gf2_571_output_t;
5938 
5939 
5940 
5941 /**
5942  * @ingroup icp_qat_fw_mmp
5943  * @brief
5944  *    Output parameter list for MATHS GF2 Point Multiplication ,
5945  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_POINT_MULTIPLICATION_GF2_L256.
5946  */
5947 typedef struct icp_qat_fw_maths_point_multiplication_gf2_l256_output_s
5948 {
5949     uint64_t xk; /**< x coordinate of resultant point (&lt; degree(q)) (4 qwords)*/
5950     uint64_t yk; /**< y coordinate of resultant point (&lt; degree(q)) (4 qwords)*/
5951 } icp_qat_fw_maths_point_multiplication_gf2_l256_output_t;
5952 
5953 
5954 
5955 /**
5956  * @ingroup icp_qat_fw_mmp
5957  * @brief
5958  *    Output parameter list for MATHS GF2 Point Verification ,
5959  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_POINT_VERIFY_GF2_L256.
5960  */
5961 typedef struct icp_qat_fw_maths_point_verify_gf2_l256_output_s
5962 {
5963     /* no output parameters */
5964 } icp_qat_fw_maths_point_verify_gf2_l256_output_t;
5965 
5966 
5967 
5968 /**
5969  * @ingroup icp_qat_fw_mmp
5970  * @brief
5971  *    Output parameter list for MATHS GF2 Point Multiplication ,
5972  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_POINT_MULTIPLICATION_GF2_L512.
5973  */
5974 typedef struct icp_qat_fw_maths_point_multiplication_gf2_l512_output_s
5975 {
5976     uint64_t xk; /**< x coordinate of resultant point (&lt; q) (8 qwords)*/
5977     uint64_t yk; /**< y coordinate of resultant point (&lt; q) (8 qwords)*/
5978 } icp_qat_fw_maths_point_multiplication_gf2_l512_output_t;
5979 
5980 
5981 
5982 /**
5983  * @ingroup icp_qat_fw_mmp
5984  * @brief
5985  *    Output parameter list for MATHS GF2 Point Verification ,
5986  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_POINT_VERIFY_GF2_L512.
5987  */
5988 typedef struct icp_qat_fw_maths_point_verify_gf2_l512_output_s
5989 {
5990     /* no output parameters */
5991 } icp_qat_fw_maths_point_verify_gf2_l512_output_t;
5992 
5993 
5994 
5995 /**
5996  * @ingroup icp_qat_fw_mmp
5997  * @brief
5998  *    Output parameter list for ECC GF2 Point Multiplication for curves B-571/K-571 ,
5999  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_POINT_MULTIPLICATION_GF2_571.
6000  */
6001 typedef struct icp_qat_fw_maths_point_multiplication_gf2_571_output_s
6002 {
6003     uint64_t xk; /**< x coordinate of resultant point (degree &lt; degree(q)) (9 qwords)*/
6004     uint64_t yk; /**< y coordinate of resultant point (degree &lt; degree(q)) (9 qwords)*/
6005 } icp_qat_fw_maths_point_multiplication_gf2_571_output_t;
6006 
6007 
6008 
6009 /**
6010  * @ingroup icp_qat_fw_mmp
6011  * @brief
6012  *    Output parameter list for ECC GF2 Point Verification for degree 571 ,
6013  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_POINT_VERIFY_GF2_571.
6014  */
6015 typedef struct icp_qat_fw_maths_point_verify_gf2_571_output_s
6016 {
6017     /* no output parameters */
6018 } icp_qat_fw_maths_point_verify_gf2_571_output_t;
6019 
6020 
6021 
6022 /**
6023  * @ingroup icp_qat_fw_mmp
6024  * @brief
6025  *    Output parameter list for ECDSA GFP Sign R ,
6026  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_SIGN_R_GFP_L256.
6027  */
6028 typedef struct icp_qat_fw_mmp_ecdsa_sign_r_gfp_l256_output_s
6029 {
6030     uint64_t r; /**< ECDSA signature  (4 qwords)*/
6031 } icp_qat_fw_mmp_ecdsa_sign_r_gfp_l256_output_t;
6032 
6033 
6034 
6035 /**
6036  * @ingroup icp_qat_fw_mmp
6037  * @brief
6038  *    Output parameter list for ECDSA GFP Sign S ,
6039  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_SIGN_S_GFP_L256.
6040  */
6041 typedef struct icp_qat_fw_mmp_ecdsa_sign_s_gfp_l256_output_s
6042 {
6043     uint64_t s; /**< ECDSA signature s  (4 qwords)*/
6044 } icp_qat_fw_mmp_ecdsa_sign_s_gfp_l256_output_t;
6045 
6046 
6047 
6048 /**
6049  * @ingroup icp_qat_fw_mmp
6050  * @brief
6051  *    Output parameter list for ECDSA GFP Sign RS ,
6052  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_SIGN_RS_GFP_L256.
6053  */
6054 typedef struct icp_qat_fw_mmp_ecdsa_sign_rs_gfp_l256_output_s
6055 {
6056     uint64_t r; /**< ECDSA signature r  (4 qwords)*/
6057     uint64_t s; /**< ECDSA signature s  (4 qwords)*/
6058 } icp_qat_fw_mmp_ecdsa_sign_rs_gfp_l256_output_t;
6059 
6060 
6061 
6062 /**
6063  * @ingroup icp_qat_fw_mmp
6064  * @brief
6065  *    Output parameter list for ECDSA GFP Verify ,
6066  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_VERIFY_GFP_L256.
6067  */
6068 typedef struct icp_qat_fw_mmp_ecdsa_verify_gfp_l256_output_s
6069 {
6070     /* no output parameters */
6071 } icp_qat_fw_mmp_ecdsa_verify_gfp_l256_output_t;
6072 
6073 
6074 
6075 /**
6076  * @ingroup icp_qat_fw_mmp
6077  * @brief
6078  *    Output parameter list for ECDSA GFP Sign R ,
6079  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_SIGN_R_GFP_L512.
6080  */
6081 typedef struct icp_qat_fw_mmp_ecdsa_sign_r_gfp_l512_output_s
6082 {
6083     uint64_t r; /**< ECDSA signature  (8 qwords)*/
6084 } icp_qat_fw_mmp_ecdsa_sign_r_gfp_l512_output_t;
6085 
6086 
6087 
6088 /**
6089  * @ingroup icp_qat_fw_mmp
6090  * @brief
6091  *    Output parameter list for ECDSA GFP Sign S ,
6092  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_SIGN_S_GFP_L512.
6093  */
6094 typedef struct icp_qat_fw_mmp_ecdsa_sign_s_gfp_l512_output_s
6095 {
6096     uint64_t s; /**< ECDSA signature s  (8 qwords)*/
6097 } icp_qat_fw_mmp_ecdsa_sign_s_gfp_l512_output_t;
6098 
6099 
6100 
6101 /**
6102  * @ingroup icp_qat_fw_mmp
6103  * @brief
6104  *    Output parameter list for ECDSA GFP Sign RS ,
6105  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_SIGN_RS_GFP_L512.
6106  */
6107 typedef struct icp_qat_fw_mmp_ecdsa_sign_rs_gfp_l512_output_s
6108 {
6109     uint64_t r; /**< ECDSA signature r  (8 qwords)*/
6110     uint64_t s; /**< ECDSA signature s  (8 qwords)*/
6111 } icp_qat_fw_mmp_ecdsa_sign_rs_gfp_l512_output_t;
6112 
6113 
6114 
6115 /**
6116  * @ingroup icp_qat_fw_mmp
6117  * @brief
6118  *    Output parameter list for ECDSA GFP Verify ,
6119  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_VERIFY_GFP_L512.
6120  */
6121 typedef struct icp_qat_fw_mmp_ecdsa_verify_gfp_l512_output_s
6122 {
6123     /* no output parameters */
6124 } icp_qat_fw_mmp_ecdsa_verify_gfp_l512_output_t;
6125 
6126 
6127 
6128 /**
6129  * @ingroup icp_qat_fw_mmp
6130  * @brief
6131  *    Output parameter list for ECDSA GFP Sign R ,
6132  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_SIGN_R_GFP_521.
6133  */
6134 typedef struct icp_qat_fw_mmp_ecdsa_sign_r_gfp_521_output_s
6135 {
6136     uint64_t r; /**< ECDSA signature  (9 qwords)*/
6137 } icp_qat_fw_mmp_ecdsa_sign_r_gfp_521_output_t;
6138 
6139 
6140 
6141 /**
6142  * @ingroup icp_qat_fw_mmp
6143  * @brief
6144  *    Output parameter list for ECDSA GFP Sign S ,
6145  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_SIGN_S_GFP_521.
6146  */
6147 typedef struct icp_qat_fw_mmp_ecdsa_sign_s_gfp_521_output_s
6148 {
6149     uint64_t s; /**< ECDSA signature s  (9 qwords)*/
6150 } icp_qat_fw_mmp_ecdsa_sign_s_gfp_521_output_t;
6151 
6152 
6153 
6154 /**
6155  * @ingroup icp_qat_fw_mmp
6156  * @brief
6157  *    Output parameter list for ECDSA GFP Sign RS ,
6158  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_SIGN_RS_GFP_521.
6159  */
6160 typedef struct icp_qat_fw_mmp_ecdsa_sign_rs_gfp_521_output_s
6161 {
6162     uint64_t r; /**< ECDSA signature r  (9 qwords)*/
6163     uint64_t s; /**< ECDSA signature s  (9 qwords)*/
6164 } icp_qat_fw_mmp_ecdsa_sign_rs_gfp_521_output_t;
6165 
6166 
6167 
6168 /**
6169  * @ingroup icp_qat_fw_mmp
6170  * @brief
6171  *    Output parameter list for ECDSA GFP Verify ,
6172  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #PKE_ECDSA_VERIFY_GFP_521.
6173  */
6174 typedef struct icp_qat_fw_mmp_ecdsa_verify_gfp_521_output_s
6175 {
6176     /* no output parameters */
6177 } icp_qat_fw_mmp_ecdsa_verify_gfp_521_output_t;
6178 
6179 
6180 
6181 /**
6182  * @ingroup icp_qat_fw_mmp
6183  * @brief
6184  *    Output parameter list for ECC GFP Point Multiplication ,
6185  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_POINT_MULTIPLICATION_GFP_L256.
6186  */
6187 typedef struct icp_qat_fw_maths_point_multiplication_gfp_l256_output_s
6188 {
6189     uint64_t xk; /**< x coordinate of resultant EC point  (4 qwords)*/
6190     uint64_t yk; /**< y coordinate of resultant EC point  (4 qwords)*/
6191 } icp_qat_fw_maths_point_multiplication_gfp_l256_output_t;
6192 
6193 
6194 
6195 /**
6196  * @ingroup icp_qat_fw_mmp
6197  * @brief
6198  *    Output parameter list for ECC GFP Partial Point Verification ,
6199  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_POINT_VERIFY_GFP_L256.
6200  */
6201 typedef struct icp_qat_fw_maths_point_verify_gfp_l256_output_s
6202 {
6203     /* no output parameters */
6204 } icp_qat_fw_maths_point_verify_gfp_l256_output_t;
6205 
6206 
6207 
6208 /**
6209  * @ingroup icp_qat_fw_mmp
6210  * @brief
6211  *    Output parameter list for ECC GFP Point Multiplication ,
6212  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_POINT_MULTIPLICATION_GFP_L512.
6213  */
6214 typedef struct icp_qat_fw_maths_point_multiplication_gfp_l512_output_s
6215 {
6216     uint64_t xk; /**< x coordinate of resultant EC point  (8 qwords)*/
6217     uint64_t yk; /**< y coordinate of resultant EC point  (8 qwords)*/
6218 } icp_qat_fw_maths_point_multiplication_gfp_l512_output_t;
6219 
6220 
6221 
6222 /**
6223  * @ingroup icp_qat_fw_mmp
6224  * @brief
6225  *    Output parameter list for ECC GFP Partial Point ,
6226  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_POINT_VERIFY_GFP_L512.
6227  */
6228 typedef struct icp_qat_fw_maths_point_verify_gfp_l512_output_s
6229 {
6230     /* no output parameters */
6231 } icp_qat_fw_maths_point_verify_gfp_l512_output_t;
6232 
6233 
6234 
6235 /**
6236  * @ingroup icp_qat_fw_mmp
6237  * @brief
6238  *    Output parameter list for ECC GFP Point Multiplication ,
6239  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_POINT_MULTIPLICATION_GFP_521.
6240  */
6241 typedef struct icp_qat_fw_maths_point_multiplication_gfp_521_output_s
6242 {
6243     uint64_t xk; /**< x coordinate of resultant EC point  (9 qwords)*/
6244     uint64_t yk; /**< y coordinate of resultant EC point  (9 qwords)*/
6245 } icp_qat_fw_maths_point_multiplication_gfp_521_output_t;
6246 
6247 
6248 
6249 /**
6250  * @ingroup icp_qat_fw_mmp
6251  * @brief
6252  *    Output parameter list for ECC GFP Partial Point Verification ,
6253  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #MATHS_POINT_VERIFY_GFP_521.
6254  */
6255 typedef struct icp_qat_fw_maths_point_verify_gfp_521_output_s
6256 {
6257     /* no output parameters */
6258 } icp_qat_fw_maths_point_verify_gfp_521_output_t;
6259 
6260 
6261 
6262 /**
6263  * @ingroup icp_qat_fw_mmp
6264  * @brief
6265  *    Output parameter list for ECC curve25519 Variable Point Multiplication [k]P(x), as specified in RFC7748 ,
6266  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #POINT_MULTIPLICATION_C25519.
6267  */
6268 typedef struct icp_qat_fw_point_multiplication_c25519_output_s
6269 {
6270     uint64_t xr; /**< xR = Montgomery affine coordinate X of point [k]P  (4 qwords)*/
6271 } icp_qat_fw_point_multiplication_c25519_output_t;
6272 
6273 
6274 
6275 /**
6276  * @ingroup icp_qat_fw_mmp
6277  * @brief
6278  *    Output parameter list for ECC curve25519 Generator Point Multiplication [k]G(x), as specified in RFC7748 ,
6279  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #GENERATOR_MULTIPLICATION_C25519.
6280  */
6281 typedef struct icp_qat_fw_generator_multiplication_c25519_output_s
6282 {
6283     uint64_t xr; /**< xR = Montgomery affine coordinate X of point [k]G  (4 qwords)*/
6284 } icp_qat_fw_generator_multiplication_c25519_output_t;
6285 
6286 
6287 
6288 /**
6289  * @ingroup icp_qat_fw_mmp
6290  * @brief
6291  *    Output parameter list for ECC edwards25519 Variable Point Multiplication [k]P, as specified in RFC8032 ,
6292  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #POINT_MULTIPLICATION_ED25519.
6293  */
6294 typedef struct icp_qat_fw_point_multiplication_ed25519_output_s
6295 {
6296     uint64_t xr; /**< xR = Twisted Edwards affine coordinate X of point [k]P  (4 qwords)*/
6297     uint64_t yr; /**< yR = Twisted Edwards affine coordinate Y of point [k]P  (4 qwords)*/
6298 } icp_qat_fw_point_multiplication_ed25519_output_t;
6299 
6300 
6301 
6302 /**
6303  * @ingroup icp_qat_fw_mmp
6304  * @brief
6305  *    Output parameter list for ECC edwards25519 Generator Point Multiplication [k]G, as specified in RFC8032 ,
6306  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #GENERATOR_MULTIPLICATION_ED25519.
6307  */
6308 typedef struct icp_qat_fw_generator_multiplication_ed25519_output_s
6309 {
6310     uint64_t xr; /**< xR = Twisted Edwards affine coordinate X of point [k]G  (4 qwords)*/
6311     uint64_t yr; /**< yR = Twisted Edwards affine coordinate Y of point [k]G  (4 qwords)*/
6312 } icp_qat_fw_generator_multiplication_ed25519_output_t;
6313 
6314 
6315 
6316 /**
6317  * @ingroup icp_qat_fw_mmp
6318  * @brief
6319  *    Output parameter list for ECC curve448 Variable Point Multiplication [k]P(x), as specified in RFC7748 ,
6320  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #POINT_MULTIPLICATION_C448.
6321  */
6322 typedef struct icp_qat_fw_point_multiplication_c448_output_s
6323 {
6324     uint64_t xr; /**< xR = Montgomery affine coordinate X of point [k]P  (8 qwords)*/
6325 } icp_qat_fw_point_multiplication_c448_output_t;
6326 
6327 
6328 
6329 /**
6330  * @ingroup icp_qat_fw_mmp
6331  * @brief
6332  *    Output parameter list for ECC curve448 Generator Point Multiplication [k]G(x), as specified in RFC7748 ,
6333  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #GENERATOR_MULTIPLICATION_C448.
6334  */
6335 typedef struct icp_qat_fw_generator_multiplication_c448_output_s
6336 {
6337     uint64_t xr; /**< xR = Montgomery affine coordinate X of point [k]G  (8 qwords)*/
6338 } icp_qat_fw_generator_multiplication_c448_output_t;
6339 
6340 
6341 
6342 /**
6343  * @ingroup icp_qat_fw_mmp
6344  * @brief
6345  *    Output parameter list for ECC edwards448 Variable Point Multiplication [k]P, as specified in RFC8032 ,
6346  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #POINT_MULTIPLICATION_ED448.
6347  */
6348 typedef struct icp_qat_fw_point_multiplication_ed448_output_s
6349 {
6350     uint64_t xr; /**< xR = Edwards affine coordinate X of point [k]P  (8 qwords)*/
6351     uint64_t yr; /**< yR = Edwards affine coordinate Y of point [k]P  (8 qwords)*/
6352 } icp_qat_fw_point_multiplication_ed448_output_t;
6353 
6354 
6355 
6356 /**
6357  * @ingroup icp_qat_fw_mmp
6358  * @brief
6359  *    Output parameter list for ECC edwards448 Generator Point Multiplication [k]P, as specified in RFC8032 ,
6360  *      to be used when icp_qat_fw_pke_response_s::functionalityId is #GENERATOR_MULTIPLICATION_ED448.
6361  */
6362 typedef struct icp_qat_fw_generator_multiplication_ed448_output_s
6363 {
6364     uint64_t xr; /**< xR = Edwards affine coordinate X of point [k]G  (8 qwords)*/
6365     uint64_t yr; /**< yR = Edwards affine coordinate Y of point [k]G  (8 qwords)*/
6366 } icp_qat_fw_generator_multiplication_ed448_output_t;
6367 
6368 /**
6369  * @ingroup icp_qat_fw_mmp
6370  * @brief
6371  *    Output parameter list for ECC P521 ECDSA Sign RS ,
6372  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
6373  * #PKE_KPT_ECDSA_SIGN_RS_P521.
6374  */
6375 typedef struct icp_qat_fw_mmp_kpt_ecdsa_sign_rs_p521_output_s
6376 {
6377     uint64_t r; /**< ECDSA signature r  (6 qwords)*/
6378     uint64_t s; /**< ECDSA signature s  (6 qwords)*/
6379 } icp_qat_fw_mmp_kpt_ecdsa_sign_rs_p521_output_t;
6380 
6381 /**
6382  * @ingroup icp_qat_fw_mmp
6383  * @brief
6384  *    Output parameter list for ECC P384 ECDSA Sign RS ,
6385  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
6386  * #PKE_KPT_ECDSA_SIGN_RS_P384.
6387  */
6388 typedef struct icp_qat_fw_mmp_kpt_ecdsa_sign_rs_p384_output_s
6389 {
6390     uint64_t r; /**< ECDSA signature r  (6 qwords)*/
6391     uint64_t s; /**< ECDSA signature s  (6 qwords)*/
6392 } icp_qat_fw_mmp_kpt_ecdsa_sign_rs_p384_output_t;
6393 
6394 /**
6395  * @ingroup icp_qat_fw_mmp
6396  * @brief
6397  *    Output parameter list for ECC KPT P256 ECDSA Sign RS ,
6398  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
6399  * #PKE_KPT_ECDSA_SIGN_RS_P256.
6400  */
6401 typedef struct icp_qat_fw_mmp_kpt_ecdsa_sign_rs_p256_output_s
6402 {
6403     uint64_t r; /**< ECDSA signature r  (4 qwords)*/
6404     uint64_t s; /**< ECDSA signature s  (4 qwords)*/
6405 } icp_qat_fw_mmp_kpt_ecdsa_sign_rs_p256_output_t;
6406 
6407 /**
6408  * @ingroup icp_qat_fw_mmp
6409  * @brief
6410  *    Output parameter list for KPT RSA 512 Decryption ,
6411  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
6412  * #PKE_KPT_RSA_DP1_512.
6413  */
6414 typedef struct icp_qat_fw_mmp_kpt_rsa_dp1_512_output_s
6415 {
6416     uint64_t m; /**< message representative, &lt; n (8 qwords)*/
6417 } icp_qat_fw_mmp_kpt_rsa_dp1_512_output_t;
6418 
6419 /**
6420  * @ingroup icp_qat_fw_mmp
6421  * @brief
6422  *    Output parameter list for KPT RSA 1024 Decryption ,
6423  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
6424  * #PKE_KPT_RSA_DP1_1024.
6425  */
6426 typedef struct icp_qat_fw_mmp_kpt_rsa_dp1_1024_output_s
6427 {
6428     uint64_t m; /**< message representative, &lt; n (16 qwords)*/
6429 } icp_qat_fw_mmp_kpt_rsa_dp1_1024_output_t;
6430 
6431 /**
6432  * @ingroup icp_qat_fw_mmp
6433  * @brief
6434  *    Output parameter list for KPT RSA 1536 Decryption ,
6435  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
6436  * #PKE_KPT_RSA_DP1_1536.
6437  */
6438 typedef struct icp_qat_fw_mmp_kpt_rsa_dp1_1536_output_s
6439 {
6440     uint64_t m; /**< message representative, &lt; n (24 qwords)*/
6441 } icp_qat_fw_mmp_kpt_rsa_dp1_1536_output_t;
6442 
6443 /**
6444  * @ingroup icp_qat_fw_mmp
6445  * @brief
6446  *    Output parameter list for KPT RSA 2048 Decryption ,
6447  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
6448  * #PKE_KPT_RSA_DP1_2048.
6449  */
6450 typedef struct icp_qat_fw_mmp_kpt_rsa_dp1_2048_output_s
6451 {
6452     uint64_t m; /**< message representative, &lt; n (32 qwords)*/
6453 } icp_qat_fw_mmp_kpt_rsa_dp1_2048_output_t;
6454 
6455 /**
6456  * @ingroup icp_qat_fw_mmp
6457  * @brief
6458  *    Output parameter list for KPT RSA 3072 Decryption ,
6459  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
6460  * #PKE_KPT_RSA_DP1_3072.
6461  */
6462 typedef struct icp_qat_fw_mmp_kpt_rsa_dp1_3072_output_s
6463 {
6464     uint64_t m; /**< message representative, &lt; n (48 qwords)*/
6465 } icp_qat_fw_mmp_kpt_rsa_dp1_3072_output_t;
6466 
6467 /**
6468  * @ingroup icp_qat_fw_mmp
6469  * @brief
6470  *    Output parameter list for KPT RSA 4096 Decryption ,
6471  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
6472  * #PKE_KPT_RSA_DP1_4096.
6473  */
6474 typedef struct icp_qat_fw_mmp_kpt_rsa_dp1_4096_output_s
6475 {
6476     uint64_t m; /**< message representative, &lt; n (64 qwords)*/
6477 } icp_qat_fw_mmp_kpt_rsa_dp1_4096_output_t;
6478 
6479 /**
6480  * @ingroup icp_qat_fw_mmp
6481  * @brief
6482  *    Output parameter list for KPT RSA 8192 Decryption ,
6483  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
6484  * #PKE_KPT_RSA_DP1_8192.
6485  */
6486 typedef struct icp_qat_fw_mmp_kpt_rsa_dp1_8192_output_s
6487 {
6488     uint64_t m; /**< message representative, &lt; n (128 qwords)*/
6489 } icp_qat_fw_mmp_kpt_rsa_dp1_8192_output_t;
6490 
6491 /**
6492  * @ingroup icp_qat_fw_mmp
6493  * @brief
6494  *    Output parameter list for RSA 512 decryption second form ,
6495  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
6496  * #PKE_KPT_RSA_DP2_512.
6497  */
6498 typedef struct icp_qat_fw_mmp_kpt_rsa_dp2_512_output_s
6499 {
6500     uint64_t m; /**< message representative, &lt; (p*q) (8 qwords)*/
6501 } icp_qat_fw_mmp_kpt_rsa_dp2_512_output_t;
6502 
6503 /**
6504  * @ingroup icp_qat_fw_mmp
6505  * @brief
6506  *    Output parameter list for RSA 1024 Decryption with CRT ,
6507  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
6508  * #PKE_KPT_RSA_DP2_1024.
6509  */
6510 typedef struct icp_qat_fw_mmp_kpt_rsa_dp2_1024_output_s
6511 {
6512     uint64_t m; /**< message representative, &lt; (p*q) (16 qwords)*/
6513 } icp_qat_fw_mmp_kpt_rsa_dp2_1024_output_t;
6514 
6515 /**
6516  * @ingroup icp_qat_fw_mmp
6517  * @brief
6518  *    Output parameter list for KPT RSA 1536 Decryption with CRT ,
6519  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
6520  * #PKE_KPT_RSA_DP2_1536.
6521  */
6522 typedef struct icp_qat_fw_mmp_kpt_rsa_dp2_1536_output_s
6523 {
6524     uint64_t m; /**< message representative, &lt; (p*q) (24 qwords)*/
6525 } icp_qat_fw_mmp_kpt_rsa_dp2_1536_output_t;
6526 
6527 /**
6528  * @ingroup icp_qat_fw_mmp
6529  * @brief
6530  *    Output parameter list for RSA 2048 Decryption with CRT ,
6531  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
6532  * #PKE_KPT_RSA_DP2_2048.
6533  */
6534 typedef struct icp_qat_fw_mmp_kpt_rsa_dp2_2048_output_s
6535 {
6536     uint64_t m; /**< message representative, &lt; (p*q) (32 qwords)*/
6537 } icp_qat_fw_mmp_kpt_rsa_dp2_2048_output_t;
6538 
6539 /**
6540  * @ingroup icp_qat_fw_mmp
6541  * @brief
6542  *    Output parameter list for ,
6543  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
6544  * #PKE_KPT_RSA_DP2_3072.
6545  */
6546 typedef struct icp_qat_fw_mmp_kpt_rsa_dp2_3072_output_s
6547 {
6548     uint64_t m; /**< message representative, &lt; (p*q) (48 qwords)*/
6549 } icp_qat_fw_mmp_kpt_rsa_dp2_3072_output_t;
6550 
6551 /**
6552  * @ingroup icp_qat_fw_mmp
6553  * @brief
6554  *    Output parameter list for RSA 4096 Decryption with CRT ,
6555  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
6556  * #PKE_KPT_RSA_DP2_4096.
6557  */
6558 typedef struct icp_qat_fw_mmp_kpt_rsa_dp2_4096_output_s
6559 {
6560     uint64_t m; /**< message representative, &lt; (p*q) (64 qwords)*/
6561 } icp_qat_fw_mmp_kpt_rsa_dp2_4096_output_t;
6562 
6563 /**
6564  * @ingroup icp_qat_fw_mmp
6565  * @brief
6566  *    Output parameter list for RSA 8192 Decryption with CRT ,
6567  *      to be used when icp_qat_fw_pke_response_s::functionalityId is
6568  * #PKE_KPT_RSA_DP2_8192.
6569  */
6570 typedef struct icp_qat_fw_mmp_kpt_rsa_dp2_8192_output_s
6571 {
6572     uint64_t m; /**< message representative, &lt; (p*q) (128 qwords)*/
6573 } icp_qat_fw_mmp_kpt_rsa_dp2_8192_output_t;
6574 
6575 /**
6576  * @ingroup icp_qat_fw_mmp
6577  * @brief
6578  *    MMP output parameters
6579  */
6580 typedef union icp_qat_fw_mmp_output_param_u
6581 {
6582     /** Generic parameter structure : All members of this wrapper structure
6583      * are pointers to large integers.
6584      */
6585     uint64_t flat_array[ICP_QAT_FW_PKE_OUTPUT_COUNT_MAX];
6586 
6587     /** ECC P384 Variable Point Multiplication [k]P  */
6588     icp_qat_fw_mmp_ec_point_multiplication_p384_output_t
6589         mmp_ec_point_multiplication_p384;
6590 
6591     /** ECC P384 Generator Point Multiplication [k]G  */
6592     icp_qat_fw_mmp_ec_generator_multiplication_p384_output_t
6593         mmp_ec_generator_multiplication_p384;
6594 
6595     /** ECC P384 ECDSA Sign RS  */
6596     icp_qat_fw_mmp_ecdsa_sign_rs_p384_output_t mmp_ecdsa_sign_rs_p384;
6597 
6598     /** ECC P256 Variable Point Multiplication [k]P  */
6599     icp_qat_fw_mmp_ec_point_multiplication_p256_output_t
6600         mmp_ec_point_multiplication_p256;
6601 
6602     /** ECC P256 Generator Point Multiplication [k]G  */
6603     icp_qat_fw_mmp_ec_generator_multiplication_p256_output_t
6604         mmp_ec_generator_multiplication_p256;
6605 
6606     /** ECC P256 ECDSA Sign RS  */
6607     icp_qat_fw_mmp_ecdsa_sign_rs_p256_output_t mmp_ecdsa_sign_rs_p256;
6608 
6609     /** ECC SM2 point multiply [k]G  */
6610     icp_qat_fw_mmp_ecsm2_generator_multiplication_output_t
6611         mmp_ecsm2_generator_multiplication;
6612 
6613     /** ECC curve25519 Variable Point Multiplication [k]P(x), as specified in
6614      * RFC7748  */
6615     icp_qat_fw_point_multiplication_c25519_output_t point_multiplication_c25519;
6616 
6617     /** ECC curve25519 Generator Point Multiplication [k]G(x), as specified in
6618      * RFC7748  */
6619     icp_qat_fw_generator_multiplication_c25519_output_t
6620         generator_multiplication_c25519;
6621 
6622     /** ECC edwards25519 Variable Point Multiplication [k]P, as specified in
6623      * RFC8032  */
6624     icp_qat_fw_point_multiplication_ed25519_output_t
6625         point_multiplication_ed25519;
6626 
6627     /** ECC edwards25519 Generator Point Multiplication [k]G, as specified in
6628      * RFC8032  */
6629     icp_qat_fw_generator_multiplication_ed25519_output_t
6630         generator_multiplication_ed25519;
6631 
6632     /** ECC curve448 Variable Point Multiplication [k]P(x), as specified in
6633      * RFC7748  */
6634     icp_qat_fw_point_multiplication_c448_output_t point_multiplication_c448;
6635 
6636     /** ECC curve448 Generator Point Multiplication [k]G(x), as specified in
6637      * RFC7748  */
6638     icp_qat_fw_generator_multiplication_c448_output_t
6639         generator_multiplication_c448;
6640 
6641     /** ECC edwards448 Variable Point Multiplication [k]P, as specified in
6642      * RFC8032  */
6643     icp_qat_fw_point_multiplication_ed448_output_t point_multiplication_ed448;
6644 
6645     /** ECC edwards448 Generator Point Multiplication [k]G, as specified in
6646      * RFC8032  */
6647     icp_qat_fw_generator_multiplication_ed448_output_t
6648         generator_multiplication_ed448;
6649 
6650     /** Initialisation sequence  */
6651     icp_qat_fw_mmp_init_output_t mmp_init;
6652 
6653     /** Diffie-Hellman Modular exponentiation base 2 for 768-bit numbers  */
6654     icp_qat_fw_mmp_dh_g2_768_output_t mmp_dh_g2_768;
6655 
6656     /** Diffie-Hellman Modular exponentiation for 768-bit numbers  */
6657     icp_qat_fw_mmp_dh_768_output_t mmp_dh_768;
6658 
6659     /** Diffie-Hellman Modular exponentiation base 2 for 1024-bit numbers  */
6660     icp_qat_fw_mmp_dh_g2_1024_output_t mmp_dh_g2_1024;
6661 
6662     /** Diffie-Hellman Modular exponentiation for 1024-bit numbers  */
6663     icp_qat_fw_mmp_dh_1024_output_t mmp_dh_1024;
6664 
6665     /** Diffie-Hellman Modular exponentiation base 2 for 1536-bit numbers  */
6666     icp_qat_fw_mmp_dh_g2_1536_output_t mmp_dh_g2_1536;
6667 
6668     /** Diffie-Hellman Modular exponentiation for 1536-bit numbers  */
6669     icp_qat_fw_mmp_dh_1536_output_t mmp_dh_1536;
6670 
6671     /** Diffie-Hellman Modular exponentiation base 2 for 2048-bit numbers  */
6672     icp_qat_fw_mmp_dh_g2_2048_output_t mmp_dh_g2_2048;
6673 
6674     /** Diffie-Hellman Modular exponentiation for 2048-bit numbers  */
6675     icp_qat_fw_mmp_dh_2048_output_t mmp_dh_2048;
6676 
6677     /** Diffie-Hellman Modular exponentiation base 2 for 3072-bit numbers  */
6678     icp_qat_fw_mmp_dh_g2_3072_output_t mmp_dh_g2_3072;
6679 
6680     /** Diffie-Hellman Modular exponentiation for 3072-bit numbers  */
6681     icp_qat_fw_mmp_dh_3072_output_t mmp_dh_3072;
6682 
6683     /** Diffie-Hellman Modular exponentiation base 2 for 4096-bit numbers  */
6684     icp_qat_fw_mmp_dh_g2_4096_output_t mmp_dh_g2_4096;
6685 
6686     /** Diffie-Hellman Modular exponentiation for 4096-bit numbers  */
6687     icp_qat_fw_mmp_dh_4096_output_t mmp_dh_4096;
6688 
6689     /** Diffie-Hellman Modular exponentiation base 2 for 8192-bit numbers  */
6690     icp_qat_fw_mmp_dh_g2_8192_output_t mmp_dh_g2_8192;
6691 
6692     /** Diffie-Hellman Modular exponentiation for 8192-bit numbers  */
6693     icp_qat_fw_mmp_dh_8192_output_t mmp_dh_8192;
6694 
6695     /** RSA 512 key generation first form  */
6696     icp_qat_fw_mmp_rsa_kp1_512_output_t mmp_rsa_kp1_512;
6697 
6698     /** RSA 512 key generation second form  */
6699     icp_qat_fw_mmp_rsa_kp2_512_output_t mmp_rsa_kp2_512;
6700 
6701     /** RSA 512 Encryption  */
6702     icp_qat_fw_mmp_rsa_ep_512_output_t mmp_rsa_ep_512;
6703 
6704     /** RSA 512 Decryption  */
6705     icp_qat_fw_mmp_rsa_dp1_512_output_t mmp_rsa_dp1_512;
6706 
6707     /** RSA 1024 Decryption with CRT  */
6708     icp_qat_fw_mmp_rsa_dp2_512_output_t mmp_rsa_dp2_512;
6709 
6710     /** RSA 1024 key generation first form  */
6711     icp_qat_fw_mmp_rsa_kp1_1024_output_t mmp_rsa_kp1_1024;
6712 
6713     /** RSA 1024 key generation second form  */
6714     icp_qat_fw_mmp_rsa_kp2_1024_output_t mmp_rsa_kp2_1024;
6715 
6716     /** RSA 1024 Encryption  */
6717     icp_qat_fw_mmp_rsa_ep_1024_output_t mmp_rsa_ep_1024;
6718 
6719     /** RSA 1024 Decryption  */
6720     icp_qat_fw_mmp_rsa_dp1_1024_output_t mmp_rsa_dp1_1024;
6721 
6722     /** RSA 1024 Decryption with CRT  */
6723     icp_qat_fw_mmp_rsa_dp2_1024_output_t mmp_rsa_dp2_1024;
6724 
6725     /** RSA 1536 key generation first form  */
6726     icp_qat_fw_mmp_rsa_kp1_1536_output_t mmp_rsa_kp1_1536;
6727 
6728     /** RSA 1536 key generation second form  */
6729     icp_qat_fw_mmp_rsa_kp2_1536_output_t mmp_rsa_kp2_1536;
6730 
6731     /** RSA 1536 Encryption  */
6732     icp_qat_fw_mmp_rsa_ep_1536_output_t mmp_rsa_ep_1536;
6733 
6734     /** RSA 1536 Decryption  */
6735     icp_qat_fw_mmp_rsa_dp1_1536_output_t mmp_rsa_dp1_1536;
6736 
6737     /** RSA 1536 Decryption with CRT  */
6738     icp_qat_fw_mmp_rsa_dp2_1536_output_t mmp_rsa_dp2_1536;
6739 
6740     /** RSA 2048 key generation first form  */
6741     icp_qat_fw_mmp_rsa_kp1_2048_output_t mmp_rsa_kp1_2048;
6742 
6743     /** RSA 2048 key generation second form  */
6744     icp_qat_fw_mmp_rsa_kp2_2048_output_t mmp_rsa_kp2_2048;
6745 
6746     /** RSA 2048 Encryption  */
6747     icp_qat_fw_mmp_rsa_ep_2048_output_t mmp_rsa_ep_2048;
6748 
6749     /** RSA 2048 Decryption  */
6750     icp_qat_fw_mmp_rsa_dp1_2048_output_t mmp_rsa_dp1_2048;
6751 
6752     /** RSA 2048 Decryption with CRT  */
6753     icp_qat_fw_mmp_rsa_dp2_2048_output_t mmp_rsa_dp2_2048;
6754 
6755     /** RSA 3072 key generation first form  */
6756     icp_qat_fw_mmp_rsa_kp1_3072_output_t mmp_rsa_kp1_3072;
6757 
6758     /** RSA 3072 key generation second form  */
6759     icp_qat_fw_mmp_rsa_kp2_3072_output_t mmp_rsa_kp2_3072;
6760 
6761     /** RSA 3072 Encryption  */
6762     icp_qat_fw_mmp_rsa_ep_3072_output_t mmp_rsa_ep_3072;
6763 
6764     /** RSA 3072 Decryption  */
6765     icp_qat_fw_mmp_rsa_dp1_3072_output_t mmp_rsa_dp1_3072;
6766 
6767     /** RSA 3072 Decryption with CRT  */
6768     icp_qat_fw_mmp_rsa_dp2_3072_output_t mmp_rsa_dp2_3072;
6769 
6770     /** RSA 4096 key generation first form  */
6771     icp_qat_fw_mmp_rsa_kp1_4096_output_t mmp_rsa_kp1_4096;
6772 
6773     /** RSA 4096 key generation second form  */
6774     icp_qat_fw_mmp_rsa_kp2_4096_output_t mmp_rsa_kp2_4096;
6775 
6776     /** RSA 4096 Encryption  */
6777     icp_qat_fw_mmp_rsa_ep_4096_output_t mmp_rsa_ep_4096;
6778 
6779     /** RSA 4096 Decryption  */
6780     icp_qat_fw_mmp_rsa_dp1_4096_output_t mmp_rsa_dp1_4096;
6781 
6782     /** RSA 4096 Decryption with CRT  */
6783     icp_qat_fw_mmp_rsa_dp2_4096_output_t mmp_rsa_dp2_4096;
6784 
6785     /** RSA 8192 Encryption  */
6786     icp_qat_fw_mmp_rsa_ep_8192_output_t mmp_rsa_ep_8192;
6787 
6788     /** RSA 8192 Decryption  */
6789     icp_qat_fw_mmp_rsa_dp1_8192_output_t mmp_rsa_dp1_8192;
6790 
6791     /** RSA 8192 Decryption with CRT  */
6792     icp_qat_fw_mmp_rsa_dp2_8192_output_t mmp_rsa_dp2_8192;
6793 
6794     /** GCD primality test for 192-bit numbers  */
6795     icp_qat_fw_mmp_gcd_pt_192_output_t mmp_gcd_pt_192;
6796 
6797     /** GCD primality test for 256-bit numbers  */
6798     icp_qat_fw_mmp_gcd_pt_256_output_t mmp_gcd_pt_256;
6799 
6800     /** GCD primality test for 384-bit numbers  */
6801     icp_qat_fw_mmp_gcd_pt_384_output_t mmp_gcd_pt_384;
6802 
6803     /** GCD primality test for 512-bit numbers  */
6804     icp_qat_fw_mmp_gcd_pt_512_output_t mmp_gcd_pt_512;
6805 
6806     /** GCD primality test for 768-bit numbers  */
6807     icp_qat_fw_mmp_gcd_pt_768_output_t mmp_gcd_pt_768;
6808 
6809     /** GCD primality test for 1024-bit numbers  */
6810     icp_qat_fw_mmp_gcd_pt_1024_output_t mmp_gcd_pt_1024;
6811 
6812     /** GCD primality test for 1536-bit numbers  */
6813     icp_qat_fw_mmp_gcd_pt_1536_output_t mmp_gcd_pt_1536;
6814 
6815     /** GCD primality test for 2048-bit numbers  */
6816     icp_qat_fw_mmp_gcd_pt_2048_output_t mmp_gcd_pt_2048;
6817 
6818     /** GCD primality test for 3072-bit numbers  */
6819     icp_qat_fw_mmp_gcd_pt_3072_output_t mmp_gcd_pt_3072;
6820 
6821     /** GCD primality test for 4096-bit numbers  */
6822     icp_qat_fw_mmp_gcd_pt_4096_output_t mmp_gcd_pt_4096;
6823 
6824     /** Fermat primality test for 160-bit numbers  */
6825     icp_qat_fw_mmp_fermat_pt_160_output_t mmp_fermat_pt_160;
6826 
6827     /** Fermat primality test for 512-bit numbers  */
6828     icp_qat_fw_mmp_fermat_pt_512_output_t mmp_fermat_pt_512;
6829 
6830     /** Fermat primality test for &lte; 512-bit numbers  */
6831     icp_qat_fw_mmp_fermat_pt_l512_output_t mmp_fermat_pt_l512;
6832 
6833     /** Fermat primality test for 768-bit numbers  */
6834     icp_qat_fw_mmp_fermat_pt_768_output_t mmp_fermat_pt_768;
6835 
6836     /** Fermat primality test for 1024-bit numbers  */
6837     icp_qat_fw_mmp_fermat_pt_1024_output_t mmp_fermat_pt_1024;
6838 
6839     /** Fermat primality test for 1536-bit numbers  */
6840     icp_qat_fw_mmp_fermat_pt_1536_output_t mmp_fermat_pt_1536;
6841 
6842     /** Fermat primality test for 2048-bit numbers  */
6843     icp_qat_fw_mmp_fermat_pt_2048_output_t mmp_fermat_pt_2048;
6844 
6845     /** Fermat primality test for 3072-bit numbers  */
6846     icp_qat_fw_mmp_fermat_pt_3072_output_t mmp_fermat_pt_3072;
6847 
6848     /** Fermat primality test for 4096-bit numbers  */
6849     icp_qat_fw_mmp_fermat_pt_4096_output_t mmp_fermat_pt_4096;
6850 
6851     /** Miller-Rabin primality test for 160-bit numbers  */
6852     icp_qat_fw_mmp_mr_pt_160_output_t mmp_mr_pt_160;
6853 
6854     /** Miller-Rabin primality test for 512-bit numbers  */
6855     icp_qat_fw_mmp_mr_pt_512_output_t mmp_mr_pt_512;
6856 
6857     /** Miller-Rabin primality test for 768-bit numbers  */
6858     icp_qat_fw_mmp_mr_pt_768_output_t mmp_mr_pt_768;
6859 
6860     /** Miller-Rabin primality test for 1024-bit numbers  */
6861     icp_qat_fw_mmp_mr_pt_1024_output_t mmp_mr_pt_1024;
6862 
6863     /** Miller-Rabin primality test for 1536-bit numbers  */
6864     icp_qat_fw_mmp_mr_pt_1536_output_t mmp_mr_pt_1536;
6865 
6866     /** Miller-Rabin primality test for 2048-bit numbers  */
6867     icp_qat_fw_mmp_mr_pt_2048_output_t mmp_mr_pt_2048;
6868 
6869     /** Miller-Rabin primality test for 3072-bit numbers  */
6870     icp_qat_fw_mmp_mr_pt_3072_output_t mmp_mr_pt_3072;
6871 
6872     /** Miller-Rabin primality test for 4096-bit numbers  */
6873     icp_qat_fw_mmp_mr_pt_4096_output_t mmp_mr_pt_4096;
6874 
6875     /** Miller-Rabin primality test for 512-bit numbers  */
6876     icp_qat_fw_mmp_mr_pt_l512_output_t mmp_mr_pt_l512;
6877 
6878     /** Lucas primality test for 160-bit numbers  */
6879     icp_qat_fw_mmp_lucas_pt_160_output_t mmp_lucas_pt_160;
6880 
6881     /** Lucas primality test for 512-bit numbers  */
6882     icp_qat_fw_mmp_lucas_pt_512_output_t mmp_lucas_pt_512;
6883 
6884     /** Lucas primality test for 768-bit numbers  */
6885     icp_qat_fw_mmp_lucas_pt_768_output_t mmp_lucas_pt_768;
6886 
6887     /** Lucas primality test for 1024-bit numbers  */
6888     icp_qat_fw_mmp_lucas_pt_1024_output_t mmp_lucas_pt_1024;
6889 
6890     /** Lucas primality test for 1536-bit numbers  */
6891     icp_qat_fw_mmp_lucas_pt_1536_output_t mmp_lucas_pt_1536;
6892 
6893     /** Lucas primality test for 2048-bit numbers  */
6894     icp_qat_fw_mmp_lucas_pt_2048_output_t mmp_lucas_pt_2048;
6895 
6896     /** Lucas primality test for 3072-bit numbers  */
6897     icp_qat_fw_mmp_lucas_pt_3072_output_t mmp_lucas_pt_3072;
6898 
6899     /** Lucas primality test for 4096-bit numbers  */
6900     icp_qat_fw_mmp_lucas_pt_4096_output_t mmp_lucas_pt_4096;
6901 
6902     /** Lucas primality test for L512-bit numbers  */
6903     icp_qat_fw_mmp_lucas_pt_l512_output_t mmp_lucas_pt_l512;
6904 
6905     /** Modular exponentiation for numbers less than 512-bits  */
6906     icp_qat_fw_maths_modexp_l512_output_t maths_modexp_l512;
6907 
6908     /** Modular exponentiation for numbers less than 1024-bit  */
6909     icp_qat_fw_maths_modexp_l1024_output_t maths_modexp_l1024;
6910 
6911     /** Modular exponentiation for numbers less than 1536-bits  */
6912     icp_qat_fw_maths_modexp_l1536_output_t maths_modexp_l1536;
6913 
6914     /** Modular exponentiation for numbers less than 2048-bit  */
6915     icp_qat_fw_maths_modexp_l2048_output_t maths_modexp_l2048;
6916 
6917     /** Modular exponentiation for numbers less than 2560-bits  */
6918     icp_qat_fw_maths_modexp_l2560_output_t maths_modexp_l2560;
6919 
6920     /** Modular exponentiation for numbers less than 3072-bits  */
6921     icp_qat_fw_maths_modexp_l3072_output_t maths_modexp_l3072;
6922 
6923     /** Modular exponentiation for numbers less than 3584-bits  */
6924     icp_qat_fw_maths_modexp_l3584_output_t maths_modexp_l3584;
6925 
6926     /** Modular exponentiation for numbers less than 4096-bit  */
6927     icp_qat_fw_maths_modexp_l4096_output_t maths_modexp_l4096;
6928 
6929     /** Modular exponentiation for numbers up to 8192 bits  */
6930     icp_qat_fw_maths_modexp_l8192_output_t maths_modexp_l8192;
6931 
6932     /** Modular multiplicative inverse for numbers less than 128 bits  */
6933     icp_qat_fw_maths_modinv_odd_l128_output_t maths_modinv_odd_l128;
6934 
6935     /** Modular multiplicative inverse for numbers less than 192 bits  */
6936     icp_qat_fw_maths_modinv_odd_l192_output_t maths_modinv_odd_l192;
6937 
6938     /** Modular multiplicative inverse for numbers less than 256 bits  */
6939     icp_qat_fw_maths_modinv_odd_l256_output_t maths_modinv_odd_l256;
6940 
6941     /** Modular multiplicative inverse for numbers less than 384 bits  */
6942     icp_qat_fw_maths_modinv_odd_l384_output_t maths_modinv_odd_l384;
6943 
6944     /** Modular multiplicative inverse for numbers less than 512 bits  */
6945     icp_qat_fw_maths_modinv_odd_l512_output_t maths_modinv_odd_l512;
6946 
6947     /** Modular multiplicative inverse for numbers less than 768 bits  */
6948     icp_qat_fw_maths_modinv_odd_l768_output_t maths_modinv_odd_l768;
6949 
6950     /** Modular multiplicative inverse for numbers less than 1024 bits  */
6951     icp_qat_fw_maths_modinv_odd_l1024_output_t maths_modinv_odd_l1024;
6952 
6953     /** Modular multiplicative inverse for numbers less than 1536 bits  */
6954     icp_qat_fw_maths_modinv_odd_l1536_output_t maths_modinv_odd_l1536;
6955 
6956     /** Modular multiplicative inverse for numbers less than 2048 bits  */
6957     icp_qat_fw_maths_modinv_odd_l2048_output_t maths_modinv_odd_l2048;
6958 
6959     /** Modular multiplicative inverse for numbers less than 3072 bits  */
6960     icp_qat_fw_maths_modinv_odd_l3072_output_t maths_modinv_odd_l3072;
6961 
6962     /** Modular multiplicative inverse for numbers less than 4096 bits  */
6963     icp_qat_fw_maths_modinv_odd_l4096_output_t maths_modinv_odd_l4096;
6964 
6965     /** Modular multiplicative inverse for numbers up to 8192 bits  */
6966     icp_qat_fw_maths_modinv_odd_l8192_output_t maths_modinv_odd_l8192;
6967 
6968     /** Modular multiplicative inverse for numbers less than 128 bits  */
6969     icp_qat_fw_maths_modinv_even_l128_output_t maths_modinv_even_l128;
6970 
6971     /** Modular multiplicative inverse for numbers less than 192 bits  */
6972     icp_qat_fw_maths_modinv_even_l192_output_t maths_modinv_even_l192;
6973 
6974     /** Modular multiplicative inverse for numbers less than 256 bits  */
6975     icp_qat_fw_maths_modinv_even_l256_output_t maths_modinv_even_l256;
6976 
6977     /** Modular multiplicative inverse for numbers less than 384 bits  */
6978     icp_qat_fw_maths_modinv_even_l384_output_t maths_modinv_even_l384;
6979 
6980     /** Modular multiplicative inverse for numbers less than 512 bits  */
6981     icp_qat_fw_maths_modinv_even_l512_output_t maths_modinv_even_l512;
6982 
6983     /** Modular multiplicative inverse for numbers less than 768 bits  */
6984     icp_qat_fw_maths_modinv_even_l768_output_t maths_modinv_even_l768;
6985 
6986     /** Modular multiplicative inverse for numbers less than 1024 bits  */
6987     icp_qat_fw_maths_modinv_even_l1024_output_t maths_modinv_even_l1024;
6988 
6989     /** Modular multiplicative inverse for numbers less than 1536 bits  */
6990     icp_qat_fw_maths_modinv_even_l1536_output_t maths_modinv_even_l1536;
6991 
6992     /** Modular multiplicative inverse for numbers less than 2048 bits  */
6993     icp_qat_fw_maths_modinv_even_l2048_output_t maths_modinv_even_l2048;
6994 
6995     /** Modular multiplicative inverse for numbers less than 3072 bits  */
6996     icp_qat_fw_maths_modinv_even_l3072_output_t maths_modinv_even_l3072;
6997 
6998     /** Modular multiplicative inverse for numbers less than 4096 bits  */
6999     icp_qat_fw_maths_modinv_even_l4096_output_t maths_modinv_even_l4096;
7000 
7001     /** Modular multiplicative inverse for numbers up to 8192 bits  */
7002     icp_qat_fw_maths_modinv_even_l8192_output_t maths_modinv_even_l8192;
7003 
7004     /** DSA parameter generation P  */
7005     icp_qat_fw_mmp_dsa_gen_p_1024_160_output_t mmp_dsa_gen_p_1024_160;
7006 
7007     /** DSA key generation G  */
7008     icp_qat_fw_mmp_dsa_gen_g_1024_output_t mmp_dsa_gen_g_1024;
7009 
7010     /** DSA key generation Y  */
7011     icp_qat_fw_mmp_dsa_gen_y_1024_output_t mmp_dsa_gen_y_1024;
7012 
7013     /** DSA Sign R  */
7014     icp_qat_fw_mmp_dsa_sign_r_1024_160_output_t mmp_dsa_sign_r_1024_160;
7015 
7016     /** DSA Sign S  */
7017     icp_qat_fw_mmp_dsa_sign_s_160_output_t mmp_dsa_sign_s_160;
7018 
7019     /** DSA Sign R S  */
7020     icp_qat_fw_mmp_dsa_sign_r_s_1024_160_output_t mmp_dsa_sign_r_s_1024_160;
7021 
7022     /** DSA Verify  */
7023     icp_qat_fw_mmp_dsa_verify_1024_160_output_t mmp_dsa_verify_1024_160;
7024 
7025     /** DSA parameter generation P  */
7026     icp_qat_fw_mmp_dsa_gen_p_2048_224_output_t mmp_dsa_gen_p_2048_224;
7027 
7028     /** DSA key generation Y  */
7029     icp_qat_fw_mmp_dsa_gen_y_2048_output_t mmp_dsa_gen_y_2048;
7030 
7031     /** DSA Sign R  */
7032     icp_qat_fw_mmp_dsa_sign_r_2048_224_output_t mmp_dsa_sign_r_2048_224;
7033 
7034     /** DSA Sign S  */
7035     icp_qat_fw_mmp_dsa_sign_s_224_output_t mmp_dsa_sign_s_224;
7036 
7037     /** DSA Sign R S  */
7038     icp_qat_fw_mmp_dsa_sign_r_s_2048_224_output_t mmp_dsa_sign_r_s_2048_224;
7039 
7040     /** DSA Verify  */
7041     icp_qat_fw_mmp_dsa_verify_2048_224_output_t mmp_dsa_verify_2048_224;
7042 
7043     /** DSA parameter generation P  */
7044     icp_qat_fw_mmp_dsa_gen_p_2048_256_output_t mmp_dsa_gen_p_2048_256;
7045 
7046     /** DSA key generation G  */
7047     icp_qat_fw_mmp_dsa_gen_g_2048_output_t mmp_dsa_gen_g_2048;
7048 
7049     /** DSA Sign R  */
7050     icp_qat_fw_mmp_dsa_sign_r_2048_256_output_t mmp_dsa_sign_r_2048_256;
7051 
7052     /** DSA Sign S  */
7053     icp_qat_fw_mmp_dsa_sign_s_256_output_t mmp_dsa_sign_s_256;
7054 
7055     /** DSA Sign R S  */
7056     icp_qat_fw_mmp_dsa_sign_r_s_2048_256_output_t mmp_dsa_sign_r_s_2048_256;
7057 
7058     /** DSA Verify  */
7059     icp_qat_fw_mmp_dsa_verify_2048_256_output_t mmp_dsa_verify_2048_256;
7060 
7061     /** DSA parameter generation P  */
7062     icp_qat_fw_mmp_dsa_gen_p_3072_256_output_t mmp_dsa_gen_p_3072_256;
7063 
7064     /** DSA key generation G  */
7065     icp_qat_fw_mmp_dsa_gen_g_3072_output_t mmp_dsa_gen_g_3072;
7066 
7067     /** DSA key generation Y  */
7068     icp_qat_fw_mmp_dsa_gen_y_3072_output_t mmp_dsa_gen_y_3072;
7069 
7070     /** DSA Sign R  */
7071     icp_qat_fw_mmp_dsa_sign_r_3072_256_output_t mmp_dsa_sign_r_3072_256;
7072 
7073     /** DSA Sign R S  */
7074     icp_qat_fw_mmp_dsa_sign_r_s_3072_256_output_t mmp_dsa_sign_r_s_3072_256;
7075 
7076     /** DSA Verify  */
7077     icp_qat_fw_mmp_dsa_verify_3072_256_output_t mmp_dsa_verify_3072_256;
7078 
7079     /** ECDSA Sign RS for curves B/K-163 and B/K-233  */
7080     icp_qat_fw_mmp_ecdsa_sign_rs_gf2_l256_output_t mmp_ecdsa_sign_rs_gf2_l256;
7081 
7082     /** ECDSA Sign R for curves B/K-163 and B/K-233  */
7083     icp_qat_fw_mmp_ecdsa_sign_r_gf2_l256_output_t mmp_ecdsa_sign_r_gf2_l256;
7084 
7085     /** ECDSA Sign S for curves with n &lt; 2^256  */
7086     icp_qat_fw_mmp_ecdsa_sign_s_gf2_l256_output_t mmp_ecdsa_sign_s_gf2_l256;
7087 
7088     /** ECDSA Verify for curves B/K-163 and B/K-233  */
7089     icp_qat_fw_mmp_ecdsa_verify_gf2_l256_output_t mmp_ecdsa_verify_gf2_l256;
7090 
7091     /** ECDSA Sign RS  */
7092     icp_qat_fw_mmp_ecdsa_sign_rs_gf2_l512_output_t mmp_ecdsa_sign_rs_gf2_l512;
7093 
7094     /** ECDSA GF2 Sign R  */
7095     icp_qat_fw_mmp_ecdsa_sign_r_gf2_l512_output_t mmp_ecdsa_sign_r_gf2_l512;
7096 
7097     /** ECDSA GF2 Sign S  */
7098     icp_qat_fw_mmp_ecdsa_sign_s_gf2_l512_output_t mmp_ecdsa_sign_s_gf2_l512;
7099 
7100     /** ECDSA GF2 Verify  */
7101     icp_qat_fw_mmp_ecdsa_verify_gf2_l512_output_t mmp_ecdsa_verify_gf2_l512;
7102 
7103     /** ECDSA GF2 Sign RS for curves B-571/K-571  */
7104     icp_qat_fw_mmp_ecdsa_sign_rs_gf2_571_output_t mmp_ecdsa_sign_rs_gf2_571;
7105 
7106     /** ECDSA GF2 Sign S for curves with deg(q) &lt; 576  */
7107     icp_qat_fw_mmp_ecdsa_sign_s_gf2_571_output_t mmp_ecdsa_sign_s_gf2_571;
7108 
7109     /** ECDSA GF2 Sign R for degree 571  */
7110     icp_qat_fw_mmp_ecdsa_sign_r_gf2_571_output_t mmp_ecdsa_sign_r_gf2_571;
7111 
7112     /** ECDSA GF2 Verify for degree 571  */
7113     icp_qat_fw_mmp_ecdsa_verify_gf2_571_output_t mmp_ecdsa_verify_gf2_571;
7114 
7115     /** MATHS GF2 Point Multiplication  */
7116     icp_qat_fw_maths_point_multiplication_gf2_l256_output_t maths_point_multiplication_gf2_l256;
7117 
7118     /** MATHS GF2 Point Verification  */
7119     icp_qat_fw_maths_point_verify_gf2_l256_output_t maths_point_verify_gf2_l256;
7120 
7121     /** MATHS GF2 Point Multiplication  */
7122     icp_qat_fw_maths_point_multiplication_gf2_l512_output_t maths_point_multiplication_gf2_l512;
7123 
7124     /** MATHS GF2 Point Verification  */
7125     icp_qat_fw_maths_point_verify_gf2_l512_output_t maths_point_verify_gf2_l512;
7126 
7127     /** ECC GF2 Point Multiplication for curves B-571/K-571  */
7128     icp_qat_fw_maths_point_multiplication_gf2_571_output_t maths_point_multiplication_gf2_571;
7129 
7130     /** ECC GF2 Point Verification for degree 571  */
7131     icp_qat_fw_maths_point_verify_gf2_571_output_t maths_point_verify_gf2_571;
7132 
7133     /** ECDSA GFP Sign R  */
7134     icp_qat_fw_mmp_ecdsa_sign_r_gfp_l256_output_t mmp_ecdsa_sign_r_gfp_l256;
7135 
7136     /** ECDSA GFP Sign S  */
7137     icp_qat_fw_mmp_ecdsa_sign_s_gfp_l256_output_t mmp_ecdsa_sign_s_gfp_l256;
7138 
7139     /** ECDSA GFP Sign RS  */
7140     icp_qat_fw_mmp_ecdsa_sign_rs_gfp_l256_output_t mmp_ecdsa_sign_rs_gfp_l256;
7141 
7142     /** ECDSA GFP Verify  */
7143     icp_qat_fw_mmp_ecdsa_verify_gfp_l256_output_t mmp_ecdsa_verify_gfp_l256;
7144 
7145     /** ECDSA GFP Sign R  */
7146     icp_qat_fw_mmp_ecdsa_sign_r_gfp_l512_output_t mmp_ecdsa_sign_r_gfp_l512;
7147 
7148     /** ECDSA GFP Sign S  */
7149     icp_qat_fw_mmp_ecdsa_sign_s_gfp_l512_output_t mmp_ecdsa_sign_s_gfp_l512;
7150 
7151     /** ECDSA GFP Sign RS  */
7152     icp_qat_fw_mmp_ecdsa_sign_rs_gfp_l512_output_t mmp_ecdsa_sign_rs_gfp_l512;
7153 
7154     /** ECDSA GFP Verify  */
7155     icp_qat_fw_mmp_ecdsa_verify_gfp_l512_output_t mmp_ecdsa_verify_gfp_l512;
7156 
7157     /** ECDSA GFP Sign R  */
7158     icp_qat_fw_mmp_ecdsa_sign_r_gfp_521_output_t mmp_ecdsa_sign_r_gfp_521;
7159 
7160     /** ECDSA GFP Sign S  */
7161     icp_qat_fw_mmp_ecdsa_sign_s_gfp_521_output_t mmp_ecdsa_sign_s_gfp_521;
7162 
7163     /** ECDSA GFP Sign RS  */
7164     icp_qat_fw_mmp_ecdsa_sign_rs_gfp_521_output_t mmp_ecdsa_sign_rs_gfp_521;
7165 
7166     /** ECDSA GFP Verify  */
7167     icp_qat_fw_mmp_ecdsa_verify_gfp_521_output_t mmp_ecdsa_verify_gfp_521;
7168 
7169     /** ECC GFP Point Multiplication  */
7170     icp_qat_fw_maths_point_multiplication_gfp_l256_output_t maths_point_multiplication_gfp_l256;
7171 
7172     /** ECC GFP Partial Point Verification  */
7173     icp_qat_fw_maths_point_verify_gfp_l256_output_t maths_point_verify_gfp_l256;
7174 
7175     /** ECC GFP Point Multiplication  */
7176     icp_qat_fw_maths_point_multiplication_gfp_l512_output_t maths_point_multiplication_gfp_l512;
7177 
7178     /** ECC GFP Partial Point  */
7179     icp_qat_fw_maths_point_verify_gfp_l512_output_t maths_point_verify_gfp_l512;
7180 
7181     /** ECC GFP Point Multiplication  */
7182     icp_qat_fw_maths_point_multiplication_gfp_521_output_t maths_point_multiplication_gfp_521;
7183 
7184     /** ECC GFP Partial Point Verification  */
7185     icp_qat_fw_maths_point_verify_gfp_521_output_t maths_point_verify_gfp_521;
7186 
7187     /** ECC P521 ECDSA Sign RS  */
7188     icp_qat_fw_mmp_kpt_ecdsa_sign_rs_p521_output_t mmp_kpt_ecdsa_sign_rs_p521;
7189 
7190     /** ECC P384 ECDSA Sign RS  */
7191     icp_qat_fw_mmp_kpt_ecdsa_sign_rs_p384_output_t mmp_kpt_ecdsa_sign_rs_p384;
7192 
7193     /** ECC KPT P256 ECDSA Sign RS  */
7194     icp_qat_fw_mmp_kpt_ecdsa_sign_rs_p256_output_t mmp_kpt_ecdsa_sign_rs_p256;
7195 
7196     /** KPT RSA 512 Decryption  */
7197     icp_qat_fw_mmp_kpt_rsa_dp1_512_output_t mmp_kpt_rsa_dp1_512;
7198 
7199     /** KPT RSA 1024 Decryption  */
7200     icp_qat_fw_mmp_kpt_rsa_dp1_1024_output_t mmp_kpt_rsa_dp1_1024;
7201 
7202     /** KPT RSA 1536 Decryption  */
7203     icp_qat_fw_mmp_kpt_rsa_dp1_1536_output_t mmp_kpt_rsa_dp1_1536;
7204 
7205     /** KPT RSA 2048 Decryption  */
7206     icp_qat_fw_mmp_kpt_rsa_dp1_2048_output_t mmp_kpt_rsa_dp1_2048;
7207 
7208     /** KPT RSA 3072 Decryption  */
7209     icp_qat_fw_mmp_kpt_rsa_dp1_3072_output_t mmp_kpt_rsa_dp1_3072;
7210 
7211     /** KPT RSA 4096 Decryption  */
7212     icp_qat_fw_mmp_kpt_rsa_dp1_4096_output_t mmp_kpt_rsa_dp1_4096;
7213 
7214     /** KPT RSA 8192 Decryption  */
7215     icp_qat_fw_mmp_kpt_rsa_dp1_8192_output_t mmp_kpt_rsa_dp1_8192;
7216 
7217     /** RSA 512 decryption second form  */
7218     icp_qat_fw_mmp_kpt_rsa_dp2_512_output_t mmp_kpt_rsa_dp2_512;
7219 
7220     /** RSA 1024 Decryption with CRT  */
7221     icp_qat_fw_mmp_kpt_rsa_dp2_1024_output_t mmp_kpt_rsa_dp2_1024;
7222 
7223     /** KPT RSA 1536 Decryption with CRT  */
7224     icp_qat_fw_mmp_kpt_rsa_dp2_1536_output_t mmp_kpt_rsa_dp2_1536;
7225 
7226     /** RSA 2048 Decryption with CRT  */
7227     icp_qat_fw_mmp_kpt_rsa_dp2_2048_output_t mmp_kpt_rsa_dp2_2048;
7228 
7229     /**  */
7230     icp_qat_fw_mmp_kpt_rsa_dp2_3072_output_t mmp_kpt_rsa_dp2_3072;
7231 
7232     /** RSA 4096 Decryption with CRT  */
7233     icp_qat_fw_mmp_kpt_rsa_dp2_4096_output_t mmp_kpt_rsa_dp2_4096;
7234 
7235     /** RSA 8192 Decryption with CRT  */
7236     icp_qat_fw_mmp_kpt_rsa_dp2_8192_output_t mmp_kpt_rsa_dp2_8192;
7237 
7238 } icp_qat_fw_mmp_output_param_t;
7239 
7240 
7241 
7242 #endif /* __ICP_QAT_FW_MMP__ */
7243 
7244 
7245 /* --- (Automatically generated (build v. 2.7), do not modify manually) --- */
7246 
7247 /* --- end of file --- */
7248