第一次打国赛,只会两个签到题,求放过
Crypto
古典密码
1 | AnU7NnR4NassOGp3BDJgAGonMaJayTwrBqZ3ODMoMWxgMnFdNqtdMTM9 |
我们观察这一串字符,猜测使用了base64换表,进行解密,发现出问题了
我们使用随波逐流脚本工具,对其进行一个一个的暴力猜测,最后发现使用Atbash解密,获得一串字符串
1 | ZmF7MmI4MzhhLTk3YWQtZTlmNzQzbGdiYjA3LWNlNDctNmUwMjgwNGN9 |
然后我们用base64进行解密,得到:fa{2b838a-97ad-e9f743lgbb07-ce47-6e02804c}
发现已经出现了fa和括号的形式,所以我们用栅栏解密进行破解,栅栏栏数为2
得到最后的flag:flag{b2bb0873-8cae-4977-a6de-0e298f0744c3}
OvO
首先我们观察题目,题目遮住了e的200个最低位,所以我们已知e的最高位,而我们题目中的kk是可以通过直接作除法得到的,我们利用n比p和q大得多的性质,直接近似计算出我们的
然后我们尝试去化简我们题目中给出的式子:
然后我们对两边做乘以p的操作,就可以对其进行化简了
sage脚本如下所示:
1 | n = 111922722351752356094117957341697336848130397712588425954225300832977768690114834703654895285440684751636198779555891692340301590396539921700125219784729325979197290342352480495970455903120265334661588516182848933843212275742914269686197484648288073599387074325226321407600351615258973610780463417788580083967 |
通过在线sagemath求解出了我们的p,q和e
我们得到了:
1 | p=9915449532466780441980882114644132757469503045317741049786571327753160105973102603393585703801838713884852201325856459312958617061522496169870935934745091 |
然后就是简单的RSA解密
1 | p=9915449532466780441980882114644132757469503045317741049786571327753160105973102603393585703801838713884852201325856459312958617061522496169870935934745091 |
最后我们得到了flag:flag{b5f771c6-18df-49a9-9d6d-ee7804f5416c}