package basics
- Alphabetic
- Public
- All
Type Members
- abstract class BcDlogGroup[ElemType <: ECPoint] extends DlogGroup[ElemType]
- trait DiffieHellmanTupleProtocol extends SigmaProtocol[DiffieHellmanTupleProtocol]
- case class DiffieHellmanTupleProverInput(w: BigInteger, commonInput: ProveDHTuple) extends SigmaProtocolPrivateInput[DiffieHellmanTupleProtocol, ProveDHTuple] with Product with Serializable
-
trait
DlogGroup[ElemType <: ECPoint] extends AnyRef
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
- case class FirstDiffieHellmanTupleProverMessage(a: EcPointType, b: EcPointType) extends FirstProverMessage with Product with Serializable
-
trait
FirstProverMessage extends ProverMessage
First message from the prover (message
a
ofSigmaProtocol
) - trait InteractiveParty extends AnyRef
- trait InteractiveProver[SP <: SigmaProtocol[SP], CI <: SigmaProtocolCommonInput[SP], PI <: SigmaProtocolPrivateInput[SP, CI]] extends Prover[SP, CI, PI] with InteractiveParty
- trait NonInteractiveProver[SP <: SigmaProtocol[SP], PI <: SigmaProtocolPrivateInput[SP, CI], CI <: SigmaProofOfKnowledgeLeaf[SP, PI], P <: UncheckedTree] extends Prover[SP, CI, PI]
-
trait
Party[SP <: SigmaProtocol[SP], CI <: SigmaProtocolCommonInput[SP]] extends AnyRef
common interface for both Prover and Verifier
-
case class
ProveDHTuple(gv: EcPointType, hv: EcPointType, uv: EcPointType, vv: EcPointType) extends SigmaProtocolCommonInput[DiffieHellmanTupleProtocol] with SigmaProofOfKnowledgeLeaf[DiffieHellmanTupleProtocol, DiffieHellmanTupleProverInput] with Product with Serializable
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)
- trait Prover[SP <: SigmaProtocol[SP], CI <: SigmaProtocolCommonInput[SP], PI <: SigmaProtocolPrivateInput[SP, CI]] extends Party[SP, CI]
-
trait
ProverMessage extends TranscriptMessage
The message sent by a prover to its associated verifier as part of a sigma protocol interaction.
- case class SecondDiffieHellmanTupleProverMessage(z: BigInteger) extends SecondProverMessage with Product with Serializable
-
trait
SecondProverMessage extends ProverMessage
Second message from the prover (message
z
ofSigmaProtocol
) -
trait
SigmaProtocol[SP <: SigmaProtocol[SP]] extends AnyRef
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)
- trait SigmaProtocolCommonInput[SP <: SigmaProtocol[SP]] extends AnyRef
- trait SigmaProtocolPrivateInput[SP <: SigmaProtocol[SP], CI <: SigmaProtocolCommonInput[SP]] extends AnyRef
-
trait
SigmaProtocolTranscript[SP <: SigmaProtocol[SP], CI <: SigmaProtocolCommonInput[SP]] extends AnyRef
Sigma Protocol transcript enough for verification
- trait SimulatingProver[SP <: SigmaProtocol[SP], CI <: SigmaProtocolCommonInput[SP]] extends AnyRef
- trait TranscriptMessage extends AnyRef
- trait Verifier[SP <: SigmaProtocol[SP], CI <: SigmaProtocolCommonInput[SP]] extends Party[SP, CI]
-
trait
VerifierMessage extends TranscriptMessage
The message sent by a verifier to its associated prover as part of a sigma protocol interaction.
- trait ZeroKnowledgeProofOfKnowledge[SP <: SigmaProtocol[SP]] extends AnyRef
Value Members
- object DLogProtocol
- object DiffieHellmanTupleInteractiveProver
- object DiffieHellmanTupleProverInput extends Serializable
- object ProveDHTuple extends Serializable
-
object
ProveDHTupleProp
Helper extractor to match SigmaProp values and extract ProveDHTuple out of it.
- object SecP256K1 extends BcDlogGroup[SecP256K1Point]
- object VerifierMessage