Electronic voting feasibility

Paul Rubin http
Fri Sep 10 08:33:32 CEST 2004

"Greg  Steffensen" <greg.steffensen at gmail.com> writes:
> I'm designing a web portal for universities (a free software, by/for
> students thing), and I'm considering including an electronic voting
> component.  The site is cute, but I'd like the internet voting
> component to be close to the real deal,as well as easy to install, use
> and verify.

What is going to be voted on?  Are you going to poll students about
their favorite color of socks?  Or are you going to have real elections
where there is enough at stake that you have to be concerned about
serious attempts to rig the polling?

> Are there any technical reasons that Python would be a poor choice for
> this?  I have no illusions that its possible to build a perfect system,
> but would Python be more vulnerable than C or Java for some reason?
> I'm not a security guru, but it seems to me that the security of the
> interpreter is meaningless next to the security of the os kernel (the
> core of the system involves a series of nodes- election observers-
> taking an encrypted package, encrypting it again, and passing it on...
> the disk is never touched), so choice of language is largely arbitrary.
> Is this wrong?  

Everything you say above is correct.  

> Are there reasons to choose/avoid Python?

As compared with other languages, Python is as good a choice as any.
But the whole concept of internet voting, at least for high-stakes
elections (like, say, the US Presidential election), is fundamentally
unsound and should be avoided.  For lower-stakes elections it can be
done reasonably securely and convincingly, if the implementers are
honest, and if the voters can be persuaded to trust the implementers.

More information about the Python-list mailing list