Hey, I have been working on this for a while, and I can remebr my brother stepped me through this very same alogorithm.
Basicly, it just adds the ascii values of both the characters from the key, and the phrase.
I can encrypt it with this:
def encrypt(key, string):
encoded = ''
for i in range(len(string)):
key_c = ord(key[i % len(key)])
string_c = ord(string[i % len(string)])
encoded += chr((key_c + string_c) % 127)
return encoded
But I can’t seem to remember what we did as far as decrypting. Its difficult to revers a mod 😛
Any ideas?
That’s simple, let’s see how it works. First of all, the encrypted message is obtained by subtracting the key.
How can we obtain the original message? That’s easy, subtract the key in both sides
And here we get:
For more details, please refer to Modular arithmetic, I think it should belong one of group/field/ring. I’m not an expert in math, for further reading, you should check out Number theory. Here is the refined code:
Output