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,
	})

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…