• Keine Ergebnisse gefunden

Algorithmische Kryptographie Kapitel 16 Elektronisches Geld

N/A
N/A
Protected

Academic year: 2022

Aktie "Algorithmische Kryptographie Kapitel 16 Elektronisches Geld"

Copied!
80
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Algorithmische Kryptographie Kapitel 16

Elektronisches Geld

Walter Unger

Lehrstuhl f¨ur Informatik 1

30. Januar 2009

(2)

Einleitung Anforderungen

Einfaches Protokoll (Shimon Even 1978) Sicherheitsaspekte zum einfachen Protokoll Einfaches Protokoll mit Steuersatz

Grundlagen

Idee: Schnorrs Identifikation

Schnorrs Identifikation (nicht-interaktive Version) Aufbau einer Blinden Unterschrift

Aufbau

Faires Elektronisches Geld (Systemaufbau) Online System

M¨unze von der Bank abheben Zahlungsverkehr

Sicherheitsaspekte Zusammenfassung Offline System

M¨unze von der Bank abheben Bezahlung im Gesch¨aft Einzahlung bei der Bank

Sicherheitsaspekte und zugrundeliegende Probleme

(3)

Einleitung Grundlagen Aufbau Online System Offline System

Anforderungen (16:1) Walter Unger Z

Anforderungen an Elektronisches Geld

1. Soll mindestens so sicher sein wie eine normale Brieftasche.

2. Sollte denselben Freiheitsgrad wie beim Umgang mit Geld liefern.

3. Sollte anonymen Zahlungsverkehr erm¨ oglichen.

4. Sollte keine hohen Zusatzkosten ben¨ otigen.

Die ersten beiden Forderungen wurden bereits 1978 durch ein

Protokoll von Shimon Even realisiert.

(4)

Einleitung Grundlagen Aufbau Online System Offline System

Einfaches Protokoll (Shimon Even 1978) (16:2) Walter Unger Z

Idee

Bank:

Kunde A: Kunde B:

Konto A: 2300−1500 = 800 Konto B: 12000+1500 = 13500

SigA(A zahlt1500an B)SigB(A zahlt1500an B)

? 1

SigBank(A ist Kunde)

? 2

SigBank(B ist Kunde) -

3

SigB(A zahlt1500an B) SigA(A zahlt1500an B) 6 4 6

5

(5)

Einleitung Grundlagen Aufbau Online System Offline System

Einfaches Protokoll (Shimon Even 1978) (16:3) Walter Unger Z

Einleitung

I Direkte Anwendung von Public-Keys.

I Basierte auf dem Austausch von Quittungen und Unterschriften.

I Benutzt Taschencomputer mit Infrarotkommunikationsschnittstelle.

I Ger¨at sollte gegen gewaltsames ¨Offnen gesichert sein.

I Ein automatischer Einzug von Steuern w¨urde m¨oglich.

I Rechner wird von Bank mit Geld gef¨ullt, d.h. erh¨alt ein von der Bank verschl¨usseltes Public-Key-Verfahren f¨ur den Nutzer und den ¨offentlichen Schl¨ussel der Bank.

I Damit k¨onnen nun Quittungen und unterschriebene Rechnungen ausgetauscht werden.

I Diese k¨onnen sp¨ater bei der Bank zum Kontoausgleich vorgelegt werden.

I Der Kassenstand der elektronischen Brieftasche wird durch diese verwaltet.

(6)

Einleitung Grundlagen Aufbau Online System Offline System

Einfaches Protokoll (Shimon Even 1978) (16:4) Walter Unger Z

Systemaufbau

I Beteiligte Partner sind A,B (Privatpersonen) und X (Bank).

I Die Bank kennt dabeiDX,EX,DA,EA,DB,EB und die Kontost¨ande.

A: X:DX,EX

Bestimmt:EA,DA

IA:=DX(EA)

n=zu ¨ubertragender Geldwert t=aktuelle Zeit

EX,DA,EA,IA

t,npriv.Kom.

B: X:DX,EX

Bestimmt:EB,DB

IB :=DX(EB)

n=zu ¨ubertragender Geldwert EX,DB,EB,IB

t,npriv.Kom.

t=aktuelle Zeit

(7)

Einleitung Grundlagen Aufbau Online System Offline System

Einfaches Protokoll (Shimon Even 1978) (16:5) Walter Unger Z

Ubertragung von Geld zwischen A und B ¨

A:DA,EA,EX,DX(EA),nA,tA, B:DB,EB,EX,DX(EB),nB,tB

zA (zu sendender Betrag) zB (zu empfangender Betrag) A,zA

DX(EA)-

testet:zB

=! zA

B,zB,tB,r DX(EB)

r:= Zufallszahl

testet:zB

=! zA

