Python Forensics - Cracking di una crittografia

In questo capitolo impareremo come craccare i dati di un testo recuperati durante l'analisi e le prove.

Un testo normale in crittografia è un normale testo leggibile, come un messaggio. Un testo cifrato, d'altra parte, è l'output di un algoritmo di crittografia recuperato dopo aver inserito il testo normale.

Il semplice algoritmo di come trasformiamo un messaggio di testo normale in un testo cifrato è il file Caesar cipher, inventato da Giulio Cesare per mantenere segreto il testo in chiaro ai suoi nemici. Questa cifra implica lo spostamento di ogni lettera del messaggio "in avanti" di tre posizioni nell'alfabeto.

Di seguito è riportata un'illustrazione demo.

a → D

b → E

c → F

....

w → Z

x → A

y → B

z → C

Esempio

Un messaggio inserito quando esegui uno script Python offre tutte le possibilità dei caratteri, che viene utilizzato per l'evidenza del modello.

I tipi di prove di pattern utilizzati sono i seguenti:

  • Tracce e segni di pneumatici
  • Impressions
  • Fingerprints

Ogni dato biometrico comprende dati vettoriali, che dobbiamo decifrare per raccogliere prove complete.

Il seguente codice Python mostra come è possibile produrre un testo cifrato da testo normale -

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:])

Produzione

Ora controlla l'output di questo codice. Quando inseriamo un semplice testo "Radhika", il programma produrrà il seguente testo cifrato.