3-Not_only_base
打开code
MCJIJSGKP=ZZYXZXRMU=W3YZG3ZZ==G3HQHCUS==
分析:
首先看题知道解密过程中肯定有base解密。
知识点1:
Base64字符集:
包含大小写字母(A-Z、a-z)、数字(0-9)以及两个特殊字符(通常是“+”和“/”)。例如:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
Base32字符集:
包含大小写字母(A-Z)和数字(2-7)。例如:
ABCDEFGHIJKLMNOPQRSTUVWXYZ234567
。Base32的字符集不包含小写字母和一些容易混淆的字符(如“0”、“1”、“8”、“9”),因此在某些场景下更易于阅读和传输。
通过知识点1,可以知道,本题是32加密
知识点2:
不管是64还是32,它们密文中的=只能出现在最后面
通过知识点2,可以知道,本题还需要置换加密
我就想到了栅栏加密。
栅栏密码:
是一种古典的加密方法,通过将明文按照一定的规则排列成“栏”的形式,然后按栏顺序提取字符来生成密文。
栅栏密码的加密过程
选择栏数:确定要将明文分成多少栏。栏数是加密的关键参数。
排列明文:将明文按照“栏”的形式排列,形成类似“之”字形或“W”字形的结构。
提取密文:按栏顺序依次提取每一栏的字符,组合成最终的密文。
例如,假设明文是“HELLO WORLD”,栏数为3,加密过程如下:
H O LE L W RL O D
按栏顺序提取字符,得到密文为“HOLELWRLORD”。
注意进行栅栏密码的目的在要把=都放在最后面。
解题
使用栅栏密码的在线解密:
(栏数从2开始试,最多不能超过密文数的一半)
解出是:MZWGCZ33JYYHIXZQJZGHSX3CGRZUKMZSPU======
使用base32的在线解密:
最终结果:flag{N0t_0NLy_b4sE32}