public class Verifier
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private java.math.BigInteger |
a
Commitment
|
private int |
accept
accept >> 0 = unsicher, 1 = akzeptiert, -1 = abgelehnt
|
private java.math.BigInteger |
b
Commitment, Challenge und Reponse des 2.Beweisteiles im OR-Protokoll
|
private int |
c
Challenge
|
private int |
C
Challenge für OR-Beweis
|
private int |
d |
private double |
errorProb
Fehlerwahrscheinlichkeit d.h.
|
private boolean |
extended
Protokolltyp (extended = OR-Protokoll)
|
private java.math.BigInteger |
g |
private GUIObserver |
gui
GUI in der die Berechnungen dargestellt werden sollen
|
private java.math.BigInteger |
p
Systemparameter
|
private java.math.BigInteger |
q |
private java.util.Random |
rand |
private java.math.BigInteger |
w_B |
private java.math.BigInteger |
x
öffentlicher Schlüssel des Beweisers (für einfachen Beweis)
|
private java.math.BigInteger |
x_A
öffentlicher Schlüssel des Beweisers (für erweiterten (OR) Beweis)
|
private java.math.BigInteger |
x_B
Schlüsselpaar des Verifizierers
|
private java.math.BigInteger |
y
Commitment, Challenge und Reponse des 2.Beweisteiles im OR-Protokoll
|
private java.math.BigInteger |
z
Response
|
Constructor and Description |
---|
Verifier() |
Verifier(GroupParam group) |
Verifier(GroupParam group,
int seed) |
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 |
reset()
Die Methode setzt Zustandswerte des Verifizierers zurück, wird für
Simulation eines Beweises benötigt.
|
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 |
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 java.math.BigInteger p
private java.math.BigInteger q
private java.math.BigInteger g
private java.math.BigInteger x
private java.math.BigInteger x_A
private java.math.BigInteger a
private java.math.BigInteger z
private int c
private int C
private java.math.BigInteger x_B
private java.math.BigInteger w_B
private java.math.BigInteger b
private java.math.BigInteger y
private int d
private double errorProb
private int accept
private boolean extended
private java.util.Random rand
private GUIObserver gui
public Verifier()
public Verifier(GroupParam group, int seed)
public Verifier(GroupParam group)
public void addO(GUIObserver o)
o
- GUIpublic void setProtocolType(java.lang.String type)
type
- Protokoll-Variantepublic void createKey()
public java.math.BigInteger getPublicKey()
public int hasAccepted()
public void toVerify(java.math.BigInteger assertion)
assertion
- Behauptung des Beweiserspublic void setCommitment(java.math.BigInteger commitment)
commitment
- Commitment apublic void setCommitments(java.math.BigInteger commitment1, java.math.BigInteger commitment2)
commitment1
- 1.Commitment (a)commitment2
- 2.Commitment (b)public void setResponse(java.math.BigInteger response)
response
- Antwort (z)public void setResponses(java.math.BigInteger response1, java.math.BigInteger response2, int d)
response1
- 1.Antwort (z)response2
- 2.Antwort (y)d
- Challenge des Beweisers (d)public void reset()
public java.lang.String getView()
public int getChallenge()
public void verify()
public void or_verify()