Resíduos Quadráticos e Fatoração: uma aplicação à criptoanálise do RSA



Documentos relacionados
¹CPTL/UFMS, Três Lagoas, MS,Brasil, ²CPTL/UFMS, Três Lagoas, MS, Brasil.

Bases Matemáticas. Aula 2 Métodos de Demonstração. Rodrigo Hausen. v /15

Exercícios Teóricos Resolvidos

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,...

8 8 (mod 17) e 3 34 = (3 17 ) 2 9 (mod 17). Daí que (mod 17), o que significa que é múltiplo de 17.

Material Teórico - Módulo de Divisibilidade. MDC e MMC - Parte 1. Sexto Ano. Prof. Angelo Papa Neto

Estruturas Discretas INF 1631

Parece claro que há uma, e uma só, conclusão a tirar destas proposições. Esa conclusão é:

5 Equacionando os problemas

Álgebra A - Aula 11 RSA

Matemática - UEL Compilada em 18 de Março de Prof. Ulysses Sodré Matemática Essencial:

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE

Um jogo de preencher casas

Equações do segundo grau

Aplicações de Combinatória e Geometria na Teoria dos Números

E A D - S I S T E M A S L I N E A R E S INTRODUÇÃO

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas?

Erros. Número Aproximado. Erros Absolutos erelativos. Erro Absoluto

UM TEOREMA QUE PODE SER USADO NA

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48

Eventos independentes

INE Fundamentos de Matemática Discreta para a Computação

9. Derivadas de ordem superior

Capítulo 1. x > y ou x < y ou x = y

Notas de Cálculo Numérico

MAT 461 Tópicos de Matemática II Aula 3: Resumo de Probabilidade

A Torre de Hanói e o Princípio da Indução Matemática

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Aula 4 Estatística Conceitos básicos

Construção de tabelas verdades

Disciplina: Unidade III: Prof.: Período:

Análise e Resolução da prova de Auditor Fiscal da Fazenda Estadual do Piauí Disciplina: Matemática Financeira Professor: Custódio Nascimento

Alunos dorminhocos. 5 de Janeiro de 2015

Fração como porcentagem. Sexto Ano do Ensino Fundamental. Autor: Prof. Francisco Bruno Holanda Revisor: Prof. Antonio Caminha M.

Conceitos Fundamentais

Poliminós e o Tabuleiro de Xadrez Prof. Onofre Campos (onofrecampos@secrel.com.br) Prof. Carlos Shine (cyshine@yahoo.com)

Resolução de sistemas lineares

Monografia sobre R ser um Domínio de Fatoração Única implicar que R[x] é um Domínio de Fatoração Única.

Teoria dos Números. A Teoria dos Números é a área da matemática que lida com os números inteiros, isto é, com o conjunto

6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto

Material Teórico - Aplicações das Técnicas Desenvolvidas. Exercícios e Tópicos Relacionados a Combinatória. Segundo Ano do Ensino Médio

Arquitetura de Rede de Computadores

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

(a 1 + a 100 ) + (a 2 + a 99 ) + (a 3 + a 98 ) (a 50 + a 51 ).

GAAL /1 - Simulado - 1 Vetores e Produto Escalar

Conceitos e fórmulas

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II

MA14 - Aritmética Unidade 24 Resumo

Hoje estou elétrico!

Neste pequeno artigo resolveremos o problema 2 da USAMO (USA Mathematical Olympiad) 2005: (x 3 + 1)(x 3 + y) = (x 3 + y)(1 + y) = z 9

Sociedade Brasileira de Matemática Mestrado Profissional em Matemática em Rede Nacional. n=1

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

IBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 6. O trabalho feito pela força para deslocar o corpo de a para b é dado por: = =

Resoluções comentadas de Raciocínio Lógico e Estatística SEFAZ - Analista em Finanças Públicas Prova realizada em 04/12/2011 pelo CEPERJ

a 1 x a n x n = b,

