1 00:00:00,000 --> 00:00:03,583 na semana passada, aprendemos a teoria dos números que é necessário para a criptografia de chave pública. 2 00:00:03,583 --> 00:00:07,166 Esta semana vamos colocar esse conhecimento para trabalhar, e vamos construir uma 3 00:00:07,166 --> 00:00:10,889 seguras número de sistemas públicos de criptografia de chave. Mas, primeiro, precisamos definir o que 4 00:00:10,889 --> 00:00:14,565 é a criptografia de chave pública, eo que isso significa para a criptografia de chave pública para ser 5 00:00:14,565 --> 00:00:18,241 é seguro? Então deixe-me lembrá-lo que, em um esquema de criptografia de chave pública, há uma 6 00:00:18,241 --> 00:00:21,778 algoritmo de criptografia que normalmente é representado por E, e há uma decodificação 7 00:00:21,778 --> 00:00:25,361 algoritmo que denotamos por D. No entanto, aqui, o algoritmo de criptografia tem um 8 00:00:25,361 --> 00:00:29,477 chave pública, enquanto o algoritmo de descodificação leva uma chave secreta. Este par é chamado um 9 00:00:29,477 --> 00:00:34,356 par de chaves. E a chave pública é usada para criptografar mensagens, enquanto a chave secreta 10 00:00:34,356 --> 00:00:39,002 é utilizado para decifrar mensagens. Assim, neste caso uma mensagem m é criptografar usando 11 00:00:39,002 --> 00:00:43,880 a chave pública eo que sai do que é o c texto cifrado. E da mesma forma o 12 00:00:43,880 --> 00:00:48,643 cifrado é alimentada no algoritmo de descodificação e usando a chave secreta, o que 13 00:00:48,643 --> 00:00:53,577 sai do algoritmo de descodificação é o m mensagem original. Agora chave pública 14 00:00:53,577 --> 00:00:57,989 criptografia tem muitas aplicações. Na semana passada vimos o clássico de uma aplicação que 15 00:00:57,989 --> 00:01:02,455 é a configuração da sessão, ou seja, de troca de chaves e agora estamos apenas olhando para troca de chaves 16 00:01:02,455 --> 00:01:06,867 que é seguro contra a espionagem só. E se você se lembrar da forma como o protocolo 17 00:01:06,867 --> 00:01:11,227 obras, basicamente de Alice, o que ela faria se ela gerar um segredo de chave pública 18 00:01:11,227 --> 00:01:15,546 par. Ela iria enviar a chave pública para Bob. Bob irá gerar uma aleatória X, o qual 19 00:01:15,546 --> 00:01:20,136 vai servir como seu segredo compartilhado, e então ele envia X criptografadas para Alice, 20 00:01:20,136 --> 00:01:24,904 criptografada com sua chave pública. Alice pode descriptografar, recuperar X e agora ambos 21 00:01:24,904 --> 00:01:29,554 tem esse X segredo compartilhado que eles podem usar para comunicar de forma segura com um 22 00:01:29,554 --> 00:01:34,143 outro. O atacante, é claro, tudo o que ele consegue ver é apenas a chave pública, o 23 00:01:34,143 --> 00:01:38,972 criptografia de X sob a chave pública, a partir do qual ele não deveria ser capaz de obter qualquer 24 00:01:38,972 --> 00:01:43,800 informações sobre X. E nós vamos definir que, mais precisamente para entender 25 00:01:43,800 --> 00:01:48,507 o que significa não ser capaz de aprender qualquer coisa sobre X. criptografia de chave pública 26 00:01:48,507 --> 00:01:52,522 realmente tem muitas outras aplicações. Por exemplo, é muito útil na 27 00:01:52,522 --> 00:01:57,235 não aplicações interativas. Então, acho que de um sistema de e-mail por exemplo. Então, aqui, Bob 28 00:01:57,235 --> 00:02:01,716 quer enviar e-mail para Alice, e como Bob envia o e-mail, o e-mail passa de 29 00:02:01,716 --> 00:02:06,603 retransmissão de email para retransmitir emails até que finalmente chega Alice, altura em que Alice deve 30 00:02:06,603 --> 00:02:10,502 descriptografar. A forma como o sistema de e-mail está configurado, é projetado para o tipo de 31 00:02:10,502 --> 00:02:15,045 não-interativas locais onde Bob envia o e-mail. E, em seguida, Alice é suposto 32 00:02:15,045 --> 00:02:19,195 recebê-lo. E Alice não deve ser para comunicar com Bob para descodificar 33 00:02:19,195 --> 00:02:23,502 e-mail o. Portanto, neste caso, por causa da interatividade não, não há oportunidade 34 00:02:23,502 --> 00:02:27,705 para a criação de um segredo compartilhado entre Alice e Bob. Portanto, neste caso, qual seria 35 00:02:27,705 --> 00:02:32,169 acontecer é, basicamente, Bob teria, seria enviar o e-mail criptografado, usando de Alice, pública 36 00:02:32,169 --> 00:02:36,571 chave. Então ele envia o e-mail. Qualquer pessoa no mundo pode enviar o e-mail criptografado para 37 00:02:36,571 --> 00:02:41,103 Alice, criptografados usando sua chave pública. Quando Alice recebe este e-mail, ela utiliza 38 00:02:41,103 --> 00:02:45,748 chave o seu segredo para descriptografar o texto cifrado e recuperar a mensagem de texto simples. 39 00:02:45,748 --> 00:02:50,507 Claro que a única ressalva em um sistema como este é que, de facto, Bob precisa de alguma forma 40 00:02:50,507 --> 00:02:54,804 obter a chave pública de Alice Então, por agora estamos apenas indo supor que Bob já tem 41 00:02:54,804 --> 00:02:58,297 chave pública de Alice, mas mais tarde, na verdade, quando falamos sobre digitais 42 00:02:58,297 --> 00:03:02,457 assinaturas nós vamos ver como, este pode realmente ser feito de forma muito eficiente utilizando o que há de 43 00:03:02,457 --> 00:03:06,823 chamado de gerenciamento de chave pública e como eu disse nós vamos realmente voltar para que em uma tarde 44 00:03:06,823 --> 00:03:10,931 tempo. Mas a principal coisa que eu quero que você lembre-se, é que a criptografia de chave pública é 45 00:03:10,931 --> 00:03:14,578 usado para a instalação da sessão. Isso é muito comum na web, onde a chave pública 46 00:03:14,578 --> 00:03:18,840 criptografia é usada para criar uma chave segura entre um navegador da web e e servidor web. 47 00:03:18,840 --> 00:03:22,898 E a criptografia de chave pública também é muito útil para aplicações não-interativas, 48 00:03:22,898 --> 00:03:26,390 onde qualquer pessoa no mundo, não interativa, precisa enviar uma mensagem 49 00:03:26,390 --> 00:03:30,653 para Alice, que pode criptografar a mensagem utilizando a chave pública de Alice, e Alice pode descriptografar 50 00:03:30,653 --> 00:03:36,105 e recuperar o texto puro. Então deixe-me lembrá-lo em detalhe um pouco mais que um 51 00:03:36,105 --> 00:03:40,347 sistema de criptografia de chave pública é. Bem, ela é composta de três algoritmos G, E, e 52 00:03:40,347 --> 00:03:44,431 D. G é chamado o algoritmo de geração de chave. Basicamente o que ele vai fazer é que vai 53 00:03:44,431 --> 00:03:48,672 gerar esse par de chaves, a chave pública ea chave secreta. Como escrevi aqui, G leva 54 00:03:48,672 --> 00:03:53,018 sem argumentos, mas na vida real, G, na verdade não ter um argumento chamado a segurança 55 00:03:53,018 --> 00:03:57,260 parâmetro que especifica o tamanho das teclas que são gerados por esta chave 56 00:03:57,260 --> 00:04:01,731 algoritmo de geração. Então há esses algoritmos de criptografia, como de costume que tomar uma 57 00:04:01,731 --> 00:04:06,051 chave pública e uma mensagem e produzir uma mensagem cifrada em um algoritmo de descodificação que 58 00:04:06,051 --> 00:04:10,530 pega a chave correspondente secreta e um texto cifrado e produz uma correspondente 59 00:04:10,530 --> 00:04:14,955 mensagem. E como de costume para a consistência nós dizemos que se criptografar uma mensagem sob uma 60 00:04:14,955 --> 00:04:19,380 dada chave pública e, então, decifrar com uma correspondente chave secreta que deve começar a 61 00:04:19,380 --> 00:04:23,852 volta mensagem original. Agora o que isso significa para uma criptografia de chave pública a ser 62 00:04:23,852 --> 00:04:27,913 seguro? Vou começar por definir, a segurança contra a espionagem. 63 00:04:27,913 --> 00:04:32,002 E então vamos definir a segurança contra ataques ativos. Assim, a maneira para 64 00:04:32,002 --> 00:04:36,237 definir a segurança contra a espionagem é muito semelhante com o caso simétrico nós temos 65 00:04:36,237 --> 00:04:40,626 já esta semana passada, então nós vamos passar por isso rapidamente, assim como uma revisão. 66 00:04:40,626 --> 00:04:44,808 Basicamente jogo o ataque é definido como segue. Definimos estes dois experimentos, 67 00:04:44,808 --> 00:04:49,249 nula experiência e experimentação. No experimento em ambos o desafiante está indo 68 00:04:49,249 --> 00:04:52,965 gerar um público e um par de chave secreta. Ele vai dar ao público 69 00:04:52,965 --> 00:04:57,342 chave para o adversário. O adversário mundo vai querer saída de duas mensagens M0 e M1 de 70 00:04:57,342 --> 00:05:01,663 comprimento igual e então o que ele recebe de volta é a criptografia de m0 ou o 71 00:05:01,663 --> 00:05:06,039 criptografia de m1. No experimento que ele recebe de zero a criptografia de m0. No experimento 72 00:05:06,039 --> 00:05:10,748 que ele recebe a criptografia de m1. E, em seguida, o adversário é suposto dizer que um 73 00:05:10,748 --> 00:05:15,240 ele conseguiu. Ele começa a criptografia de m0 ou ele conseguiu a criptografia de m1? Assim 74 00:05:15,240 --> 00:05:19,676 neste jogo, o atacante só fica um texto cifrado. Isto corresponde a uma 75 00:05:19,676 --> 00:05:24,226 ataque escutas onde ele simplesmente escutado sobre esse texto cifrado C. E agora 76 00:05:24,226 --> 00:05:28,719 seu objetivo é saber se o texto cifrado C é a criptografia de M0 ou M1. Não 77 00:05:28,719 --> 00:05:34,221 adulteração no texto cifrado C é permitido ainda. E como sempre dizemos que o 78 00:05:34,221 --> 00:05:38,206 esquema de criptografia de chave pública semanticamente seguro se o atacante não pode 79 00:05:38,206 --> 00:05:42,085 distinguir de zero experiência de um experimento. Em outras palavras, ele não pode 80 00:05:42,085 --> 00:05:47,757 dizer se ele chegou a criptografia de M0, ou a criptografia de M1. Antes de seguir em frente 81 00:05:47,757 --> 00:05:52,311 aos ataques ativos, quero mencionar uma relação rápida entre a definição que 82 00:05:52,311 --> 00:05:56,105 acabamos de ver, E a definição de, de segurança espionagem para simétrico 83 00:05:56,105 --> 00:06:00,438 cifras. Se você se lembrar, quando falamos de segurança espionagem para simétrico 84 00:06:00,438 --> 00:06:04,771 cifras, foi possível distinguir entre o caso em que a chave é usada uma vez, e no caso 85 00:06:04,771 --> 00:06:08,998 onde a chave é usada várias vezes. E, de fato, vimos que, há uma clara 86 00:06:08,998 --> 00:06:13,357 separação. Por exemplo, a almofada de uma única vez. É seguro se a chave é usada para criptografar uma 87 00:06:13,357 --> 00:06:17,382 única mensagem, mas é completamente inseguro se a chave é utilizada para encriptar múltipla 88 00:06:17,382 --> 00:06:21,358 mensagens. E, de fato, tivemos duas definições diferentes se você se lembra, tivemos uma 89 00:06:21,358 --> 00:06:25,383 definição de um tempo de segurança, e depois tivemos uma definição separada, o que era 90 00:06:25,383 --> 00:06:29,700 mais forte, quando a chave foi usada várias vezes. A definição que eu mostrei no 91 00:06:29,700 --> 00:06:34,043 slide anterior é muito similar à definição de um tempo para segurança 92 00:06:34,043 --> 00:06:38,499 cifras simétricas. E, de fato, verifica-se que para a criptografia de chave pública, se um 93 00:06:38,499 --> 00:06:43,124 sistema é seguro em uma chave única vez, em certo sentido, também é seguro por um tempo, muitos 94 00:06:43,124 --> 00:06:47,929 chave. Em outras palavras, não temos explicitamente dar ao invasor a capacidade 95 00:06:47,929 --> 00:06:53,171 para, criptografias de mensagens de solicitação de sua escolha. Porque ele poderia apenas criar as 96 00:06:53,171 --> 00:06:57,870 criptografias sozinho. Ele recebe a chave pública e, portanto, ele pode, por 97 00:06:57,870 --> 00:07:04,672 se criptografar qualquer mensagem que ele gosta. Como resultado qualquer par de chave pública secreta em alguns 98 00:07:04,672 --> 00:07:09,289 sentido inerentemente é usada para criptografar mensagens múltiplas porque o atacante 99 00:07:09,289 --> 00:07:13,905 poderia ter apenas criptografados muitas, muitas mensagens de sua escolha usando o dado 100 00:07:13,905 --> 00:07:18,891 chave pública que nós apenas lhe deu na primeira etapa. E assim, como resultado, na verdade, 101 00:07:18,891 --> 00:07:23,692 definição de um segurança o tempo é suficiente para implicar a segurança do tempo e muitos 102 00:07:23,692 --> 00:07:28,801 é por isso que nos referimos ao conceito como indistinguibilidade sob uma planície escolhida 103 00:07:28,801 --> 00:07:34,012 texto anexar. Portanto, esta é apenas uma questão menor para explicar por que as configurações do público 104 00:07:34,012 --> 00:07:37,770 criptografia, nós não precisamos de uma definição mais complicado para capturar 105 00:07:37,770 --> 00:07:42,515 segurança escutas. Agora que entendemos de segurança espionagem, vamos 106 00:07:42,515 --> 00:07:47,343 olhada adversários mais poderosos que podem realmente montar ataques ativos. Assim, em 107 00:07:47,343 --> 00:07:51,585 particular, vejamos o exemplo de e-mail. Então, aqui, temos o nosso amigo Bob 108 00:07:51,585 --> 00:07:56,228 que quer enviar e-mail para sua amiga Caroline. E Caroline acontece a ter, um 109 00:07:56,228 --> 00:08:00,699 conta no Gmail. E a maneira como isso funciona é, basicamente, o email é enviado para o 110 00:08:00,699 --> 00:08:05,514 servidor do Gmail, criptografado. O servidor decifra o e-mail Gmail, olha para o destinado 111 00:08:05,514 --> 00:08:09,297 destinatários. E então, se é, o destinatário é Caroline, que 112 00:08:09,297 --> 00:08:13,653 encaminha o e-mail para Caroline. Se o destinatário é o atacante, que 113 00:08:13,653 --> 00:08:18,573 encaminha e-mail até o atacante. Esta é semelhante à forma como realmente funciona o Gmail 114 00:08:18,573 --> 00:08:23,441 porque o remetente enviar o e-mail criptografado em SSL para o servidor do Gmail. 115 00:08:23,441 --> 00:08:28,087 O servidor do Gmail iria encerrar a SSL e, em seguida, encaminhar e-mail até o 116 00:08:28,087 --> 00:08:33,081 recipientes apropriados. Agora, suponha que Bob criptografa o e-mail usando um sistema que 117 00:08:33,081 --> 00:08:37,764 permite que o adversário para mexer com o texto cifrado sem ser detectado. Para 118 00:08:37,764 --> 00:08:42,387 exemplo, imagine que este e-mail é criptografada usando o Modo Contador, ou algo parecido 119 00:08:42,387 --> 00:08:47,070 que. Então, quando o atacante intercepta este e-mail, ele pode alterar o destinatário, 120 00:08:47,070 --> 00:08:50,732 de modo que agora o destinatário diz attacker@gmail.com, e sabemos que, para 121 00:08:50,732 --> 00:08:55,415 modo de contador, por exemplo, isso é muito fácil de fazer. O atacante sabe que o 122 00:08:55,415 --> 00:09:00,278 e-mail destina-se a Caroline, ele está apenas interessado no corpo do email. Assim, ele pode 123 00:09:00,278 --> 00:09:04,226 facilmente alterar o destinatário de e-mail para attacker@gmail.com e agora, quando o servidor 124 00:09:04,226 --> 00:09:08,129 recebe o e-mail, ele vai decifrá-lo, ver que o destinatário é suposto ser 125 00:09:08,129 --> 00:09:12,033 atacante, e encaminhar o corpo para o atacante. E agora, o atacante foi capaz de 126 00:09:12,033 --> 00:09:16,022 ler o corpo do e-mail que foi destinado para Caroline. Então esta é uma 127 00:09:16,022 --> 00:09:21,198 exemplo clássico de um ataque ativo, e você percebe que o atacante poderia fazer 128 00:09:21,198 --> 00:09:26,174 aqui, é possível decodificar qualquer texto cifrado, onde o destinatário é o seguinte: 129 00:09:26,174 --> 00:09:31,548 atacante. Assim, qualquer texto cifrado, onde o texto simples começa com as palavras "Para: atacante". Portanto, nossa meta é 130 00:09:31,548 --> 00:09:36,657 para projetar sistemas de chave pública que são seguros, mesmo que o atacante pode manipular 131 00:09:36,657 --> 00:09:42,999 com texto cifrado e, possivelmente, cyphertexts decifrar certos. E novamente, eu quero 132 00:09:42,999 --> 00:09:47,612 ressaltar que aqui o objetivo do atacante era fazer com que o corpo da mensagem. O atacante 133 00:09:47,612 --> 00:09:52,055 já sabia que o e-mail destina-se a Caroline. E tudo o que tinha a fazer era 134 00:09:52,055 --> 00:09:56,863 apenas alterar o destinatário, se destina. Portanto, este ataque motiva a adulteração 135 00:09:56,863 --> 00:10:01,620 definição de texto cifrado escolhido segurança. E na verdade, esta é a noção de padrão de 136 00:10:01,620 --> 00:10:07,462 de segurança para criptografia de chave pública. Então deixe-me explicar como o ataque [aqui Proceedes] e como eu 137 00:10:07,462 --> 00:10:11,899 disse que nosso objetivo é construir sistemas que sejam seguros ao abrigo do presente muito, muito conservadora 138 00:10:11,899 --> 00:10:15,756 noção de criptografia. Portanto, temos um esquema de criptografia (G, E, D). E digamos 139 00:10:15,756 --> 00:10:20,140 que é definido sobre um espaço e uma mensagem cifrada (M, C) e como de costume estamos 140 00:10:20,140 --> 00:10:24,313 vai definir dois experimentos, experiência zero, e um experimento. Então, 'b' aqui 141 00:10:24,313 --> 00:10:28,222 diz que se o adversário está a implementar a zero experimento ou experiência 142 00:10:28,222 --> 00:10:32,659 um. O desafiante começa por gerar uma chave pública e uma chave secreta, e, em seguida, dá 143 00:10:32,659 --> 00:10:37,254 chave pública para o adversário. Agora, o adversário pode dizer: "Bem, aqui são um bando 144 00:10:37,254 --> 00:10:41,611 de mensagens cifradas, por favor, decifrá-los para mim. "Então, aqui o adversário apresenta 145 00:10:41,611 --> 00:10:46,452 texto cifrado C1 e ele fica a decodificação de texto cifrado C1, ou seja, M1. E ele fica 146 00:10:46,452 --> 00:10:51,414 fazer isso de novo e de novo, então ele envia texto cifrado C2, e ele fica a descriptografia, 147 00:10:51,414 --> 00:10:56,195 que é M2, cifrado C3, e que ele recebe o M3 descodificação, e assim por diante e assim por diante. 148 00:10:56,195 --> 00:11:00,188 Finalmente, o adversário diz: "Esta fase de quadratura é mais", e agora ele 149 00:11:00,188 --> 00:11:04,485 apresenta basicamente duas mensagens de comprimento igual, M0 e M1 como normal, e ele 150 00:11:04,485 --> 00:11:08,820 recebe em resposta ao desafio cifrado C, que é a criptografia de M 151 00:11:08,820 --> 00:11:13,052 zero ou a criptografia de um M. Dependendo se estamos em zero ou experiência 152 00:11:13,052 --> 00:11:17,003 experimento um. Agora, o adversário pode continuar a emitir estes texto cifrado 153 00:11:17,003 --> 00:11:21,063 consultas. Assim, ele pode continuar a pedidos de emissão, de descriptografia. Então ele envia uma 154 00:11:21,063 --> 00:11:25,447 texto cifrado, e ele recebe uma decodificação desse texto cifrado, mas é claro que, agora, não 155 00:11:25,447 --> 00:11:29,994 tem que ser uma advertência. Se o atacante poderia enviar texto cifrado arbitrária de sua escolha, 156 00:11:29,994 --> 00:11:34,270 é claro, ele poderia quebrar o desafio. O que ele faria se ele se submeteria a 157 00:11:34,270 --> 00:11:38,506 desafio cifrado C como uma consulta de descriptografia. E então ele seria informado se 158 00:11:38,506 --> 00:11:42,665 na fase de desafio foi-lhe dada a criptografia de M0 ou a criptografia de M1. 159 00:11:42,665 --> 00:11:46,825 Como resultado, colocamos esta limitação aqui, que diz que ele pode de fato apresentar qualquer 160 00:11:46,825 --> 00:11:51,031 texto cifrado de sua escolha senão. Para o texto cifrado desafio. Assim, o invasor 161 00:11:51,031 --> 00:11:55,034 poderia pedir a decodificação de qualquer mensagem cifrada de sua escolha que não seja o 162 00:11:55,034 --> 00:11:59,297 desafio cifrado. E mesmo que ele foi dado todos estes decryptions, ele ainda 163 00:11:59,297 --> 00:12:03,196 não deve ser capaz de dizer se ele foi dado a criptografia de M0 ou o 164 00:12:03,196 --> 00:12:09,212 criptografia de M1. Então você percebe esta é uma definição muito conservadora. Ele dá a 165 00:12:09,212 --> 00:12:14,113 poder atacante mais do que aquilo que vimos no slide anterior. No slide anterior, 166 00:12:14,113 --> 00:12:18,710 o invasor pode descriptografar mensagens apenas quando o texto simples começou com as palavras 167 00:12:18,710 --> 00:12:23,611 "para: atacante". Aqui, nós estamos dizendo que o atacante pode decifrar qualquer mensagem cifrada de sua escolha, 168 00:12:23,611 --> 00:12:29,717 enquanto é diferente do desafio cifrado C. Ok? E então, seu 169 00:12:29,717 --> 00:12:34,094 objetivo é dizer se o texto cifrado desafio é a criptografia de M0 ou o 170 00:12:34,094 --> 00:12:37,918 criptografia de M1. E como de costume, se ele não pode fazer isso, em outras palavras, a sua 171 00:12:37,918 --> 00:12:42,351 comportamento em zero experiência é basicamente o mesmo que o seu comportamento no experimento 172 00:12:42,351 --> 00:12:46,839 um, então ele não foi capaz de distinguir a criptografia de M0 da criptografia de 173 00:12:46,839 --> 00:12:51,219 M1, embora tivesse todo esse poder Então dizemos que o sistema é escolhido 174 00:12:51,219 --> 00:12:55,877 texto cifrado seguro, CCA seguro. E às vezes há uma sigla, a sigla 175 00:12:55,877 --> 00:13:00,596 para isso é indistinguibilidade sob um ataque de texto cifrado escolhido, mas eu sou apenas 176 00:13:00,596 --> 00:13:05,745 vai dizer CCA garantido. Então vamos ver como isso captura, o exemplo de e-mail que vimos 177 00:13:05,745 --> 00:13:10,587 antes. Assim, suponhamos que o sistema de criptografia a ser utilizado é tal que apenas dada a 178 00:13:10,587 --> 00:13:15,429 criptografia de uma mensagem que o atacante pode mudar o destinatário a partir de 179 00:13:15,429 --> 00:13:20,129 Alice dizer, para Charlie. Então aqui está como gostaríamos de ganhar o jogo CCA. Bem no 180 00:13:20,129 --> 00:13:25,033 primeiro passo ele deu a chave pública do curso. E então o que o atacante vai fazer 181 00:13:25,033 --> 00:13:29,578 é que ele iria emitir duas mensagens de comprimento igual, ou seja, na primeira mensagem, os 182 00:13:29,578 --> 00:13:33,943 corpo é zero. Na segunda mensagem o corpo é um. Mas ambas as mensagens são 183 00:13:33,943 --> 00:13:39,890 destinado a Alice. E em resposta, ele seria dado o desafio cifrado C. 184 00:13:39,890 --> 00:13:45,130 Ok, então agora aqui temos o nosso desafio cifrado C. Agora, o que o atacante é 185 00:13:45,130 --> 00:13:49,961 vai fazer é que ele vai usar o seu, a sua capacidade aqui para modificar a que se destina 186 00:13:49,961 --> 00:13:55,269 destinatário. E ele vai mandar de volta um texto cifrado C, onde C 'é a criptografia 187 00:13:55,269 --> 00:14:01,760 da mensagem de Charlie com o corpo sendo o corpo b desafio. Então, se você lembrar é 188 00:14:01,760 --> 00:14:07,822 zero ou um. Agora, porque o texto sem formatação é diferente, sabemos que o 189 00:14:07,822 --> 00:14:12,486 texto cifrado também deve ser diferente. Assim, em particular, C nobre deve ser diferente do 190 00:14:12,486 --> 00:14:17,206 o desafio cifrado C, yeah? Assim, o primeiro-C aqui deve ser diferente do C. E 191 00:14:17,206 --> 00:14:21,758 , como resultado, o desafiante pobre tem agora para descriptografar por definição do jogo CCA. 192 00:14:21,758 --> 00:14:26,141 O desafiante deve descriptografar qualquer texto cifrado que não é igual a um desafio 193 00:14:26,141 --> 00:14:30,648 texto cifrado. Assim, o desafiante decifra dar o adversário M prime. Basicamente, ele 194 00:14:30,648 --> 00:14:35,256 deu a B adversário, e agora o adversário pode produzir o B desafio e 195 00:14:35,256 --> 00:14:40,293 ele ganha o jogo com vantagem de um. Então, vantagem que ele com este regime especial 196 00:14:40,293 --> 00:14:45,143 é um deles. Então, simplesmente porque o atacante foi capaz de mudar o texto cifrado desafio 197 00:14:45,146 --> 00:14:49,999 de um recipiente para outro que lhe permite, para ganhar o jogo com CCA 198 00:14:49,999 --> 00:14:55,003 única vantagem. Então, como eu disse, escolhido texto cifrado segurança acaba realmente é 199 00:14:55,003 --> 00:14:59,327 a noção correta de segurança para os sistemas públicos de criptografia de chave. E é muito, 200 00:14:59,327 --> 00:15:03,651 conceito muito interessante, certo? Basicamente, de alguma forma mesmo que o atacante tem essa capacidade 201 00:15:03,651 --> 00:15:07,839 a qualquer coisa que ele quer decifrar. Diferentemente do texto cifrado desafio, ainda que ele não pode 202 00:15:07,839 --> 00:15:12,028 aprender o que o texto cifrado é desafio. E assim o objetivo para o restante deste módulo 203 00:15:12,028 --> 00:15:16,275 e realmente o módulo seguinte, bem, é a construção de sistemas CCA seguras. É 204 00:15:16,275 --> 00:15:20,093 realmente incrível que isso é possível e eu vou mostrar para você 205 00:15:20,093 --> 00:15:24,310 exatamente como fazê-lo. E, na verdade esses sistemas CCA seguros que construímos são o 206 00:15:24,310 --> 00:15:28,579 aquelas que são utilizadas no mundo real. E cada vez que um sistema tem tentado implantar 207 00:15:28,737 --> 00:15:33,007 um mecanismo de criptografia de chave pública que não é seguro CCA alguém surgiu com uma 208 00:15:33,007 --> 00:15:37,487 ataque e foi capaz de quebrá-lo. E vamos ver alguns desses ataques exemplo 209 00:15:37,487 --> 00:15:39,280 efectivamente nos segmentos mais próximos.