|
I problemi sopra citati vengono risolti dalla crittografia a chiave pubblica.
Un utente possiede una coppia univoca di chiavi, ed è importantissimo che sia univoca, composta da una chiave per cifrare il messaggio che viene resa pubblica e da una che è in grado di decifrare il messaggio, e solo questa è in grado di farlo, che viene tenuta segreta dall’utente in modo che solo lui possa utilizzarla. Le due chiavi sono create matematicamente in maniera tale che un messaggio cifrato da una delle due può essere decifrato solo dall’altra. In pratica se si vuole spedire un messaggio ad una certa persona lo si critta con la sua chiave pubblica, e si è sicuri che solo quella persona con la propria chiave privata sarà in grado di decifrarla, paradossalmente neanche chi critta il messaggio può più decrittarlo con la chiave pubblica in suo possesso nonostante sia servita per crittarlo. Gli algoritmi simmetrici possono essere utilizzati per creare le cosiddette firme digitali. Dunque il vantaggio principale fornito dalla crittografia asimmetrica o a chiave pubblica sta nella facilita con cui vengono gestite le chiavi, infatti non c'è più la necessità di un canale sicuro per lo scambio, poiché se un utente necessita di ricevere un messaggio cifrato da un altro, non fa altro che spedirgli la sua chiave pubblica, sicuro che solo lui con la chiave privata potrà decifrare il messaggio, dunque se la chiave pubblica cadesse in mani sbagliate non sarebbe un grosso problema. USO COMBINATOMa neanche questi algoritmi risolvono del tutto i problemi infatti ci sono vari motivi per cui è consigliabile propendere per un uso combinato dei due sistemi a chiave segreta e a chiave pubblica :
RSAIl codice RSA nasce nel 1977 dopo circa un anno di intenso lavoro da parte di tre studiosi del MIT di Boston R. Rivest, A. Shamir, L. Adelman i quali volevano mettere in pratica la teoria formulata da Diffie e Hellman: un cifrario a doppia chiave pubblica e privata . L’RSA è dunque un cifrario a chiave pubblica che permette di cifrare un messaggio attraverso un procedimento che sfrutta i numeri primi. Espongo il procedimento con relativo esempio:
p = 17, q = 11
e = 7
Per comodità cifriamo una sola lettera X che in
ASCII è 1011000 cioè 88 in decimale.
C = 11
7*d
= 1*[mod(16*10)]
M = Cd [mod(p*q)] Questo protocollo asimmetrico e tutt’ora considerato sicurissimo se usato bene e se viene tenuta ben segreta la fattorizzazione di N cioè p e q, in quanto non e possibile per motivi di calcolo risalire a essi che sono indispensabili per decifrare il testo. L’unico e grosso inconveniente dell’RSA è che con l’aumentare della grandezza del messaggio diventa lungo e pesante da applicare, ma per la sicurezza si fa questo ed altro! |
|