O Princípio da Complementaridade e o papel do observador na Mecânica Quântica

Dois eventos são disjuntos ou mutuamente exclusivos quando não tem elementos em comum. Isto é, A B = Φ

A equação do 2º grau

Soluções Nível 1 5 a e 6 a séries (6º e 7º anos) do Ensino Fundamental

Sistema de avaliação da tarefa 47 da fase 5

Objetivos. Apresentar as superfícies regradas e superfícies de revolução. Analisar as propriedades que caracterizam as superfícies regradas e

A ideia de coordenatização (2/2)

Figura 1 Busca Linear

Traduzindo o Fluxo de Caixa em Moeda Estrangeira

Polos Olímpicos de Treinamento. Aula 2. Curso de Teoria dos Números - Nível 2. Divisibilidade II. Prof. Samuel Feitosa

Dadas a base e a altura de um triangulo, determinar sua área.

Solução da prova da 1 a fase OBMEP 2008 Nível 1

VALE PARA 1, PARA 2, PARA 3,... VALE SEMPRE?

MD Sequências e Indução Matemática 1

Dicas para a 6 a Lista de Álgebra 1 (Conteúdo: Homomorfismos de Grupos e Teorema do Isomorfismo para grupos) Professor: Igor Lima.

INE 5111 Gabarito da Lista de Exercícios de Probabilidade INE 5111 LISTA DE EXERCÍCIOS DE PROBABILIDADE

Este material traz a teoria necessária à resolução das questões propostas.

A linguagem matemática

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO PROGRAMA DE EDUCAÇÃO TUTORIAL - MATEMÁTICA PROJETO FUNDAMENTOS DE MATEMÁTICA ELEMENTAR

O conceito de probabilidade

1 Base de um Espaço Vetorial

EXAME NACIONAL DE QUALIFICAÇÃO GABARITO. Questão 1.

DICAS PARA CÁLCULOS MAIS RÁPIDOS ARTIGO 07

Só Matemática O seu portal matemático FUNÇÕES

Cláudio Tadeu Cristino 1. Julho, 2014

Somatórias e produtórias

2. Representação Numérica

Princípio da Casa dos Pombos I

Capítulo 2 Endogamia. Acasalamentos Preferenciais. Introdução

CURSO ON-LINE PROFESSOR GUILHERME NEVES 1

5 Considerações finais

SISTEMAS LINEARES CONCEITOS

Exercícios resolvidos sobre Definição de Probabilidade

Lógica Indutiva. Aula 4. Prof. André Martins

O que é número primo? Série O que é?

Solução da prova da 1 a fase OBMEP 2015 Nível 1. QUESTÃO 1 ALTERNATIVA E Como 2 x 100,00 126,80 = 200,00 126,80 = 73,20, o troco foi de R$ 73,20.

EQUAÇÕES E INEQUAÇÕES DE 1º GRAU

Citação e Indiscernibilidade de Idênticos. Citação e indiscernibilidade de idênticos

Exercícios Resolvidos sobre probabilidade total e Teorema de Bayes

Jogos. Redes Sociais e Econômicas. Prof. André Vignatti

37ª OLIMPÍADA BRASILEIRA DE MATEMÁTICA PRIMEIRA FASE NÍVEL 1 (6º e 7º anos do Ensino Fundamental) GABARITO

Fórmula versus Algoritmo

Material Teórico - Módulo de Métodos sofisticados de contagem. Princípio das Casas dos Pombos. Segundo Ano do Ensino Médio

Prof. Paulo Henrique Raciocínio Lógico

Transcrição:

Resíduos Quadráticos e Fatoração: uma aplicação à criptoanálise do RSA Charles F. de Barros 20 de novembro de 2008 Resumo Faremos uma breve introdução ao conceito de resíduos quadráticos, descrevendo em seguida um algoritmo probabilístico de fatoração. Tal procedimento reforça a tese da equivalência entre quebrar o RSA e fatorar o módulo n, mas ressaltamos que tal equivalência ainda não foi comprovada. Isto nos remete a uma questão crucial: saber se a segurança do RSA 1 de fato reside na dificuldade para fatorar números muito grandes. Se a tese da equivalência fosse refutada, quebrar o RSA poderia não ser tão difícil. Por enquanto, o problema está em aberto, e o RSA continua sendo seguro, pois quebrá-lo ainda é tão difícil quanto fatorar. 1 Resíduos quadráticos No conjunto Z p, onde p é um número primo maior que 2, alguns elementos possuem uma característica especial: são equivalentes ao quadrado de algum outro elemento de Z p, como o que acontece com 4 em Z 5, pois 4 3 2 (mod 5) Tais elementos são denominados resíduos quadráticos. Apresentaremos a definição geral deste conceito e enunciaremos de forma breve algumas de suas propriedades fundamentais. Definição 1.1 Seja p > 2 um número primo e a Z p. Dizemos que a é um resíduo quadrático módulo p se para algum b Z p. a b 2 (mod p) Por exemplo, em Z 7 temos os seguintes quadrados: 1 2 1 (mod 7) 2 2 4 (mod 7) 3 2 9 2 (mod 7) 1 A segurança do RSA depende ainda de certos detalhes um pouco mais sutis [3], como a escolha adequada dos fatores de n, e também de outros parâmetros. Se estes detalhes não forem levados em conta, vulnerabilidades no sistema poderão ser exploradas [2]. 1

Dizemos assim que 1, 2 e 4 são resíduos quadráticos em Z 7. Os demais elementos, 3, 5 e 6, são resíduos não quadráticos módulo 7. Observe que, para calcular os resíduos quadráticos módulo 7, tomamos os quadrados apenas dos três primeiros elementos de Z 7. Por que ignoramos os demais elementos? Ora, é fácil verificar o seguinte: 4 2 16 2 (mod 7) 5 2 25 4 (mod 7) 6 2 36 1 (mod 7) Obtivemos os mesmos resultados! Isto não é mera coincidência. Vejamos mais um exemplo, em Z 11, tomando apenas os quadrados dos cinco primeiros elementos: 1 2 1 (mod 11) 2 2 4 (mod 11) 3 2 9 (mod 11) 4 2 16 5 (mod 11) 5 2 25 3 (mod 11) E agora, elevando ao quadrado os demais elementos: 6 2 36 3 (mod 11) 7 2 49 5 (mod 11) 8 2 64 9 (mod 11) 9 2 81 4 (mod 11) 10 2 100 1 (mod 11) Mais uma vez, obtivemos os mesmos resíduos quadráticos: 1, 3, 4, 5 e 9. Estamos vendo que, em Z 7, que possui seis elementos, temos exatamente três resíduos quadráticos, e em Z 11, que possui dez elementos, são cinco resíduos quadráticos. Podemos generalizar este fato, enunciando o seguinte Lema 1.1 Dado um número primo p > 2, exatamente metade dos elementos de Z p são resíduos quadráticos. Demonstração: Vamos denotar por a 1, a 2,..., a p 1 os elementos de Z p, com a 1 = 1, a 2 = 2,..., a p 1 = p 1. É fácil observar que a 1 + a p 1 = a 2 + a p 2 =... = p Ou seja, a soma de elementos equidistantes dos extremos é sempre igual a p. Por exemplo, em Z 11, temos Então podemos concluir que para todo k entre 1 e p 1. Logo: 1 + 10 = 2 + 9 = 3 + 8 = 4 + 7 = 5 + 6 = 11 a k a p k (mod p) (a k ) 2 ( a p k ) 2 (a p k ) 2 (mod p) 2

