// Prover should use this function to compute data for second (last) sigma protocol message.
Prover should use this function to compute data for second (last) sigma protocol message.
// Prover should use this function to compute data for second ( last ) sigma protocol message .
func (cspaillier *CSPaillier) GetProofData(c *big.Int) (*big.Int, *big.Int, *big.Int) {
	t := new(big.Int).Mul(c, cspaillier.proverEncData.R)
	rTilde := new(big.Int).Sub(cspaillier.proverRandomData.R1, t)
	t.Mul(c, cspaillier.proverRandomData.S)
	sTilde := new(big.Int).Sub(cspaillier.proverRandomData.S1, t)
	t.Mul(c, cspaillier.proverEncData.M)
	mTilde := new(big.Int).Sub(cspaillier.proverRandomData.M1, t)
	return rTilde, sTilde, mTilde
}
func ( cspaillier * CSPaillier ) GetProofData ( c * big . Int ) ( * big . Int , * big . Int , * big . Int ) { t := new ( big . Int ) . Mul ( c , cspaillier . proverEncData . R ) rTilde := new ( big . Int ) . Sub ( cspaillier . proverRandomData . R1 , t ) t . Mul ( c , cspaillier . proverRandomData . S ) sTilde := new ( big . Int ) . Sub ( cspaillier . proverRandomData . S1 , t ) t . Mul ( c , cspaillier . proverEncData . M ) mTilde := new ( big . Int ) . Sub ( cspaillier . proverRandomData . M1 , t ) return rTilde , sTilde , mTilde }
Prover should use this function to compute data for second (last) sigma protocol message.
Prover should use this function to compute data for second ( last ) sigma protocol message .
// rTilde = r1 - c * r // sTilde = s1 - c * s // mTilde = m1 - c * m