Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re: XOR decryption

by young perlhopper (Scribe)
on Aug 23, 2000 at 01:14 UTC ( #29116=note: print w/replies, xml ) Need Help??

in reply to XOR decryption

Well, you can use unpack to get the ascii values of the string into an array like: (courtesy of PCB)

@array = unpack("C*", $string);

and then go through the array doing the xoring like this:

foreach $char (@array) { push (@xor_array, ($char ^ (shift @crypt_array))); }
@xor_array now contains the result of all the xoring you did.

That said, I really hope you are just doing this as a learning exercise because this is an incredibly insecure way to do encryption. Even if the xor string (your one time pad) is *truly* random, the algorithm calls for repeating it if you run out. As soon as you do that the cipher text can be cracked easily. Also, if your pad is not truly random, it doesn't matter whether you repeat it or not.

Hope this helps,

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://29116]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (4)
As of 2023-09-22 08:11 GMT
Find Nodes?
    Voting Booth?

    No recent polls found