The two text having relation as "\x10\x11" → "\x90\x91" (80+10) will have relation after encryption/decryption also in RC4. Following code clearly describes the problem I am mentioning.
from Crypto.Cipher import ARC4
key = '12345678'
obj1 = ARC4.new(key)
obj2 = ARC4.new(key)
d1= obj1.decrypt('\x01\x02\x03\x04\x05\x06')
d2= obj2.decrypt('\x81\x82\x83\x84\x85\x86')
p1='';p2=''
for i in d1:
if ord(i)>=128: p1+=chr(ord(i)-128)
else: p1+=chr(ord(i))
for i in d2:
if ord(i)>=128: p2+= chr(ord(i)-128)
else: p2+=chr(ord(i))
print p1==p2
output: True
I mean if i have two ciphers that are related with (0x80) 128-distance, I get some relation in decrypted outputs. I tried it many times and got the same replation with respect to the ciphers’ characters related as +-7F. What is the reason behind it?