Ou seja, elevando ao quadrado dois elementos equidistantes dos extremos, o resultado módulo p será o mesmo. Como Z p tem exatamente p 1 elementos, teremos (p 1)/2 resíduos quadráticos, e a mesma quantidade de resíduos não quadráticos. Assim, para determinar os quadrados em Z p, basta calcular a forma reduzida de b 2 (mod p) para b = 1, 2,..., (p 1)/2. QED A seguir, enunciaremos uma propriedade 2 que nos permitirá, dado um número primo p, caracterizar se um inteiro é ou não resíduo quadrático módulo p. Propriedade 1.1 Seja um número primo p > 2 e a Z tal que mdc(p, a) = 1. Então Em particular, temos a (p 1)/2 ±1 (mod p) a (p 1)/2 1 (mod p) se a for um resíduo quadrático módulo p. Caso contrário, a (p 1)/2 1 (mod p) Vale a pena ressaltar aqui nossa hipótese principal: p é um número primo. A idéia agora é mostrar que, quando o módulo for um inteiro n, composto, a propriedade anterior será falsa para pelo menos metade dos elementos de Z n, desde que possamos encontrar um inteiro a que satisfaça a (n 1)/2 ±1 (mod n) Proposição 1.1 Seja n um número ímpar, composto. Se pudermos assegurar a existência de pelo menos um inteiro a, primo com n, tal que a (n 1)/2 ±1 (mod n) então isto deve ocorrer para pelo menos metade dos elementos de Z n. Demonstração: Sejam a 1 e a 2 inteiros, tais que e Então a 1 ±1 (mod n) a 2 ±1 (mod n) (a 1 a 2 ) (n 1)/2 (a 1 ) (n 1)/2 (a 2 ) (n 1)/2 ±(a 2 ) (n 1)/2 ±1 (mod n) Suponha que os inteiros b 1, b 2,..., b k satisfaçam (b i ) (n 1)/2 ±1 (mod n) i = 1, 2,..., k 2 Na verdade, trata-se de um teorema, cuja demonstração omitiremos, por envolver detalhes que não serão abordados aqui. Para obter maiores informações, consulte [1]. 3

Pelo que acabamos de verificar, se existir um inteiro a tal que teremos a (n 1)/2 ±1 (mod n) (ab i ) (n 1)/2 ±1 (mod n) i = 1, 2,..., k Ou seja, garantindo a existência de pelo menos um inteiro que não satisfaça a Propriedade 1.1, a quantidade de elementos para os quais ela é falsa será no mínimo igual à quantidade daqueles para os quais ela é verdadeira. Portanto, pelo menos metade dos elementos de Z n, onde n é um número ímpar composto, não satisfazem a Propriedade 1.1, desde que exista um inteiro a que também não a satisfaça. O que afirmamos, sem demonstração 3, é que sempre podemos garantir a existência de tal a. QED 2 Fatoração de Inteiros e Criptoanálise do RSA Antes de dar início à nossa discussão, ressaltemos alguns aspectos importantes da criptoanálise do RSA. Em primeiro lugar, é preciso ter em mente que fatorar o módulo n equivale a expor a chave secreta d. De fato, uma vez obtida a fatoração de n, podemos utilizar ϕ(n) e a chave pública e para recuperar o valor de d, lembrando que ed 1 (mod ϕ(n)). No entanto, a fatoração direta de n é impraticável, já que n = pq, onde p e q são números primos muito grandes, mas se pudermos recuperar o valor de ϕ(n), então poderemos obter os fatores de n, já que ϕ(n) = (p 1)(q 1). Note que, neste caso, estamos supondo a existência de um método que permita calcular ϕ(n) sem fatorar n. Nossa abordagem partirá do pressuposto de que tenha sido encontrada uma maneira de recuperar diretamente o valor de d, a partir de n e e. Nosso objetivo é demonstrar que isto também equivale a fatorar n, pois, uma vez obtido o valor de d, teremos encontrado um múltiplo de ϕ(n). Isto não é tão bom quanto conhecer o próprio ϕ(n), mas nos permite a fatoração por meio de um método probabilístico. Repare que estamos no centro de uma importante discussão, que consiste em saber se fatorar o módulo n realmente equivale a quebrar o RSA. O problema que permanece em aberto é o da possibilidade de se recuperar uma mensagem criptografada, sem que seja necessário encontrar a chave secreta d. Se isto fosse possível, quebrar o RSA e fatorar n poderiam não ser problemas equivalentes. Então, suponha que tenhamos conseguido quebrar um sistema RSA, encontrando um inteiro positivo d que satisfaça ed 1 (mod ϕ(n)) Logo, existe um inteiro k tal que ed 1 = kϕ(n). sabemos que Pelo Teorema de Euler a ϕ(n) 1 (mod n), para todo a Z n. Então: 3 Consulte [1], página 52, exercício 21. 4