|tA−tB|< εSekunden testet:nA>zA

nA:=nA−zA A

DA(zAtAr)-

zAtAr=! EA(DA(zAtAr))

−zAtBr=! EB(DB(−zAtBr)) B

DB(−zAtBr) nB:=nB+zB

(8)

Einleitung Grundlagen Aufbau Online System Offline System

Sicherheitsaspekte zum einfachen Protokoll (16:6) Walter Unger Z

Sicherheitsaspekte

A:DA,EA,EX,DX(EA),nA,tA, B:DB,EB,EX,DX(EB),nB,tB zA(zu sendender Betrag) zB(zu empfangender Betrag)

A,zA,DX(EA)

- testet:zB !

=zA testet:zB=!zA B,zB,tB,r,DX(EB)

r:= Zufallszahl

|tAtB|< εSekunden testet:nA>zA

nA:=nAzA A,DA(zAtAr)

- zAtAr

=!EA(DA(zAtAr))

−zAtBr=!EB(DB(−zAtBr)) B,DB(−zAtBr)

nB:=nB+zB

1. Verfahren ist so sicher wie die unterliegenden Verfahren.

2. Jeder Zahlungsverkehr ist durch die Bank direkt nachvollziehbar.

3. Ein Vorteil ist, dass man bei jedem Zahlungsverkehr Steuern erheben kann.

4. Dann w¨urde ein Steuersatz unter 3% alle anderen Steuern ersetzen.

5. F¨ur das Erheben der Steuern entstehen fast keine Zusatzkosten.

(9)

Einleitung Grundlagen Aufbau Online System Offline System

Einfaches Protokoll mit Steuersatz (16:7) Walter Unger Z

Ubertragung zwischen A und B mit Steuersatz ¨

A:DA,EA,EX,DX(EA),nA,tA, B:DB,EB,EX,DX(EB),nB,tB

zA (zu sendender Betrag) zB (zu empfangender Betrag) A,zA

DX(EA)-

testet:zB

=! zA·(1−δ) B,zB,tB,r

DX(EB)

r:= Zufallszahl

testet:zB

=! zA·(1−δ)

|tA−tB|< εSekunden testet:nA>zA

nA:=nA−zA A

DA(zAtAr)-

zAtAr=! EA(DA(zAtAr))

−zAtBr=! EB(DB(−zAtBr)) B

DB(−zAtBr) nB:=nB+zB

(10)

Einleitung Grundlagen Aufbau Online System Offline System

(16:8) Walter Unger Z

Einleitung

1. Heute will man aber faire Systeme.

2. Also Systeme, die den Zahlungsverkehr nicht der Bank offen legen.

3. Ein Nachverfolgen des Zahlungsverkehrs sollte nur ¨ uber eine autorisierte Stelle (Staat) m¨ oglich sein.

4. Idee zur Anonymisierung des Zahlungsverkehrs ist eine blinde digitale Unterschrift der Bank unter einer M¨ unze.

5. Nur der Staat kann die Unterschrift ggf. lesen.

(11)

Einleitung Grundlagen Aufbau Online System Offline System

(16:9) Walter Unger Z

Situation (Basis)

Bank:

u u u u u u uu u u uu u u

u

1 Kunde:

?

u

2

-

Gesch¨ aft:

u

3

PP PP PP PP PP P P i

(12)

Einleitung Grundlagen Aufbau Online System Offline System

(16:10) Walter Unger Z

Situation (R¨ uckverfolgung)

Bank:

u u u u u u uu u u uu u u

u u

1 Kunde:

?

u

2

-

Kasino:

u

3

PP PP PP PP PP P P i

(13)

Einleitung Grundlagen Aufbau Online System Offline System

(16:11) Walter Unger Z

Situation (Ohne R¨ uckverfolgung)

Bank:

u u u u u u uu u u uu u u

u u

1 Kunde:

?

uu

2

-

Kasino:

u

3

PP PP PP PP PP P P i

(14)

Einleitung Grundlagen Aufbau Online System Offline System

(16:12) Walter Unger Z

Situation (Ohne R¨ uckverfolgung, mit Kopie)

Bank:

u u u u u u uu u u uu u u

u u u

1 Kunde:

?

uuu

2

-

Gesch¨ aft:

uu

3

PP PP PP PP PP P P i

(15)

Einleitung Grundlagen Aufbau Online System Offline System

(16:13) Walter Unger Z

Situation (Ohne R¨ uckverfolgung, ohne Kopie)

Bank:

u u u u u u uu u u uu u u

u u

1 Kunde:

?

u

2

-

Gesch¨ aft:

u

3

PP PP PP PP PP P P i

(16)

Einleitung Grundlagen Aufbau Online System Offline System

(16:14) Walter Unger Z

