47
47
#include < nil/crypto3/hash/sha2.hpp>
48
48
49
49
#include < nil/crypto3/pubkey/detail/bls/bls_basic_policy.hpp>
50
- #include < nil/crypto3/pubkey/detail/bls/bls_core_functions .hpp>
50
+ #include < nil/crypto3/pubkey/detail/bls/bls_basic_functions .hpp>
51
51
#include < nil/crypto3/pubkey/detail/stream_processor.hpp>
52
52
#include < nil/crypto3/pubkey/private_key.hpp>
53
53
#include < nil/crypto3/pubkey/no_key_ops.hpp>
@@ -64,53 +64,53 @@ namespace nil {
64
64
struct bls_basic_scheme {
65
65
typedef SignatureVariant signature_variant;
66
66
typedef typename signature_variant::policy_type policy_type;
67
- typedef typename signature_variant::core_functions core_functions ;
67
+ typedef typename signature_variant::basic_functions basic_functions ;
68
68
69
69
typedef typename policy_type::private_key_type private_key_type;
70
70
typedef typename policy_type::public_key_type public_key_type;
71
71
typedef typename policy_type::signature_type signature_type;
72
72
typedef typename policy_type::pubkey_id_type pubkey_id_type;
73
73
74
74
static inline pubkey_id_type get_pubkey_bits (const public_key_type &pubkey) {
75
- return core_functions ::get_pubkey_bits (pubkey);
75
+ return basic_functions ::get_pubkey_bits (pubkey);
76
76
}
77
77
78
78
static inline public_key_type generate_public_key (const private_key_type &privkey) {
79
- return core_functions ::privkey_to_pubkey (privkey);
79
+ return basic_functions ::privkey_to_pubkey (privkey);
80
80
}
81
81
82
82
template <typename MsgRange>
83
83
static inline signature_type sign (const private_key_type &privkey, const MsgRange &message) {
84
- return core_functions ::core_sign (privkey, message, public_params::dst);
84
+ return basic_functions ::core_sign (privkey, message, public_params::dst);
85
85
}
86
86
87
87
template <typename MsgRange>
88
88
static inline bool verify (const public_key_type &pubkey, const MsgRange &message,
89
89
const signature_type &signature) {
90
- return core_functions ::core_verify (pubkey, message, public_params::dst, signature);
90
+ return basic_functions ::core_verify (pubkey, message, public_params::dst, signature);
91
91
}
92
92
93
93
static inline signature_type aggregate (const signature_type &init_signature,
94
94
const signature_type &signature) {
95
- return core_functions ::core_aggregate (init_signature, signature);
95
+ return basic_functions ::core_aggregate (init_signature, signature);
96
96
}
97
97
98
98
template <typename SignatureRange>
99
99
static inline signature_type aggregate (const SignatureRange &signatures) {
100
- return core_functions ::core_aggregate (signatures);
100
+ return basic_functions ::core_aggregate (signatures);
101
101
}
102
102
103
103
template <typename SignatureRange>
104
104
static inline signature_type aggregate (const signature_type &init_signature,
105
105
const SignatureRange &signatures) {
106
- return core_functions ::core_aggregate (init_signature, signatures);
106
+ return basic_functions ::core_aggregate (init_signature, signatures);
107
107
}
108
108
109
109
template <typename PubkeyRange, typename MsgsRange>
110
110
static inline bool aggregate_verify (const PubkeyRange &pubkeys, const MsgsRange &messages,
111
111
const signature_type &signature) {
112
112
// TODO: add check - If any two input messages are equal, return INVALID.
113
- return core_functions ::core_aggregate_verify (pubkeys, messages, public_params::dst, signature);
113
+ return basic_functions ::core_aggregate_verify (pubkeys, messages, public_params::dst, signature);
114
114
}
115
115
};
116
116
@@ -122,51 +122,51 @@ namespace nil {
122
122
struct bls_aug_scheme {
123
123
typedef SignatureVariant signature_variant;
124
124
typedef typename signature_variant::policy_type policy_type;
125
- typedef typename signature_variant::core_functions core_functions ;
125
+ typedef typename signature_variant::basic_functions basic_functions ;
126
126
127
127
typedef typename policy_type::private_key_type private_key_type;
128
128
typedef typename policy_type::public_key_type public_key_type;
129
129
typedef typename policy_type::signature_type signature_type;
130
130
typedef typename policy_type::pubkey_id_type pubkey_id_type;
131
131
132
132
static inline pubkey_id_type get_pubkey_bits (const public_key_type &pubkey) {
133
- return core_functions ::get_pubkey_bits (pubkey);
133
+ return basic_functions ::get_pubkey_bits (pubkey);
134
134
}
135
135
136
136
static inline public_key_type generate_public_key (const private_key_type &privkey) {
137
- return core_functions ::privkey_to_pubkey (privkey);
137
+ return basic_functions ::privkey_to_pubkey (privkey);
138
138
}
139
139
140
140
// TODO: implement an interface that takes the public key as input
141
141
template <typename MsgRange>
142
142
static inline signature_type sign (const private_key_type &privkey, const MsgRange &message) {
143
143
public_key_type pubkey = generate_public_key (privkey);
144
- return core_functions ::core_sign (privkey, core_functions ::pk_conc_msg (pubkey, message),
145
- public_params::dst);
144
+ return basic_functions ::core_sign (privkey, basic_functions ::pk_conc_msg (pubkey, message),
145
+ public_params::dst);
146
146
}
147
147
148
148
template <typename MsgRange>
149
149
static inline bool verify (const public_key_type &pubkey, const MsgRange &message,
150
150
const signature_type &signature) {
151
- return core_functions ::core_verify (pubkey, core_functions ::pk_conc_msg (pubkey, message),
152
- public_params::dst, signature);
151
+ return basic_functions ::core_verify (pubkey, basic_functions ::pk_conc_msg (pubkey, message),
152
+ public_params::dst, signature);
153
153
}
154
154
155
155
template <typename SignatureRange>
156
156
static inline signature_type aggregate (const SignatureRange &signatures) {
157
- return core_functions ::core_aggregate (signatures);
157
+ return basic_functions ::core_aggregate (signatures);
158
158
}
159
159
160
160
template <typename SignatureRange>
161
161
static inline signature_type aggregate (const signature_type &init_signature,
162
162
const SignatureRange &signatures) {
163
- return core_functions ::core_aggregate (init_signature, signatures);
163
+ return basic_functions ::core_aggregate (init_signature, signatures);
164
164
}
165
165
166
166
template <typename PubkeyRange, typename MsgsRange>
167
167
static inline bool aggregate_verify (const PubkeyRange &pubkeys, const MsgsRange &messages,
168
168
const signature_type &signature) {
169
- return core_functions ::aug_aggregate_verify (pubkeys, messages, public_params::dst, signature);
169
+ return basic_functions ::aug_aggregate_verify (pubkeys, messages, public_params::dst, signature);
170
170
}
171
171
};
172
172
@@ -178,62 +178,62 @@ namespace nil {
178
178
struct bls_pop_scheme {
179
179
typedef SignatureVariant signature_variant;
180
180
typedef typename signature_variant::policy_type policy_type;
181
- typedef typename signature_variant::core_functions core_functions ;
181
+ typedef typename signature_variant::basic_functions basic_functions ;
182
182
183
183
typedef typename policy_type::private_key_type private_key_type;
184
184
typedef typename policy_type::public_key_type public_key_type;
185
185
typedef typename policy_type::signature_type signature_type;
186
186
typedef typename policy_type::pubkey_id_type pubkey_id_type;
187
187
188
188
static inline pubkey_id_type get_pubkey_bits (const public_key_type &pubkey) {
189
- return core_functions ::get_pubkey_bits (pubkey);
189
+ return basic_functions ::get_pubkey_bits (pubkey);
190
190
}
191
191
192
192
static inline public_key_type generate_public_key (const private_key_type &privkey) {
193
- return core_functions ::privkey_to_pubkey (privkey);
193
+ return basic_functions ::privkey_to_pubkey (privkey);
194
194
}
195
195
196
196
static inline signature_type pop_prove (const private_key_type &privkey) {
197
- return core_functions ::pop_prove (privkey, public_params::pop_dst);
197
+ return basic_functions ::pop_prove (privkey, public_params::pop_dst);
198
198
}
199
199
200
200
static inline bool pop_verify (const public_key_type &pubkey, const signature_type &proof) {
201
- return core_functions ::pop_verify (pubkey, public_params::pop_dst, proof);
201
+ return basic_functions ::pop_verify (pubkey, public_params::pop_dst, proof);
202
202
}
203
203
204
204
template <typename PubkeyRange, typename MsgRange>
205
205
static inline bool fast_aggregate_verify (const PubkeyRange &pubkeys, const MsgRange &message,
206
206
const signature_type &signature) {
207
- return core_functions ::fast_aggregate_verify (pubkeys, message, public_params::dst, signature);
207
+ return basic_functions ::fast_aggregate_verify (pubkeys, message, public_params::dst, signature);
208
208
}
209
209
210
210
// protected:
211
211
template <typename MsgRange>
212
212
static inline signature_type sign (const private_key_type &privkey, const MsgRange &message) {
213
- return core_functions ::core_sign (privkey, message, public_params::dst);
213
+ return basic_functions ::core_sign (privkey, message, public_params::dst);
214
214
}
215
215
216
216
template <typename MsgRange>
217
217
static inline bool verify (const public_key_type &pubkey, const MsgRange &message,
218
218
const signature_type &signature) {
219
- return core_functions ::core_verify (pubkey, message, public_params::dst, signature);
219
+ return basic_functions ::core_verify (pubkey, message, public_params::dst, signature);
220
220
}
221
221
222
222
template <typename SignatureRange>
223
223
static inline signature_type aggregate (const SignatureRange &signatures) {
224
- return core_functions ::core_aggregate (signatures);
224
+ return basic_functions ::core_aggregate (signatures);
225
225
}
226
226
227
227
template <typename SignatureRange>
228
228
static inline signature_type aggregate (const signature_type &init_signature,
229
229
const SignatureRange &signatures) {
230
- return core_functions ::core_aggregate (init_signature, signatures);
230
+ return basic_functions ::core_aggregate (init_signature, signatures);
231
231
}
232
232
233
233
template <typename PubkeyRange, typename MsgsRange>
234
234
static inline bool aggregate_verify (const PubkeyRange &pubkeys, const MsgsRange &messages,
235
235
const signature_type &signature) {
236
- return core_functions ::core_aggregate_verify (pubkeys, messages, public_params::dst, signature);
236
+ return basic_functions ::core_aggregate_verify (pubkeys, messages, public_params::dst, signature);
237
237
}
238
238
};
239
239
} // namespace detail
@@ -248,7 +248,7 @@ namespace nil {
248
248
typedef HashType hash_type;
249
249
250
250
typedef detail::bls_mss_ro_policy<curve_type, hash_type> policy_type;
251
- typedef detail::bls_core_functions <policy_type> core_functions ;
251
+ typedef detail::bls_basic_functions <policy_type> basic_functions ;
252
252
};
253
253
254
254
//
@@ -261,7 +261,7 @@ namespace nil {
261
261
typedef HashType hash_type;
262
262
263
263
typedef detail::bls_mps_ro_policy<curve_type, hash_type> policy_type;
264
- typedef detail::bls_core_functions <policy_type> core_functions ;
264
+ typedef detail::bls_basic_functions <policy_type> basic_functions ;
265
265
};
266
266
267
267
enum class bls_scheme_enum { basic, aug, pop };
0 commit comments