密码学3

一.培根密码

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

三.猪圈密码

  1. 是一种以格子为基础的替代密码,把英文字母替换成各种图形符号。

上一篇:心得


下一篇:各种效应