< Return to Video

É uma função RSA one-way? (17 min)

  • 0:00 - 0:02
    A questão seguinte, vamos pedir
  • 0:02 - 0:04
    RSA é realmente uma função one-way?
  • 0:04 - 0:06
    Em outras palavras, é realmente difícil
  • 0:06 - 0:08
    inverter RSA sem saber o alçapão?
  • 0:09 - 0:12
    Assim, se um atacante queria inverter a função RSA,
  • 0:12 - 0:15
    bem, o que o atacante tem, é basicamente a chave pública,
  • 0:15 - 0:19
    a saber, que tem N e e. E agora, ele é dado x para o e-
  • 0:19 - 0:23
    e seu objetivo é recuperar x. OK, então a questão realmente é:
  • 0:23 - 0:26
    dado x para o módulo e N, como é que é difícil
  • 0:26 - 0:29
    recuperar x? Então, o que estamos realmente fazendo é,
  • 0:29 - 0:33
    como é que é difícil calcular e'th raízes módulo um composto?
  • 0:34 - 0:39
    Se este problema acaba por ser difícil, então RSA é de fato uma função de mão única.
  • 0:39 - 0:40
    Se este problema torna-se mais fácil, que
  • 0:40 - 0:45
    é claro que não acredito que seja fácil, então RSA seria realmente quebrado.
  • 0:45 - 0:47
    Assim, verifica-se o melhor algoritmo para este problema
  • 0:47 - 0:50
    exige que o primeiro fator N. módulo
  • 0:50 - 0:52
    E então, uma vez que o módulo consignado, já temos
  • 0:52 - 0:56
    visto na semana passada, que é fácil de calcular a raiz e'th módulo p,
  • 0:56 - 0:58
    é fácil de calcular a raiz e'th módulo q.
  • 0:58 - 1:02
    E, então, dado ambas as raízes e'th, é realmente fácil de combiná-los,
  • 1:02 - 1:05
    usando o que é chamado de teorema restante chinês
  • 1:05 - 1:08
    e, na verdade, recuperar a raiz e'th modulo N.
  • 1:08 - 1:10
    Assim, uma vez que somos capazes de fatorar o módulo,
  • 1:10 - 1:13
    computação e'th raízes modulo N se torna fácil.
  • 1:13 - 1:15
    Mas factoring, o módulo de elasticidade, tanto quanto
  • 1:15 - 1:17
    Nós sabemos, é um problema muito, muito difícil.
  • 1:17 - 1:20
    Mas uma pergunta natural é, é verdade que em
  • 1:20 - 1:23
    Para calcular e'th raízes módulo N, temos que
  • 1:23 - 1:26
    fator de N modulo? Tanto quanto sabemos, o
  • 1:26 - 1:27
    melhor algoritmo para calcular raízes e'th
  • 1:27 - 1:30
    modulo N, requer fatoração de N.
  • 1:30 - 1:32
    Mas, quem sabe, talvez haja um corte curto
  • 1:32 - 1:34
    que nos permitem calcular e'th raízes modulo N,
  • 1:34 - 1:37
    sem fatorar o módulo. Para mostrar que
  • 1:37 - 1:39
    isso não é possível, temos que mostrar uma redução.
  • 1:39 - 1:40
    Isto é, temos de mostrar que,
  • 1:40 - 1:42
    se eu te der um algoritmo eficiente para
  • 1:42 - 1:44
    computação e'th raízes modulo N, que
  • 1:44 - 1:48
    algoritmo eficiente pode ser transformado em um algoritmo de factoring.
  • 1:48 - 1:51
    Então, isso é chamado de redução. Ou seja, tendo em conta um algoritmo para
  • 1:51 - 1:53
    e'th raízes módulo N, obtemos um algoritmo de factoring.
  • 1:53 - 1:57
    Isso mostra que não se pode calcular e'th raízes modulo N
  • 1:57 - 2:00
    mais rápido do que o módulo de factoring.
  • 2:00 - 2:02
    Se tivéssemos esse resultado, seria mostrar que
  • 2:02 - 2:06
    realmente quebrar RSA, na verdade é tão difícil como fatorar
  • 2:06 - 2:08
    Mas, infelizmente, isso não é muito conhecido no momento.
  • 2:08 - 2:12
    Na verdade, este é um dos mais antigos problemas de chave pública de criptografia.
  • 2:12 - 2:14
    Então, deixe-me dar-lhe um exemplo concreto.
  • 2:14 - 2:19
    Suponha-se, eu dou-lhe um algoritmo que irá calcular cubo raízes módulo N.
  • 2:19 - 2:24
    Assim, para qualquer x em ZN, o algoritmo irá calcular a raiz cúbica de x modulo N.
  • 2:24 - 2:26
    Minha pergunta é, você pode mostrar que o uso de
  • 2:26 - 2:29
    tal algoritmo pode fatorar o módulo N?
  • 2:29 - 2:31
    E, mesmo que não seja conhecido. O que é conhecido,
  • 2:31 - 2:34
    eu vos digo, é por exemplo, que para e igual a 2,
  • 2:34 - 2:38
    isto é, se eu te dou um algoritmo para calcular raízes quadrada módulo N,
  • 2:38 - 2:41
    então, de facto, que implica o factoring modulus.
  • 2:41 - 2:45
    Assim, o cálculo de raízes quadradas é de fato tão duro como o módulo de factoring.
  • 2:45 - 2:48
    Infelizmente, se você acha que volta para a definição de RSA,
  • 2:48 - 2:53
    que exigia que 'e' vezes d é 1 mod phi (N).
  • 2:53 - 2:59
    O que isto significa é que, e necessariamente tem de ser relativamente privilegiada para phi (N).
  • 2:59 - 3:03
    Certo, isso, o que a primeira equação diz é que o e é inversível módulo phi (N).
  • 3:03 - 3:06
    Mas, se e é invertível módulo phi (N), o que significa, necessariamente, que
  • 3:06 - 3:09
    e deve ser privilegiada relativamente a phi (N).
  • 3:09 - 3:14
    Mas, phi (N), se você se lembra, que é igual a menos um p vezes q menos 1.
  • 3:14 - 3:19
    E, uma vez que p e q são ambos números primos grandes, p - 1 vezes q - 1 é sempre igual.
  • 3:19 - 3:26
    E, como resultado, o GCD de 2 e phi (N) é igual a 2,
  • 3:26 - 3:28
    porque phi (N) é mesmo. E, portanto, o público
  • 3:28 - 3:31
    expoente 2 não é relativamente privilegiada para phi (N).
  • 3:31 - 3:33
    que significa que, embora tenhamos uma redução
  • 3:33 - 3:35
    de tomar a raiz quadrada de factoring,
  • 3:35 - 3:39
    e não é igual a 2 pode ser utilizado como um expoente RSA.
  • 3:39 - 3:44
    Então, realmente o menor expoente RSA que é legal é, de facto, e é igual a 3.
  • 3:44 - 3:47
    Mas, para o e igual 3, a questão de se raízes cúbicas de computação
  • 3:47 - 3:49
    é tão duro como factoring, é um problema em aberto.
  • 3:49 - 3:51
    É realmente muito divertido pensar sobre essa questão.
  • 3:51 - 3:53
    Portanto, gostaria de incentivá-lo a pensar sobre isso um pouco.
  • 3:53 - 3:58
    Isto é, se eu lhe der um algoritmo eficiente para a computação cubo raízes módulo N,
  • 3:58 - 4:02
    você pode usar esse algoritmo para realmente fatorar o módulo N?
  • 4:02 - 4:05
    Vou dizer-lhe que há um pouco de evidência para dizer
  • 4:05 - 4:09
    que uma redução como essa, na verdade não existe, mas é uma evidência muito, muito fraco.
  • 4:09 - 4:11
    O que esta prova diz que é, basicamente, se você
  • 4:11 - 4:14
    me dar uma redução de uma forma muito particular.
  • 4:14 - 4:16
    Em outras palavras, se a sua redução é o que é chamado algébrica,
  • 4:16 - 4:19
    (Eu não vou explicar o que isso significa aqui.)
  • 4:19 - 4:23
    Isto é, se for dado um cubo raiz oráculo, você realmente pode me mostrar um algoritmo
  • 4:23 - 4:26
    que, então, fator. Essa redução, por si só,
  • 4:26 - 4:29
    seria, na verdade, implica um algoritmo de factoring.
  • 4:29 - 4:31
    Ok então, que dizer que se factoring é difícil,
  • 4:31 - 4:34
    uma redução na realidade não existe.
  • 4:34 - 4:36
    Mas, como eu digo isso é uma evidência muito fraca.
  • 4:36 - 4:38
    Porque, que é dizer que a redução deve ser algébrico.
  • 4:38 - 4:40
    Talvez, há alguns outros tipos de reduções que
  • 4:40 - 4:43
    não temos realmente considerado. Então, eu o faria
  • 4:43 - 4:44
    incentivá-lo a pensar um pouco sobre isso
  • 4:44 - 4:46
    pergunta. É realmente muito interessante.
  • 4:46 - 4:50
    Como você usaria um algoritmo de raiz cúbica de fatorar o módulo?
  • 4:51 - 4:54
    Mas como eu disse, tanto quanto sabemos, a RSA é uma função de uma maneira.
  • 4:54 - 5:00
    Na verdade, quebrando RSA, computando raízes e'th que é, na verdade, requer módulo de factoring o.
  • 5:00 - 5:03
    Nós todos acreditamos que é verdade, e isso é o estado da arte.
  • 5:03 - 5:08
    Mas, agora, tem havido muito trabalho para tentar melhorar o desempenho da RSA.
  • 5:08 - 5:12
    Ou criptografia, RSA ou melhorar o desempenho de decodificação RSA.
  • 5:12 - 5:15
    E ao que parece, tem havido uma série de falsos começos nesta direção.
  • 5:15 - 5:19
    Então, eu quero te mostrar, este maravilhoso exemplo como um aviso.
  • 5:19 - 5:23
    Então, basicamente, este é um exemplo de como não se melhorar a perfomance da RSA.
  • 5:23 - 5:27
    Assim, você pode pensar que se eu quisesse acelerar descriptografia RSA,
  • 5:27 - 5:29
    lembre-se de decodificação é feita através do aumento da
  • 5:29 - 5:31
    cifrada com a potência de d. E, lembre-se
  • 5:31 - 5:34
    que o algoritmo de exponenciação correu em tempo linear
  • 5:34 - 5:38
    no tamanho de d. Tempo linear no log de d.
  • 5:38 - 5:40
    Assim, você pode pensar a si mesmo, bem, se eu queria
  • 5:40 - 5:44
    para acelerar a decodificação RSA, por que não eu só uso um d minúsculo.
  • 5:44 - 5:48
    Eu vou dizer, eu vou dizer um expoente de decodificação que é da ordem de 2 a 128.
  • 5:48 - 5:52
    Então é claramente grande o suficiente para que a pesquisa exaustiva contra d não é possível.
  • 5:52 - 5:57
    Mas, normalmente, a descriptografia expoente d seria tão grande como o módulo, digamos 2000 bits.
  • 5:57 - 6:05
    Usando d que é apenas 128 bits, eu basicamente acelerar descriptografia RSA por um fator de 20.
  • 6:05 - 6:08
    Bem, eu descia de 2000 bits para 100 bits.
  • 6:08 - 6:11
    Assim, a exponenciação seria executado 20 vezes mais rápido.
  • 6:11 - 6:15
    Acontece que isso é uma péssima idéia. Idéia terrível, terrível, no seguinte sentido.
  • 6:15 - 6:19
    Há um ataque por Michael Wiener, que mostra que, de facto,
  • 6:19 - 6:23
    assim que o expoente privado d é menor do que a quarta raiz do módulo.
  • 6:23 - 6:28
    Vamos ver, se o módulo é de cerca de 2048 bits
  • 6:28 - 6:35
    o que significa que, se d for menor que 2 a 512, em seguida, A RSA é completamente, completamente inseguro.
  • 6:35 - 6:38
    E, isto é, ele é inseguro da pior forma possível.
  • 6:38 - 6:43
    Ou seja, apenas dei uma chave pública e um e, você pode rapidamente recuperar a chave privada d.
  • 6:44 - 6:48
    Bem, para algumas pessoas, disse: bem, este ataque funciona até 512 bits.
  • 6:48 - 6:52
    Então, por que donÂ't fazemos o módulo, por exemplo, você sabe que 530 bits.
  • 6:52 - 6:54
    Então, este ataque realmente não seria aplicável.
  • 6:54 - 6:58
    Mas, ainda assim, temos de acelerar descriptografia RSA por um fator de 4,
  • 6:58 - 7:02
    porque diminuiu o expoente de 2000 bits para, digamos, 530 bits.
  • 7:02 - 7:04
    Bem se vê, mesmo que não seja seguro. Na verdade,
  • 7:04 - 7:06
    existe uma extensão ao ataque de Wiener, que é realmente muito
  • 7:06 - 7:08
    mais complicada, que mostra que se d
  • 7:08 - 7:13
    é inferior a 0,292 N para o, então também RSA é inseguro.
  • 7:13 - 7:17
    E, na verdade, a conjectura de que isto é verdadeiro se a N para o 0.5.
  • 7:17 - 7:22
    Portanto, mesmo se d é como N para a 0,4999, RSA ainda deve ser inseguro,
  • 7:22 - 7:26
    embora isso seja um problema em aberto. É, novamente, um problema maravilhoso aberto,
  • 7:26 - 7:28
    Tem sido aberto para como, o que é, 14 anos.
  • 7:28 - 7:32
    E, ninguém pode progredir para além desta 0,292.
  • 7:32 - 7:34
    De alguma forma, parece meio estranho, por que 0,292
  • 7:34 - 7:38
    ser a resposta certa e ainda ninguém pode ir além 0,292.
  • 7:39 - 7:42
    Então, só para ser mais preciso, quando eu digo que a RSA é inseguro,
  • 7:42 - 7:45
    o que eu quero dizer é dado apenas a chave pública N e E,
  • 7:45 - 7:48
    seu objetivo é recuperar a chave secreta d.
  • 7:49 - 7:52
    Se você está curioso, onde vem de 0,292,
  • 7:52 - 7:56
    Eu vou te dizer que o que é, é basicamente um menos 1 sobre raiz quadrada de 2.
  • 7:56 - 7:59
    Agora, como isso poderia ser a resposta certa para este problema?
  • 7:59 - 8:01
    É muito mais natural que a resposta é N a 0,5.
  • 8:01 - 8:04
    Mas isso ainda é um problema em aberto. Novamente, se você quer pensar sobre isso,
  • 8:04 - 8:06
    é uma espécie de um problema divertido para trabalhar.
  • 8:06 - 8:10
    Assim, a lição no presente é que não se deve impor qualquer estrutura em d
  • 8:10 - 8:12
    para melhorar o desempenho da RSA, e de facto
  • 8:12 - 8:15
    agora há uma série de resultados como este que mostram
  • 8:15 - 8:20
    que, basicamente, qualquer tipo de truques como este para tentar melhorar o desempenho da RSA
  • 8:20 - 8:24
    vai acabar em desastre. Portanto, este não é o caminho certo para melhorar o desempenho da RSA.
  • 8:24 - 8:28
    Inicialmente eu não estava indo para cobrir os detalhes do ataque de Wiener.
  • 8:28 - 8:32
    Mas dadas as discussões em classe, eu acho que alguns de vocês gostaria de ver os detalhes.
  • 8:32 - 8:35
    Tudo o que envolve é apenas manipular algumas desigualdades.
  • 8:35 - 8:38
    Se você não está confortável com isso, sinta-se livre para pular este slide,
  • 8:38 - 8:41
    embora eu acho que muitos de vocês realmente gostam de ver os detalhes.
  • 8:41 - 8:43
    Então deixe-me lembrá-lo no ataque Wiener basicamente
  • 8:43 - 8:47
    nós estamos dando o módulo eo expoente RSA N e E,
  • 8:47 - 8:51
    e nosso objetivo é recuperar d, o expoente privado d,
  • 8:51 - 8:54
    e tudo o que sabemos é que d é basicamente menor do que a raiz quarta de N.
  • 8:54 - 8:58
    Na verdade, eu vou assumir que d é menor do que a raiz quarta de N dividido por 3.
  • 8:58 - 9:02
    Esta 3 realmente não importa, mas o termo dominante aqui é que d é menor do que a raiz quarta de N.
  • 9:02 - 9:06
    Então vamos ver como fazê-lo. Então, primeiro de tudo, lembrar que
  • 9:06 - 9:09
    porque e e d são RSA expoentes públicas e privadas,
  • 9:09 - 9:14
    sabemos que e d vezes é um modulo phi (N). Bem, o que isso significa?
  • 9:14 - 9:22
    Isto significa que existe algum inteiro k tal que e tempos d é igual a k vezes phi (N), acrescido de 1.
  • 9:22 - 9:26
    Basicamente é o que significa para os tempos e d ser um modulo phi (N).
  • 9:26 - 9:30
    Basicamente múltipla algum inteiro de phi (N) mais 1.
  • 9:30 - 9:33
    Então agora vamos olhar para esta equação um pouco.
  • 9:33 - 9:36
    E na verdade, esta equação é a equação-chave no ataque.
  • 9:36 - 9:40
    E o que nós vamos fazer é antes de tudo dividir ambos os lados por d vezes phi (N).
  • 9:40 - 9:44
    E na verdade eu vou mover este termo aqui para a esquerda.
  • 9:44 - 9:47
    Então, depois que eu dividir por d vezes phi (N), o que eu vejo é que
  • 9:47 - 9:58
    e dividido pelo phi (N) menos k dividido por d é igual a 1 ao longo d vezes phi (N).
  • 9:59 - 10:03
    Ok, então tudo que eu fiz é que eu só dividido por d vezes phi (N)
  • 10:03 - 10:06
    e mudei o k vezes phi prazo (N) para o lado esquerdo.
  • 10:06 - 10:09
    Agora, apenas para os pedaços que eu estou indo para adicionar valores absolutos aqui.
  • 10:09 - 10:13
    Estes irão tornar-se útil em apenas um minuto, mas é claro que eles não mudam essa igualdade em tudo.
  • 10:13 - 10:20
    Agora, phi (N), claro, é quase N; phi (N) é muito, muito perto de N, como dissemos anteriormente.
  • 10:20 - 10:23
    E tudo que eu vou precisar de então para essa fração é só para dizer que
  • 10:23 - 10:27
    é inferior a 1 sobre raiz quadrada de N. Na verdade, é muito, muito menor
  • 10:27 - 10:31
    do que 1 sobre raiz quadrada de N, na verdade é da ordem de 1 por N, ou até mais do que isso,
  • 10:31 - 10:36
    mas para nossos propósitos tudo o que precisamos é que essa fração for inferior a 1 sobre raiz quadrada de N.
  • 10:36 - 10:38
    Agora vamos olhar para essa fração por apenas um minuto.
  • 10:38 - 10:45
    Você percebe que esta fração à esquerda aqui é uma fração que nós realmente não sabemos.
  • 10:45 - 10:49
    Sabemos e, mas não sabemos phi (N), e, como resultado, não sabemos e sobre phi (N).
  • 10:49 - 10:54
    Mas temos uma boa aproximação e mais de phi (N). Ou seja, sabemos que phi (N)
  • 10:54 - 10:59
    está muito perto de N. Portanto, e mais de phi (N) está muito próximo e mais de N.
  • 10:59 - 11:03
    Portanto, temos uma boa aproximação a esta fração lado esquerdo, e nomeadamente sobre N.
  • 11:03 - 11:06
    O que realmente queremos é a fração lado direito,
  • 11:06 - 11:08
    porque uma vez que temos a fração lado direito,
  • 11:08 - 11:13
    basicamente, que vai envolver d, e então nós vamos ser capazes de recuperar d. Ok, então vamos ver
  • 11:13 - 11:19
    se substituirmos e sobre phi (N) por e sobre N, vamos ver que tipo de erro que vamos conseguir.
  • 11:19 - 11:23
    Assim, para analisar que, o que nós vamos fazer é, antes de tudo lembrar
    Assim, para analisar que, o que nós vamos fazer é, antes de tudo lembrar
  • 11:23 - 11:26
    que phi (N) é basicamente N - p - q + 1,
  • 11:26 - 11:31
    o que significa que menos phi N (N) vai ser menor do que p + q.
  • 11:31 - 11:35
    Na verdade, eu deveria, para ser mais preciso, eu realmente deveria escrever p + q + 1, mas você sabe,
  • 11:35 - 11:38
    que se preocupa com este 1, que não é, ele realmente não afeta nada.
  • 11:38 - 11:40
    Então, eu estou indo só para ignorá-lo pela simplicidade.
  • 11:40 - 11:46
    Ok, então N - phi (N) é menor que p + q. Ambos p e q são mais ou menos metade do comprimento de N,
  • 11:46 - 11:49
    assim você sabe, eles são os dois tipos de da ordem de raiz quadrada de N,
  • 11:49 - 11:54
    Então, basicamente p + q vamos dizer é menos do que 3 vezes a raiz quadrada de N.
  • 11:54 - 11:57
    Ok, então vamos usar essa desigualdade em apenas um minuto.
  • 11:57 - 12:00
    Mas agora vamos começar a usar o fato de que sabemos algo sobre d,
  • 12:00 - 12:03
    a saber, que d é pequena. Então, se olharmos para esta desigualdade aqui,
  • 12:03 - 12:06
    d for inferior a quarta raiz de N dividido por 3.
  • 12:06 - 12:09
    É realmente bastante fácil de ver que se eu quadrado ambos os lados
  • 12:09 - 12:12
    e eu só manipular as coisas um pouco, é [não] difícil ver que
  • 12:12 - 12:16
    isso implica diretamente a seguinte relação,
  • 12:16 - 12:24
    basicamente um mais de 2 d quadrado menos 1 sobre raiz quadrada de N é maior do que 3 sobre raiz quadrada de N.
  • 12:24 - 12:29
    Como eu disse, este segue basicamente por quadratura ambos os lados, em seguida, tendo o
  • 12:29 - 12:33
    inverso de ambos os lados, e então eu acho que multiplicando um lado pelo meio.
  • 12:33 - 12:38
    Ok, então você pode facilmente obter essa relação, e vamos precisar essa relação em apenas um minuto.
  • 12:38 - 12:40
    Então, agora vamos ver, o que gostaria de fazer é obrigado
  • 12:40 - 12:45
    a diferença de e mais de N e K sobre d. Bem, o que sabemos?
  • 12:45 - 12:48
    Pela desigualdade triangular, sabemos que isso é igual a
  • 12:48 - 12:52
    a distância entre e ao longo e por cima e N phi (N), além
  • 12:52 - 12:57
    a distância a partir de e ao longo phi (N) para k ao longo d.
  • 12:57 - 13:02
    Este é apenas o que é chamado de uma desigualdade triangular, esta é apenas uma propriedade de valores absolutos.
  • 13:02 - 13:05
    Agora, este valor absoluto aqui, nós já sabemos como vinculado.
  • 13:05 - 13:07
    Se você pensar sobre isso é basicamente o limite que nós já derivada.
  • 13:07 - 13:12
    Então, nós sabemos que este valor absoluto aqui é basicamente menor do que 1 sobre raiz quadrada de N.
  • 13:12 - 13:18
    Agora, o que nós sabemos sobre esse valor absoluto aqui? O que é e mais N menos e mais de phi (N)?
  • 13:18 - 13:20
    Bem, vamos fazer denominadores comuns e ver o que conseguimos.
  • 13:20 - 13:25
    Assim, o denominador comum que vai ser N vezes phi (N),
  • 13:25 - 13:31
    o numerador e, neste caso, vai ser vezes e phi (N) menos N.
  • 13:31 - 13:36
    Que sabemos desta expressão aqui é menos do que três vezes a raiz quadrada de N.
  • 13:36 - 13:41
    Então, realmente o que esta numerador vai ser é o e três vezes a raiz quadrada de N.
  • 13:41 - 13:44
    O numerador vai ser menor do que e 3 vezes a raiz quadrada de N.
  • 13:44 - 13:51
    Então agora eu sei que e é menor do que phi (N), então eu sei que e mais de phi (N) é menor que 1.
  • 13:51 - 13:57
    Em outras palavras, se eu apagar e apagar e eu phi (N) Eu só fez a fração maior.
  • 13:57 - 14:00
    Ok, então esse valor inicial absoluta é agora vai ser
  • 14:00 - 14:04
    menor do que 3 raiz quadrada de N sobre N, que é simplesmente,
  • 14:04 - 14:09
    3 raiz quadrada de N sobre N é simplesmente 3 sobre raiz quadrada de N.
  • 14:09 - 14:11
    Ok, mas o que sabemos sobre a 3 sobre raiz quadrada de N?
  • 14:11 - 14:18
    Nós sabemos que é menos de 1 por 2 d quadrado menos 1 sobre raiz quadrada de N.
  • 14:18 - 14:20
    Ok, então esse é o fim da nossa derivação.
  • 14:20 - 14:26
    Portanto, agora sabemos que o primeiro valor absoluto é menor do que 1 sobre 2 raiz d quadrado menos quadrado da N.
  • 14:26 - 14:30
    O segundo valor absoluto for inferior a 1 sobre raiz quadrada de N.
  • 14:30 - 14:34
    E, portanto, a soma é inferior a 1 sobre 2 d quadrado.
  • 14:34 - 14:37
    E esta é a expressão que eu quero que você olhar.
  • 14:37 - 14:43
    Então, aqui, deixe-me rodear-lo um pouco. Então deixe-me circular esta parte e esta parte.
  • 14:44 - 14:46
    Agora, vamos olhar um pouco neste fração aqui.
  • 14:46 - 14:51
    E o que vemos é, antes de tudo, como antes, agora sabemos o valor de e mais de N,
  • 14:51 - 14:55
    eo que nós gostaríamos de saber é o valor k sobre d.
  • 14:55 - 14:57
    Mas o que sabemos sobre este k fração sobre d?
  • 14:57 - 15:01
    Nós sabemos de alguma forma que a diferença entre essas duas frações é muito pequeno;
  • 15:01 - 15:05
    é inferior a 1 sobre 2 d quadrado. Agora, isso acaba por acontecer muito raramente,
  • 15:05 - 15:11
    que k mais d aproxima e mais de N tão bem que
  • 15:11 - 15:15
    a diferença entre os dois é menor do que o quadrado do denominador de k ao longo d.
  • 15:15 - 15:17
    Acontece que isso não pode acontecer muitas vezes.
  • 15:17 - 15:22
    Acontece que há muito poucas frações da forma k mais d que a fração de outra aproximada
  • 15:22 - 15:26
    tão bem que a sua diferença é inferior a 1 durante 2 d quadrado.
  • 15:26 - 15:30
    E, de facto, o número de tais fracções vai ser, no máximo, em N. logarítmica
  • 15:30 - 15:34
    Portanto, agora há um algoritmo de fração contínua. É uma fração muito famoso
  • 15:34 - 15:39
    que, basicamente, o que ele vai fazer é, a partir do e fração sobre N,
  • 15:39 - 15:43
    ele vai se recuperar de log (N) possíveis candidatos para k sobre d.
  • 15:43 - 15:47
    Então, nós apenas julgá-los todos, um por um até encontrar o k correto sobre d.
  • 15:47 - 15:52
    E, então, está feito. Estamos a fazer, porque sabemos que,
  • 15:52 - 15:55
    bem vezes e d é 1 k mod, portanto d é relativamente privilegiada para k,
  • 15:55 - 16:01
    por isso, se nós apenas representam k mais d como uma fração racional numerador, você sabe, por denominador,
  • 16:01 - 16:05
    o denominador deve ser d. E assim acabou recuperado, você sabe,
  • 16:05 - 16:10
    nós tentamos todos os possíveis log (N) e frações que mais aproximado N tão bem
  • 16:10 - 16:14
    que a diferença é inferior a 1 durante 2 d quadrado.
  • 16:14 - 16:19
    E, então, basta olhar para o denominador de todas as frações, e um dos denominadores deve ser d.
  • 16:19 - 16:23
    E, então, está feito; acabamos recuperou a chave privada.
  • 16:23 - 16:26
    Portanto, este é um ataque muito bonito. E mostra, basicamente, como,
  • 16:26 - 16:31
    se o expoente privado é pequeno, menor do que a quarta raiz de N,
  • 16:31 - 16:35
    então podemos recuperar d completamente, com bastante facilidade. Ok, então eu vou parar por aqui.
Title:
É uma função RSA one-way? (17 min)
Video Language:
English
Jeremias Moreira Gomes edited Portuguese, Brazilian subtitles for Is RSA a one-way function? (17 min)
Jeremias Moreira Gomes edited Portuguese, Brazilian subtitles for Is RSA a one-way function? (17 min)
erickshowplay added a translation

Portuguese, Brazilian subtitles

Revisions