Reasonable election systems cannot make manipulation impossible. However, they can make manipulation computationally infeasible.
It’s time for elections here in Portugal and interestingly the ACM Communications has an article on how to protect elections by the use of complexity (computational complexity). The article is fun to read going through several systems of voting and several approaches to manipulate and protect elections.
It is interesting to see in this clear way the ways elections systems are flawed and where the vector of attack is for someone that thinks about controlling some election process. When a voter thinks he is being part of a democratic process, he should think again after reading this article. Elections systems are not democratic, they are a construction made by men, in a way that best served some interests at some particular point in time. As so they are exposed to terrific manipulation schemes and our only hope is to make the system so difficult to manipulate that it deters those forces from trying.