1 00:00:00,000 --> 00:00:02,951 Antes de começarmos com o material técnico, eu quero dar-lhe uma rápida 2 00:00:02,951 --> 00:00:06,487 visão geral do que é a criptografia e as diferentes áreas de criptografia. 3 00:00:06,487 --> 00:00:10,487 O núcleo de criptografia do curso é a comunicação segura que, essencialmente, 4 00:00:10,487 --> 00:00:14,539 consiste de duas partes. O primeira é estabelecer uma chave segura e, então, como fazer 5 00:00:14,539 --> 00:00:18,697 a comunicação de forma segura, já que temos a chave compartilhada. Já dissemos que o 6 00:00:18,697 --> 00:00:22,854 estabelecimento da chave segura equivale a Alice e Bob enviarem mensagens de um ao 7 00:00:22,854 --> 00:00:26,906 outro, de forma que, ao final deste protocolo, haja uma chave compartilhada que 8 00:00:26,906 --> 00:00:30,906 ambos concordam, compartilhada chave K e, além disso, além de apenas uma chave compartilhada, de fato 9 00:00:30,906 --> 00:00:35,274 Alice saberia que ela está falando com Bob e Bob sabe que ele está falando com 10 00:00:35,274 --> 00:00:39,964 Alice. Mas um atacante pobre que escuta em conversa sobre isso não tem idéia do que a 11 00:00:39,964 --> 00:00:44,011 chave compartilhada é. E vamos ver como fazer isso mais tarde no curso. Agora, uma vez que 12 00:00:44,011 --> 00:00:47,657 têm uma chave compartilhada, eles querem trocar mensagens de forma segura, utilizando esta chave, e 13 00:00:47,657 --> 00:00:51,698 falaremos sobre esquemas de criptografia que lhes permitem fazer isso de tal maneira que 14 00:00:51,698 --> 00:00:55,491 atacante não pode descobrir o que as mensagens estão sendo enviadas e recebidas. E 15 00:00:55,491 --> 00:00:59,630 , além disso, um atacante não pode mesmo mexer com esse tráfego sem ser detectado. 16 00:00:59,630 --> 00:01:03,227 Em outras palavras, estes esquemas de criptografia fornecer confidencialidade e 17 00:01:03,227 --> 00:01:06,774 integridade. Mas a criptografia faz muito, muito, muito mais do que apenas estes dois 18 00:01:06,774 --> 00:01:10,519 coisas. E eu quero dar-lhe alguns exemplos de que. Assim, o primeiro exemplo que eu 19 00:01:10,519 --> 00:01:14,468 quero dar a você é que é chamado de assinatura digital. Assim, uma assinatura digital, 20 00:01:14,468 --> 00:01:18,892 , basicamente, é o análogo da assinatura no mundo físico. Na física 21 00:01:18,892 --> 00:01:23,372 mundo, lembre-se quando você assina um documento, essencialmente, você escrever sua assinatura em 22 00:01:23,372 --> 00:01:27,740 que documento ea sua assinatura é sempre a mesma. Você sempre escreve a mesma 23 00:01:27,740 --> 00:01:32,164 assinatura em todos os documentos que você quer assinar. No mundo digital, isso não pode 24 00:01:32,164 --> 00:01:36,812 possivelmente trabalhar porque se o atacante apenas obtido um documento assinado por mim, ele 25 00:01:36,812 --> 00:01:41,180 pode cortar e colar a minha assinatura até algum outro documento que eu não poderia ter 26 00:01:41,180 --> 00:01:45,247 quis assinar. E assim, simplesmente não é possível em um mundo digital que o meu 27 00:01:45,247 --> 00:01:49,590 assinatura seja a mesma para todos os documentos que eu quero assinar. Então falaremos 28 00:01:49,590 --> 00:01:53,830 sobre como construir as assinaturas digitais, na segunda metade do curso. É 29 00:01:53,830 --> 00:01:58,123 realmente um primitivo interessante e vamos ver exatamente como fazê-lo. Apenas para 30 00:01:58,123 --> 00:02:02,098 lhe dar uma dica, a forma de trabalho é, basicamente, assinaturas digitais, tornando o 31 00:02:02,098 --> 00:02:06,232 assinatura digital via função do conteúdo a ser assinado. Assim, um atacante que 32 00:02:06,232 --> 00:02:10,313 tenta copiar a minha assinatura de um documento para outro não vai ter sucesso 33 00:02:10,313 --> 00:02:14,541 porque a assinatura. No novo documento não vai ser o bom funcionamento do 34 00:02:14,541 --> 00:02:18,526 dados no documento novo, e como resultado, a assinatura não irá verificar. E como eu disse, 35 00:02:18,526 --> 00:02:22,608 vamos ver exatamente como a construção de assinaturas digitais, mais tarde, e então nós 36 00:02:22,608 --> 00:02:27,193 provar que essas construções são seguras. Outra aplicação de criptografia que eu 37 00:02:27,193 --> 00:02:31,096 queria mencionar, é a comunicação anônima. Então, aqui, imagine usuário 38 00:02:31,096 --> 00:02:35,828 Alice quer falar com algum servidor de bate-papo, Bob. E, talvez, ela quer falar sobre 39 00:02:35,828 --> 00:02:40,382 uma condição médica, e por isso ela quer fazer isso anonimamente, para que o bate-papo 40 00:02:40,382 --> 00:02:45,113 servidor não sabem realmente quem ela é. Bem, há um método padrão, chamado de 41 00:02:45,113 --> 00:02:49,946 mixnet, que permite que Alice se comunicar através da internet pública com Bob através de 42 00:02:49,946 --> 00:02:54,856 uma seqüência de proxies de tal forma que no final do Bob comunicação não tem idéia de quem ele 43 00:02:54,856 --> 00:02:59,537 apenas falado. A forma de trabalhar mixnets é basicamente como Alice envia suas mensagens 44 00:02:59,537 --> 00:03:03,818 para Bob através de uma seqüência de procurações, estas mensagens encriptadas e obter 45 00:03:03,818 --> 00:03:08,271 decifrada apropriadamente de modo que Bob não tem idéia de quem ele falou e os proxies 46 00:03:08,271 --> 00:03:12,724 se nem sequer sabe que Alice está falando com Bob, ou que realmente quem é 47 00:03:12,724 --> 00:03:16,750 falando com quem mais geral. Uma coisa interessante sobre este anônimo 48 00:03:16,750 --> 00:03:20,498 canal de comunicação é, este é bi-direcional. Em outras palavras, mesmo 49 00:03:20,498 --> 00:03:24,743 que Bob não tem idéia de quem ele está falando, ele ainda pode responder a Alice e 50 00:03:24,743 --> 00:03:29,153 Alice vai ter essas mensagens. Uma vez que temos uma comunicação anônima, podemos construir 51 00:03:29,153 --> 00:03:33,784 outros mecanismos de privacidade. E eu quero te dar um exemplo que é chamado anônimo 52 00:03:33,784 --> 00:03:37,643 dinheiro digital. Lembre-se que no mundo físico se eu tenho um físico 53 00:03:37,643 --> 00:03:42,108 dólar, eu posso entrar numa livraria e comprar um livro eo comerciante não teria 54 00:03:42,108 --> 00:03:46,876 idéia de quem eu sou. A questão é se podemos fazer exatamente a mesma coisa no mundo digital 55 00:03:46,876 --> 00:03:50,963 mundo. No mundo digital, basicamente, Alice pode ter um dólar digital, 56 00:03:50,963 --> 00:03:55,984 uma moeda de dólar digital. E ela pode querer gastar esse dólar digital em alguns on-line 57 00:03:55,984 --> 00:04:00,760 comerciantes, talvez alguma livraria on-line. Agora, o que nós gostaríamos de fazer é torná-lo tão 58 00:04:00,760 --> 00:04:05,539 que quando Alice passa sua moeda na livraria, a livraria não teria 59 00:04:05,539 --> 00:04:10,629 idéia de quem é Alice. Então, nós fornecemos o mesmo anonimato que nós temos de dinheiro físico. 60 00:04:10,629 --> 00:04:15,470 Agora o problema é que no mundo digital, Alice pode levar a moeda que ela 61 00:04:15,470 --> 00:04:20,250 tinha, esta moeda de um dólar, e antes que ela passou, ela pode realmente fazer cópias dele. 62 00:04:20,250 --> 00:04:24,086 E então, de repente, em vez de apenas ter apenas uma moeda de um dólar agora tudo 63 00:04:24,093 --> 00:04:27,936 de repente ela tem três moedas do dólar e eles são todos iguais, é claro, e 64 00:04:27,936 --> 00:04:31,828 não há nada impedindo-a de tomar essas réplicas de uma moeda de dólar e 65 00:04:31,828 --> 00:04:35,819 gastá-lo em outros comerciantes. E assim a questão é como vamos fornecer anônimo 66 00:04:35,819 --> 00:04:39,849 dinheiro digital? Mas ao mesmo tempo, também impedir Alice de gastar o dobro 67 00:04:39,849 --> 00:04:43,760 moeda do dólar em estabelecimentos comerciais diferentes. Em certo sentido, há aqui um paradoxo onde 68 00:04:43,760 --> 00:04:47,879 anonimato está em conflito com segurança, pois se temos dinheiro anônimo há 69 00:04:47,879 --> 00:04:51,999 nada para impedir Alice de dobrar os gastos da moeda e porque a moeda é 70 00:04:51,999 --> 00:04:56,244 anônimo não temos nenhuma maneira de dizer que cometeu essa fraude. E assim a questão 71 00:04:56,244 --> 00:05:00,394 é como vamos resolver essa tensão. E ao que parece, é completamente factível. E 72 00:05:00,394 --> 00:05:04,757 vamos falar sobre dinheiro digital anónimo mais tarde. Só para lhe dar uma dica, eu vou 73 00:05:04,757 --> 00:05:09,173 dizer que a forma como o fazemos é basicamente, certificando-se que, se Alice passa da moeda 74 00:05:09,173 --> 00:05:13,764 uma vez e depois ninguém sabe quem ela é, mas se ela passa a moeda mais de uma vez, todos 75 00:05:13,764 --> 00:05:17,878 repente, sua identidade é completamente exposta e, em seguida, ela poderia estar sujeito a 76 00:05:17,878 --> 00:05:22,096 tipos todos de problemas legais. E isso é como anônimo dinheiro digital seria 77 00:05:22,096 --> 00:05:26,158 trabalho a um nível elevado e vamos ver como implementá-lo mais tarde no curso. 78 00:05:26,158 --> 00:05:30,219 Outro aplicativo de criptografia tem a ver com os protocolos mais abstratas, mas 79 00:05:30,219 --> 00:05:34,333 antes de eu falar o resultado geral, eu quero te dar dois exemplos. Assim, o 80 00:05:34,333 --> 00:05:38,343 primeiro exemplo tem a ver com os sistemas eleitorais. Então aqui está o problema da eleição. 81 00:05:38,343 --> 00:05:42,656 Suponha ... temos dois partidos, o partido de zero e um partido. E os eleitores votam para estes 82 00:05:42,656 --> 00:05:47,101 partes. Assim, por exemplo, esse eleitor poderia ter votado para a festa de zero, este eleitor votou 83 00:05:47,101 --> 00:05:52,313 um partido. E assim por diante. Assim, nesta eleição, o partido tem três votos a zero e dois do partido 84 00:05:52,313 --> 00:05:56,590 obteve dois votos. Assim, o vencedor da eleição, é claro, é parte zero. Mas 85 00:05:56,590 --> 00:06:01,579 mais geral, o vencedor da eleição é o partido que recebe a maioria dos 86 00:06:01,579 --> 00:06:06,453 dos votos. Agora, o problema de votação é o seguinte. Os eleitores de alguma forma como 87 00:06:06,453 --> 00:06:11,720 para calcular a maioria dos votos, mas fazê-lo de tal modo que nada mais, tais 88 00:06:11,720 --> 00:06:16,797 é revelado sobre seus votos individuais. Ok? Então a questão é como fazer isso? 89 00:06:16,797 --> 00:06:21,493 E para isso, vamos introduzir um centro eleitoral que vai nos ajudar 90 00:06:21,493 --> 00:06:26,633 calcular a maioria, mas manter os votos de outra forma secreta. E o que as partes 91 00:06:26,633 --> 00:06:32,027 vai fazer é cada um irá enviar a criptografia engraçado de seus votos para a eleição 92 00:06:32,027 --> 00:06:36,949 centro de tal maneira que, no final da eleição, o centro de eleição é capaz 93 00:06:36,949 --> 00:06:41,615 para calcular e emitir o vencedor da eleição. No entanto, à excepção do vencedor 94 00:06:41,615 --> 00:06:46,580 da eleição, nada mais é revelado sobre os votos individuais. O indivíduo 95 00:06:46,580 --> 00:06:51,366 votos caso contrário permanecem completamente privado. Claro que o centro de eleição é também 96 00:06:51,366 --> 00:06:56,331 vai verificar que este eleitor, por exemplo, é permitido votar e que o eleitor tem 97 00:06:56,331 --> 00:07:00,818 só votou uma vez. Mas diferente do que centro de informação da eleição e da 98 00:07:00,818 --> 00:07:05,484 resto do mundo aprendeu nada sobre o voto do eleitor que não seja o 99 00:07:05,484 --> 00:07:10,104 resultado da eleição. Portanto, este é um exemplo de um protocolo, que envolve seis 100 00:07:10,104 --> 00:07:14,430 partes. Neste caso, há cinco eleitores em um centro de eleição. Estes 101 00:07:14,430 --> 00:07:19,417 partes computar entre si. E no final da computação, o resultado da 102 00:07:19,417 --> 00:07:24,404 eleição é conhecida, mas nada é revelado sobre as entradas individuais. Agora 103 00:07:24,404 --> 00:07:29,156 um problema semelhante surge no contexto de leilões particulares. Então, em uma privada 104 00:07:29,156 --> 00:07:34,160 leilão cada licitante tem a sua própria candidatura que ele quer dar um lance. E agora suponha que o 105 00:07:34,160 --> 00:07:39,356 mecanismo de leilão que está sendo usado é o que é chamado de leilão onde o Vickrey 106 00:07:39,356 --> 00:07:45,287 definição de um leilão de Vickrey é que o vencedor é o maior lance. Mas o 107 00:07:45,287 --> 00:07:50,099 montantes que o vencedor paga é realmente o segundo maior lance. Assim, ele paga o 108 00:07:50,099 --> 00:07:54,850 segundo lance mais alto. Ok, então este é um mecanismo de leilão padrão chamado 109 00:07:54,850 --> 00:08:00,028 leilão Vickrey. E agora o que nós gostaríamos de fazer é basicamente permitir aos participantes 110 00:08:00,028 --> 00:08:04,779 computação, para descobrir quem é o maior lance e quanto ele deveria 111 00:08:04,779 --> 00:08:09,165 salário, mas além disso, todas as outras informações sobre os lances individuais 112 00:08:09,165 --> 00:08:14,160 deve permanecer secreta. Assim, por exemplo, a quantidade real que o maior lance licitante 113 00:08:14,160 --> 00:08:19,225 deve permanecer secreta. A única coisa que deve se tornar público é o segundo maior 114 00:08:19,225 --> 00:08:23,526 oferta ea identidade de quem pagasse mais. Então, novamente agora, o caminho que vamos fazer 115 00:08:23,526 --> 00:08:28,172 que é vamos introduzir uma lota, e de um modo semelhante, essencialmente, todo mundo 116 00:08:28,172 --> 00:08:32,588 irá enviar suas propostas criptografadas para a lota. O centro de leilão 117 00:08:32,588 --> 00:08:37,119 calcular a identidade do vencedor e, de facto, ele será também calcular a segunda 118 00:08:37,119 --> 00:08:41,822 lance mais alto, mas outros do que estes dois valores, nada mais é revelado sobre o 119 00:08:41,822 --> 00:08:46,126 lances individuais. Agora, este é realmente um exemplo de um problema muito mais geral 120 00:08:46,126 --> 00:08:50,264 chamada computação multi-partidário seguro. Deixe-me explicar o que seguro multi-partido 121 00:08:50,264 --> 00:08:54,618 cálculo é sobre. Então, aqui, basicamente, abstratamente, os participantes têm um segredo 122 00:08:54,618 --> 00:08:58,649 entradas para si. Assim, no caso de uma eleição, as entradas seria o 123 00:08:58,649 --> 00:09:02,787 votos. No caso de um leilão, as entradas seriam as propostas secretos. E, em seguida 124 00:09:02,787 --> 00:09:06,959 que eles gostariam de fazer é calcular algum tipo de função de seus insumos. 125 00:09:06,959 --> 00:09:10,840 Novamente, no caso de uma eleição, a função é uma maioria. No caso de 126 00:09:10,840 --> 00:09:15,088 leilão, a função passa a ser o segundo maior maior número, entre um x 127 00:09:15,088 --> 00:09:19,179 para x quatro. E a pergunta é, como podem fazer isso, de tal forma que o valor do 128 00:09:19,179 --> 00:09:23,375 função é revelado, mas nada é revelado sobre os votos individuais? Assim 129 00:09:23,375 --> 00:09:27,675 deixe-me mostrar-lhe uma espécie de caminho, mudo de fazê-lo inseguro. O que fazemos é introduzir um 130 00:09:27,675 --> 00:09:31,774 confiança do partido. E então, essa autoridade confiável basicamente recolhe indivíduo 131 00:09:31,774 --> 00:09:36,223 entradas. E isso meio que promete manter as entradas individuais segredo, para que ele só 132 00:09:36,223 --> 00:09:40,510 saberia o que são. E, em seguida, publica o valor da função, para 133 00:09:40,510 --> 00:09:44,742 mundo. Assim, a ideia é agora que o valor da função tornou-se público, mas 134 00:09:44,742 --> 00:09:48,812 nada mais é revelado sobre as entradas individuais. Mas, é claro, você tem 135 00:09:48,812 --> 00:09:52,990 esta confiável autoridade que você tem que confiar, e se por algum motivo não é 136 00:09:52,990 --> 00:09:57,168 confiável, então você tem um problema. E assim, há um teorema muito central em 137 00:09:57,168 --> 00:10:01,001 criptografia e é realmente muito um fato surpreendente. Que diz que qualquer 138 00:10:01,001 --> 00:10:05,204 computação que você gostaria de fazer, qualquer função F que você gostaria de calcular, que você pode 139 00:10:05,204 --> 00:10:09,302 de computação com uma autoridade confiável, você também pode fazer sem uma autoridade confiável. 140 00:10:09,302 --> 00:10:13,559 Deixe-me a um nível elevado explicar o que isso significa. Basicamente, o que vamos fazer, é 141 00:10:13,559 --> 00:10:17,816 nós vamos nos livrar da autoridade. Assim, as partes são, na verdade não vai enviar 142 00:10:17,816 --> 00:10:21,807 suas entradas para a autoridade. E, de fato, não há mais vai ser um 143 00:10:21,807 --> 00:10:26,011 autoridade no sistema. Em vez disso, o que os partidos vão fazer, é que vamos 144 00:10:26,011 --> 00:10:30,567 conversa um ao outro usando algum protocolo. De tal modo que no final do protocolo de todos 145 00:10:30,567 --> 00:10:34,890 de um valor a súbita da função torna-se conhecida por todos. E ainda 146 00:10:34,890 --> 00:10:39,390 nada mais do que o valor da função é revelado. Em outras palavras, o 147 00:10:39,390 --> 00:10:43,639 entradas individuais ainda é mantido em segredo. Mas, novamente não há autoridade, não há 148 00:10:43,639 --> 00:10:47,867 apenas uma maneira para que eles conversem entre si de tal forma que o resultado final é revelado. Assim 149 00:10:47,867 --> 00:10:51,846 este é um resultado bastante geral, é uma espécie de fato surpreendente de que é em tudo 150 00:10:51,846 --> 00:10:56,024 factível. E de fato é e para o final da aula, vamos ver realmente como 151 00:10:56,024 --> 00:11:00,577 fazer isso acontecer. Agora, existem algumas aplicações de criptografia que eu não posso 152 00:11:00,577 --> 00:11:05,560 classificar de outra maneira que não quer dizer que eles são puramente mágico. Deixe-me dar 153 00:11:05,560 --> 00:11:10,240 -lhe dois exemplos disso. Assim, o primeiro é o que é chamado de terceirização privada 154 00:11:10,240 --> 00:11:15,224 computação. Então eu vou lhe dar um exemplo de uma busca no Google apenas para ilustrar a 155 00:11:15,224 --> 00:11:20,329 ponto. Então, imagine Alice tem uma consulta de pesquisa que ela quer emitir. Acontece que 156 00:11:20,329 --> 00:11:25,434 existem esquemas de criptografia muito especiais, que Alice pode enviar uma criptografia de 157 00:11:25,434 --> 00:11:30,368 consulta-la para o Google. E, em seguida, por causa da propriedade de o esquema de criptografia 158 00:11:30,368 --> 00:11:35,304 Google pode realmente calcular os valores criptografados sem saber o que o 159 00:11:35,304 --> 00:11:40,368 textos simples são. Então, o Google pode realmente executar seu algoritmo de busca em massa no 160 00:11:40,368 --> 00:11:44,903 consulta criptografado e recuperar no resultado criptografados. Okay. Google irá enviar a 161 00:11:44,903 --> 00:11:49,242 resultados criptografado de volta para Alice. Alice irá descriptografar e, em seguida, ela receberá o 162 00:11:49,242 --> 00:11:53,689 resultados. Mas a magia aqui é tudo serra Google era apenas criptografias de suas consultas 163 00:11:53,689 --> 00:11:57,493 e nada mais. E assim, o Google como um resultado não tem idéia do que Alice apenas 164 00:11:57,493 --> 00:12:01,672 procurado e, no entanto, Alice realmente aprendi exatamente o que ela 165 00:12:01,672 --> 00:12:05,812 queria aprender. Ok então, estes são uma espécie mágica de esquemas de criptografia. Eles são 166 00:12:05,812 --> 00:12:09,985 relativamente recente, este é apenas o desenvolvimento de uma nova cerca de dois ou três anos 167 00:12:09,985 --> 00:12:14,436 atrás, que nos permite calcular em dados criptografados, mesmo que nós realmente não sabemos 168 00:12:14,436 --> 00:12:18,667 o que está dentro da criptografia. Agora, antes de correr e pensar sobre a implementação 169 00:12:18,667 --> 00:12:22,470 isso, devo avisar que este é realmente neste momento apenas teórica, em 170 00:12:22,470 --> 00:12:26,422 o sentido que a execução de uma pesquisa no Google sobre dados de encriptação provavelmente levaria um 171 00:12:26,422 --> 00:12:30,521 bilhões de anos. Mas, no entanto, só o fato de que isso é factível já está realmente 172 00:12:30,521 --> 00:12:34,473 surpreendente, e já é bastante útil para cálculos relativamente simples. Assim, em 173 00:12:34,473 --> 00:12:38,671 fato, veremos algumas aplicações deste mais tarde. O outro aplicativo mágico que eu 174 00:12:38,671 --> 00:12:42,474 quero lhe mostrar é o que chamamos de conhecimento nulo. E, em particular, eu vou dizer 175 00:12:42,474 --> 00:12:46,080 sobre algo chamado de prova de conhecimento nulo do conhecimento. Então, aqui ... 176 00:12:46,080 --> 00:12:50,177 o que acontece é que há um certo número N, o que Alice conhece. E o caminho 177 00:12:50,177 --> 00:12:54,169 o número N foi construído é como um produto de dois números primos de grandes dimensões. Então, imagine 178 00:12:54,169 --> 00:12:58,835 aqui temos dois primos, P e Q. Cada um pode pensar nisso como como 1000 dígitos. 179 00:12:58,835 --> 00:13:03,892 E você provavelmente sabe que a multiplicação de dois mil dígitos é bastante fácil. Mas se 180 00:13:03,892 --> 00:13:08,235 eu apenas dar-lhe o seu produto, descobrir a sua fatoração em números primos é 181 00:13:08,235 --> 00:13:12,427 realmente muito difícil. E, de fato, nós vamos usar o fato que o factoring é 182 00:13:12,427 --> 00:13:16,566 difícil construir encriptação com chave pública no segundo semestre do curso. 183 00:13:16,566 --> 00:13:20,968 Ok, então Alice acontece de ter este número N, e ela também sabe que a fatoração de 184 00:13:20,968 --> 00:13:24,898 N. Agora Bob só tem o número N. Ele na verdade não sei a fatoração. 185 00:13:24,898 --> 00:13:28,723 Agora, o fato de mágico sobre a prova de conhecimento nulo do conhecimento, é que 186 00:13:28,723 --> 00:13:33,144 Alice pode provar a Bob que ela sabe que a fatoração de N. Sim, você pode realmente 187 00:13:33,144 --> 00:13:37,457 dar esta prova para Bob, que Bob pode verificar, e tornar-se convencido de que Alice 188 00:13:37,457 --> 00:13:42,386 sabe a fatoração de N, no entanto Bob aprende nada. Sobre os fatores P 189 00:13:42,386 --> 00:13:47,034 e Q, e isso é demonstrável. Bob descobre absolutamente nada sobre o 190 00:13:47,034 --> 00:13:50,997 fatores P e Q. E a declaração é realmente muito, muito geral. Isto é 191 00:13:50,997 --> 00:13:55,275 não apenas para provar a fatoração de N. Na verdade, quase qualquer quebra-cabeça que você 192 00:13:55,275 --> 00:13:59,606 quer provar que você sabe a resposta, você pode provar que é o seu conhecimento. Então, se 193 00:13:59,606 --> 00:14:03,831 você tem um jogo de palavras cruzadas que você resolveu. Bem, talvez as palavras cruzadas não é o 194 00:14:03,831 --> 00:14:07,845 melhor exemplo. Mas se você tem como um puzzle Sudoku, por exemplo, que você quer 195 00:14:07,845 --> 00:14:12,282 para provar que você resolveu, você pode provar a Bob em uma maneira que Bob iria aprender 196 00:14:12,282 --> 00:14:16,718 nada sobre a solução, e ainda Bob estaria convencido de que você realmente 197 00:14:16,718 --> 00:14:20,930 ter uma solução para este enigma. Okay. Portanto, estas são o tipo de aplicações mágicas. 198 00:14:20,930 --> 00:14:25,000 E assim, a última coisa que eu quero dizer é que a criptografia moderna é muito 199 00:14:25,000 --> 00:14:29,015 ciência rigorosa. E, de fato, todo conceito que vamos descrever é vai 200 00:14:29,015 --> 00:14:33,129 seguir três passos muito rigorosos, ok, e vamos ver estas três etapas 201 00:14:33,129 --> 00:14:37,338 novo e de novo e de novo assim que eu quero explicar o que são. Então a primeira coisa 202 00:14:37,338 --> 00:14:41,493 vamos fazer quando introduzimos uma nova primitiva como uma assinatura digital é 203 00:14:41,493 --> 00:14:45,540 vamos especificar exatamente o que o modelo de ameaça é. Ou seja, o que pode um 204 00:14:45,540 --> 00:14:49,534 atacante fazer para atacar uma assinatura digital e qual é o seu objetivo na formação 205 00:14:49,534 --> 00:14:53,851 assinaturas? Ok, então vamos definir exatamente o que isso significa para uma assinatura 206 00:14:53,851 --> 00:14:57,760 por exemplo, para ser falsificável. Falsificáveis. Ok, e eu estou dando digitais 207 00:14:57,760 --> 00:15:01,998 assinaturas apenas como um exemplo. Para cada primitiva descrevemos nós vamos 208 00:15:01,998 --> 00:15:06,464 definir precisamente o que o modelo de ameaça é. Então, vamos propor uma construção 209 00:15:06,464 --> 00:15:10,931 e depois vamos dar uma prova de que qualquer atacante que é capaz de atacar o 210 00:15:10,931 --> 00:15:15,955 construção sob este modelo de ameaça. Que atacante pode também ser usado para resolver alguns 211 00:15:15,955 --> 00:15:20,150 problema subjacente rígido. E, como resultado, se o problema realmente é rígido, que 212 00:15:20,150 --> 00:15:24,350 realmente prova que nenhum atacante pode quebrar a construção sob o modelo de ameaça. 213 00:15:24,350 --> 00:15:27,843 Ok. Mas estes três passos são realmente muito importante. No caso de 214 00:15:27,843 --> 00:15:31,928 assinaturas, vamos definir o que significa para uma assinatura para ser, à prova de falsificação, então nós 215 00:15:31,928 --> 00:15:35,914 dar uma construção, e, em seguida, por exemplo, vamos dizer que qualquer um que pode quebrar o nosso 216 00:15:35,914 --> 00:15:39,801 construção pode então ser usado para dizer inteiros de factores, que se crê ser um 217 00:15:39,801 --> 00:15:43,541 problema difícil. Ok, então vamos seguir estes três passos por toda parte, e 218 00:15:43,541 --> 00:15:47,331 então você vai ver como isso realmente acontece. Ok, então este é o fim do 219 00:15:47,331 --> 00:15:51,218 segmento. E então, o próximo segmento nós vamos falar um pouco sobre a história 220 00:15:51,218 --> 00:15:52,006 de criptografia.