+ All Categories
Home > Documents > Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto...

Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto...

Date post: 02-Jan-2021
Category:
Upload: others
View: 2 times
Download: 1 times
Share this document with a friend
53
Crittosistemi a Chiave Pubblica Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi di Milano – Bicocca Alberto Leporati e-mail: [email protected] [email protected] Crittografia Corso di Laurea Specialistica in Informatica
Transcript
Page 1: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Crittosistemi a Chiave Pub

blic

a

Dip

artim

ento

di In

form

atic

a, S

iste

mistica

e C

om

unic

azio

ne

Univ

ersità

deg

li S

tudi di M

ilan

o –

Bic

occ

a

Alberto Leporati

e-m

ail: [email protected]

[email protected]

Crittografia

—Corso di Laurea Specialistica —

—in Informatica —

Page 2: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

2

�prob

lemacon i crittosistem

i simmetrici:

Alic

e e Bob

devono cono

scere la stessa

chiave

segreta

k

�ci vuole un canale privato

(cioèsicuro) pe

r comunicarsi la ch

iave

�questo non sem

preèpo

ssibile

�se esiste un canale sicuro, pe

rchéno

n utilizza

rlo pe

r comunicare il testo in ch

iaro?

�la crittog

rafia a ch

iave pub

blic

arisolve il

prob

lema alla rad

ice: non è

nece

ssario

nessun

canale privato

Crittosistemi a chiave pubblica

Page 3: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

3

�idea

:le chiavi usate per cifrare e per

dec

ifrare sono diverse

�pe

r questo m

otivo, a volte li si chiama anch

e crittosistem

i asim

metrici

�og

nuno crea una prop

riacopp

ia di ch

iavi,

pubblic

a e privata

�la chiave per cifrare

vien

e resa pub

blic

a,

quella per dec

ifrare

rimane segreta

�quindi, chiunque

èin grado di cifrare, m

a solo il destinatarioèin grado di dec

ifrare

Crittosistemi a chiave pubblica

Page 4: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

4

Consideriamo il seg

uente prob

lema: Alic

e vuole

sped

ire a Bob

un messagg

io m

(su un fog

lio di carta)

Prim

a soluzione:

�Bob

invia ad Alice

una cassetta di sicurezz

a con

un lucch

etto ape

rto, di cui solo lui ha la chiave

�Alice

mette il foglio nella cassetta, chiude il

lucchetto e spe

disce

la cassetta a Bob

�Bob

èl’unico a poter aprire la cassetta

Svantaggio: Eve può interce

ttarela cassetta aperta,

e im

personificareAlice

Crittosistemi a chiave pubblica

Page 5: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

5

Sec

onda soluzione:

�Alice

scrive il m

essagg

io e lo ch

iude in una propria

cassetta (dotata di due

ane

llidi ch

iusura), con

una

chiave che èin grado di aprire solo lei

�Alice

spe

disce

la cassetta a Bob

�Bob

non

èin grado di aprire la cassetta; invece

, ch

iudeil sec

ondo anello con

una propria

chiave e

risped

isce

la cassetta ad

Alic

e�Alice

tog

lieil proprio lucch

etto e spe

disce

a Bob

la cassetta

�Bob

tog

lieil proprio lucch

etto, apre

la cassetta e

legg

eil m

essagg

io

Crittosistemi a chiave pubblica

Page 6: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

6

�rimaniamo a un livello astratto

�Bob

sce

glie due

algoritmi:

�EB: cifratura

�D

B: dec

ifratura

tali ch

e:�D

Bdec

ifra i m

essagg

i cifrati con EB:

"m

œP

T, D

B(E

B(m

)) =

m

�èestrem

amen

te difficile

(problema

intrattabile

) ricavare D

Ba partire da EB

�Bob

ren

de pu

bblic

oEB, e tien

e segretoD

B

Formalizzazione: prima soluzione

Page 7: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

7

�se Alic

e vuole inviare un m

essagg

io m

a Bob

, calcola

EB(m

)e lo spe

disce

a Bob

�Bob

, rice

vuto E

B(m

), calcola D

B(E

B(m

)) =

m

�se Eve interce

tta

