File tree Expand file tree Collapse file tree 1 file changed +4
-20
lines changed Expand file tree Collapse file tree 1 file changed +4
-20
lines changed Original file line number Diff line number Diff line change 11#include < nil/crypto3/algebra/fields/bls12/base_field.hpp>
22#include < nil/crypto3/algebra/curves/bls12.hpp>
3- #include < nil/crypto3/algebra/algorithms/pair .hpp>
3+ #include < nil/crypto3/pubkey/detail/bls/bls_basic_functions .hpp>
44
55using namespace nil ::crypto3;
66
77[[circuit]] bool verify_signature (
88 typename algebra::fields::bls12_base_field<381 >::value_type hashed_msg,
99 typename algebra::curves::bls12<381 >::template g2_type<>::value_type pubkey,
10- typename algebra::curves::bls12<381 >::template g1_type<>::value_type sig) {
11-
12- typename algebra::curves::bls12<381 >::template g1_type<>::value_type msg_point = __builtin_assigner_hash_to_curve (hashed_msg);
13-
14- // __builtin_assigner_exit_check(__builtin_assigner_is_in_g1_check(sig));
15- // __builtin_assigner_exit_check(__builtin_assigner_is_in_g2_check(pubkey));
16-
17- typename algebra::curves::bls12<381 >::template g2_type<>::value_type g2_group_generator = algebra::curves::bls12<381 >::template g2_type<>::one ();
18-
19- typename algebra::curves::bls12<381 >::gt_type::value_type pairing1 = algebra::pair<algebra::curves::bls12<381 >>(sig, g2_group_generator);
20- typename algebra::curves::bls12<381 >::gt_type::value_type pairing2 = algebra::pair<algebra::curves::bls12<381 >>(msg_point, pubkey);
21-
22- bool are_equal = 0 ;
23- for (std::size_t i = 0 ; i < 12 ; i++) {
24- are_equal = are_equal && (pairing1[i] == pairing2[i]);
25- }
26- // __builtin_assigner_exit_check(are_equal);
27-
28- return are_equal;
10+ typename algebra::curves::bls12<381 >::template g1_type<>::value_type sig
11+ ) {
12+ return pubkey::detail::bls_basic_functions::verify (hashed_msg, pubkey, sig);
2913}
You can’t perform that action at this time.
0 commit comments