目录

ROT13算法(ROT13 Algorithm)

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

ROT13算法的解释

ROT13密码是指缩写形式Rotate by 13 places 。 这是Caesar Cipher的特例,其中shift始终为13.每个字母移位13个位置以加密或解密消息。

例子 (Example)

下图以图形方式说明了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

缺点 (Drawback)

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

ROT13算法分析

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

↑回到顶部↑
WIKI教程 @2018