Package

sigmastate

basics

Permalink

package basics

Visibility
  1. Public
  2. All

Type Members

  1. abstract class BcDlogGroup[ElemType <: ECPoint] extends DlogGroup[ElemType]

    Permalink
  2. class DiffieHellmanTupleInteractiveProver extends InteractiveProver[DiffieHellmanTupleProtocol, ProveDHTuple, DiffieHellmanTupleProverInput]

    Permalink
  3. trait DiffieHellmanTupleProtocol extends SigmaProtocol[DiffieHellmanTupleProtocol]

    Permalink
  4. case class DiffieHellmanTupleProverInput(w: BigInteger, commonInput: ProveDHTuple) extends SigmaProtocolPrivateInput[DiffieHellmanTupleProtocol, ProveDHTuple] with Product with Serializable

    Permalink
  5. trait DlogGroup[ElemType <: ECPoint] extends AnyRef

    Permalink

    This is the general interface for the discrete logarithm prime-order group.

    This is the general interface for the discrete logarithm prime-order group. Every class in the DlogGroup family implements this interface.

    The discrete logarithm problem is as follows: given a generator g of a finite group G and a random element h in G, find the (unique) integer x such that g^x = h.

    In cryptography, we are interested in groups for which the discrete logarithm problem (Dlog for short) is assumed to be hard. The most known groups of that kind are some Elliptic curve groups.

    ElemType

    is concrete type

  6. case class FirstDiffieHellmanTupleProverMessage(a: EcPointType, b: EcPointType) extends FirstProverMessage with Product with Serializable

    Permalink
  7. trait FirstProverMessage extends ProverMessage

    Permalink

    First message from the prover (message a of SigmaProtocol)

  8. trait InteractiveParty extends AnyRef

    Permalink
  9. trait InteractiveProver[SP <: SigmaProtocol[SP], CI <: SigmaProtocolCommonInput[SP], PI <: SigmaProtocolPrivateInput[SP, CI]] extends Prover[SP, CI, PI] with InteractiveParty

    Permalink
  10. trait NonInteractiveProver[SP <: SigmaProtocol[SP], PI <: SigmaProtocolPrivateInput[SP, CI], CI <: SigmaProofOfKnowledgeLeaf[SP, PI], P <: UncheckedTree] extends Prover[SP, CI, PI]

    Permalink
  11. trait Party[SP <: SigmaProtocol[SP], CI <: SigmaProtocolCommonInput[SP]] extends AnyRef

    Permalink

    common interface for both Prover and Verifier

  12. case class ProveDHTuple(gv: EcPointType, hv: EcPointType, uv: EcPointType, vv: EcPointType) extends SigmaProtocolCommonInput[DiffieHellmanTupleProtocol] with SigmaProofOfKnowledgeLeaf[DiffieHellmanTupleProtocol, DiffieHellmanTupleProverInput] with Product with Serializable

    Permalink

    Construct a new SigmaProp value representing public key of Diffie Hellman signature protocol.

    Construct a new SigmaProp value representing public key of Diffie Hellman signature protocol. Common input: (g,h,u,v)

  13. trait Prover[SP <: SigmaProtocol[SP], CI <: SigmaProtocolCommonInput[SP], PI <: SigmaProtocolPrivateInput[SP, CI]] extends Party[SP, CI]

    Permalink
  14. trait ProverMessage extends TranscriptMessage

    Permalink

    The message sent by a prover to its associated verifier as part of a sigma protocol interaction.

  15. case class SecondDiffieHellmanTupleProverMessage(z: BigInteger) extends SecondProverMessage with Product with Serializable

    Permalink
  16. trait SecondProverMessage extends ProverMessage

    Permalink

    Second message from the prover (message z of SigmaProtocol)

  17. trait SigmaProtocol[SP <: SigmaProtocol[SP]] extends AnyRef

    Permalink

    Abstract template for sigma protocols.

    Abstract template for sigma protocols. For details see the following book [1] Efficient Secure Two-Party Protocols - Techniques and Constructions, p.150)

  18. trait SigmaProtocolCommonInput[SP <: SigmaProtocol[SP]] extends AnyRef

    Permalink
  19. trait SigmaProtocolMsg extends AnyRef

    Permalink
  20. trait SigmaProtocolPrivateInput[SP <: SigmaProtocol[SP], CI <: SigmaProtocolCommonInput[SP]] extends AnyRef

    Permalink
  21. trait SigmaProtocolTranscript[SP <: SigmaProtocol[SP], CI <: SigmaProtocolCommonInput[SP]] extends AnyRef

    Permalink

    Sigma Protocol transcript enough for verification

  22. trait SimulatingProver[SP <: SigmaProtocol[SP], CI <: SigmaProtocolCommonInput[SP]] extends AnyRef

    Permalink
  23. trait TranscriptMessage extends AnyRef

    Permalink
  24. trait Verifier[SP <: SigmaProtocol[SP], CI <: SigmaProtocolCommonInput[SP]] extends Party[SP, CI]

    Permalink
  25. trait VerifierMessage extends TranscriptMessage

    Permalink

    The message sent by a verifier to its associated prover as part of a sigma protocol interaction.

  26. trait ZeroKnowledgeProofOfKnowledge[SP <: SigmaProtocol[SP]] extends AnyRef

    Permalink

Value Members

  1. object Curve25519 extends BcDlogGroup[Curve25519Point]

    Permalink
  2. object DLogProtocol

    Permalink
  3. object DiffieHellmanTupleInteractiveProver

    Permalink
  4. object DiffieHellmanTupleProverInput extends Serializable

    Permalink
  5. object ProveDHTuple extends Serializable

    Permalink
  6. object ProveDHTupleProp

    Permalink

    Helper extractor to match SigmaProp values and extract ProveDHTuple out of it.

  7. object SecP256K1 extends BcDlogGroup[SecP256K1Point]

    Permalink
  8. object SecP384R1 extends BcDlogGroup[SecP384R1Point]

    Permalink
  9. object SecP521R1 extends BcDlogGroup[SecP521R1Point]

    Permalink
  10. object SigmaProtocolFunctions

    Permalink
  11. object VerifierMessage

    Permalink

Ungrouped