EB(m

), pe

r ricavare D

B

dovrebbe risolvereun problema ch

e ab

biamo supp

osto essere intrattabile

�prob

lema: se Alic

e fa parte di una grossa

rete

di uten

ti, deve conoscere gli algo

ritm

i di cifratura di tutti(poco pratico)

Øsi può usare il second

o protocollo

Formalizzazione: prima soluzione

Page 8: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

8

�Alic

e e Bob

sce

lgono ciascuno:

�un algoritmo di cifratura(E

A, EB)

�un algoritmo di dec

ifratura

(DA, D

B)

tali ch

e:�"

m œ

PT

, E

B(E

A(m

)) =

EA(E

B(m

))

(gli algoritmi di cifraturacommutano)

�"

m œ

PT

, D

B(D

A(m

)) =

DA(D

B(m

))

(gli algoritmi di dec

ifratura

commutano)

�no

nèpiùne

cessario

rend

ere pu

bblici E

Aed

EB,

men

tre ène

cessario

tene

re seg

reti D

Ae D

B

Formalizzazione: seconda soluzione

Page 9: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

9

�se Alic

e vuole inviare un m

essagg

io m

a Bob

, calcola

EA(m

)e lo spe

disce

a Bob

�rice

vuto E

A(m

), Bob

lo cifra con

EBe lo

risped

isce

ad Alic

e

�Alic

e rice

ve E

B(E

A(m

)), applica

DA, ottien

e D

A(E

B(E

A(m

)))e lo spe

disce

a Bob

�Bob

app

lica

DBe ottien

e:

DB(D

A(E

B(E

A(m

))))

= D

A(D

B(E

B(E

A(m

))))

=

DA(E

A(m

)) =

m

Formalizzazione: seconda soluzione

Page 10: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

10

�in rea

ltà, basta che solo uno

dei due

tipi di

algo

ritm

i (cifratura o dec

ifratura) commuti

�vantaggio: Alice

usa solo EAe D

A

�se Alice

pen

sa che D

Ano

n sia piùsicuro, cambia

la cop

pia (E

A, D

A) senz

a influe

nzaregli altri

uten

ti

�come ab

biamo visto pe

r i crittosistem

i simmetrici,

al posto di sceg

liere EA(risp., D

A), Alice

selez

iona

un elemen

to di una famiglia

di algo

ritm

i di

cifratura (risp., dec

ifratura), sce

gliend

o una

chiave pub

blica

k pA(risp., privata

k sA)

Crittosistemi a chiave pubblica

Page 11: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

11

Quind

i, deve valere:

�"

m œ

PT

, D

k sA(E

k pA(m

)) =

m

�deve essere difficile

ricavare k

s Aa pa

rtire da

k pA

Inoltre:

�prim

o protocollo: k p

Adeveessere resa pub

blica, k s

Adeve

rimanere segreta

�second

o protocollo: k p

Apu

òessere resa pu

bblica, k s

Adeve

rimanere segreta

Dom

ande:

�come si fa ad

implem

entare in matem

atica una cassetta con

i

lucchetti?

�come si fa a ge

nerare la copp

ia (

k pA, k s

A)?

Crittosistemi a chiave pubblica

Page 12: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

12

�soluzion

epe

r il prim

o prob

lema: funzioni

one-way

con trapdoor

�idea

: una funz

ione

f: �Ø

�èone-way

se:

�dato

x, calcolare f

(x)èfacile

�dato

y, calcolare x

tale che

f(x)

= y

èdifficile

�la funzion

e one-way è

con trapdoorse:

�dato

y, calcolare x

tale che

f(x)

= y

èfacile

conoscen

doun’inform

azione

seg

reta k

�dato

y, calcolare x

tale che

f(x)

= y

èdifficile

se non si conosce

k

Funzioni one-way

Page 13: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

13

�def

inizione

formale: f

: �Ø

�èon

e-way

se:

�fècalcolab

ile in tempo

polinom

iale

da una MdT

deterministica

(cioèèfacile da calcolare)

�esistono due

polinom

i p

(∏)e

q(∏

)tali ch

e:

p(|

x|) §

|f(x

)| §

