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.