首先我们先分析一下本题的加密算法:
def Encode (message):
Cipher = ''
part = str_size(message,SIZE)
for i in range(len(part)):
key = ''
c = ''
key = make_key(part[i])
# c = part[i]
c = X1(part[i],key)
c = fence (c,PSIZE)
Cipher += c
return Cipher
这就是加密的函数,我们可以看出明文经历了:
str_size
make_key
X1
fence
这四个步骤,下面具体分析一下:
首先是str_size:
def str_size(string,size):
s = []
for i in range(0,len(string),size):
c = string[i:i+size]
for j in range(len(c),size):
c += ' '
s.append(c)
return s
可以看出这一步主要是将明文分成size大小的多个分组
然后是make_key:
def make_key(message):
last = ''
key = ''
for i in range(len(message)-1,l