Uporaba kriptografije v internetu
Kazalo   
 

Slepi podpis (blind signature)

Izraz "blind signature" je uvedel David Chaum v svojem pripevku "Blind Signatures for untraceable payments" na konferenci Crypto 1982. Gre za postopek, ko odjemalec pošlje v podpis strežniku tako zakrito sporočilo, da ga strežnik ne more prebrati. Strežnik torej na slepo podpiše sporočilo.

Slepi podpis z uporabo algoritma RSA poteka takole:
Odjemalec želi, da strežnik podpiše sporočilo g. Strežnikov zasebni ključ označimo z (n,d), javni ključ pa z (n,e). Odjemalec generira naključno število r, ki je tuje n. Izračuna število x = (re g) mod n in ga pošlje strežniku. Ta ne more izračunati g, ker je zakrit s številom r. Strežnik podpiše x (uporabi svoj zasebni ključ):
t = xd mod n
in t pošlje klientu. Ker velja:
xd (re g)d r gd mod n
odjemalec lahko izračuna strežnikov podpis svojega sporočila g tako, da deli dobljeno število t z r:
P(g)= r-1 t mod n

Odjemalec je tako prišel do podpisanega sporočila, ki ga nikakor ni mogel sam podpisati, ker ne pozna strežnikovega zasebnega ključa.

Sistem slepih podpisov se uporablja pri časovnem žigosanju, pri nakupovanju z digitalnim denarjem, v kriptografskih modulih za preprečevanje analiziranja porabljenega časa in moči (power analysis, timing analysis) ter pri e-volitvah.


November 2004