Ver Mensaje Individual
  #5 (permalink)  
Antiguo 07/02/2015, 21:51
shikamarucb
 
Fecha de Ingreso: febrero-2014
Mensajes: 107
Antigüedad: 10 años, 2 meses
Puntos: 0
Pregunta Respuesta: Cifrado de informacion en C++

Cita:
Iniciado por razpeitia Ver Mensaje
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'.
Mmm ya te entendi lo que me quieres decir; pero digamos por ejemplo que el cifrado responde a una clave "xxx" y que por ejemplo el algoritmo obedeciera de forma, que a los bytes pares se le sumara la longitud de la clave en este caso 3 bytes de tamaño, para cada byte par que contenga el archivo se le sume 3 a su valor; si el cifrado obedeciera a una clave por lo menos seria un poco mas dificil descifrarla, no?, suponiendo en este caso el segundo byte='a' y el tercer byte tambien es= 'a', pero solo al segundo le sumaria 3 en este caso quedaria 'd', de tal forma que 'd'-->'a' y 'a'-->'a'.....????