Python Forensics - Cracking un cryptage

Dans ce chapitre, nous allons apprendre à casser des données textuelles récupérées lors de l'analyse et des preuves.

Un texte brut en cryptographie est un texte lisible normal, tel qu'un message. Un texte chiffré, en revanche, est la sortie d'un algorithme de chiffrement récupéré après avoir saisi du texte brut.

L'algorithme simple de la façon dont nous transformons un message en texte brut en texte chiffré est le Caesar cipher, inventé par Jules César pour garder le texte brut secret de ses ennemis. Ce chiffre consiste à déplacer chaque lettre du message «vers l'avant» de trois places dans l'alphabet.

Voici une illustration de démonstration.

a → D

b → E

c → F

....

w → Z

x → A

y → B

z → C

Exemple

Un message entré lorsque vous exécutez un script Python donne toutes les possibilités de caractères, qui est utilisé pour la preuve de modèle.

Les types de preuves de modèle utilisés sont les suivants:

  • Traces et marques de pneus
  • Impressions
  • Fingerprints

Chaque donnée biométrique comprend des données vectorielles, que nous devons déchiffrer pour recueillir des preuves à toute épreuve.

Le code Python suivant montre comment vous pouvez produire un texte chiffré à partir de texte brut -

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

Production

Maintenant, vérifiez la sortie de ce code. Lorsque nous entrons un texte simple "Radhika", le programme produira le texte chiffré suivant.