Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/02/2015, 10:58
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 2 meses
Puntos: 1360
Respuesta: Cifrado de informacion en C++

Supón que yo genero el siguiente archivo. (Usare python por simplicidad).

Código Python:
Ver original
  1. with open("mensaje.txt", 'wb') as f:
  2.     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 original
  1. with open("mensaje_encriptado.txt", 'rb') as f:
  2.     keys = f.read()
  3.     values = ''.join(chr(i) for i in range(256))
  4.     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
  1. # Continuacion del programa de arriba
  2. with open("mensage2_encriptado.txt", 'rb') as f:
  3.     data = f.read()
  4.  
  5. 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'.