Funny NumberCrypto 未解决

分数: 30 金币: 3
题目作者: Lazzaro
一  血: Vincent
一血奖励: 3金币
解  决: 210
提  示:
描  述:
Funny Number
其  他: task.py.zip
评论
GS 2月前

flag{**********}

回复 0

guoxinglong 3月前

真麻烦

回复 0

guoxinglong 3月前

NuM8eR_7HE0rY_1s_S0_Funny~

回复 0

灵梦归希 5月前

算法很简单,扯名字只会一脸懵逼,公式如下: 计算(2**10000)对10**175的逆元a(非互质,需要除以公约数再计算逆元)。结果=(a*c/公约数) %((10**175)/公约数)

回复 0

灵梦归希 5月前

这个题实际上不是多题解的,只要明文10进制长度小于175,解出的解一定是唯一解的。flag一般较短,如果再长,设置的175加大就可以保证是唯一解了。

回复 0

Alan233 6月前

观察 task.py,即 flag 转为二进制 (小段规则) 后,乘上 2^{10000} 再取末 175 位。这启发我们先将 gcd 除掉 (保证裴蜀定理满足 gcd(x, y) = 1),使用扩展欧几里得算法 (exgcd),算出对应的 flag 二进制值,在通过 ASCII 码反解出原 flag,这里有个坑是小端存储。

回复 1

hungry_ 7月前

不会做呀,有没有提示呀

回复 0

bugku2024 11月前

哥们还在骂骂咧咧,而我已经卷完这题学下一题啦

回复 1

shenjb 1年前

做出来以后看见有个朋友对多解耿耿于怀,其实完全没有必要,ctf本来就是游戏,心态放平。另外,flag是可读纯文本,本来就对解的范围有限制,不是吗?

回复 0

BMTXLRC 1年前

再退一步说,一个简单的二元一次方程,我只需要 python 或者 C++高精度写个扩展欧几里得就可以跑出来,虽然我选择了后者,但是我想请问出题人明明可以直接算出来你为什么要试着去约掉一个 2^175 呢,这方便了你的计算但是对于计算机来说你觉得有区别吗?你觉得对于一个计算机来说,我约不约有什么区别,如果没有区别反而导致多解的话我为什么要去约呢?

回复 0
Lazzaro 1年前

我想问问,你来CTF这边搞科研吗?

回复 4

WriteUp

image
Lazzaro

5 金币

评分(3)

解题动态

satuo 攻破了该题 1天前
ahsjezyt 攻破了该题 22天前
Ymq18133030364 攻破了该题 24天前
13500586839 攻破了该题 28天前
骷髅岛靓仔 攻破了该题 1月前
2424291112 攻破了该题 1月前
sdydwky88 攻破了该题 1月前
无法释怀的遗憾 攻破了该题 1月前
whitew0lf 攻破了该题 1月前
sy33 攻破了该题 1月前
suiyiwy 攻破了该题 1月前
CICI猹墨 攻破了该题 1月前
sssssygff 攻破了该题 1月前
yanlingling 攻破了该题 1月前
qinyiqinyi 攻破了该题 1月前
frd111 攻破了该题 1月前
Adele 攻破了该题 1月前
huaji48254 攻破了该题 1月前
lzq2000 攻破了该题 1月前
oopyman 攻破了该题 1月前
问题反馈