1 /*
2 * Copyright (C) 2022 Huawei Technologies Co., Ltd.
3 * Licensed under the Mulan PSL v2.
4 * You can use this software according to the terms and conditions of the Mulan PSL v2.
5 * You may obtain a copy of Mulan PSL v2 at:
6 * http://license.coscl.org.cn/MulanPSL2
7 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
8 * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
9 * PURPOSE.
10 * See the Mulan PSL v2 for more details.
11 */
12
13 #include "soft_ec_api.h"
14 #include "crypto_inner_interface.h"
15 #include "soft_common_api.h"
16
soft_crypto_ecc_generate_keypair(uint32_t key_size,uint32_t curve,struct ecc_pub_key_t * public_key,struct ecc_priv_key_t * private_key)17 int32_t soft_crypto_ecc_generate_keypair(uint32_t key_size, uint32_t curve,
18 struct ecc_pub_key_t *public_key, struct ecc_priv_key_t *private_key)
19 {
20 (void)key_size;
21 (void)curve;
22 (void)public_key;
23 (void)private_key;
24 return CRYPTO_NOT_SUPPORTED;
25 }
26
soft_crypto_ecc_encrypt(uint32_t alg_type,const struct ecc_pub_key_t * public_key,const struct asymmetric_params_t * ec_params,const struct memref_t * data_in,struct memref_t * data_out)27 int32_t soft_crypto_ecc_encrypt(uint32_t alg_type, const struct ecc_pub_key_t *public_key,
28 const struct asymmetric_params_t *ec_params, const struct memref_t *data_in, struct memref_t *data_out)
29 {
30 (void)alg_type;
31 (void)public_key;
32 (void)ec_params;
33 (void)data_in;
34 (void)data_out;
35 return CRYPTO_NOT_SUPPORTED;
36 }
37
38
soft_crypto_ecc_decrypt(uint32_t alg_type,const struct ecc_priv_key_t * private_key,const struct asymmetric_params_t * ec_params,const struct memref_t * data_in,struct memref_t * data_out)39 int32_t soft_crypto_ecc_decrypt(uint32_t alg_type, const struct ecc_priv_key_t *private_key,
40 const struct asymmetric_params_t *ec_params, const struct memref_t *data_in, struct memref_t *data_out)
41 {
42 (void)alg_type;
43 (void)private_key;
44 (void)ec_params;
45 (void)data_in;
46 (void)data_out;
47 return CRYPTO_NOT_SUPPORTED;
48 }
49
soft_crypto_ecc_sign_digest(uint32_t alg_type,const struct ecc_priv_key_t * private_key,const struct asymmetric_params_t * ec_params,const struct memref_t * digest,struct memref_t * signature)50 int32_t soft_crypto_ecc_sign_digest(uint32_t alg_type, const struct ecc_priv_key_t *private_key,
51 const struct asymmetric_params_t *ec_params, const struct memref_t *digest,
52 struct memref_t *signature)
53 {
54 (void)alg_type;
55 (void)private_key;
56 (void)ec_params;
57 (void)digest;
58 (void)signature;
59 return CRYPTO_NOT_SUPPORTED;
60 }
61
soft_crypto_ecc_verify_digest(uint32_t alg_type,const struct ecc_pub_key_t * public_key,const struct asymmetric_params_t * ec_params,const struct memref_t * digest,const struct memref_t * signature)62 int32_t soft_crypto_ecc_verify_digest(uint32_t alg_type, const struct ecc_pub_key_t *public_key,
63 const struct asymmetric_params_t *ec_params, const struct memref_t *digest,
64 const struct memref_t *signature)
65 {
66 (void)alg_type;
67 (void)public_key;
68 (void)ec_params;
69 (void)digest;
70 (void)signature;
71 return CRYPTO_NOT_SUPPORTED;
72 }
73