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.