幂数加密(攻防世界)

写在前面:

原题:传送门

题目如下:

附件内容:

是一个文本文档:

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

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

写在后面:

相关推荐
见青..12 小时前
phpMyAdmin权限提升
web安全·网络安全·phpmyadmin
数据知道14 小时前
邮件安全实战:SPF/DKIM/DMARC 配置与钓鱼绕过
网络·安全·web安全·网络安全·邮件安全
世界尽头与你17 小时前
Android Root 检测原理
android·安全·网络安全·渗透测试
kp0000017 小时前
如何平衡模型输出的“有用性”和“安全性
人工智能·安全·网络安全·信息安全·ai安全
世界尽头与你19 小时前
iOS 越狱检测原理
安全·网络安全·ios·信息安全·渗透测试
kp000001 天前
大模型输出造成信息泄露类型
人工智能·网络安全·信息安全·ai安全
kp000002 天前
System Prompt Leakage(系统提示词泄露)及安全防御
网络·安全·网络安全·信息安全·prompt·ai安全
X7x52 天前
攻防对抗的结构化思维:深度拆解网络杀伤链(Kill Chain)与现代防御演进
网络安全·网络攻击模型·安全架构·网络杀伤链·kill chain
kp000002 天前
AI大模型,如何区分善意提问与Prompt注入攻击
人工智能·网络安全·信息安全·prompt·ai安全
kp000002 天前
AI系统输入安全基线
人工智能·安全·网络安全·信息安全·ai安全