Download - 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
http://www.inf.uos.de/ecash
2
Bezahlen im Internet
KaufmannKunde
Bank
3
Verschlüsselung
Ich bin ein Euroz76;9#d5%j§östIch bin ein Euro
4
Caesar-Chiffre
Verschiebe Buchstaben im Alphabet
G
C A E S A R
E I EW V
z.B. 4
5
Vigenère
C A E S A R
3 1 3 1 3 1
F B H T D S
6
Ablauf
encode decodeKlartext x Klartext xChiffre y
Schlüssel e Schlüssel d
SPION
7
Diffie & Hellman, 1976
x
aus der Kenntnis von encode läßt sich nicht decode ermitteln
decode( )encode( ) = x
8
Einweg-Funktion
Caan 456789Cabarena 423477Cadiz 996543Caesar 784513Carter 341123Castrop 458944Capellen 675432
9
BobAlice
Nachricht verschlüsseln
y :=
encBencBdecB
x
ydecB ( )x :=
encB ( )
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
11
Beispiel mit 2-stelligen Primzahlen:
p := 11q := 13n := 143d := 23e := 47
encode(x) := x 47 mod 143
decode(y) := y 23 mod 143
12
Beispiel mit 200-stelligen Primzahlen:
p=89909531058836627717440422858641402456684976683721255300590190073945028024188735646917834001445460697949352415335921952260900528540697407053331179637761895800615635806322855777396006499513330486337609
q=79902175078147244686379339512677276366231220752229356019349893671876420931744377430687365812687754246830101282297574713772455933933867764022563251792393443769903948317050160321698561025532877647684683
n=7183967091857281647581304065755973526232171670874824234027764220263949612908867044764409948013198639812433071661572827626547829385245705289778323945746104767498330122039464149315665206737745079315029030505846196489917568869335544777353689814016451189380595050450835091699231543139661865507163114707749384671493207215643822775585016598035481820024189408851781761294219320404437751888461388903116142947
d=6912880792983134201795097575592609129094117142951732155916113134708061619270609376090284210013866218445930101961895056516397352324585120228774900720850196541261833070428620931661349155515945612960396000308199646278344377562606989931674080238238945773520492076314252906439396129185619926176106618391594863515996066327659034986867136911356014076859406917008870341895680167331429079515342903719787052113
e=32060956321701259905596578736460047365111500078235979150808651783912548293819432597831619829917499109195252931659284324831218397277144058830127546998961582106443297700554088899665948071647548434168832003527652121631893839546797171960967191537076338226340888927287616084554407880875931958510259177246251661227907691999195827804405610391749679780186113
13
BobAlice
Nachricht verschlüsseln
y :=
[e , n][e , n]
p , q
[d , n]
x
y d mod nx :=
e mod n
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
15
Reihenfolge vertauschen
decode(encode(x)) = x
= xed mod n
= xde mod n
= encode(decode(x))
16
BobAlice
Nachricht signieren
y :=
encB decB
xdecB ( )
yencB ( )x :=
encB
17
BankAlice
Münze signieren
y :=
encBank decBank
xdecBank ( )
yencBank ( )x :=
encBank
18
Problem
• Kunde darf die Münzenur einmal ausgeben.
• Bank soll nicht wissen, wofür der Kunde sein Geld ausgíbt.
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
20
KaufmannAlice
Münzen ausgeben
yencBank ( )
y
Bank
encBank ( )yx :=In Liste der verbrauchtenSchecks eintragenKaufmann 1,- Euro gutschreibenOK !
Ware
21
ecash-Demo
1998: Deutsche Bank bietet ecash an
2001: Deutsche Bank stellt ecash ein.
http://pixelworld.plusline.de/usa-sf.html
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