Sunteți pe pagina 1din 19

Prelegerea 1 Semn aturi electronice

1.1 Considerat ii generale

Vom lua n discut ie n aceast a sect iune not iunea de semn atur a electronic a ( ntr-un mediu de calcul) precum si diverse modalit a ti de utilizare ale ei. Orice semn atur a pe un document autentic a acest document dar si angajeaz a n mod normal responsabilitatea semnatarului. Probleme practice legate de rapiditatea transmiterii unor documente care s a e certicate ca autentice prin semn atur a au condus la necesitatea creerii de semn aturi electronice. De exemplu, se stie c a majoritatea operat iunilor si tranzact iilor bancare devin legal valide numai dup a ce ambele p art i au semnat formularele respective. Totu si, dac a p art ile sunt legate ntr-o ret ea de calculatoare, ele vor adesea s a faciliteze aceast a operat ie care provoac a un mare consum de timp; solicit a de aceea posibilitatea de a semna documentele folosind terminalele si ret eaua aat a la dispozit ie. Deci, apare urm atoarea problem a: Cum se poate crea o semn atur a ntr-un mediu de calcul ? Deoarece calculatoarele accept a informat ia numai n form a digital a, orice semn atur a pus a n discut ie trebuie s a aib a aceast a form a. O semn atur a (electronic a sau olograf a) trebuie s a satisfac a urm atoarele condit ii: Unic a: o anumit a semn atur a trebuie s a poat a generat a numai de o singur a persoan a; Neimitabil a: nici o alt a persoan a nu va putea genera semn atura utilizatorului indicat; altfel spus, utilizatorii ilegali trebuie s a rezolve probleme N P complete dac a vor s a foloseasc a o semn atur a care nu le apart ine; sor de autenticat: orice destinatar legal si orice arbitru ( n cazul unor eventuale U dispute) s a poat a stabili autenticitatea semn aturii (indiferent dup a ce interval de timp); Imposibil de negat: nici un utilizator legal s a nu- si poat a nega propria semn atur a, sub armat ia c a nu este autentic a; U sor de generat. Trebuie f acut a totu si distinct ie ntre semn atura olograf a si cea digital a. Iat a c ateva diferent e notabile ntre cele dou a tipuri de semn aturi: 1

PRELEGEREA 1. SEMNATURI ELECTRONICE

O semn atur a scris a de m an a este o conrmare zic a a unui document, cu ajutorul unei foi de h artie care cont ine dou a elemente: un mesaj (textul docu-mentului) si o semn atur a. O astfel de leg atur a ntre mesaje si semn aturi nu este posibil a ntr-un mediu de calcul; O semn atur a olograf a este aceea si indiferent de document. Pentru semn aturile digitale ns a, este esent ial ca ele s a depind a at at de semnatar c at si de cont inu-tul documentului; Orice copie a unui document electronic (inclusiv semn atura) este identic a cu originalul. In schimb copia unui document pe h artie este diferit a ca valoare de original. Aceasta conduce la ideea c a un document electronic nu este reutili-zabil. De exemplu, dac a Bob trimite lui Alice un cec n valoare de 10 milioane lei, banca nu va accepta onorarea sa dec at o singur a dat a.

1.2

Protocoale de semn atur a

Orice protocol de semn atur a este format dintr-un algoritm de semn atur a si un algoritm de vericare. Bob semneaz a un mesaj x bazat pe un algoritm (secret) de semn atur a sig . Rezultatul sig (x) este apoi vericat de un algoritm public de vericare ver. Pentru orice pereche (x, y ), algoritmul de vericare ofer a un r aspuns dicotomic (adev arat sau fals), dup a cum y este o semn atur a autentic a a lui x sau nu. Formal ([8]): atur a este un cvintuplu (P , A, K, S , V ) unde: Denit ia 1.1 Un protocol de semn 1. P , A, K sunt mult imi nite, nevide, ale c aror elemente se numesc mesaje, semn aturi si respectiv chei; 2. Exist a o aplicat ie biunivoc a ntre K si S V ; anume, pentru ecare K K exist a o pereche unic a (sigK , verK ) unde sigK : P A, verK : P A {T, F } au proprietatea: x P , y A, verK (x, y ) = T y = sigK (x)

Pentru ecare K K, funct iile sigK si verK trebuie s a e calculabile n timp polinomial; verK este public a iar sigK este secret a. Pentru Oscar, imitarea unei semn aturi a lui Bob pentru un mesaj x trebuie s a e imposibil a (din punct de vedere al complexit at ii calculului). Altfel spus, pentru un x dat, numai Bob este capabil s a calculeze o semn atur a y astfel ca ver(x, y ) = T . Bine nt eles, nici un protocol de semn atur a nu este absolut sigur, deoarece Oscar poate ncerca folosind funct ia public a de vericare ver toate semn aturile y posibile ale unui mesaj x, p an a va g asi semn atura corect a. Deci, dac a ar dispune de sucient timp, Oscar poate totdeauna s a contrafac a semn atura lui Bob. atur a este folosirea n acest scop a sistemului de Exemplul 1.1 Un prim exemplu de semn criptare RSA. Se denesc P = A = Zn , K = {(n, p, q, a, b) | n = pq, p, q prime, ab 1 (mod (n))}. n si b sunt publice, p, q, a sunt secrete. Pentru K = (n, p, q, a, b) se denesc: sigK (x) = xa (mod n) verK (x, y ) = T x y b (mod n)

1.3. SEMNATURA EL GAMAL

Aici Bob semneaz a un mesaj folosind cheia sa de decriptare din sistemul de criptare RSA; el este singurul capabil s a genereze o semn atur a corect a deoarece dK = sigK este secret a. Funct ia de vericare utilizeaz a funct ia de criptare eK care este public a, deci oricine o poate verica. De remarcat c a oricine poate genera o semn atur a a lui Bob pentru un mesaj aleator x; Oscar poate alege un y si calculeaz a x = ek (y ); atunci y = sigK (x). Acest lucru poate prevenit folosind mesaje x cu sucient de mult a redondant a (cu anumit a semnicat ie). O alt a modalitate de a evita acest atac este folosirea unor funct ii de dispersie (hash); vom studia aceast a manier a n prelegerea urm atoare. S a vedem cum pot combinate procedeele de semn atur a si criptare. Presupunem c a Alice dore ste s a trimit a lui Bob un mesaj criptat si semnat. Pentru un text clar x dat, Alice determin a semn atura y = sigAlice (x), dup a care cifreaz a x si y folosind cheia public a a lui Bob : z = eBob ((x, y )). Textul criptat z este transmis lui Bob. Acesta folose ste cheia sa secret a dBob si obt ine (x, y ). Dup a aceasta, veric a semn atura lui Alice cu ajutorul cheii publice verAlice (x, y ). Ce se nt ampl a dac a Alice cripteaz a nainte de a semna ? Ea va calcula z = eBob (x), y = sigAlice (eBob (x)) si va trimite lui Bob mesajul (z, y ). Acesta decripteaz a z , obt ine x si veric a y ca semn atur a a lui z . Pericolul const a n faptul c a Oscar poate intercepta (z, y ), nlocuie ste y cu propria sa semn atur ay si transmite lui Bob mesajul (z, y ). Din acest motiv se recomand a folosirea semn aturii nainte de criptare.

