By Isaiah Dicristoforo, Information Technology
Advisor: Delmer Nicholson
Abstract: The goal of this project was to create a password cracking tool and measure its effectiveness when deployed on a high-powered server. The password cracking tool was built using the Java FX framework and implements various multi-threading techniques to maximize the speed at which it cracks passwords. The password cracking tool was also created to deliver informative results to its end-user and contains a comprehensive interface that provides statistics about the passwords that the tool cracks. By performing identical tests on a laptop and the high-powered server, the performance increase of running the software on the server was able to be measured. Attempts were made to further increase the performance of the password cracker by executing code on the server's graphics processing units (GPUs). Experimentation with several libraries built for Java GPU programming resulted in the successful implementation of basic Java code that could run on a GPU; however, several limitations prevented the use of GPU programming for the password cracking software. Ultimately, however, the software developed for this project turned out to be both a fast password cracker and a beneficial tool for providing analysis about the characteristics found in cracked passwords.