Situation (Ohne R¨ uckverfolgung, doppelter Zahlung)

Bank:

u u u u u u uu u u uu u u

u u

1 Kunde:

?

u

2

-

Gesch¨ aft:

u

2

1

Gesch¨ aft:

u

3

PP PP PP PP PP P P i

Problematisch nur im Offline Fall

(17)

Einleitung Grundlagen Aufbau Online System Offline System

(16:15) Walter Unger Z

Situation (R¨ uckverfolgung nur durch Staat)

Bank:

u u u u u u uu u u uu u u

u u

1

?

1

1

Kunde:

u

2

-

Titelh¨ andler:

u

3

PP PP PP PP PP P P i

1

-

◦ ←→ ◦

Staat:

(18)

Einleitung Grundlagen Aufbau Online System Offline System

(16:16) Walter Unger Z

Einleitung

1. Heute will man aber faire Systeme.

2. Also Systeme, die den Zahlungsverkehr nicht der Bank offen legen.

3. Ein Nachverfolgen des Zahlungsverkehrs sollte nur ¨ uber eine autorisierte Stelle (Staat) m¨ oglich sein.

4. Idee zur Anonymisierung des Zahlungsverkehrs ist eine blinde digitale Unterschrift der Bank unter einer M¨ unze.

5. Nur der Staat kann die Unterschrift ggf. lesen.

(19)

Einleitung Grundlagen Aufbau Online System Offline System

Idee: Schnorrs Identifikation (16:17) Walter Unger Z

Voraussetzungen

1. p,qPrimzahlen mitqteiltp−1.

2. G Untergruppe der Ordnungqin ZZp. 3. g Generator inG.

4. h:{0,1}→ZZp kollisionssichere Hashfunktion.

5. Der geheime Schl¨ussel ist dannx∈ {0, . . . ,q−1}.

6. Und der ¨offentliche Schl¨ussel (p,q,g,y) mity =gx. 7. Damit wird Schnorrs Identifikations-Protokoll aufgebaut.

(20)

Einleitung Grundlagen Aufbau Online System Offline System

Idee: Schnorrs Identifikation (16:18) Walter Unger Z

Protokoll ProofLog (g , y )

GUntergruppe der Ordnungqin ZZp gGenerator inG h:{0,1}ZZp y=gx

P:x,y,g,p,q V:y,g,p,q

r∈ {0, . . . ,q−1}zuf¨allig

a:=gr a -

c c∈ {0, . . . ,q−1}zuf¨allig

b:=r−cx b - teste:a

? gbyc

I Dieses Protokoll kann mit der Hashfunktionheinfach in eine nicht-interaktive Version ¨ubertragen werden.

I Dabei wird ggf. gleichzeitig eine Nachrichtmunterschrieben.

(21)

Einleitung Grundlagen Aufbau Online System Offline System

Schnorrs Identifikation (nicht-interaktive Version) (16:19) Walter Unger Z

Protokoll σ(m) = (c , b) = ProofLog

h

(m, g , y )

GUntergruppe der Ordnungqin ZZp gGenerator inG h:{0,1}ZZp y=gx ProofLog(g,y)

P:x,y,g,p,q V:y,g,p,q

r∈ {0, . . . ,q1}zuf¨allig

a:=gr a

- c∈ {0, . . . ,q1}zuf¨allig

b:=rcx c

b - Teste:a

?gbyc

P:x,y,g,p,q,h V:y,g,p,q,h r∈ {0, . . . ,q−1}zuf¨allig

a:=gr c:=h(m◦a)

b:=r−cx (c,b),m

- Teste:c

=? h(m◦gbyc)

Fallsm=schreiben wir (c,b) =ProofLogh(g,y).

Dann ist dies ein nicht-interaktiver Beweis der Kenntnis von logg(y).

(22)

Einleitung Grundlagen Aufbau Online System Offline System

Schnorrs Identifikation (nicht-interaktive Version) (16:20) Walter Unger Z

Sicherheitsaspekte

GUntergruppe der Ordnungqin ZZp gGenerator inG h:{0,1}ZZp y=gx ProofLog(g,y) σ(m) = (c,b) =ProofLogh(m,g,y) ProofLogh(g,y)

P:x,y,g,p,q,h V:y,g,p,q,h

r∈ {0, . . . ,q1}zuf¨allig a:=gr

c:=h(ma)

b:=rcx (c,b),m

- Teste:c

=?h(mgbyc)

1. Die Sicherheit ergibt sich aus der Schwierigkeit, den diskreten Logarithmus log

g

(y ) zu bestimmen.

2. Falls das Gleiche r f¨ ur zwei verschiedenen Nachrichten m

1

, m

2

verwendet wird, so ist das Verfahren unsicher.

