Top Banner
A.A. 2013-14 Franco Alberti, Valeria Dotti, Luisa Lovisetti, Ester Mancini, Chiara Tognassi
24

Rsa -gauss jordan

Jul 06, 2015

Download

Science

chiara1990

Presentation of Gauss jordan algoritm, and RSA algorithm
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Rsa -gauss jordan

A.A. 2013-14

Franco Alberti, Valeria Dotti, Luisa Lovisetti,

Ester Mancini, Chiara Tognassi

Page 2: Rsa -gauss jordan

ALGORITMOConsiderando la base canonica {ei}i di Rn ogni matrice invertibile risolve il sistema:

Ax=ei per ogni i= 1,…….,n

Quindi raggruppando gli n sistemi si ricava l’espressione:

AX=I dove X=A-1 (1)

Page 3: Rsa -gauss jordan

Effettuando delle combinazioni lineari sulle equazioni del sistema (1) siricava:

DX=B dove D è una matrice diagonale (2)

Su questa proprietà si fonda l’algoritmo di Gauss-Jordan, applicando lecombinazioni che permettono di passare dal sistema (1) al sistema (2).

Page 4: Rsa -gauss jordan

Per applicare queste combinazioni affianchiamo alla matrice A una matriceidentica I della stessa dimensione di A e otteniamo:

[A|I]n x 2n

Adesso su questa matrice rettangolare svolgiamo essenzialmente 3 passaggi:

1. Applicare l’eliminazione di Gauss e ricavare una matrice a scala superiore;

2. Moltiplicare ogni riga della matrice per l’elemento sulla diagonale di A;

3. Riapplicare l’eliminazione di Gauss per rendere la matrice di sinistra ugualealla matrice identica annullando gli elementi rimanenti sopra la diagonale.

Page 5: Rsa -gauss jordan

Applicando questi passaggi la matrice I che avevamo affiancato allamatrice A diventa la matrice A-1 .

Ora mostriamo come abbiamo riportato questo algoritmo in linguaggioSmallTalk.

Pharo3.0

Page 6: Rsa -gauss jordan
Page 7: Rsa -gauss jordan

La crittografia è la scrittura di un testo in modo tale che lepersone estranee al codice non possano comprenderlo, ma illettore desiderato sia in grado di decifrarlo per leggere ilmessaggio contenuto in esso.

Page 8: Rsa -gauss jordan

In tempi di guerra, ad esempio, è essenziale che il nemico nonsappia cosa voi e i vostri alleati stiate tramando, perché vincere operdere una guerra può dipendere dalla segretezza delleoperazioni belliche e dalle strategie, atte a sorprendere il nemicoquando meno se lo aspetta.

Page 9: Rsa -gauss jordan

Sistemi crittografici antecedenti a RSA

La codifica e la decodifica dovevano conoscere il metodo dicrittografia e la chiave per decifrare il messaggio;

Le chiavi erano simmetriche.

Nel 1977 si arrivò alla formalizzazione di un nuovoalgoritmo, chiamato RSA, dalle iniziali di Rivest, Shamir eAdleman.

Page 10: Rsa -gauss jordan

Elementi di baseSfrutta la difficoltà di fattorizzare un numero n molto

grande;

Chiave asimmetrica (pubblica e privata);

Teorema di Eulero;

Piccolo teorema di Fermat.

Page 11: Rsa -gauss jordan

Supponiamo che Alice voglia mandare un messaggio a Bob eimpedire a Colin di sapere ciò che dice. Per farlo, utilizzando ilsistema crittografico RSA, Bob deve innanzi tutto produrre unachiave secondo la seguente ricetta:

Funzionamento

Page 12: Rsa -gauss jordan

Generazione di una chiave RSA

1. Si producono due primi p e q in modo che:

a. p e q abbiano lo stesso numero di cifre;

b. p e q siano “random”.

2. Si calcola n=pq e j(n)=(p-1)(q-1)=n-p-q+1.

3. Si sceglie un numero e coprimo con j(n) e più piccolo di j(n).

