Python Forensics: descifrado de un cifrado

En este capítulo, aprenderemos cómo descifrar datos de texto obtenidos durante el análisis y la evidencia.

Un texto sin formato en criptografía es un texto legible normal, como un mensaje. Un texto cifrado, por otro lado, es el resultado de un algoritmo de cifrado obtenido después de ingresar texto sin formato.

El algoritmo simple de cómo convertimos un mensaje de texto sin formato en un texto cifrado es el Caesar cipher, inventado por Julio César para mantener en secreto el texto sin formato de sus enemigos. Este cifrado implica desplazar cada letra del mensaje "hacia adelante" en tres lugares del alfabeto.

A continuación se muestra una ilustración de demostración.

a → D

b → E

c → F

....

w → Z

x → A

y → B

z → C

Ejemplo

Un mensaje ingresado cuando ejecuta una secuencia de comandos de Python brinda todas las posibilidades de caracteres, que se utilizan para evidencia de patrones.

Los tipos de evidencias de patrones utilizados son los siguientes:

  • Huellas y marcas de neumáticos
  • Impressions
  • Fingerprints

Todos los datos biométricos se componen de datos vectoriales, que debemos descifrar para recopilar pruebas completas.

El siguiente código de Python muestra cómo puede producir un texto cifrado a partir de texto sin formato:

import sys

def decrypt(k,cipher): 
   plaintext = '' 
   
   for each in cipher: 
      p = (ord(each)-k) % 126 
      
      if p < 32: 
         p+=95 
         plaintext += chr(p) 
         print plaintext 

def main(argv):
   if (len(sys.argv) != 1): 
      sys.exit('Usage: cracking.py') 
      cipher = raw_input('Enter message: ') 
      
      for i in range(1,95,1): 
         decrypt(i,cipher)
         
if __name__ == "__main__": 
   main(sys.argv[1:])

Salida

Ahora, verifique la salida de este código. Cuando ingresamos un texto simple "Radhika", el programa producirá el siguiente texto cifrado.