The New Alison App has just launched Download Now
We'll email you at these times to remind you to study
You can set up to 7 reminders per week
We'll email you at these times to remind you to study
Monday
Reminder set
7am
Tuesday
Reminder set
7am
Wednesday
Reminder set
7am
Thursday
Reminder set
7am
Friday
Reminder set
7am
Saturday
Reminder set
7am
Sunday
Reminder set
7am
Fondamenta di CryptographyProf. Dr. Ashish Choudhury (Ex) Infosys Foundation Career Development Chair ProfessorInternational Institute of Information Technology-BangaloreLecture-21From Passivo ad Active AdversaryHello ognuno, benvenuto alla lezione 20, quindi solo un breve recap. (Fare Tempo di slide: 00 :34) Fino ad ora abbiamo discusso di crittografia chiave simmetrica in presenza di un avversario passivo o di un eavesdropper che può appena oriosare la comunicazione che avviene tra il mittente e un ricevitore. Ma da ora in poi considereremo un avversario più forte, ovvero un avversario attivo. E vedremo quali sono esattamente gli effetti dannosi della presenza di un avversario attivo.Più precisamente, la roadmap per questa lezione è la seguente, introdurremo un avversario attivo e discuteremo le differenze tra un modello avversario passivo e un modello avversario attivo. E introdurremo anche la nozione di sicurezza CCA. E discuteremo esattamente come approcceremo a progettare schemi sicuri CCA da uno schema di sicurezza CPA. (Fare Slide Time: 01 :20) Quindi iniziamo la nostra discussione discutendo le differenze tra il modello passivo passivo e il modello adversariale attivo. Così nel modello adversariale passivo, lo scenario è il seguito che abbiamo un mittente e un ricevitore con una chiave condivisa concordata da qualche meccanismo magico. E dire sender ha una sequenza di messaggi che ha criptato utilizzando qualche algoritmo di crittografia che è pubblicamente noto e un testo cifrato viene comunicato su un canale pubblicamente conosciuto. Dove un avversario può eavesare e leggere il diritto civico. Così nel modello avversario passivo, l'avversario non può che leggere il contenuto del testo cifrato. E l'avversario non ha alcun potere di modificare i contenuti cifrati, di riordinarli, di inserire nuovi testi cifrati di itssown, di eliminare qualche testo cifrato etc. Ciò significa che l'unica capacità dell'avversario nel modello adversariale passivo è la capacità di lettura.Mentre se andiamo al modello adversariale attivo, e lo scenario è lo stesso rispetto al mittente e al destinatario. Ovvero, la chiave pre - condivisa è concordata tra il mittente e il destinatario. Sender ha una sequenza di messaggi crittografati da qualche processo di codifica. E ora supponiamo di avere un avversario potente che è attivo. E cosa intendo esattamente per avversario attivo è che non può non solo leggere il testo cifrato comunicato dal mittente, ma l'avversario è permesso di modificare il contenuto del testo cifrato. Può inserire nuovi testi cifrati di proprio, oppure può riordinare la sequenza di testo cifrato come inviato dal mittente. Ecco perché il numero di cifrati è qui e il testo cifrato che vengono effettivamente comunicati dal mittente, sono denotati da c1 a cl. Mentre il testo cifrato o le stringhe di bit che sono effettivamente ricevute dal destinatario sono denotate da c 1, c di c 2, come quella, c t t, dove t potrebbe essere diverso da l e ogni ci può non essere uguale ai corrispondenti ci e così a destra. Quindi, questo significa nel modello adversariale attivo, abbiamo un avversario più forte che è più forte rispetto all'avversario nel modello adversariale passivo. (Vedi Slide Time: 03 :43) Quindi, ora quello che stiamo per illustrare è che non appena consideriamo un modello avversario più potente e cioè un avversario attivo, qualunque schemi di crittografia che avevamo visto fino ad ora cioè i candidati CPA di schemi sicuri di cui abbiamo discusso fino ad ora, tutti possono essere rotti in presenza di un avversario attivo. Questo non significa che gli schemi di crittografia di cui abbiamo discusso siano insicuri, sono sicuri in un modello avversario più debole, ovvero un modello passivo avversario dove l'avversario è ristretto solo ad oriente. Ma non appena si passa a un modello avversario più potente e cioè con modello adversariale attivo, il nostro obiettivo di questa illustrazione è quello di mostrare come l'avversario anattivo possa infrangere lo schema di sicurezza CPA. Così consideriamo un servizio di applicazione di email e supponiamo di avere un server di posta il cui nome di dominio è mail.com. E supponiamo che ogni intestazione email la prima parte dell'header email sia l'identità del destinatario. Il che significa che l'intestazione email avrà il formato “ To ” seguito dal nome del destinatario in mail.com. Così che sarà la sintassi dell'intestazione dell'email in questa applicazione. E supportiamo che in questa applicazione, tutti gli utenti che utilizzano il servizio di mail.com, abbia un paio di chiavi segrete pre condivise e segretamente disponibili all'utente sotto corrispondente server di posta. Così ad esempio Alice avrà pre - set kA, disponibile ad Alice e al server principale e non conosciuto da nessun altro. Nello stesso modo in cui assumiamo un altro utente del sistema, diciamo che Bob ha un tasto segreto kB condiviso tra il server di posta e Bob.E così, se abbiamo n numero di utenti, supponiamo che ogni utente abbia una chiave segreta, che sia condivisa tra quell' utente specifico e un server di posta. (Fare Slide Time: 05 :50) Quindi ecco l'impostazione che stiamo assumendo qui e il modo in cui questa applicazione funziona è la seguente. Potete immaginare che qualsiasi posta crittografata che arriva al server di posta elettronica, il server di posta elettronica decodifica l'email utilizzando la chiave dell'utente corrispondente da cui o dal corrispondente mittente da cui proviene l'email. E poi una volta che l'email viene decodificata, poi il server email passa l'intestazione da cui impara il destinatario di quella email. E da qui la mail corrispondente viene inoltrata a quel determinato destinatario. Così per esempio, se Alice è interessata a inviare una mail, dire messaggio m o una mail m a Bob. Poi Alice preparerà un testo di pianura dove la prima parte del testo pianeggiante sarà l'identità del destinatario. In questo caso, il contenuto di u sarà la rappresentazione binaria della stringa “ Ad [email protected] ”, seguito da qualunque email vuole comunicare a Bob.So che sarà il testo pianeggiante dell'Alice se vorrà inviare una mail a Bob. E quello che Alice sta per fare è criptare quella mail usando qualche processo di crittografia sicuro CPA. Quindi supponiamo di utilizzare la modalità di contrasto di funzionamento di block cipher o AES per modalità contatore di funzionamento di AES per cifrare il contenuto di email in cui la chiave segreta che viene utilizzata per cifrare il messaggio è la chiave kA condivisa tra Alice e il server di posta. Quindi quella sarà la posta crittografata che Alice comunirà al server di posta. Ora una volta che l'email crittografata arriva al server di posta, il mail server sa che l'email arriva da Alice e si decodifica come per la modalità contatore di decodifica. E la chiave che viene utilizzata per la decodifica è la chiave che viene condivisa tra il mail server e Alice, ovvero kA. E dopo la decodifica, il server di posta recupera il corrispondente testo di pianura che si analizza all'identità del destinatario seguito dal contenuto della posta. Così in questo caso, il mail server trova che il destinatario dell'email è Bob e da qui inoltra l'email a Bob. Quindi presumo che la posta sia inoltrata così come è in chiaro a Bob ma si può immaginare di fornire più privacy, Bob può cifrare ulteriormente l'email m usando il tasto kB usando qualsiasi processo di crittografia sicuro CPA, quindi è così che funziona il sistema. Così ora quello che vedremo in questa illustrazione è quello, se supponiamo che il nostro avversario sia un avversario attivo.Questo significa che suppliamo di avere un utente malintenzionato nel sistema che è attivo, e il suo nome è Charlie. Quindi quello che andiamo a vedere è che, è possibile per un Charlie malevolo reindirizzare la posta da Alice a Bob, alla sua casella di posta senza realmente Alice o il server di posta, sapendo di questo fatto, giusto. E noi assumiamo qui che Charlie è un avversario attivo che significa che non solo è consentito eavesare la comunicazione tra Alice e il server di posta. Ma può inserirlo è proprio cifrato, può riordinare un testo cifrato e così via. Quindi non siamo più nel modello adversariale passivo. E il nostro obiettivo è dimostrare che effettivamente è possibile per un Charlie malevolo reindirizzare una mail da Alice destinata a Bob per andare effettivamente alla casella email di Charlie, a destra. (Fare Slide Time: 09 :16) Quindi, in sostanza, il modo in cui è operato il sistema è il seguente appena ricordato che Alice ha crittografato una mail, e il testo cifrato era c che è stato comunicato da Alice a Bob. E ora quello che fa il malintenzionato Charlie, fa quanto segue. Intercetta l'email crittografata che sta passando da Alice al server email e l'obiettivo del Charlie ora è il seguente. Una volta intercettato l'email crittografata, ovvero il cifrato c. L'obiettivo del Charlie è quello di produrre un nuovo testo cifrato che io denota? e inoltrarlo al server di posta. Quindi, che il testo cifrato modificato o quello per cifratura? che viene ora inoltrato al server email. Quando viene decodificato utilizzando la modalità di contatore dell'operazione utilizzando il tasto kA produce una mail produce un contenuto di messaggi in cui il contenuto email rimane lo stesso cioè inviato dall'Alice.Ma l'indirizzo destinatario cioè? invece di [email protected],? corrisponde a [email protected] Se il nostro aggressore Charlie è in grado di produrre questo cifrato? dal cifrario c. Poi quando? viene decriptato dal server di posta, la mail corrispondente m verrà inoltrata alla casella email di Charlie invece della casella di posta elettronica di Bob. Quindi ecco qual è esattamente l'obiettivo di Charlie e se Charlie è in grado di farlo, l'obiettivo del Charlie è raggiunto, giusto. Quindi, questa caratteristica di produrre un relativo testo cifrato? da un testo cifratto esistente. Quindi che il testo di pianura sottostante sotto c e? sono correlati è nota come la malleabilità di un cifrario. E se il testo cifrato, se il processo di codifica che stiamo utilizzando ha questa proprietà di malleabilità, allora Bob sarà in grado di raggiungere con successo il suo obiettivo. (Vedi Slide Time: 11 :30) Quindi, vediamo se effettivamente è possibile che Bob raggiunga il suo obiettivo se stiamo utilizzando una modalità di funzionamento in controsenso. Immaginate quindi che l'email o il messaggio che Alice ha crittografato, sia costituito dal blocco dei messaggi u e dall'effettivo blocco email diciamo m. E per semplicità sto assumendo che sia u, ovvero l'identità del destinatario che in questo caso è [email protected] mail.com.And effettivamente mail block tutti si adatta a 2 blocchi consecutivi della sottostante funzione pseudo casuale che stiamo utilizzando nella modalità di funzionamento in contromodalità. Questo è solo per semplicità ma anche se non è così, possiamo supporre che il testo di pianura u concatenato con m sia criptato come per la modalità di funzionamento in contromodalità. (Fare riferimento Slide Time: 12 :22) Quindi, la modalità di funzionamento in controsenso avrebbe operato su questo testo di pianura. Alice avrebbe prelevato intorno al valore casuale del contatore e quello sarà il 0 blocco cifrato. E visto che in questo particolare esempio ci assumiamo che un testo di pianura sia costituito da 2 blocchi, il testo cifrato sarà costituito da 2 blocchi, ovvero c1 e c2, dove c1 sarà ottenuto per la prima valutazione il sottostante keyed PRF con il tasto kA, all'ingresso del blocco CTR + 1.And con la valutazione dello stesso keyed PRF con la chiave kA, con l'input di blocco CTR + 2. E le uscite di risultato sono utilizzate come pad per mascherare i blocchi di messaggi u e m e che vi dà il corrispondente blocco cifrato c1 e c2. Quindi, sostanzialmente quello che significa è che c1 è lo XOR del blocco dei messaggi u con il valore del PRF con chiave a questo controvalore. E un blocco di testo cifrato è sostanzialmente lo XOR del messaggio, il contenuto di testo semplice m con l'uscita PRF e all'ingresso CTR + 2.And il nostro malintenzionato Charlie si rende conto di questo fatto perché conosce il processo di crittografia che viene usato da Alice per produrre il cifrato c. (Vedi Slide Time: 13 :45) Ora qual è l'obiettivo di Charlie dannoso, il suo obiettivo è quello di prendere in pratica questo cifrato c composto da 3 blocchi c0, c1 e c2 e produrre un relativo testo cifrato?, soddisfacendo la proprietà che avevamo discusso in precedenza. Ecco allora come il malintenzionato Charlie possa preparare il testo cifrato modificato?, in sostanza è composto da 3 blocco di testo cifrato dove il blocco del 0 testo cifrato è lo stesso del blocco 0thciphertext dell'originale cifertext.Namely, il valore del contatore, utilizzato da Alice viene conservato così com' è, e un secondo blocco di testo cifrato, ovvero c2 del cifrato modificato e il testo cifrato originale rimane lo stesso. Perché il blocco cifrato c2 in realtà è la crittografia del testo di pianura, che il malintenzionato Charlie vuole essere inoltrato alla casella di posta di Charlie. Quindi non vuole fare confusione con il secondo blocco di testo cifrato nel testo cifrato modificato. Ma se si vede il primo blocco di testo cifrato nel testo cifrato modificato viene impostato lo XOR del primo blocco di testo cifrato del testo cifrato originale e il valore di u XORed con?. E come potete vedere che il valore u come? sono noti ai malintenzionati Charlie, u in questo caso è la stringa binaria di stringa corrispondente a [email protected]? è la stringa binaria corrispondente alla stringa [email protected] E se si vede, se si fa XOR di c1 con u e? poi dal c1 è in realtà una crittografia di u, ovvero, è un valore del tuo keyed PRF al controvalore CTR + 1 XORed con u. E se si fa più XOR con u Formatted: Leftand? , poi l'effetto di u e u annulla, quindi in un certo senso, il primo blocco del testo cifrato modificato corrisponde ora alla crittografia della stringa? sotto il controvalore CTR + 1 come per la contromodalità di funzionamento. E se il nostro Charlie malevolo si prepara c come questo, e lo inoltra al server di posta quando il server di posta decodifica questo testo cifrato modificato che sta effettivamente arrivando da Alice. Il server di posta lo decodifica come per la modalità di contatore dell'operazione utilizzando Alice key. E dopo aver decrittato si imparerà che la posta dovrebbe essere consegnata alla casella di posta di Charlie e che inoltrerà la posta all'inscatolamento del Charlie invece della casella email del Bob e né Alice né mail server saranno a conoscenza di questo fatto, giusto. (Fare Slide Time: 16 :38) Quindi quello che abbiamo visto qui è sostanzialmente, un Charlie malevolo o un Charlie attivo può introdurre un cifrato correlato sfruttando la proprietà di malleabilità della modalità di contrasto. E può finire per identificare ciò che è stato crittografato nell'effettivo testo cifrato e questo viola il requisito della privacy del nostro processo di codifica. Sottolineo che questo non significa che la modalità di contrasto non sia sicura, è sicura sotto il modello di attacco CPA in cui l'avversario è ipotizzabile solo ad eavesdropper e può emettere solo servizio di oracolo di crittografia. Ma ora, l'attacco che avevamo visto qui è l'attacco più forte, che non viene catturato dal modello di attacco CPA. Ovvero, l'attacco che avevamo visto in questo esempio corrisponde al fatto che l'avversario ha il controllo su ciò che viene decodificato. Ovvero, ottiene l'accesso al servizio di oracolo di decriptazione Perché il malintenzionato Charlie, quello che ha fatto è, il suo obiettivo era quello di identificare ciò che è crittografato in c. E per farlo ha preparato un testo cifrato modificato e inoltra quel cifrato al destinatario cioè il mail server, che in realtà decodifica il testo cifrato modificato oblivio del fatto che in realtà si tratta di un testo cifrato modificato proveniente da un avversario e che ingenuamente decodifica il testo cifrato e finisce per rispedire il corrispondente testo di pianura all'avversario.Così che si possa immaginare come accesso a un servizio di oracolo di decodifica che non è stato il caso nel modello di attacco CPA. Nel modello di attacco CPA l'avversario è limitato solo per ottenere l'accesso al servizio di oracolo di crittografia. Non supponiamo che abbia accesso al servizio di oracolo di decriptazione. E il potere che l'avversario malevolo sta ottenendo avendo accesso al servizio di oracolo di decriptazione è che sta praticamente sfruttando la proprietà di malleabilità del vostro sottostante cifr.Namely, è obiettivo quello di identificare cosa è crittografato in c, ma per farlo prepara un relativo testo cifrato, giusto? in questo caso. E scopri qual è esattamente il testo di pianura sottostante che è crittografato?. E poi conoscendo il rapporto tra il testo di pianura che è stato crittografato in c, e il testo di pianura, che è criptato?, può identificare quello che è stato effettivamente crittografato in c.So, questo dà un avversario ora più potere rispetto ad un avversario, che è eavesdropper e nel modello di attacco CPA, giusto. Così, in questo specifico esempio, abbiamo mostrato l'attacco rispetto alla modalità di funzionamento in contromodalità. E lo lascio come esercizio per te che tutta la modalità sicura CPA di operazioni che avevamo discusso fino ad ora, ovvero la modalità OFB, e la modalità CBC tutte possono essere spezzate, se andiamo all'attacco di CCA, se andiamo a un modello di attacco, dove l'avversario ottiene l'accesso al servizio di oracolo di decodifica a parte il servizio di oracolo di crittografia. (Fare Slide Time: 19 :42) Quindi, la discussione che avevamo fino ad ora a motivare ora che dobbiamo modellare il servizio di oracolo di decodifica nel gioco CPA. E questo porta ad un modello di attacco più forte o più potente di sicurezza che ci chiamiamo sicurezza CCA. E come abbiamo fatto per il mondo CPA dove abbiamo definito per la prima volta il messaggio unico della sicurezza CPA seguito da una sicurezza multi messageCPA.Seguiremo lo stesso esercizio anche nel mondo CCA. Il che significa che inizieremo con la definizione di sicurezza CCA a singolo messaggio. E poi procederemo alla definizione di sicurezza CCA multi messaggio e così via. Quindi l'essenza del singolo messaggio di sicurezza CCA è che l'obiettivo degli avversari è quello di distinguere tra una cifratura di m0 versus una crittografia di m1 dove m0 e m1 hanno scelto dall'avversario stesso, anche se l'avversario ottiene l'accesso a 2 servizi di oracolo, ovvero il servizio di oracolo di crittografia nonché il servizio di oracolo di decodifica. Più precisamente, abbiamo uno schema di crittografia conosciuto pubblicamente su alcuni spazi di querelazione pubblicamente noti. E la nomenclatura dell'esperimento è? ??????, Π??? (n). Siamo nel mondo CCA, quindi è per questo che la supercoppa CCA e abbiamo il parametro di sicurezza n. E il gioco si gioca tra un avversario e un esperimento o un ipotetico verificatore dove abbiamo una fase di allenamento pre - sfida, fase di sfida seguita da una fase di allenamento post sfida e una fase di output. (Fare Slide Time: 21 :15) Quindi la fase di allenamento pre sfida è simile alla fase di allenamento pre - sfida del CPAmodel con alcune modifiche. Così ora l'avversario può accedere al servizio di oracolo di crittografia oltre che al servizio di oracolo di decodifica. Il che significa che può adattarsi in modo adattabile alla crittografia di qualsiasi numero di messaggi della propria scelta dallo spazio di testo pianeggiante fino a quando il numero di messaggi è delimitato da qualche funzione polinomiale del parametro di sicurezza. E per rispondere a queste query oracle di crittografia, l'esperimento o lo sfidante esegue l'algoritmo di generazione della chiave ottiene la chiave sconosciuta all'aggressore. E sperimentare o lo sfidante codifica tutti i messaggi che vengono interrogati per il servizio di oracolo di crittografia e i corrispondenti cifrati vengono rimandati all'avversario. Quindi anche se in questa foto ho dimostrato che l'avversario si sta interrogando per tutti i messaggi del singolo colpo. Ma questo potrebbe non essere il caso, l'avversario può sottoporre le sue query per il servizio di oracolo di crittografia in modo adattativo. Questo significa che può prima chiedere la crittografia di m1 e in base alla risposta può decidere quale dovrebbe essere il m2 che per il quale dovrebbe chiedere il servizio di oracolo di crittografia e così via. (Fare Slide Time: 22 :33) E non solo l'avversario può chiedere il servizio di oracolo di crittografia, può anche chiedere il servizio di oracolo di decodifica. Ovvero l'avversario dato che conosce la descrizione dell'algoritmo di crittografia, l'algoritmo di decodifica, lo spazio di testo semplice e uno spazio cifrato, l'avversario conoscerà lo spazio cifrato. E da qui può chiedere la decriptazione di qualsiasi numero di cifratura dallo spazio cifrato purché il numero di cifratura sia superiore delimitato dalla funzione polinomiale del parametro di sicurezza. E per rispondere alle query di oracolo di decodifica, lo sfidante o l'esperimento deve decodificare tutto il cifrato presentato come per il processo di decodifica dello schema sottostante, utilizzando la stessa chiave sconosciuta k. Anche in questo caso l'avversario può presentare le sue query di oracolo di decodifica in modo adattabile. Questo significa che può dire per esempio, chiesto prima per la decodifica di un arbitrario c1and c2. E poi in base alla risposta che vede, può decidere cosa dovrebbe essere c3 e così via. Inoltre, l'avversario è autorizzato a sovrapporre le proprie query oracole di crittografia e a decodificare le query oracle in qualsiasi ordine arbitrario. Non c'è alcuna restrizione che debba prima chiedere le query oracle di crittografia, inoltrare le relative query oracle di crittografia. E poi solo dovrebbe presentare le sue query di oracolo di decodifica. Non c'è assolutamente alcuna restrizione, può andare in qualsiasi ordine arbitrario finché tutto è polinomialmente delimitato. (Fare Slide Time: 23 :56) E una volta finita la fase di allenamento pre - sfida, l'avversario va alla fase di sfida dove picchia un paio di messaggi dallo spazio di testo pianeggiante. Ma la restrizione che la loro lunghezza dovrebbe essere la stessa. A parte che non c'è assolutamente alcuna restrizione, la coppia di contestatori di sfida che sta sottoponendo, potrebbe essere qualsiasi testo di pianura per cui potrebbe aver già chiesto il servizio di oracolo di crittografia. E per rispondere al testo di pianura di sfida, l'esperimento seleziona casualmente uno dei messaggi con probabilità 1/2, potrebbe essere m0 o con probabilità 1/2, potrebbe essere m1. E una volta che la sfida querelante è decisa dall'esperimento, l'esperimento codifica che sfida il testo in chiaro e la sfida cifratura a c * viene data all'avversario. E la sfida per gli avversari di identificare cosa esattamente crittografato in c *.Ora, passiamo alla fase di allenamento post challenge dove ancora l'avversario può adattativamente chiedere la crittografia di eventuali messaggi di esso è la scelta, giusto. Può addirittura chiedere la crittografia di m0, può chiedere la crittografia di m1 o qualsiasi testo in chiaro è la scelta. E l'esperimento o lo sfidante risponde criptando i messaggi corrispondenti, ancora usando la stessa chiave sconosciuta k. E non solo, l'avversario può chiedere il servizio di oracolo di decodifica, e cioè può presentare qualsiasi testo cifrato della sua scelta. Con l'unica limitazione che il testo cifrato per cui si chiede il servizio di oracolo di decriptazione, dovrebbe essere diverso da c *, e cioè dovrebbe essere diverso dalla sfida cifrata. Perché, se l'avversario è consentito ottenere il servizio di oracolo di decodifica anche per c * allora facilmente può identificare cosa esattamente viene crittografato in c * se si tratta di m0 o m1.E non c'è modo di definire qualsiasi possiamo dare alcuna nozione significativa di sicurezza. Inoltre, questo modello il diritto della realtà. Se torniamo all'esempio che avevamo visto precisamente l'applicazione del servizio di posta elettronica, giusto. Quindi, l'obiettivo dell'avversario o del malintenzionato Charlie era quello di identificare ciò che è criptato in c senza ottenere effettivamente il servizio di oracolo di decodifica per c. Perché se il malintenzionato Charlie riesce a ottenere il servizio di oracolo di decodifica anche per c. Poi può individuare trivialmente qual è esattamente l'email che Alice vuole comunicare a Bob. La parte interessante c'era che l'avversario o il malintenzionato Charlie aveva accesso al servizio di oracolo di decodifica per qualsiasi testo cifrato diverso dal cifrario c, che il Charlie è interessato a decriptare. Così da modellare che, nel gioco CCA, mettiamo questa restrizione che una volta che il cifrato di sfida è dato all'avversario, l'avversario non può presentare un servizio di decriptionoracolo per la sfida cifrare. A parte che può modificare qualsiasi numero di bit della sfida cifrare e quei cifrati possono presentare per la decodifica come qualche query per il servizio di descrizione oracolo. E l'esperimento dovrebbe rispondere a quelle query oracole di decodifica decodificando tutti quei cifrati e restituendo il corrispondente testo in chiaro. E infine, le uscite avversarie, ciò che la quercia è esattamente criptato nella sfida cifrata. (Fare riferimento Slide Time: 27 :10) Ovvero si delinea un po' di B che potrebbe essere 0 o 1. Ora la nostra definizione di sicurezza CCA di sicurezza CCA o CCA di sicurezza è che diciamo che, questo processo di crittografia pubblicamente noto Π è un singolo messaggio semanticamente sicuro nel mondo CCA o singolo messaggio CCAsicuro, se per qualsiasi avversario polinomiale A partecipare a questo gioco CCA esiste una probabilità trascurabile o trascurabile, tale che la probabilità del nostro avversario identificando correttamente il testo in chiaro crittografato in c * è superiore delimitata da ½ + negl (n), destra. Quindi diciamo che se l'avversario identifica correttamente il messaggio che viene crittografato in c *, allora l'output dell'esperimento è di 1. Il che significa avversario ha vinto l'esperimento altrimenti diciamo che nell'avversario ha perso la sperimentazione. Quindi, la definizione della sicurezza è che l'avversario non dovrebbe essere in grado di vincere l'esperimento cioè, non dovrebbe essere in grado di emettere b = b salvo con probabilità 1/2 + negl (n), perché mezzo plustrascurabile, perché c'è un attacco sempre banale, cioè un attacco indovinoso dove l'avversario A può indovinare se si tratta di m0 o se si tratta di m1 criptato in c *. E la probabilità di successo di questo attacco indovinello è 1/2.Apart da quella che stiamo dando un vantaggio extra trascurabile all'avversario per identificare ciò che è crittografato in c * perché siamo nel mondo computazionalmente sicuro. E poi, sfruttando il rapporto tra il testo in chiaro nel testo cifrato modificato e nel testo cifrato originale, può identificare cosa esattamente è stato crittografato nel testo cifrato. (Fare Slide Time: 33 :38) E abbiamo visto concretamente che questo accade quando abbiamo visto la modalità di contrasto dell'operazione utilizzata nel contesto dell'applicazione del servizio email, a destra. Quindi questo dimostra chiaramente o praticamente possiamo dimostrare formalmente che se il tuo processo di codifica è malleabile, giusto, allora non potrà mai essere CCA sicuro a causa di questo fatto fondamentale, giusto. Quindi ora il nostro obiettivo sarà se siamo a tutti interessati a progettare un processo di crittografia sicuro CCA. Dobbiamo garantire che come dobbiamo fare o dobbiamo garantire che il cifrario sicuro CPA venga modificato in modo tale che il servizio di oracolo di decodifica diventi inutile per l'aggressore. E quello che intendevo per inutile in questo contesto è se c'è un avversario malevolo che cerca di modificare un testo cifrato e cercare di ottenere il servizio di oracolo di decodifica per quello, che non dovrebbe essere possibile per l'avversario cioè, qualsiasi modifica del testo cifrato deve essere rilevata dal mittente o dal destinatario. E non appena viene rilevato, il destinatario può semplicemente respingere quei cifrati modificati. Se possiamo in qualche modo garantire questo, allora quello che in sostanza questo garantirà è che il servizio di oracolo di decodifica che l'avversario stava diventando diventerà inutile per l'avversario. E da qui il mondo CCA che torneremo nel mondo CPA, giusto. Ecco quindi che si tratta di un approccio generico che seguiremo per progettare schema di crittografia sicuro CCA, ovvero prenderemo qualsiasi schema di sicurezza CPA esistente. E in cima a questo faremo delle modifiche, in modo che il servizio di oracolo di decodifica diventi inutile per l'avversario. Tale bando garantisce che qualsiasi modifica di un testo cifrato che sia stato comunicato da un mittente legittimo e inoltrato al destinatario. B ma bloccato da un avversario malintenzionato e cambiato in rotta verso il ricevitore, viene rilevato dal ricevitore. Così, che sarà il nostro approccio generico, nella lezione successiva vedremo come faremo esattamente quelle modifiche, quindi questo mi porta alla fine di questa lezione. Per riassumere, in questa lezione abbiamo introdotto la nozione di avversario malizioso o avversario attivo, che è una nozione più potente di avversario. Dove l'avversario non è consentito solo ad oridare la comunicazione tra il mittente e un destinatario. Ma l'avversario è autorizzato a modificare il testo cifrato, è consentito inserire nuovi testi cifrati, riordinare cifrati e così via. E non solo, abbiamo anche ipotizziamo che quell' avversario sia dato accesso al servizio di oracolo di decodifica. Abbiamo anche discusso che come può essere rotto un processo di crittografia sicuro del candidato CPA e cioè la modalità di funzionamento in contromodalità, se la portiamo al mondo sicuro CCA, grazie.
This is the name that will appear on your Certification
Invieremo le istruzione per resettare la password al tuo indirizzo mail associato. Inserisci il tuo indirizzo mail corrente