Open AsenOsen opened 4 years ago
In ECC public key is a point. In the Montgomery version of curve25519 in our lib we return public key in normalized form, it means that second coordinate is always 1, so only x is returned and it is returned in big endian order and that’s it. When you use the edward version of curve (ed25519) you get a standard formatted public key with the beginning 0x02/0x03 for compact and 0x04 for the full version. I don't know in what form your lib returns the public key, but it does not match with our lib for sure. Finally, I mention that our lib is port of elliptic-js, so you can also compare your lib with it, but the results will be similar.
I`ve decided to compare basic calculation of public key based on private key against Curve25519:
and this check has failed: