Bugku CTF 密码学刷题
前言
密码学可以分为古典密码学和现代密码学。古典密码学主要由单表替代、多表替代等加密方法组成,现代密码学则主要包含对称加密、非对称加密、哈希、数字签名等内容。我呢,更偏爱古典密码哈哈哈,趁着课少,赶快刷题,冲鸭!!!这里自夸一下嗷,我写的wp还是非常详细的,每一题我也都配上了解题思路和超链接,方便大家直接拿到flag,当然了做一题肯定是要拿下它的,理解后积累的知识才是最宝贵的,加油!
一、抄错的字符
题目描述:
额其实这题挺麻烦的,思考了一会,主要是一个个列举他的换算大小写字母及数字,优先级:数字 > 小写字母 > 大写字母,然后将枚举出来的字符进行解密直接上脚本:
//python3
import base64
s = "QWIHBLGZZXJSXZNVBZW="
dic = {
'I': '1', 'B': '6', 'S':'5','G': '9','Z':'2'}
res = ''
def check(s):
f = True
s = str(s)
for i in range(len(s)):
if ((s[i] in list('_+=')) or s[i].isdigit() or s[i].isalpha()):
continue
else:
f = False
break
return f
def strcon_decode(s,i):
global res
if(i==4):
ss = ''.join(s)
sss = base64.b64decode(ss)
sss = str(sss)[2:-1]
if check(sss):
# print(ss+' decode: ' + sss)
ss = res + sss
res = ss
return True
else:
return False
else:
if s[i] in dic.keys():
ss = s

本文分享了作者刷密码学题目的心得,涵盖古典密码、替换密码、摩斯密码、脑筋急转弯等,通过实例解析和解密技巧,展示了古典密码的魅力和解题过程的乐趣。
最低0.47元/天 解锁文章
600

被折叠的 条评论
为什么被折叠?



