Kriptografi dengan Algoritma Python - ROT13

Sampai saat ini, Anda telah belajar tentang algoritma sandi terbalik dan sandi Caesar. Sekarang, mari kita bahas algoritma ROT13 dan implementasinya.

Penjelasan Algoritma ROT13

Sandi ROT13 mengacu pada bentuk singkatan Rotate by 13 places. Ini adalah kasus khusus Caesar Cipher di mana shift selalu 13. Setiap huruf digeser 13 tempat untuk mengenkripsi atau mendekripsi pesan.

Contoh

Diagram berikut menjelaskan proses algoritma ROT13 secara bergambar -

Kode Program

Implementasi program dari algoritma ROT13 adalah sebagai berikut -

from string import maketrans

rot13trans = maketrans('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', 
   'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm')

# Function to translate plain text
def rot13(text):
   return text.translate(rot13trans)
def main():
   txt = "ROT13 Algorithm"
   print rot13(txt)
	
if __name__ == "__main__":
   main()

Anda dapat melihat output ROT13 seperti yang ditunjukkan pada gambar berikut -

Kekurangan

Algoritma ROT13 menggunakan 13 shift. Oleh karena itu, sangat mudah untuk menggeser karakter secara terbalik untuk mendekripsi teks sandi.

Analisis Algoritma ROT13

Algoritma penyandian ROT13 dianggap sebagai kasus khusus dari Caesar Cipher. Ini bukan algoritme yang sangat aman dan dapat dipecahkan dengan mudah dengan analisis frekuensi atau hanya dengan mencoba kemungkinan 25 kunci sedangkan ROT13 dapat dipatahkan dengan menggeser 13 tempat. Oleh karena itu, tidak termasuk penggunaan praktis.