9
P rotocolli 1 Protocolli Crittografici Poker Mentale Condivisione di segreti Lancio di una moneta Oblivious Transfer Blind Signature Moneta Elettronica Elezioni Certified email P rotocolli 2 Mental Poker Poker senza carte, con giocatori “curiosi” ma “onesti” Tre giocatori: Annarella, Biagio, Ciro Cifratura e decifratura commutative: D(E(x,k 1 ),k 2 ) = E(D(x,k 2 ),k 1 ) Esempio: RSA con lo stesso modulo [Shamir, Rivest, Adleman 1978] P rotocolli 3 Mental Poker: B ottiene 5 carte x 5 ,…,x 2 Cifro e permuto le 52 carte E(x 1 ,k A ),…,E(x 52 ,k A ) E(x 4 ,k A ),…,E(x 32 ,k A ) Scelgo 5 carte e le cifro E(E(x 5 ,k A ),k B ),…,E(E(x 2 ,k A ),k B ) Decifro i 5 valori E(x 5 ,k B ),…,E(x 2 ,k B ) P rotocolli 4 Mental Poker: C ottiene 5 carte E(x 4 ,k A ),…,E(x 32 ,k A ) Invio le 47 carte cifrate da A Invio le 47 carte cifrate da A 47 carte 47 carte P rotocolli 5 Mental Poker: C ottiene 5 carte E(x 4 ,k A ),…,E(x 32 ,k A ) Invio le 47 carte cifrate da A Invio le 47 carte cifrate da A Scelgo 5 carte e le cifro Scelgo 5 carte e le cifro E(E(x 31 ,k A ),k C ),…,E(E(x 50 ,k A ),k C ) 5 carte 5 carte P rotocolli 6 Mental Poker: C ottiene 5 carte E(x 4 ,k A ),…,E(x 32 ,k A ) Invio le 47 carte cifrate da A Invio le 47 carte cifrate da A Scelgo 5 carte e le cifro Scelgo 5 carte e le cifro Decifro i 5 valori Decifro i 5 valori E(E(x 31 ,k A ),k C ),…,E(E(x 50 ,k A ),k C ) D(E(E(x 31 ,k A ),k C ),k A ),…,D(E(E(x 50 ,k A ),k C )k A ) 5 carte 5 carte

Protocolli Crittografici Mental Pokerads/corso-security/www/CORSO-0001/protocolli.pdfDealerDealer PP11 PP22 P n Segreto S in Z p Segreto S in Z p p ←numero primo a 1, a 2,…, a

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Protocolli Crittografici Mental Pokerads/corso-security/www/CORSO-0001/protocolli.pdfDealerDealer PP11 PP22 P n Segreto S in Z p Segreto S in Z p p ←numero primo a 1, a 2,…, a

1

P rotocoll i 1

Protocolli CrittograficiPoker MentaleCondivisione di segretiLancio di una monetaOblivious TransferBlind Signature Moneta ElettronicaElezioniCertified email

P rotocoll i 2

Mental PokerPoker senza carte, con giocatori “curiosi” ma “onesti”

Tre giocatori: Annarella, Biagio, CiroCifratura e decifratura commutative:

D(E(x,k1),k2) = E(D(x,k2),k1)Esempio: RSA con lo stesso modulo

[Shamir, Rivest, Adleman 1978]

P rotocoll i 3

Mental Poker: B ottiene 5 carte

x5,…,x2

Cifro e permuto le 52 carteE(x1,kA),…,E(x52,kA)

E(x4,kA),…,E(x32,kA)

Scelgo 5 carte e le cifroE(E(x5,kA),kB),…,E(E(x2,kA),kB)

Decifro i 5 valori E(x5,kB),…,E(x2,kB)

P rotocoll i 4

Mental Poker: C ottiene 5 carte

E(x4,kA),…,E(x32,kA)

Invio le 47 carte cifrate da AInvio le 47 carte cifrate da A

47 carte47 carte

P rotocoll i 5

Mental Poker: C ottiene 5 carte

E(x4,kA),…,E(x32,kA)

Invio le 47 carte cifrate da AInvio le 47 carte cifrate da A

Scelgo 5 carte e le cifroScelgo 5 carte e le cifro

