幂数加密(攻防世界)

写在前面:

原题:传送门

题目如下:

附件内容:

是一个文本文档:

8842101220480224404014224202480122

题目标题提示我们说 是 幂数加密解析如下:

幂数加密

幂数加密是一种基于二进制幂次表示法的加密方法。由于英文字母只有26个字母,通过使用2的0、1、2、3、4、5次幂可以表示31个单元。通过用二进制幂数表示字母序号数来加密。

加密过程

在幂数加密中,每个字母的序号可以用2的幂次表示。例如:

  • 字母D的序号是4,可以表示为2^2,因此加密后为2。

  • 字母O的序号是15,可以表示为2^0 + 2^1 + 2^2 + 2^3,因此加密后为0123。

例如,明文 "do not pull all your eggs in one basket" 的字母序号为:

4 15 14 15 20 16 21 12 12 1 12 12 25 15 21 18 5 7 7 19 9 14 15 14 5 2 1 19 11 5 20

加密后的密文为:

2 0123 123 0123 24 4 024 23 23 0 23 23 034 0123 024 14 02 012 012 014 03 123 0123 123 02 1 0 014 013 02 24

解密过程

解密时,可以将密文按照0分隔符分成若干小块,然后将每个小块中的数字相加,得到对应的字母序号。例如:

密文:8842101220480224404014224202480122

分块:88421 0122 048 02244 04 0142242 0248 0122

将每个小块中的数字相加,得到:

23 5 12 12 4 15 14 5

对应的字母为:

W E L L D O N E (剧透一下 其实这个就是 flag (●´ω`●)ゞ)

我们根据文档所给的内容 按照 方法先照0分开 得到

88421 0 122 0 48 0 2244 0 4 0 142242 0 248 0 122

再将每个小块中的数字相加 得到

23 5 12 12 4 15 14 5

最后 根据每个数字对应的字母 得到

WELLDONE

再根据题目要求 得到答案为:

cyberpeace{WELLDONE}

还有一种解法是:

因为提示是八位大写字母,又发现有7个0,所以我们可以猜想分成8段 然后用python脚本来实现

python 复制代码
a=["88421","0122","048","02244","04","0142242","0248","0122"] 
flag="" 
for j in range(0,len(a)): 
    str = a[j] 
    list=[] 
    sum=0 
    for i in str: 
        list.append(i) 
        length = len(list) 
    for i in range(0,length): 
        sum+=int(list[i]) 
    flag+=chr(64+sum) 
print flag

整理不易,头发掉了几根。觉得有收获的话,点个赞关注一下呗? 我保证,我的主页里还有更多让你头发比你掉得还多的好东西!

写在后面:

相关推荐
椰羊sqrt2 小时前
CVE-2025-4334 深度分析:WordPress wp-registration 插件权限提升漏洞
android·开发语言·okhttp·网络安全
Oxo Security6 小时前
【AI安全】提示词注入
人工智能·安全·网络安全·ai
介一安全6 小时前
【Frida Android】实战篇1:环境准备
android·网络安全·逆向·frida
Claire_ccat12 小时前
2025山西省网络安全职业技能大赛PWN方向题解
linux·安全·网络安全·pwn·栈溢出
雾迟sec12 小时前
Web安全-文件上传漏洞-黑白名单及其它绕过思路(附思维导图)
javascript·安全·web安全·网络安全·apache·安全威胁分析
CyberSecurity_zhang13 小时前
汽车信息安全--关于安全强度的误区
信息安全·汽车·密码学·安全强度
unable code13 小时前
攻防世界-Misc-掀桌子
网络安全·ctf·misc·1024程序员节
国服第二切图仔1 天前
Rust开发实战之密码学基础——哈希计算与对称加密实战
rust·密码学·哈希算法
久违 °1 天前
【安全开发】Nuclei源码分析-任务执行流程(三)
安全·网络安全·go