到目前为止,您已经了解了反向密码和Caesar密码算法.现在,让我们讨论一下ROT13算法及其实现.
ROT13算法的解释
ROT13密码是指缩写形式旋转方式13个地方.这是Caesar Cipher的一个特例,其中shift始终为13.每个字母移动13个位置以加密或解密消息.
示例
下图以图形方式解释了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输出为sho wn在下图中 :
缺点
ROT13算法使用13个班次.因此,很容易以相反的方式移动字符来解密密文.
ROT13算法的分析
ROT13密码算法是被视为Caesar Cipher的特例.它不是一个非常安全的算法,可以通过频率分析或只是尝试可能的25个键轻松打破而ROT13可以通过移动13个位置来打破.因此,它不包括任何实际用途.
以上就是Python密码学ROT13算法教程的详细内容,更多关于Python密码学ROT13算法的资料请关注其它相关文章!
查看更多关于Python密码学ROT13算法教程的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did17066