Loading
Note di Apprendimento
Study Reminders
Support
Text Version

Crittografia Autenticata

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Fondamenta della crittografia Prof. Dr. Ashish Choudhury (Ex) Infosys Foundation Career Development Chair Professor International Institute of Information Technology – Bangalore Lezione – 33 Autenticazione autenticata (Riferimento Slide Time: 00.34) Ciao a tutti, benvenuti a questa lezione. Il piano per questa lezione è il seguente. Così, in questa lezione, definiremo la nozione di crittografia autenticata e vedremo le implicazioni della crittografia autenticata. Iniziamo quindi la discussione con gli obiettivi di comunicazione sicura. (Riferimento Slide Time: 00 :45) Quindi, ricordati che nel problema della comunicazione sicura, quello scenario è il seguente. Abbiamo un mittente e un destinatario senza informazioni pre - condivise e sono collegati da un canale pubblico aperto insicuro e il nostro obiettivo è sostanzialmente quello di applicare qualche primitivo crittografico che converte questo canale aperto pubblico in qualche canale sicuro virtuale e ciò che esattamente intendo per canale sicuro virtuale è che utilizzando questo canale, il mittente e il destinatario possono fare comunicazione ottenendo le seguenti proprietà. La prima proprietà è la privacy, ovvero la comunicazione che accade sul canale non trapela alcuna informazione sui messaggi sottostanti che il mittente o il destinatario stanno comunicando tra di loro. La seconda proprietà realizzata qui è quella dell'autenticità, dove è garantita al destinatario che un po' di stringhe che sta ricevendo sul canale abbia effettivamente originato dal mittente e viceversa. La terza proprietà che si ottiene è quella dell'integrità, cioè se c'è un avversario malevolo o un avversario attivo, che è seduto sopra il canale e che osserva la comunicazione e cerca di modificare la comunicazione riordinando i pacchetti o inserendo nuovi pacchetti, giusto, poi sarà individuabile dal destinatario o dal mittente e viceversa. Ecco, questi sono i 3 obiettivi di comunicazione sicura, e abbiamo visto vari primitivi raggiungere separatamente la proprietà della privacy e la proprietà di autenticità e integrità. (Riferimento Slide Time: 02.12) Ovvero il quadro fino ad ora è il seguente. Quindi, abbiamo discusso diffusamente 2 primitivi crittografici, ovvero la crittografia simmetrica o i codici di autenticazione SKE e dei messaggi o MAC. Quindi, la proprietà saggia, l'obiettivo di una crittografia simmetrica sicura è quello di ottenere la privacy property dove è l'obiettivo del codice di autenticazione dei messaggi è quello di risolvere il problema dell'integrità e il problema di autenticazione. Se si considera la crittografia simmetrica, allora si risolve solo il problema della privacy. Non risolva il problema dell'integrità e dell'autenticazione ed è facile vedere che qualunque meccanismo di crittografia di cui abbiamo discusso fino ad ora, per tutti quei meccanismi di crittografia, è molto facile per un aggressore produrre un nuovo testo cifrato valido perché il testo cifrato non è altro che una stringa di bit e dato che l'avversario sarà a conoscenza dello spazio cifrato, può solo produrre qualche flusso di bit appartenente a quello spazio di testo cifrato e può inoltrarlo al destinatario e il destinatario non avrà alcun meccanismo per verificare se le tanto chiamate stringhe di bit che sta ricevendo abbiano effettivamente originato dal designato mittente o meno. Inoltre è facile per un aggressore manipolare un testo cifrato esistente e passare inosservato. Questo significa, la crittografia chiave simmetrica che abbiamo discusso fino ad ora, ci permette o ci aiuta a risolvere il problema della privacy. Mentre se si vedono i codici di autenticazione dei messaggi, allora l'obiettivo dei codici di autenticazione dei messaggi è quello di risolvere semplicemente il problema dell'integrità e dell'autenticità e non vi fornisce la privacy dei messaggi ed è facile vedere che qualunque codice di autenticazione dei messaggi di cui abbiamo discusso fino ad ora, per tutti quei codici di autenticazione dei messaggi, sia molto facile per un aggressore distinguere i tag di autenticazione dei messaggi per 2 messaggi di scelta degli avversari. Quindi questo significa, non possiamo dire che l'avversario non possa distinguere tra il tag del messaggio 0 contro il tag del messaggio 1. È molto facile per l'avversario farlo, giusto. Così ora, potete vedere che la proprietà saggia, il requisito o gli obiettivi raggiunti dalla crittografia simmetrica e i codici di autenticazione dei messaggi sono complementari l'uno all'altro, mentre il nostro obiettivo generale è quello di raggiungere privacy, integrità e autenticità; tutte le 3 proprietà da un singolo primitivo Così quello che possiamo sperare è che possiamo sperare che o possiamo immaginare di combinare in qualche modo questi 2 primitivi e sperare che qualunque cosa venga fuori come una combinazione di questi due primitivi, che chiamiamo crittografia autenticata soddisfi tutte le 3 proprietà, ovvero ci dà privacy, autenticità e integrità. Ecco allora che cosa faremo ora. Vedremo come combinare la crittografia simmetrica e il codice di autenticazione dei messaggi per realizzare o progettare una primitiva crittografica più potente che chiamiamo crittografia autenticata. (Riferimento Slide Time: 05 :05) Così su un livello molto alto come ho detto, l'obiettivo della crittografia autenticata è quello di prendere un canale aperto con cui un mittente e un ricevitore sono collegati e per dare l'effetto di un canale sicuro e autenticato. Quindi formalmente uno schema di crittografia autenticato è un processo di codifica simmetrica e sarà una raccolta di 3 algoritmi, ovvero un algoritmo di generazione chiavi, un algoritmo di crittografia e un algoritmo di decodifica. Quindi la sintassi saggia, la sintassi dell'algoritmo di generazione della chiave è che non avrà alcun input esterno e avrà casualità implicita e produrrà una chiave da uno spazio chiave e preferibilmente deve essere un algoritmo randomizzato perché se è algoritmo deterministico, poi l'avversario sarà anche sapere qual è esattamente la chiave che sender e ricevente otterranno eseguendo l'algoritmo di generazione della chiave. Ecco quindi la sintassi dell'algoritmo di generazione chiave. L'algoritmo di crittografia prende il testo semplice che si desidera crittografare e la chiave con cui si desidera eseguire la crittografia e deve essere un algoritmo randomizzato. Quindi, ha implicito casualità e ti dà un testo cifrato c appartenente allo spazio cifrato. D'altra parte, l'algoritmo di decodifica prende il testo cifrato che si desidera decodificare e la chiave con cui si desidera eseguire la decodifica, e può avere 2 possibili esiti. Ecco allora la differenza che stiamo incontrando qui quando si discute dell'algoritmo di decodifica per i sistemi di crittografia autenticati. Così è stato fino ad ora l'algoritmo di decodifica per lo schema di crittografia simmetrica primitivo che abbiamo discusso ha una sola uscita possibile, ovvero il testo di pianura che si ottiene decodificando il testo cifrato, ma quando arriviamo a schema di crittografia autenticato, l'uscita dell'algoritmo di decodifica potrebbe appartenere allo spazio in chiaro o potrebbe essere un simbolo speciale che abbiamo chiamato come bot, il che significa un input non valido e l'algoritmo di decodifica deve essere un algoritmo deterministico per garantire che la decodifica sia univoca. Quindi ora, potreste chiedervi qual è esattamente l'interpretazione di input non valido? Sarà chiaro molto presto cosa intendiamo esattamente con un input non valido o un testo cifrato non valido nel contesto dell'algoritmo di decodifica di uno schema di crittografia autenticato. (Riferimento Slide Time: 07.31) Quindi ecco la sintassi dello schema di crittografia autenticata e formalmente diciamo che lo schema di crittografia come schema di crittografia autenticato se soddisfa le seguenti 2 proprietà. La prima proprietà è che dovrebbe soddisfare la nozione di CCA - sicurezza e la seconda proprietà è che essa debba soddisfare la nozione di integrità del testo cifrato. Quindi ora discutiamo singolarmente di ognuna di queste due proprietà. Avevamo quindi già discusso di cosa esattamente CCA - security significa, ma ricordiamo nuovamente la definizione di CCA - security. (Riferimento Slide Time: 08 :01) Fondamentalmente, l'obiettivo della CCA - security è che vogliamo raggiungere la sicurezza semantica cioè le crittografie indistinguibili anche in presenza di un avversario che ha accesso sia all'oracolo di cifratura che all'oracolo decriptato, giusto. Quindi questo rende questo modello di attacco o questa nozione di sicurezza più potente rispetto alla sicurezza CPA. Nella sicurezza CPA, l'obiettivo era quello di raggiungere la sicurezza semantica solo se l'avversario ha accesso al servizio di oracolo di crittografia. Ma ora vogliamo che l'avversario non sia in grado di distinguere una crittografia di m0 da una crittografia di m1 anche se l'avversario ha un accesso aggiuntivo al servizio di oracolo di decodifica. Così formalmente questo è modellato da un esperimento e abbiamo 4 fasi nell'esperimento. Abbiamo una fase di formazione pre - sfida, abbiamo una fase di sfida, abbiamo una fase di allenamento post - sfida e abbiamo una fase di uscita. Il gioco si gioca tra un avversario computazionale e un esperimento. Così nella fase di formazione pre - sfida, l'avversario può adattare in modo adattabile le query degli oracoli di crittografia. Il che significa, può presentare in modo adattabile il testo di pianura della propria scelta dallo spazio dei messaggi e in risposta che lo sfidante o l'esperimento deve criptare tutti quei messaggi eseguendo un algoritmo di chiavi di generazione e ottenendo una chiave non nota all'aggressore e tutti i messaggi per i quali l'avversario ha chiesto il servizio di oracolo di crittografia, lo sfidante codifica quei messaggi e un corrispondente testo cifrato vengono comunicati all'avversario. Inoltre l'avversario ha anche accesso al servizio di oracolo di decodifica. Può chiedere la decodifica di qualsiasi testo cifrato sullo spazio cifrato della sua scelta e ogni qualvolta l'avversario sottopone le query di oracolo di decodifica, lo sfidante o l'esperimento deve decriptare tutti quei cifrati sotto la stessa chiave sconosciuta k. Quindi, sottolineo qui che la stessa chiave sconosciuta verrà mantenuta per tutta la durata dell'esperimento per rispondere al servizio di oracolo di crittografia, per rispondere al servizio di oracolo di decodifica e anche per preparare la sfida cifrata. Inoltre, non vi è alcuna restrizione sull'avversario sull'ordine in cui può chiedere le query oracle di cifratura e un oracolo di decodifica. Può inoltrare in modo adattabile le query in qualsiasi ordine arbitrario, a destra. Così una volta finita la fase di allenamento pre - sfida, poi abbiamo la fase di sfida dove l'avversario sottopone un paio di sfidanti testo con la sola limitazione essendo che la loro lunghezza dovrebbe essere uguale. Per preparare la sfida cifrare, lo sfidante decide casualmente uno di quei 2 messaggi con probabilità 1/2. Potrebbe essere il messaggio zeroth o il primo messaggio e una volta che decide quale messaggio criptare, lo sfidante cripta che sfida il testo di pianura e la sfida cifratura c * viene comunicato all'avversario e la sfida per l'avversario è distinguere se c * è una crittografia di m0 o se c * è una crittografia di m1. Ora in questo attacco, nell'esperimento della CCA, diamo il potere aggiuntivo avversario. Ovvero una volta che l'avversario vede la sfida cifrare, diamo anche l'accesso avversario alla fase di formazione post - sfida dove può nuovamente chiedere cifrature di diversi messaggi di sua scelta, eventualmente compresa la sfida di sfidante testo m0, m1 a destra. Così può chiedere la crittografia di qualsiasi numero di messaggi di sua scelta e lo sfidante deve rispondere a quelle query crittografando quei messaggi come per la chiave, e l'avversario può anche chiedere il servizio di oracolo di decodifica. E cioè può presentare qualsiasi testo cifrato della sua scelta per la decodifica con la restrizione che nessuna di queste interrogazioni di oracolo post - challenge può essere uguale a c * perché se non mettiamo questa restrizione, poi trivialmente l'avversario può vincere il gioco chiedendo la descrizione di c * e una volta che vede la descrizione di c *, può chiaramente identificare se ha visto una crittografia di m0 o m1 e, di conseguenza, non possiamo definire alcuna nozione significativa di sicurezza. Ecco allora che nella fase di allenamento post - sfida impediamo all'avversario di effettuare l'interrogazione oracolo di decriptazione per c *. A parte questo, può modificare qualsiasi numero di bit di c * e chiedere la decodifica di quei cifrati, e in risposta, lo sfidante dell'esperimento deve decriptare quei cifrati e restituire al corrispondente testo di pianura all'avversario. Una volta che l'avversario è adeguatamente formato rispetto alle query pre - challenge, post challenge query, l'avversario deve ora decidere se ha visto una crittografia di m0 o se ha visto una codifica di m1. Quindi praticamente outmette un po' b. La definizione di sicurezza è che diciamo che il processo di crittografia Π è semanticamente CCA sicuro. Se ogni avversario in prima persona che partecipa a questo esperimento, esiste una qualche funzione trascurabile tale che la probabilità che la avversità vinca l'esperimento o assicura che b = 1 sia superiore delimitato da 1/2 più quella funzione trascurabile. Equivalentemente, l'altro modo per interpretare questa definizione è che non importa se il suo messaggio m0 che è crittografato in c * o se il suo messaggio m1 che è crittografato in c *, in entrambi i casi, la risposta dell'avversario dovrebbe essere quasi identica, diciamo b = 1 salvo con qualche probabilità trascurabile. Ecco quindi l'altra definizione di CCA - sicurezza e possiamo dimostrare che se abbiamo uno schema che soddisfa la prima condizione, allora implica che soddisfi anche la seconda condizione e viceversa. Quindi a seconda della nostra convenienza, possiamo utilizzare qualsiasi di queste 2 condizioni per provare o smentire la CCA - sicurezza di un determinato processo di codifica. Allora, avevamo definito cosa intendiamo esattamente per CCA - sicurezza. Quindi, ora vediamo cosa intendiamo esattamente per integrità cifrata. Ecco quindi una nuova proprietà, che richiediamo anche da uno schema di crittografia autenticato. (Riferimento Slide Time: 14 :05) Quindi cos' è esattamente l'integrità del testo cifrato? Quindi, informalmente se un processo di crittografia ha integrità di testo cifrato, allora significa che un avversario non dovrebbe essere in grado di fare quanto segue. Immaginate quindi di avere un processo di crittografia e c'è una chiave pre - condivisa generata come per l'algoritmo di generazione chiave e disponibile tra il mittente e il destinatario e non nota a nessuno, e immaginate che il mittente abbia criptato diversi testi di pianura legittima. Diciamo che il mittente ha criptato il messaggio “ Lord how you ” sotto la chiave k che non è nota all'aggressore e che dice di nuovo cripta il messaggio “ Ravana mi sta torturando ” e comunica il testo cifrato, e ancora lei ha criptato il messaggio “ Per favore vieni a salvarmi ” e il testo cifrato viene comunicato sul canale e immagina che ci sia un avversario maligno o un avversario attivo, giusto, che ha eavesato tutta questa comunicazione criptata. Quindi, l'avversario qui non sa quali sono esattamente i messaggi sottostanti, a destra, che sono stati crittografati e non conosce anche il valore della chiave, ma ha accesso solo al legittimo testo cifrato che sono stati calcolati e comunicati dal mittente al destinatario. (Riferirsi Slide Time: 15.16) Ora, se diciamo che i nostri processi di crittografia hanno integrità di testo cifrato, allora non dovrebbe essere possibile per questo avversario malintenzionato di iniettare ora un nuovo testo cifrato o un po' di stringa dice c, che non è stato comunicato dal mittente, ma ora ciò che questo avversario sta cercando di fare è questo avversario sta cercando di inviare questo cifrario per conto del mittente tale che il testo cifrato quando viene decodificato al termine ricevente, corrisponde a un testo di pianura che non è mai stato comunicato dal mittente. Quindi l'obiettivo dell'integrità del testo cifrato è quello di impedire ad un avversario di farlo. E cioè non dovrebbe essere possibile per un avversario vedere diversi cifrati legittimi dalle sessioni passate e basato su questo anche senza conoscere la chiave, non dovrebbe essere possibile che l'aggressore si imbatta con un nuovo testo cifrato per conto del mittente e lo comunali al destinatario tale che in un nuovo testo cifrato venga decodificato legittimamente alla fine ricevente. Ecco, questo è ciò che vogliamo evitare per garantire che il nostro processo di crittografia abbia integrità di testo cifrato e questo requisito che ho dimostrato qui pittoricamente può essere formalizzato tramite gioco di risposta. (Riferimento Slide Time: 16.31) Così vediamo l'esperimento di integrità del testo cifrato. Così informalmente, l'obiettivo qui è che l'avversario non sia in grado di forgiare un testo cifrato per un nuovo messaggio basato sulle cifrature dei vecchi messaggi. Quindi modelliamo questo requisito da questo esperimento, che chiamiamo Enc − Forge n giocato tra un avversario delimitato computazionalmente e un verificatore o un esperimento e qui abbiamo una fase di allenamento e qui abbiamo una fase di output. Così nella fase di allenamento diamo all'avversario la possibilità di farsi addestrare da sé, e cioè permettiamo all'avversario di chiedere interruzioni di diversi messaggi di sua scelta come per l'algoritmo di crittografia dello schema Π. Quindi si sottopone ad una serie di query di crittografia, m1, m2, mq e per rispondere a queste query, l'esperimento esegue l'algoritmo di generazione della chiave e ottiene una chiave uniformemente casuale. Quindi dispiaciuto per il typo qui, questo Key - Gen in realtà dovrebbe essere solo algoritmo Gen perché sto denotando l'algoritmo di generazione chiave dello schema da parte di Π come Gen. Così dispiaciuto per il typo, non dovrebbe essere fondamentale e dovrebbe essere solo Gen. Così come per l'algoritmo di generazione della chiave, l'esperimento ottiene una chiave e risponde alla query che era stata inoltrata dall'avversario crittografando tutti quei messaggi sotto questa chiave come per l'algoritmo di codifica. Ora la sfida per l'avversario è forgiare un testo cifrato o un nuovo testo cifrato. Quindi, sostanzialmente l'obiettivo dell'avversario è quello di arrivare con un testo cifrato c e le regole dell'esperimento sono le seguenti. Diciamo che l'avversario ha vinto l'esperimento o la produzione dell'esperimento è del 1 se le seguenti 2 condizioni resistono. La prima condizione è che la decodifica del cifrato c debba essere un qualche valore dallo spazio di testo pianeggiante e non il simbolo speciale bot e non solo che sulla decodifica qualunque sia il messaggio che otterremo, non dovrebbe appartenere alla serie di query per le quali l'avversario ha già visto il cifratto. Quindi, quello che intendiamo esattamente qui è che quello che esattamente stiamo cercando di modellare a questo esperimento è ricordare lo scenario che abbiamo discusso tra il mittente e il destinatario. Lì l'obiettivo dell'avversario era quello di vedere diversi testi cifrati che sono stati legittimamente calcolati e comunicati dal mittente al destinatario, e basato su che l'obiettivo dell'avversario era quello di arrivare con un nuovo testo cifrato c che quando decodificato ti dà un testo di pianura che non è mai stato comunicato e criptato dal mittente e inviato al destinatario che esattamente è quello che stiamo cercando di catturare attraverso questo esperimento. Quindi, questa query è per la quale l'avversario ha ottenuto la crittografia. Corrisponde alle precedenti iscrizioni o al testo cifrato che l'avversario ha già visto, e basato su quello, l'obbiettivo dell'avversario è quello di arrivare con una falsificazione, ovvero un nuovo testo cifrato, che quando decodificato ti dà un testo di pianura che non appartiene al set di query Q. Ora, potreste chiedervi perché stiamo mettendo questa restrizione che decodifichiamo testo di pianura che otteniamo dopo aver decodificato questo c non dovrebbe appartenere a questa serie di query Q. Se non mettiamo questa restrizione, allora c'è una strategia molto semplice per l'avversario per vincere la partita. Ovvero, può impostare c ad essere uno qualsiasi dei valori ci che ha visto come risposta alle query che ha chiesto all'esperimento e che può essere considerato come una sorta di attacco di replay dove l'avversario sta semplicemente risuonando o semplicemente inserendo un testo cifrato che è stato già legittimamente comunicato dal mittente al destinatario, ma il rifacimento dell'attacco non è quello che vogliamo prevenire attraverso la proprietà di integrità del testo cifrato. Questi attacchi di riproduzione, si prendono cura attraverso diversi meccanismi che non si discuteranno qui. L'obiettivo dell'integrità del testo cifrato è quello di impedire ad un avversario di forgiare un nuovo testo cifrato, che non è mai stato comunicato dal mittente al destinatario ed è per questo che la definizione richiesta o il modo in cui stiamo definendo che l'avversario ha vinto il gioco è il seguente. Prima di tutto, il cifrato forgiato dovrebbe restituirti un output legittimo e non solo che la produzione legittima dovrebbe essere diversa dalla serie di query per le quali l'avversario ha ottenuto il servizio di oracolo di crittografia. Ora, la definizione formale è che diciamo che un processo di crittografia ha una proprietà di integrità cifrare se per ogni avversario in polpa che partecipa a questo esperimento, la probabilità che possa forgiare un nuovo testo cifrato è superiore a quella di qualche funzione trascurabile. Sottolineo che non possiamo mettere una condizione che in questa definizione la probabilità di falsificazioni debba essere di 0 perché c'è sempre una strategia indovinosa da parte dell'avversario dove può solo indovinare un valore di candidato c. Può rivelarsi che con la probabilità nonzero che il beato c sia effettivamente un testo cifrato legittimo e si decodifica a un tempo di testo semplice m che non appartiene al set di query Q, ma quello che vogliamo da un processo di crittografia è che è il meglio che un avversario può fare e se lo realizziamo, allora diciamo che il nostro processo di codifica ha proprietà di integrità cifrata. (Riferimento Slide Time: 21 :43) Quindi, ora vediamo quali sono esattamente le conseguenze di un sistema di crittografia autenticato? Quindi ricordati che il nostro obiettivo è convertire un canale aperto pubblico tra un mittente e un ricevitore in un canale sicuro virtuale e la tua crittografia autenticata esattamente raggiungi così. Ovvero, se il mittente codifica il suo testo di pianura utilizzando uno schema di crittografia autenticato, allora le dà l'effetto come se stesse parlando con il destinatario su un canale sicuro virtuale. Perché questo avviene perché la privacy property o la privacy di una comunicazione viene raggiunta a causa del fatto che la tua crittografia autenticata ha CCA - sicurezza e l'autenticità e l'integrità della nostra comunicazione sono assicurate dalla proprietà di integrità del testo cifrato. Questo perché se a tutti qualsiasi testo cifrato viene decodificato legittimamente al termine ricevente, allora il ricevitore è sicuro che con molta probabilità ha originato effettivamente dal mittente designato perché il destinatario si scripta il testo cifrato usando la chiave k e solo un mittente designato ha la stessa chiave k. Quindi se a tutti, il testo cifrato ricevuto dal destinatario è stato decodificato legittimamente e non dà output bot, quindi dalla proprietà di integrità del testo cifrato, ne consegue che effettivamente quel testo cifrato non è stato inserito da un avversario. Effettivamente è stato comunicato dal mittente e non è stato manomesso e la stessa garanzia viene data anche se un destinatario sta crittografando qualche messaggio come per lo schema di crittografia autenticato utilizzando la chiave condivisa con il mittente. Se il testo cifrato si decodifica legittimamente alla fine del mittente del mittente, allora dà al mittente la garanzia che effettivamente il cifrato è arrivato da un ricevitore che ha la stessa chiave k con cui il mittente ha decriptato il testo cifrato. Così ora si può vedere che effettivamente la crittografia autenticata è la giusta nozione di sicurezza se si desidera realizzare tutte le 3 proprietà insieme, ovvero privacy, autenticità e integrità. (Riferimento Slide Time: 23.48) Così ora vediamo il rapporto tra crittografia autenticata e sicurezza CCA. Si scopre che la crittografia autenticata è una nozione più potente della CCA - security.   Quindi questo significa, questo schema Π dovrebbe essere anche CCA sicuro. In caso contrario, allora sappiamo come costruire un avversario che sappia distinguere il comportamento di una permutazione davvero casuale dal comportamento di una permutazione pseudoranistica, ma che contraddice il nostro presupposto che la funzione Fk sia una forte permutazione pseudoranistica. Quindi, lascio quelle riduzioni formali e i dettagli come esercizio per te che è semplice e dovresti essere in grado di farlo. Così questo mi porta alla fine di questa lezione. Tanto per riepilogare, in questa lezione abbiamo introdotto la nozione di crittografia autenticata e cioè il nostro standard finale o quello d'oro per lo schema di crittografia simmetrica perché se abbiamo uno schema di crittografia autenticato, quindi utilizzando questo schema di crittografia autenticato, mittente e destinatario possono convertire un canale aperto pubblicamente in un canale sicuro virtuale ed eseguire una comunicazione sicura che raggiunga tutti i 3 obiettivi di comunicazione sicura, ovvero privacy, integrità e autenticazione. Grazie.