public class AdHocSchnorrProof extends DelegateProtocol
BaseProtocol.
Statements are specified using simple BasicNamedExponentVariableExprs.
Use builder(Zn) to construct and witnessOf(java.lang.Object) to specify where to source your witness (can be any Java object, in which case variable "x" is sourced from object member object.x. This can be your BaseProtocolInstance that stores all the variables relevant to the protocol).
The CommonInput for this is just null.
| Modifier and Type | Class and Description |
|---|---|
static class |
AdHocSchnorrProof.BaseSchnorrProofBuilder |
static class |
AdHocSchnorrProof.BaseSchnorrProofInput |
| Modifier and Type | Field and Description |
|---|---|
protected java.util.Map<java.lang.String,org.cryptimeleon.craco.protocols.base.AdHocSchnorrProof.FragmentCreator> |
fragmentCreators |
protected org.cryptimeleon.math.structures.rings.zn.Zn |
zn |
PROVER_ROLE, VERIFIER_ROLE| Modifier | Constructor and Description |
|---|---|
protected |
AdHocSchnorrProof(org.cryptimeleon.math.structures.rings.zn.Zn zn,
java.util.Map<java.lang.String,org.cryptimeleon.craco.protocols.base.AdHocSchnorrProof.FragmentCreator> fragmentCreators) |
| Modifier and Type | Method and Description |
|---|---|
static AdHocSchnorrProof.BaseSchnorrProofBuilder |
builder(org.cryptimeleon.math.structures.rings.zn.Zn zn) |
ZnChallengeSpace |
getChallengeSpace(CommonInput commonInput)
Returns the challenge space used by this protocol.
|
protected SendThenDelegateFragment.ProverSpec |
provideProverSpecWithNoSendFirst(CommonInput commonInput,
SecretInput secretInput,
SendThenDelegateFragment.ProverSpecBuilder builder) |
protected SendThenDelegateFragment.SubprotocolSpec |
provideSubprotocolSpec(CommonInput commonInput,
SendThenDelegateFragment.SubprotocolSpecBuilder builder) |
static AdHocSchnorrProof.BaseSchnorrProofInput |
witnessOf(java.util.function.Function<java.lang.String,?> witnessSource)
Get the witnesses by applying the given function.
|
static AdHocSchnorrProof.BaseSchnorrProofInput |
witnessOf(java.lang.Object witnessSource)
Get the witnesses from a Java object's object variables.
|
provideAdditionalCheck, provideProverSpec, provideSubprotocolSpec, restoreSendFirstValue, simulateSendFirstValuecheckTranscriptAsExpression, compressTranscript, debugProof, decompressTranscript, generateAnnouncement, generateAnnouncementSecret, generateResponse, generateSimulatedTranscript, restoreAnnouncement, restoreChallenge, restoreResponseclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcheckTranscript, checkTranscript, generateChallenge, getFirstMessageRole, getProverInstance, getVerifierInstance, instantiateProtocol, restoreTranscriptgetRoleNames, instantiateProver, instantiateVerifierrunProtocolLocallyprotected final org.cryptimeleon.math.structures.rings.zn.Zn zn
protected java.util.Map<java.lang.String,org.cryptimeleon.craco.protocols.base.AdHocSchnorrProof.FragmentCreator> fragmentCreators
protected AdHocSchnorrProof(org.cryptimeleon.math.structures.rings.zn.Zn zn,
java.util.Map<java.lang.String,org.cryptimeleon.craco.protocols.base.AdHocSchnorrProof.FragmentCreator> fragmentCreators)
protected SendThenDelegateFragment.ProverSpec provideProverSpecWithNoSendFirst(CommonInput commonInput, SecretInput secretInput, SendThenDelegateFragment.ProverSpecBuilder builder)
protected SendThenDelegateFragment.SubprotocolSpec provideSubprotocolSpec(CommonInput commonInput, SendThenDelegateFragment.SubprotocolSpecBuilder builder)
provideSubprotocolSpec in class DelegateProtocolDelegateFragment.provideSubprotocolSpec(SendThenDelegateFragment.SubprotocolSpecBuilder)public ZnChallengeSpace getChallengeSpace(CommonInput commonInput)
SigmaProtocolgetChallengeSpace in interface SigmaProtocolgetChallengeSpace in class SendThenDelegateProtocolpublic static AdHocSchnorrProof.BaseSchnorrProofInput witnessOf(java.lang.Object witnessSource)
public static AdHocSchnorrProof.BaseSchnorrProofInput witnessOf(java.util.function.Function<java.lang.String,?> witnessSource)
public static AdHocSchnorrProof.BaseSchnorrProofBuilder builder(org.cryptimeleon.math.structures.rings.zn.Zn zn)