Blockchain might not be needed in this scenario. Maybe for laws, but election itself, I don't see yet why.
You could just let everyone make their public keys and let them be known and verifiable publicly ( a list of all the public keys from all the citizens where you need to download it and you can check offline that you and everyone you know is there, this check could be done even automatically). Later you could use something called ring signatures (
https://en.wikipedia.org/wiki/Ring_signature) to ensure voters privacy when casting votes signed with their public keys.
Ron Rivest (R in the RSA) is the guy who has been looking into this for quite some time now. He is the genius for these things.