xref: /dpdk/app/test/test_cryptodev_asym_util.h (revision 31dd9ddfa91ceaa4a005c992045a277f128bd981)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2018 Cavium Networks
3  */
4 
5 #ifndef TEST_CRYPTODEV_ASYM_TEST_UTIL_H__
6 #define TEST_CRYPTODEV_ASYM_TEST_UTIL_H__
7 
8 /* Below Apis compare resulted buffer to original test vector */
9 
rsa_verify(struct rsa_test_data * rsa_param,struct rte_crypto_op * result_op)10 static inline int rsa_verify(struct rsa_test_data *rsa_param,
11 		struct rte_crypto_op *result_op)
12 {
13 	if (memcmp(rsa_param->data,
14 				result_op->asym->rsa.message.data,
15 				result_op->asym->rsa.message.length))
16 		return -1;
17 	return 0;
18 }
19 
verify_modinv(uint8_t * mod_inv,struct rte_crypto_op * result_op)20 static inline int verify_modinv(uint8_t *mod_inv,
21 		struct rte_crypto_op *result_op)
22 {
23 	if (memcmp(mod_inv, result_op->asym->modinv.result.data,
24 				result_op->asym->modinv.result.length))
25 		return -1;
26 	return 0;
27 }
28 
verify_modexp(uint8_t * mod_exp,struct rte_crypto_op * result_op)29 static inline int verify_modexp(uint8_t *mod_exp,
30 		struct rte_crypto_op *result_op)
31 {
32 	if (memcmp(mod_exp, result_op->asym->modex.result.data,
33 				result_op->asym->modex.result.length))
34 		return -1;
35 	return 0;
36 }
37 
verify_ecdsa_sign(uint8_t * sign_r,uint8_t * sign_s,struct rte_crypto_op * result_op)38 static inline int verify_ecdsa_sign(uint8_t *sign_r,
39 		uint8_t *sign_s, struct rte_crypto_op *result_op)
40 {
41 	if (memcmp(sign_r, result_op->asym->ecdsa.r.data,
42 		   result_op->asym->ecdsa.r.length) ||
43 		   memcmp(sign_s, result_op->asym->ecdsa.s.data,
44 		   result_op->asym->ecdsa.s.length))
45 		return -1;
46 	return 0;
47 }
48 
verify_ecpm(uint8_t * result_x,uint8_t * result_y,struct rte_crypto_op * result_op)49 static inline int verify_ecpm(uint8_t *result_x, uint8_t *result_y,
50 			      struct rte_crypto_op *result_op)
51 {
52 	if (memcmp(result_x, result_op->asym->ecpm.r.x.data,
53 		   result_op->asym->ecpm.r.x.length) ||
54 		   memcmp(result_y, result_op->asym->ecpm.r.y.data,
55 		   result_op->asym->ecpm.r.y.length))
56 		return -1;
57 
58 	return 0;
59 }
60 
verify_ecdh_secret(uint8_t * result_x,uint8_t * result_y,struct rte_crypto_op * result_op)61 static inline int verify_ecdh_secret(uint8_t *result_x, uint8_t *result_y,
62 			      struct rte_crypto_op *result_op)
63 {
64 	if (memcmp(result_x, result_op->asym->ecdh.shared_secret.x.data,
65 		   result_op->asym->ecdh.shared_secret.x.length) ||
66 		   memcmp(result_y, result_op->asym->ecdh.shared_secret.y.data,
67 		   result_op->asym->ecdh.shared_secret.y.length))
68 		return -1;
69 
70 	return 0;
71 }
72 #endif /* TEST_CRYPTODEV_ASYM_TEST_UTIL_H__ */
73