I think you will find Debian election process interesting for what you are trying to do : https://www.debian.org/vote/2019/vote_001_tally.txt
how does srivasta identify their secret token?
Let's say I wanted to e-mail all of the owners of bookstores in my home town, and have them vote...
What secret would they use with my system to prove that they were one of the owners without revealing their identity?