# RedPwn 2021 - Blecc [Crypto]

# CTF: RedPwn 2021

## Challenge information:

Name: Blecc

Category: Crypto

Description: Blecc! What are all these numbers? This doesn't look like RSA...

Author: AdnanSlef

Points: 119

Solves: 146 out of 1418 teams

Flag: `flag{m1n1_3cc}`

The challenge contains a file named blecc.txt with the following content:

p = 17459102747413984477

a = 2

b = 3

G = (15579091807671783999, 4313814846862507155)

Q = (8859996588597792495, 2628834476186361781)

d = ???

Can you help me find `d`

?

Decode it as a string and wrap in flag format.

## Writeup:

The description, the file contents and the challenge's name itself Blecc gives us a big hint "ECC" regarding Elliptic-Curve Cryptography. We are given:`p`

the prime modulus. `a, b, G and Q`

Usually a capital letter contains the point on the elliptic curve and lowercase letters mean integer scalar.

Once we understand the information given, we are ready to compute `d`

. I am using SageMath to do the maths. The finite field can be defined as `F = GF(P)`

, and we can define an Elliptic Curve `E`

in Sage using the `EllipticCurve`

command: `E = EllipticCurve(GF(p),[a, b])`

.

In this case `Q = k*G`

so `Q = d*G`

or `Q = GF(p)*G`

, and solve `d`

from the equation `d = G.discrete_log(Q)`

.

We can use `long_to_bytes`

from `pycryptodome`

or use `x.to_bytes((x.bit_length() + 7)//8, 'big')`

to convert `7868191182322623331`

to a string format:

And the flag for this crypto challenge is `flag{m1n1_3cc}`

.