CryptoCTF 2024 hard 分类 团队解题 writeup 之一
这次 hard 分类的题目难道是碳基生物能整出来的活儿???
Chochol题目描述题目基于 ECC:
E: y^2 = x^3 + ax + b128bit 素数 $p$ 和 $q$ 均满足 $p \equiv q \equiv 3 \pmod{4}$,$a$ 取随机,$b = 0$。
$E_p$ 和 $E_q$ 分别是 $E$ 在 $GF(p)$ 和 $GF(q)$ 下的情形。
生成元 $G_p$ 和 $G_q$ 的横坐标均为 2024。(MAN!)
然后有一个未知的 $s$,$H_p = s G_p$,$H_q = s G_q$
题目对明文的加密采用 RSA:
n = pqc = m^s \bmod n已知 $G_p, H_p, G_q, H_q, c$,求 $m$
我的解答首先是求出 $a, p, q$ 这三个值。以 $p$ 为例,将 $G_p(x_1, y_1)$ 和 $H_p(x_2, y_2)$ 代入椭圆曲线方程:
\left\{\begin{aligned}y_1^2 = x_1^3 + a x_1 \\
y_2^2 = x_2^3 + a x_2\end{aligne ...
CryptoCTF 2024 hard 分类 团队解题 writeup 之二
这次 hard 分类的题目难道是碳基生物能整出来的活儿???
O7R题目描述题目基于 RSA 和七!段!数!码!管!
题目给出了 $p, q, n, n^2$ 的七段数码管的 损坏形式,以及密文 $c$ 的七段数码管形式,其中一个数的七段数码管的损坏形式被定义为:这个七段数码管的每一位数都会以 50%的概率,某一段数码管本来要亮的,结果没亮了,如下就是一个数位 7 损坏了一个数码管的例子:
123456789 xxxx xxxxo x o oo x o oo x o o oooo -> oooo o x o xo x o xo x o x oooo oooo
题目没说 $e$ 是多少(可能要靠猜,譬如 $e=65537$),求明文 $m$。
我的解答当时比赛的时候,我没看这道题,未央、三顺七、苏氨酸当时还就被这个男的女的折磨,多捞哦!
这尼玛是碳基生物整得出的活儿?
首先得把他那个七段数码管切成数,至少转换成七段数 ...
CryptoCTF 2024 medium 分类 团队解题 writeup 之一
这次 medium 分类题量还是最多的,结果一开始里面很多题都不可解,甚至比赛结束了还 TMD 有一道零解。
我去年买了个表
Ahoo题目描述给定整数 $n$,找最小正整数 $c$ 使得 $nc$ 的二进制表示中 1 的个数最小。
我的解答这种问题看上去没有一个比较直观的解。一开始在想是不是要找 $k$ 使得 $n$ 为 $2^k+1$ 的约数,后面发现这个数应该不是所有的数都能找得出来的。这种时候就要学会 站在巨人的肩膀上了
记 $f(n)$ 为题目的答案,先写一个简单的脚(da)本(biao)得出 $f(n)$ 的前几项:
12345678910111213results = []for n in range(1, 15): min_c = 0 min_ones = 4396 for c in range(1, 200000): ones = sum(map(int, f'{n*c:b}')) if ones < min_ones: min_ones = ones ...
CryptoCTF 2024 medium 分类 团队解题 writeup 之二
这次 medium 分类题量还是最多的,结果一开始里面很多题都不可解,甚至比赛结束了还 TMD 有一道零解。
我去年买了个表
Duzly (x)题目描述已知 $p=2^{64} - 59$,下面的运算都在 $\mathbb{Z}/p\mathbb{Z}$ 中讨论。
已知 $c_1, c_2, \ldots, c_6$ 的值,且 $c_1 = 1$
已知 $e_1 = 2^{24} + 17, e_2 = 2^{24} + 3, e_3=3, e_4=2, e_5 = 1, e_6 = 0$
明文 $m$ 首先左右都被 pad 了随机长度的随机 bytes,然后被分成 8 个字节一组 $m_i$。已知 $h_i = \sum_{j=1}^{6}{c_j m_i^{e_j}}$,求 $m_i$
我的乱想这尼玛可做?
一个想法就是找一些不变量,通过一些手法把部分和的结果变到一个阶小的子群里面去,从而把原问题转换成某个多项式加上某个定值的形式,这样或许能缩小解的范围。
譬如将 $f(x) = \sum_{j=1}^{6}{c_j x^{e_j}}$ 拆分成 $g(x) + h(x)$,然后如果 ...
CryptoCTF 2024 medium 分类 团队解题 writeup 之三
这次 medium 分类题量还是最多的,结果一开始里面很多题都不可解,甚至比赛结束了还 TMD 有一道零解。
我去年买了个表
Melek题目描述给定素数 $p$。在 $GF(p)$ 下定义 $t$ 次多项式
f(x) = \sum_{i=0}^{n-1}a_i x^{i}其中 $a_0 = c = m^e \bmod p$,$e$ 已知。然后随机生成 $GF(p)$ 下 $t$ 个数 $x_1, x_2, \ldots, x_t$,并求出 $f(x_1), f(x_2), \ldots, f(x_t)$。已知 $(x_i, f(x_i)), i = 1, 2, \ldots, t$,求 $m$。
我的解答这一看就是 Shamir’s Secret Sharing,其背后的原理是拉格朗日插值定理,这里可以直接以矩阵的视角求出系数即可:
12345678910111213141516171819from Crypto.Util.number import *with open('output.txt', 'r') as f: exec(f.re ...
CryptoCTF 2024 medium 分类 团队解题 writeup 之四
这次 medium 分类题量还是最多的,结果一开始里面很多题都不可解,甚至比赛结束了还 TMD 有一道零解。
我去年买了个表
RM2题目描述题目需要我们和远程服务器交互:
我们需要提供 1024bit 的两个素数 $p, q$,而且 $p \ne q$
服务器提供 $e = 65537$,计算 $n = pq$
服务器生成一个随机的 256byte 可打印字符串 $s$,bytes_to_long 之后就是 $m$,且保证 $m < 4n$
将 $s$ 从中间劈两半成 $s_1, s_2$,分别 bytes_to_long 之后就是 $m1, m2$
计算 $c_1 = m_1^e \bmod (p-1)(q-1)$
计算 $c_2 = m_2^e \bmod (2p+1)(2q+1)$
已知 $c_1, c_2$,求 $s$;$s$ 的两部分必须同时求出来,不能一次只求一边。
我的解答首先可打印字符串是我们需要利用的一个判别条件。
然后因为有两个 $n_1 = (p-1)(q-1)$ 和 $n_2 = (2p+1)(2q+1)$,我们希望这两个玩意儿都能分解。所以我们为了方 ...
CryptoCTF 2024 战果速报
一九九七年
我学会了开汽车
上坡 下坡
轧死了一千多
警察来抓我
我跑到女厕所
女厕所的灯
没 有 开
一脚掉到茅屎坑
和粑粑交朋友
点此欣赏芜湖童谣
这周末,一年一度的 Crypto CTF 如期举行。1997 如之前几年一样穿上发病棉袄,和队友们一起参加周六晚 22:00 开始的 Crypto CTF。
在注册队伍的时候,哥们本来想队伍把弄成这样:
点此欣赏 1997 队歌
在移动端直接显示成这样:
结果就被制裁了
最后交涉了一下只能变成这样子:
最后,1997 差两题 AK 了此次比赛。老规矩,先鸣谢下队友:
沛公 @peigong
石卡库 @sh1kaku
苏氨酸 @苏氨酸
To1in @To1in
V @Vanish
等风 @等风
Xenny @Xenny
Tover @Tover.
三顺七 @March7th
未央 @weyung
然后放个总榜
配合得不是很好
这次的题目要么是乱搞,要么是无解然后把附件一更新需要 redownload 附件(非常好奇redownload前的题目出题人有什么添腹亿饼的方法解出来?),更难蚌的是最后零解的那个 Duz ...
Tensorflow Profiler 踩坑记
众所周知,在 AI 模型落地的时候,我们不仅仅关注模型的准确率,同样也会关注模型的性能。
在使用 VSCode 等 IDE 开发 C++、C# 应用的时候,我们就会去开启 debug 模式,通过可视化工具分析应用的热点与瓶颈在哪里,这个过程一般叫做 profiling。当然,在 linux 上,我们也有 valgrind 等工具可以方便我们分析。
那么具体到 tensorflow 的模型中,我们也想要进行类似的分析。好在 Google 官方提供了 tensorflow profiler 以及官方教程,我们可以 follow 这个教程来分析。此外,也有其他人写过博客来介绍 tensorflow profiler 的使用。
当然 Google 在知乎中也发表过一篇介绍文。
但是这玩意儿它坑就坑在在自己机器上作分析的话,这些东西要自己装。那么要装这些东西就会踩到一些坑。
_甚至用 Google Colab 都不可避免地会踩到一些坑_
包的版本首先,为了稳定性,工地的 docker 镜像都是统一采用 tensorflow=2.10.0,尽管现在有更新的版本。因此,为了和工地的设置一致,我们本地 ...
用 ChatGPT 学洋文
写在前面一律建议使用 GPT-4(GPT-4-turbo-preview 更佳)
背单词巩固记忆分享一个自用的背单词巩固记忆的 prompt,使用时将 XXX 替换成想记的单词即可。
Please make a sentence using the word “XXX” to illustrate its meanings. Your reply must comply the following form:
12345Example: <SENTENCE>Meaning: <THE MEANING OF THE WORD>Synonyms: <SYNONYM 1 OF THE WORD>, <SYNONYM 2 OF THE WORD>, <SYNONYM 3 OF THE WORD>
Example:
1
头脑风暴暴力扩充词汇量,在刷知乎的时候发现的
Please give me 10 XXX-level words with their meanings respectively, and then try to ...
润年
四年一润
百年不润
四百年又润
今天是 2024 年 2 月 29 日星期四,这周的疯狂星期四将是 28 年一遇,下一个在 2 月 29 号的星期四要等到 2052 年,有没有好心人在 28 年一遇的疯狂星期四 v 我 50