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.