Practical Research Projects - Project Description

Project Description

This is a description of a Practical Research Project associated with the PREP course

Project Title

Implementing Cryptographic Protocols for Distributed RSA Key Generation

Quarter

Q1 or Q2 2010

Responsible

Gert Læssøe Mikkelsen.

Second level advisor: Ivan Damgård.

Aims

Project type: Programming + benchmarking of theoretical result.

Some secret keys in cryptography are so sensitive that it is not desirable to store them at one single point. Instead such keys are broken into pieces where a hacker needs to get its hands on all pieces to gain any information on the key. This opens the problem of using such shared keys, to e.g. sign with digital signatures, without collecting all pieces on the same server. It also opens the problem of initially generating the key without the key ever having resided in totality on a single server. The goal of the project is to implement a recent proposal for how to generate such keys for the RSA cryptosystem.

The first aim of this project is to implement a new approach for doing secure multi party computation based on some new secret sharing techniques. When this has been done, this implementation should act as a basis for implementing distributed primality testing and RSA key generation. Protocols for both passive security and active security exists, however, the student(s) is only expected to implement the simple versions with passive security, however it should be noted that this implementation and the project can be extended to handle active security.

The protocols to be implemented in the project are described in [DM10], the student is not expected to fully understand the paper, there will be help offered for understanding the cryptographic theory and concepts of the project.

Reference: [DM10] Ivan Damgård , Gert Læssøe Mikkelsen: Efficient, Robust and Constant-Round Distributed RSA Key Generation. TCC 2010: 183-200 http://www.springerlink.com/content/e1613jj61042782t/fulltext.pdf (accessible from within the university network).

Learning Outcome

The intended learning outcome is that the student becomes able to:

Requirements

Cryptologic Protocol Theory. Experience (or interest) in implementing programs depending on network communication.