E(E(x31,kA),kC),…,E(E(x50,kA),kC)

5 carte5 carte

P rotocoll i 6

Mental Poker: C ottiene 5 carte

E(x4,kA),…,E(x32,kA)

Invio le 47 carte cifrate da AInvio le 47 carte cifrate da A

Scelgo 5 carte e le cifroScelgo 5 carte e le cifro

Decifro i 5 valoriDecifro i 5 valori

E(E(x31,kA),kC),…,E(E(x50,kA),kC)

D(E(E(x31,kA),kC),kA),…,D(E(E(x50,kA),kC)kA)

5 carte5 carte

Page 2: Protocolli Crittografici Mental Pokerads/corso-security/www/CORSO-0001/protocolli.pdfDealerDealer PP11 PP22 P n Segreto S in Z p Segreto S in Z p p ←numero primo a 1, a 2,…, a

2

P rotocoll i 7

Mental Poker: C ottiene 5 carte

E(x4,kA),…,E(x32,kA)

Invio le 47 carte cifrate da AInvio le 47 carte cifrate da A

Scelgo 5 carte e le cifroScelgo 5 carte e le cifro

Decifro i 5 valoriDecifro i 5 valori

E(E(x31,kA),kC),…,E(E(x50,kA),kC)

E(x31,kC),…,E(x50,kC)

5 carte5 carte

P rotocoll i 8

Mental Poker: C ottiene 5 carte

E(x4,kA),…,E(x32,kA)

Invio le 47 carte cifrate da AInvio le 47 carte cifrate da A

Scelgo 5 carte e le cifroScelgo 5 carte e le cifro

Decifro i 5 valoriDecifro i 5 valoriE(E(x31,kA),kC),…,E(E(x50,kA),kC)

E(x31,kC),…,E(x50,kC)

Decifro i 5 valorix31, …, x50

Decifro i 5 valorix31, …, x50

P rotocoll i 9

Mental Poker: A ottiene 5 carte

E(x11,kA),…,E(x45,kA)

Scelgo ed invio 5 tra le 42 carte cifrate da A

Scelgo ed invio 5 tra le 42 carte cifrate da A

Decifro i 5 valorix11,…,x45

Decifro i 5 valorix11,…,x45

5 carte5 carte

P rotocoll i 1 0

Condivisione di segreti

Un dealer vuole condividere un segreto S tra n partecipanti in modo che:– k o più partecipanti possano ricostruire S– k-1 o meno partecipanti non hanno alcuna

informazione su S

[Adi Shamir, 1979]

P rotocoll i 1 1

Scenario

DealerDealer

P1P1P2P2

PnPn…

Segreto S

Segreto S

P rotocoll i 1 2

Distribuzione del segreto

DealerDealer

P1P1P2P2

PnPn…

Segreto S

Segreto S

Share1

Share2

Sharen

Page 3: Protocolli Crittografici Mental Pokerads/corso-security/www/CORSO-0001/protocolli.pdfDealerDealer PP11 PP22 P n Segreto S in Z p Segreto S in Z p p ←numero primo a 1, a 2,…, a

3

P rotocoll i 1 3

Ricostruzione del segreto

P1P1P2P2

PnPn…

Il segreto è S

Il segreto è S

Share1Share1

Share2Share2

k partecipanti

…P rotocoll i 1 4

Ricostruzione del segreto

P1P1P2P2

PnPn…

Non abbiamo alcuna

informazione sul segreto

Non abbiamo alcuna

informazione sul segretoShare1

Share1

Share2Share2

k-1 partecipanti

P rotocoll i 1 5

Inizializzazione schema (k,n)

DealerDealer

P1P1P2P2

PnPn…

p ← numero primoa1, a2,…, ak-1 ← elementi in Zp

p ← numero primoa1, a2,…, ak-1 ← elementi in Zp

P rotocoll i 1 6

Calcolo share schema (k,n)

DealerDealer

P1P1P2P2

PnPn…

Segreto S in Zp

Segreto S in Zp

p ← numero primoa1, a2,…, ak-1 ← elementi in Zp

p ← numero primoa1, a2,…, ak-1 ← elementi in Zp

f(x) ← S+a1x+…+ ak-1xk-1

