Who hands out the private keys? How are we verifying they’re going to legitimate voters? They don’t need to capture anything if they can just make voters up.
If you’re handing out private keys it’s a database. There has to be some list of voters that get keys, that list is hackable.
One way registration could work is that you verify your address through some method. The registrar would take your address information, and your public key, and hash the address information to make you have not registered before. Obviously you could cheat by altering your address slightly and registering again. But there are ways to canonicalize the address. Nothing in registration is foolproof or cheat proof.