Restructuring

This commit is contained in:
DagurB 2021-11-08 11:51:00 +00:00
parent ca4a1d0434
commit 759690c453
1 changed files with 4 additions and 1 deletions

View File

@ -27,6 +27,7 @@ The server creates a list of $x,y$ points where $x$ is md5(pw) and $y$ is a rand
Then the points are interpolated together using lagrange interpolation
Notice that both polynomials have the private keys = $P(md5(pw_i))$ where $P$ is the polynomial and can be substituted in to the curve equation
$P_y(md5(pw_i))^2 = P_x(md5(pw_i))^3 + 486662 * P_x(md5(pw_i))^2 + P_x(md5(pw_i)) \mod{2^{255} - 19}$
## Finding the hashes
To recover the hashes we seed to find for what n $P_x(n)^3 + 486662 * P_x(n)^2 + P_x(n) - P_y(n)^2 \equiv 0 \mod{2^{255} - 19}$
```python
pol = xPoly^3 + 486662 * xPoly^2 + xPoly - yPoly^2
@ -41,7 +42,9 @@ def md5(msg: bytes) -> int:
h.update(msg)
return int.from_bytes(h.digest(), 'little')
```
Here we see that the `md5()` function uses little endianess (ew) so we have to convert the hashes using `int(r).to_bytes(16, 'little').hex()`, the we can throw this into an online md5 lookup table (or hashcat if you are feeling fancy) and find
Here we see that the `md5()` function uses little endianess (ew) so we have to convert the hashes using `int(r).to_bytes(16, 'little').hex()`.
## Finishing up
Now we can throw this into an online md5 lookup table (or hashcat if you are feeling fancy) and find
```
481cf17a2f3a0cfafcedaa0dbea09fdc DDBBFF
476e90c539400f0e2988b32db64ae6bf honolulu-lulu