Used as the key parameter of hashHmacSHA512
Default encoding used for Strings.
Number of iteration specified in BIP39 standard.
The size of the key in bits.
part of the protocol, do not change
Create a new context for cryptographic operations.
Create source of secure randomness.
Returns byte representation of the given field element.
Exponentiate a point.
Exponentiate a point.
point to exponentiate
exponent
p to the power of n (p^n
) i.e.
p + p + ... + p (n times)
Generates PBKDF2 key from a mnemonic and passphrase using SHA512 digest.
Byte representation of the given point.
Byte representation of the given point.
ASN.1, short for Abstract Syntax Notation One, is a standard and notation that describes data structures for representing, encoding, transmitting, and decoding data.
The ASN.1 encoding of EC point according to this standard can be one of two forms:
Compressed form: This is a shorter form where only the x coordinate and a bit of information about the y coordinate are stored. The full y coordinate can be recalculated from this information. The compressed form begins with a byte value of 02 or 03 (depending on the y coordinate), followed by the x coordinate.
Uncompressed form: This is a longer form where both the x and y coordinates are stored. The uncompressed form begins with a byte value of 04, followed by the x coordinate, and then the y coordinate.
NOTE, this encoding is not used in ErgoTree and not part of consensus, it is used for extended keys (in the wallet) to ensure BIP32 compatibility.
point to encode
if true, generates a compressed point encoding
Returns the affine x-coordinate after checking that this point is normalized.
Returns the affine x-coordinate after checking that this point is normalized.
The affine x-coordinate of this point
IllegalStateException
if the point is not normalized
Returns the affine y-coordinate after checking that this point is normalized
Returns the affine y-coordinate after checking that this point is normalized
The affine y-coordinate of this point
IllegalStateException
if the point is not normalized
A Curve instance describing the elliptic curve of the point p
A Curve instance describing the elliptic curve of the point p
the elliptic curve point
Returns the x-coordinate.
Returns the x-coordinate.
Caution: depending on the curve's coordinate system, this may not be the same value as in an affine coordinate system; use normalize() to get a point where the coordinates have their affine values, or use getAffineXCoord() if you expect the point to already have been normalized.
the x-coordinate of this point
Returns the y-coordinate.
Returns the y-coordinate.
Caution: depending on the curve's coordinate system, this may not be the same value as in an affine coordinate system; use normalize() to get a point where the coordinates have their affine values, or use getAffineYCoord() if you expect the point to already have been normalized.
the y-coordinate of this point
Computes HMAC-SHA512 hash of the given data using the specified key.
Computes HMAC-SHA512 hash of the given data using the specified key.
the secret key used for hashing
the input data to be hashed
a HMAC-SHA512 hash of the input data
Check if a point is infinity.
Multiply two points.
Multiply two points.
first point
second point
group multiplication (p1 * p2)
Negates the given point by negating its y coordinate.
Normalize a sequence of char values using NFKD normalization form.
Normalization ensures that any projective coordinate is 1, and therefore that the x, y coordinates reflect those of the equivalent point in an affine coordinate system.
Normalization ensures that any projective coordinate is 1, and therefore that the x, y coordinates reflect those of the equivalent point in an affine coordinate system.
a new ECPoint instance representing the same point, but with normalized coordinates
Return simplified string representation of the point (used only for debugging)
Returns the sign of the field element.
A facade for cryptographic operations. The concrete implementation is delegated to the Platform object, which is resolved by the compiler to either JVM or JS implementation. Cross-platform code should use this facade instead of the Platform object directly.