ecash : das Geld auf der Festplatte

22
1 ecash : das Geld auf der Festplatte Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück [email protected] http://www.inf.uos.de/ecash

description

ecash : das Geld auf der Festplatte. Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück [email protected]. http://www.inf.uos.de/ecash. Kaufmann. Kunde. Bank. Bezahlen im Internet. Verschlüsselung. z76;9#d5%j§öst. Ich bin ein Euro. Ich bin ein Euro. - PowerPoint PPT Presentation

Transcript of ecash : das Geld auf der Festplatte

Page 1: ecash : das Geld auf der Festplatte

1

ecash : das Geld auf der Festplatte

Oliver Vornberger

Fachbereich Mathematik/Informatik

Universität Osnabrück

49069 Osnabrück

[email protected]

http://www.inf.uos.de/ecash

Page 2: ecash : das Geld auf der Festplatte

2

Bezahlen im Internet

KaufmannKunde

Bank

Page 3: ecash : das Geld auf der Festplatte

3

Verschlüsselung

Ich bin ein Euroz76;9#d5%j§östIch bin ein Euro

Page 4: ecash : das Geld auf der Festplatte

4

Caesar-Chiffre

Verschiebe Buchstaben im Alphabet

G

C A E S A R

E I EW V

z.B. 4

Page 5: ecash : das Geld auf der Festplatte

5

Vigenère

C A E S A R

3 1 3 1 3 1

F B H T D S

Page 6: ecash : das Geld auf der Festplatte

6

Ablauf

encode decodeKlartext x Klartext xChiffre y

Schlüssel e Schlüssel d

SPION

Page 7: ecash : das Geld auf der Festplatte

7

Diffie & Hellman, 1976

x

aus der Kenntnis von encode läßt sich nicht decode ermitteln

decode( )encode( ) = x

Page 8: ecash : das Geld auf der Festplatte

8

Einweg-Funktion

Caan 456789Cabarena 423477Cadiz 996543Caesar 784513Carter 341123Castrop 458944Capellen 675432

Page 9: ecash : das Geld auf der Festplatte

9

BobAlice

Nachricht verschlüsseln

y :=

encBencBdecB

x

ydecB ( )x :=

encB ( )

Page 10: ecash : das Geld auf der Festplatte

10

Rivest, Shamir, Adleman, 1978:

Geheim: Wähle 2 Primzahlen p,q

2357

1113171923293137414347...

Öffentlich: Bestimme n := p·q

Geheim: Wähle Primzahl d

Öffentlich: Bestimme e mit e·d mod (p-1)·(q-1) = 1

25 mod 12 = 1

encode(x) := x e mod n

decode(y) := y d mod n

Page 11: ecash : das Geld auf der Festplatte

11

Beispiel mit 2-stelligen Primzahlen:

p := 11q := 13n := 143d := 23e := 47

encode(x) := x 47 mod 143

decode(y) := y 23 mod 143

Page 12: ecash : das Geld auf der Festplatte

12

Beispiel mit 200-stelligen Primzahlen:

p=89909531058836627717440422858641402456684976683721255300590190073945028024188735646917834001445460697949352415335921952260900528540697407053331179637761895800615635806322855777396006499513330486337609

q=79902175078147244686379339512677276366231220752229356019349893671876420931744377430687365812687754246830101282297574713772455933933867764022563251792393443769903948317050160321698561025532877647684683

n=7183967091857281647581304065755973526232171670874824234027764220263949612908867044764409948013198639812433071661572827626547829385245705289778323945746104767498330122039464149315665206737745079315029030505846196489917568869335544777353689814016451189380595050450835091699231543139661865507163114707749384671493207215643822775585016598035481820024189408851781761294219320404437751888461388903116142947

d=6912880792983134201795097575592609129094117142951732155916113134708061619270609376090284210013866218445930101961895056516397352324585120228774900720850196541261833070428620931661349155515945612960396000308199646278344377562606989931674080238238945773520492076314252906439396129185619926176106618391594863515996066327659034986867136911356014076859406917008870341895680167331429079515342903719787052113

e=32060956321701259905596578736460047365111500078235979150808651783912548293819432597831619829917499109195252931659284324831218397277144058830127546998961582106443297700554088899665948071647548434168832003527652121631893839546797171960967191537076338226340888927287616084554407880875931958510259177246251661227907691999195827804405610391749679780186113

Page 13: ecash : das Geld auf der Festplatte

13

BobAlice

Nachricht verschlüsseln

y :=

[e , n][e , n]

p , q

[d , n]

x

y d mod nx :=

e mod n

Page 14: ecash : das Geld auf der Festplatte

14

Sicherheit

Der Spion kennt e, n, y

Faktorisieren von n würde p und q liefern.

Damit könnte er d ausrechnen.

Das Faktorisieren einer 500-stelligen Zahldauert Jahrzehnte.

encode decode

SPION

Page 15: ecash : das Geld auf der Festplatte

15

Reihenfolge vertauschen

decode(encode(x)) = x

= xed mod n

= xde mod n

= encode(decode(x))

Page 16: ecash : das Geld auf der Festplatte

16

BobAlice

Nachricht signieren

y :=

encB decB

xdecB ( )

yencB ( )x :=

encB

Page 17: ecash : das Geld auf der Festplatte

17

BankAlice

Münze signieren

y :=

encBank decBank

xdecBank ( )

yencBank ( )x :=

encBank

Page 18: ecash : das Geld auf der Festplatte

18

Problem

• Kunde darf die Münzenur einmal ausgeben.

• Bank soll nicht wissen, wofür der Kunde sein Geld ausgíbt.

Page 19: ecash : das Geld auf der Festplatte

19

BankAlice

ecash erzeugen mit blinder Signatur

s :=

encBank decBank

sdecBank ( )z :=

encBank ( )

encBankBlendfaktor

r

Schecknr

x •

zz = (x • r e)d mod n = xd • r ed mod n = xd • r mod ny:= z / r = xd mod n

= decBank (x)

BelasteKonto von Alicemit 1,- DM

Page 20: ecash : das Geld auf der Festplatte

20

KaufmannAlice

Münzen ausgeben

yencBank ( )

y

Bank

encBank ( )yx :=In Liste der verbrauchtenSchecks eintragenKaufmann 1,- Euro gutschreibenOK !

Ware

Page 22: ecash : das Geld auf der Festplatte

22

ecash

erfunden von David Chaum

Firma Digicash

Firma ecash-Technologies

1. Alice besorgt sich von der Bank blind signierte Münzen

2. Alice transferiert die Münzen zum Kaufmann

3. Der Kaufmann läßt sie bei der Bank gutschreiben