Re: Waiting for the cracker!
XOR encryption like this is not very secure.
Think about it like this:
You say that W is XoRed with S,2,y, which makes it more secure, but
W XOR S XOR 2 XOR Y is no more secure than W XOR 8, because
Code:
W = 87 = 1010111
S = 83 = 1010011
2 = 50 = 0110010
Y = 89 = 1011001
------------------
If we XOR all of those together, we get 1101111
Code:
W = 87 = 1010111
8 = 56 = 111000
-----------------
If we XOR these two together, we get 1101111
W XOR S XOR 2 XOR Y = W XOR (S XOR 2 XOR Y), so to crack it instead of figuring out S,2, and Y, a cracker would have to only figure out the final value of S XOR 2 XOR Y which is 8 and XOR that with W.
Building an application to hack this encryption would be pretty easy, especially if I know that the encrypted value was originally text. I could simply build an algorithm to XOR all values (1 to 256) with the first character. I could then narrow down which are likely choices (i.e. the XoR returns something in the clear text range). I then do that for each subsequent character. I will eventually have a small alphabet for each character to try, and that will result is much fewer permutations that I need to brute force.
Also, since your input string and encrypted string are XORs they have the same number of characters. So I know the exact size of your input string, which can help me determine if I am on the right track.
Finally, if I used this to encrypt text and I used the same key on two different text inputs and they started out the same (i.e. two sentences starting with the word "the"), the first four characters would be encrypted the exact same way.
My suggestion to you, if you want something to go into the code bank would be to utilize some of the built in cryptography methods in the .net environment. They are located in the system.Security.Cryptography class.
Re: Waiting for the cracker!
Thanks Negative0 you are absolutely right, it can be cracked very easily. Thanks for your input!