I'm not a cryptography expert, but this seems like it falls into this area.
Imagine I want to design an election system (senate race for example) where I send the exact same ballot of 100 candidates to every voter. Each voter selects their preferences (can vote for multiple candidates, including 0 or all). Each voter then communicates back to the ballot tallying system some information privately computed from their preferences (any algorithm allowed, including random values).
The ballot tallying system knows what each voter communicated back and from that, it should be able to determine approximate preferences across a large number of voters, but should not be able to determine anything about the preference of any individual voter. This should be true, even if there are multiple rounds of voting with different ballots: ie: it shouldn't be possible to determine party affiliation of the individual voter.
Is this possible to construct? Is there studied research on something like this?