q(|

x|)

(cioènondeve prod

urre un ou

tput tropp

o corto)

�pe

r og

nialgo

ritm

o A esegu

ibile

su una MdT

prob

abilistica, e per ogn

ipo

linom

io p

(∏)esiste

un

numero naturale n

A,ptale che:

)(1

)]'(

)(

:))

((

';

}1,0{

Pr[

,n

px

fx

fx

fA

xx

nn

n

pA

≤=

←←

≥∀

Funzioni one-way

Page 14: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

14

�osservaz

ione

: se P = N

P, allo

ra non esistono

funz

ioni one

-way !

�contronominale: se esiste

una funz

ione

one

-way,

allora P ∫

NP

�d’altra parte, po

treb

be essere P ∫

NP senz

ach

e esistano funzioni one-way

(l’inversione

di una funz

ione

one

-way deve essere

“ quasi sem

pre”

difficile)

�in crittog

rafia, spe

sso si lavora con pe

rmutazioni

(su

{0,1

}n) on

e-way

�no

n sape

ndo se P = N

P op

pure P ∫

NP, si supp

one

che esistano

funzioni one-way

Funzioni one-way

Page 15: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

15

�prim

o esem

piodi funz

ione

che sembra essere

one-way: l’esponen

ziazione

mod

ulare

�sia p un num

ero prim

o

�consideriamo il cam

po �

p, e in particolare il suo

grup

po m

oltiplicativo �

p* =

{1,2

,…,p

-1}

�si dim

ostra ch

e �

p*èun grupp

o ciclico

Ø$

g œ

�p*

tale che �

p* =

{g

0,

g1,…

, g

p-2

}

�l’esponen

ziazione

mod

ulare èla funzione

f : �Ø

�p*def

inita come segu

e:

f(z)

= g

zm

od

p

Esponenziazione modulare

Page 16: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

16

Esempio:

��

5* =

{1,2

,3,4

} èil grupp

o moltiplicativo

conten

uto ne

l campo

�5

= {

0,1

,2,3

,4}

�2èun gen

eratoredi �

5*; infatti:

�5*

= {

20,2

1,2

2,2

3}

= {

1,2

,4,3

}

�po

ssiamo def

inire la seg

uente espo

nenz

iazione

mod

ulare:

f(z)

= 2

zm

od

5

�og

niespo

nenz

iazione mod

ulare prod

uce una

perm

utazione

(one

-way) deg

li elem

enti di �

p*

Esponenziazione modulare

Page 17: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

17

�dato

x, possiam

o calcolare

gxm

od

pin tem

po

polin

omiale

�po

ssiamo supp

orre che

0 §

x §

p-2

�la dim

ension

e dell’inp

utèil numero di bit

nece

ssari pe

r rapp

resentare gli elem

enti di �

p*,

quindi

n =

log

2 p

�vale:

∑− =

=1 0

2n j

j

jx

x

dove

(xn-1

,…,x

1,x

0 )èla rappresen

tazione binaria

di

x

Esponenziazione modulare

Page 18: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

18

�prim

o tentativo:

Mod

Exp(p, g, x)

risultato = 1

while x > 0

do risultato = risultato * g mod

px = x –1

return risultato

�in pratica, ne

lla variabile risultato calcola:

g0, g

1,

g2, …

, g

x(sem

pre mod

n)

�prob

lema: fa un num

ero di iterazioni pari a

x @

2n

(espon

enziale rispetto a n)

Esponenziazione modulare

Page 19: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

19

�soluzion

e corretta: po

ichévale:

pg

gg

gn j

xn j

xx

xj

jj

j

n j

jj

mod

)(

1 0

21 0

22

1 0

∏∏

− =

− =

==

∑=

− =

allora ci basta calcolare i valori

g2

j , pe

r j œ

{0,1

,…,n

-1}, e m

oltiplicare tra loro solo quelli per

cui

x j=

1

�il tutto può essere fatto in tem

po polinom

iale

(rispe

tto a

n) tram

ite il cosiddetto algoritmo

“ square-and-m

ultiply”

Esponenziazione modulare

Page 20: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

20

�algo

ritm

o “square-and-m

ultiply”:

Mod

Exp(p, g, x)

ris = 1

for j = n-1 dow

nto 0

do ris = (ris * ris) m

od p

if x

j= 1 then

ris = (ris * g) mod

preturn ris

�esem

pio: 8

7mod

11

Øp = 11, g = 8, x = 7, n = 4

osservaz

ione

: 87= 209715

2

Esponenziazione modulare

Page 21: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

21

268-

ris*g

26

214

4

6411

ris*ris

20

971

52

512

8-

ris*g

30

111

06

90

111

18

10

111

21

10

111

31

ris*ris

xj

jris

�esec

uzione

dell’algoritmo: nella prima colonna, il

valore di ris all’iniziodella j-esima iterazione

�ne

lle ultim

e due

colon

ne, non èstata fatta la

riduz

ione

mod

ulo

p

Esponenziazione modulare

Page 22: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

22

�l’ope

razione inversa si chiama logaritm

o discreto

�def

inizione

del problema: dati:

�pprim

o

�gge

neratore di �

p*

�y œ�

p*

calcolare

x œ

{0,1

,…,p

-2}tale che

gxª

y m

od

p

�il calcolo dei log

aritmi discreti sembra essere

intrattabile

: non si con

oscono

algo

ritm

i ch

e lo

risolvon

o in tem

po polinom

iale (rispetto a

n =

log

2 p) pe

r tutte le istanze

�pe

r farsi un’idea

, provarea calcolare a manoi

logaritm

i in base 3 in �

11

3*

Logaritmi discreti

Page 23: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

23

�osservazioni:

�113 è

trop

po piccolo

per applicaz

ioni

crittografiche

�elen

care

gli elem

enti di �

p*rich

iede tempo

O

(p)

= O

(2n)

�quindi, l’esponen

ziazione

mod

ularepu

ò essere usata per “nascon

dere”

il valore di

x œ

{0,1

,2,…

,p-2

}in g

xm

od

p

�ècome ch

iudere

xin una cassettach

e no

n pu

òpiùessere ape

rta

�ab

biamo la funzione one-way, manca la trapdoo

r

Logaritmi discreti

Page 24: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

24

�altro esem

piodi funz

ione

che sembra

essere

one-way: il prod

otto tra num

eri

interi

�def

inizione

molto sem

plice: dati due

num

eri

prim

ipe

q, calcolare

n =

pÿq

�il prob

lema inversoèla fattorizz

azione

: dato un num

ero intero

n, ch

e si sa essere

il prod

otto di due

num

eri prim

i pe

q,

calcolare

p(o q)

Fattorizzazione

Page 25: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

25

�la dim

ension

e dell’inp

utèil numero di bit

nece

ssari pe

r rapp

resentare gli elem

enti n

, pe

q; po

niam

o quindi m

= log

2n

�algo

ritm

o banale: si prova a dividere

npe

r tutti

gli interi com

presi tra

2e

Øquesto algoritmo rich

iede pe

rò tem

po

che èespo

nenz

iale

rispetto a m

�vedremo altri algo

ritm

i, che pe

rò in ge

nerale

rich

iedono tempo

espon

enziale

n

)2(

)2

()

(2/

mm

OO

nO

==

Fattorizzazione

Page 26: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

26

�alternativo all’uso dei crittosistemi a ch

iave

pubblica

�serve ad

accordarsi sul valore di una ch

iave

segreta

�pu

bblicato nel 1976

�Alice

e Bob

sce

lgono (pub

blic

amen

te) un num

ero

prim

o q, e un gen

eratore del grupp

o ciclico �

q*

�Alice

sce

glie a caso un intero

x A, con

0 <

xA

< q

-1,

e lo tiene

seg

reto

�Bob

sce

glie a caso un intero

x B, con

0 <

xB

< q

-1,

e lo tiene

seg

reto

Protocollo di Diffie-Hellman

Page 27: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

27

�Alice

calcola g

x Am

od

qe lo invia a Bob

�Bob

calcola g

x Bm

od

qe lo invia ad Alice

�Alice

calcola (

gx B

)x A=

gx A

ÿxB

= k

�Bob

calcola (

gx A

)x B=

gx A

ÿxB

= k

�kèil valore della chiave seg

reta

Sicurez

za:

�Eve ved

e passare sul canale:

q, g, g

x Ae

gx B

�pe

r ricavare x

Ao

x Bdeve calcolare un log

aritmo

discreto

Protocollo di Diffie-Hellman

Page 28: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

28

�pu

ò darsi che si possa ricavare

gx A

ÿxBa

partire da

gx A

e g

x B(problema di Diffie-

Hellman), m

a sembra essereun problema

intrattabile

�esem

pio:

�Alice

e Bob

si accord

ano pe

r usare

q =

25307e

g=

2(che èun gen

eratore di �

253

07*)

�Alice

sce

glie x

A=

3578

�Bob

sce

glie x

B=

19956

Protocollo di Diffie-Hellman

Page 29: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

29

�Alice

calcola g

x A=

23

578

= 6

11

3(m

od

25

307)e lo

sped

isce

a Bob

�Bob

calcola g

x B=

219

956

= 7

984

(mod

253

07)e lo

sped

isce

ad Alice

�rice

vuto g

x A=

61

13da Alice

, Bob

calcola k

=

(gx A

)x B=

6113

199

56

= 3

69

4(m

od

253

07)

�rice

vuto g

x B=

79

84da Bob

, Alic

e calcola

(gx B

)x A

= 7

98

435

78

= 3

694

(mod

253

07), che èlo stesso

valore k

calcolato da Bob

�ora Alice

e Bob

possono usare k

come ch

iave

segreta da usare con un crittosistema

simmetrico

Protocollo di Diffie-Hellman

Page 30: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

30

�pu

bblic

ato da El Gam

al nel 1984

�la difficoltàdi ricavare k

sda

k p, e la

difficoltàdi ricavare m

da

Ek p

(m)derivano

dalla (cong

etturata) difficoltàdi calcolare

i logaritm

i discreti

�ge

nerazione della cop

pia di ch

iavi: og

ni

uten

te�sceg

lie un num

ero prim

o q

�considera il grupp

o moltiplicativo �

q*

�sceg

lie un gen

eratore

gdi �

q*

Crittosistema di El Gamal

Page 31: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

31

�sceg

lie a caso un intero a

tale che

0 <

a <

q-1,

e calcola

gam

od

q

�la chiave seg

reta è

k s=

a

�la chiave pub

blica è

k p=

(q, g,

ga)

�volend

o calcolare

k sda

k p, bisog

nerebbe

calcolare

log

gg

a

�cifratura:

�supp

oniamo ch

e Alice

vog

lia m

andare un

messagg

io m

œ�

q*a Bob

(se m

èpiùlung

o di

log

2q bit, lo si suddivide in blocchi)

Crittosistema di El Gamal

Page 32: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

32

�preleva la chiave pub

blica k

pB

= (

q,

g,

ga)di Bob

�sceg

lie a caso l, con

0 <

l <

q-1

�calcola γ

= g

lm

od

qe δ

= mÿ(

ga)l

mod

q

�invia a Bob

il testo cifrato

c =

,δ)

�dec

ifratura:

�quando Bob

riceve

c, utiliz

za la prop

ria ch

iave

privata

k sB

= a

per calcolare

mcome segu

e:

m =

g-a

l ÿδ=

γ-aÿδ

= γ

q-1

-aÿδ

�l’unica informazione

non pub

blica è

a

Crittosistema di El Gamal

Page 33: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

33

�analisi:

�le unich

e inform

azioni

che transitano sul canale

sono γ

= g

le δ

= mÿ(

ga)l

�se

Eve ricavasse lda

glpo

treb

be calcolare

(ga)l

e po

i m

= δ

(ga

l )-1

= δÿg

-al

Ødeve calcolare un log

aritmo discreto

�se

Eve calcolasse

galda

gae

gl , po

treb

be po

i

calcolare

g-a

l=

(g

al )

-1e infine

m =

δÿg

-al

�la sicurez

za si basa sulle

stesse assunz

ioni

fatte pe

r il protocollo

di Diffie-Hellm

an

Crittosistema di El Gamal

Page 34: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

34

�con i crittosistem

i a ch

iave pub

blica

si può

comunicare senz

acanali privati

Øi crittosistem

i simmetrici non servono

più?

�i crittosistem

i simmetrici:

�sono

molto più

veloci

e difficili da crittoanalizza

re�

nonbasano la sicurez

za su ipotesi matem

atichenon

dim

ostrate

�i crittosistem

i simmetrici

sono veloci ma

rich

iedono una ch

iave seg

reta

�i crittosistem

i a ch

iave pub

blic

asono len

tima non

rich

iedono una ch

iave seg

reta

�idea

: unire il m

eglio

dei due

tipi di crittosistem

i

Confronto tra crittosistemi

Page 35: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

35

�crittosistem

i ibridi:

�si usa un crittosistem

a a ch

iave pub

blic

ape

r stab

ilire una ch

iave sim

metrica (di sessione

)

�si passa a un crittosistem

a simmetrico

per

cifrare/

dec

ifrare i dati

�in alternativa:

�si usa il protocollo di Diffie-Hellm

anpe

r stab

ilire la chiave di sessione

�si passa a un crittosistem

a simmetrico

per

cifrare/

dec

ifrare i dati

Crittosistemi ibridi

Page 36: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

36

�èil crittosistema a ch

iave pub

blica

piùfamoso, più

utilizza

to e più

stud

iato

�il nom

ederiva dalle iniziali deg

li autori: Rivest,

Sham

ir e Adleman

�siano

pe

qdue

num

eri prim

i distinti (p

∫q), circa

della stessa grandez

za, di almen

o15

0 cifre in

base 10

�po

niam

o n =

pÿq

(mod

ulodi RSA)

�calcoliamo φ

(n)

= φ

(pÿq

) =

φ(p

)ÿφ

(q)

= (

p-1

)(q

-1)

�sceg

liamo a caso

dtale che

1 <

d <

φ(n

)e

MC

D(d

, φ

(n))

= 1

(dinvertibilene

ll’anello �

φ(n

))

RSA

Page 37: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

37

�usando l’algoritmo di Euclide esteso,

calcoliamo

e =

d-1

mo

d φ

(n)

�po

niam

o k p

= (

n,

e)e k

s=

d

�i valori p,

qe φ

(n)vann

o mantenuti seg

reti

�cifratura: si usa la funzion

e:

RS

A(n

, e,

x)

= x

em

od

n

che ècong

etturata

essere one

-way

�dec

ifratura: si usa la funz

ione

:

RS

A(n

, d,

x) =

xdm

od

n

RSA

Page 38: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

38

�supp

oniamo ch

e Alice

vog

lia m

andare un m

essagg

io

ma Bob

�preleva la chiave pub

blica di Bob

: (n

B, e B

)

�se m

–{0

, 1,

…,

nB-1

}, lo suddivide in blocchi

�calcola

c =

me B

mod

nBe sped

isce

ca Bob

�Bob

, rice

vuto c:

�calcola

cdBm

od

nBª

(me B

)dBª

me B

dBm

od

nB

�po

iché

e Bd

1 m

odφ

(nB), $

k œ�

tale che

e Bd

B=

1 +

(nB), da cui:

cdBm

od

nBª

m1

+kφ

(nB

mÿ(

mφ(

nB

) )km

od

nB

RSA

Page 39: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

39

�pe

r il piccolo teorem

a di Fermat

(teo

rema di

Eulero), vale m

φ(n

B) ª

1 m

od

nB, e quindi:

cdBm

od

nBª

m m

od

nB

�osservazione

:

�il piccolo teo

rema di Fermat vale se M

CD

(m,n

B)

= 1, cioè

se m

non èmultiplodi

po di q

�tuttavia, anch

e se m

èmultiplo di po di

qsi

dim

ostrach

e la dec

ifratura funziona

correttamen

te

RSA

Page 40: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

40

�supp

oniamo ch

e Bob

sce

lga

p =

101e

q =

113, da

cui

nB

= pÿq

= 1

1413e φ

(nB)

= (

p-1

)(q-1

) =

11200

�ora Bob

deve sceg

liere d

B, compreso tra

2e

φ(n

B)-

1 =

111

99, tale che

MC

D(d

B,φ

(nB))

=

MC

D(d

B,

1120

0)

= 1. S

uppo

niam

o ch

e scelga

dB

= 6

597

�usando l’algoritmo di Euclide esteso, Bob

calcola

e Bª

dB

-1m

odφ

(nB)ª

35

33

mod

112

00

�la chiave pub

blica

di Bob

è(n

B,

e B)

= (

11

413,

353

3),

men

tre la chiave privata

èd

B=

65

97

RSA: esempio

Page 41: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

41

�se Alic

e vuole inviare a Bob

il messagg

io

m =

97

26, calcola:

c =

97

26

3533m

od

114

13

= 5

76

1

e lo invia a Bob

�Bob

rec

upera

mcalcolando:

cdB

= 5

76

16597m

od

11

413

= 9

726

RSA: esempio

Page 42: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

42

�ricord

iamo ch

e p, qe φ

(n)devono rimanere

segreti

�supp

oniamo ch

e Eve con

osca p

e q

�calcola φ

(n)

= (

p –

1)(

q –

1)

�cono

sce

e(fa pa

rte della chiave pub

blic

a)

�calcola

d ª

e-1m

odφ

(n)

�lo stessoaccade se Eve conosce

soloφ

(n)

�quindi,

�se Eve sa fattorizza

re n, rompe

RSA

�non èdetto

che valga il viceversa, ma si conge

tturach

e sia vero Ø

rompe

re RSA sareb

be eq

uivalentea

fattorizza

re n

Alcuni attacchi a RSA

Page 43: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

43

�se Eve conosce

soloφ

(n), non solo riesce

a

rompe

re RSA, ma riesce

anche a

fattorizza

ren:

�sa che

n =

pÿq

e φ

(n)

= (

p –

1)(

q –

1)

=

pq –

(p+

q)

+ 1

= n

–(p

+q)

+ 1

�ricava p

+q =

n –φ

(n)

+ 1

�conoscen

do sommae prod

otto

di pe

q, li può

ricavare

risolven

do l’equazione

di second

o grad

o:

x2–

(p+

q)x

+ p

q =

0

Alcuni attacchi a RSA

Page 44: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

44

�mostriamo ora alcuni accorgimen

tida ad

ottare

nella

sce

lta dei param

etri p, qe φ

(n)

�i valori di

pe

qnondevono essere tropp

o vicini:

�supp

oniamo ch

e sia

p >

q

�se p

e qsono

vicini, allora

(p-q

)/2èpiccolo, e

(p+

q)/

2èpo

co più

grandedi

�dall’ugu

aglianza

(sempre valida)

(p+

q)2

/4 –

n =

(p

-q)2

/4

si ded

uce ch

e (p

+q

)2/4

–nèun quadrato perfe

tto

�ce

rchiamo allora gli interi x

>

pe

r cui x2

–nè

un quadrato perfe

tto, che ch

iamiamo

y2

Alcuni attacchi a RSA

n

n

Page 45: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

45

�da

x2–

n =

y2ricaviam

o:

n =

x2

–y2

= (

x +

y)(

x -

y)

e quindi p

= x

+ y

e q

= x

–y

�bisog

na fare attenz

ione

anche al valore di φ

(n):

�supp

oniamo ch

e M

CD

(p-1

, q

-1)sia grande

�di conseg

uenz

a,

�sarà

piccolorispetto a φ

(n)

)1,1

(

)(

)1,1

(

)1)(1

()1

,1(

−−

=−

−−

=−

−=

qp

MC

D

n

qp

MC

D

qp

qp

mcm

Alcuni attacchi a RSA

Page 46: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

46

�osservaz

ione

: se d

’ª

e-1m

od

u, si può usare d

’al posto di

dpe

r dec

ifrare (questo fatto deriva

dal teo

rema di Eulero)

�dato ch

e uèrelativamen

te piccolo, pu

ò essere

cercato pe

r tentativi

Øèmeg

lio che

p –

1e

q –

1no

n ab

biano

fattori

comunigrandi

�cattiva idea

: usare lo stesso

npe

r un

grup

po di uten

ti (es: un ente o un’azien

da)

�supp

oniamo ch

e un utente deb

ba mandare

ma

due

(o più) utenti

Alcuni attacchi a RSA

Page 47: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

47

�detti e

1ed

e2gli espo

nenti di cifratura, calcola:

c 1=

me 1

mod

n

c 2=

me 2

mod

n

�se M

CD

(e1,

e 2)

= 1

allora Eve, usando

l’algoritmo di Euclid

e esteso, calcola

r, stali ch

e

re1

+ s

e 2=

1

�calcolati

red

s, Eve può calcolare:

c 1r c

2sª

mre

1m

se2ª

mre

1+

se2ª

m m

od

n

Alcuni attacchi a RSA

Page 48: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

48

�altra cattivaidea

: usare lo stessovalore (piccolo)

di

e(es: e

= 3) e valori diversi per n

�supp

oniamo ch

e un utente voglia spe

dire

ma

tre uten

ti A, B, C, ch

e hanno m

oduli n

A, n

Be

nC.

Calcola:

c A=

m3

mod

nA

c B=

m3 m

od

nB

c C=

m3

mod

nC

�se n

A, n

Bed

nCsono a due

a due

cop

rimi, Eve

può usare il Teo

rema Cinese del Resto (CRT) e

calcolare

xtale che:

Alcuni attacchi a RSA

Page 49: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

49

x ª

c Am

od

nA

x ª

c Bm

od

nB

x ª

c Cm

od

nC

�Eve trova un’unica soluzione

x*compresa tra

0

ed <

-1, dove

< =

nAn

Bn

C

�po

iché

m3èminore di

nA, di n

Be di

nC, allora

m3

< <

, ovvero x

* =

m3

�Eve calcola la radice cubica intera

di

x*

(Kob

litz, capitolo 1) pe

r calcolare

m

Alcuni attacchi a RSA

Page 50: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

50

�calcolare

dsembra essere difficile

�teorem

a(S

alom

aa, pag. 143): un algo

ritm

o pe

r calcolare

dpu

ò essere convertito in un

algo

ritm

o prob

abilisticope

r fattorizza

re n

�quindi, rom

pere RSA sem

brerebbeessere

equivalentea fattorizzare n

Attacchi a RSA: conclusioni

Page 51: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

51

�supp

oniamo di dover cifrare con

RSA una

sequen

za dibit(uno alla

volta)

�prob

lema: per ogn

i scelta di

(n,

e), vale:

0eª

0 m

od

n

1eª

1 m

od

n

quindi, c

= m

!�si dim

ostra ch

e in RSA, il bit m

eno sign

ificativo di

m( lsb(m

)) èun hard-core bitpe

r m

em

od

n

�idea

: metto il bit da cifrare in lsb

(m), e sce

lgo gli

altri bit a caso

RSA randomizzato

Page 52: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

52

�supp

oniamo ch

e Alic

e deb

ba mandare il bit

b œ

{0,1

}a Bob

�preleva la chiave pub

blica (

nB,

e B) di Bob

�sceg

lie a caso un intero x

< n

B/2

(quind

i, 2

x <

n)

�trasmette a Bob

y =

(2x

+ b

)e B m

od

nB

�Bob

, rice

vuto y:

�calcola y

dB

mod

nB

= 2

x +

b

�pren

de il bit m

eno sign

ificativo del risultato

RSA randomizzato

Page 53: Crittosistemi a Chiave Pubblicaleporati/crittografia... · 2009. 2. 26. · logaritmo discreto definizione del ... e q; poniamo quindi m = log 2 n ... in generale richiedono n tempo

Alberto Leporati

Corso di Crittografia

53

�osservazione

: non si sase gli altri bit di

m(in particolare, quali e quanti) sono hard-

core bit per RSA

�quindi, per cifrare in mod

o sicuro

un

messagg

io m

, si può cifrare ogn

i bit

di

mcon RSA random

izza

to�la crittoanalisidiven

ta m

olto difficile

�se il messagg

io è

lung

o, il metod

o èinef

ficien

te

RSA randomizzato


Recommended