Python Forensics - Eine Verschlüsselung knacken

In diesem Kapitel erfahren Sie, wie Sie Textdaten knacken, die während der Analyse und des Beweises abgerufen wurden.

Ein einfacher Text in der Kryptographie ist ein normal lesbarer Text, z. B. eine Nachricht. Ein Chiffretext hingegen ist die Ausgabe eines Verschlüsselungsalgorithmus, der nach der Eingabe von Klartext abgerufen wird.

Ein einfacher Algorithmus, wie wir eine einfache Textnachricht in einen Chiffretext verwandeln, ist der Caesar cipher, erfunden von Julius Caesar, um den Klartext vor seinen Feinden geheim zu halten. Bei dieser Chiffre wird jeder Buchstabe in der Nachricht "vorwärts" um drei Stellen im Alphabet verschoben.

Es folgt eine Demo-Illustration.

a → D.

b → E.

c → F.

....

w → Z.

x → A.

y → B.

z → C.

Beispiel

Eine Nachricht, die beim Ausführen eines Python-Skripts eingegeben wird, bietet alle Möglichkeiten von Zeichen, die für Musterbeweise verwendet werden.

Folgende Arten von Musternachweisen werden verwendet:

  • Reifenspuren und Markierungen
  • Impressions
  • Fingerprints

Alle biometrischen Daten bestehen aus Vektordaten, die wir knacken müssen, um vollständige Beweise zu sammeln.

Der folgende Python-Code zeigt, wie Sie einen Chiffretext aus einfachem Text erstellen können:

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

Ausgabe

Überprüfen Sie nun die Ausgabe dieses Codes. Wenn wir einen einfachen Text "Radhika" eingeben, erzeugt das Programm den folgenden Chiffretext.