I would only add an asterisk for part 3: whom you voted for ought to be secret
from everyone other than you. But you should be able to verify who you voted for.
Here's one way that a crypto-voting protocol might give you this right. It provides for a separate ballot for each race, and each ballot has a perforation down the middle so you can separate it into two halves. The candidates are randomly ordered, with their names on the left-hand side of the perforation and your vote on the right-hand side. When you vote, the machine tears off the left-hand side and returns it to you, while it scans in the right-hand side, and then locks it in a secure box for auditing. Then your vote is recorded in a public database with your name and which-number you voted for, but the correspondence between that number and that name is only privately recorded on the half of the ballot that you retain. So you can verify that the database says 3 and that was the Green Party candidate who you voted for; but nobody else who sees the 3 on the web site knows directly what it means.
The protocol might then do two more things with this two-sided randomized ballot:
(1) Create plausible deniability. This is done by putting other left-hand-sides of other torn ballots into the voting booth, for you to choose from. Even if your boss demands that you vote Libertarian and goes so far as to hire goons who mug you for your piece of paper on your way out, that boss cannot prove that you didn't just take a left-hand-side from the voting booth which "proves" that you voted Libertarian, even though you voted Green. Suddenly the only people who can buy votes are state-level conspiracies who can put cameras in the polling stations etc. It may sound weird that you're making it hard for someone to sell their own votes, but it makes it hard also for anyone else to thereby buy them.
(2) Create confidence in the two-sided ballot. The biggest point of lost confidence in the two-sided ballot is that when you see 3, you think that you know who you voted for, but who's to say that these numbers match up with the votes that are stored in encrypted form on the ballot? You will want to therefore let someone decrypt a ballot or two at their leisure, to build up this confidence. However if you do, the thing is decrypted and no longer suitable for voting, so it must be immediately destroyed. So that's the end result; you have this thing called the Checker which issues a network request to the election authority asking for a ballot to be decrypted; when it is, its right-hand side is simultaneously shredded. It tells you the order that's on the left-hand side; you verify that against the actual left-hand side. Boom, there is no longer any tampering with the mapping between names and encrypted data, at least not on a large scale, by anyone who is not the central election authority themselves. If there is, people will hopefully notice and complain loudly.