CTF密码学Crypto2
1.转轮加密(托马斯.杰斐逊密码)
利用下面的python脚本进行转换解密:
代码来源:原作者
#秘钥
key="2,5,1,3,6,4,9,7,8,14,10,13,11,12"
#密文
cipher_text = "HCBTSXWCRQGLES"
f = open(r"C:\Users\MIKEWYW\Desktop\mike.txt") #待解密文件的绝对文件名
str_first_encry = []
for line in f:
line = line.strip()
str_first_encry.append(line)
key_index = key.split(",")
str_second_encry=[]
for k in key_index:
str_second_encry.append(str_first_encry[int(k)-1])
print(str_first_encry[int(k)-1])
for i,ch in enumerate(cipher_text):
line = str_second_encry[i]
split_index = line.index(ch)
temp=[]
temp[0:len(line)-split_index+1] = line[split_index:len(line)]
temp[len(temp):] = line[0:split_index]
str_second_encry[i] = "".join(temp)
print("-------------------------------------")
for plain in str_second_encry:
print(plain)
对于待解密文件的绝对文件名就是:绝对路径+文件名
解题步骤:
1,用文本编辑器整理
2,建立txt文本,(可修改文件名)在代码中填入绝对文件名
3,用IDLE运行python代码:
4,转换为小写,寻找flag,在倒数第六列:
5,提交答案: