• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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