学堂 学堂 学堂公众号手机端

Python凯撒密码算法有哪些特征,原理是什么

lewis 6年前 (2019-06-15) 阅读数 13 #技术
这篇文章主要讲解了“Python凯撒密码算法有哪些特征,原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python凯撒密码算法有哪些特征,原理是什么”吧!
在最后一章中,我们处理了反向密码.本章详细讨论了凯撒密码.

凯撒密码算法

凯撒密码的算法具有以下特征;

Caesar Cipher Technique是一种简单易用的加密技术方法. 这是一种简单的替换密码类型. 每个纯文本字母都被一个字母替换,字母的位数固定不变./p>

下图描绘了Caesar密码算法实现的工作原理 :


Caesar密码算法的程序实现如下 :

defencrypt(text,s):
result=""
#transversetheplaintext
foriinrange(len(text)):
char=text[i]
#Encryptuppercasecharactersinplaintext
if(char.isupper()):
result+=chr((ord(char)+s-65)%26+65)
#Encryptlowercasecharactersinplaintext
else:
result+=chr((ord(char)+s-97)%26+97)
returnresult
#checktheabovefunction
text="CEASERCIPHERDEMO"
s=4
print"PlainText:"+text
print"Shiftpattern:"+str(s)
print"Cipher:"+encrypt(text,s)

输出

你可以看到凯撒密码,即输出如下图所示 :

说明

一次遍历一个纯文本字符. 对于给定纯文本中的每个字符,根据规则转换给定字符,具体取决于加密过程文本的说明和解密. 遵循这些步骤后,会生成一个新的字符串,称为密文.

凯撒密码算法的黑客攻击

密码文本可以被各种可能性攻击.其中一种可能性是暴力技术,其中涉及尝试每个可能的解密密钥.这种技术不需要太多努力,对于黑客来说相对简单.

黑客攻击凯撒密码算法的程序实现如下

message='GIEWIVrGMTLIVrHIQS'#encryptedmessage
LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
forkeyinrange(len(LETTERS)):
translated=''
forsymbolinmessage:
ifsymbolinLETTERS:
num=LETTERS.find(symbol)
num=num-key
ifnum<0:
num=num+len(LETTERS)
translated=translated+LETTERS[num]
else:
translated=translated+symbol
print('Hackingkey#%s:%s'%(key,translated))

考虑上一个示例中加密的密文.然后,使用密钥和使用暴力攻击技术的可能的黑客攻击方法的输出如下 :


以上就是关于“Python凯撒密码算法有哪些特征,原理是什么”的介绍了,感谢各位的阅读,希望这篇文章能帮助大家解决问题。如果想要了解更多知识,欢迎关注博信,小编每天都会为大家更新不同的知识。
版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门