3. Sei σ(m

i

) = (c

i

, b

i

) f¨ ur i ∈ {0, 1}.

4. Dann gilt: g

r

= g

b1

y

c1

= g

b2

y

c2

.

5. Weiter gilt g

b1+xc1

= g

b2+xc2

und damit x =

b1−b2c

2−c1

.

(23)

Einleitung Grundlagen Aufbau Online System Offline System

Aufbau einer Blinden Unterschrift (16:21) Walter Unger Z

Einleitung

ProofLog(g,y) σ(m) = (c,b) =ProofLogh(m,g,y) ProofLogh(g,y)

1. Aus diesem Protokoll machen wir nun eine blinde Unterschrift.

2. Dazu wird der Kunde von der Bank eine blinde Unterschrift anfordern.

3. Aber er wird nicht dem Gesch¨aft gegen¨uber diese Unterschrift vorlegen, sondern eine von dem Kunden transformierte Unterschrift.

4. Damit ist es dann der Bank nicht mehr m¨oglich, durch Speichern aller Kommunikationen, auf den auf Verbleib der ausgegebenen M¨unzen zu schließen.

5. F¨ur dieses Protokoll und die notwendige Transformation der Unterschrift bauen wir zuerst die Idee auf:

(24)

Einleitung Grundlagen Aufbau Online System Offline System

Aufbau einer Blinden Unterschrift (16:22) Walter Unger Z

Idee einer Blinden Unterschrift

ProofLog(g,y) σ(m) = (c,b) =ProofLogh(m,g,y) ProofLogh(g,y)

P:x,y,g,p,q,h V:y,g,p,q,h

r∈ {0, . . . ,q1}zuf¨allig a:=gr

c:=h(ma)

b:=rcx (c,b),m

- teste:c

=?h(mgbyc)

P:x,y,g,p,q V:y,g,p,q,m r∈ {0, . . . ,q−1}zuf¨allig

a:=gr a -

c c=h(m, . . .)

b:=r−cx b - Teste:a

? gbyc

(25)

Einleitung Grundlagen Aufbau Online System Offline System

Aufbau einer Blinden Unterschrift (16:23) Walter Unger Z

Idee einer Blinden Unterschrift (Teil 2)

ProofLog(g,y) σ(m) = (c,b) =ProofLogh(m,g,y) ProofLogh(g,y)

P:x,y,g,p,q V:y,g,p,q,m

r∈ {0, . . . ,q1}zuf¨allig

a:=gr a

- c=h(m, . . .)

b:=rcx c

b - teste:a

?gbyc

1. Die Bank k¨onnte dieses Transcriptτ = (a,c,b) speichern.

2. Dann kann sie sp¨ater auf die Herkunft einer eingezahlten M¨unze schließen.

3. Daher formt der Kunde das Transcriptτ= (a,c,b) in ein neues Transcriptτ = (a,c,b) um.

4. Dieses neue Transcriptτ = (a,c,b) soll aber auch eine g¨ultige Unterschrift der Bank sein.

5. Dieses neue Transcript kann nur mit Hilfe vonτ erzeugt werden.

6. Ein weiteres Transcript kann vom Kunden nicht erzeugt werden.

7. Die Transformation erfolgt durch eine Funktionβ(u,v,w).

(26)

Einleitung Grundlagen Aufbau Online System Offline System

Aufbau einer Blinden Unterschrift (16:24) Walter Unger Z

Idee einer Blinden Unterschrift (Teil 2)

ProofLog(g,y) σ(m) = (c,b) =ProofLogh(m,g,y) ProofLogh(g,y)

P:x,y,g,p,q V:y,g,p,q,m

r∈ {0, . . . ,q1}zuf¨allig

a:=gr a

- c=h(m, . . .)

b:=rcx c

b - teste:a

?gbyc

β(u,v,w): G×ZZ2q→G×ZZ2q mit: a=augvyw (a,c,b)7→(a,c,b) c =uc+w b=ub+v I Es gilt:a=augvyw= (gbyc)ugvyw=gub+vyuc+w=gbyc.

I Damit istτ= (a,c,b) auch ein korrektes Transcript einer Unterschrift.

(27)

Einleitung Grundlagen Aufbau Online System Offline System

Aufbau einer Blinden Unterschrift (16:25) Walter Unger Z

Sicherheit des Kunden

ProofLog(g,y) σ(m) = (c,b) =ProofLogh(m,g,y) ProofLogh(g,y) β(u,v,w): G×ZZ2qG×ZZ2q mit: a=augvyw

(a,c,b)7→(a,c,b) c=uc+w b=ub+v a=augvyw= (gbyc)ugvyw=gub+vyuc+w=gbyc

Lemma

Eine Unterscheidung der Transcripte durch die Bank ist nicht m¨oglich.

Beweis.

