Números primos, Teoremas de Fermat e Euler, Função...
Transcript of Números primos, Teoremas de Fermat e Euler, Função...
Números primos, Teoremas de
Fermat e Euler, Função Totiente
IA012 A
Segurança em Comunicação de Dados
Andre Felipe N. Dainese
Campinas, 20 de Abril de 2012
Sumário
�Números primos
�Teorema de Fermat
�Função Totiente
�Teorema de Euler
�Exercícios
�Referências Bibliográficas
IA012A – Segurança em comunicação de dados
Números Primos
Relembrando:
� Números primos só são divisíveis por ele mesmo e por 1.
� Dois números são considerados relativamente primos se eles não possuírem divisores comuns além do 1. Isto é, o máximo divisor comum é 1.
IA012A – Segurança em comunicação de dados
IA012A – Segurança em comunicação de dados
Quão grande são os números primos no RSA?
� 1999: Chave RSA 512 bits (i.e, dois primos de 256 bits) foi fatorada em 7 meses;
RSA Laboratories atualmente recomenda:
1. Chave 768bits para informações menos
valiosas;
2. Chave 1024bits para uso corporativo;
3. Chave 2048bits para informações
extremamente valiosas, como chaves
utilizadas por entidades certificadoras.
IA012A – Segurança em comunicação de dados
Qual o impacto em dobrar o tamanho de chave RSA?
Na média, dobrar o tamanho da chave RSA resulta no seguinte fator de aumento de tempo ou processamento:
1. Operações com chave pública: 4 vezes;
2. Operações com chave privada: 8 vezes;
3. Geração de chave: 16 vezes.
IA012A – Segurança em comunicação de dados
Pequeno Teorema de Fermat
� Base para diversos testes de primalidade
modernos;
� Determinação de restos de divisões;
� Auxílio na resolução de outros problemas.
IA012A – Segurança em comunicação de dados
Pequeno Teorema de Fermat
� Dado um número primo p e um inteiro
positivo a, temos que, se a não for divisível
por p:
� Dado um número primo p e um inteiro
positivo a, temos que:
IA012A – Segurança em comunicação de dados
Exemplo
� Prove que 23 é primo.
Tomando a = 2; p = 23; temos que achar que:
Temos que:
Dividindo 2048 por 23, resulta em 89 com resto um.
Logo,
Finalmente, se ,
Assim, 23 é primo!
IA012A – Segurança em comunicação de dados
Pseudoprimos
� Alguns números, apesar de não serem primos, satisfazem o pequeno Teorema de Fermat.
� Alguns satisfazem para alguns valores de a, enquanto outros o fazem para quaisquer valores de a que são relativamente primos à este p.
� Estes números são chamados de pseudoprimos e são uma falha do algoritmo de Fermat.
IA012A – Segurança em comunicação de dados
Exemplo
Testando o número 91 para primalidade..
� Usando a = 3, p = 91, temos:
�
� Dividindo 729 por 91, resulta em 8, resto 1. Assim,
� Logo,
� Mas..
IA012A – Segurança em comunicação de dados
Pseudoprimos
� Ao lado, os menores
pseudoprimos para as
100 primeiras bases a.
IA012A – Segurança em comunicação de dados
Função Totiente de Euler
� Função importante para o Teorema de
Euler;
� Utilizada na montagem de chaves do
algoritmo RSA.
IA012A – Segurança em comunicação de dados
Função Totiente de Euler
� A função Totiente, escrita como , é definida
como sendo o número de positivos inteiros
menores que n que são relativamente primos à n.
� Exemplos:
�
�
IA012A – Segurança em comunicação de dados
Função Totiente de Euler
IA012A – Segurança em comunicação de dados
Propriedades:
� Se n é primo,
� Tendo p e q,
Função Totiente de Euler
IA012A – Segurança em comunicação de dados
Teorema de Euler
IA012A – Segurança em comunicação de dados
� Generalização do Teorema de Fermat;
� Importante base matemática do
algoritmo RSA;
� Auxílio na resolução de outros problemas.
Teorema de Euler
� O Teorema de Euler afirma que , dado a e n inteiros positivos, se eles forem relativamente primos entre si:
� Forma alternativa: Dado a e n inteiros positivos:
IA012A – Segurança em comunicação de dados
Exemplo
� Seja
� Temos que
� De fato, dividindo 81 por 10, o resultado é
8, com resto 1.
IA012A – Segurança em comunicação de dados