4. Si calcola d tale che ed=1 mod(j(n)).

5. Si trasmette la chiave pubblica e e si conserva la chiave privatad.

Page 13: Rsa -gauss jordan

Nella pratica oggi si usano p, q dell’ordine di 10150, in modo taleche n=pq sia un numero a 1024 bit.

Il numero e si chiama esponente di codifica (o cifratura) mentreil numero d si chiama esponente di decodifica (o decifratura).

Notiamo che, una volta creata, la chiave RSA può essereutilizzata indeterminatamente. Il suo utilizzo continuato di persé non la svela.

Page 14: Rsa -gauss jordan

Per mandare il messaggio a Bob, Alice rappresenterà il suomessaggio attraverso un numero P (testo in chiaro) multiplo din e lo cifrerà secondo la seguente regola:

Cifratura del messaggio

Ee,n(p)=pemod(n)

E si chiama funzione di cifratura (o codifica, o crittatura).c=E(p) si chiama testo cifrato.

Page 15: Rsa -gauss jordan

Il testo cifrato viene trasmesso da Alice a Bob, il quale lo decifrasecondo la seguente regola:

Decifratura del messaggio

Dd,n(c)=cdmod(n).

La funzione D si chiama funzione di decifratura (o decodifica, odecrittatura).

Page 16: Rsa -gauss jordan

Tempi necessari a svolgere le tre operazioni:

Generazione della chiave;

Cifratura;

Decifratura.

Per quanto riguarda le ultime due operazioni è dell’ordine diO(log3n).

Un risultato simile si ottiene per la generazione della chiave.

Page 17: Rsa -gauss jordan

Pur trattandosi di tempi polinomiali, essi rispecchiano ilmaggiore inconveniente di RSA. Si tratta di un sistema lento,poco adatto a cifrare messaggi lunghi.

Page 18: Rsa -gauss jordan

Assumiamo ora il punto di vista di Colin. Per sapere il contenuto del messaggio (cioè calcolare il valore di P), Colin deve risolvere l’equazione di congruenza:

Xe=c mod(n)

I valori di e, n, c sono infatti pubblici.

Page 19: Rsa -gauss jordan

Colin potrebbe:

Fattorizzare n;

Calcolare j(n);

Calcolare d=e mod(j(n));

Decifrare proprio come farebbe Bob.

Page 20: Rsa -gauss jordan

Attacchi all’RSA

•Common Modulus

•Blinding

Page 21: Rsa -gauss jordan

Common Modulus

Fissiamo n una volta per tutte, che verrà utilizzato da tutti gliutenti. L’utente 1 (Alice) avrà una coppia unica e₁, d₁ dallaquale ricaverà una chiave pubblica (n,e₁) e una chiave segreta(n,d₁).

Page 22: Rsa -gauss jordan

Common Modulus

Tuttavia, questo non è vero e il sistema risultante non èsicuro. Infatti, Bob può utilizzare i suoi valori e₂ e d₂ perfattorizzare il modulo n. Dopodiché Bob può ricavare la

chiave privata di Alice dalla sua chiave pubblica.

Page 23: Rsa -gauss jordan

Siano d la chiave privata di Bob ed e la sua corrispondentechiave pubblica. Supponiamo che un antagonista (Colin)voglia la firma di Bob su un messaggio M. Dal momento chenon è uno sprovveduto, Bob si rifiuta di firmarlo.

Colin può allora fare questo tentativo: prende un numerorandom r e pone M’=reM mod(n). Dopodiché chiede a Bobdi firmare il messaggio M’.

Blinding

Page 24: Rsa -gauss jordan

Bob potrebbe essere convinto ad apporre la sua firma S’,fidandosi dell’aspetto innocuo di M’.

Ma S’=(M’)dmod(n). A Colin basterà quindi calcolareS=(S’/r)mod(n) per ottenere la firma S di Bob sull’originaleM e cioè (dopo alcuni calcoli) Se=M mod(n).

Blinding