Untersuche die Verteilung der Transcripte.

(28)

Einleitung Grundlagen Aufbau Online System Offline System

Aufbau einer Blinden Unterschrift (16:26) Walter Unger Z

Sicherheit des Kunden (Beweis)

ProofLog(g,y) σ(m) = (c,b) =ProofLogh(m,g,y) ProofLogh(g,y) β(u,v,w): G×ZZ2qG×ZZ2q mit: a=augvyw

(a,c,b)7→(a,c,b) c=uc+w b=ub+v a=augvyw= (gbyc)ugvyw=gub+vyuc+w=gbyc

I Fallsu,v,w zuf¨allig gew¨ahlt werden, so sindτ undτ unabh¨angig.

I F¨urτ= (a,c,b) gibt es jedes (a,c,b) genauq-mal inβ(u,v,w)(a,c,b) mit (u,v,w)∈ZZ3q (siehe n¨achste Folie).

I Damit ist die Wahrscheinlichkeit, dassτ= (a,c,b) eine Transformation vonτ = (a,c,b) ist

|{(u,v,w)∈ZZ3q(u,v,w)(a,c,b) = (a,c,b)}|

|ZZ3q| =q−2 gleich der eines zuf¨allig gew¨ahlten Transcriptsτ = (a,c,b).

I Damit ist eine (statistische) Unterscheidung durch die Bank nicht m¨oglich.

(29)

Einleitung Grundlagen Aufbau Online System Offline System

Aufbau einer Blinden Unterschrift (16:27) Walter Unger Z

Sicherheit des Kunden (Beweisschritt)

ProofLog(g,y) σ(m) = (c,b) =ProofLogh(m,g,y) ProofLogh(g,y) β(u,v,w): G×ZZ2qG×ZZ2q mit: a=augvyw

(a,c,b)7→(a,c,b) c=uc+w b=ub+v a=augvyw= (gbyc)ugvyw=gub+vyuc+w=gbyc

Zeige: F¨ ur τ = (a, c , b) gibt es jedes (a, c, b) genau q-mal in β

(u,v,w)

(a, c , b) mit (u, v, w ) ∈ Z Z

3q

.

I

Seien a, c , b und [a, ]c , b gegeben.

I

W¨ ahle ein u (Davon gibt es q St¨ uck).

I

Aus c = uc + w ergibt sich ein eindeutiges w .

I

Aus b = uc + v ergibt sich ein eindeutiges v.

I

Wegen

a = a

u

g

v

y

w

= (g

b

y

c

)

u

g

v

y

w

= g

ub+v

y

uc+w

= g

b

y

c

erhalten wir immer das gleiche a.

(30)

Einleitung Grundlagen Aufbau Online System Offline System

Aufbau einer Blinden Unterschrift (16:28) Walter Unger Z

Sicherheit der Bank

ProofLog(g,y) σ(m) = (c,b) =ProofLogh(m,g,y) ProofLogh(g,y)

Lemma

Die oben beschriebene Transformation ist die einzig m¨ ogliche.

Beweis.

Das wird in zwei Schritten gezeigt:

1. Zeige a := a

u

g

v

y

w

muss so gesetzt werden.

2. Falls τ = (a, c , b) korrektes Transcript ist, so sind c und b

auch so zu setzen.

(31)

Einleitung Grundlagen Aufbau Online System Offline System

Aufbau einer Blinden Unterschrift (16:29) Walter Unger Z

Sicherheit der Bank (1. Teil)

ProofLog(g,y) σ(m) = (c,b) =ProofLogh(m,g,y) ProofLogh(g,y) β(u,v,w): G×ZZ2qG×ZZ2q mit: a=augvyw

(a,c,b)7→(a,c,b) c=uc+w b=ub+v a=augvyw= (gbyc)ugvyw=gub+vyuc+w=gbyc

I Zeigea:=augvyw muss so gesetzt werden.

I Annahmea:=augvywg0, dann gilt:

a=augvywg0= (gbyc)ugvywg0=gub+vyuc+wg0=gbyc. I Die letzte Gleichung muss gelten, daτ = (a,c,b) korrektes Transcript

sein muss.

I Damit gilt:gb−(ub+v)+x(c−(uc+w))

=g0.

I Damit k¨onnen der Kunde und die Bank den diskreten Logarithmus logg(g0) bestimmen.

I Dag0zuf¨allig gew¨ahlt worden ist, kann dies nicht sein.

(32)

Einleitung Grundlagen Aufbau Online System Offline System

Aufbau einer Blinden Unterschrift (16:30) Walter Unger Z

Sicherheit der Bank (2. Teil)

ProofLog(g,y) σ(m) = (c,b) =ProofLogh(m,g,y) ProofLogh(g,y) β(u,v,w): G×ZZ2qG×ZZ2q mit: a=augvyw

