GSoC/GCI Archive
Google Summer of Code 2013

Openwall

Web Page: http://openwall.info/wiki/ideas

Mailing List: http://www.openwall.com/lists/

Openwall's primary focus is in development of information security related free software, information security research, publications, and community activities aimed at making existing free software safer to use.

A major one of our software projects is Openwall GNU/*/Linux (or simply Owl), a security-hardened Linux distro for servers.

Another sub-project is John the Ripper, a popular Open Source and cross-platform password cracker (password security auditing tool). Its homepage has exceeded 18 million hits. Several JtR tasks are being considered for GSoC, including enhancements to GPU support and making JtR work "against" more kinds of "targets".

Finally, we have many smaller and/or new project ideas, and we welcome your own creative and relevant ideas.

Please check out our ideas page for the rationale behind these projects and (a bit) more detail, then approach us with questions if interested.

Projects

  • Implementation of candidate password generation on GPU for fast hashes. This project aims at eliminating the bottlenecks associated with password generation on CPU for fast hashes by producing the candidate password locally on GPU .
  • Low-level GPU programming for John the Ripper John the Ripper is the best open-source password cracker. Currently, John the Ripper has partial support for GPGPU computing. In some cases there are limitations in OpenCL that yield only sub-optimal results, similar to a CPU. There might be room for improvements using low level GPU computing, where we aren't bound by such limitations. This project will investigate how the speed of password cracking can be improved using the AMD GCN architecture. To work with the GCN architecture an assembler needs to be created. One possible solution is to use this assembler to patch already existing kernels with more efficient code. Another approach would be patching the kernels at run-time, for example when the kernel needs to be specialized for a given salt value. We might need a language that is slightly higher level than just plain assembly. Some support for structures like if/else statements and loops might be convenient. If time permits, the end result would be something similar to qhasm with GCN support.
  • Support for coprocessor boards for John the Ripper In this project I will add Epiphany support to scrypt code using a Parallella board.
  • Support for coprocessor boards for John the Ripper bcrypt on Epiphany and on Xilinx FPGA