幂数加密(攻防世界)

写在前面:

原题:传送门

题目如下:

附件内容:

是一个文本文档:

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

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

写在后面:

相关推荐
宋浮檀s1 小时前
SQL注入基础+DVWA搭建
数据库·sql·安全·网络安全
祁白_1 小时前
[0xV01D]_Glass Parcel_writeUp
大数据·安全·ctf·writeup
汤愈韬4 小时前
hcip-security_防火墙高可靠技术4—双机热备结合NAT
网络·网络协议·网络安全·security
虚拟世界AI5 小时前
从零到黑客:渗透测试实战指南
网络安全·渗透测试
X7x55 小时前
堡垒机:企业运维安全的“数字守门人“
网络安全·网络攻击模型·安全威胁分析·堡垒机·安全架构
ze^05 小时前
Day03 Web应用&OSS存储&负载均衡&CDN加速&反向代理&WAF防护&部署影响
web安全·网络安全·架构·安全架构
HMS工业网络15 小时前
如何解决使用TwinCAT时EtherCAT网络出现“Sync Manager Watchdog”报错
网络·网络协议·网络安全
сокол18 小时前
【网安-Web渗透测试-内网渗透】域环境权限维持
服务器·windows·网络安全·系统安全
路baby1 天前
RCE漏洞的原理详细讲解并基于pikachu靶场的实战演戏
安全·web安全·网络安全·系统安全·网络攻击模型·安全威胁分析·rce