It is possible to have a system that works as follows:
1. People vote on paper ballots by filling in an oval next the candidate they wish to vote for. They fill the oval with a marker provided by the election officials.
2. These ballots can be counted by hand, but they can also be counted by optical scan machines to get fast results. Optical scan machines do not have to be computerized--they have been around since the 1950s long before there were computers small enough and/or cheap enough to use for this. No computer means no software to get hacked.
Almost half of registered voters live in districts that already use that kind of ballot and already count it with optical scan machines.
3. By the use of some nifty chemistry and some clever cryptography an end-to-end auditable voting system can be overlayed on this.
End-to-end auditable voting systems (also called end-to-end voter verifiable systems) have these properties:
• Individuals can verify that their ballot was included in the final count and they vote was attributed correctly.
• Any third party can verify that the ballots were counted correctly. The candidates, the parties, news organization, civil rights groups, and anyone else can check.
• Voters cannot prove to third parties who they voted for. This is called coercion-resistance.
Here is such a system, developed by several well known cryptographers including David Chaum and Ron Rivest [1]. Here's a paper in HTML with the details [2]. Here's a PDF of that paper [3]. Here's a paper showing that it is coercion-resistant.
This is compatible with existing optical scan machines, so the places already using them don't need new machines.
The magic happens in printing the ballots. Inside each oval they print a code in a special invisible ink. When the special marker provided by the election officials is used to fill in the oval that code becomes visible.
If you want to be able to later verify that your particular vote was included and counted correctly you memorize or write down that code. If you don't care about this you can ignore it.
After the voting is done officials can publish all the codes that were revealed and voters can check to make sure their code was included. They officials publish other information that through the use of clever cryptographic techniques allows anyone to use the published codes to verify the totals for all the candidates without revealing the mapping from codes to candidates.
This gives us all the good points of paper systems that can be hand counted, plus fast machine counting that can be done with simple single purpose machines that have no software to be hacked, yet with the kind of end-to-end auditing that usually requires computerized voting systems to achieve. And it is inexpensive to implement and operate.
[1] https://en.wikipedia.org/wiki/Scantegrity
[2] https://www.usenix.org/legacy/event/evt08/tech/full_papers/c...
[3] https://www.usenix.org/legacy/event/evt08/tech/full_papers/c...
[4] https://eprint.iacr.org/2010/502.pdf