看雪2023 KCTF年度赛 | 第10题·精准攻击-设计思路
2023-9-26 17:48:29 Author: mp.weixin.qq.com(查看原文) 阅读量:2 收藏

这是一场人类与超智能AI的“生死”较量

请立刻集结,搭乘SpaceX,前往AI控制空间站

智慧博弈  谁能问鼎

看雪·2023 KCTF 年度赛于9月1日中午12点正式开赛!比赛基本延续往届模式,设置了难度值、火力值和精致度积分。由此来引导竞赛的难度和趣味度,使其更具挑战性和吸引力,同时也为参赛选手提供了更加公平、有趣的竞赛平台。

*注意:签到题持续开放,整个比赛期间均可提交答案获得积分

今日中午12:00第十题《精准攻击》已截止答题,很遗憾该题所有战队都未能成功提交flag,那么一起来看下该题的设计思路吧。

出题团队简介

出题战队:98k

战队成员:全盲法师、rmb122、GreatIchild、c10v3r、tl2cents

设计思路

一、题目设置

二、解码问题

本质上就是 543 个变量,给了 800 个方程,但是这 800 个方程中存在至多 10 个错误的方程(实际上就是 10 个方程是错误的),我们需要找出错误的方程,并且恢复出编码前的向量

大概有两个思路:

1、这个形式像 LWE ,可以考虑用格来解,构造格,用 BKZ 规约;

2、Information Set Decode 问题, 这里使用 sage 的 Information Set Decode (ISD)板子来解。

三、多项式子集积问题

因此考虑三个 PSPP 实例,这是 Multiple Subset Sum Problem,构造一个接近 200 维的格:用 BKZ 不断调整 block_size 即可,大概需要跑 5 min。

1、fplll存在bug,所以在跑exp的时候请如果在 “res = solve_multiple_ssp(subsets, targets, mods, Integer(20), range(Integer(20),Integer(100),Integer(4)))” 出现error,可以调整exp的,启用被注释的“M = M.BKZ(block_size = bs, proof = False, strategies = load_strategies_json(BKZ.DEFAULT_STRATEGY_PATH + BKZ.DEFAULT_STRATEGY))”并且注释上一行代码;
2、当blocksize = 52 时可以跳出来,循环是为了调整bkz算法的块大小;
3、推荐使用10.0以上版本的sage;
4、exp_opt.sage 是优化版本的exp,这是因为原始的BKZ算法的blocksize决定算法精度,数值越大则精度越高,所以本题目blocksize=56即可立刻跑出flag。同时M.BKZ 的 proof 设置为 False 也能加快BKZ算法的速度。
KCTF{666aac797b125dbdcdfdd46ca066ced4ac1cc9f1824275}

今日中午12:00,第十一题《步步逼近》已开赛!


截至发文,本题尚未有战队攻破:


扫码参与比赛
在这个充满变数的赛场上,没有人能够预料到最终的结局。有时,优势的领先可能只是一时的,一瞬间的失误就足以颠覆一切。而那些一直默默努力、不断突破自我的人,往往会在最后关头迎头赶上,成为最耀眼的存在。
谁能保持领先优势?谁能迎头赶上?谁又能突出重围成为黑马?

球分享

球点赞

球在看

点击阅读原文进入比赛


文章来源: https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&mid=2458519880&idx=1&sn=905a5bd2fe579e50e8edc695a8c31a34&chksm=b18d39c286fab0d4fbebd58111d337642c72b3048942fabdd6326c9f4f892a38a6859c2f1229&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh