School of
Computer Science
and Communication
KTH / CSC / TCS / Douglas Wikström / Degree Projects

Degree Projects

If you want to do your degree project (sv. examensarbete) in cryptography specifically and you are already in contact with an industrial partner, then please send me an email containing a brief description of your project proposal.

If you are simply looking for a supervisor for a project in computer science, then you should contact Ann Bengtson.

Any projects defined by myself are posted below and also on the page for degree projects of the TCS group. On the latter page you can also find the degree projects defined by other members of the TCS group.

Degree Projects In Cryptography

Preferential Voting With Mix-Nets

In some countries, the voter does not give a vote for a single candidate. Instead it ranks the candidates or a subset of the candidates on its ballot.

To decide who wins the elections we think of each ballot as a stack. We then tabulate the election as if the top element of each stack was the single vote given by the voter. If there is a majority vote for some party, then it wins. Otherwise we pop the stacks where the top element is a vote for the party with the smallest number of votes. This candidate is now eliminated and removed from all stacks. We proceed in this way until the winner is identified. (There are variations of this tabulation procedure.)

A mix-net is a protocol executed by a number of parties that takes a list of encrypted votes as input and outputs the votes in random order without leaking anything else. Thus, the correspondence between inputs and outputs is broken.

To implement preferential voting using a mix-net, the obvious idea is to simply view a ranking as a vote, use the mix-net and then do the preferential tabulation as outlined above on the output from the mix-net. Unfortunately, this is bad idea when the number of candidates is moderately large. The problem is that a voter may be forced, or paid, to use a particular ranking that is unlikely to be used by anybody else, thus allowing the adversary to verify that the voter voted in a particular way. This is sometimes called the "Italian attack". Thus, researchers have tried to come up with more complex protocols for tabulation for preferential voting.

The goal of the project is to:

  1. Study cryptographic protocols for finding the winner(s) in preferential voting systems based on mix-nets and possibly improve them.
  2. Implement one of these protocols. There is an ongoing implementation project for mix-nets here that should be used as the starting point.

To successfully complete this project the you need a strong background in mathematics/theoretical computer science, as well as in programming. Preferably, you should have completed the course Foundations in cryptography or something equivalent.

If you are interested, then please email Douglas Wikström at

(If you can read a little Swedish, then you can try to mount an "Italian attack" against the Swedish election scheme, which is defined by Vallagen!)

Published by: Douglas Wikström <>
Updated 2010-11-15