Crypto浅谈(题目复现)

Crypto

参考文章密码学基础知识总结-CSDN博客

密码学系列之一:密码学的前世今生_《密码学》起源-CSDN博客

密码学的100个基本概念_密码学100个概念-CSDN博客

师兄说,真正的密码学并不是简单的使用一些在线工具,就能够破解出来的。

我也觉得,真正的密码学是复杂的,是深奥的,是有迹可循的。密码学,需要聪明的头脑,足够的耐心和一定的灵光乍现。

以下是一些简单的密码题复现。

XX+CC

下载附件后,使用XXencode进行解码

SMKNOLr7eLJpaIJdXHX3PLahMO3FeJ4FOIKBLL3dc

观察解码结果,尝试对前四个字符afZ_进行对应关系的查询

 详细信息参考ASCII码一览表,ASCII码对照表 (biancheng.net)

可看出对应关系,尝试编写脚本解密

p="afZ_rj]]fQZcN1[^kXhTjTdZQcW\Zh"      #解密的字符串
j=5         #位移值
for i in p:
    print(chr(ord(i)+j),end='')
    j+=1

解码后发现前半段flag已经出现,后半段却乱码了。

尝试修改位移值

尝试多次后,当位移值为-8时,找到后半段规律且正确的flag

得到flag{this_is_Caesar_variation}

但是这种方法,脚本太过简单,且操作起来复杂麻烦。

厉害的师姐写了一个细致准确一步到位的脚本

ciphertext = "afZ_rj]]fQZcN1[^kXhTjTdZQcW\Zh"
plaintext = ""

part1_offset = 5
part2_offset = 6

# 第一部分解密
for i in range(len("flag{this_is_}")):
    char = ciphertext[i]
    plaintext += chr(ord(char) + part1_offset)
    part1_offset += 1

# 第二部分解密
for i in range(len("flag{this_is_}"), len(ciphertext)):
    char = ciphertext[i]
    plaintext += chr(ord(char) + part2_offset)
    part2_offset += 1

print(plaintext)

运行后很快得出flag

mdmd555

下载打开附件

Yunxi{?_real?y_k?0w_md5}
#42db61d26c6541e30314cafc60f93113

观察题目,上方即为flag,下方为正确flag的MD5值

厉害的师姐又写了一个细致准确一步到位的脚本

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(('Yunxi{' + chr(i) + '_real' + chr(j) + 'y_k' + chr(k) + '0w_md5}').encode('utf-8'))
            des = m.hexdigest()
            if des == '42db61d26c6541e30314cafc60f93113':
                print('Yunxi{' + chr(i) + '_real' + chr(j) + 'y_k' + chr(k) + '0w_md5}')
                break

运行后得到flag

Fuck!

下载并打开文本

464D5653574B5A4C45415653574B5A4C4C4D51433250524C464D5653414B5A4C464D56535749424C48524F54344B5A41464D5653574B5A4C45415653574C5234464D5143574B5A4C464E4E53414C4A36464D56535749424C464D364632505241464D5653574C524E45415753324C4A4E46554643324C5234464D5653414B3233465537435749424C464D364632505241464D5844594B5A4C45415656574C4A3646555143324C4A344C553743414C4A4E465557533249424E46593643574B5A41464D5656574C4A3645415653574B5A4C485151463250524C464D58434150424C464D56535743524C464E4E533250524146555753324C4A4E4541575459584A3646595144594B5A4C464E4E53414C4A36464D5653574942344C553743574B5A41464D5653574C524C45415653574B5A4C464D5143574C524E46555753414C4A4E465557533249424E46593643574B5A41464E4E533250524C424956535750433548595143574B5A4C46595753414C4A4F465557533249424E46555753324C4A4146595753324C4A4E45415753324C5234464D5143574B5A4C4C4D57534150524C464D5653574942344C553743574B5A41464D5653574C524E45415753324C4A4E46595144594B5A4C464D565155575A4E485957533249424E465536463250524146595753324C4A4E45415753324C5234464D5143574B5A4C464E4E53414C4A36464D56535749424C464D364632505241464D5653574C524E45415753324C4A4E46555143324C5234464D5653414B3233465537435749424C464D36463250514B464D5844594B5A4C45415656574C4A3646555143324C4A344C553743414C4A4E465557533249424E46593643574B5A41464E4E533250524E454157533250433548595143324C5234464D5653414B5A4C464E4E533249423646555753324C4A41465536463250524E45415753324C5234464D4643574B5A4C464D565341575A4E485956535749424C464D5653575042414C553743574B5A4C45415653574B5A4C464D5143574B5A4C46595653414B5A4C464D56535749424C46595753324C4A4146555753324C4A4E45415753344B5A4C464D5143574C524E46555753414C4A4E465936435743524C464E4E5332505241464D56535750433545413743574B5A4C464D5143574C5234

使用工具解码

这里使用的是CyberChef,个人觉得比较好用,也可以用其他工具

观察解码结果,需要进行fuck解码

  brainfuck interpreter (sange.fi)使用在线工具

解码后得到flag

在线工具

在线工具 - Bugku CTF

CTF在线工具-CTF工具|CTF编码|CTF密码学|CTF加解密|程序员工具|在线编解码 (hiencode.com)

图片隐写加密/解密

码工具 - 代码在线工具箱 (matools.com)

文本隐藏加密 - 千千秀字 (qqxiuzi.cn)

字符 编码/解码 - 在线工具 (toolhelper.cn)

随波逐流工作室 (1o1o.xyz)

CTF资源库|CTF工具下载|CTF工具包|CTF工具集合 (ctftools.com)

  • 38
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值