(a,c,b)7→(a,c,b) c=uc+w b=ub+v a=augvyw= (gbyc)ugvyw=gub+vyuc+w=gbyc

I Fallsτ= (a,c,b) korrektes Transcript ist, so sindc undbwie oben zu setzen.

I Aus

gbyc =a=augvyw= (gbyc)ugvyw=gub+vyuc+w I folgtg(ub+v)−b=yc−uc+w.

I Damit gilt nunb=ub+v undc=uc+w, denn sonst k¨onntex bestimmt werden.

(33)

Einleitung Grundlagen Aufbau Online System Offline System

Aufbau einer Blinden Unterschrift (16:31) Walter Unger Z

Protokoll BlindLogSig

h

(m)

ProofLog(g,y) σ(m) = (c,b) =ProofLogh(m,g,y) ProofLogh(g,y)

P:x,y,g,p,q V:y,g,p,q,m

r∈ {0, . . . ,q1}zuf¨allig

a:=gr a

- c=h(m, . . .)

b:=rcx c

b - teste:a

?gbyc

β(u,v,w): G×ZZ2qG×ZZ2q mit: a=augvyw (a,c,b)7→(a,c,b) c=uc+w b=ub+v a=augvyw= (gbyc)ugvyw=gub+vyuc+w=gbyc

P:x,y,g,p,q V:y,g,p,q,m r∈ {0, . . . ,q−1}

a:=gr a- u,v,w ∈ {0, . . . ,q−1},v 6= 0 zuf¨allig a:=augvyw undc:=h(m◦a) b:=r−cx c c:= (cw)u

−1

b- Teste:a

? gbyc

b:=ub+v undσ(m) := (c,b)

Ein Test dieser Unterschrift erfolgt durchc=? h(m◦gbyc).

(34)

Einleitung Grundlagen Aufbau Online System Offline System

Aufbau einer Blinden Unterschrift (16:32) Walter Unger Z

Bemerkungen

ProofLog(g,y) σ(m) = (c,b) =ProofLogh(m,g,y) ProofLogh(g,y) (c,b) =BlindLogSigh(m) P:x,y,g,p,q V:y,g,p,q,m

r∈ {0, . . . ,q1}

a:=gr a

- u,v,w∈ {0, . . . ,q1},v6= 0 zuf¨allig a:=augvywundc:=h(ma)

b:=rcx c

c:= (cw)u−1

b- Teste:a

? gbyc

b:=ub+vundσ(m) := (c,b)

1. Es ist nur eine Unterschrift (M¨unze) m¨oglich, dennhist kollisionssicher.

2. Durch obige ¨Uberlegung kann V nur einakennen mitaugvyw und zugeh¨origen korrekten Werten (c,b).

3. Eine Erweiterung, das Okamoto-Schnorr Protokoll, ist sicher unter der Annahme, dass der Diskrete Logarithmus nicht effizient berechenbar ist.

4. Schreibweise: (c,b) =BlindLogSigh(m).

(35)

Einleitung Grundlagen Aufbau Online System Offline System

Aufbau einer Blinden Unterschrift (16:33) Walter Unger Z

Erinnerung:

ProofLog(g,y) σ(m) = (c,b) =ProofLogh(m,g,y) ProofLogh(g,y) (c,b) =BlindLogSigh(m)

P:g,p,q V:y1,y2g,p,q

r∈ {0, . . . ,q−1}zuf¨allig

a:= (a1,a2) := (g1r,g2r) a - c∈ {0, . . . ,q−1}zuf¨allig

b:=r−cx c

b - Teste:a1

? g1by1c Teste:a2

? g2by2c

Analog kann ein Protokoll, dass zwei Logarithmen gleich sind, mit blinder Unterschrift aus dem obigen Protokoll aufgebaut werden.

(36)

Einleitung Grundlagen Aufbau Online System Offline System

Aufbau einer Blinden Unterschrift (16:34) Walter Unger Z

Protokoll BlindLogSigEq

h

(g, y , m) (Vorbereitung)

ProofLog(g,y) σ(m) = (c,b) =ProofLogh(m,g,y) ProofLogh(g,y) (c,b) =BlindLogSigh(m)

P:x,y,g,g1,p,q V:y,g,g1,p,q,m r∈ {0, . . . ,q−1}zuf¨allig

a:= (a1,a2) := (gr,g1r) a-

u,v,w ∈ {0, . . . ,q−1},v6= 0 zuf¨allig a1:=au1gvyw

a2:=au1g1v

yw z:=zsyt

c:=h(m◦z◦a1◦a2) c c:= (cw)u

−1

b:=r−cx b

- teste:a1

? gbyc teste:a1

? g1byc Ergebnis: (z,c,b)

