// Combines partial decryptions provided by decryption servers and returns
// full decrypted message.
// Function verifies zero knowledge proofs and filters out all shares that failed
// verification.
Combines partial decryptions provided by decryption servers and returns
full decrypted message.
Function verifies zero knowledge proofs and filters out all shares that failed
verification.
// Combines partial decryptions provided by decryption servers and returns // full decrypted message . // Function verifies zero knowledge proofs and filters out all shares that failed // verification .
func (tk *ThresholdPublicKey) CombinePartialDecryptionsZKP(shares []*PartialDecryptionZKP) (*big.Int, error) {
	ret := make([]*PartialDecryption, 0)
	for _, share := range shares {
		if share.Verify() {
			ret = append(ret, &share.PartialDecryption)
		}
	}
	return tk.CombinePartialDecryptions(ret)
}
func ( tk * ThresholdPublicKey ) CombinePartialDecryptionsZKP ( shares [ ] * PartialDecryptionZKP ) ( * big . Int , error ) { ret := make ( [ ] * PartialDecryption , 0 ) for _ , share := range shares { if share . Verify ( ) { ret = append ( ret , & share . PartialDecryption ) } } return tk . CombinePartialDecryptions ( ret ) }
Combines partial decryptions provided by decryption servers and returns
full decrypted message.
Combines partial decryptions provided by decryption servers and returns full decrypted message .