Best option is paper ballots that are machine-readable and human-readable.
Cryptography doesn't help; what you need are processes which make fraud difficult (for instance, observers with line of site to all ballot boxes from when voting starts until they're counted; cross-checking counts of blank, spoiled, and voted ballot papers before & after voting, translucent ballot boxes that are clearly empty at the start of election day, etc.,)