Nun ersetzen wirg1und die Berechnung vona2.

(37)

Einleitung Grundlagen Aufbau Online System Offline System

Aufbau einer Blinden Unterschrift (16:35) Walter Unger Z

Protokoll BlindLogSigEq

h

(g, y , m)

ProofLog(g,y) σ(m) = (c,b) =ProofLogh(m,g,y) ProofLogh(g,y) (c,b) =BlindLogSigh(m)

P:x,y,g,p,q V:y,g,p,q,m

s,t∈ {0, . . . ,q−1}zuf¨allig,s6= 0 m m:=m

1/sg−t r∈ {0, . . . ,q−1}zuf¨allig

z:=mx

a:= (a1,a2) := (gr,mr) a,z -

u,v,w ∈ {0, . . . ,q−1},v6= 0 zuf¨allig a1:=au1gvyw

a2:= (au2mvzw)s(au1gvyw)t z:=zsyt

c:=h(m◦z◦a1◦a2) c c:= (cw)u

−1

b:=r−cx b- teste:a1

? gbyc teste:a2

? mbzc Ergebnis: (z,c,b)

(38)

Einleitung Grundlagen Aufbau Online System Offline System

Aufbau einer Blinden Unterschrift (16:36) Walter Unger Z

Protokoll BlindLogSigEq

h

(g, y , m)

ProofLog(g,y) σ(m) = (c,b) =ProofLogh(m,g,y) ProofLogh(g,y) (c,b) =BlindLogSigh(m)

P:x,y,g,p,q V:y,g,p,q,m

s,t∈ {0, . . . ,q1}zuf¨allig,s6= 0 r∈ {0, . . . ,q1}zuf¨allig m

m:=m1/sg−t

z:=mx

a:= (a1,a2) := (gr,mr) a,z

- u,v,w∈ {0, . . . ,q1},v6= 0 zuf¨allig a1:=au1gvyw

a2:= (au2mvzw)s(au1gvyw)t z:=zsyt

c:=h(mza1a2)

b:=rcx c

c:= (cw)u−1

b- teste:a1

? gbyc teste:a2

? mbzc Ergebnis: (z,c,b)

I Es wird folgende Schreibweise (z,c,b) =BlindLogSigEqh(g,y,m) verwendet.

I Test der erzeugten Blinden Unterschrift:c=? h(m◦z◦gbyc◦mbzc) I Weiterhin kann noch eine weitere NachrichtMvon Punterschrieben

werden, indemM als zus¨atzlicher Parameter zuhhinzugenommen wird, d.h.h(M◦m◦z◦a1◦a2) bestimmt wird.

(39)

Einleitung Grundlagen Aufbau Online System Offline System

Faires Elektronisches Geld (Systemaufbau) (16:37) Walter Unger Z

Einleitung

ProofLog(g,y) σ(m) = (c,b) =ProofLogh(m,g,y) ProofLogh(g,y) (c,b) =BlindLogSigh(m) (z,c,b) =BlindLogSigEqh(g,y,m)

I Im Folgenden entspricht Geld einer einzelnen M¨unze. D.h. wir zeigen wie eine M¨unze fair ¨ubertragen wird.

I Eine Erweiterung auf mehrere M¨unzen oder auf M¨unzen von verschiedenem Wert ist einfach.

I Aufbau:p,qPrimzahlen mitqteiltp−1, I G Untergruppe der Ordnungqin ZZp, I g,g1,g2Generatoren inG und

I h:{0,1}→ZZp kollisionssichere Hashfunktion.

I Es ist wichtig, dass der diskrete Logarithmus zwischen den Generatoren g,g1,g2unbekannt ist.

(40)

Einleitung Grundlagen Aufbau Online System Offline System

Faires Elektronisches Geld (Systemaufbau) (16:38) Walter Unger Z

Aufbau des Systems

Bank: Offentlichkeit:¨

w¨ahltx∈ {1, . . .q−1}geheimer Schl¨ussel y:=gx ¨offentlicher Schl¨ussel y

- y

Staat: Offentlichkeit:¨

w¨ahltxT∈ {1, . . .q−1}geheimer Schl¨ussel yT:=g2xT ¨offentlicher Schl¨ussel yT

- yT

Kunde: Offentlichkeit:¨

w¨ahltxC ∈ {1, . . .q−1}geheimer Schl¨ussel yC :=g1xC ¨offentlicher Schl¨ussel yC

- yC

(41)

Einleitung Grundlagen Aufbau Online System Offline System

Faires Elektronisches Geld (Systemaufbau) (16:39) Walter Unger Z

Aufbau des Systems

Bank: Offentlichkeit:¨

ahltx∈ {1, . . .q1}geheimer Schl¨ussel y:=gx¨offentlicher Schl¨ussel y

