WEBVTT 00:00:00.000 --> 00:00:02.951 Antes de começarmos com o material técnico, eu quero dar-lhe uma rápida 00:00:02.951 --> 00:00:06.487 visão geral do que é a criptografia e as diferentes áreas de criptografia. 00:00:06.487 --> 00:00:10.487 O núcleo de criptografia do curso é a comunicação segura que, essencialmente, 00:00:10.487 --> 00:00:14.539 consiste de duas partes. O primeira é estabelecer uma chave segura e, então, como fazer 00:00:14.539 --> 00:00:18.697 a comunicação de forma segura, já que temos a chave compartilhada. Já dissemos que o 00:00:18.697 --> 00:00:22.854 estabelecimento da chave segura equivale a Alice e Bob enviarem mensagens de um ao 00:00:22.854 --> 00:00:26.906 outro, de forma que, ao final deste protocolo, haja uma chave compartilhada que 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 00:00:30.906 --> 00:00:35.274 Alice saberia que ela está falando com Bob e Bob sabe que ele está falando com 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 00:00:39.964 --> 00:00:44.011 chave compartilhada é. E vamos ver como fazer isso mais tarde no curso. Agora, uma vez que 00:00:44.011 --> 00:00:47.657 têm uma chave compartilhada, eles querem trocar mensagens de forma segura, utilizando esta chave, e 00:00:47.657 --> 00:00:51.698 falaremos sobre esquemas de criptografia que lhes permitem fazer isso de tal maneira que 00:00:51.698 --> 00:00:55.491 atacante não pode descobrir o que as mensagens estão sendo enviadas e recebidas. E 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. 00:00:59.630 --> 00:01:03.227 Em outras palavras, estes esquemas de criptografia fornecer confidencialidade e 00:01:03.227 --> 00:01:06.774 integridade. Mas a criptografia faz muito, muito, muito mais do que apenas estes dois 00:01:06.774 --> 00:01:10.519 coisas. E eu quero dar-lhe alguns exemplos de que. Assim, o primeiro exemplo que eu 00:01:10.519 --> 00:01:14.468 quero dar a você é que é chamado de assinatura digital. Assim, uma assinatura digital, 00:01:14.468 --> 00:01:18.892 , basicamente, é o análogo da assinatura no mundo físico. Na física 00:01:18.892 --> 00:01:23.372 mundo, lembre-se quando você assina um documento, essencialmente, você escrever sua assinatura em 00:01:23.372 --> 00:01:27.740 que documento ea sua assinatura é sempre a mesma. Você sempre escreve a mesma 00:01:27.740 --> 00:01:32.164 assinatura em todos os documentos que você quer assinar. No mundo digital, isso não pode 00:01:32.164 --> 00:01:36.812 possivelmente trabalhar porque se o atacante apenas obtido um documento assinado por mim, ele 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 00:01:41.180 --> 00:01:45.247 quis assinar. E assim, simplesmente não é possível em um mundo digital que o meu 00:01:45.247 --> 00:01:49.590 assinatura seja a mesma para todos os documentos que eu quero assinar. Então falaremos 00:01:49.590 --> 00:01:53.830 sobre como construir as assinaturas digitais, na segunda metade do curso. É 00:01:53.830 --> 00:01:58.123 realmente um primitivo interessante e vamos ver exatamente como fazê-lo. Apenas para 00:01:58.123 --> 00:02:02.098 lhe dar uma dica, a forma de trabalho é, basicamente, assinaturas digitais, tornando o 00:02:02.098 --> 00:02:06.232 assinatura digital via função do conteúdo a ser assinado. Assim, um atacante que 00:02:06.232 --> 00:02:10.313 tenta copiar a minha assinatura de um documento para outro não vai ter sucesso 00:02:10.313 --> 00:02:14.541 porque a assinatura. No novo documento não vai ser o bom funcionamento do 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, 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 00:02:22.608 --> 00:02:27.193 provar que essas construções são seguras. Outra aplicação de criptografia que eu 00:02:27.193 --> 00:02:31.096 queria mencionar, é a comunicação anônima. Então, aqui, imagine usuário 00:02:31.096 --> 00:02:35.828 Alice quer falar com algum servidor de bate-papo, Bob. E, talvez, ela quer falar sobre 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 00:02:40.382 --> 00:02:45.113 servidor não sabem realmente quem ela é. Bem, há um método padrão, chamado de NOTE Paragraph 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 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 00:02:54.856 --> 00:02:59.537 apenas falado. A forma de trabalhar mixnets é basicamente como Alice envia suas mensagens 00:02:59.537 --> 00:03:03.818 para Bob através de uma seqüência de procurações, estas mensagens encriptadas e obter 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 00:03:08.271 --> 00:03:12.724 se nem sequer sabe que Alice está falando com Bob, ou que realmente quem é 00:03:12.724 --> 00:03:16.750 falando com quem mais geral. Uma coisa interessante sobre este anônimo 00:03:16.750 --> 00:03:20.498 canal de comunicação é, este é bi-direcional. Em outras palavras, mesmo 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 00:03:24.743 --> 00:03:29.153 Alice vai ter essas mensagens. Uma vez que temos uma comunicação anônima, podemos construir 00:03:29.153 --> 00:03:33.784 outros mecanismos de privacidade. E eu quero te dar um exemplo que é chamado anônimo 00:03:33.784 --> 00:03:37.643 dinheiro digital. Lembre-se que no mundo físico se eu tenho um físico 00:03:37.643 --> 00:03:42.108 dólar, eu posso entrar numa livraria e comprar um livro eo comerciante não teria 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 00:03:46.876 --> 00:03:50.963 mundo. No mundo digital, basicamente, Alice pode ter um dólar digital, 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 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 00:04:00.760 --> 00:04:05.539 que quando Alice passa sua moeda na livraria, a livraria não teria 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. 00:04:10.629 --> 00:04:15.470 Agora o problema é que no mundo digital, Alice pode levar a moeda que ela 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. 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 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 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 00:04:31.828 --> 00:04:35.819 gastá-lo em outros comerciantes. E assim a questão é como vamos fornecer anônimo 00:04:35.819 --> 00:04:39.849 dinheiro digital? Mas ao mesmo tempo, também impedir Alice de gastar o dobro 00:04:39.849 --> 00:04:43.760 moeda do dólar em estabelecimentos comerciais diferentes. Em certo sentido, há aqui um paradoxo onde 00:04:43.760 --> 00:04:47.879 anonimato está em conflito com segurança, pois se temos dinheiro anônimo há 00:04:47.879 --> 00:04:51.999 nada para impedir Alice de dobrar os gastos da moeda e porque a moeda é 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 00:04:56.244 --> 00:05:00.394 é como vamos resolver essa tensão. E ao que parece, é completamente factível. E 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 00:05:04.757 --> 00:05:09.173 dizer que a forma como o fazemos é basicamente, certificando-se que, se Alice passa da moeda 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 00:05:13.764 --> 00:05:17.878 repente, sua identidade é completamente exposta e, em seguida, ela poderia estar sujeito a 00:05:17.878 --> 00:05:22.096 tipos todos de problemas legais. E isso é como anônimo dinheiro digital seria 00:05:22.096 --> 00:05:26.158 trabalho a um nível elevado e vamos ver como implementá-lo mais tarde no curso. 00:05:26.158 --> 00:05:30.219 Outro aplicativo de criptografia tem a ver com os protocolos mais abstratas, mas 00:05:30.219 --> 00:05:34.333 antes de eu falar o resultado geral, eu quero te dar dois exemplos. Assim, o 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. 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 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 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 00:05:52.313 --> 00:05:56.590 obteve dois votos. Assim, o vencedor da eleição, é claro, é parte zero. Mas 00:05:56.590 --> 00:06:01.579 mais geral, o vencedor da eleição é o partido que recebe a maioria dos 00:06:01.579 --> 00:06:06.453 dos votos. Agora, o problema de votação é o seguinte. Os eleitores de alguma forma como 00:06:06.453 --> 00:06:11.720 para calcular a maioria dos votos, mas fazê-lo de tal modo que nada mais, tais 00:06:11.720 --> 00:06:16.797 é revelado sobre seus votos individuais. Ok? Então a questão é como fazer isso? 00:06:16.797 --> 00:06:21.493 E para isso, vamos introduzir um centro eleitoral que vai nos ajudar 00:06:21.493 --> 00:06:26.633 calcular a maioria, mas manter os votos de outra forma secreta. E o que as partes 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 00:06:32.027 --> 00:06:36.949 centro de tal maneira que, no final da eleição, o centro de eleição é capaz 00:06:36.949 --> 00:06:41.615 para calcular e emitir o vencedor da eleição. No entanto, à excepção do vencedor 00:06:41.615 --> 00:06:46.580 da eleição, nada mais é revelado sobre os votos individuais. O indivíduo 00:06:46.580 --> 00:06:51.366 votos caso contrário permanecem completamente privado. Claro que o centro de eleição é também 00:06:51.366 --> 00:06:56.331 vai verificar que este eleitor, por exemplo, é permitido votar e que o eleitor tem 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 00:07:00.818 --> 00:07:05.484 resto do mundo aprendeu nada sobre o voto do eleitor que não seja o 00:07:05.484 --> 00:07:10.104 resultado da eleição. Portanto, este é um exemplo de um protocolo, que envolve seis 00:07:10.104 --> 00:07:14.430 partes. Neste caso, há cinco eleitores em um centro de eleição. Estes 00:07:14.430 --> 00:07:19.417 partes computar entre si. E no final da computação, o resultado da 00:07:19.417 --> 00:07:24.404 eleição é conhecida, mas nada é revelado sobre as entradas individuais. Agora 00:07:24.404 --> 00:07:29.156 um problema semelhante surge no contexto de leilões particulares. Então, em uma privada 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 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 00:07:39.356 --> 00:07:45.287 definição de um leilão de Vickrey é que o vencedor é o maior lance. Mas o 00:07:45.287 --> 00:07:50.099 montantes que o vencedor paga é realmente o segundo maior lance. Assim, ele paga o 00:07:50.099 --> 00:07:54.850 segundo lance mais alto. Ok, então este é um mecanismo de leilão padrão chamado 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 00:08:00.028 --> 00:08:04.779 computação, para descobrir quem é o maior lance e quanto ele deveria 00:08:04.779 --> 00:08:09.165 salário, mas além disso, todas as outras informações sobre os lances individuais 00:08:09.165 --> 00:08:14.160 deve permanecer secreta. Assim, por exemplo, a quantidade real que o maior lance licitante 00:08:14.160 --> 00:08:19.225 deve permanecer secreta. A única coisa que deve se tornar público é o segundo maior 00:08:19.225 --> 00:08:23.526 oferta ea identidade de quem pagasse mais. Então, novamente agora, o caminho que vamos fazer 00:08:23.526 --> 00:08:28.172 que é vamos introduzir uma lota, e de um modo semelhante, essencialmente, todo mundo 00:08:28.172 --> 00:08:32.588 irá enviar suas propostas criptografadas para a lota. O centro de leilão 00:08:32.588 --> 00:08:37.119 calcular a identidade do vencedor e, de facto, ele será também calcular a segunda 00:08:37.119 --> 00:08:41.822 lance mais alto, mas outros do que estes dois valores, nada mais é revelado sobre o 00:08:41.822 --> 00:08:46.126 lances individuais. Agora, este é realmente um exemplo de um problema muito mais geral 00:08:46.126 --> 00:08:50.264 chamada computação multi-partidário seguro. Deixe-me explicar o que seguro multi-partido 00:08:50.264 --> 00:08:54.618 cálculo é sobre. Então, aqui, basicamente, abstratamente, os participantes têm um segredo 00:08:54.618 --> 00:08:58.649 entradas para si. Assim, no caso de uma eleição, as entradas seria o 00:08:58.649 --> 00:09:02.787 votos. No caso de um leilão, as entradas seriam as propostas secretos. E, em seguida 00:09:02.787 --> 00:09:06.959 que eles gostariam de fazer é calcular algum tipo de função de seus insumos. 00:09:06.959 --> 00:09:10.840 Novamente, no caso de uma eleição, a função é uma maioria. No caso de 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 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 00:09:19.179 --> 00:09:23.375 função é revelado, mas nada é revelado sobre os votos individuais? Assim 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 00:09:27.675 --> 00:09:31.774 confiança do partido. E então, essa autoridade confiável basicamente recolhe indivíduo 00:09:31.774 --> 00:09:36.223 entradas. E isso meio que promete manter as entradas individuais segredo, para que ele só 00:09:36.223 --> 00:09:40.510 saberia o que são. E, em seguida, publica o valor da função, para 00:09:40.510 --> 00:09:44.742 mundo. Assim, a ideia é agora que o valor da função tornou-se público, mas 00:09:44.742 --> 00:09:48.812 nada mais é revelado sobre as entradas individuais. Mas, é claro, você tem 00:09:48.812 --> 00:09:52.990 esta confiável autoridade que você tem que confiar, e se por algum motivo não é 00:09:52.990 --> 00:09:57.168 confiável, então você tem um problema. E assim, há um teorema muito central em 00:09:57.168 --> 00:10:01.001 criptografia e é realmente muito um fato surpreendente. Que diz que qualquer 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 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. 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, é 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 00:10:17.816 --> 00:10:21.807 suas entradas para a autoridade. E, de fato, não há mais vai ser um 00:10:21.807 --> 00:10:26.011 autoridade no sistema. Em vez disso, o que os partidos vão fazer, é que vamos 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 00:10:30.567 --> 00:10:34.890 de um valor a súbita da função torna-se conhecida por todos. E ainda 00:10:34.890 --> 00:10:39.390 nada mais do que o valor da função é revelado. Em outras palavras, o 00:10:39.390 --> 00:10:43.639 entradas individuais ainda é mantido em segredo. Mas, novamente não há autoridade, não há 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 00:10:47.867 --> 00:10:51.846 este é um resultado bastante geral, é uma espécie de fato surpreendente de que é em tudo 00:10:51.846 --> 00:10:56.024 factível. E de fato é e para o final da aula, vamos ver realmente como 00:10:56.024 --> 00:11:00.577 fazer isso acontecer. Agora, existem algumas aplicações de criptografia que eu não posso 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 00:11:05.560 --> 00:11:10.240 -lhe dois exemplos disso. Assim, o primeiro é o que é chamado de terceirização privada 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 00:11:15.224 --> 00:11:20.329 ponto. Então, imagine Alice tem uma consulta de pesquisa que ela quer emitir. Acontece que 00:11:20.329 --> 00:11:25.434 existem esquemas de criptografia muito especiais, que Alice pode enviar uma criptografia de 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 00:11:30.368 --> 00:11:35.304 Google pode realmente calcular os valores criptografados sem saber o que o 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 00:11:40.368 --> 00:11:44.903 consulta criptografado e recuperar no resultado criptografados. Okay. Google irá enviar a 00:11:44.903 --> 00:11:49.242 resultados criptografado de volta para Alice. Alice irá descriptografar e, em seguida, ela receberá o 00:11:49.242 --> 00:11:53.689 resultados. Mas a magia aqui é tudo serra Google era apenas criptografias de suas consultas 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 00:11:57.493 --> 00:12:01.672 procurado e, no entanto, Alice realmente aprendi exatamente o que ela 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 00:12:05.812 --> 00:12:09.985 relativamente recente, este é apenas o desenvolvimento de uma nova cerca de dois ou três anos 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 00:12:14.436 --> 00:12:18.667 o que está dentro da criptografia. Agora, antes de correr e pensar sobre a implementação 00:12:18.667 --> 00:12:22.470 isso, devo avisar que este é realmente neste momento apenas teórica, em 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 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 00:12:30.521 --> 00:12:34.473 surpreendente, e já é bastante útil para cálculos relativamente simples. Assim, em 00:12:34.473 --> 00:12:38.671 fato, veremos algumas aplicações deste mais tarde. O outro aplicativo mágico que eu 00:12:38.671 --> 00:12:42.474 quero lhe mostrar é o que chamamos de conhecimento nulo. E, em particular, eu vou dizer 00:12:42.474 --> 00:12:46.080 sobre algo chamado de prova de conhecimento nulo do conhecimento. Então, aqui ... 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 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 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. 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 00:13:03.892 --> 00:13:08.235 eu apenas dar-lhe o seu produto, descobrir a sua fatoração em números primos é 00:13:08.235 --> 00:13:12.427 realmente muito difícil. E, de fato, nós vamos usar o fato que o factoring é 00:13:12.427 --> 00:13:16.566 difícil construir encriptação com chave pública no segundo semestre do curso. 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 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. 00:13:24.898 --> 00:13:28.723 Agora, o fato de mágico sobre a prova de conhecimento nulo do conhecimento, é que 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 00:13:33.144 --> 00:13:37.457 dar esta prova para Bob, que Bob pode verificar, e tornar-se convencido de que Alice 00:13:37.457 --> 00:13:42.386 sabe a fatoração de N, no entanto Bob aprende nada. Sobre os fatores P 00:13:42.386 --> 00:13:47.034 e Q, e isso é demonstrável. Bob descobre absolutamente nada sobre o 00:13:47.034 --> 00:13:50.997 fatores P e Q. E a declaração é realmente muito, muito geral. Isto é 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ê 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 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 00:14:03.831 --> 00:14:07.845 melhor exemplo. Mas se você tem como um puzzle Sudoku, por exemplo, que você quer 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 00:14:12.282 --> 00:14:16.718 nada sobre a solução, e ainda Bob estaria convencido de que você realmente 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. 00:14:20.930 --> 00:14:25.000 E assim, a última coisa que eu quero dizer é que a criptografia moderna é muito 00:14:25.000 --> 00:14:29.015 ciência rigorosa. E, de fato, todo conceito que vamos descrever é vai 00:14:29.015 --> 00:14:33.129 seguir três passos muito rigorosos, ok, e vamos ver estas três etapas 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 00:14:37.338 --> 00:14:41.493 vamos fazer quando introduzimos uma nova primitiva como uma assinatura digital é 00:14:41.493 --> 00:14:45.540 vamos especificar exatamente o que o modelo de ameaça é. Ou seja, o que pode um 00:14:45.540 --> 00:14:49.534 atacante fazer para atacar uma assinatura digital e qual é o seu objetivo na formação 00:14:49.534 --> 00:14:53.851 assinaturas? Ok, então vamos definir exatamente o que isso significa para uma assinatura 00:14:53.851 --> 00:14:57.760 por exemplo, para ser falsificável. Falsificáveis. Ok, e eu estou dando digitais 00:14:57.760 --> 00:15:01.998 assinaturas apenas como um exemplo. Para cada primitiva descrevemos nós vamos 00:15:01.998 --> 00:15:06.464 definir precisamente o que o modelo de ameaça é. Então, vamos propor uma construção 00:15:06.464 --> 00:15:10.931 e depois vamos dar uma prova de que qualquer atacante que é capaz de atacar o 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 00:15:15.955 --> 00:15:20.150 problema subjacente rígido. E, como resultado, se o problema realmente é rígido, que 00:15:20.150 --> 00:15:24.350 realmente prova que nenhum atacante pode quebrar a construção sob o modelo de ameaça. 00:15:24.350 --> 00:15:27.843 Ok. Mas estes três passos são realmente muito importante. No caso de 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 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 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 00:15:39.801 --> 00:15:43.541 problema difícil. Ok, então vamos seguir estes três passos por toda parte, e 00:15:43.541 --> 00:15:47.331 então você vai ver como isso realmente acontece. Ok, então este é o fim do 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 00:15:51.218 --> 00:15:52.006 de criptografia.