Perché c’è una conoscenza asimmetrica delle chiavi, ma oggi giorno è un po’ confusa la faccenda e usiamo parlare di un certo sotto insieme di primitive e costruzioni di basso livello che derivano da conoscenze diverse dalla simmetrica.
Iniziamo chiamando coppie di chiavi come pubblica e privata. Una public key è vincolata in maniera forte alla private key. IN qualsiasi sistema simmetrico considero di distribuire una chiave almeno a due persone, in asimmetrico la chiave privata è conosciuta solamente ad nua entità, mentre la pubblica è disponibile virtualmente per tutti, dipende da noi come la andiamo a distribuire.
Vedremo alcuni aspetti del tipo:
Questi sono 3 schemi primitivi che possiamo ricondurre a schemi matematici. Nel secondo caso possiamo pensare alla key incapsulation, per cui abbiamo uno schema che serve a cifrare una chiave simmetrica. Molto spesso nel mondo reale usiamo asimmetrica ibrida in cui c’è asym per ey encaps e poi simmetrica per parlarci.
In cifratura simmetrica chiunque conosca la chiave pubblica può decifrare i dati, ma per cifrarli c’è bisogno della chiave privata ovviamente. La cifratura asimmetrica ha questo setting.

Poi solitamente vado tutto con ibrido:

Crittografia asimmetrica è confidenzialità, mentre firma digitale è autenticità come preconcetto.

Il receiver può andare a verificare che il sender abbia firmato correttamente il tutto. E’ un sistema molto simile ad un mac, ma aggiunge due garanzie importanti ed ulteriori:
In black box in un contesto di key exchange voglio andare ad avere una chiave comune essenzialmente! Il protocollo nativamente assume attaccanti passivi che possono solamente leggere, ma non fanno manipolazione, altrimenti key exchange non autenticato potrebbe essere facilmente violato. Assumo che non via sia per altro alcuna terza parte. Il key exchange potrebbe estendersi, ma dal punto di vista di sicurezza eve potrebbe anche provare ad avere attacchi attivi. Se ha accesso al canale fisico potrebbe fare quel che vuole, ma l’autenticità potrebbe andare a rilevare questo tipo di interventi lato alice e bob! E quindi non andare ad accettare certi messaggi! Quando parliamo di autenticazione non parliamo di autenticazione uguale: potrebbe essere sia una autenticazione da entrambi le parti ma potremmo parlare anche di autenticazione solamente server side. Vogliamo sapere chi sta autenticando i messaggi di chi.
Dobbiamo capire che un concetto fondamentale che ci serve è un oggetto che ci sembra simile a qualcosa che abbiamo già visto. Una funzione one way è quella funzione in cui possiamo calcolare in un modo efficiente in verso e poco efficiente nell’altro (costi polinomiali - costi esponenziali). Abbiamo già visto delle funzioni one way nelle funzioni hash. Quello che vorremmo usare sarebbe funzioni con una struttura tra input e output e usano dei principi di diffusione e confusione. Meno legami ci sono tra chiavi e output, input eoutput meglio è. Così vado forte senza essere critto analizzabile. Vogliamo realizzare delle one way functions senza andare a rompere tutta la struttura interna dei dati. Non usiamo operazioni binarie, ma dei problemi matematici per cui ho delle soluzioni e delle strutture, ma che sappiamo non essere trattabili computazionalmente. I crittografi che lavorano in questo ambito sono spesso matematici. Nella crittografia asimmetrica (standard e consolidata), ho tre tipi di costruzioni di cui 2 riconduco ad una unica categoria: