Lesung 13
Steffen Reith
2.2.17
FÄHIG
uiDas Fiat
.Shamir Protokoll
1¥11
"Sei
mpg
, wobeip
und qgroße Primzahlen
,i, Sei AE
Zu
1209 , dann hat x!
amodn entwedervier
Lösungen (
aheißt quadratischen Rest
, kurz : GR)
oder
keine ( quadratisch
er Nichtrest
, kurz q NR)
.ii ,
Das Berechnen
vonQuadratwurzeln
in Kn istetwa
genauso sehr wie die Fahtori
Sierung
von n .Initial isioung
- : "würfelt / wählt "i,
Alice berechnet Primzahlen pundg und
berechnet
n = pgii ,
Alice
wähltSEIT zufällig
und berechnet 2v =-3 modn .
Öffentlich
: lo , u)
Geheim : S ,, Quadrat wurzel von v
"
Behauptung
von Alice " Ich kenne die Quadrat wurzel von o!
"
Protokolle
i,Alice
wählteinreiht zufällig
,berechnet
x ±
Pnodu
und Schicht × anBob
.( Commitment )
ii,
Bob
würfelt
ein
Bit behalte
* und schicktes an Alice
( Challenge )
iii , Alice
berechnet yzrsbmodn
und schickt 3y
an Bob CResponse )
iv,
Bob prüft
, obg
?± x.vbmodn ( Verifikation )
BEI
Alice kennt die Quadrat Wurzel s nicht , dann kann siein 50% der Fälle
betrügen
• Alice vermutet
, dass Bob b. 0 wählt
⇒ Alice arbeitet normal weiter
, denn s wird nicht
benötigt
• Alice vermutet , dass Bob b- 1 wählt
⇒ Alice
berechnet Xt
± x. o " modn und schickt x 'statt x an Bob
In der
Response
-Phase
schickt sie r 4⇒ Während der
Verifikation
sphase gilt
:r ?
± x. o ± x. ötv modn , Also
akzeptiert Bob
Also
kann
Alice• mit
Wahrscheinlichkeit hz betrügen
.
Bob branch
mehrereRunden
umüberzeugt
zusein
Fehlerwahrscheinlichkeit
: 2- t bei t Runden•
Bob
muss dasBit
bzufällig
wählenSank Das
Fiat - ShamirProtokoll
istdurchführbar
, 5korrekt und hat die Zero -
Knowledge Eigenschaft
.Beweise Durchführbarkeit
:Kennt
Alice die Quadrat -Wurzel S
, dann kann sie immer
richtig antworten
, day2± ( rsb )
? = Ps " ± × .vbmodn
Korrektheit
Kennt Alice dieQuadratur
rzelnicht
,so kann sie nicht beide
Fragen beantworten
Annahme : Sie kann es doch
, dann berechnet
sie ( rs
)
r " = s modn§
denn dann könnteSie Quadratwurzeln in
Zu berechnen
und dies ist 6ein schweres
Problem
LE in derPraxis unmöglich
, NP -hart
• Zero -
knowledge
-Eigenschaft
: Ein Simulator S arbeitet wiefolgt
:i, S wählt
rezia
und einBit
ceho.iszufällig
Er schicht X ±
Piemodu
anBob
ii ,
Bob
wähltzufällig
einbeho.is
iii , Ist bac , so kann der Simulator
korrekt
antworten
, er schickt ranBob
, denn
pzx.vba.ir?vic.vbmodn
⇒korrekte Runde
iv,
Ist b
# c , so wird die Rundegelöscht
.#
7
-