一.培根密码
1.培根密码是一种简单的替换密码,密文字符只有两个,即a和b,每个明文 字符都会被替换成一个由a和b组成的长度为5的字符串。
(1).密文字符也可以任意选择两个字符‘
(2).常规培根密码表:明文i和j,u和v对应的密文是一样的。
(3) .扩展培根密码表,包含所有26个字符。
2.在进行解密时,要去掉下划线,否则会出错
在python中去掉下划线:
’ 密文 ‘.replace('_',' ')
输出即可
提交时加上下划线
3.进行解密时,遇a到大小写问题,小写转化为大写用upper方法
4.遇到不同字符x,y,将其转化为a,b
a = '密文'
table = ' '.maketrans('xy','ab')
a.translate(table)
输出结果即为转化后的结果。
5.实践应用
(1).将大小写字母看做AB,即一段话中既有大写也有小写
定义a = " 密文"
flag = ' '
for i in a:
if i isupper( ):
flag = flag + 'A'
elif i.islower( ):
flag = flag + 'B'
flag
'只有AB的结果'
将原来AB进行相互转化:
table = ' '.maketrans('AB','BA')
flag.translate(table)→即将AB互换
(2).将粗体正常体看作AB,即一段话中既有粗体也有正常体
分别将其转化为AB
(3).<1>要注意语句中的标点,有无单引号等。
二.仿射加密
(1).密钥有两个,a和b取值范围[0,25] a与26互质,即a不可以为2和13
(2).x 为明文,y为密文,加密公式 y=(ax+b)mod26,取模为了保证y的范围
(3).x=(1/a)*(y-b)mod26
三.猪圈密码
-
是一种以格子为基础的替代密码,把英文字母替换成各种图形符号。