1.3

Semn atura El Gamal

Fie p un num ar prim (pentru care problema logaritmilor discret i n Zp este dicil a) si Zp = Zp \ {0} un element primitiv. Se ia: P = Zp , A = Zp Zp1 , K = {(p, , a, ) | = a (mod p)}. Valorile p, , sunt publice iar a este secret. Pentru K = (p, , a, ), k Zp1 (secret) se dene ste: sigK (x, k ) = (, ) unde = k (mod p), = (x a )k 1 (mod p 1).
, Zp1 se dene ste Pentru x, Zp

verK (x, , ) = T

x (mod p)

Dac a semn atura este corect a, vericarea autentic a semn atura, deoarece: a k (mod p) x (mod p) (s-a folosit egalitatea a + k x (mod p 1)). Protocolul de semn atur a El Gamal a fost denit n 1985 ([4]). Ca o particularitate, el nu este determinist: pentru un mesaj dat pot exista mai multe semn aturi valide. Funct ia de vericare va trebui deci s a accepte ca autentice toate aceste semn aturi.

PRELEGEREA 1. SEMNATURI ELECTRONICE

Protocolul de semn atur a ElGamal este descris pe pagina anterioar a. Bob calculeaz a semn atura folosind cheia sa secret aa si o valoare aleatoare secret a k (generat a numai pentru semnarea mesajului x). Vericarea se realizeaz a cu ajutorul cheii publice. Exemplul 1.2 : S a lu am p = 467, = 2, a = 127. Avem = a (mod p) = 2127 (mod 467) = 132. Dac a Bob dore ste s a semneze mesajul x = 100 aleg and valoarea k = 213 (de remarcat c a 1 (213, 466) = 1 si 213 (mod 466) = 431), va obt ine = 2213 (mod 467) = 29 si = (100 127 29) 431 (mod 466) = 51. Pentru a verica semn atura, calcul am 13229 2951 189 (mod 467) si 2100 189 (mod 467). Semn atura este deci valid a. S a studiem securitatea protocolului de semn atur a El Gamal. Vom presupune c a Oscar dore ste s a falsice semn atura pe mesajul x f ar a s a stie a. Dac a Oscar alege valoarea si ncearc a s a g aseasc a corespunz ator, el va trebui s a x calculeze logaritmul discret log . Dac a strategia sa este invers a: s a aleag a nt ai si s a caute apoi , el va trebui s a rezolve ecuat ia x (mod p) de necunoscut a . Nu se cunoa ste nc a o metod a pentru rezolvarea unei astfel de probleme. Dac a Oscar alege aleator si pe si caut a s a obt in a x, el va ajunge din nou la problema logaritmului discret, adic a la calculul log . Oscar poate totu si s a semneze un mesaj aleator x n felul urm ator: Fie numerele ntregi i, j (0 i p 2, 0 j p 2, (j, p 1) = 1). Se efectueaz a calculele: = i j (mod p); = j 1 (mod p 1); x = ij 1 (mod p 1) (deoarece calculele sunt f acute modulo p 1, exist a j 1 ). (, ) este o semn atur a valid a pentru x. Intr-adev ar, se veric a 1 i j 1 i j i j i j j 1 i j ij 1 i j i j ( ) ij ij x (toate calculele sunt f acute modulo p). S a exemplic am acest atac: Exemplul 1.3 Fie din nou p = 467, = 2, = 132. S a presupunem c a Oscar alege i = 99, j = 179 ( deci j 1 = 151 (mod p 1)); Oscar calculeaz a: = 299 132179 = 117 (mod 467) = 117 151 = 41 (mod 466) x = 99 41 = 331 (mod 466) Deci (117, 41) este o semn atur a a mesajului 331, ceea ce se poate verica imediat, calcul and 132117 11741 303 (mod 467) si 2331 303 (mod 467). Semn atura este deci valid a. S a mai ar at am o modalitate prin care Oscar poate utiliza un mesaj semnat anterior de Bob. S a presupunem c a (, ) este o semn atur a valida a lui x. Oscar poate semna atunci alte tipuri de mesaje: Fie h, i, j numere ntregi din intervalul [0, p 2] cu (h j, p 1) = 1.

ELGAMAL 1.4. VARIANTE ALE PROTOCOLULUI DE SEMNATUR A

Calcul am: l = h i j (mod p), y = l(h j )1 (mod p 1), x = l(hx + i )(h j )1 (mod p 1) unde (h j )1 este calculat modulo p 1. Se poate atunci verica direct l ly x (mod p). Deci (l, y ) este o semn atur a valid a a lui x . Aceste dou a strategii construiesc semn aturi valide, dar se pare c a nu este posibil ca cineva s a contrafac a semn atura unui mesaj ales de el, f ar a s a rezolve o problem a de logaritmi discret i. Din acest motiv se consider a c a nu exist a sl abiciuni n protocolul de semn atur a El Gamal. S a ar at am n nal dou a maniere de a sparge acest protocol de semn atur a, atunci c and este aplicat neglijent. a ntregul aleator k este cunoscut, se determin a imediat Dac 1 a = (x k ) mod (p 1) Din acest moment, Oscar, stiind a, poate calcula semn aturile la fel ca Bob. Dac a se utilizeaz a acela si k pentru mai multe mesaje. Aceasta i permite de asemenea lui Oscar s a determine a. El va proceda astfel: Fie (, i ) semn aturile mesajelor xi , i = 1, 2. Avem: i xi (mod p), i = 1, 2, deci x2 x1 2 1 (mod p). Inlocuind = k se obt ine ecuat ia de necunoscut a k: x2 x1 k(2 1 ) (mod p), care este echivalent a cu x2 x1 k (2 1 ) (mod p 1). Dac a se ia d = (2 1 , p 1), din d | (p 1) si d | (2 1 ) rezult a d | (x2 x1 ). Dac a not am: x = x2 x1 d = 2 1 d p = p1 d

ecuat ia devine x k (mod p). Cum ( , p ) = 1, se poate determina = ( )1 (mod p ). Valoarea lui k veric a deci relat ia k x (mod p), ceea ce conduce la determinarea a d candidat i la valoarea lui k , dat i de relat ia k = x + ip (mod p), i = 0, . . . , d 1. Din aceste d valori posibile, solut ia se determin a test and relat ia k (mod p)

1.4

