Estratto del documento

Crittografia

Un cifrario è perfetto quando, dato il messaggio crittografato, esso non dà nessuna informazione aggiuntiva rispetto al messaggio iniziale, rendendo quindi inutile l'informazione acquisita dal messaggio crittografato. Nel one time pad lo XOR non aggiunge informazioni mentre l'AND sì. Da decimale a binario si moltiplica per 3, qualcosa che è il logaritmo in base 2 di 10. Le cifre sono migliaia negli algoritmi crittografici, il numero di cifre NON il valore che esse rappresentano.

Funzioni hash, MAC, chiave pubblica e chiave segreta

Funzioni hash, MAC, chiave pubblica e chiave segreta sono i mattoncini base ma ci sono mille modi di fare tutto. Di base la firma digitale non è altro che fare un qualcosa che potessi fare solo io. L'esempio base è un'altra persona che mi invia una stringa e io la codifico con la mia chiave privata e poi la reinvio. In questo modo non ho detto a nessuno la mia chiave privata e nessuno può dal messaggio crittografato risalire alla mia chiave privata, ma tutti possono vedere che sono stato io a crittografare la stringa. Infatti, possono decriptarla con la mia chiave pubblica e confrontarla con la stringa originaria.

La firma digitale sfrutta un altro problema np, che è il logaritmo discreto. Infatti, è necessario risolverlo per ottenere la chiave privata dato sia il messaggio cifrato che il messaggio originale. Quindi il logaritmo discreto è della stessa famiglia del problema della fattorizzazione in numeri primi. La firma digitale cerca di essere come la manuale, ma è difficile perché la digitale potrebbe essere copiata e incollata. Per evitare attacco copia incolla si deve far dipendere la firma dal file.

Comunque un modo sarebbe decifrare il messaggio con la mia chiave privata in modo che tutti potrebbero verificarlo usando la mia chiave pubblica. Nessuno lo usa perché se il documento da inviare è lungo allora la chiave sarà lunga come il documento, ma è il mattone fondamentale. Questo protocollo è troppo lungo e manca di confidenzialità.

Quindi nasce un protocollo per avere confidenzialità dove prendo il messaggio e lo decodifico con la mia chiave privata e poi lo codifico con la chiave pubblica del destinatario. In pratica si decodifica con la mia chiave privata l’hash del messaggio, e si codifica il messaggio con la chiave pubblica del destinatario. Poi invio entrambi. Un giudice può chiedere la chiave privata del destinatario altrimenti va in carcere ahah.

RFID

Un esempio è l'antitaccheggio che suona quando si porta un vestito fuori da un negozio, un altro esempio sono i bancomat contactless. Un dispositivo RFID è composto da un'antenna, un modem che converte i segnali da analogici a digitali e viceversa, un microcontrollore (una CPU), una memoria e un'alimentazione che può essere tramite batteria oppure usando i circuiti che si trasformano in alimentazione.

La famosa NFC (Near Field Communication) è una tecnologia che ricade all'interno dell'RFID, è una sottocategoria, funziona fino ad un massimo di 10 cm, permette una comunicazione bidirezionale quando i due apparecchi vengono avvicinati entro un raggio di 4 cm viene creata una rete peer-to-peer ed entrambi inviano e ricevono informazioni. NFC si parla ancora più di RFID perché è stato montato sugli smartphone e perciò i lettori di questa tecnologia sono molto diffusi, ognuno di noi ha un lettore NFC in tasca quindi.

Diffie-Hellman

Algoritmo di Diffie-Hellman serve per condividere una chiave segreta senza incontrarsi, per trovare la chiave cooperano entrambi scegliendo dei numeri, nessuno la decide ma viene calcolata in base ai numeri scelti. RSA prende spunto da questo algoritmo che è nato qualche anno prima. Questo algoritmo funziona perché ancora non c’è una soluzione non esponenziale al logaritmo discreto. Nemmeno mittente e destinatario conoscono i numeri scelti dall’altro, però grazie a ciò che si sono inviati riescono ad ottenere una cosa comune.

Curve ellittiche

Dopo RSA nascono altri metodi a chiave pubblica, il più recente e con maggiore successo è la crittografia a curva ellittica, piano piano probabilmente rimpiazzerà RSA perché il problema delle curve ellittiche è più complesso rispetto al problema del fattoriale e poi usa chiavi più piccole (ma forse non ho capito bene quest’ultimo punto). La grande caratteristica delle curve ellittiche è che prendendo due punti sulla curva ellittica e facendogli (non so se solo la somma) ritorna sempre un punto sulla curva! In più si ha la proprietà dell’abellianità.

Ogni retta interseca una curva ellittica in al massimo 3 punti. La somma in una curva ellittica di due punti avrà risultato l’opposto rispetto all’asse x del terzo punto che si ricava da una retta che passa da i due punti da cui si vuole fare la somma (verrà spiegata meglio nella prossima lezione). Oltre le curve prime (che hanno tante proprietà) spesso si usano le curve binarie. Il logaritmo discreto è calcolare il logaritmo nel mondo di Zp.

Per lo scambio di chiavi su curva ellittica Alice e Bob scelgono pubblicamente un campo, poi una curva ellittica, poi si sceglie un punto B che deve avere un ordine molto grande. Poi Alice sceglie un numero con ordine minore di B che sarà la sua chiave privata e calcola la chiave pubblica. La stessa cosa la farà Bob. Le curve ellittiche sono preferibili a RSA perché garantiscono la stessa sicurezza con chiavi più piccole e perché il problema del logaritmo discreto per i matematici sembra (non è dimostrato) più difficile del problema del fattoriale.

SSL

Secure Socket Layer è un protocollo (estensione di TCP/IP che si piazza tra livello applicazione e livello trasporto ed è indipendente sia dal protocollo che sta sopra come HTTP sia da quello che sta sotto come TCP) che mette insieme tutti gli elementi di base studiati in precedenza come RSA, hash, ecc, non aggiunge niente di nuovo quindi. Ha l'obiettivo di fare autenticazione e confidenzialità senza che l'utente se ne accorga. Se tutto il mondo fosse esperto di crittografia, SSL non servirebbe, perché esso non è niente di nuovo.

TLS è la versione successiva di SSL, ma SSL è didatticamente migliore da studiare anche se deprecato. SSL che nello stack TCP/IP ha in alto lo strato di applicazione (es HTTP) e in basso lo strato di trasporto (es TCP) è diviso a sua volta in due strati, quello più in basso si chiama SSL record che è connesso direttamente al protocollo di trasporto, quello più in alto si chiama SSL handshake. Handshake crea un canale sicuro dentro il quale record fa viaggiare i messaggi incapsulandoli in blocchi cifrati e autenticati.

SSL viene invocato dall'utente e si basa sulla condivisione di un segreto chiamato master secret, dal quale sia l'utente che il server strapperanno dei pezzi per creare delle chiavi. Tutto nasce dal client che chiama un "client hello" dove invia determinate cose tra cui una ser...

Anteprima
Vedrai una selezione di 4 pagine su 11
Crittografia - Appunti Pag. 1 Crittografia - Appunti Pag. 2
Anteprima di 4 pagg. su 11.
Scarica il documento per vederlo tutto.
Crittografia - Appunti Pag. 6
Anteprima di 4 pagg. su 11.
Scarica il documento per vederlo tutto.
Crittografia - Appunti Pag. 11
1 su 11
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher luca2695 di informazioni apprese con la frequenza delle lezioni di Crittografia e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Bologna o del prof Margara Luciano.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community