m = ziboshaokao #明文m_nums=for c in m m_numsappendordc-97 #将字母映射为数字a-z变为0-25i值求解n = 26 #字母表大小k1 = 5k0 = 3f_nums=for i in m_nums #仿射变换求替代的索引值j j=k1i+k0 n f_numsappendjs = joi
m = 'ziboshaokao' #明文
将明文转换为数字表示
m_nums=[]
for c in m:
m_nums.append(ord(c)-97) #将字母映射为数字,a-z变为0-25,i值求解
n = 26 #字母表大小 k1 = 5 # 仿射变换的参数k1 k0 = 3 # 仿射变换的参数k0
f_nums=[] for i in m_nums: #仿射变换,求替代的索引值j j=(k1*i+k0)% n f_nums.append(j)
将数字转换为字母表示
s = ''.join([chr(x+97) for x in f_nums]) #将数字映射为字母,0-25变为a-z
print("密文是:",s) #输出密文
原文地址: https://www.cveoy.top/t/topic/hBDJ 著作权归作者所有。请勿转载和采集!