forked from coinbase/cb-mpc
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathschnorr_mp.h
More file actions
30 lines (23 loc) · 705 Bytes
/
schnorr_mp.h
File metadata and controls
30 lines (23 loc) · 705 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#pragma once
#include <stdint.h>
#include <cbmpc/crypto/base.h>
#include <cbmpc/protocol/ec_dkg.h>
#include <cbmpc/protocol/mpc_job.h>
namespace coinbase::mpc::schnorrmp {
using key_t = eckey::key_share_mp_t;
enum class variant_e {
EdDSA,
BIP340,
};
/**
* @specs:
* - schnorr-spec | Schnorr-MPC-Sign-MP
*/
error_t sign_batch(job_mp_t& job, key_t& key, const std::vector<mem_t>& msgs, party_idx_t sig_receiver,
std::vector<buf_t>& sigs, variant_e variant);
/**
* @specs:
* - schnorr-spec | Schnorr-MPC-Sign-MP
*/
error_t sign(job_mp_t& job, key_t& key, const mem_t& msg, party_idx_t sig_receiver, buf_t& sig, variant_e variant);
} // namespace coinbase::mpc::schnorrmp