INNER CODE UNIT · Go

verifyMtA

taurushq-io/multi-party-sig · internal/mta/mta_test.go:43

	verifyMtA := func(Di, Dj *paillier.Ciphertext, betaI, betaJ *saferith.Int) {
		alphaI, err := ski.Dec(Dj)
		require.NoError(t, err, "decryption should pass")
		alphaJ, err := skj.Dec(Di)
		require.NoError(t, err, "decryption should pass")

		gammaI := alphaI.Add(alphaI, betaI, -1)
		gammaJ := alphaJ.Add(alphaJ, betaJ, -1)
		gamma := gammaI.Add(gammaI, gammaJ, -1)
		gammaS := group.NewScalar().SetNat(gamma.Mod(group.Order()))
		assert.Equal(t, c, gammaS, "a•b should be equal to α + β")
	}

	{
		Ai, Aj := aiScalar.ActOnBase(), ajScalar.ActOnBase()
		betaI, Di, Fi, proofI := ProveAffG(group, hash.New(), ai, Ai, Bj, ski, paillierJ, zk.Pedersen)
		betaJ, Dj, Fj, proofJ := ProveAffG(group, hash.New(), aj, Aj, Bi, skj, paillierI, zk.Pedersen)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…