Packages

class SchnorrSigning[B <: BigInt] extends AnyRef

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SchnorrSigning
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new SchnorrSigning(generator: HomogeneousPoint[B], order: BigInt, frByteSize: Long)(implicit arg0: Eq[B], arg1: Hashable[B], arg2: Field[B], mods: ModsByPrime[B])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. implicit val hashableBigInt: Hashable[BigInt]
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  15. val publicKeyGen: PublicKeyGen[B]
  16. 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

  17. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  18. def toString(): String
    Definition Classes
    AnyRef → Any
  19. 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

  20. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped