Math Task

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Math Task

https://github.com/BirminghamUK/Math_Task/

According to the source: https://en.wikipedia.org/wiki/Elliptic_curve

There is an "Elliptic Curve", with options ('P, A, B, Gx, Gy, N, H'):

P = 115792089237316195423570985008687907853269984665640564039457584007908834671663

A=0

B=7

Gx = 55066263022277343669578718895168534326250603453777594175500187360389116729240

Gy = 32670510020758816978083085130507043184471273380659243275938904335757337482424

N = 115792089237316195423570985008687907852837564279074904382605163141518161494337

H=1

Х = Value ( Private key )

Y = Value ( Public key )

Using "X" you can get the value "Y"

According to the Python code: "Receive_Y.py" we set these parameters and get the value "Y"
As shown in the example on GitHub:

https://github.com/BirminghamUK/Math_Task/blob/master/Receive_Y1.py
https://github.com/BirminghamUK/Math_Task/blob/master/Receive_Y2.py
https://github.com/BirminghamUK/Math_Task/blob/master/Receive_Y3.py

For recovery, we can use the Python code: "Recovery_X.py" and get "X" from the value "Y"

What is the requirement for this task? You need to find "X" by changing the code in
"Recovery_X.py". This code runs on the Po-Pollard algorithm and can only process small,
numerical values of "X".
As shown in the example on GitHub:

https://github.com/BirminghamUK/Math_Task/blob/master/Recovery_X1.py
https://github.com/BirminghamUK/Math_Task/blob/master/Recovery_X2.py
https://github.com/BirminghamUK/Math_Task/blob/master/Recovery_X3.py

Pay attention to the line (168 and 170), it is limited to the set [16, 24, 32]

The code solves a certain problem in this set, but to solve this problem, it is necessary to improve
the "Po-Pollard algorithm"
(Or it is possible to apply something new: "Montgomery curves" or "Semaev polynomials"
described in PDF)
As for the "Recovery_X.py" code, you can speed up the calculations by about 15 times. To do
this, install the gmpy2 module, and then remove # in lines 3, 44 and enter # 45 (At the moment,
the module is disabled, because the task is not solved to check the power , but to improve the
"Ro-Pollard_ algorithm")

This "Po-Pollard algorithm" stretches the time period of finding the value "X".
Applying mathematical knowledge can reduce this time period.
As we know, in order to optimize the answer we need to sort out the values with a huge number
of numbers from 2 ^ 256, this is a lot. Not one powerful computer in the world can not cope with
such a task.
To do this, you can apply all the tricks in the field of mathematics.
Discrete logarithms are not fully disclosed or studied by many.
Having solved this problem, you can radically change the current idea of numbers.

For a complete solution to this problem, you must find the "X"

You can select any one value from the list:

---------------------------------------------------------------------------------

X=?
Y = c9f051042467433b2199526db1ba327154d2bcd7c90c40070ba06869c5512194

---------------------------------------------------------------------------------

X=?
Y = 5706a053d30e90def1e863b2c8ec0f0c462e565cc19090c4926f105664d1bdf0

---------------------------------------------------------------------------------

X=?
Y = 43784344e1e0cb498c1d73b4cee970fb0f9adf38b7891d0b1310fdb9cbc23929

---------------------------------------------------------------------------------

X=?
Y = fc5e2ab560be4649b85511940daf8302cf2e2e06bfd60a75c8bae5f832da289c

---------------------------------------------------------------------------------

You might also like