Python Forensics - łamanie szyfrowania

W tym rozdziale dowiemy się, jak złamać dane tekstowe pobrane podczas analizy i dowodów.

Zwykły tekst w kryptografii to zwykły, czytelny tekst, taki jak wiadomość. Z drugiej strony, zaszyfrowany tekst jest wynikiem algorytmu szyfrowania pobranego po wprowadzeniu zwykłego tekstu.

Prosty algorytm, w jaki sposób zamieniamy zwykłą wiadomość tekstową na zaszyfrowany tekst, to Caesar cipher, wymyślony przez Juliusza Cezara, aby ukryć zwykły tekst przed wrogami. Ten szyfr polega na przesunięciu każdej litery w wiadomości „do przodu” o trzy miejsca w alfabecie.

Poniżej znajduje się ilustracja demonstracyjna.

a → D

b → E.

c → F.

....

w → Z

x → A

y → B

z → C

Przykład

Komunikat wprowadzany podczas uruchamiania skryptu w Pythonie daje wszystkie możliwości znaków, które są używane jako dowód wzorców.

Typy wykorzystywanych dowodów wzorców są następujące:

  • Ślady i oznaczenia opon
  • Impressions
  • Fingerprints

Każde dane biometryczne składa się z danych wektorowych, które musimy złamać, aby zebrać pełne dowody.

Poniższy kod w Pythonie pokazuje, jak można utworzyć zaszyfrowany tekst ze zwykłego tekstu -

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

Wynik

Teraz sprawdź wyjście tego kodu. Kiedy wprowadzimy prosty tekst „Radhika”, program wygeneruje następujący zaszyfrowany tekst.