a ed 1 (a ϕ(n) ) k 1 (mod n) para todo a primo com n. Façamos ed 1 = m. Observe que, como p é ímpar, ϕ(n) é par. Logo, m também é. Uma vez que conheçamos tal m, o próximo passo é verificar se m/2 satisfaz a mesma condição, isto é, se a m/2 1 (mod n) para todo a primo com n. Seria inviável testar esta congruência para todo a Z n. Por isso, escolhemos aleatoriamente diversos valores de a para fazer o teste. Se em todos os casos a congruência for verificada, então será bastante provável que isto ocorra para todo a primo com n, e assim poderemos substituir m por m/2. Continuamos dividindo o expoente por 2, enquanto a congruência for satisfeita. Suponha então que, para todo a primo com n, seja válida a relação a m 1 (mod n) mas que tenhamos encontrado um valor de a tal que a m/2 1 (mod n) Isto ocorrerá para pelo menos metade dos elementos de Z n. inteiros b 1, b 2,..., b k satisfazem De fato, se os (b i ) m/2 1 (mod n) i = 1, 2,..., k então (ab i ) m/2 a m/2 1 (mod n) i = 1, 2,..., k Portanto, a quantidade de elementos que não satisfazem a congruência é no mínimo igual à quantidade daqueles para os quais ela se verifica. Assim, quando soubermos que a m 1 (mod n) para todo a primo com n, e encontrarmos algum a Z n tal que teremos duas possibilidades: a m/2 1 (mod n) 1. m/2 é múltiplo de p 1 ou q 1, mas não de ambos. Digamos que seja múltiplo somente de p 1. Neste caso, sempre teremos a m/2 1 (mod p) De fato, sabemos, por Fermat, que a p 1 1 (mod p). Como m/2 é múltiplo de p 1, existe um inteiro k tal que m/2 = k(p 1). Logo a m/2 (a p 1 ) k 1 (mod p) 5

Por outro lado, vimos na seção anterior que apenas metade dos elementos de Z q satisfaz a (q 1)/2 1 (mod q), enquanto a outra metade deve satisfazer a (q 1)/2 1 (mod q). O que mostraremos agora é um pouco diferente: metade dos elementos de Z q devem satisfazer a congruência e para os demais, teremos a m/2 1 (mod q) a m/2 1 (mod q) Isto porque, se a for resíduo quadrático, existe algum inteiro b tal que a b 2 (mod q). Logo: Por outro lado, sabemos que a m/2 b m 1 (mod q) a m 1 = (a m/2 1)(a m/2 + 1) Estamos supondo que a m 1 (mod n) para todo a Z n. Ou seja, a m 1 é múltiplo de n, logo é múltiplo de q. Então q sempre divide (a m/2 1)(a m/2 + 1). Se a não for resíduo quadrático, q não pode dividir a m/2 1, logo ele deve dividir a m/2 + 1, ou seja, a m/2 1 (mod q). 2. m/2 não é múltiplo de p 1 nem de q 1. Neste caso, pelo mesmo argumento utilizado anteriormente, teremos a m/2 1 (mod p), para metade dos elementos de Z p e, para os demais, O mesmo se aplica a Z q. a m/2 1 (mod p) Então podemos resumir nossa análise com as seguintes tabelas de probabilidade: Para o primeiro caso, em que m/2 é múltiplo de p 1, mas não de q 1: a m/2 1 (mod p) 100% a m/2 1 (mod q) 50% Probabilidade conjunta 50% Já no segundo caso, em que m/2 não é múltiplo nem de p 1 nem de q 1, temos: a m/2 1 (mod p) 50% a m/2 1 (mod q) 50% Probabilidade conjunta 25% a m/2 1 (mod p) 50% a m/2 1 (mod q) 50% Probabilidade conjunta 25% Repare que, em ambos os casos, a probabilidade de que a m/2 1 seja múltiplo de um dos primos, mas não do outro, é de 50%, para cada valor de a que testarmos. Assim, em duas tentativas, esperamos encontrar um a Z n tal que a m/2 1 seja múltiplo de somente um dos fatores de n, digamos p. Então, a fatoração de n poderá ser obtida, pois mdc(a m/2 1, n) = p. 6

