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.