Skip to content

Class BSVShimECPoint

Inherits: Object

Shim Point wrapping BSV::Primitives::Secp256k1::Point.

Attributes

group [R]

Returns the value of attribute group.

Public Class Methods

from_secp_point(group, secp_point)

Not documented.

Public Instance Methods

add(other)

Not documented.

infinity?()

  • @return [Boolean]

initialize(group, bn = nil)

  • @return [BSVShimECPoint] a new instance of BSVShimECPoint

mul(*args)

Scalar multiplication: self * scalar (constant-time, Montgomery ladder).

Matches OpenSSL convention where EC_POINT_mul is always constant-time. Safe for both secret and public scalars.

Also supports the multi-scalar form: +mul(bns, points)+ computes bns[0]self + bns[1]points[0] + ... where +bns.length == points.length + 1+. - @overload mul - @overload mul - @return [BSVShimECPoint]

mul_ct(scalar_bn)

Constant-time scalar multiplication (alias for {#mul}).

Retained for backward compatibility and expressiveness. Delegates to {#mul}, which is constant-time by default. - @param scalar_bn [OpenSSL::BN, Integer] the scalar multiplier - @return [BSVShimECPoint]

mul_vt(scalar_bn)

Variable-time scalar multiplication (wNAF).

Faster than {#mul} but leaks timing information about the scalar. Use only for public scalars (e.g. signature verification). - @param scalar_bn [OpenSSL::BN, Integer] the public scalar multiplier - @return [BSVShimECPoint]

set_to_infinity!()

Not documented.

to_bn(format = :compressed)

Not documented.

to_octet_string(format = :compressed)

Not documented.