I haven't fully figured out a proof, but my intuition is that the following statement is true:
Encrypting each byte with modulo arithmetic is secure if and only if encrypting each byte with xor is secure.
They're both plaintext byte + key byte → cyphertext byte mappings such that if you know any two of the bytes, the third can be calculated deterministically with no outside factors. I'm pretty sure that any algorithms where that is true are essentially equivalent from a security standpoint.
Xor is just fast and trivially easy to implement in Perl.
Encode (plaintext is the string "txt" and key is the string "key"):
$ perl -MMIME::Base64=encode_base64 -E'say encode_base64(shift^shift)'
+ txt key
Hx0N
Decode: (cyphertext is "Hx0N" and the key is still the string "key")
$ perl -MMIME::Base64=decode_base64 -E'say decode_base64(shift)^shift'
+ Hx0N key
txt
|