Sei sulla pagina 1di 5

Appunti di Sistemi di Elaborazione delle Informazioni A.A.

2011-2012
Al gori tmo di Eucl i de (GCD)
Teorema di Euclide:
gcd(a, b) = gcd(b, a % b)
Pseudo codice:
gcd(a, b){
if (b == 0)
return a;
else
return gcd(b, a % b);
}
Al gori tmo Esteso di Eucl i de (I nv. Mol . )
I passi per il calcolo dell'inverso moltiplicativo sono strutturabili in forma tabellare mediante le seuenti
relazioni di ricorrenza:
ri

= ri-2 % ri-1
qi = floor(ri-2 / ri-1)
xi = xi-2 qi * xi-1
yi = yi-2 qi * yi-1
Esempio: calcolare l'inverso moltiplicativo di a ! 1"#$ nello spazio dei residui modulo m ! ##0
i r q x y
-1 1"#$ 0 1 0
0 ##0 0 0 1
1 10$ % 1 -%
2 # # -# 1&
% ' 21 10& -%%$
' 1 1 -111 %%#
# 0 '
(a condizione di arresto dell'aloritmo ) ri == 0* +uando essa ) verificata in xi-1 ) contenuto l'inverso
moltiplicativo di a mod m.
Se tale valore ) neativo ) sufficiente riportarlo nello spazio dei residui modulo m con tale relazione:
invm = (xi-1 + m) % m.
('esistenza dell'inverso moltiplicativo ) arantita solo +uando a ed m sono coprimi, cio) cd-a, m. ! 1.
Se, raiunta la condizione di arresto, xi-1 == 1, a ed m non sono relativamente primi, e l'aloritmo esteso
di Euclide ne fornisce il massimo comun divisore dato dalla relazione: gcd(a, m) = a * xi-1 + m * yi-1.
Si osservi c/e se m ) un numero primo, l'esistenza dell'inverso moltiplicativo ) arantita per oni
elemento dello spazio dei residui modulo m.
Appunti di Sistemi di Elaborazione delle Informazioni A.A. 2011-2012
Di ffi e- Hel l man
0rotocollo per la generazione e la distribuzione di una ciave simme!rica tra due parti fidate.
Parametri di i ni zi al i zzazi one
1. q numero primo
2. a " q, radice primi!iva di +
a e + sono parametri pubblici.
Generazi one di una ci ave si mmetri ca
1i seuito ) riportato lo sc/ema per il calcolo di c/iavi pubblic/e e private e c/iave simmetrica:
#ser $ #ser %
Priva!e &ey 2A 3 + 24 3 +
Pu'(ic &ey 5A ! a
2A
mod + 54 ! a
24
mod +
)ecre! &ey
6 ! -54.
2A
mod + 6 ! -5A.
24
mod +
-54.
2A
mod + ! -5A.
24
mod + ! a
2A724
mod +
2A ed 24 sono i (ogari!mi discre!i delle rispettive c/iavi pubblic/e 5A ed 54.
*u(nera'i(i!+:
man in t/e middle
1enial of service
Appunti di Sistemi di Elaborazione delle Informazioni A.A. 2011-2012
El Gamal
Sistema di crittografia a blocc/i c/e sfrutta il protocollo 1iffie-8ellman per la generazione e la
distribuzione di una c/iave simmetrica di sessione tra due parti fidate.
El9amal differisce da 1iffie-8ellman nel modo in cui la c/iave simmetrica 6 viene enerata e condivisa tra
le due parti.
!ormato dei messaggi
I messai venono rappresentati come numeri in!eri compresi nell'intervallo ,0, q - 1-. :essai
eccedenti tale dimensione
1
venono sementati in pi; blocc/i e codificati separatamente.
Codi fi ca
Supponendo c/e le parti in +uestione abbiano enerato le rispettive coppie di c/iavi pubblic/e -5A ed 54.
e private -2A ed 24.
2
secondo lo sc/ema 1iffie-8ellman, la codifica di un messaio . da parte del
mittente 4 impiea la c/iave pubblica del destinatario A al fine di arantire la confidenzialit< della
trasmissione seuendo la seuente procedura:
1. selezione di un numero casuale / nell'intervallo =1, + > 1?
2. calcolo della c/iave simmetrica temporanea & = (0$)
/
mod q
%. codifica di . come coppia di valori (11, 12):
%.1. 11 = a
/
mod q
%.2. 12 = &*. mod q
Decodi fi ca
Il destinatario A decifra il messaio applicando la seuente se+uenza di operazioni:
1. calcolo della c/iave simmetrica temporanea & = (11)
3$
mod q
2. decodifica del messaio . = (12 * &
-1
) mod q
dove 6
-1
) l'inverso moltiplicativo di 6 nello spazio dei residui modulo +.
*u(nera'i(i!+:
c/osen c@p/erteAt attacB : se la c/iave simmetrica di sessione viene usata per la codifica di pi;
blocc/i) possibile decodificare il flusso se ) noto il valore non cifrato di almeno uno dei blocc/i
c/e componono il messaio.
1 (a dimensione del blocco ) +uindi pari a lo2-+. C 1.
2 In El9amal i valori di 2A ed 24 sono compresi nell'intervallo -1, + > 1.* i valori deli estremi superiore ed inferiore non
possono essere selezionati poic/D renderebbero possibile calcolare E1 a partire da soli parametri pubblici:
2 ! 1 E 1 ! a mod +
2 ! + - 1 E 1 ! a
+-1
mod +.
Appunti di Sistemi di Elaborazione delle Informazioni A.A. 2011-2012
"#A
FSA ) uno sc/ema a c/iave asimme!rica di cri!!ogra4ia a '(occi basato sul calcolo dei loaritmi discreti.
Parametri di i ni zi al i zzazi one
1. n numero intero rappresentabile su 1025 'i!
2. p, q numeri primi tali c/e n = p * q
n ) un parametro pubblico, mentre p e + sono sereti.
!ormato dei messaggi
I messai venono rappresentati come numeri in!eri compresi nell'intervallo ,0, n - 1-. :essai
eccedenti tale dimensione
%
venono sementati in pi; blocc/i e codificati separatamente.
Ci avi
1i seuito ) riportato lo sc/ema per il calcolo di c/iavi pubblic/e e private:
Pu'(ic &ey Ge, nH
Priva!e &ey Gd, nH
d ! e
-1
mod I-n.
1ove e ) un parametro pubblico selezionato nell'intervallo (1, 6(n)) tale c/e gcd(e, 6(n)) = 1, metre d )
un parametro sereto, 6 ) la funzione toziente di Eulero.
Codi fi ca
(a codifica ric/iede la c/iave pubblica del destinatario: 1 = .
e
mod n
Decodi fi ca
(a decodifica ric/iede la c/iave sereta del destinatario: . = 1
d
mod n = .
e*d
mod n
#i curezza
(a sicurezza di FSA si basa sul concetto di trap-door one-way function, in +uesto caso rappresentata dalla
funzione 6: non ) computazionalmente impraticabile tentare di calcolare d a partire dalla conoscenza
della c/iave pubblica 7e, n8 se non sono noti i valori di p e q:
6(n) = 6(p * q) = (p - 1)*(q - 1)
0oic/) p e + sono parametri sereti l'unico modo per calcolare il valore I-n. ) dato dall'applicazione di un
medoto brute-force.
% (a dimensione del blocco ) +uindi pari a lo2-n. C 1.
Appunti di Sistemi di Elaborazione delle Informazioni A.A. 2011-2012
A$$unti di $ro%a%i l i t&
Pro%a%i l i t& condi zi onata
1ate due variabili aleatorie 2 ed 5 si dice probabilit< condizionata di 2 dato 5 il rapporto tra probabilit<
coniunta di 2 ed 5 e probabilit< marinale di 5:
P(XY )=
P(X ,Y )
P (Y )
'eorema del l a $ro%a%i l i t& assol uta
1ata la definizione di funzione di probabilit< condizionata e coniunta ) possibile calcolare probabilit<
marinali sfruttando la seuente relazione:
P( X )=

Y
P(XY )
P( y)
=

Y
P (X , Y )
!ormul a di (a)es
(a formula di 4a@es consente di invertire l'evidenza con la variabile condizionata nel calcolo di una
probabilit< condizionata:
P(XY )=
P(YX )P (X )
P (Y )

Potrebbero piacerti anche