Variante ale protocolului de semn atur a ElGamal

In general, un mesaj este criptat si decriptat o singur a dat a, ind necesar a doar securitatea sistemului de criptare. In schimb, un document semnat cum ar un contract are o valoare juridic a, si este posibil ca autenticitatea sa s a e vericat a chiar si dup a mai mult i ani. Este deci important s a existe criterii de securitate mai severe pentru semn atura electronic a dec at pentru criptare. Cum sigurant a protocolului de semn atur a ElGamal este echivalent a cu complexitatea problemei logaritmilor discret i, este necesar s a se foloseasc a un modul p c at mai mare. Un p de 1024 bit i conduce ns a la o semn atur a ElGamal de 2048 bit i, ceea ce o elimin a din multe aplicat ii (cum ar exemplu smart-cardurile).

PRELEGEREA 1. SEMNATURI ELECTRONICE

1.4.1

Standard de semn atur a electronic a

Standardul de semn atur a electronic a (DSS de la Digital Signature Standard) este o variant aa protocolului de semn atur a ElGamal, cu proprietatea c a reduce substant ial lungimea semn aturii. Protocolul de semn atur a DSS este urm atorul:
Fie p un num ar prim de 512 bit i, q un factor de 160 bit i ai lui p 1 si Zp o r ad acin a primitiv a de ordin q a unit at ii. , A = Zq Zq si K = {(p, q, , a, ) | a (mod p)}. Fie P = Zp Valorile p, q, , sunt publice, iar a este secret a. Pentru K = (p, q, , a, ) si pentru un num ar (secret) k (1 k q 1) se denesc:

sigK (x, k ) = (, ) unde = (k mod p) mod q = (x + a )k 1 mod q


Pentru x Zp , , Zq funct ia de vericare este denit a e1 e2 verK (x, , ) = T ( mod p) mod q =

unde e1 = x 1 (mod q )

e2 = 1 (mod q )

Diferent e ntre protocoalele de semn atur a El Gamal si DSS : a. DSS se distinge n primul r and de El Gamal prin faptul c a asigur a o semn atur a de 320 bit i pe un mesaj de 160 bit i, lucr and n Zp cu p de 512 bit i. Aceasta permite lucrul ntr-un corp cu circa 2160 elemente. Ipoteza este aceea c a n aceast a baz a, calculul logaritmilor discret i este foarte dicil. In denirea lui semnul s-a schimbat n +. Aceasta schimb a ecuat ia de vericare n: b. x mod p. Dac a (x + , p 1) = 1, atunci exist a 1 mod (p 1) si aceast a ecuat ie se poate scrie x 1 1 (mod p). c. (idee a lui Schnorr). S a presupunem c a q este un num ar de 160 bit i astfel nc at q | (p 1) si Zp este o r ad acin a primitiv a de ordinul q a unit atii modulo p (pentru a g asi un astfel (p1)/q de num ar, se ia o r ad acin a primitiv a 0 Zp si se construie ste = 0 (mod p)). In acest fel, si sunt de asemenea r ad acini de ordinul q ale unit a tii. Deci exponent ii lui , , se pot reduce modulo q , f ar a a modica ecuat ia de vericare de mai sus. Algoritmul de Schnorr folose ste si o funct ie de dispersie h : {0, 1} Zq (a se vedea prelegerea urm atoare), pe baza c areia dene ste componentele semn aturii astfel: = h(x k ), = k + (mod q ) Pentru x {0, 1} si , Zq , procedura de vericare este verK (x, (, )) = T h(x ) = Relat ia de vericare este adev arat a deoarece se obt ine imediat = k (mod p) Exemplul 1.4 Fie q = 101, p = 78q + 1 = 7879. 3 este r ad acin a primitiv a n Z7879 , deci se 78 poate lua = 3 (mod 7879) = 170. Dac a alegem de exemplu a = 75, obt inem = a (mod 7879) = 4567.

ELGAMAL 1.4. VARIANTE ALE PROTOCOLULUI DE SEMNATUR A