for i=1 to n do yi ← f(i)f(x) ← S+a1x+…+ ak-1xk-1

for i=1 to n do yi ← f(i)

P rotocoll i 1 7

Distribuzione share

DealerDealer

P1P1P2P2

PnPn…

Segreto S in Zp

Segreto S in Zp

f(x) ← S+a1x+…+ ak-1xk-1

for i=1 to n do yi ← f(i)f(x) ← S+a1x+…+ ak-1xk-1

for i=1 to n do yi ← f(i)p ← numero primoa1, a2,…, ak-1 ← elementi in Zp

p ← numero primoa1, a2,…, ak-1 ← elementi in Zp

y1

y2

yn

P rotocoll i 1 8

Esempio schema (3,5)

DealerDealer

P1P1P2P2

P5P5

Segreto S←12

Segreto S←12

f(x) ← 12+11x+2x2

for i=1 to 5 do yi ← f(i)f(x) ← 12+11x+2x2

for i=1 to 5 do yi ← f(i)p ← 19a1 ←11 a2 ←2

p ← 19a1 ←11 a2 ←2

6

4

P4P4P3P3

6

3

12

Page 4: Protocolli Crittografici Mental Pokerads/corso-security/www/CORSO-0001/protocolli.pdfDealerDealer PP11 PP22 P n Segreto S in Z p Segreto S in Z p p ←numero primo a 1, a 2,…, a

4

P rotocoll i 1 9

Ricostruzione del segreto

P1P1P2P2

PnPn…

Il segreto è S

Il segreto è S

Share1Share1

Share2Share2

k partecipanti

…P rotocoll i 2 0

Informazioni k partecipanti

k equazioni: yi = S+a1i+…+ ak-1ik-1 per i=i1, i2, … ikk incognite: S, a1,…, ak-1Possono ricostruire il segreto!

P rotocoll i 2 1

Esempio schema (3,5)P1 sa che 6 = S + a1•1 + a2•12

P2 sa che 4 = S + a1•2 + a2•22

P4 sa che 12 = S + a1•4 + a2•42

=

1246

aaS

1641421111

2

1

Il sistema ha un’unica soluzione: S=19 a1 = 11 a2 = 2

det = (1-2)(1-4)(2-4) mod 19= 13

P rotocoll i 2 2

Informazioni k partecipantiPartecipanti Pi1, Pi2,…, Pik

=

−−

k

3

2

1

i

i

i

i

1k

2

1

1kk

2kk

1k3

233

1k2

222

1k1

211

y

yyy

a

aaS

iii1

iii1iii1iii1

MM

L

MMMM

L

L

L

Il sistema ha un’unica soluzione

∏≤<≤

−=ktr1

