multi-threaded encryption

Christian Bienia cbienia at CS.Princeton.EDU
Tue Feb 20 03:20:44 CET 2007


I'm a computer science grad student at Princeton University and
assistant instructor for the course COS 598A "Parallel Architecture &
Programming". We're considering to offer GnuPG as a parallelization
project to the students this semester.

Our idea is to let a small number of students parallelize GnuPG with
pthreads with some help and guidance from my side. After the
parallelization, GnuPG will support encryption / decryption of a single
stream with multiple CPUs (instead of mere thread-safety or
multi-processing). Obviously, some cipher modes add dependencies between
blocks which would make it very difficult to parallelize them
efficiently, so the work would mostly focus on cipher modes such as CTR
and stream ciphers. The goal of the project is to get a version of GnuPG
which scales well up to 64 CPUs. We can submit the changes so they can
eventually be merged with the GnuPG main distribution if there's
interest in them.

Before we can recommend the project, I wanted to get some feedback on
the plausibility and feasibility of the project. How difficult would it
be to implement the changes? And is there need for a parallel GnuPG?

- Chris

More information about the Gnupg-devel mailing list