Singular Elliptic Curves

서론 최근 타원 곡선에 대해서 공부하면서 피상적으로 이해하던 부분을 좀 더 깊이 이해하는 단계에 들어서고 있습니다. 특히 수학에 대해서 배우는 것은 좋아하지만 고등 수...

2020-04-18 · 5 min · RBTree

AntiVirus Oracle

서론 CONFidence CTF 2020 Teaser라는 대회에서 Angry Defender라는 문제가 나왔습니다. 해당 문제는 Windows Defender의 특성을 이용해서 문제의 답에 해당하는 Fl...

2020-03-19 · 9 min · RBTree

Coppersmith's method

긴 글은 아니고, Coppersmith’s method에 대해서 공부하고 싶으신 분들을 위한 요약 글입니다. 기본 기본적인 Coppersmith’s method를 이해하는데 도움이 되는 글은 역시 Alexander May의...

2020-03-10 · 2 min · RBTree

[zer0pts CTF 2020] dirty laundry

Do you wanna air my dirty laundry? How to solve Recovering PRNG The challenge uses 256-bit LFSR PRNG, of which seed is the lower 256-bit of 1024-bit prime number. Let’s see pailler_enc unction. def paillier_enc(m, p, noise): p = next_prime(p + noise) q = getStrongPrime(512) n = p * q g = (1 + prng.rand() * n) % n**2 c = pow(g, m, n**2) * pow(prng.rand(), n, n**2) % n**2 return n, g, c The value p is 1024-bit, so n should be 1536-bit....

2020-03-09 · 5 min · RBTree

[zer0pts CTF 2020] nibelung

nc 18.179.178.246 3002 (This was all of the description) Overview From the organizer’s write-up(Link): FiniteGeneralLinearGroup is just a matrix class over a finite field. We can encrypt and decrypt arbitrary messages. Encryption is defined as: $Y = UXU^{-1}$. Decryption is defined as: $X = U^{-1}YU$. The size of matrix (from the server) is 6×6. How to solve You cannot decrypt the flag directly, because it only accepts the matrix with values in the range 0~255....

2020-03-09 · 2 min · RBTree