So I was playing wordle a few days ago and may a joke about beating wordle being like cracking a secret code...
Then I thought it would be funny to make a wordle based encryption algorithm...
Then I realized it could actually do it, so I did.
What it does
So it takes in a word, which is similar to the daily word on wordle and a key, which is similar to you guesses and gives you back a string of color squares, similar to when you share your wordle results, as your encrypted data.
Then the decryption takes in the string of color squares, and solves the wordle using the key as the guesses and the encrypted data as the results from wordle to determine the 5 letter string. For data over 5 ascii characters, the data is split into chunks of 5 characters before encryption.
How we built it
Encryptle was built in java without any libraries using a bunch. It manipulated the individual characters in the string to handle the encryption and decryption.
Challenges we ran into
Apparently those unicode colored squares are all different lengths of characters in java, even though they are actually only one character, so I had to write my own handlers and methods for working with the characters. Also, my original approach was too intensive and was crashing my computer, but my second attempt is actually really fast and does not use much performance at all.
I also have a UI for testing it out, but I though a CLI would be more fun to write, and I have a CLI for trying it out, but in both eclipse and window command prompt, the squares render in black and white with different shading & sizes, hence copy and pasting my output into google docs in my video.
Accomplishments that we're proud of
I have really struggled to work with actually encryption libraries lately, much less rolling my own, and I definitely didn't expect to be able to make something cryptographically secure. I'm also proud of the algorithms I wrote because they are relatively well optimized and my algorithms are usually a mess.
What we learned
I learned a bunch about writing algorithms better, as well as a ton about java's data structures, mostly from all of the times when they did not work how I expected at all. I also learned a fair bit about string manipulation that I never knew I even needed to know.
What's next for Encrpytle
I'm going to port Encryptle to a web app and put it on my website so people can play with it, because it is a pretty fun novelty.
Log in or sign up for Devpost to join the conversation.