WEBVTT 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. 00:00:03.583 --> 00:00:07.166 Esta semana vamos colocar esse conhecimento para trabalhar, e vamos construir uma 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 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 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 00:00:18.241 --> 00:00:21.778 algoritmo de criptografia que normalmente é representado por E, e há uma decodificação 00:00:21.778 --> 00:00:25.361 algoritmo que denotamos por D. No entanto, aqui, o algoritmo de criptografia tem um 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 00:00:29.477 --> 00:00:34.356 par de chaves. E a chave pública é usada para criptografar mensagens, enquanto a chave secreta 00:00:34.356 --> 00:00:39.002 é utilizado para decifrar mensagens. Assim, neste caso uma mensagem m é criptografar usando 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 00:00:43.880 --> 00:00:48.643 cifrado é alimentada no algoritmo de descodificação e usando a chave secreta, o que 00:00:48.643 --> 00:00:53.577 sai do algoritmo de descodificação é o m mensagem original. Agora chave pública 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 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 00:01:02.455 --> 00:01:06.867 que é seguro contra a espionagem só. E se você se lembrar da forma como o protocolo 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 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 00:01:15.546 --> 00:01:20.136 vai servir como seu segredo compartilhado, e então ele envia X criptografadas para Alice, 00:01:20.136 --> 00:01:24.904 criptografada com sua chave pública. Alice pode descriptografar, recuperar X e agora ambos 00:01:24.904 --> 00:01:29.554 tem esse X segredo compartilhado que eles podem usar para comunicar de forma segura com um 00:01:29.554 --> 00:01:34.143 outro. O atacante, é claro, tudo o que ele consegue ver é apenas a chave pública, o 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 00:01:38.972 --> 00:01:43.800 informações sobre X. E nós vamos definir que, mais precisamente para entender 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 00:01:48.507 --> 00:01:52.522 realmente tem muitas outras aplicações. Por exemplo, é muito útil na 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 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 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 00:02:06.603 --> 00:02:10.502 descriptografar. A forma como o sistema de e-mail está configurado, é projetado para o tipo de 00:02:10.502 --> 00:02:15.045 não-interativas locais onde Bob envia o e-mail. E, em seguida, Alice é suposto 00:02:15.045 --> 00:02:19.195 recebê-lo. E Alice não deve ser para comunicar com Bob para descodificar 00:02:19.195 --> 00:02:23.502 e-mail o. Portanto, neste caso, por causa da interatividade não, não há oportunidade 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 00:02:27.705 --> 00:02:32.169 acontecer é, basicamente, Bob teria, seria enviar o e-mail criptografado, usando de Alice, pública 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 00:02:36.571 --> 00:02:41.103 Alice, criptografados usando sua chave pública. Quando Alice recebe este e-mail, ela utiliza 00:02:41.103 --> 00:02:45.748 chave o seu segredo para descriptografar o texto cifrado e recuperar a mensagem de texto simples. 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 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 00:02:54.804 --> 00:02:58.297 chave pública de Alice, mas mais tarde, na verdade, quando falamos sobre digitais 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 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 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 é 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 00:03:14.578 --> 00:03:18.840 criptografia é usada para criar uma chave segura entre um navegador da web e e servidor web. 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, 00:03:22.898 --> 00:03:26.390 onde qualquer pessoa no mundo, não interativa, precisa enviar uma mensagem 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 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 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 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 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 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 00:03:53.018 --> 00:03:57.260 parâmetro que especifica o tamanho das teclas que são gerados por esta chave 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 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 00:04:06.051 --> 00:04:10.530 pega a chave correspondente secreta e um texto cifrado e produz uma correspondente 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 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 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 00:04:23.852 --> 00:04:27.913 seguro? Vou começar por definir, a segurança contra a espionagem. 00:04:27.913 --> 00:04:32.002 E então vamos definir a segurança contra ataques ativos. Assim, a maneira para 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 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. 00:04:40.626 --> 00:04:44.808 Basicamente jogo o ataque é definido como segue. Definimos estes dois experimentos, 00:04:44.808 --> 00:04:49.249 nula experiência e experimentação. No experimento em ambos o desafiante está indo 00:04:49.249 --> 00:04:52.965 gerar um público e um par de chave secreta. Ele vai dar ao público 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 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 00:05:01.663 --> 00:05:06.039 criptografia de m1. No experimento que ele recebe de zero a criptografia de m0. No experimento 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 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 00:05:15.240 --> 00:05:19.676 neste jogo, o atacante só fica um texto cifrado. Isto corresponde a uma 00:05:19.676 --> 00:05:24.226 ataque escutas onde ele simplesmente escutado sobre esse texto cifrado C. E agora 00:05:24.226 --> 00:05:28.719 seu objetivo é saber se o texto cifrado C é a criptografia de M0 ou M1. Não 00:05:28.719 --> 00:05:34.221 adulteração no texto cifrado C é permitido ainda. E como sempre dizemos que o 00:05:34.221 --> 00:05:38.206 esquema de criptografia de chave pública semanticamente seguro se o atacante não pode 00:05:38.206 --> 00:05:42.085 distinguir de zero experiência de um experimento. Em outras palavras, ele não pode 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 00:05:47.757 --> 00:05:52.311 aos ataques ativos, quero mencionar uma relação rápida entre a definição que 00:05:52.311 --> 00:05:56.105 acabamos de ver, E a definição de, de segurança espionagem para simétrico 00:05:56.105 --> 00:06:00.438 cifras. Se você se lembrar, quando falamos de segurança espionagem para simétrico 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 00:06:04.771 --> 00:06:08.998 onde a chave é usada várias vezes. E, de fato, vimos que, há uma clara 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 00:06:13.357 --> 00:06:17.382 única mensagem, mas é completamente inseguro se a chave é utilizada para encriptar múltipla 00:06:17.382 --> 00:06:21.358 mensagens. E, de fato, tivemos duas definições diferentes se você se lembra, tivemos uma 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 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 00:06:29.700 --> 00:06:34.043 slide anterior é muito similar à definição de um tempo para segurança 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 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 00:06:43.124 --> 00:06:47.929 chave. Em outras palavras, não temos explicitamente dar ao invasor a capacidade 00:06:47.929 --> 00:06:53.171 para, criptografias de mensagens de solicitação de sua escolha. Porque ele poderia apenas criar as 00:06:53.171 --> 00:06:57.870 criptografias sozinho. Ele recebe a chave pública e, portanto, ele pode, por 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 00:07:04.672 --> 00:07:09.289 sentido inerentemente é usada para criptografar mensagens múltiplas porque o atacante 00:07:09.289 --> 00:07:13.905 poderia ter apenas criptografados muitas, muitas mensagens de sua escolha usando o dado 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, 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 00:07:23.692 --> 00:07:28.801 é por isso que nos referimos ao conceito como indistinguibilidade sob uma planície escolhida 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 00:07:34.012 --> 00:07:37.770 criptografia, nós não precisamos de uma definição mais complicado para capturar 00:07:37.770 --> 00:07:42.515 segurança escutas. Agora que entendemos de segurança espionagem, vamos 00:07:42.515 --> 00:07:47.343 olhada adversários mais poderosos que podem realmente montar ataques ativos. Assim, em 00:07:47.343 --> 00:07:51.585 particular, vejamos o exemplo de e-mail. Então, aqui, temos o nosso amigo Bob 00:07:51.585 --> 00:07:56.228 que quer enviar e-mail para sua amiga Caroline. E Caroline acontece a ter, um 00:07:56.228 --> 00:08:00.699 conta no Gmail. E a maneira como isso funciona é, basicamente, o email é enviado para o 00:08:00.699 --> 00:08:05.514 servidor do Gmail, criptografado. O servidor decifra o e-mail Gmail, olha para o destinado 00:08:05.514 --> 00:08:09.297 destinatários. E então, se é, o destinatário é Caroline, que 00:08:09.297 --> 00:08:13.653 encaminha o e-mail para Caroline. Se o destinatário é o atacante, que 00:08:13.653 --> 00:08:18.573 encaminha e-mail até o atacante. Esta é semelhante à forma como realmente funciona o Gmail 00:08:18.573 --> 00:08:23.441 porque o remetente enviar o e-mail criptografado em SSL para o servidor do Gmail. 00:08:23.441 --> 00:08:28.087 O servidor do Gmail iria encerrar a SSL e, em seguida, encaminhar e-mail até o 00:08:28.087 --> 00:08:33.081 recipientes apropriados. Agora, suponha que Bob criptografa o e-mail usando um sistema que 00:08:33.081 --> 00:08:37.764 permite que o adversário para mexer com o texto cifrado sem ser detectado. Para 00:08:37.764 --> 00:08:42.387 exemplo, imagine que este e-mail é criptografada usando o Modo Contador, ou algo parecido 00:08:42.387 --> 00:08:47.070 que. Então, quando o atacante intercepta este e-mail, ele pode alterar o destinatário, 00:08:47.070 --> 00:08:50.732 de modo que agora o destinatário diz attacker@gmail.com, e sabemos que, para 00:08:50.732 --> 00:08:55.415 modo de contador, por exemplo, isso é muito fácil de fazer. O atacante sabe que o 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 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 00:09:04.226 --> 00:09:08.129 recebe o e-mail, ele vai decifrá-lo, ver que o destinatário é suposto ser 00:09:08.129 --> 00:09:12.033 atacante, e encaminhar o corpo para o atacante. E agora, o atacante foi capaz de 00:09:12.033 --> 00:09:16.022 ler o corpo do e-mail que foi destinado para Caroline. Então esta é uma 00:09:16.022 --> 00:09:21.198 exemplo clássico de um ataque ativo, e você percebe que o atacante poderia fazer 00:09:21.198 --> 00:09:26.174 aqui, é possível decodificar qualquer texto cifrado, onde o destinatário é o seguinte: 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 é 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 00:09:36.657 --> 00:09:42.999 com texto cifrado e, possivelmente, cyphertexts decifrar certos. E novamente, eu quero 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 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 00:09:52.055 --> 00:09:56.863 apenas alterar o destinatário, se destina. Portanto, este ataque motiva a adulteração 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 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 00:10:07.462 --> 00:10:11.899 disse que nosso objetivo é construir sistemas que sejam seguros ao abrigo do presente muito, muito conservadora 00:10:11.899 --> 00:10:15.756 noção de criptografia. Portanto, temos um esquema de criptografia (G, E, D). E digamos 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 00:10:20.140 --> 00:10:24.313 vai definir dois experimentos, experiência zero, e um experimento. Então, 'b' aqui 00:10:24.313 --> 00:10:28.222 diz que se o adversário está a implementar a zero experimento ou experiência 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á 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 00:10:37.254 --> 00:10:41.611 de mensagens cifradas, por favor, decifrá-los para mim. "Então, aqui o adversário apresenta 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 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, 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. 00:10:56.195 --> 00:11:00.188 Finalmente, o adversário diz: "Esta fase de quadratura é mais", e agora ele 00:11:00.188 --> 00:11:04.485 apresenta basicamente duas mensagens de comprimento igual, M0 e M1 como normal, e ele 00:11:04.485 --> 00:11:08.820 recebe em resposta ao desafio cifrado C, que é a criptografia de M 00:11:08.820 --> 00:11:13.052 zero ou a criptografia de um M. Dependendo se estamos em zero ou experiência 00:11:13.052 --> 00:11:17.003 experimento um. Agora, o adversário pode continuar a emitir estes texto cifrado 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 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 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, 00:11:29.994 --> 00:11:34.270 é claro, ele poderia quebrar o desafio. O que ele faria se ele se submeteria a 00:11:34.270 --> 00:11:38.506 desafio cifrado C como uma consulta de descriptografia. E então ele seria informado se 00:11:38.506 --> 00:11:42.665 na fase de desafio foi-lhe dada a criptografia de M0 ou a criptografia de M1. 00:11:42.665 --> 00:11:46.825 Como resultado, colocamos esta limitação aqui, que diz que ele pode de fato apresentar qualquer 00:11:46.825 --> 00:11:51.031 texto cifrado de sua escolha senão. Para o texto cifrado desafio. Assim, o invasor 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 00:11:55.034 --> 00:11:59.297 desafio cifrado. E mesmo que ele foi dado todos estes decryptions, ele ainda 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 00:12:03.196 --> 00:12:09.212 criptografia de M1. Então você percebe esta é uma definição muito conservadora. Ele dá a 00:12:09.212 --> 00:12:14.113 poder atacante mais do que aquilo que vimos no slide anterior. No slide anterior, 00:12:14.113 --> 00:12:18.710 o invasor pode descriptografar mensagens apenas quando o texto simples começou com as palavras 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, 00:12:23.611 --> 00:12:29.717 enquanto é diferente do desafio cifrado C. Ok? E então, seu 00:12:29.717 --> 00:12:34.094 objetivo é dizer se o texto cifrado desafio é a criptografia de M0 ou o 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 00:12:37.918 --> 00:12:42.351 comportamento em zero experiência é basicamente o mesmo que o seu comportamento no experimento 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 00:12:46.839 --> 00:12:51.219 M1, embora tivesse todo esse poder Então dizemos que o sistema é escolhido 00:12:51.219 --> 00:12:55.877 texto cifrado seguro, CCA seguro. E às vezes há uma sigla, a sigla 00:12:55.877 --> 00:13:00.596 para isso é indistinguibilidade sob um ataque de texto cifrado escolhido, mas eu sou apenas 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 00:13:05.745 --> 00:13:10.587 antes. Assim, suponhamos que o sistema de criptografia a ser utilizado é tal que apenas dada a 00:13:10.587 --> 00:13:15.429 criptografia de uma mensagem que o atacante pode mudar o destinatário a partir de 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 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 00:13:25.033 --> 00:13:29.578 é que ele iria emitir duas mensagens de comprimento igual, ou seja, na primeira mensagem, os 00:13:29.578 --> 00:13:33.943 corpo é zero. Na segunda mensagem o corpo é um. Mas ambas as mensagens são 00:13:33.943 --> 00:13:39.890 destinado a Alice. E em resposta, ele seria dado o desafio cifrado C. 00:13:39.890 --> 00:13:45.130 Ok, então agora aqui temos o nosso desafio cifrado C. Agora, o que o atacante é 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 00:13:49.961 --> 00:13:55.269 destinatário. E ele vai mandar de volta um texto cifrado C, onde C 'é a criptografia 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 é 00:14:01.760 --> 00:14:07.822 zero ou um. Agora, porque o texto sem formatação é diferente, sabemos que o 00:14:07.822 --> 00:14:12.486 texto cifrado também deve ser diferente. Assim, em particular, C nobre deve ser diferente do 00:14:12.486 --> 00:14:17.206 o desafio cifrado C, yeah? Assim, o primeiro-C aqui deve ser diferente do C. E 00:14:17.206 --> 00:14:21.758 , como resultado, o desafiante pobre tem agora para descriptografar por definição do jogo CCA. 00:14:21.758 --> 00:14:26.141 O desafiante deve descriptografar qualquer texto cifrado que não é igual a um desafio 00:14:26.141 --> 00:14:30.648 texto cifrado. Assim, o desafiante decifra dar o adversário M prime. Basicamente, ele 00:14:30.648 --> 00:14:35.256 deu a B adversário, e agora o adversário pode produzir o B desafio e 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 00:14:40.293 --> 00:14:45.143 é um deles. Então, simplesmente porque o atacante foi capaz de mudar o texto cifrado desafio 00:14:45.146 --> 00:14:49.999 de um recipiente para outro que lhe permite, para ganhar o jogo com CCA 00:14:49.999 --> 00:14:55.003 única vantagem. Então, como eu disse, escolhido texto cifrado segurança acaba realmente é 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, 00:14:59.327 --> 00:15:03.651 conceito muito interessante, certo? Basicamente, de alguma forma mesmo que o atacante tem essa capacidade 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 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 00:15:12.028 --> 00:15:16.275 e realmente o módulo seguinte, bem, é a construção de sistemas CCA seguras. É 00:15:16.275 --> 00:15:20.093 realmente incrível que isso é possível e eu vou mostrar para você 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 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 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 00:15:33.007 --> 00:15:37.487 ataque e foi capaz de quebrá-lo. E vamos ver alguns desses ataques exemplo 00:15:37.487 --> 00:15:39.280 efectivamente nos segmentos mais próximos.