Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi A - F > Crittografia I e II
 
[crittografia] help!
Clicca QUI per vedere il messaggio nel forum
polyethylene
Crittosistema di Hill, dagli appunti della Pagnoni, seconda lezione

Non ho capito perchè l'inversa di:

|3 3|
|2 5|

risulta essere:

|15 17|
|20 9|

qualcuno mi può spiegare ?:?

grazie

Ika
Allora per calcolare l'inversa devi prima di tutto calcolare il determinante della matrice di partenza ..
Nel nostro caso è 15-6= 9 .
Dopodiche calcoli la matrice trasposta .. che essendo una due per due si calcola semplicemente invertendo di posizione gli elementi agli estremi ... e dividendo ogni elemento per i determinante trovato prima
Diventa quindi
| 5/9 -2/9 |
| -1/3 1/3 |

Ah, mi stavo dimenticando che devi mettere segno negativo agli elementi che si trovano in posizione dispari.
Ora devi trasformare questi numeri in modulo 26 perchè il crittosistema di Hill si basa sull'aritmetica modulo 26.
Nell'anello delle classi di resto modulo 26 non esistono i numeri negativi nè tantomeno le frazioni !
Dunque devi cercare gli inversi dei numeri 3 e 9.
a è l'inverso di b se a *b =1.
Quindi l'inverso di 9 è 3 e l'inverso di 3 è ovviamente 9.
A questo punto fai delle semplici moltiplicazioni

5 * 3 = 15
-2 * 3 = -6 che è congruo a 20 mod 26
-1 * 9 = -9 congruo 17 mod 26
1*9 = 9

e hai la matrice dei lucidi


| 15 17 |
| 20 9 |

Ciao ciao

LazerPhEa
code:
Allora: tieni presente che tutti i calcoli li devi fare mudulo 26, perchè si assume che il testo da crittare sia scritto in inglese, il cui alfabeto è di 26 lettere. Detto questo, l'inversa di una matrice M viene calcolata come: M^-1 = [1/Det(M)] x N Dove: Det(M) indica il determinante della matrice M N è la matrice dei complementi algebrici di M trasposta. Dall' espressione di M^-1 si deduce che C.N.S. per l'esistenza dell'inversa è Det(M) <> 0 ( i.e., il determinante deve essere non nullo, essendo al denominatore dell'espressione). Si calcola il determinante come: (5*3) + (-(3*2)) = 15 - 6 = 9 <>0. Esiste quindi M^-1. Si ricava la matrice dei complementi algebrici: | 5 -2 | |-3 3 | Si riducono gli elementi della matrice modulo 26; 5 e 3 non richiedono ulteriori computazioni, mentre -2 e -3 devono essere ridotti. Tenendo presente che l'opposto di un numero n è quel numero che sommato ad n da l'elemento neutro per la somma, -2 è quel numero che sommato a 2 da 0mod26 Quindi 2+24 = 0mod26 (infatti 2+24=26 che è congruente a 0, in aritmetica modulo 26) Stesso ragionamento per -3, che risulta essere 23mod26 Ora si traspone la matrice, che diventa: N = |5 23| |24 3 | Gli elementi di N devono perciò essere moltiplicati per 1/9 (cioè 1/Det(M)). Ancora una volta si deve ridurre 1/9 modulo 26, tenendo presente che l'inverso di un numero n è quel numero che moltiplicato per n da l'elemento neutro per la moltiplicazione, si cerca un numero m T.C 9*m = 1mod26. In questo caso m=3, infatti 9*3=26+1= 1mod26. Quindi M^-1 = |5*3 23*3| |24*3 3*3 | Ancora: 5*3 = 15 e 3*3=9 sono a posto, mentre 23*3 = 69 e 24*3 = 72 devono essere ridotti mod26. 69 = 17 + 2*26 = 17mod26 72 = 20 + 2*26 = 17mod26 Infine M^-1 = |15 17| |20 9 | :D


Anche se mentre ci pensavo ti aveva già risposto Ika, ti posto comunque la mia versione! ;)

polyethylene
Grazie, siete stati chiarissimi.
Mi sfuggiva il fatto del mod 26 :-D

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate