Tags: curves elliptic 

Rating:

Full walkthrough can be found here: https://www.youtube.com/watch?v=TeadBmee8W8

First we can use sage to find the generator point:

F = GF(8011)
E = EllipticCurve(F, [18, 9])


for i in range(8010, 8000, -1):
    try:
        print(i, E.lift_x(F(i)).order())
        if E.order() == E.lift_x(F(i)).order():
            print("NICE")
            break
    except Exception as e:
        print(e)
        pass

Then we can generate the shared secret:

(E.lift_x(8008) * 167) * 152
(E.lift_x(8008) * 152) * 167
Original writeup (https://youtu.be/TeadBmee8W8).