0:00:00.000,0:00:04.069 Neste segmento, nós vamos olhar para o protocolo Diffie-Hellman, que é nosso 0:00:04.069,0:00:08.234 mecanismo primeira troca prático chave. Então deixe-me lembrá-lo das configurações. Nosso 0:00:08.234,0:00:12.442 amigos aqui, Alice e Bob, nunca se encontraram e ainda eles querem uma troca compartilhada 0:00:12.442,0:00:16.445 chave secreta que eles podem então usar para comunicar de forma segura com o outro. 0:00:16.445,0:00:20.088 Nesse segmento e no próximo, estamos só vai estar a olhar para escutas 0:00:20.088,0:00:23.937 segurança. Em outras palavras, estamos preocupados apenas com os bisbilhoteiros. Os atacantes são 0:00:23.937,0:00:27.992 na verdade, não permitiu a mexer com os dados na rede. Eles não estão autorizados a 0:00:27.992,0:00:32.046 injetar pacotes. Eles não estão autorizados a mudar os pacotes de forma alguma. Tudo o que fazem é 0:00:32.046,0:00:36.336 apenas para espionar o tráfego. E no final do protocolo, a troca da chave 0:00:36.336,0:00:40.880 protocolo nossos amigos Alice e Bob deve ter uma chave secreta compartilhada, mas o atacante 0:00:40.880,0:00:45.031 ou seja, o intruso não tem idéia do que essa chave que vai ser. No anterior 0:00:45.031,0:00:49.343 segmento olhamos para um segmento-chave chamados puzzles Merkle. Isso é apenas usando bloco 0:00:49.343,0:00:53.708 cifras ou funções de hash. E mostrei-lhe que há que, basicamente, o atacante 0:00:53.708,0:00:57.487 tem uma diferença de quadrática em comparação com os participantes. Em outras palavras, se o 0:00:57.487,0:01:01.799 participantes passou um tempo proporcional a N o atacante pode quebrar o protocolo em 0:01:01.799,0:01:06.163 tempo proporcional a N quadrado. E, como resultado desse protocolo é inseguro para ser 0:01:06.163,0:01:10.369 considerado prático. Neste segmento nós vamos perguntar se podemos fazer o 0:01:10.369,0:01:14.733 mesma coisa, mas agora gostaríamos de alcançar uma lacuna entre o exponencial do atacante 0:01:14.733,0:01:19.051 trabalho acabou no trabalho do participante. Em outras palavras, Alice e Bob pode fazer 0:01:19.051,0:01:23.602 trabalho proporcional a N, mas para quebrar o protocolo que o atacante vai ter que fazer 0:01:23.602,0:01:27.876 trabalho proporcional a alguma exponencial em N. Então agora há uma lacuna exponencial 0:01:27.876,0:01:32.702 entre o trabalho participantes eo trabalho do atacante. Então, como eu disse no 0:01:32.702,0:01:37.985 segmento anterior não podemos alcançar esta lacuna exponencial a partir de cifras do blog como AES 0:01:37.985,0:01:43.143 ou SHA-256. Temos que usar os problemas difíceis que têm mais estrutura do que apenas aqueles 0:01:43.143,0:01:48.714 primitivas simétricas. E assim, em vez o que vamos fazer é usar um pouco de álgebra. 0:01:48.714,0:01:51.600 Nesse segmento eu vou descrever o protocolo Diffie-Hellman muito 0:01:51.600,0:01:55.769 concreta e um pouco informal. Quando nós vamos voltar a Diffie-Hellman na próxima semana 0:01:55.769,0:02:00.090 e nós vamos descrever o protocolo de forma mais abstrata e nós vamos fazer um mais muito 0:02:00.090,0:02:04.198 análise de segurança rigoroso do presente protocolo. Ok, então como é Diffie-Hellman 0:02:04.198,0:02:08.173 trabalho? O que vamos fazer é, em primeiro lugar, nós vamos corrigir alguns principal grande 0:02:08.334,0:02:12.684 que eu vou chamar p. Na verdade p eu costumo usar para designar primos. E você 0:02:12.684,0:02:16.820 deve estar pensando de primos realmente gigantescas. Como, primos que são compostas de 0:02:16.820,0:02:21.009 600 dígitos são assim. E apenas para aqueles de vocês que gostam de pensar em binário, a 600 0:02:21.009,0:02:25.413 primeiro dígito corresponde aproximadamente a cerca de 2000 bits. Então, basta escrever o primeiro 0:02:25.413,0:02:29.932 leva cerca de dois bits quilo de dados. E então nós estamos também vai corrigir um inteiro g 0:02:29.932,0:02:35.067 que acontece a viver na faixa de um a p. Assim, estes valores p e g são parâmetros 0:02:35.067,0:02:40.014 do protocolo Diffie-Hellman. Eles são escolhidos uma vez e eles estão fixados para sempre. Agora 0:02:40.014,0:02:45.087 protocolo funciona da seguinte forma. Então aqui está o nosso amigos Alice e Bob. Então, o que Alice 0:02:45.087,0:02:50.347 vai fazer é ela vai começa por escolher um número aleatório um na faixa de 1 a p-1 0:02:50.347,0:02:55.420 E então ela vai calcular o g número à potência de um modulo p. 0:02:55.420,0:02:59.802 Ok, então ela calcula este exponention, e reduz o resultado modular o primo p. 0:02:59.802,0:03:04.407 E nós estamos realmente indo para ver como calcular isso de forma eficiente o módulo seguinte, 0:03:04.407,0:03:07.817 para agora, apenas acredite que este cálculo pode ser feito de forma eficiente. 0:03:07.817,0:03:13.118 Agora, vamos chamá-capital de um resultado deste valor. Então, o que Alice vai fazer é que ela vai 0:03:13.118,0:03:17.501 enviar maiúsculo sobre a Bob. Agora Bob vai fazer a mesma coisa. Ele vai 0:03:17.501,0:03:22.161 escolher um número aleatório b na gama de 1 a p-1. Ele vai calcular g para 0:03:22.161,0:03:26.322 módulo de b p e vamos chamar esse número B e vai para enviar esta 0:03:26.322,0:03:31.114 B número sobre para Alice. Então, Alice envia para Bob A. Bob envia B. Para Alice. E agora 0:03:31.114,0:03:36.848 eles afirmam que podem gerar uma chave secreta compartilhada. Então, o que é uma chave secreta compartilhada? 0:03:36.848,0:03:41.968 Bem, ele é definido como. Vamos chamá-lo K_AB. E é basicamente definida como a 0:03:41.968,0:03:47.410 g valor para a energia de um b vezes. Agora, a observação surpreendente de Diffie-Hellman teve 0:03:47.410,0:03:53.040 em 1976 é que, de facto, ambas as partes podem calcular este valor para o g ab. 0:03:53.040,0:03:58.738 Então vamos ver, Alice pode calcular este valor, porque ela pode levá-la B valor que ela 0:03:58.738,0:04:04.232 recebeu de Bob. Ela pode tomar este valor B, aumentá-lo para o poder de um e, vamos 0:04:04.232,0:04:09.116 ver, o que ela vai conseguir é g a b para o poder do b. E pelas regras do 0:04:09.116,0:04:14.935 exponenciação, g para o poder de b para o poder de a é igual a G para o ab. Prumo 0:04:14.935,0:04:19.986 despeja, pode fazer algo semelhante, por isso seu objetivo é calcular g para o um a b, 0:04:19.986,0:04:24.972 que por sua vez, é g ao ab, então Alice e Bob terá computadorizada K_AB, e 0:04:24.972,0:04:32.567 deixe-me perguntar, como é que Bob realmente calcular esta quantidade g para a ab? 0:04:32.567,0:04:37.894 Bem por isso tudo que ele faz é que ele leva o valor de que ele recebeu de Alice e ele levanta-lo para 0:04:37.894,0:04:43.412 seu b próprio segredo e que lhe dá o g secreta compartilhada para o ab. Assim você pode ver 0:04:43.412,0:04:48.450 agora que ambas as partes, embora aparentemente calculado valores diferentes. Em 0:04:48.450,0:04:53.495 fato de que ambos acabam com o mesmo valor ou seja, g ab módulo p. Devo mencionar por 0:04:53.495,0:04:57.703 maneira que Martie Hellman e Diffiie peruca veio com este protocolo de volta 0:04:57.703,0:05:01.752 1976. Martie Hellman foi um professor aqui na Universidade de Stanford e Diffie peruca era o seu 0:05:01.752,0:05:06.120 estudante de graduação. Eles vieram com este protocolo e este protocolo realmente mudou 0:05:06.120,0:05:10.541 mundo. Em que introduziu nesta nova era em criptografia. Onde está agora não é apenas 0:05:10.541,0:05:14.536 sobre o desenvolvimento de cifras de bloco mas na verdade é sobre o projeto algébrica 0:05:14.536,0:05:19.293 protocolos que têm imóveis como o que vemos aqui. Então você percebe que o que 0:05:19.293,0:05:24.336 faz este protocolo funciona é basicamente propriedades da exponenciação. Ou seja, que, 0:05:24.525,0:05:29.443 g para o b para a potência de um é o mesmo que para o g uma à potência de b, bem? 0:05:29.443,0:05:33.568 Estes são apenas propriedades de exponenciações. Agora, quando eu descrever um 0:05:33.568,0:05:38.041 protocolo como o que acabei de mostrar. A verdadeira questão que deve estar no seu 0:05:38.041,0:05:41.941 mente não é por isso que o protocolo funciona. Em outras palavras, é muito fácil de verificar 0:05:41.941,0:05:45.840 que, de fato, Alice e Bob acabar com a mesma chave secreta. Quanto maior 0:05:45.840,0:05:49.636 questão é porque é que este protocolo seguro? Em outras palavras, por que é que um 0:05:49.636,0:05:53.847 eavesdropper não consigo descobrir a mesma chave compartilhada devido à AB que tanto Alice 0:05:53.847,0:05:57.902 e Bob calculado por eles próprios? Então vamos analisar isso um pouco, então, como eu 0:05:57.902,0:06:02.114 disse, vamos fazer um mais muito na análise aprofundada na próxima semana. Mas, vamos, para já, 0:06:02.114,0:06:06.221 apenas ver intuitivamente por isso que este protocolo vai ser seguro. Bem, o que faz o 0:06:06.566,0:06:11.106 eavesdropper ver? Bem, ele vê o primo eo gerador. Estes são apenas fixada 0:06:11.106,0:06:15.876 para sempre e todo mundo sabe quem eles são. Ele também vê o valor que Alice enviou para 0:06:15.876,0:06:20.531 Bob, ou seja, esta A. capital e vê o valor que Bob enviado para Alice, a saber 0:06:20.531,0:06:25.187 este capital de B. E a pergunta é, pode, pode a eavesdropper calcular g para o 0:06:25.187,0:06:29.899 ab dado apenas esses quatro valores? Então, mais genericamente, o que podemos fazer é que podemos definir 0:06:29.899,0:06:34.497 esta função Diffie-Hellman. Então, vamos dizer que a função Diffie-Hellman é definido 0:06:34.497,0:06:39.373 com base em alguma g valor. E a pergunta é dada g para a, e g a b. Você pode 0:06:39.373,0:06:44.743 computação g para a ab? E o que estamos pedindo é como é que é difícil calcular essa 0:06:44.743,0:06:49.580 módulo de função durante muito grande p primo. Lembre-se de p era algo como 600 dígitos. 0:06:49.580,0:06:53.968 Então, a verdadeira questão que precisamos responder é o quão difícil é este, é este Diffie-Hellman 0:06:53.968,0:06:58.850 função? Então deixe-me mostrar-lhe o que sabe sobre isso. Assim, suponha que o principal acontece 0:06:58.850,0:07:04.406 para ser n bits de comprimento. Ok, então no nosso caso dizem que n é de 2.000 bits. Acontece que o melhor 0:07:04.406,0:07:08.783 algoritmo conhecido para calcular a função de Diffie-Hellman. É realmente um 0:07:08.783,0:07:12.853 mais algoritmo geral que calcula a função de log discreto, que nós vamos 0:07:12.853,0:07:16.822 falar na próxima semana. Mas, por enquanto, vamos apenas dizer que este algoritmo calcula um 0:07:16.822,0:07:20.742 Diffie-Hellman função. O algoritmo é chamado um peneiro campo geral número. Eu sou 0:07:20.742,0:07:24.912 não vou descrever como funciona, mas se você gostaria de saber como ele funciona, deixe-me 0:07:24.912,0:07:28.982 sabe, e que pode ser um dos tópicos especiais que cobrem no final do 0:07:28.982,0:07:33.002 curso. Mas o interessante é que ele está correndo o tempo é exponencial 0:07:33.002,0:07:36.771 aproximadamente a raiz cúbica de n. Em outras palavras, o tempo de execução é aproximadamente e para 0:07:36.771,0:07:41.028 o poder de o de raiz cúbica de n. Então, na verdade a expressão exata para a execução 0:07:41.028,0:07:44.853 hora, desse algoritmo é muito mais complicado do que isso. Eu estou deliberadamente 0:07:44.853,0:07:49.035 simplificando-o aqui só para obter o tipo de ponto de vista. O ponto que eu quero 0:07:49.035,0:07:52.809 enfatizar é que, na verdade, isso não é bem um algoritmo de tempo exponencial. 0:07:52.809,0:07:57.093 exponencial seria e à potência de n. Isso às vezes é chamado de sub-exponencial 0:07:57.093,0:08:01.377 algoritmo porque o expoente é apenas proporcional à raiz cúbica de n, 0:08:01.377,0:08:05.847 em oposição a n lineares. O que isto diz é que mesmo que este problema é bastante 0:08:05.847,0:08:10.360 difícil, não é realmente um problema de tempo exponencial. O tempo de execução na 0:08:10.360,0:08:15.175 expoente vai ser apenas proporcional à raiz cúbica de n. Então, vamos olhar para alguns 0:08:15.175,0:08:19.848 exemplos. Suponha que eu acontecer de estar a olhar para um módulo que passa a ser sobre um 0:08:19.848,0:08:23.879 mil bits de comprimento. O que este algoritmo diz é que podemos resolver o 0:08:23.879,0:08:28.436 problema Diffie-Hellman no tempo, que é aproximadamente e para a raiz qube de 1.024. 0:08:28.436,0:08:33.285 Agora, isso não é realmente correto, na verdade, existem mais constantes no expoente. 0:08:33.285,0:08:38.192 Mas, novamente, apenas para começar, o ponto de vista, podemos dizer que o tempo de execução seria 0:08:38.192,0:08:42.866 cerca e à raiz qube de 1.024, o que é realmente muito pequena, cerca de e para o 10. 0:08:42.866,0:08:47.231 Portanto, o exemplo simples mostra que se você tiver um algoritmo sub-exponencial, 0:08:47.231,0:08:51.589 você ver que mesmo se o problema é muito grande, como 1000 bits. Devido à 0:08:51.589,0:08:56.277 efeito raiz cúbica o expoente na verdade não é tão grande como um todo. Agora, para ser honesto, eu sou 0:08:56.277,0:09:00.849 realmente mentindo aqui. Peneira campo Geral Número realmente tem muitos outros 0:09:00.849,0:09:05.420 constantes dos expoentes assim, de facto, isso não vai ser 10 em tudo. É 0:09:05.420,0:09:09.816 realmente vai ser algo como 80. Por causa de várias constantes do 0:09:09.816,0:09:14.622 expoentes. Mas mesmo assim, mas você vê o problema é muito mais difícil do que dizer de 2 a 0:09:14.622,0:09:19.428 1000 a. Apesar de descrever leva 1.000 bits, resolução de não ter tempo 0:09:19.428,0:09:23.587 para a 1.000. Então aqui eu rolar a tabela que tipo de mostra-lhe o áspero 0:09:23.587,0:09:27.309 dificuldade de quebrar o protocolo de Diffie-Hellman em comparação com o 0:09:27.309,0:09:31.785 dificuldade de quebrar uma cifra com um número apropriado de bits. Por exemplo, 0:09:31.785,0:09:36.261 se o seu cifra tem 80 teclas de bits. Isso seria mais ou menos comparável ao uso de 1.000 bit 0:09:36.261,0:09:40.792 módulos. Em outras palavras, quebrando uma cifra com 80 teclas de bit demora cerca de 2 a 80 0:09:40.792,0:09:45.053 , o que significa que a quebra se você tiver Diffie-Hellman função com 1.000 0:09:45.053,0:09:47.701 módulo terá pouco tempo de 2 à 80. 0:09:47.701,0:09:53.989 Se o seu cifra usa chaves de 128 bits como AES, você deve estar realmente usando um módulo bit 3.000, 0:09:53.989,0:09:58.734 , embora ninguém realmente faz isso. Na realidade, as pessoas usariam 2.000 módulo bit. E 0:09:58.734,0:10:03.083 , em seguida, se a sua chave é muito grande, como se estivéssemos usando uma chave AES de 256 bits, em seguida, 0:10:03.083,0:10:07.715 fato de seu módulo precisa ser muito, muito grande. Novamente, você, você pode realmente ver o 0:10:07.715,0:10:12.346 efeito raiz cúbica aqui. Nós duplicou o tamanho da nossa chave e por causa da raiz cubo 0:10:12.346,0:10:16.752 efeito, o que isso significa é que temos que aumentar o tamanho, do nosso módulo por um 0:10:16.752,0:10:21.327 fator de dois cubos, ou seja, um fator de oito, que é onde esta 15.000 vem. 0:10:21.327,0:10:25.952 a partir de. E mais uma vez devo mencionar que não há exatamente um fator de oito por causa de 0:10:25.952,0:10:30.251 as constantes extra no expoente. Portanto, este é um belo quadro que mostra que 0:10:30.251,0:10:34.481 , se você está indo estar usando Diffie-Hellman para troca, uma chave de sessão. E que a sessão 0:10:34.481,0:10:38.608 chave vai ser utilizado para uma codificação de bloco com um tamanho de chave determinado, esta tabela mostra 0:10:38.608,0:10:42.633 qual o tamanho modular você precisa usar para que a segurança da troca de chaves 0:10:42.633,0:10:46.709 protocolo é comparável com a segurança da cifra de bloco você vai estar usando depois. 0:10:46.709,0:10:50.837 Agora, esta última linha deve ser realmente preocupante para você. Eu deveria dizer 0:10:50.837,0:10:54.913 você que trabalha com esse módulo de um grande é muito problemática. Esta é realmente 0:10:54.913,0:10:59.040 vai ser bastante lenta, e então a questão é se existe algo melhor que 0:10:59.040,0:11:03.832 podemos fazer? E acontece que há. Na verdade, a maneira que eu descrever o Diffie-Hellman 0:11:03.832,0:11:08.984 função é que eu descrevê-la com a forma como Diffie e Hellman descrito em 1976 0:11:08.984,0:11:13.516 módulo usando aritmética dos números primos. O problema com números primos aritmética modular é 0:11:13.516,0:11:17.539 que a função de Diffie-Hellman é difícil de calcular, mas não é tão duro como você 0:11:17.539,0:11:21.611 como. Não há este efeito raiz cúbica que o torna um pouco mais fácil do que o que você 0:11:21.611,0:11:26.158 realmente gosto. E então a questão é que podemos executar o protocolo Diffie-Hellman em outro 0:11:26.158,0:11:30.300 configurações. E acontece que a resposta é sim. Na verdade, podemos traduzir literalmente 0:11:30.300,0:11:34.308 o protocolo de Diffie-Hellman a partir de um modelo de aritmética de números primos para um diferente 0:11:34.308,0:11:38.752 tipo de objeto algébrico e resolver o problema Diffie-Hellman em que outro 0:11:38.752,0:11:43.196 objeto algébrico é muito, muito mais difícil. Este outro objeto algébrico é o que é 0:11:43.196,0:11:47.758 chamado uma curva elíptica. E como eu disse, o cálculo da função de Diffie-Hellman em 0:11:47.758,0:11:52.735 essas curvas elípticas é muito mais difícil do que calcular os números primos Diffie-Hellman modulo. 0:11:52.735,0:11:57.476 Porque o problema é muito mais difícil, agora podemos usar objetos muito menores em 0:11:57.476,0:12:02.453 particular, você sabe que estaria usando números primos que são apenas uma de 160 bits ou 80 bits ou chaves 0:12:02.453,0:12:06.780 apenas 512 bits para 256 bits chaves. Então, porque estes módulo não crescem como 0:12:06.780,0:12:10.914 rápido em curvas elípticas, há geralmente uma transição lenta de distância usando o módulo 0:12:10.914,0:12:14.949 aritmética, ao uso de curvas elípticas. Eu não vou descrever curvas elípticas 0:12:14.949,0:12:18.735 agora para você, mas se isso é algo que você gostaria de aprender sobre o que posso 0:12:18.735,0:12:22.421 fazer isso na última semana do curso, quando discutimos mais avançado 0:12:22.421,0:12:27.149 tópicos. Mas na verdade, quando voltamos para Diffie-Hellman na próxima semana eu vou descrevê-lo 0:12:27.149,0:12:31.933 mais abstrata, para que isso realmente não importa qual você usa estrutura algébrica 0:12:31.933,0:12:36.831 se você usar o modelo aritmética dos números primos, ou se você usar uma curva elíptica que 0:12:36.831,0:12:41.557 pode meio abstrato questão que todo fora e use o conceito de Diffie-Hellman para um 0:12:41.557,0:12:46.109 troca de chaves e outras coisas também. E como eu disse, vamos ver que mais 0:12:46.109,0:12:50.321 abstratamente na próxima semana. Então, como de costume, eu quero mostrar que este protocolo bonita que eu 0:12:50.321,0:12:54.307 apenas mostrei, o protocolo Diffie-Hellman, é como é, na verdade é completamente inseguro 0:12:54.307,0:12:58.195 contra um ataque ativo. Ou seja, é completamente inseguro contra o que é chamado 0:12:58.195,0:13:02.132 o homem no meio ataque. Precisamos fazer algo mais do que este protocolo para 0:13:02.132,0:13:06.019 fazer é segura contra o homem no meio. E mais uma vez vamos voltar a Diffie 0:13:06.019,0:13:10.135 Hellman e torná-la segura contra o homem no meio da semana seguinte. Okay. Então vamos ver 0:13:10.135,0:13:14.649 porque o protocolo que eu mostrei é inseguro contra ataques ativos. Bem 0:13:14.649,0:13:18.767 suponha que temos esse homem no meio que está tentando espionar o 0:13:18.767,0:13:23.393 conversa entre Alice e Bob. Bem assim, o protocolo começa com Alice enviando 0:13:23.563,0:13:28.309 g ao longo de um para Bob. Bem, então o homem no meio é que vai interceptar e 0:13:28.309,0:13:32.777 ele vai levar a mensagem de que Alice enviou e ele vai substituí-lo com a sua 0:13:32.777,0:13:37.113 própria mensagem. Então, ele é chamado a ', e vamos escrever que é g a um ". 0:13:37.113,0:13:41.939 Ok? Então o homem no meio escolhe o seu "um próprio eo que ele envia para Bob é 0:13:41.939,0:13:46.588 realmente g para a 'a. Agora pobre Bob não sabe que o homem no meio 0:13:46.588,0:13:51.356 realmente fez alguma coisa para esse tráfego, tudo o que ele vê é que ele tem o valor de A '. Como 0:13:51.356,0:13:55.946 até onde ele sabe, que o valor veio de Alice. Então, o que é que ele vai fazer em resposta? 0:13:55.946,0:14:00.723 Bem, ele vai mandar de volta o seu valor B para fora que é g a b volta para Alice. Bem 0:14:00.723,0:14:05.457 novamente o homem no meio vai interceptar este B. Ele vai gerar o seu 0:14:05.457,0:14:10.434 b própria "e que ele realmente envia de volta para Alice é B", que é g a b '. 0:14:10.434,0:14:16.807 Ok, agora o que acontece? Bem Alice vai calcular a sua parte do 0:14:16.807,0:14:22.808 chave secreta e ela vai ficar g para o ab '. Bob vai calcular a sua parte 0:14:22.808,0:14:28.281 chave secreta e ele vai ficar g para os tempos de um 'b. Ok, estes agora você 0:14:28.281,0:14:33.592 aviso estas não são as mesmas teclas. No homem no meio, porque ele sabe tanto "A 0:14:33.592,0:14:38.903 e B ", ele pode calcular tanto para o g ab 'e g a ba'. Sim, é 0:14:38.903,0:14:44.215 não é difícil de ver o homem no meio sabe os dois valores. E, como resultado, agora ele 0:14:44.215,0:14:49.526 pode basicamente jogar este homem no meio e quando Alice envia uma mensagem criptografada 0:14:49.526,0:14:54.711 de Bob o homem no meio pode simplesmente decifrar esta mensagem, porque ele sabe o 0:14:54.711,0:14:59.622 chave secreta que Alice mensagem criptografada com, re-criptografá-la utilizando a chave de Bob. E 0:14:59.622,0:15:04.105 , em seguida, enviar a mensagem sobre sobre a Bob. E desta forma Alice enviou a mensagem, Bob 0:15:04.105,0:15:08.239 recebido a mensagem. Bob acredita que a mensagem é segura. Mas, de facto, que 0:15:08.239,0:15:12.605 mensagem foi enviada através do homem no meio. O homem no meio descriptografados 0:15:12.605,0:15:17.146 -lo, re-codificado-lo para Bob. Ao mesmo tempo que era capaz de completamente lê-lo, 0:15:17.146,0:15:21.746 modificá-lo, se ele quer, e assim por diante. Assim, o protocolo torna-se completamente inseguro 0:15:21.746,0:15:26.531 dar nd homem no meio. E assim como eu disse nós vamos ter para melhorar a 0:15:26.531,0:15:30.697 protocolo de alguma forma para se defender contra os homens no meio, mas acontece que é 0:15:30.697,0:15:34.915 na verdade não tão difícil de melhorar e impedir o homem no meio ataques. 0:15:34.915,0:15:39.377 E nós vamos voltar a isso e ver que em uma semana ou duas. O último acho que eu quero 0:15:39.377,0:15:43.658 fazer é mostrar-lhe uma propriedade interessante do protocolo Diffie-Hellman. Na verdade, eu 0:15:43.658,0:15:48.046 quero mostrar a você que este protocolo pode ser visto como um protocolo não-interativo. Assim, 0:15:48.046,0:15:52.487 o que quero dizer com isso? Então, imagine que temos um monte de usuários, você sabe, milhões 0:15:52.487,0:15:56.340 de usuários. Vamos chamá-los de Alice, Bob, Charlie, David e assim por diante e assim por diante. 0:15:56.500,0:16:00.567 Cada um deles vai escolher um valor aleatório, segredo, e, em seguida, em seu 0:16:00.567,0:16:04.419 perfis do Facebook, eles vão escrever, sua contribuição para o 0:16:04.419,0:16:08.486 Diffie-Hellman protocolo. Tudo bem, então todo mundo só escreve você sabe g para 0:16:08.486,0:16:13.604 a um, g para o b, g para o C e assim por diante. Agora a coisa interessante sobre isso é, 0:16:13.604,0:16:18.942 se dizem Alice e Charlie quer estabelecer uma chave compartilhada eles não precisam se comunicar 0:16:18.942,0:16:24.360 de todo. Basicamente Alice iria ler e perfil público de Charlie. Charlie iria 0:16:24.360,0:16:29.635 e ler o perfil de Alice público. E agora, boom, têm imediatamente uma chave secreta. 0:16:29.635,0:16:34.976 Ou seja, agora, Alice sabe, g a c e a. Charlie sabe g à uma e с. E como 0:16:34.976,0:16:39.987 um resultado, ambos podem calcular п à AC. Então, em certo sentido, uma vez que eles 0:16:39.987,0:16:44.669 postou suas contribuições para o protocolo Diffie-Hellman para seu público 0:16:44.669,0:16:50.076 os outros em tudo para criar uma chave compartilhada. 0:16:50.076,0:16:53.919 têm imediatamente uma chave compartilhada e agora eles podem começar a se comunicar 0:16:53.919,0:16:58.194 de forma segura através do Facebook ou não um com o outro. E notem que isto é verdade para 0:16:58.194,0:17:02.121 qualquer usuário do Facebook. Assim, logo que li o perfil público de alguém, eu imediatamente 0:17:02.121,0:17:06.198 têm uma chave compartilhada com eles, sem nunca se comunicar com eles. Esta propriedade é 0:17:06.198,0:17:09.967 às vezes chamado de uma propriedade não-interativo do Diffie-Hellman. Então agora, vamos 0:17:09.967,0:17:14.716 me mostrar-lhe um problema em aberto. E este é um problema em aberto que tem sido aberto para as idades 0:17:14.716,0:17:19.407 e eras e eras. Por isso, seria muito legal se um de vocês pode realmente resolvê-lo. O 0:17:19.407,0:17:24.041 questão é, podemos fazer isso por mais de duas partes? Em outras palavras, dizer que temos 0:17:24.041,0:17:28.559 quatro partes. Todos eles postam seus valores para seus perfis do Facebook. E agora 0:17:28.559,0:17:33.366 gostaríamos de fazê-lo que apenas lendo perfis no Facebook, todos eles podem configurar 0:17:33.366,0:17:38.057 palavras, é Alice, que ela vai, ela vai fazer é ela só vai 0:17:38.057,0:17:42.427 ler os perfis do público, os três amigos, Bob, Charlie e David. E 0:17:42.427,0:17:47.650 ela já pode calcular a chave compartilhada com eles. E da mesma forma David está apenas indo 0:17:47.650,0:17:54.187 ler o perfil público de Charlie. Bob e Alice. E já que ele tem uma chave compartilhada 0:17:54.187,0:17:58.716 com todos os quatro deles. Ok, então a questão é se podemos tipo de configuração 0:17:58.885,0:18:03.546 não-interativamente estes, estas chaves compartilhadas para grupos que são maiores do que apenas dois 0:18:03.546,0:18:07.986 pessoas. Então, como eu disse, para n igual a dois, este é apenas um protocolo Diffie-Hellman. Em 0:18:07.986,0:18:12.594 outras palavras, se apenas dois partidos querem criar uma chave compartilhada sem comunicar 0:18:12.594,0:18:16.696 um com o outro, isso é apenas Diffie-Hellman. Acontece que, para N igual a 0:18:16.696,0:18:21.473 três, nós também sabemos como fazê-lo, há um protocolo conhecido, é chamado de protocolo devido 0:18:21.473,0:18:25.688 de Joux. Ela já usa matemática muito, muito chique, muito mais complicado 0:18:25.688,0:18:29.959 matemática do que aquilo que acabei de mostrar. E para N igual a quatro, ou cinco, ou 0:18:29.959,0:18:34.455 nada acima deste, acima de quatro, este problema é completamente aberta. Quase o 0:18:34.455,0:18:38.790 caso em que quatro pessoas postar algo para os perfis públicos e então todos 0:18:38.790,0:18:42.908 pessoa lê o perfil público e eles têm uma chave comum compartilhado, isto é 0:18:42.908,0:18:47.459 algo que não sei como fazer, mesmo para quatro pessoas. E este é um problema que é 0:18:47.459,0:18:52.010 sido aberto por eras e eras, é um tipo de problema legal pensar e assim ver se 0:18:52.010,0:18:56.073 você pode resolvê-lo, se quiser, é a fama instantânea no mundo crypto. Ok, então 0:18:56.073,0:19:00.516 Vou parar por aqui, e vamos continuar com um outro mecanismo de troca de chaves no próximo segmento.