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