py_ecc.secp256k1 package
Submodules
py_ecc.secp256k1.secp256k1 module
- py_ecc.secp256k1.secp256k1.add(a: PlainPoint2D, b: PlainPoint2D) PlainPoint2D
Add two 2D points a and b using elliptic curve point addition, and return the resulting 2D point in plain coordinates.
- Parameters:
a (PlainPoint2D) – a 2D point on the elliptic curve
b (PlainPoint2D) – another 2D point on the elliptic curve
- Returns:
the resulting 2D point in plain coordinates
- Return type:
PlainPoint2D
- py_ecc.secp256k1.secp256k1.deterministic_generate_k(msghash: bytes, priv: bytes) int
Generate a deterministic value k for use in ECDSA signature generation, as described in RFC 6979. The generated k value is intended to provide protection against weak random number generation. https://datatracker.ietf.org/doc/html/rfc6979
- py_ecc.secp256k1.secp256k1.ecdsa_raw_recover(msghash: bytes, vrs: Tuple[int, int, int]) PlainPoint2D
Recover the public key from the signature and message hash.
- py_ecc.secp256k1.secp256k1.ecdsa_raw_sign(msghash: bytes, priv: bytes) Tuple[int, int, int]
Return a raw ECDSA signature of the provided data, using the provided private_key.
- py_ecc.secp256k1.secp256k1.from_jacobian(p: PlainPoint3D) PlainPoint2D
Convert a Jacobian point back to its corresponding 2D point representation.
- Parameters:
p (PlainPoint3D) – the point to convert
- Returns:
the 2D point representation
- Return type:
PlainPoint2D
- py_ecc.secp256k1.secp256k1.jacobian_add(p: PlainPoint3D, q: PlainPoint3D) PlainPoint3D
Add two points in Jacobian coordinates and return the result.
- Parameters:
p (PlainPoint3D) – the first point to add
q (PlainPoint3D) – the second point to add
- Returns:
the resulting Jacobian point
- Return type:
PlainPoint3D
- py_ecc.secp256k1.secp256k1.jacobian_double(p: PlainPoint3D) PlainPoint3D
Double a point in Jacobian coordinates and return the result.
- Parameters:
p (PlainPoint3D) – the point to double
- Returns:
the resulting Jacobian point
- Return type:
PlainPoint3D
- py_ecc.secp256k1.secp256k1.jacobian_multiply(a: PlainPoint3D, n: int) PlainPoint3D
Multiply a point in Jacobian coordinates by an integer and return the result.
- Parameters:
a (PlainPoint3D) – the point to multiply
n (int) – the integer to multiply the point by
- Returns:
the resulting Jacobian point
- Return type:
PlainPoint3D
- py_ecc.secp256k1.secp256k1.multiply(a: PlainPoint2D, n: int) PlainPoint2D
Multiply a 2D point a by an integer n using elliptic curve point multiplication, and return the resulting 2D point in plain coordinates.
- Parameters:
a (PlainPoint2D) – a 2D point on the elliptic curve
n (int) – an integer used for point multiplication
- Returns:
the resulting 2D point in plain coordinates
- Return type:
PlainPoint2D
- py_ecc.secp256k1.secp256k1.to_jacobian(p: PlainPoint2D) PlainPoint3D
Convert a 2D point to its corresponding Jacobian point representation.
- Parameters:
p (PlainPoint2D) – the point to convert
- Returns:
the Jacobian point representation
- Return type:
PlainPoint3D