class SchnorrSigning[B <: BigInt] extends AnyRef
- Alphabetic
- By Inheritance
- SchnorrSigning
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new SchnorrSigning(generator: HomogeneousPoint[B], order: BigInt, frByteSize: Long)(implicit arg0: Eq[B], arg1: Hashable[B], arg2: Field[B], mods: ModsByPrime[B])
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
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- implicit val hashableBigInt: Hashable[BigInt]
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- val publicKeyGen: PublicKeyGen[B]
- def sign[A](privateKey: PrivateKey[B], publicKey: PublicKey[B], message: A, k: BigInt, sha256: Sha256Hash)(implicit arg0: Hashable[A]): Option[SchnorrSignature]
Sign a message using our PRE privateKey.
Sign a message using our PRE privateKey. Also requires the corresponding (augmented) public key, which is included in the hash in order to prevent forgery attacks.
- privateKey
user's private PRE key
- publicKey
corresponding (augmented) public key
- message
the byte vector to sign
- k
random value between 1 and Curve.Order
- sha256
hash function to apply to message with concatenated information
- returns
Option[SchnorrSignature] Some((r, s)) if successful, None if (Curve.g * k) is the zero point or if its x value mod Curve.Order was 0
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def verify[A](publicKey: PublicKey[B], augmentingPrivateKey: PrivateKey[B], message: A, signature: SchnorrSignature, sha256: Sha256Hash)(implicit arg0: Hashable[A]): Boolean
Verify that signature of the message is valid using public key.
Verify that signature of the message is valid using public key. This is complicated by the fact that the public key that was supplied to the sign method was an augmented key, and to validate the signature, we need the pre- augmentation public key that actually matches the private key. But we also need the augmented public key, because we included it in the hash that we used for the signature. The caller should pass in the augmented public key and the server's private augmenting key, and we will unravel everything.
- publicKey
user's augmented public key
- augmentingPrivateKey
server's private key that was used to augment user's public key
- message
byte vector whose signature is being validated
- signature
signature that was generated for the message using user's private key
- sha256
hash function to apply to message with concatenated information
- returns
Boolean true if signature is valid for message and specified keys, false otherwise
- 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()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated