24-25下半学年第一次线上赛 | Writeup
MISC 签到 发现每个emoji的英文的首字母就代表了真实的字符 例如home->🏠->h,以此类推出hello ctf -> 🏠🦅🍋🍋🍊 🐈🌮🍟 Spa 根据提示可知,和斯巴达密码棒有关,搜索之后了解过后得知其实就是字符移位,也就是栅栏密码 搜索栅栏密码解密工具,通过不断测试栏数后就能得到答案 因为存在空格,个别在线工具可能解不出来,这里附上我使用的工具栅栏密码在线加密解密 - 千千秀字 CRYPTO ezRsa exp如下 from Crypto.Util.number import * import gmpy2 n = e = 65537 c = def factor(n): pq_list = [] a = gmpy2.iroot(n, 2)[0] while 1: B_2 = pow(a, 2) - n if gmpy2.is_square(B_2): b = gmpy2.iroot(B_2, 2)[0] p1q1= a - b p2q2 = a + b pq_list.append([p1q1, p2q2]) if len(pq_list) == 2: break a += 1 return pq_list pq_list = factor(n) X1, Y1 = pq_list[0] X2, Y2 = pq_list[1] p1 = gmpy2.gcd(X1, X2) q1 = gmpy2.gcd(Y1, Y2) p2 = X2 // p1 q2 = Y2 // q1 phi = (p1 - 1)*(q1 - 1)*(p2 - 1)*(q2 - 1) d = gmpy2.invert(e,phi) m = pow(c,d,n) flag = long_to_bytes(m) print(flag) WEB 打赏 详情见下一篇博客HKcert CTF 2024 final mini-ad | Writeup | Red的小屋 ...