BUUCTF密码学基础(7~12)

文章讲述了几个不同的编码和加密技术解谜过程,包括变异凯撒加密、Quoted-printable、Rabbit加密、RSA密钥解密以及丢失的MD5中的UTF-8编码问题。通过ASCII码转换、加密工具和字符编码知识,参与者需找出隐藏的flag。
摘要由CSDN通过智能技术生成

7,变异凯撒

正如其名,肯定与循环有关,得到原码一看,afZ_r9VYfScOeO_UL^RWUc,,emmm这好像一点头绪也没有啊,稍稍百度一下,看到与ASCII码有关,分析了一下,假设前四个数解码为flag,即a-->f

f-->l

Z-->a

_-->g

转换成ASCII码得到:

'a' = 61 --> 'f' = 66

'f' =66 --> 'l' = 6C

'Z' = 5A --> 'a' = 61

'_' = 5F --> 'g' = 67

这么一看似乎并不能一眼看出规律,由于一半ASCII码转化都是默认十六进制,在将其转换成十进制得到:

'a' = 97 --> 'f' = 102,+5

'f' =102 --> 'l' = 108,+6

'Z' = 90 --> 'a' = 97, +7

'_' = 95 --> 'g' = 103,+8
先在规律明了,写个算法先将输入数组转换成相应的十进制ASCII码,套一个循环将第一数加5,后续数值随他的位数逐步格外加一(gpt该你出手了!),最后得到的数组在转化成对应ASCII字符即可。

8,Quoted-printable

百度一下名字,发现也是一种编码方式,在ctf解码工具中也找到了解码方式,粘贴解码得到flag

9,Rabbit

毫无头绪,百度出了一个Rabbit加密方式,找到在线网站解密即可

这个加密方式的密语看不出什么特点,题目不给提示真搞不出来。。。

10,篱笆墙的影子

看到原码,原以为很简单,给出的源码是这个

felhaagv{ewtehtehfilnakgw}

f l a g { w e t h i n k w }

隔一列删除一个字符,但是得到的flag不对,没办法百度了一下,看到一个栅栏密码,分俩组,试了下得到flag。

11,RSA

RSA加密算法,在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=17
求解出d作为flga提交,RSA加密工具中填入参数解码一下得到flag

12,丢失的MD5

压缩包给了一段py代码,运行一下出现错误,看下报错,添加一对括号可还是报错,看不懂百度了一下看见要对字符进行(UTF-8)编码,修改一下,跑出flag。

import hashlib   
for i in range(32,127):
    for j in range(32,127):
        for k in range(32,127):
            m=hashlib.md5()
            m.update('TASC'+chr(i)+'O3RJMV'+chr(j)+'WDJKX'+chr(k)+'ZM')
            des=m.hexdigest()
            if 'e9032' in des and 'da' in des and '911513' in des:
                print (des)

 

import hashlib   
for i in range(32,127):
    for j in range(32,127):
        for k in range(32,127):
            m=hashlib.md5()
            m.update('TASC'.encode('UTF-8')+chr(i).encode('UTF-8')+'O3RJMV'.encode('UTF-8')+chr(j).encode('UTF-8')+'WDJKX'.encode('UTF-8')+chr(k).encode('UTF-8')+'ZM'.encode('UTF-8'))
            des=m.hexdigest()
            if 'e9032' in des and 'da' in des and '911513' in des:
                print(des)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值