ECPoint

sealed class ECPoint(source)

elliptic curve point in homogeneous coordinates (X,Y,Z) to access affine coordinates, normalize the point. the point at infinity cannot be normalized.

See also

Inheritors

Types

Link copied to clipboard
object Companion
Link copied to clipboard
Link copied to clipboard
@Serializable(with = ECPointSerializer::class)
class Normalized : ECPoint

normalized elliptic curve point (Z = 1). cannot be the point at infinity.

Properties

Link copied to clipboard

the curve on which this point lies

Link copied to clipboard
val homX: ModularBigInteger

homogeneous X coordinate of point (X : Y : Z)

Link copied to clipboard
val homY: ModularBigInteger

homogeneous Y coordinate of point (X : Y : Z)

Link copied to clipboard
val homZ: ModularBigInteger

homogeneous Z coordinate of point (X : Y : Z)

Link copied to clipboard

whether this is the additive identity (point at infinity). the point at infinity cannot be normalized.

Functions

Link copied to clipboard
fun ECPoint.asPublicKey(preferCompressed: Boolean = false): CryptoPublicKey.EC
Link copied to clipboard

adds this to this and returns the result

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
inline operator fun ECPoint.minus(other: ECPoint): ECPoint
Link copied to clipboard

normalizes this point, converting it to affine coordinates. throws for the point at infinity.

Link copied to clipboard
operator fun ECPoint.plus(other: ECPoint): ECPoint

adds other to this and returns the result

Link copied to clipboard
inline fun ECPoint.times(v: BigInteger): ECPoint
inline fun ECPoint.times(v: ModularBigInteger): ECPoint
inline fun ECPoint.times(v: Int): ECPoint
inline fun ECPoint.times(v: Long): ECPoint
inline fun ECPoint.times(v: UInt): ECPoint
inline fun ECPoint.times(v: ULong): ECPoint
Link copied to clipboard
open override fun toString(): String
Link copied to clipboard

normalizes this point, converting it to affine coordinates. returns null for the point at infinity.

Link copied to clipboard
inline operator fun ECPoint.unaryMinus(): ECPoint.General
Link copied to clipboard
inline operator fun ECPoint.unaryPlus(): ECPoint