case class ECPrivateKey(bytes: ByteVector) extends BaseECKey with AdaptorSign with MaskedToString with Product with Serializable
Created by chris on 2/16/16. A valid deserialized private key.
Note that there is no notion of compressed vs. decompressed as there is in Wallet Import Format (WIF), if dealing with external wallets then ECPrivateKeyBytes may be needed.
- Alphabetic
- By Inheritance
- ECPrivateKey
- Serializable
- Product
- Equals
- MaskedToString
- AdaptorSign
- AsyncAdaptorSign
- Sign
- AsyncSign
- BaseECKey
- NetworkElement
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ECPrivateKey(bytes: ByteVector)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def adaptorSign(adaptorPoint: ECPublicKey, msg: ByteVector, auxRand: ByteVector): ECAdaptorSignature
- Definition Classes
- ECPrivateKey → AdaptorSign
- def adaptorSign(adaptorPoint: ECPublicKey, msg: ByteVector): ECAdaptorSignature
- Definition Classes
- AdaptorSign
- def add(other: ECPrivateKey): ECPrivateKey
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def asyncAdaptorSign(adaptorPoint: ECPublicKey, msg: ByteVector, auxRand: ByteVector): Future[ECAdaptorSignature]
- Definition Classes
- AdaptorSign → AsyncAdaptorSign
- def asyncAdaptorSign(adaptorPoint: ECPublicKey, msg: ByteVector): Future[ECAdaptorSignature]
- Definition Classes
- AsyncAdaptorSign
- def asyncSign(bytes: ByteVector): Future[ECDigitalSignature]
- def asyncSignLowR(bytes: ByteVector)(implicit ec: ExecutionContext): Future[ECDigitalSignature]
- def asyncSignWithEntropy(bytes: ByteVector, entropy: ByteVector): Future[ECDigitalSignature]
Note that using this function to generate digital signatures with specific properties (by trying a bunch of entropy values) can reduce privacy as it will fingerprint your wallet.
Note that using this function to generate digital signatures with specific properties (by trying a bunch of entropy values) can reduce privacy as it will fingerprint your wallet. Additionally it could lead to a loss of entropy in the resulting nonce should the property you are interested in cause a constraint on the input space.
In short, ALL USES OF THIS FUNCTION THAT SIGN THE SAME DATA WITH DIFFERENT ENTROPY HAVE THE POTENTIAL TO CAUSE REDUCTIONS IN SECURITY AND PRIVACY, BEWARE!
- def byteSize: Long
The size of the NetworkElement in bytes.
The size of the NetworkElement in bytes.
- Definition Classes
- NetworkElement
- val bytes: ByteVector
The byte representation of the NetworkElement
The byte representation of the NetworkElement
- Definition Classes
- ECPrivateKey → NetworkElement
- def bytesLE: ByteVector
The byte representation of the NetworkElement in little endian
The byte representation of the NetworkElement in little endian
- Definition Classes
- NetworkElement
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def completeAdaptorSignature(adaptorSignature: ECAdaptorSignature, hashTypeByte: Byte): ECDigitalSignature
- def completeAdaptorSignature(adaptorSignature: ECAdaptorSignature): ECDigitalSignature
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def fieldElement: FieldElement
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hex: String
The hexadecimal representation of the NetworkElement
The hexadecimal representation of the NetworkElement
- Definition Classes
- NetworkElement
- def hexLE: String
The hexadecimal representation of the NetworkElement in little endian
The hexadecimal representation of the NetworkElement in little endian
- Definition Classes
- NetworkElement
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def negate: ECPrivateKey
- def nonceKey: ECPrivateKey
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def publicKey: ECPublicKey
Derives the public for a the private key
Derives the public for a the private key
- Definition Classes
- ECPrivateKey → AsyncSign
- def schnorrKey: ECPrivateKey
- def schnorrNonce: SchnorrNonce
- final def schnorrPublicKey: SchnorrPublicKey
- Definition Classes
- AsyncSign
- def schnorrSign(dataToSign: ByteVector, auxRand: ByteVector): SchnorrDigitalSignature
- Definition Classes
- ECPrivateKey → Sign
- final def schnorrSign(dataToSign: ByteVector): SchnorrDigitalSignature
- Definition Classes
- Sign
- final def schnorrSignWithHashType(dataToSign: ByteVector, hashType: HashType): SchnorrDigitalSignature
- Definition Classes
- Sign
- def schnorrSignWithNonce(dataToSign: ByteVector, nonce: ECPrivateKey): SchnorrDigitalSignature
- Definition Classes
- ECPrivateKey → Sign
- def sign(hash: HashDigest): ECDigitalSignature
- def sign(dataToSign: ByteVector): ECDigitalSignature
Signs a given sequence of bytes with the signingKey
Signs a given sequence of bytes with the signingKey
- dataToSign
the bytes to be signed
- returns
the digital signature
- Definition Classes
- ECPrivateKey → Sign
- def signLowR(bytes: ByteVector): ECDigitalSignature
- Definition Classes
- Sign
- def signLowRWithHashType(bytes: ByteVector, hashType: HashType): ECDigitalSignature
- Definition Classes
- Sign
- def signWithEntropy(bytes: ByteVector, entropy: ByteVector): ECDigitalSignature
Note that using this function to generate digital signatures with specific properties (by trying a bunch of entropy values) can reduce privacy as it will fingerprint your wallet.
Note that using this function to generate digital signatures with specific properties (by trying a bunch of entropy values) can reduce privacy as it will fingerprint your wallet. Additionally it could lead to a loss of entropy in the resulting nonce should the property you are interested in cause a constraint on the input space.
In short, ALL USES OF THIS FUNCTION THAT SIGN THE SAME DATA WITH DIFFERENT ENTROPY HAVE THE POTENTIAL TO CAUSE REDUCTIONS IN SECURITY AND PRIVACY, BEWARE!
- Definition Classes
- ECPrivateKey → Sign
- def signWithHashType(bytes: ByteVector, hashType: HashType): ECDigitalSignature
- Definition Classes
- Sign
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toPrivateKeyBytes(isCompressed: Boolean = true): ECPrivateKeyBytes
- final def toString(): String
- Definition Classes
- MaskedToString → AnyRef → Any
- def toStringSensitive: String
Returns the real value of a sensitive string This should be considered unsafe in the sense that this information is sensitive and could cause loss of funds if used anywhere things are persisted like logs
Returns the real value of a sensitive string This should be considered unsafe in the sense that this information is sensitive and could cause loss of funds if used anywhere things are persisted like logs
- Definition Classes
- ECPrivateKey → MaskedToString
- def toXOnly: XOnlyPubKey
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()