Inspiration
When looking through the Google Extension Store, you can find one or two extensions for Caesar Ciphers or Vigenère Ciphers, where you type in the text and receive the encrypted message. However, there didn't seem to be an all-in-one cipher extension that was easy to use. That is, until CipherSleuth!
What it does
Highlight any text you want, right click, and open the CipherSleuth menu. From there, you can choose from a collection of commonly used ciphers and receive a decrypted translation. If you don't know which decryption method to use, simply use the Super Decrypt option, which will run through all the ciphers and give back the correct decrypted message, as well as the decryption method used!
How we built it
CipherSleuth was coded in JavaScript, HTML, and CSS. Google extensions are, conveniently, similar to a normal webpage, but with slight differences due to the interface being a popup and accessing the menu through a right-click.
Challenges we ran into
The biggest challenge was figuring out how to get our Super Decrypt to work. It needed to take into account every single one of the ciphers we had implemented, run English word frequency analysis and generate scores based on how "English-like" the decryption was, and then choose the decryption method associated with the optimal score.
Accomplishments that we're proud of
After a failure to finish at last year's PickHacks, it was very encouraging that we were able to produce a fully-working product in the time allowed that covers many different types of ciphers and can be used literally everywhere on the web.
What we learned
In addition to learning more about JS, HTML, and CSS, much was learned about ciphers, how each one works, and how to implement them into code and integrate them with word frequency analysis, enabling Super Decrypt to choose the correct decryption method. Additionally, we developed a much better system for managing our time throughout the event, a skill we hope to take into future challenges!
What's next for CipherSleuth
We hope to add more and more complex ciphers, improve the ability of Super Decrypt to detect the correct decryption method, and overall add more functionality and features, eventually getting it out on the Web Store!
Log in or sign up for Devpost to join the conversation.