Python Forensics - Memecahkan Enkripsi

Dalam bab ini, kita akan belajar tentang memecahkan data teks yang diambil selama analisis dan bukti.

Teks biasa dalam kriptografi adalah teks normal yang dapat dibaca, seperti pesan. Teks sandi, di sisi lain, adalah keluaran dari algoritme enkripsi yang diambil setelah Anda memasukkan teks biasa.

Algoritma sederhana tentang bagaimana kita mengubah pesan teks biasa menjadi teks sandi adalah Caesar cipher, diciptakan oleh Julius Caesar untuk merahasiakan teks biasa dari musuh-musuhnya. Sandi ini melibatkan pengalihan setiap huruf dalam pesan "maju" sebanyak tiga tempat dalam alfabet.

Berikut adalah ilustrasi demo.

a → D

b → E

c → F

....

w → Z

x → A

y → B

z → C

Contoh

Pesan yang dimasukkan saat Anda menjalankan skrip Python memberikan semua kemungkinan karakter, yang digunakan untuk bukti pola.

Jenis bukti pola yang digunakan adalah sebagai berikut -

  • Jejak dan Tanda Ban
  • Impressions
  • Fingerprints

Setiap data biometrik terdiri dari data vektor, yang perlu kita pecahkan untuk mengumpulkan bukti lengkap.

Kode Python berikut menunjukkan bagaimana Anda dapat menghasilkan teks sandi dari teks biasa -

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

Keluaran

Sekarang, periksa keluaran kode ini. Saat kita memasukkan teks sederhana "Radhika", program akan menghasilkan teks sandi berikut.