Academic research project on cryptography: study of the relevance and optimization of Rainbow Tables.
As part of my bachelor's final project, our team of 4 students delved into the field of cryptography. The goal was to understand, implement, and optimize the Rainbow Table algorithm, a password compromise technique based on succesive hashing.
We developed a complete software solution to generate these tables, store them efficiently, and use them to find clear text from hash (MD5, sha256 ...)
Beyond implementation, we conducted a study on the risks associated with this technique and proposed areas for improvement. Specifically, we worked on task parallelization (Multi-threading) and data structure optimization to reduce both storage footprint and search time.
This approach highlighted disparities between various hashing algorithms and demonstrated that a sufficiently robust password offers effective protection against this technique.