SigningKey
A SigningKey provides high-level access to the elliptic curve cryptography (ECC) operations and key management.
Constructors
new SigningKey()
Creates a new SigningKey for privateKey
.
Parameters
Parameter | Type |
---|---|
privateKey | BytesLike |
Returns
Source
Accessors
compressedPublicKey
The compressed public key.
This will always begin with either the prefix 0x02
or 0x03
and be 68 characters long (the 0x
prefix and 33
hexadecimal nibbles)
Returns
string
Source
privateKey
The private key.
Returns
string
Source
publicKey
The uncompressed public key.
This will always begin with the prefix 0x04
and be 132 characters long (the 0x
prefix and 130 hexadecimal
nibbles).
Returns
string
Source
Methods
computeSharedSecret()
Returns the ECDH shared secret between this
private key and the other
key.
The other
key may be any type of key, a raw public key, a compressed/uncompressed pubic key or aprivate key.
Best practice is usually to use a cryptographic hash on the returned value before using it as a symetric secret.
Parameters
Parameter | Type | Description |
---|---|---|
other | BytesLike | The other key to compute the shared secret with. |
Returns
string
The shared secret.
Example
Source
sign()
Return the signature of the signed digest
.
Parameters
Parameter | Type | Description |
---|---|---|
digest | BytesLike | The data to sign. |
Returns
The signature of the data.
Throws
If the digest is not 32 bytes long.
Source
addPoints()
Returns the point resulting from adding the ellipic curve points p0
and p1
.
This is not a common function most developers should require, but can be useful for certain privacy-specific techniques.
For example, it is used by QuaiHDWallet to compute child addresses from parent public keys and chain codes.
Parameters
Parameter | Type | Description |
---|---|---|
p0 | BytesLike | The first point to add. |
p1 | BytesLike | The second point to add. |
compressed ? | boolean | Whether to return the compressed public key. |
Returns
string
The sum of the points.
Source
computePublicKey()
Compute the public key for key
, optionally compressed
.
The key
may be any type of key, a raw public key, a compressed/uncompressed public key or private key.
Parameters
Parameter | Type | Description |
---|---|---|
key | BytesLike | The key to compute the public key for. |
compressed ? | boolean | Whether to return the compressed public key. |
Returns
string
The public key.
Example
Source
recoverPublicKey()
Returns the public key for the private key which produced the signature
for the given digest
.
Parameters
Parameter | Type | Description |
---|---|---|
digest | BytesLike | The data that was signed. |
signature | SignatureLike | The signature of the data. |
Returns
string
The public key.
Example
Source
Was this page helpful?