Kriptografi dengan Proses Python - XOR
Dalam bab ini, mari kita pahami proses XOR beserta pengkodeannya dengan Python.
Algoritma
Algoritma XOR enkripsi dan dekripsi mengubah teks biasa dalam format byte ASCII dan menggunakan prosedur XOR untuk mengubahnya menjadi byte tertentu. Ini menawarkan keuntungan berikut kepada penggunanya -
- Perhitungan cepat
- Tidak ada perbedaan yang ditandai di sisi kiri dan kanan
- Mudah dipahami dan dianalisis
Kode
Anda dapat menggunakan potongan kode berikut untuk melakukan proses XOR -
def xor_crypt_string(data, key = 'awesomepassword', encode = False, decode = False):
from itertools import izip, cycle
import base64
if decode:
data = base64.decodestring(data)
xored = ''.join(chr(ord(x) ^ ord(y)) for (x,y) in izip(data, cycle(key)))
if encode:
return base64.encodestring(xored).strip()
return xored
secret_data = "XOR procedure"
print("The cipher text is")
print xor_crypt_string(secret_data, encode = True)
print("The plain text fetched")
print xor_crypt_string(xor_crypt_string(secret_data, encode = True), decode = True)
Keluaran
Kode untuk proses XOR memberi Anda keluaran berikut -
Penjelasan
Fungsinya xor_crypt_string() termasuk parameter untuk menentukan mode encode dan decode dan juga nilai string.
Fungsi dasar diambil dengan modul base64 yang mengikuti prosedur / operasi XOR untuk mengenkripsi atau mendekripsi teks biasa / teks sandi.
Note - Enkripsi XOR digunakan untuk mengenkripsi data dan sulit dipecahkan dengan metode brute-force, yaitu dengan menghasilkan kunci enkripsi acak agar sesuai dengan teks sandi yang benar.