tr pmod)i(idetMatrice di Vandermonde

P rotocoll i 2 3

Calcolo del Segreto

Calcolo polinomio f(x)Formula di interpolazione di Lagrange– Grado k– F(ij)=yij ∏∑

≠≤≤= −

−=

jt kt1 tj

tk

1ji ii

ixyf(x)j

Serve solo f(0)=S

∏∑≠≤≤= −

=

jt kt1 jt

tk

1ji ii

iyf(0)j

P rotocoll i 2 4

Ricostruzione del segreto

P1P1P2P2

PnPn…

Non abbiamo alcuna

informazione sul segreto

Non abbiamo alcuna

informazione sul segretoShare1

Share1

Share2Share2

k-1 partecipanti

Page 5: Protocolli Crittografici Mental Pokerads/corso-security/www/CORSO-0001/protocolli.pdfDealerDealer PP11 PP22 P n Segreto S in Z p Segreto S in Z p p ←numero primo a 1, a 2,…, a

5

P rotocoll i 2 5

Informazioni k-1 partecipanti

k-1 equazioni: yi = S+a1i+…+ ak-1ik-1 per i=i1, i2, … ik-1

k incognite: S, a1,…, ak-1Non possono ricostruire il segretoOgni segreto è equamente possibile

P rotocoll i 2 6

Esempio schema (3,5)P1 sa che 6 = S + a1•1 + a2•12

P2 sa che 4 = S + a1•2 + a2•22

=

46

aaS

421111

2

1

Il sistema ha 19 soluzioni:

5218

141317

4516

131615

3814

12013

21112

11311

201410

1069

0178

997

1816

8125

1744

7153

1672

6181

15100

a2a1S

P rotocoll i 2 7

Ricostruzione del segreto

P1P1P2P2

PnPn…

Non abbiamo alcuna

informazione sul segreto

Non abbiamo alcuna

informazione sul segretoShare1

Share1

Share2Share2

k-1 partecipanti

P rotocoll i 2 8

Informazioni k-1 partecipantik-1 equazioni: yi = S+a1i+…+ ak-1ik-1 per i=i1, i2, … ik-1

k incognite: S, a1,…, ak-1Ipotizzano un valore per il segreto SS = S+a10+…+ ak-10k-1

=

−−

k

3

2

1

i

i

i

i

1k

2

1

1kk

2kk

1k3

233

1k2

222

1k1

211

y

yyy

a

aaS

iii1

iii1iii1iii1

MM

L

MMMM

L

L

L

Il sistema ha un’unica soluzione

∏≤<≤

−=ktr1

tr pmod)i(idet

Matrice di Vandermonde

ik = 0

P rotocoll i 2 9

Inizializzazione schema (n,n)

DealerDealer

P1P1P2P2

PnPn…

p ← numero primoa1, a2,…, an-1 ← elementi in Zp

p ← numero primoa1, a2,…, an-1 ← elementi in Zp

P rotocoll i 3 0

Calcolo share schema (n,n)

DealerDealer

P1P1P2P2

PnPn…

Segreto S in Zp

Segreto S in Zp

p ← numero primoa1, a2,…, an-1 ← elementi in Zp

p ← numero primoa1, a2,…, an-1 ← elementi in Zp

an ← S-a1-…-an-1 mod pan ← S-a1-…-an-1 mod p

Page 6: Protocolli Crittografici Mental Pokerads/corso-security/www/CORSO-0001/protocolli.pdfDealerDealer PP11 PP22 P n Segreto S in Z p Segreto S in Z p p ←numero primo a 1, a 2,…, a

6

P rotocoll i 3 1

Distribuzione share

DealerDealer

P1P1P2P2

PnPn…

Segreto S in Zp

Segreto S in Zp

p ← numero primoa1, a2,…, an-1 ← elementi in Zp

p ← numero primoa1, a2,…, an-1 ← elementi in Zp

a1

a2

an

an ← S-a1-…-an-1 mod pan ← S-a1-…-an-1 mod p

P rotocoll i 3 2

Esempio schema (5,5)

DealerDealer

P1P1P2P2

P5P5

Segreto S←5

Segreto S←5

p ← 7 a1 ←3 a2 ←2a3 ←1 a4 ←2

p ← 7 a1 ←3 a2 ←2a3 ←1 a4 ←2

3

2

P4P4P3P3

1

4

2

a5 ← 5-3-2-1-2 mod 7a5 ← 5-3-2-1-2 mod 7

P rotocoll i 3 3

Ricostruzione del segreto

P1P1P2P2

PnPn

Il segreto è S

Il segreto è S

Share1Share1

Share2Share2

n partecipanti

SharenSharen

S ← a1+…+an-1+an mod pS ← a1+…+an-1+an mod p

P rotocoll i 3 4

Ricostruzione del segreto

P1P1

PiPi

PnPn

Non abbiamo alcuna

informazione sul segreto

Non abbiamo alcuna

informazione sul segretoShare1

Share1Share2Share2

n-1 partecipanti

P rotocoll i 3 5

Esempio schema (5,5)P1 sa che 3 = a1

P2 sa che 2 = a2

P3 sa che 1 = a3

P5 sa che 4 = S-a1-a2-a3–a4 mod 7

Il sistema ha 7 soluzioni:

36251403625140a4S

P rotocoll i 3 6

Lancio di una moneta

… … E’ uscito testa/croceE’ uscito testa/croce E’ uscito testa/croceE’ uscito testa/croce

iagionnarella

Page 7: Protocolli Crittografici Mental Pokerads/corso-security/www/CORSO-0001/protocolli.pdfDealerDealer PP11 PP22 P n Segreto S in Z p Segreto S in Z p p ←numero primo a 1, a 2,…, a

7

P rotocoll i 3 7

Lancio di una monetaprotocollo naive

E’ uscito testaE’ uscito testa E’ uscito testaE’ uscito testa

Lancio moneta testa

iagionnarella

P rotocoll i 3 8

Lancio di una moneta

iagio

E’ uscito b⊕b´E’ uscito b⊕b´ E’ uscito b⊕b´E’ uscito b⊕b´

Scegli bit b

Scegli bit b´x←commitment(b)

x

rivela b

nnarella

P rotocoll i 3 9

Commitment

Equivalente digitale di una busta“Facile” da calcolareDato x è “difficile” calcolare b“Facile” mostrare che x = commitment(b)“Difficile” mostrare che x = commitment(1-b)

x←commitment(b)x←commitment(b)

P rotocoll i 4 0

Commitment

Esempiop a rità n,e(C) = bit meno significativo di M

0 se M < n/2h a lfn,e(C) =

1 se M > n/2

C = Me mod nC = Me mod n

x←commitment(b)x←commitment(b)b = p red ica to_d iffici le (x)

P rotocoll i 4 1

Crittografia probabilistica

Testo in chiaro M = M1 M2 M3 … Testo cifrato C = C1 C2 C3 …

Mi = p red ica to_d iffici le (Ci)

P rotocoll i 4 2

Blind Signature

… … F è la firma di M

da parte di BF è la firma di M

da parte di B

Non so che cosa ho firmato

Non so che cosa ho firmato

iagionnarella

Voglio avere la firma di M da parte di B

Voglio avere la firma di M da parte di B

Page 8: Protocolli Crittografici Mental Pokerads/corso-security/www/CORSO-0001/protocolli.pdfDealerDealer PP11 PP22 P n Segreto S in Z p Segreto S in Z p p ←numero primo a 1, a 2,…, a

8

P rotocoll i 4 3

Blind Signatureprotocollo con busta

iagionnarella

Voglio avere la firma di M da parte di B

Voglio avere la firma di M da parte di B

M F’

M,FF’

P rotocoll i 4 4

Blind Signatureprotocollo con RSA

iagionnarella

Voglio avere la firma di M da parte di B

Voglio avere la firma di M da parte di B

M F’

M,FF’

k ← valore casualet←Mke mod n

t

F’←td mod n

F’

F ← F’ k-1 mod n

P rotocoll i 4 5

Blind Signatureprotocollo con RSA

iagionnarella

Voglio avere la firma di M da parte di B

Voglio avere la firma di M da parte di B

M F’

M,FF’

k ← valore casualet←Mke mod n

t

F’←td mod n

F’

F ← F’ k-1 mod n

F = F’ k-1 mod n= td k-1 mod n= (Mke)d k-1 mod n= Md ked k-1 mod n= Md mod n

F = F’ k-1 mod n= td k-1 mod n= (Mke)d k-1 mod n= Md ked k-1 mod n= Md mod n P rotocoll i 4 6

Moneta Elettronica

nnarella anca… …

Anonimia

Moneta elettronica

egoziante

Deposito

P rotocoll i 4 7

Moneta Elettronica I

nnarella anca

Anonimia

Assegno $1000

F’F’FirmaBanca(Assegno $1000)

Problemi?P rotocoll i 4 8

Moneta Elettronica II

nnarellaanca

Assegno $1000

Assegno $1000

F’F’FirmaBanca(Assegno $1000)

Apri queste 99 buste

100

Busta non aperta

Page 9: Protocolli Crittografici Mental Pokerads/corso-security/www/CORSO-0001/protocolli.pdfDealerDealer PP11 PP22 P n Segreto S in Z p Segreto S in Z p p ←numero primo a 1, a 2,…, a

9

P rotocoll i 4 9

Moneta Elettronica II

nnarellaanca

Assegno $1000

Assegno $1000

F’F’FirmaBanca(Assegno $1000)

Apri queste 99 buste

100

Busta non aperta Problemi?

P rotocoll i 50

Moneta Elettronica III

nnarellaanca

Assegno $1000, r1

Assegno $1000, r100

F’F’FirmaBanca(Assegno $1000, r)

Apri queste 99 buste

100

Busta non aperta