package basics
- Alphabetic
- Public
- All
Type Members
-
abstract
class
BcDlogGroup extends DlogGroup
Base class for EC-based groups where DLOG problem is hard (with bouncycastle-like interface).
- trait DiffieHellmanTupleProtocol extends SigmaProtocol[DiffieHellmanTupleProtocol]
- case class DiffieHellmanTupleProverInput(w: BigInteger, commonInput: ProveDHTuple) extends SigmaProtocolPrivateInput[DiffieHellmanTupleProtocol, ProveDHTuple] with Product with Serializable
-
trait
DlogGroup 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.
- 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
) -
case class
ProveDHTuple(gv: EcPointType, hv: EcPointType, uv: EcPointType, vv: EcPointType) extends 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
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 TranscriptMessage extends AnyRef
-
trait
VerifierMessage extends TranscriptMessage
The message sent by a verifier to its associated prover as part of a sigma protocol interaction.
Value Members
-
object
CryptoConstants
Constants used in crypto operations implementation.
- object CryptoFunctions
- 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
SecP256K1Group extends BcDlogGroup
Implementation of BcDlogGroup using SecP256K1 curve.
- object VerifierMessage