Python ile Kriptografi - ROT13 Algoritması

Şimdiye kadar, ters şifreleme ve Sezar şifreleme algoritmalarını öğrendiniz. Şimdi, ROT13 algoritmasını ve uygulanmasını tartışalım.

ROT13 Algoritmasının Açıklaması

ROT13 şifresi, kısaltılmış formu ifade eder Rotate by 13 places. Bu, geçişin her zaman 13 olduğu Sezar Cipher'in özel bir durumudur. Mesajı şifrelemek veya şifresini çözmek için her harf 13 sıra kaydırılır.

Misal

Aşağıdaki diyagram ROT13 algoritma sürecini resimli olarak açıklamaktadır -

Program kodu

ROT13 algoritmasının program uygulaması aşağıdaki gibidir -

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()

ROT13 çıkışını aşağıdaki resimde gösterildiği gibi görebilirsiniz -

Dezavantaj

ROT13 algoritması 13 vardiya kullanır. Bu nedenle, şifre metninin şifresini çözmek için karakterleri tersine kaydırmak çok kolaydır.

ROT13 Algoritmasının Analizi

ROT13 şifreleme algoritması, Sezar Cipher'in özel bir durumu olarak kabul edilir. Çok güvenli bir algoritma değildir ve frekans analizi ile veya sadece olası 25 anahtar denenerek kolayca kırılabilirken, ROT13 13 basamak kaydırılarak kırılabilir. Bu nedenle pratik kullanım içermez.