Stefan's bachelor's thesis @ TUGraz

View project on GitHub

OpenPGP - a Java implementation

(Stefan's bachelor's thesis @ TUGraz)

Feel free to add suggestions, feedback, concerns, or comments!
(You can do so by creating an issue or comment to a commit/inline, or contact me directly.)


OpenPGP is a non-proprietary protocol for encrypting email using public key cryptography. It is based on PGP as originally developed by Phil Zimmermann. The OpenPGP protocol defines standard formats for encrypted messages and signatures for exchanging public keys. IAIK's set of Java-based tools misses an implementation of PGP. Yet.

Project description


Develop a PGP implementation based on the IAIK toolkit suite.


  • Study RFC 4480 and related background material
  • Implement a class library covering the PGP elements (Key Ids, Keyrings, ...)
  • Implement the different packets
  • Implement en-/decoding
  • Handle Algorithm Preferences
  • Test Interoperability with other implementations
  • Implement a user interface to demo the workings of the library


  • Project files (.zip, cleaned)
  • Documentation (inline, JavaDoc)
  • Readme (getting started)
  • Presentation (10 .ppt slides)

Estimated project schedule

  • Start: ~ Feb 2014
  • Month 1: Reading, IAIK tool evaluation
  • Month 2: Development
  • Month 3: Development, final deliverables


The Institute for Applied Information Processing and Communications (IAIK) is part of the Faculty of Computer Science at Graz University of Technology.

Open Science?

This thesis will be done following the/some open science principles. This basically means, I will try to publish everything I create, and use free/open formats to do so.