3 Conclusões O procedimento que acabamos de descrever constitui um exemplo de algoritmo probabilístico, e é mais um argumento apontando na direção de que fatorar o módulo n e quebrar o RSA são problemas equivalentes, embora ainda não seja descartada a possibilidade de se encontrar um método para recuperação de uma mensagem criptografada, sem que seja necessário fatorar n. Como já foi dito aqui, isto só seria possível se tal método excluísse a necessidade de recuperar o valor da chave secreta d, o que até hoje não foi realizado. Os resultados obtidos aqui devem ser interpretados da seguinte maneira: partindo de um método (hipotético) de obtenção da chave secreta d, chegamos a um algoritmo de fatoração. Como já dissemos, a recíproca é verdadeira, isto é, se fatorarmos n, poderemos recuperar d. Assim mostramos que as duas coisas são equivalentes, ou seja, encontrar o valor de d é tão difícil quanto fatorar números muito grandes, o que nas circunstâncias atuais significa dizer muito difícil. Então, a pergunta que permanece sem resposta é: realmente precisamos do valor de d para quebrar o RSA? Se a resposta for negativa, quebrar o RSA é realmente tão difícil? Repare que em nenhum momento afirmamos que seria fácil quebrar o RSA, se para isto não fosse necessário encontrar d. Por outro lado, se precisamos do expoente secreto para quebrar o sistema, então esta é uma tarefa difícil, porque até hoje não foi desenvolvido nenhum método eficiente de fatoração. Ou seja, quebrar o RSA ainda é tão difícil quanto fatorar. Alguém até poderia descobrir uma maneira, por exemplo, de calcular diretamente o valor de x a partir da forma reduzida de x e (mod n), sem precisar encontrar d, mas nada nos garante que tal método seria eficiente. Ou seja, mesmo se pudéssemos afirmar que fatorar n e quebrar o RSA não são problemas equivalentes, isto não implicaria necessariamente em dizer que o RSA não é seguro. Em [4], Boneh e Venkatesan mostram que, sob certas condições, não há equivalência entre fatoração e a quebra do RSA, quando o expoente de codificação tem um valor baixo. Contudo, eles fazem questão de enfatizar que suas conclusões não apontam nenhuma vulnerabilidade do sistema. Portanto, ainda não temos nenhum resultado que ponha em xeque a segurança do RSA. Referências [1] KOBLITZ, Neal, A Course in Number Theory and Cryptography, Graduate Texts in Mathematics 114, Springer-Verlag, New York, 2 nd edition, 1987. [2] BONEH, Dan, Twenty Years of Attacks on the RSA Cryptosystem, Notices of the AMS, February 1999, 203-213. [3] COUTINHO, S.C., Números Inteiros e Criptografia RSA, IMPA, Série de Computação e Matemática, 2 a edição, 2003. [4] BONEH, Dan and VENKATESAN, R., Breaking RSA may be easier than factoring. In K. Nyberg, editor, Advances in Cryptology, EUROCRYPT 98, NUMBER 1403 in LNCS, 59-71. IACR, Springer, May 1998. 7