summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/sm2/sm2.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lib/libcrypto/sm2/sm2.h138
1 files changed, 0 insertions, 138 deletions
diff --git a/src/lib/libcrypto/sm2/sm2.h b/src/lib/libcrypto/sm2/sm2.h
deleted file mode 100644
index b5195a73e1..0000000000
--- a/src/lib/libcrypto/sm2/sm2.h
+++ /dev/null
@@ -1,138 +0,0 @@
1/* $OpenBSD: sm2.h,v 1.4 2025/01/25 17:59:44 tb Exp $ */
2/*
3 * Copyright (c) 2017, 2019 Ribose Inc
4 *
5 * Permission to use, copy, modify, and/or distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef HEADER_SM2_H
19#define HEADER_SM2_H
20
21#include <openssl/opensslconf.h>
22
23#include <openssl/ec.h>
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
29/*
30 * SM2 signature generation.
31 */
32int SM2_sign(const unsigned char *dgst, int dgstlen, unsigned char *sig,
33 unsigned int *siglen, EC_KEY *eckey);
34
35/*
36 * SM2 signature verification. Assumes input is an SM3 digest
37 */
38int SM2_verify(const unsigned char *dgst, int dgstlen, const unsigned char *sig,
39 int siglen, EC_KEY *eckey);
40
41/*
42 * SM2 encryption
43 */
44int SM2_ciphertext_size(const EC_KEY *key, const EVP_MD *digest, size_t msg_len,
45 size_t *c_size);
46
47int SM2_plaintext_size(const EC_KEY *key, const EVP_MD *digest, size_t msg_len,
48 size_t *pl_size);
49
50int SM2_encrypt(const EC_KEY *key, const EVP_MD *digest, const uint8_t *msg,
51 size_t msg_len, uint8_t *ciphertext_buf, size_t *ciphertext_len);
52
53int SM2_decrypt(const EC_KEY *key, const EVP_MD *digest,
54 const uint8_t *ciphertext, size_t ciphertext_len, uint8_t *ptext_buf,
55 size_t *ptext_len);
56
57void ERR_load_SM2_strings(void);
58
59/* Error codes for the SM2 functions. */
60
61/* Function codes. */
62# define SM2_F_PKEY_SM2_CTRL 274
63# define SM2_F_PKEY_SM2_CTRL_STR 275
64# define SM2_F_PKEY_SM2_KEYGEN 276
65# define SM2_F_PKEY_SM2_PARAMGEN 277
66# define SM2_F_PKEY_SM2_SIGN 278
67# define SM2_F_PKEY_SM2_VERIFY 279
68# define SM2_F_PKEY_SM2_ENCRYPT 280
69# define SM2_F_PKEY_SM2_DECRYPT 281
70
71/* Reason codes. */
72# define SM2_R_ASN1_ERROR 115
73# define SM2_R_ASN5_ERROR 1150
74# define SM2_R_BAD_SIGNATURE 156
75# define SM2_R_BIGNUM_OUT_OF_RANGE 144
76# define SM2_R_BUFFER_TOO_SMALL 100
77# define SM2_R_COORDINATES_OUT_OF_RANGE 146
78# define SM2_R_CURVE_DOES_NOT_SUPPORT_ECDH 160
79# define SM2_R_CURVE_DOES_NOT_SUPPORT_SIGNING 159
80# define SM2_R_D2I_ECPKPARAMETERS_FAILURE 117
81# define SM2_R_DECODE_ERROR 142
82# define SM2_R_DIGEST_FAILURE 163
83# define SM2_R_DISCRIMINANT_IS_ZERO 118
84# define SM2_R_EC_GROUP_NEW_BY_NAME_FAILURE 119
85# define SM2_R_FIELD_TOO_LARGE 143
86# define SM2_R_GF2M_NOT_SUPPORTED 147
87# define SM2_R_GROUP2PKPARAMETERS_FAILURE 120
88# define SM2_R_I2D_ECPKPARAMETERS_FAILURE 121
89# define SM2_R_INCOMPATIBLE_OBJECTS 101
90# define SM2_R_INVALID_ARGUMENT 112
91# define SM2_R_INVALID_COMPRESSED_POINT 110
92# define SM2_R_INVALID_COMPRESSION_BIT 109
93# define SM2_R_INVALID_CURVE 141
94# define SM2_R_INVALID_DIGEST 151
95# define SM2_R_INVALID_DIGEST_TYPE 138
96# define SM2_R_INVALID_ENCODING 102
97# define SM2_R_INVALID_FIELD 103
98# define SM2_R_INVALID_FORM 104
99# define SM2_R_INVALID_GROUP_ORDER 122
100# define SM2_R_INVALID_KEY 116
101# define SM2_R_INVALID_OUTPUT_LENGTH 161
102# define SM2_R_INVALID_PEER_KEY 133
103# define SM2_R_INVALID_PENTANOMIAL_BASIS 132
104# define SM2_R_INVALID_PRIVATE_KEY 123
105# define SM2_R_INVALID_TRINOMIAL_BASIS 137
106# define SM2_R_KDF_FAILURE 162
107# define SM2_R_KDF_PARAMETER_ERROR 148
108# define SM2_R_KEYS_NOT_SET 140
109# define SM2_R_MISSING_PARAMETERS 124
110# define SM2_R_MISSING_PRIVATE_KEY 125
111# define SM2_R_NEED_NEW_SETUP_VALUES 157
112# define SM2_R_NOT_A_NIST_PRIME 135
113# define SM2_R_NOT_IMPLEMENTED 126
114# define SM2_R_NOT_INITIALIZED 111
115# define SM2_R_NO_PARAMETERS_SET 139
116# define SM2_R_NO_PRIVATE_VALUE 154
117# define SM2_R_OPERATION_NOT_SUPPORTED 152
118# define SM2_R_PASSED_NULL_PARAMETER 134
119# define SM2_R_PEER_KEY_ERROR 149
120# define SM2_R_PKPARAMETERS2GROUP_FAILURE 127
121# define SM2_R_POINT_ARITHMETIC_FAILURE 155
122# define SM2_R_POINT_AT_INFINITY 106
123# define SM2_R_POINT_IS_NOT_ON_CURVE 107
124# define SM2_R_RANDOM_NUMBER_GENERATION_FAILED 158
125# define SM2_R_SHARED_INFO_ERROR 150
126# define SM2_R_SLOT_FULL 108
127# define SM2_R_UNDEFINED_GENERATOR 113
128# define SM2_R_UNDEFINED_ORDER 128
129# define SM2_R_UNKNOWN_GROUP 129
130# define SM2_R_UNKNOWN_ORDER 114
131# define SM2_R_UNSUPPORTED_FIELD 131
132# define SM2_R_WRONG_CURVE_PARAMETERS 145
133# define SM2_R_WRONG_ORDER 130
134
135#ifdef __cplusplus
136}
137#endif
138#endif