Object

sigmastate.basics

Curve25519

Related Doc: package basics

Permalink

object Curve25519 extends BcDlogGroup[Curve25519Point]

Linear Supertypes
BcDlogGroup[Curve25519Point], DlogGroup[Curve25519Point], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Curve25519
  2. BcDlogGroup
  3. DlogGroup
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def calcK(p: BigInteger): Int

    Permalink

    This function calculates k, the maximum length in bytes of a string to be converted to a Group Element of this group.

    This function calculates k, the maximum length in bytes of a string to be converted to a Group Element of this group.

    returns

    k

    Definition Classes
    BcDlogGroup
  6. def checkCurveMembership(x: BigInteger, y: BigInteger): Boolean

    Permalink

    Checks if the given x and y represent a valid point on the given curve, i.e.

    Checks if the given x and y represent a valid point on the given curve, i.e. if the point (x, y) is a solution of the curves equation.

    x

    coefficient of the point

    y

    coefficient of the point

    returns

    true if the given x and y represented a valid point on the given curve

    Definition Classes
    BcDlogGroup
  7. def checkMembershipAndCreate(x: BigInteger, y: BigInteger): Try[Curve25519Point]

    Permalink
    Definition Classes
    BcDlogGroup
  8. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def computeLL(groupElements: Array[Curve25519Point], exponentiations: Array[BigInteger]): Curve25519Point

    Permalink
    Attributes
    protected
    Definition Classes
    BcDlogGroup
  10. def computeNaive(groupElements: Array[Curve25519Point], exponentiations: Array[BigInteger]): Curve25519Point

    Permalink
    Attributes
    protected
    Definition Classes
    BcDlogGroup
  11. def createPoint(x: BigInteger, y: BigInteger): Curve25519Point

    Permalink
    Definition Classes
    BcDlogGroup
  12. def createRandomElement(): Curve25519Point

    Permalink

    Creates a random member of this Dlog group

    Creates a random member of this Dlog group

    returns

    the random element

    Definition Classes
    BcDlogGroupDlogGroup
  13. def createRandomGenerator(): Curve25519Point

    Permalink

    Creates a random generator of this Dlog group

    Creates a random generator of this Dlog group

    returns

    the random generator

    Definition Classes
    DlogGroup
  14. lazy val curve: ECCurve

    Permalink
    Definition Classes
    BcDlogGroup
  15. def endExponentiateWithPreComputedValues(base: Curve25519Point): Unit

    Permalink

    This function cleans up any resources used by exponentiateWithPreComputedValues for the requested base.

    This function cleans up any resources used by exponentiateWithPreComputedValues for the requested base. It is recommended to call it whenever an application does not need to continue calculating exponentiations for this specific base.

    Definition Classes
    BcDlogGroupDlogGroup
  16. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  18. def exponentiate(base: Curve25519Point, exponent: BigInteger): Curve25519Point

    Permalink

    Raises the base GroupElement to the exponent.

    Raises the base GroupElement to the exponent. The result is another GroupElement.

    returns

    the result of the exponentiation

    Definition Classes
    BcDlogGroupDlogGroup
    Exceptions thrown
  19. def exponentiateWithPreComputedValues(base: Curve25519Point, exponent: BigInteger): Curve25519Point

    Permalink

    Computes the product of several exponentiations of the same base and distinct exponents.

    Computes the product of several exponentiations of the same base and distinct exponents. An optimization is used to compute it more quickly by keeping in memory the result of h1, h2, h4,h8,... and using it in the calculation.

    Note that if we want a one-time exponentiation of h it is preferable to use the basic exponentiation function since there is no point to keep anything in memory if we have no intention to use it.

    returns

    the exponentiation result

    Definition Classes
    BcDlogGroupDlogGroup
  20. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  21. lazy val generator: Curve25519Point

    Permalink

    The generator g of the group is an element of the group such that, when written multiplicatively, every element of the group is a power of g.

    The generator g of the group is an element of the group such that, when written multiplicatively, every element of the group is a power of g.

    returns

    the generator of this Dlog group

    Definition Classes
    BcDlogGroupDlogGroup
  22. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  23. lazy val getInfinity: Curve25519Point

    Permalink

    Creates ECPoint.Fp with infinity values

    Creates ECPoint.Fp with infinity values

    Definition Classes
    BcDlogGroup
  24. def getInverse(groupElement: Curve25519Point): Curve25519Point

    Permalink

    Calculates the inverse of the given GroupElement.

    Calculates the inverse of the given GroupElement.

    groupElement

    to invert

    returns

    the inverse element of the given GroupElement

    Definition Classes
    BcDlogGroupDlogGroup
    Exceptions thrown
  25. def getKLeastSignBytes(x: BigInteger, k: Int): Array[Byte]

    Permalink

    This function returns the k least significant bytes of the number x

    This function returns the k least significant bytes of the number x

    returns

    k least significant bits of x

    Definition Classes
    BcDlogGroup
  26. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  27. lazy val identity: Curve25519Point

    Permalink

    returns

    the identity of this Dlog group

    Definition Classes
    BcDlogGroupDlogGroup
  28. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  29. lazy val k: Int

    Permalink
    Definition Classes
    BcDlogGroup
  30. lazy val maxLengthOfByteArrayForEncoding: Int

    Permalink

    This function returns the value <I>k</I> which is the maximum length of a string to be encoded to a Group Element of this group.

    This function returns the value <I>k</I> which is the maximum length of a string to be encoded to a Group Element of this group.

    Any string of length <I>k</I> has a numeric value that is less than (p-1)/2 - 1. <I>k</I> is the maximum length a binary string is allowed to be in order to encode the said binary string to a group element and vice-versa.

    If a string exceeds the <I>k</I> length it cannot be encoded.

    returns

    k the maximum length of a string to be encoded to a Group Element of this group. k can be zero if there is no maximum.

    Definition Classes
    BcDlogGroupDlogGroup
  31. def multiplyGroupElements(groupElement1: Curve25519Point, groupElement2: Curve25519Point): Curve25519Point

    Permalink

    Multiplies two GroupElements

    Multiplies two GroupElements

    returns

    the multiplication result

    Definition Classes
    BcDlogGroupDlogGroup
    Exceptions thrown
  32. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  33. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  34. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  35. lazy val order: BigInteger

    Permalink

    returns

    the order of this Dlog group

    Definition Classes
    BcDlogGroupDlogGroup
  36. def orderGreaterThan(numBits: Int): Boolean

    Permalink

    Checks if the order of this group is greater than 2^numBits

    Checks if the order of this group is greater than 2^numBits

    returns

    true if the order is greater than 2^numBits; false otherwise.

    Definition Classes
    BcDlogGroupDlogGroup
  37. lazy val p: BigInteger

    Permalink
    Definition Classes
    BcDlogGroup
  38. lazy val q: BigInteger

    Permalink
    Definition Classes
    BcDlogGroup
  39. val secureRandom: SecureRandom

    Permalink
    Definition Classes
    DlogGroup
  40. def simultaneousMultipleExponentiations(groupElements: Array[Curve25519Point], exponentiations: Array[BigInteger]): Curve25519Point

    Permalink

    Computes the product of several exponentiations with distinct bases and distinct exponents.

    Computes the product of several exponentiations with distinct bases and distinct exponents. Instead of computing each part separately, an optimization is used to compute it simultaneously.

    returns

    the exponentiation result

    Definition Classes
    BcDlogGroupDlogGroup
  41. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  42. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  43. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  44. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  45. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  46. val x9params: X9ECParameters

    Permalink
    Definition Classes
    BcDlogGroup

Inherited from BcDlogGroup[Curve25519Point]

Inherited from DlogGroup[Curve25519Point]

Inherited from AnyRef

Inherited from Any

Ungrouped