码迷,mamicode.com
首页 > 其他好文 > 详细

GeekGame 2020 Crypto简要出题思路

时间:2020-06-08 00:13:18      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:rsa算法   关系   离散   misc   amp   系统   org   分解   部分   

这是什么觅马

这个题以前做misc题时候看到的,当时觉得还蛮好玩的,随手玩了一下。加解密网站是https://codemoji.org/他这个网站有encrypt, decrypt, 和 share三个页面,似乎是没配置好的缘故,不能直接解密,需要先进入share页面然后手动更改url为decrypt,接着需要审查元素手动更改待解密的emoji信息内容,最后选择第一个密钥笑脸解密。由于这个网站的使用本身就像是个入门的CTF题,就拿来出题了。

 

自创觅马

这题当时是比赛半途出的,貌似密码学题目出的太难了,干脆加个送分的仿射密码。(本来我想出一个Feistel结构的逆向,但是生怕这个东西都太难了)仿射密码算Z/26Z的逆元甚至暴力破解都是可行的,最后被打成50分了,师傅们确实太强了。

 

verysmooth

这题改编自V&N招新赛的试题,本题大背景是与RSA算法极其相似的Rabin加密算法,加密指数为2。题目首先是生成一个带后门的大整数N,它的两个素因子都是光滑数,使用Pollard‘s p-1算法即可分解。分解后得到了私钥p和q,即可在有限域Fp和Fq上分别开模平方根得到解,然后再用中国剩余定理得到在模N的整数环中的模平方根结果。这里比较麻烦的事是两个素因子P和Q都是模4余1的,这在某川大学网安数学基础这门课中没有涉及。这里需要用Tonelli-shanks开根算法开根,也可以用其他的AMM,BV等等算法开根,方法五花八门不再阐述了。(题外话1:这题其实真的不难的,没想到没几个人去做)(题外话2:这题我跟其他几个Crypto方向的大神聊过,他们还都表示我太仁慈了,要整就整个开0x???????次方根的题,大佬们太恶毒了。)

 

MV

我自己承认这题其实出得很烂,主要灵感来源于课本里的M-V算法。这个算法的加密本身是不会带私钥d的,但是如果放在CTF里根据密文生成过程就能一瞬反推明文。。。可见这个系统是多么的脆弱和垃圾,为了出成题才勉强加上了私钥d。没想到这给部分解题选手带来了困扰。lcx大佬大晚上地来找我说我题出错了,我一看他算出的d太大了没有约束在合适的范围内,然后我提示他对椭圆曲线的阶取模,于是他很快就做出了这个题。所以这是此题的第一大漏洞。另外,这个题过于脑洞,在没提示随机密钥k和d有倍数关系的情况下猜出这个关系确实有点恶心了....一旦给出K和d的关系,这题就比较容易了,对生成的两个点P和C1计算离散对数,很快就能得到正确的k-d映射关系。解出了私钥d这题当然也就做完了。

 

GeekGame 2020 Crypto简要出题思路

标签:rsa算法   关系   离散   misc   amp   系统   org   分解   部分   

原文地址:https://www.cnblogs.com/sovereign/p/13063016.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!