INNER CODE UNIT · Go
ProveAffG
taurushq-io/multi-party-sig · internal/mta/mta.go:26
func ProveAffG(group curve.Curve, h *hash.Hash,
senderSecretShare *saferith.Int, senderSecretSharePoint curve.Point, receiverEncryptedShare *paillier.Ciphertext,
sender *paillier.SecretKey, receiver *paillier.PublicKey, verifier *pedersen.Parameters) (Beta *saferith.Int, D, F *paillier.Ciphertext, Proof *zkaffg.Proof) {
D, F, S, R, BetaNeg := newMta(senderSecretShare, receiverEncryptedShare, sender, receiver)
Proof = zkaffg.NewProof(group, h, zkaffg.Public{
Kv: receiverEncryptedShare,
Dv: D,
Fp: F,
Xp: senderSecretSharePoint,
Prover: sender.PublicKey,
Verifier: receiver,
Aux: verifier,
}, zkaffg.Private{
X: senderSecretShare,
Y: BetaNeg,
S: S,
R: R,
})