If you want to encode a message, then click encode. If you don’t know what a cipher alphabet is, then just use the default, by typing in d. If you do know what it is, you can randomize it, or type a custom cipher alphabet in. The instructions on what letters to use will be on screen. Then, after this step, type the message you want to encode. The output shown on screen (with the two list items) is as follows: The 1st item is the encoded text. The 2nd item is the cipher alphabet. If you entered "d", don't worry about it. Just use "d" when decoding it as well. If you want to decode a message, first click decode, and enter the cipher alphabet into the text box. Again, if you don’t know what this is, just assume the person who encoded this also entered “d” when encoding it, so just enter “d”. Of you do know what it is, paste the whole thing into the text box, or if it is just the alphabet, enter “d” for default. Afterwards, enter the encoded text (it should look like gibberish) inside the text box. And boom, it’s decoded!
This is a complete remake of my first version that I made a few years back, and I changed everything except the layout of the buttons. This idea was forged in my head when I got a little bored, and wondered if converting text to a number and then converting it back to text would make it harder to decode, and it turns out that it works! But implementing this in code took roughly 5 hours. Hey, at least it worked in the end, instead of me wasting all of this time (like many times before in my scratch career oops) Note 1: Capitalization is not accounted for here, because the string system in scratch cannot differentiate capital and lowercase. Note 2: This project is good at emulating gibberish, because it adds in a vowel every third letter, and the two consecutive letters can also possibly be a vowel as well, meaning it is more readable and sounds more weird. Hehe, very sneaky! Note 3: This encoding works by turning the message text into its corresponding number for every single letter, based on the location/position of the letter in the cipher alphabet. Then, it creates three letters, one being a random vowel, the other two being random letters of any kind (or a space), and it makes these three letters’ numbers add up to the corresponding number for that letter in the cipher alphabet from the beginning (And this is randomized, which means if you encode the same sentence with the same cipher alphabet, the output will NOT be the same! Pretty cool, right?), so for every input letter, there will be 3 letters outputted. Also, the number is passed through the mod function, so if the sum of the three letters was 37 (Veritasium reference lol) for example, it would just mod 27 (26 letters + space character), resulting in 10, which if you were using the regular alphabet, is J. Note 4: The cipher alphabet in this project doesn’t just replace every letter with its corresponding letter, it also changes the math part and what combinations of letters are required to create a certain letter, meaning it is double-ciphered on a much deeper level. So normal brute force doesn’t work as well. And technically, you can have two different cipher alphabets for the two processes comprising of the encoding process. But I have not implemented this in the code. Anyways, it’s really cool!