The full title of my bachelor thesis is “Development of an Android App for One-Time Password Generation & Management“, which was shortened for the title. I developed an Android app that allows the user to carry and manage any number of OTP lists, specifically OTP lists created by the OTPW Package written by Markus Kuhn. The thesis consist of the app itself as well as a theoretical document covering One-Time Passwords in general, Random Number Generation, the Android platform, app development for Android and, last but not least, the actual app development itself.

The app utilizes the GNU Crypto library. Alas, the Android Development Tools (ADT in short) could not convert the JAR library file provided by the GNU Crypto website into an Android-compatible JAR file, so I had to include the source of the GNU Crypto project itself. To limit the impact on the size of the app, I only included what was needed by my app (the hashing facility) and left out the rest of the GNU Crypto project.

Though primarily written to manage and generate lists of the OTPW package right now, the app architecture was designed with extensibility in mind. It should not be too hard to add support for another OTP-System. The basic components are well encapsulated and the generation facility was written in a way that allows new classes to be added to handle other OTP systems. Only the generation GUI needs to be extended to accommodate for other possible OTP-Systems.

Future development

For the time being I won’t continue working on this app. Also, I did not distribute it in the Android Market as you need a credit card to do so and – though some might not believe it – I don’t have one. If you are interested in continuing the development of this app, feel free to contact me so we can talk about it. I’m sure we will be able to come to an agreement.



It was written to the best of my knowledge, though I can’t guarantee it’s perfectly free of errors. Furthermore, the disclaimer of this blog applies.