S a presupunem c a Bob dore ste s a semneze mesajul x = 1234 si ia k = 50 (deci k 1 (mod 101) = 99); el va avea: = (17050 mod 7879) mod 101 = 2518 (mod 101) = 94 = (1234 + 75 94) 99 (mod 101) = 97 Semn atura (94, 97) a mesajului 1234 se veric a prin calcul: 1 1 = 97 (mod 1010 = 25, e1 = 1234 25 (mod 1010 = 45, e2 = 94 25 (mod 101) = 27 (17045 456727 mod 7879) mod 101 = 2518 mod 101 = 94 Semn atura este deci valid a. In varianta Schnorr trebuie calculat a valoarea h(1234 2518) unde h este o funct ie de dispersie, iar 1234 si 2518 sunt reprezentate n binar. Pentru a nu intra n detalii, s a presupunem c a h(1234 2518) = 96. Atunci = 50 + 75 96 (mod 101) = 79 si semn atura este (96, 79). Ea este vericat a calcul and 17079 456796 (mod 7879) = 2518 si veric and h(1234 2518) = 96. O alt a variant a a protocolului DSS este protocolul de semn atur a DSA (Digital Signature Algorithm). Acesta a fost propus n 1991 si adoptat ca standard de semn atur a la 1 decembrie 1994 (dup a publicarea sa n Registrul Federal la 19 mai 1994). Singura modicare fat a de DSS const a n nlocuirea mesajului x (din calculul lui si al lui e1 ) cu SHA 1(x), unde SHA 1 este o funct ie de dispersie standard. Exemplul 1.5 S a relu am valorile lui p, q, , a, , k din Exemplul 1.4 si s a presupunem c a Alice vrea s a semneze amprenta SHA 1(x) = 22. Ea va calcula k 1 (mod 1010 = 501 (mod 1010 = 99, = (17050 (mod 7879)) (mod 1010 = 2518 (mod 101) = 94 si = (22 + 75 94) 99 (mod 101) = 97. Semn atura (94, 97) a amprentei 22 este vericat a efectu and calculele; 1 = 971 (mod 1010 = 25, e1 = 22 25 (mod 101) = 45, e2 = 94 25 (mod 101) = 27 si veric and c a 17045 456727 (mod 7879) (mod 101) = 2518 (mod 101) = 94. C and DSS a fost propus n 1991, a avut mai multe critici. Astfel: i s-au ar atat nemult umit i de impunerea m arimii de 512 bit i pentru modul; o m arime Mult variabil a care s a e aleas a de beneciari n funct ie de necesit at i ar fost mai convenabil a. Ca r aspuns, N IST a schimbat descrierea standardului pentru a permite alegerea ca modul a oric arui num ar divizibil cu 64 av and ntre 512 si 1024 bit i. In octombrie 2001 NIST revine si recomand a alegerea pentru p a unui num ar prim de 1024 bit i. Semn aturile pot mult mai u sor generate dec at vericate. Pentru comparat ie, n sistemul RSA un exponent mic de decriptare poate conduce la un protocol de vericare mult mai rapid dec at semn atura. Obiect ia este ridicat a din considerente practice, anume: a dat a, dar poate vericat de foarte multe ori de-a Un mesaj este semnat o singur lungul timpului. atur a si/sau Pe ce tipuri de calculatoare sunt efectuate aceste protocoale de semn vericare ? Cea mai mare parte a aplicat iilor folosesc calculatoare de birou, cu resurse limitate, care comunic a cu sisteme puternice de calcul. Trebuie dezvoltat deci un protocol care s a oblige calculatorul de birou la c at mai put ine calcule.

PRELEGEREA 1. SEMNATURI ELECTRONICE

R aspunsul dat de N IST la aceast a obiect ie a fost c a este foarte put in important ce calcul este mai simplu, av and n vedere sistemele actuale de calcul, tot mai performante.

1.4.2

Protocolul de semn atur a ECDSA

In 2000 protocolul ECDSA (Elliptic Curve Digital Signature Algorithm) a fost aprobat sub numele F IP S 186 2. S i el este o variant a a protocolului ElGamal, construit pentru funct ii eliptice. S a prezent am o descriere a sa: Fie p un num ar prim sau o putere a lui 2 si E o curb a eliptic a peste Zp . Fie A un punct din E de ordin q (num ar prim) astfel ca Problema Logaritmului discret pentru A s a e dicil a. Fie Zq , K= {(p, q, E, A, m, B ) | B = mA}, P = {0, 1} , A= Z1 unde m Zq1 . Valorile p, q, E, A, B sunt publice, m este cheia secret a. Pentru K = (p, q, E, A, m, B ) si k Zq ales aleator, denim sigK (x, k ) = (r, s) unde kA = (u, v ), r = u (mod q ), s = k 1 (SHA1 (x) + mr) (mod q ). (dac a r s = 0 se alege alt a valoare aleatoare pentru k ). Pentru x {0, 1} , r, s Zq vericarea este denit a prin 1 w = s (mod q ), i = w SHA1 (x) (mod q ), j = w r (mod q ), (u, v ) = iA + jB si verK (x, (r, s)) = T u (mod q ) = r Exemplul 1.6 S a consider am curba eliptic a y 2 = x3 + x + 6 denit a peste Z11 . Alegem parametrii protocolului de semn atur a astfel: p = 11, q = 13, A = (2, 7), m = 7 si B = (7, 2). (a se vedea si exemplul din prelegerea anterioar a). S a presupunem c a avem un mesaj x cu SHA1 (x) = 4 si Alice vrea s a-l semneze folosind valoarea aleatoare k = 3. Ea va calcula (u, v ) = 3 (2, 7) = (8, 3), r = u (mod 13) = 8 si s = 31 (4 + 7 8) (mod 13) = 7. Deci semn atura este (8, 7). Bob veric a aceast a semn atur a efectu and urm atoarele calcule: w = 71 (mod 13) = 2, i = 2 4 (mod 13) = 8, j = 2 8 (mod 13) = 3, (u, v ) = 8A + 3B = (8, 3) si u (mod 13) = 8 = r. Deci semn atura este valid a.

ONE-TIME 1.5. PROTOCOALE DE SEMNATUR A

1.5

Protocoale de semn atur a One-time

Ideea acestor protocoale se bazeaz a pe faptul c a funct ia care asigur a semn atura este folosit a pentru a semna un singur document, dup a care ea este abandonat a (cu toate c a poate vericat a de un num ar arbitrar de ori). Poate cel mai cunoscut astfel de procedeu este Protocolul de semn atur a Lamport: Fie k > 0 un num ar ntreg si P = {0, 1}k . Dac a f : Y Z este o funct ie neinversabil a, k se alege A = Y . Se selecteaz a aleator yi,j Y, 1 i k, j = 0, 1 si e zi,j = f (yi,j ). Cheia K este lista celor 2k valori y (secrete) si a celor 2k valori z (publice). Pentru K = {(yi,j , zi,j ) | 1 i k, j = 0, 1} se dene ste: sigK (x1 , . . . , xk ) = (y1,x1 , . . . , yk,xk ) si verK (x1 , . . . , xk , a1 , . . . , ak ) = T f (ai ) = zi,xi , 1 i k. Conform acestui protocol, mesajul care trebuie semnat este un sir binar de lungime k . Fiecare bit, de valoare j (j = 0, 1) este semnat prin zi,j , unde ecare zi,j este imaginea printr-o funct ie neinversabil a a unui yi,j . Vericarea const a n aplicarea lui f si compararea rezultatului cu cheia public a. ar prim, iar 3 Z7879 un element primitiv. Se dene ste Exemplul 1.7 Fie 7879 un num f (x) = 3x mod 7879. Dac a Bob dore ste s a semneze un mesaj de trei bit i, el alege (secret) sase numere aleatoare y1,0 = 5831 y2,0 = 803 y3,0 = 4285 y1,1 = 735 y2,1 = 2467 y3,1 = 6449 Calculeaz a apoi imaginea lor prin funct ia f : z1,0 = 2009 z2,0 = 4672 z3,0 = 268 z1,1 = 3810 z2,1 = 4721 z3,1 = 5731 Aceste numere z sunt publice. S a presupunem c a Bob vrea s a semneze mesajul x = (1, 1, 0). Semn atura lui este (y1,1 , y2,1 , y3,0 ) = (735, 2467, 4285) Pentru a verica semn atura, este sucient s a se constate c a: 3735 = 3810; 32467 = 4721; 34285 = 268, toate calculele ind realizate modulo 7879. Oscar nu poate imita semn atura, deoarece f nu are invers a. In plus, protocolul de semn atur a nu poate utilizat dec at pentru un singur mesaj: dac a dispune de dou a mesaje cu aceea si semn atur a, Oscar poate imita semn atura unui nou mesaj (diferit de cele dou a). De exemplu, dac a mesajele (0, 1, 1) si (1, 0, 1) sunt semnate prin procedeul de sus cu (y1,0 , y2,1 , y3,1 ) respectiv (y1,1 , y2,0 , y3,1 ), se pot imediat semna mesaje cum ar (1, 1, 1) sau (0, 0, 1). De si foarte simplu si elegant, acest protocol nu este practic din cauza dimensiunii mari a semn aturii. Relu and exemplul de mai sus, o implementare sigur a necesit a un modul p de 512 bit i. Aceasta nseamn a c a ecare bit al mesajului are o semn atur a de 512 bit i; avem deci o semn atur a de 512 ori mai lung a dec at mesajul ! De aceea a ap arut o simplicare, care reduce lungimea semn aturii f ar a a diminua securitatea ei. Numit Bos-Chaum, acest protocol este denit astfel:

10

PRELEGEREA 1. SEMNATURI ELECTRONICE

Fie k > 0 un num ar ntreg si P = {0, 1}k . Dac a n este un num ar ntreg cu proprietatea k n 2 C2n , e B mult imea numerelor ntregi din intervalul [1, 2n] si :PB o funct ie injectiv a n mult imea B a p art ilor lui B de n elemente. Dac a f : Y Z este o funct ie neinversabil a, e A = Y n . Se aleg aleator valorile yi Y, 1 i 2n si e zi = f (yi ). Cheia K este lista celor 2n valori y (secrete) si a celor 2n valori z (publice). Pentru K = {(yi , zi ) | 1 i 2n}, se denesc sigK (x1 , . . . , xk ) = {yj | j (x1 , . . . xk )} si verK (x1 , . . . , xk , a1 , . . . , an ) = T {f (ai ) | 1 i n} = {zj | j (x1 , . . . , xk )} Avantajul protocolului Bos-Chaum este acela c a scurteaz a semn atura. De exemplu, s a 6 4 presupunem c a vrem s a semn am un mesaj de sase bit i (k = 6); cum 2 = 64 si C8 = 70, putem lua n = 4. Aceasta permite semnarea mesajului cu numai patru valori y ( n loc de sase la Lamport). De asemenea, si cheia este mai scurt a, cu numai opt valori z fat a de 12 la semn atura Lamport. Protocolul de semn atur a Bos-Chaum necesit a o funct ie injectiv a care asociaz a ec arei secvent e de k bit i x = (x1 , . . . , xk ) o submult ime de n elemente. Un exemplu de algoritm simplu care realizeaz a o astfel de asociere este:
k

x
i=1

xi 2i1

(x) t 2n en while t > 0 do tt1 if x > Cte then x x Cte ee1 (x) (x) {t + 1}. enddo Dac a vrem s a d am o estimare general a a valorii lui n din protocolul Bos-Chaum, plec am de (2 n )! n n n care se evalueaz a C2 la inegalitatea 2k C2 cu formula lui Stirling, obt in andu-se n = n 2 ( n !) 22n / n. Dup a simplic ari si logaritmare n baza 2 se ajunge la relat ia: log2 n k 2n 2 Asimptotic, n este de ordinul lui k/2, deci protocolul de semn atur a Bos-Chaum reduce m arimea semn aturii lui Lamport cu aproximativ 50%.

1.6

Semn aturi incontestabile

Semn aturile incontestabile au fost introduse de Chaum si van Antwerpen n 1989. Ele prezint a c ateva caracteristici. Astfel:

1.6. SEMNATURI INCONTESTABILE

11

Semn atura nu poate validat a f ar a aportul semnatarului Bob. Aceasta l protejeaz a pe Bob de difuzarea f ar a consimt am ant a unui document pe care se pretinde c a l-ar semnat. Validarea se face urm and un protocol de ntreb ari si r aspunsuri. Pentru a evita ca Bob s a- si nege propria semn atur a, exist a un protocol de dezmint ire pe care Bob trebuie s a-l urmeze pentru a ar ata c a o semn atur a este fals a. Refuzul de a folosi acest protocol este o conrmare a autenticit a tii semn aturii. Deci, un protocol de semn atur a incontestabil a este format dintr-o funct ie de semn a-tur a, un protocol de vericare si o procedur a de dezmint ire. Algoritmul Chaum-van Antwerpen este:
Fie p = 2q + 1 un num ar prim cu proprietatea c a q este prim si Zp un element de a ordin q . Pentru 1 a q 1, se dene ste mod p. Fie G subgrupul de ordin q al lui Zp generat de . Se denesc P = A = G, K = {(p, , a, ) | a (mod p)}. Valorile p, , sunt publice iar a este secret a. Pentru K = (p, , a, ), x G se dene ste y = sigK (x) = xa mod p. Pentru x, y G, protocolul de vericare se efectueaz a astfel: 1. Alice alege aleator numerele e1 , e2 Zq ;

2. Alice calculeaz a c = y e1 e2 mod p si-l trimite lui Bob; 3. Bob calculeaz a d = ca


1

mod q

mod p si-l trimite lui Alice;

4. Alice admite autenticitatea lui y dac a si numai dac a d xe1 e2 mod p. A. S a explic am nt ai rolul lui p si q n acest protocol. Calculele sunt efectuate n Zp . Este necesar totu si ca anumite calcule s a e f acute ntr-un subgrup al s au de ordin prim (notat cu G). In particular este nevoie s a calcul am inverse modulo q (ceea ce justic a de ce q = card(G) trebuie s a e prim). Aleg and p = 2q + 1 cu q prim, se asigur a acest deziderat si - n plus dimensiunea lui G este maxim a, lucru de dorit deoarece mesajele de semnat sunt elemente din G. S a ar at am nt ai cum admite Alice autenticitatea semn aturilor valide. In calculul de mai jos, exponent ii sunt redu si modulo q . a 1 e1 a1 e2 a1 dc (mod p) y (mod p). 1 Cum a (mod p), avem a (mod p). 1 De asemenea, din y = xa (mod p) rezult a y a x (mod p). Se ajunge deci la d xe1 e2 (mod p). ad acin a primitiv a, deci 22 = 4 este un generator al lui Exemplul 1.8 Fie p = 467. 2 este o r G, grupul reziduurilor patratice modulo 467. Vom lua deci = 4. S a presupunem a = 101; avem = a mod 467 = 449. Bob semneaz a deci mesajul x = 119 cu y = 119101 mod 467 = 129. S a presupunem c a Alice vrea s a autentice semn atura y si c a alege pentru asta e1 = 38, e2 = 397. Ea calculeaz a c = 13, la care Bob r aspunde cu d = 9. Alice veric a atunci relat ia 38 397 119 4 9 (mod 467). Semn atura este acceptat a ca autentic a.

12

PRELEGEREA 1. SEMNATURI ELECTRONICE

B. S a ar at am acum c a Alice nu poate accepta o semn atur a fals a drept autentic a dec at cu o probabilitate neglijabil a. a y xa (mod p) atunci Alice admite pe y ca semn atur a autentic a a lui x Teorema 1.1 Dac cu probabilitate 1/q . Demonstrat ie: Se observ a c a orice ntrebare c corespunde la exact q perechi (e1 , e2 ) posibile (deoarece y si sunt elemente ale grupului G de ordin q prim si n denit ia lui c, ecare e1 determin a un e2 unic). C and Bob prime ste c, el nu stie ce pereche (e1 , e2 ) a fost folosit a pentru a-l construi. Vom ar ata c a dac a y xa (mod p), orice r aspuns d nu poate consistent dec at cu o singur a pereche (e1 , e2 ). Deoarece genereaz a G, orice element din G se scrie ca o putere (unic a modulo q ) a lui . i j k m Deci c = , d = , x = , y = cu i, j, k, m Zq si operat iile aritmetice efectuate modulo p. S a consider am sistemul: c y e1 e2 (mod p) d xe1 e2 (mod p). El este echivalent cu i me1 + ae2 (mod q ) j ke1 + e2 (mod q ). Cum prin ipotez a y xa (mod p), rezult a m ak (mod q ). Astfel, matricea sistemului modulo q admite un determinant nenul, deci sistemul are solut ie unic a. Altfel spus, pentru orice d G, nu exist a r aspuns corect la ntrebarea c dec at pentru un singur cuplu (e1 , e2 ). Deci probabilitatea ca Bob s a r aspund a corect lui Alice n condit iile teoremei este 1/q . 2 C. S a construim acum procedura de dezmint ire. Ea folose ste de dou a ori protocolul de vericare. Algoritmul este:
1. Alice alege aleator e1 , e2 Zq ;

2. Alice calculeaz a c = y e1 e2 (mod p) si-l trimite lui Bob; 3. Bob calculeaz a d = ca


1

mod q

(mod p) si-l trimite lui Alice;

4. Alice veric a d xe1 e2 (mod p);


5. Alice alege aleator f1 , f2 Zq ;

6. Alice calculeaz a C = y f1 f2 (mod p) si-l trimite lui Bob; 7. Bob calculeaz a D = Ca


1

mod q

(mod p) si-l trimite lui Alice;

8. Alice veric a D xf1 f2 (mod p); 9. Alice admite c a y este fals dac a si numai dac a (de2 )f1 (Df2 )e1 (mod p) Pa sii 1 4 si 5 8 corespund protocolului de vericare. Pasul 9 este validarea consistent ei r aspunsului, care permite lui Alice s a determine dac a Bob a calculat bine r aspunsurile sale conform protocolului.

1.6. SEMNATURI INCONTESTABILE

13

Exemplul 1.9 S a lu am parametrii din exemplul anterior: p = 467, = 4, a = 101, = 449. Fie mesajul x = 286 cu semn atura (gre sit a) y = 83. Bob dore ste s a dezmint a aceast a semn atur a. Fie e1 = 45, e2 = 237 primele valori alese de Alice. Ea calculeaz a c = 305 si Bob r aspunde cu d = 109. Alice calculeaz a atunci 28645 4237 (mod 467) = 149. Deoarece 149 = 109, Alice trece la pasul 5 al protocolului. S a presupunem c a ea alege acum f1 = 125, f2 = 9 si calculeaz a C = 270 la care Bob r aspunde cu D = 68. Alice calculeaz a acum 125 9 286 4 (mod 467) = 25. Cum 25 = 68, Alice trece la pasul 9 si efectueaz a testul de consistent a: 237 125 9 45 (109 4 ) 188 (mod 467) (68 4 ) 188 (mod 467) Acum Alice este convins a c a semn atura nu este valabil a. Pentru nal, mai trebuiesc ar atate dou a elemente: Bob poate s a o conving a pe Alice s a invalideze o semn atur a incorect a. Bob nu poate s a o conving a pe Alice s a invalideze o semn atur a corect a dec at cu probabilitate neglijabil a. Teorema 1.2 Dac a y xa (mod p) si dac a Alice si Bob urmeaz a corect protocolul de dezmin tire, atunci (de2 )f1 (Df2 )e1 (mod p). Demonstrat ie: Utiliz and faptul c a d ca (mod p) si c y e1 e2 (mod p), avem: 1 1 (de2 )f1 ((y e1 e2 )a e2 )f1 (mod p) y e1 f1 e2 a f1 e2 f1 (mod p) y e1 f1 e2 f1 e2 f1 (mod p) y e1 f1 (mod p). 1 Un calcul similar folosind D C a (mod p), C y f1 f2 (mod p) si a (mod p) arat a c a (Df2 )e1 y e1 f1 (mod p) deci testul de consistent a de la pasul 9 reu se ste. 2 S a studiem acum cazul c and Bob ncearc a s a dezmint a o semn atur a valid a. In acest caz Bob nu va urma protocolul, si va construi d si D f ar a s a respecte procedura. Teorema 1.3 S a presupunem c a y xa (mod p) si Alice urmeaz a procedura de dezmint ire. e1 e2 f1 f2 e2 f1 Dac a d x (mod p) si D x (mod p) atunci probabilitatea ca (d ) 1 (Df2 )e1 (mod p) este 1 . q Demonstrat ie: S a presupunem c a avem (conform ipotezei): a e1 e2 f1 e2 yx dx Dx (de2 )f1 (Df2 )e1 toate calculele ind f acute modulo p. Vom ar ata c a se ajunge la o contradict ie. 1 f2 Testul de consistent a (pasul 9) se rescrie D df ( mod p ) unde 0 d0 = d1/e1 e2 /e1 (mod p) nu depinde dec at de pa sii 1 4 ai protocolului. Aplic and Teorema 1 1.1 se obt ine c a y este o semn atur a valid a a lui d0 cu probabilitate 1 . Dar, prin ipotez a, y q a este o semn atur a valid a a lui x. Deci, cu mare probabilitate vom avea xa da 0 (mod p) adic x = d0 . Pe de-alt a parte, din d xe1 e2 (mod p) rezult a x d1/e1 e2 /e1 (mod p), adic a tocmai x = d0 , contradict ie. 2
1

14

PRELEGEREA 1. SEMNATURI ELECTRONICE

1.7

Protocol de semn atur a f ar a e sec

O semn atur a f ar a e sec ofer a protect ie contra unui adversar at at de puternic nc at poate contraface semn aturi. Protocolul de semn atur a prezentat aici este construit de Heyst si Pedersen n 1992. Este un tip de semn atur a one - time, compus dintr-o funct ie de semn atur a, o funct ie de vericare si un protocol pentru proba de autenticare. Prezentarea sa n detaliu este:
un element de ordin q . Pentru Fie p = 2q + 1 un num ar prim cu q prim, si Zp a0 1 a0 q 1 se dene ste = (mod p). Valorile p, q, , sunt publice si considerate xe. Valoarea a0 este secret a pentru toat a lumea (inclusiv Bob). Fie P = Zq , A = Zq Zq . O cheie este de forma K = (1 , 2 , a1 , a2 , b1 , b2 ) unde a1 , a2 , b1 , b2 Zq , 1 = a1 a2 (mod p) 2 = b1 b2 (mod p). 1 , g2 sunt publice, a1 , a2 , b1 , b2 sunt secrete. Dac a x Zq , se dene ste sigK (x) = (y1 , y2 ) unde y1 = a1 + xb1 (mod q ) y2 = a2 + xb2 (mod q ). Pentru y = (y1 , y2 ) Zq Zq , avem x verK (x, y ) = T 1 2 y1 y2 (mod p)

Se poate vedea direct c a o semn atur a corect construit a este validat a de funct ia de vericare. R am ane de studiat problema de securitate si de ce procedeul este f ar a e sec. S a stabilim nt ai c ateva propriet a ti importante ale cheilor. Dou a chei (1 , 2 , a1 , a2 , b1 , b2 ) si ( 1 , 2 , a1 , a2 , b1 , b2 ) sunt echivalente dac a 1 = 1 , 2 = 2 . In ecare clas a de echivalent a sunt exact q 2 chei. Lema 1.1 Dac a K, K sunt chei echivalente, atunci verK = T verK = T. Demonstrat ie: Fie K = (1 , 2 , a1 , a2 , b1 , b2 ) si K = (1 , 2 , a1 , a2 , b1 , b2 ) cu a1 a2 a1 a2 1 (mod p) (mod p) si 2 b1 b2 (mod p) b1 b2 (mod p). S a presupunem c a mesajul x este semnat cu y = (y1 , y2 ) folosind cheia K , unde y1 a1 + xb1 (mod q ) y2 a2 + xb2 (mod q ) S a presupunem c a vericarea lui y se face cu cheia K : x y1 y2 a1 +xb1 a2 +xb2 (mod p) a1 a2 (b1 b2 )x (mod p) 1 2 (mod p). Deci y se veric a si cu cheia K .

Lema 1.2 Fie o cheie K si y = sigK (x). Exist a exact q chei K echivalente cu K astfel nc at y = sigK (x). Demonstrat ie: Fie 1 , 2 componentele publice ale lui K . Trebuie determinat num arul de quadrupluri (a1 , a2 , b1 , b2 ) astfel nc at a1 a2 1 (mod p) 2 b1 b2 (mod p) y1 a1 + xb1 (mod q ) y2 = a2 + xb2 (mod q ). , exist a exponent ii unici c1 , c2 , a0 Zq astfel nc at Cum genereaz a Zq c1 1 (mod p), 2 c2 (mod p), a0 (mod p). In acest fel, este necesar si sucient s a avem: c1 a1 + a0 a2 (mod q ) c2 b1 + a0 b2 (mod q )

FAR A ES 1.7. PROTOCOL DE SEMNATUR A EC

15

y1 a1 + xb1 (mod q ) y2 a2 + xb2 (mod q ). Matricea acestui sistem de ecuat ii cu necunoscutele a1 , a2 , b1 , b2 are rangul 3 (determinantul 1 a0 0 0 0 0 1 a0 este ), deci sistemul are cel put in o solut ie netrivial a obt inut a cu ajutorul cheii 1 0 x 0 0 1 0 x K si n plus dimensiunea spat iului solut iilor este 4 3 = 1, deci exist a exact q solut ii. 2 si verK (x , y ) = T pentru x = x. Exist a atunci cel Lema 1.3 Fie o cheie K, y = sigK (x) put in o cheie K echivalent a cu K astfel ca y = sigK (x), y = sigK (x ) Demonstrat ie: Se face printr-un rat ionament analog cu cel din lema precedent a. 2

Din ultimele dou a leme putem trage urm atoarea concluzie: ind dat a o semn atur a valid ay a unui mesaj x, exist a exact q chei posibile care pot semna x. Pentru orice alt mesaj x = x, aceste q chei produc semn aturi diferite ale lui x . Se obt ine astfel teorema urm atoare: Teorema 1.4 Fiind date sigK (x) = y si x = x, Oscar nu poate calcula sigK (x ) dec at cu 1 probabilitate . q De remarcat c a rezultatul acestei teoreme nu depinde de puterea de calcul a lui Oscar; securitatea provine din faptul c a el nu poate distinge care din cele q chei posibile a fost utilizat a. Se poate explica acum not iunea de semn atur a f ar a e sec. S-a ar atat c a ind dat un mesaj x semnat cu y , Oscar nu poate calcula semn atura y a lui Bob pe un alt mesaj x . Ar mai posibilitatea ca Oscar s a poat a calcula o semn atur a y = sigK (x ) care s a e valid a. Dar, dac a 1 ea ajunge napoi la Bob, acesta poate furniza cu probabilitate 1 o prob a de autenticare; q aceasta este valoarea a0 = log , cunoscut a numai de autor. S a presupunem c a Bob are o pereche (x , y ) astfel nc at verK (x , y ) = T si y = sigK (x ). x Avem 1 2 y1 y2 (mod p) unde y = (y1 , y2 ). Bob poate calcula propria sa semn atur a pentru x , pe care o noteaz a y = (y1 , y2 ) si are x y1 y2 1 2 (mod p). Deci y1 y2 y1 y2 (mod p). Scriind = a0 (mod p) se obt ine: y1 +a0 y2 y1 +a0 y2 (mod p) de unde y 1 + a0 y 2 y 1 + a0 y 2 (mod q ) sau y 1 y 1 a0 (y 2 y 2 ) (mod q ). Evident y 2 y 2 deoarece y este un fals. a si avem: Deci (y 2 y 2 )1 (mod q ) exist a0 = log = (y 1 y 1 )(y 2 y 2 )1 (mod q ). Bine nt eles, n vericarea probei de autenticare s-a presupus c a nici Bob nu poate calcula logaritmul discret log . Ca o remarc a nal a, acest procedeu este cu utilizare unic a, deoarece cheia K a lui Bob poate u sor determinat a dup a dou a folosiri.

16

PRELEGEREA 1. SEMNATURI ELECTRONICE

Exemplul 1.10 S a presupunem p = 3467 = 2 1733 + 1. Num arul = 4 are ordinul 1733 n Z3467 . Dac a se ia a0 = 1567 vom avea = 41567 (mod 3467) = 514. Reamintim c a Bob cunoa ste si dar nu a0 . S a presupunem c a Bob construie ste cheia sa cu a1 = 888, a2 = 1024, b1 = 786, b2 = 999 deci 1 = 4888 5141024 (mod 3467) = 3405 2 = 4786 514999 (mod 3467) = 2281. acest moment Bob este pus In n prezent a semn aturii false (822, 55) a mesajului 3383. Aceast a semn atur a este valid a, deoarece condit ia de vericare este satisf acut a: 3383 822 56 3405 2281 2282 (mod 3467) 4 514 2282 (mod 3467). Dar Bob stie c a aceasta nu este semn atura sa si trebuie s a dovedeasc a acest lucru. El calculeaz a propria sa semn atur a: (888 + 3383 786 (mod 1733), 1024 + 3383 999 (mod 1733)) = (1504, 1291) dup a care evalueaz a logaritmul discret a0 = (822 1504)(1291 55)1 (mod 1733) = 1567 care constituie prob a de autenticare, si arat a c a semn atura nu i apart ine.

1.8. EXERCIT II

17

1.8

Exercit ii

a presupunem c a Bob utilizeaz a semn atura El Gamal si semneaz a mesajele x1 , x2 obt i1.1 S n and (, 1 ) respectiv (, 2 ) (cu aceea si valoare a lui n ambele sem-n aturi). Se consider a n plus c a (1 2 , p 1) = 1. Ar atat i c a aceste informat ii sunt suciente pentru determinarea lui k ; Ar atat i cum se poate sparge protocolul de semn atur a; Presupun and p = 3187, = 5, = 25703, efectuat i calculul lui k si a plec and de la semn aturile (23972, 31396) pentru x = 8990 si (23972, 20481) pentru x = 31415. 1.2 Protocolul de semn atur a El Gamal este implementat folosind p = 31847, = 5, = 26379. S a se scrie un program care: Veric a semn atura (20679, 11082) a mesajului x = 20543. Calculeaz a exponentul secret a prin compromisul spat iu - timp al lui Shanks. Apoi determin a valoarea aleatoare k utilizat a n semn atura lui x. 1.3 Bob utilizeaz a procedeul de semn atur a El Gamal ca n Exemplul 1.1: p = 467, = 2, = 132. S a presupunem c ael semneaz a mesajul x = 100 cu (29, 51). Calculat i semn atura fals a pe care o poate obt ine Oscar cu h = 102, i = 45, j = 293. Autenticat i semn atura rezultat a cu funct ia de vericare. 1.4 Ar atat i c a a doua metod a de atac din semn atura El Gamal furnizeaz a o semn a-tur a corect a care satisface funct ia de vericare. 1.5 Modic am put in protocolul de semn atur a El Gamal. Cheia este construit a astfel: Bob alege o r ad acin a primtiv a Zp , un exponent secret a (0 a p 2), (a, p 1) = 1 si = a . Cheia este K = (, a, ) unde , sunt publice, iar a este secret a. Fie x Zp un mesaj care trebuie semnat. Bob calculeaz a semn atura sigK (x) = (, ) prin: = k (mod p) = (x k )a1 (mod p 1).

Singura diferent a fat a de semn atura El Gamal este calculul lui . Descriet i cum se poate verica cu cheia public a a lui Bob o semn atur a (, ) pe un mesaj x; i avantajul noului procedeu (fat a de cel vechi) din punct de vedere al calculelor; Descriet i pe scurt securitatea celor dou a protocoale. Comparat 1.6 Bob utilizeaz a procedeul DSS cu q = 101, p = 7879, = 170, a = 75, = 4567. Determinat i semn atura lui Bob pe mesajul x = 5001 utiliz and valoarea aleatoare k = 49, si ar atat i cum poate vericat a semn atura rezultat a.

18

PRELEGEREA 1. SEMNATURI ELECTRONICE

protocolul de semn 1.7 In atur a Lamport, Bob semneaz a dou a mesaje x, x , ambele de c ate k bit i. Fie s = d(x, x ) num arul de coordonate n care difer a cele dou a mesaje. Ar atat i c a Oscar poate semna 2s 2 mesaje noi. protocolul de semn atur a Bos-Chaum cu k = 6, n = 4 sunt semnate mesajele x = 1.8 In (0, 1, 0, 0, 1, 1), x = (1, 1, 0, 1, 1, 1). Determinat i noile mesaje pe care le poate semna Oscar, plec and de la semn aturile lui x si x . protocolul de semn 1.9 In atur a Bos-Chaum, Bob semneaz a dou a mesaje x, x . Fie s = n card((x) (x )). Ar atat i c a Oscar poate semna acum Cs 2 mesaje noi. 1.10 Bob utilizeaz a protocolul de semn atur a incontestabil a Chaum-van Antwerpen ca n Exemplul 1.7; deci p = 467, = 4, a = 101, = 449. S a presupunem c a Bob este confruntat cu semn atura y = 25 a mesajului x = 157 si dore ste s a arate c a ea este fals a. Presupun and c a Alice alege valorile aleatoare e1 = 46, e2 = 123, f1 = 198, f2 = 11 n protocolul de dezmint ire, calculat i ntreb arile c, d ale lui Alice si r aspunsurile C, D ale lui Bob; vericat i c a Alice admite dezmint irea. 1.11 Ar atat i c a clasele de echivalent a de chei n protocolul de semn atur a f ar a e sec Pedersen 2 - van Heyst cont ine q chei. 1.12 Bob utilizeaz a protocolul de semn atur a f ar a e sec Pedersen - van Heyst cu p = 3467, = 4, a0 = 1567, = 514 (valoarea lui a0 nu este cunsocut a de Bob). a a0 = 1567, determinat i toate cheile posibile Folosind faptul c K = (1 , 2 , a1 , a2 , b1 , b2 ) astfel ca sigK (42) = (1118, 1449). Presupunem sigK (42) = (1118, 1449) si sigK (969) = (899, 471). F ar a a utiliza valoarea lui a0 , determinat i valoarea lui K (cea utilizat a n protocolul cu cheie one - time). 1.13 Bob folose ste protocolul de semn atur a f ar a e sec Pedersen - van Heyst cu p = 5087, = 25, = 1866. Cheia este K = (5065, 5076, 144, 874, 1873, 2345). Se presupune c a Bob este confruntat cu semn atura (2219, 458) contraf acut a pe mesajul 4785. Ar atat i c a ea satisface condit ia de vericare, deci este valid a. Ar atat i cum poate Bob s a calculeze proba de autenticitate plec and de la aceast a semn atur a.

Bibliograe
[1] J. N. Bos, D. Chaum - Provably unforgable signatures; Lecture Notes in Computer Science, 740(1993), 1 14 [2] D. Chaum, H. van Antwerpen - Undeniable signatures; Lecture Notes in Computer Science, 435(1990), 212 216 [3] W. Die, M.E. Hellman - Multiuser cryptographic techniques; AFIPS Conference Proceedings, 45(1976), 109 112 [4] T. El Gamal - A public key cryptosystem and a signature scheme based on discrete algorithms; IEEE Trans on Inf. Theory, 31(1985), 469 472 [5] E. van Heyst, T.P.Petersen - How to make ecient fail-stop signatures; Lecture Notes in Computer Science, 658(1993), 366 377 [6] C. J. Mitchell, F. Piper, P. Wild - Digital signatures; Contemporary Cryptology, The Science of Information Integrity, IEEE Press, (1992), 325 378 [7] M. E. Smid, D. K. Branstad - Response to comments on the N IST proposed digital signature standard; Lecture Notes in Computer Science, 740(1993), 76 88 [8] D. Stinton - Cryptographie, Theorie and Practique, Int. Thompson Publishing (1995) [9] Digital signature standard; national Bureau of Standards, FIPS Publications 186, 1994

19

S-ar putea să vă placă și