With that said, I'm not convinced that your pseudocode actually works. Specifically, the following doesn't make sense to me:
pos_a = key[0];
pos_b = key[1];
pos_c = key[2];
...
pos_a = key[pos_b] % key_size;
It would be really cool if you posted functioning encrypt() and decrypt() methods to github. Something that people can actually compile/run/analyze. In fact, if you do that get in touch with me and I'll try to crack it.
Thanks! Its been driving me crazy to try to crack it. It cant be this easy right.....?
I thought a lot about the possible starting point for the algorithm, but i found having it just be "unknown" like this was all that was needed. A test to make sure, pos_a, pos_b, pos_c are never the same might be useful. The code obviously needs to be fixed to modulo pos_X never to be larger then the key size.
With that said, I'm not convinced that your pseudocode actually works. Specifically, the following doesn't make sense to me:
pos_a = key[0];
pos_b = key[1];
pos_c = key[2];
...
pos_a = key[pos_b] % key_size;
It would be really cool if you posted functioning encrypt() and decrypt() methods to github. Something that people can actually compile/run/analyze. In fact, if you do that get in touch with me and I'll try to crack it.