xctf攻防世界 CRYPTO高手进阶区 fanfie

"本文介绍了一种解密过程,涉及到Base32编码和单字母替换密码。通过对给定的字符序列进行分析,发现其与Base32加密后的字符串存在特定的映射关系,进一步推断出这是一种仿射密码。通过建立加密字母表和仿射函数,成功解密出隐藏信息,最终得到解密后的Base32字符串,转化为明文为'BITSCTF{S2VyY2tob2Zm}
摘要由CSDN通过智能技术生成

0x01. 进入环境,下载附件

题目给出的是一个txt文件,如下字符:

MZYVMIWLGBL7CIJOGJQVOA3IN5BLYC3NHI

0x02. 问题分析

0x02_1. 找到加密信息

这个题目最难的是缺少提示,看到都懵了,原题提示有如下:

任务描述告诉我们标志被转换为base32并以某种方式加密。

假设明文是这样的:BITSCTF{***},那我们尝试将BITSCTF进行加密,代码如下:

from base64 import b32encode

print(b32encode(b'BITSCTF'))

加密结果如下:

IJEVIU2DKRDA====

对比原始字符,我们选取前一段的:

MZYVMIWLGBL7CIJO
IJEVIU2DKRDA====

可以看到M对应I,而且出现了两次,那么我们推测可能是一种单字母替换密码

0x02_2. 找到映射关系

我们构造一个简单的字母序表:

A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  2  3  4  5  6  7
0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

可以发现原始字符和base32加密后的对应索引关系:

映射编号
M -> I12 -> 8
Z -> J25 -> 9
Y -> E24 -> 4
V -> V21 -> 21
I -> U8 -> 20
W -> 222 -> 26

在这里我们可以推测,学过仿射密码的都知道,并得到 a = 13 a=13 a=13 b = 4 b=4 b=4 m = 32 m=32 m=32,仿射函数为 y = ( 13 x + 4 ) m o d 32 y=(13x + 4)mod 32 y=13x+4)mod32

什么是仿射密码?参考链接

0x02_3. 整理字母表

使用仿射函数, y = ( 13 x + 4 ) m o d 32 y=(13x + 4)mod 32 y=13x+4)mod32
因此,我们的加密字母表将如下所示:

A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  2  3  4  5  6  7
4 17 30 11 24  5 18 31 12 25  6 19  0 13 26  7 20  1 14 27  8 21  2 15 28  9 22  3 16 29 10 23
E  R  6  L  Y  F  S  7  M  Z  G  T  A  N  2  H  U  B  O  3  I  V  C  P  4  J  W  D  Q  5  K  X

举例第一列,A在原始字母表中的顺序为0,带入函数(13 * 0 + 4) mod 32 = 4,在原始字母表中,对应字母E,因此原始字符则有如下对应:

MZYVMIWLGBL7CIJOGJQVOA3IN5BLYC3NHI -> IJEVIU2DKRDHWUZSKZ4VSMTUN5RDEWTNPU

0x02_4. 进行解密

再进行base32解密,得到最终答案BITSCTF{S2VyY2tob2Zm}

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

l8947943

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值