public class OrProof extends java.lang.Object implements SigmaProtocol
CommonInput.CommonInputVector of the subprotocols' common inputsOrProof.OrProofSecretInput (which encapsulates a witness for either the first or the second protocol)ProofOfPartialKnowledge may be more convenient for you.| Modifier and Type | Class and Description |
|---|---|
protected static class |
OrProof.OrProofResponse |
static class |
OrProof.OrProofSecretInput |
| Modifier and Type | Field and Description |
|---|---|
SigmaProtocol |
protocol0 |
SigmaProtocol |
protocol1 |
PROVER_ROLE, VERIFIER_ROLE| Constructor and Description |
|---|
OrProof(SigmaProtocol protocol0,
SigmaProtocol protocol1) |
| Modifier and Type | Method and Description |
|---|---|
org.cryptimeleon.math.expressions.bool.BooleanExpression |
checkTranscriptAsExpression(CommonInput commonInput,
Announcement announcement,
Challenge challenge,
Response response)
Used by the verifier to check whether the given transcript is accepting.
|
void |
debugProof(CommonInput commonInput,
SecretInput secretInput)
Checks if commonInput and secretInput are valid inputs for this protocol.
|
Announcement |
generateAnnouncement(CommonInput commonInput,
SecretInput secretInput,
AnnouncementSecret announcementSecret)
Used by the prover to generate an announcement (the first message sent in the protocol).
|
AnnouncementSecret |
generateAnnouncementSecret(CommonInput commonInput,
SecretInput secretInput)
Used by the prover to generate a secret value that will be input for future method calls.
|
Response |
generateResponse(CommonInput commonInput,
SecretInput secretInput,
Announcement announcement,
AnnouncementSecret announcementSecret,
Challenge challenge)
Used by the prover to generate a response (the third and last message sent in the protocol).
|
SigmaProtocolTranscript |
generateSimulatedTranscript(CommonInput commonInput,
Challenge challenge)
Generates a random transcript with the same distribution as an honestly generated one that contains the given
Challenge. |
ChallengeSpace |
getChallengeSpace(CommonInput commonInput)
Returns the challenge space used by this protocol.
|
Announcement |
restoreAnnouncement(CommonInput commonInput,
org.cryptimeleon.math.serialization.Representation repr) |
Response |
restoreResponse(CommonInput commonInput,
Announcement announcement,
Challenge challenge,
org.cryptimeleon.math.serialization.Representation repr) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcheckTranscript, checkTranscript, compressTranscript, decompressTranscript, generateChallenge, getFirstMessageRole, getProverInstance, getVerifierInstance, instantiateProtocol, restoreChallenge, restoreTranscriptgetRoleNames, instantiateProver, instantiateVerifierrunProtocolLocallypublic final SigmaProtocol protocol0
public final SigmaProtocol protocol1
public OrProof(SigmaProtocol protocol0, SigmaProtocol protocol1)
public AnnouncementSecret generateAnnouncementSecret(CommonInput commonInput, SecretInput secretInput)
SigmaProtocolFor example, for an implementation of the original Schnorr protocol, the announcement secret would be a random exponent r.
generateAnnouncementSecret in interface SigmaProtocolcommonInput - input to the overall protocol that both prover and verifier usesecretInput - input to the overall protocol that only the prover getspublic Announcement generateAnnouncement(CommonInput commonInput, SecretInput secretInput, AnnouncementSecret announcementSecret)
SigmaProtocolgenerateAnnouncement in interface SigmaProtocolpublic ChallengeSpace getChallengeSpace(CommonInput commonInput)
SigmaProtocolgetChallengeSpace in interface SigmaProtocolpublic Response generateResponse(CommonInput commonInput, SecretInput secretInput, Announcement announcement, AnnouncementSecret announcementSecret, Challenge challenge)
SigmaProtocolgenerateResponse in interface SigmaProtocolpublic org.cryptimeleon.math.expressions.bool.BooleanExpression checkTranscriptAsExpression(CommonInput commonInput, Announcement announcement, Challenge challenge, Response response)
SigmaProtocolcheckTranscriptAsExpression in interface SigmaProtocolpublic SigmaProtocolTranscript generateSimulatedTranscript(CommonInput commonInput, Challenge challenge)
SigmaProtocolChallenge.generateSimulatedTranscript in interface SigmaProtocolpublic Announcement restoreAnnouncement(CommonInput commonInput, org.cryptimeleon.math.serialization.Representation repr)
restoreAnnouncement in interface SigmaProtocolpublic Response restoreResponse(CommonInput commonInput, Announcement announcement, Challenge challenge, org.cryptimeleon.math.serialization.Representation repr)
restoreResponse in interface SigmaProtocolpublic void debugProof(CommonInput commonInput, SecretInput secretInput)
InteractiveArgumentdebugProof in interface InteractiveArgument