📜  使用Python密码学-ROT13算法

📅  最后修改于: 2020-11-08 08:32:06             🧑  作者: Mango


到现在为止,您已经了解了反向密码和Caesar密码算法。现在,让我们讨论ROT13算法及其实现。

ROT13算法的说明

ROT13密码是缩写形式Rotate by 13 place 。这是Caesar Cipher的一种特殊情况,其中移位始终为13。每个字母都移位13位以加密或解密消息。

下图以图形方式解释了ROT13算法的过程-

ROT13算法过程

程式码

ROT13算法的程序实现如下-

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输出,如下图所示-

ROT13

退税

ROT13算法使用13个移位。因此,很容易以相反的方式移动字符以解密密文。

ROT13算法分析

ROT13密码算法被认为是凯撒密码的特例。它不是一个非常安全的算法,可以通过频率分析或仅尝试25个键就可以轻松破解,而ROT13可以通过移动13位来破解。因此,它不包括任何实际用途。