- y

Staat: Offentlichkeit:¨

ahltxT∈ {1, . . .q1}geheimer Schl¨ussel yT:=g2xT ¨offentlicher Schl¨ussel yT

- yT

Kunde: Offentlichkeit:¨

ahltxC∈ {1, . . .q1}geheimer Schl¨ussel yC:=g1xC¨offentlicher Schl¨ussel yC

- yC

Gesch¨aft: Offentlichkeit:¨

w¨ahltxS ∈ {1, . . .q−1}geheimer Schl¨ussel yS :=g1xS ¨offentlicher Schl¨ussel yS

- yS

Kunde belegt seine Identit¨at mitProofLog(g1,yC).

(42)

Einleitung Grundlagen Aufbau Online System Offline System

(16:40) Walter Unger Z

Einleitung

I Im Folgenden werden wir zuerst ein on-line System betrachten,

I d.h. bei dem Abheben der M¨unze und beim Bezahlen im Laden wird eine Kommunikation mit der Bank bzw. Staat durchgef¨uhrt, um die M¨unze zu verifizieren.

I Dann ist das Kopieren einer M¨unze nicht m¨oglich, da die Bank eine Liste der eingezahlten M¨unzen vorh¨alt.

I Das Abheben einer M¨unze von der Bank geschieht mit einem Protokoll analog zum ProtokollBlindLogSigh mit einer leeren Nachrichtm.

P:x,y,g,p,q V:y,g,p,q,m

r∈ {0, . . . ,q1}

a:=gr a

- u,v,w∈ {0, . . . ,q1},v6= 0 zuf¨allig a:=augvywundc:=h(ma)

b:=rcx c

c:= (cw)u−1

b- Teste:a

? gbyc

b:=ub+vundσ(m) := (c,b)

(43)

Einleitung Grundlagen Aufbau Online System Offline System

(16:41) Walter Unger Z

Situation (Geld abheben)

Bank:

τ= (a,c,b) EStaat(u,v,w)

Kunde:

β(u,v,w)(τ) =τ= (a,c,b) EStaat(u,v,w)

M¨unze: (c,b)

Gesch¨aft:

Staat:

X=a,c,EStaat(u,v,w) Speichert:

(a,c,b)7→(a,c) 1:a

?

2:c,EStaat(u,v,w) 6

3:X- 4:ok)

5:c

?

M¨ unze durch blinde Unterschrift

(44)

Einleitung Grundlagen Aufbau Online System Offline System

unze von der Bank abheben (16:42) Walter Unger Z

M¨ unze von der Bank abheben (1.Teil)

P:x,y,g,p,q V:y,g,p,q,m

r∈ {0, . . . ,q1}zuf¨allig

a:=gr a

- u,v,w∈ {0, . . . ,q1},v6= 0 zuf¨allig a:=augvyw

c:=h(ma)

b:=rcx c

c:= (cw)u−1

b- teste:a

?gbyc

b:=ub+vundσ(m) := (c,b)

Bank:g,g1,g2,x,y,yC,p,q Kunde:g,g1,g2,xC,yC,y,p,q r∈ {0, . . . ,q−1}

a:=gr a -

u,v,w ∈ {0, . . . ,q−1},v 6= 0 a:=augvyw

c:=h(a) c,EyT(u,v,w)

c:= (cw)u

−1

Referenzen

ÄHNLICHE DOKUMENTE

Idee zur Anonymisierung des Zahlungsverkehrs ist eine blinde digitale Unterschrift der Bank unter einer Münze... Nur der Staat kann die

Was ist der Unterschied zwischen der Verschl¨ usselung mit Elliptischen Kurven und ElGamal (18:40) Walter Unger Z..

Welche Probleme kann man zum Aufbau eines Public-Key Systems nutzen Was ist eine One-Way Funktion.. Welche One-Way Funktionen gibt es Wie geht das Public-Key System

I Das Abheben einer M¨ unze von der Bank geschieht mit einem Protokoll analog zum Protokoll BlindLogSig h mit einer leeren Nachricht m.. P: x, y , g, p, q V: y, g, p, q, m r

I Der Lauscher misst die Ausrichtung des Photons, dann erzeugt er auch ein neues in gleicher Ausrichtung.. I Daher ist die Idee

I Der Lauscher misst die Ausrichtung des Photons, dann erzeugt er auch ein neues in gleicher Ausrichtung?. I Daher ist die Idee

Das DES-Verfahren (Data Encryption Standard) wurde 1978 vom amerikanischen NBS (National Bureau of Standards) ver¨ offentlicht und war damit das erste ¨ offentlich

Einleitung Neuzeit Klassisch Nachrichten Ethische Aspekte Anforderungen Ausblick auf die Vorlesung.. (1:1) Walter