前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CRYPTO|西湖论剑·2022中国杭州网络安全技能大赛初赛官方Write Up

CRYPTO|西湖论剑·2022中国杭州网络安全技能大赛初赛官方Write Up

作者头像
安恒网络空间安全讲武堂
发布2023-03-21 13:12:32
6320
发布2023-03-21 13:12:32
举报
(一)

MyCurveErrorLearn

  1. 题目定义的问题可以被描述为ECHNP(DH)ECHNP(DH):指定素数p、正整数m,以及上的椭圆曲线。点Q \in E, R\in 。定义E上的函数f,未知数P\in E,存在预言机\mathcal{O}_{P,R}(t)=f(P+[t]R)。通过预言机\mathcal{O}_{P,R}恢复P
  2. 参考文献HNP第7.1节 Elliptic Curve Hidden Number Problem中的构造,考虑输入0,则可以得到,此时分别输入,则可以得到多项式
F_i(X,Y) = X^2Y + A_iX^2 + A_{0,i}XY + B_iX + B_{0,i}Y + C_i

M = \begin{pmatrix} \delta^2&0&M_1\\ 0&\delta&M_2\\ 0&0&P \end{pmatrix}

其中和是由多项式构造的矩阵。 使用LLL算法即可求解SVP,从而得到恢复。

(二)

LockByLock

  1. 由附件可知在secureProcedure中得到了A加密flag的密文c1,B加密c1的密文c2,A解密c2的密文c3.
  2. 我们可以做两次输入让A,B来重复上述步骤并且得到中间值。 有 显然可以构造 然后已知e的范围,所以我们使用Pollard’s kangaroo求即可。求完之后带入secureProcedure中得到的结果取一次共模即可。

(三)

MyErrorLearn

  1. 题目定义的问题可以被描述为MIHNP MIHNP:指定素数p以及正整数k,d,未知数,令为独立随机乘数。从d对中恢复。 其中
  2. 参考文献HNP第7章The Modular Inversion Hidden Number Problem中的构造,有 有。 使用二元coppersmith求解此多项式方程,即可得到e。从而恢复s。

(四)

MyErrorLearnTwice

  1. 题目定义的问题可以被描述为MIHNP MIHNP:指定素数p以及正整数k,d,未知数,令为独立随机乘数。从d对中恢复。 其中
  2. 参考文献HNP第7章The Modular Inversion Hidden Number Problem中的构造,有 有。设,所以我们可以利用d组输出得到项方程 则为的维对角线方阵。为维矩阵,由上述多项式方程构造得到每一列。 考虑向量 为最短格向量。使用LLL算法即可求解e,从而得到s。

(五)

MyOracle

  1. 题目的关键点是找到Oracle泄露的有用信息,构造模型,很显然,mod是随机的,则当mod为偶数时,会泄露r的LSB,由此我们可以构造矩阵来恢复MT的全部state,从而预测随机数。 具体矩阵构造方式参考cryptography-wiki MT19937.
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-02-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 恒星EDU 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档