public class MiddleMan extends Verifier
Modifier and Type | Field and Description |
---|---|
private boolean |
attack |
(package private) GUIObserver |
gui |
private Prover |
P
Beweiser in einem Man-In-The-Middle Angriff
|
private Verifier |
V
Verifizierer
|
private Verifier |
victim
Verifizierer der getäuscht werden soll
|
Constructor and Description |
---|
MiddleMan(GroupParam group,
Verifier victim) |
Modifier and Type | Method and Description |
---|---|
void |
addO(GUIObserver o)
Legt GUI-Observer zum Darstellen gesendeter Nachrichten fest.
|
void |
createKey()
Diese Methode erzeugt ein Schlüsselpaar für den Verifizier, mit w_B als geheimen und x_B als
öffentlichen Schlüssel.
|
int |
getChallenge()
Die Methode getChallenge gibt eine Challenge c=0 oder c=1 zurück
|
java.math.BigInteger |
getPublicKey()
Gibt öffentlichen Schlüssel x_B des Verifizierers zurück
|
java.lang.String |
getView()
Gibt Trankript der Beweisrunde zurück.
|
int |
hasAccepted()
Gibt Zustand des Verifizierers zurück, d.h. ob der Beweis akzeptiert
wurde.
|
void |
or_verify()
Diese Methode verifiziert die Antworten des Beweisers und bestimmt
daraufhin die Wahrscheinlichkeit, dass der Beweiser das behauptete
Geheimnis kennt.
|
void |
setBehave(boolean attack) |
void |
setCommitment(java.math.BigInteger commitment)
Legt Commitment-Wert fest.
|
void |
setCommitments(java.math.BigInteger commitment1,
java.math.BigInteger commitment2)
Legt Commitment-Werte fest.
|
void |
setProtocolType(java.lang.String type)
Legt fest, ob für den Zero-Knowledge Beweis das einfache Protokoll oder
das erweiterte OR-Protokoll zum Einsatz kommt.
|
void |
setResponse(java.math.BigInteger response)
Legt Antwort fest und ruft Methode zum Verifizieren der Beweisrunde auf.
|
void |
setResponses(java.math.BigInteger response1,
java.math.BigInteger response2,
int d)
Legt Antworten in einem OR-Beweis fest und ruft Methode zur der
Beweirunde auf.
|
void |
toProof(Verifier verifier,
java.math.BigInteger assertion) |
void |
toVerify(java.math.BigInteger assertion)
Legt Behauptung des Beweisers (meist dessen öffentlicher Schlüssel) fest,
und setzt alle Werte des Verifizierungsvorganges zurück.
|
void |
verify()
Diese Methode verifiziert die Antwort des Beweisers und bestimmt
daraufhin die Wahrscheinlichkeit, dass der Beweiser das behauptete
Geheimnis kennt.
|
private Prover P
private Verifier V
private Verifier victim
private boolean attack
GUIObserver gui
public MiddleMan(GroupParam group, Verifier victim)
public java.math.BigInteger getPublicKey()
Verifier
getPublicKey
in class Verifier
public void setProtocolType(java.lang.String type)
Verifier
setProtocolType
in class Verifier
type
- Protokoll-Variantepublic void addO(GUIObserver o)
Verifier
public void setBehave(boolean attack)
public void toVerify(java.math.BigInteger assertion)
Verifier
public int getChallenge()
Verifier
getChallenge
in class Verifier
public void setCommitment(java.math.BigInteger commitment)
Verifier
setCommitment
in class Verifier
commitment
- Commitment apublic void setCommitments(java.math.BigInteger commitment1, java.math.BigInteger commitment2)
Verifier
setCommitments
in class Verifier
commitment1
- 1.Commitment (a)commitment2
- 2.Commitment (b)public void setResponse(java.math.BigInteger response)
Verifier
setResponse
in class Verifier
response
- Antwort (z)public void setResponses(java.math.BigInteger response1, java.math.BigInteger response2, int d)
Verifier
setResponses
in class Verifier
response1
- 1.Antwort (z)response2
- 2.Antwort (y)d
- Challenge des Beweisers (d)public void createKey()
Verifier
public int hasAccepted()
Verifier
hasAccepted
in class Verifier
public void toProof(Verifier verifier, java.math.BigInteger assertion)
public void verify()
Verifier
public void or_verify()
Verifier