信息化时代的步伐
解题思路
密文:606046152623600817831216121621196386
中文电报查询可得,计算机要从娃娃抓起
flag:flag{计算机要从娃娃抓起}
总结
中文电码( Chinese Commercial Code),原本是于电报之中传送中文信息的方法。它是第一个把汉字化作电子讯号的编码表
凯撒?替换?呵呵!
解题思路
MTHJ{CUBCGXGUGXWREXIPOYAOEYFIGXWRXCHTKHFCOHCFDUCGTXZOHIXOEOWMEHZO}
凯撒密码一般就是26个字母经过单纯的按字母顺序来位移的加密方法(一般)
如:abc=def
进阶版的凯撒就不按照字母顺序的加密
如:abc=dhj
所以就要经过暴力破解出每一种可能的对应加密
前面的MTHJ和字符串中间的{}是明显的flag{}的格式,所以就推断这里的
MTHJ对应的明文就是flag
然后就对字符串中的其他20个字母进行爆破对比,得到flag:
flag{substitutioncipherdecryptionisalwayseasyjustlikeapieceofcake}
解题思路
凯撒密码更进一步就是随机替换而不是按顺序替换,这时候可以用暴力破解
萌萌哒的八戒
下载后得到一张图片
下面有一串神奇的符号,查找后发现是猪圈密码(朱高密码、共济会密码)
对应如下
得到flag:flag{whenthepigwanttoeat}
传统知识+古典密码
解题思路
题目:小明某一天收到一封密信,信中写了几个不同的年份:辛卯,癸巳,丙戌,辛未,庚辰,癸酉,己卯,癸巳。
信的背面还写有“+甲子”,请解出这段密文。
天干地支对应年份,得到list=[28,30,23,8,10,16,30],加上甲子也就是加上60,得到
[88,90,83,68,70,76,90]
根据提示古典密码,尝试爆破凯撒+栅栏,脚本如下:
list = [28, 30, 23, 8, 17, 10, 16, 30]
i = 0
while i < len(list):
list[i] += 60
i += 1
s = ""
i = 0
while i < len(list):
s += chr(list[i])
i += 1
fac = [x for x in range(1, len(s))]
i = 1
for j in range(len(fac)):
str1 = ''
for i in range(fac[j]):
k = 0
while i + k < len(s):
str1 += s[i + k]
k += fac[j]
_s = str1
_s.upper()
for n in range(25):
str2 = ''
for m in range(len(_s)):
str2 += chr((ord(_s[m]) - 64 + n) % 26 + 64)
print(str2)
筛选结果得到SHUANGYU
FLAG:flag{SHUANGYU}