View Source Bitcoinex.Secp256k1 (bitcoinex v0.1.8)
General Secp256k1 curve operations. libsecp256k1: https://github.com/bitcoin-core/secp256k1
Currently supports ECDSA public key recovery.
In the future, we will NIF for critical operations. However, it is more portable to have a native elixir version.
Link to this section Summary
Functions
force_even_y returns the negated private key if the associated Point has an odd y. Otherwise it returns the private key
Returns the y-coordinate of a secp256k1 curve point (P) using the x-coordinate. To get P(y), we solve for y in this equation: y^2 = x^3 + 7.
verify_point verifies that a given point is on the secp256k1 curve
Link to this section Functions
@spec force_even_y(Bitcoinex.Secp256k1.PrivateKey.t()) :: Bitcoinex.Secp256k1.PrivateKey.t() | {:error, String.t()}
force_even_y returns the negated private key if the associated Point has an odd y. Otherwise it returns the private key
Returns the y-coordinate of a secp256k1 curve point (P) using the x-coordinate. To get P(y), we solve for y in this equation: y^2 = x^3 + 7.
@spec verify_point(Bitcoinex.Secp256k1.Point.t()) :: bool()
verify_point verifies that a given point is on the secp256k1 curve