Supón que yo genero el siguiente archivo. (Usare python por simplicidad).
Código Python:
Ver originalwith open("mensaje.txt", 'wb') as f:
f.write(''.join(chr(i) for i in range(256)))
Tiene los bytes del 0 al 255 escritos en ese orden.
Si yo encripto ese archivo con tu programa y obtengo el archivo "mensaje_encriptado.txt". Con ese archivo yo puedo generar una tabla, para descriptar todos los demás mensajes que tenga.
Código Python:
Ver originalwith open("mensaje_encriptado.txt", 'rb') as f:
keys = f.read()
values = ''.join(chr(i) for i in range(256))
table = dict(zip(keys, values))
Supón que encriptas otro mensaje, "mensage2_encriptado.txt" yo no necesito ninguna clave, contraseña, ni tu programa para desencriptar.
Código Python:
Ver original# Continuacion del programa de arriba
with open("mensage2_encriptado.txt", 'rb') as f:
data = f.read()
print ''.join(table[c] for c in data)
Esto es porque si yo se que si pongo 'e' y tu programa regresa 'x', y siempre que pongo 'e' regresa 'x' puedo asumir que 'e' -> 'x' y viceversa 'e' <- 'x'.