Números Primos e Criptografia RSA

Documentos relacionados
D OLJHLUD UDSRVD PDUURP VDOWRX VREUH R FDFKRUUR FDQVDGR 1

Existem infinitos números de Carmichael, mas não provaremos isso neste curso.

1 Potências e raízes em Aritmética Modular. Seja p primo e a um inteiro primo com p; a aplicação

RSA: ALGORITMOS DE CHAVE PÚBLICA PRIMEIRA PUBLICAÇÃO: ABRIL/1998 QUARTA REVISÃO: DEZEMBRO/2004

Complexidade de Algoritmos

Criptografia: códigos sem segredos

algoritmos de primalidade na criptografia rsa

Álgebra A - Aula 11 RSA

Notas sobre teoria dos números (3)

CIFRA DE HILL. Autor: Maycon Pereira de Souza

NÚMEROS INTEIROS E CRIPTOGRAFIA UFRJ

Números primos e Criptografia

INTRODUÇÃO AO ESTUDO DE CRIPTOGRAFIA

Álgebra A - Aula 01 Algoritmo da divisão de Euclides e Algoritmo Euclideano estendido

Desvendando os mistérios do criptossistema RSA. Grasiele Cristiane Jorge. Pós-Doc - IMECC - UNICAMP

Teoria dos Números e Criptografia

SISTEMA CRIPTOGRÁFICO RSA. Chave pública: (n, a) onde a N <(p 1)(q 1) e mdc(a, (p 1)(q 1)) = 1. Chave privada: (n, b)

MATEMÁTICA DISCRETA ARITMÉTICA RACIONAL (6/6) Carlos Luz. EST Setúbal / IPS Maio 2012

Teoria de números e criptografia RSA

11.1) Noções Elementares 11.2) MDCs e algoritmos de Euclides 11.3) Aritmética modular 11.4) Aplics da MD: O sistema criptográfico RSA

PK - Public Key RSA. Segurança RSA

Criptografia RSA: uma abordagem para professores do ensino básico

Aritmética. Somas de Quadrados

Universidade do Minho

, com k 1, p 1, p 2,..., p k números primos e α i, β i 0 inteiros, as factorizações de dois números inteiros a, b maiores do que 1.

Bibliografia e referências. Teoria de números e criptografia RSA. Criptografia

Aula 15. Ivan Sendin. 11 de outubro de FACOM - Universidade Federal de Uberlandia TSeg.

NÚMEROS ESPECIAIS. Luciana Santos da Silva Martino. lulismartino.wordpress.com PROFMAT - Colégio Pedro II

Uma curiosa propriedade com inteiros positivos

Aula 23. Ivan Sendin. 31 de outubro de FACOM - Universidade Federal de Uberlandia TSeg.

PTC Aula 20. (Kurose, p ) (Peterson, p ) 14/06/ Princípios de criptografia

AKS: um algoritmo para identificar números primos

OTES07 Segurança da Informação Módulo 05c: Criptografia Assimétrica RSA e ECC

quem utiliza esse processo para envio de s, por exemplo, está bem protegido de fraudes.

XIX Semana Olímpica de Matemática. Nível 3. Polinômios Ciclotômicos e Congruência Módulo p. Samuel Feitosa

Álgebra A - Aula 02 Teorema da fatoração única, Propriedade fundamental dos primos, números primos

CIC 111 Análise e Projeto de Algoritmos II

Criptografia com Maple

Teorema 1.1 (Teorema de divisão de Euclides). Dados n Z e d N, existe uma única dupla q Z, r. n = qd + r

é uma proposição verdadeira. tal que: 2 n N k, Φ(n) = Φ(n + 1) é uma proposição verdadeira. com n N k, tal que:

Conjetura de Goldbach - Uma visão Aritmética

Elementos de Matemática Finita ( ) Exercícios resolvidos

TSeg. Ivan Sendin. Aula 10. Ivan Sendin. FACOM - Universidade Federal de Uberlândia 27 de setembro de 2017

Definição. Diremos que um número inteiro d é um divisor de outro inteiro a, se a é múltiplo de d; ou seja, se a = d c, para algum inteiro c.

Soma de Quadrados. Faculdade de Matemática, UFU, MG

Já sabemos como determinar todas as soluções de uma equação diofantina linear, caso esta seja resolúvel. Para conguências temos:

Introdução à Teoria dos Números Notas de Aulas 3 Prof Carlos Alberto S Soares

TESTES DE PRIMALIDADE

M3D4 - Certificados Digitais Aula 2 Certificado Digital e suas aplicações

TOCI08 Segurança em Redes de Computadores Módulo 08: Criptografia Assimétrica RSA e ECC

MAT Álgebra I para Licenciatura 2 a Lista de exercícios

Mantendo Segredos com a ajuda da Matemática

Teoria dos Números e Criptografia

Aritmética Racional MATEMÁTICA DISCRETA. Patrícia Ribeiro. Departamento de Matemática, ESTSetúbal 2018/ / 42

TEOREMA FUNDAMENTAL DA ARITMÉTICA: APLICAÇÕES

1 TESTE OPÇÃO II - TEORIA DE NÚMEROS COMPUTACIONAL

NÚMEROS PRIMOS. Os números primos são os números naturais com exatamente dois divisores. primo? Número divisores quantidade de divisores

Aritmética dos Restos. Pequeno Teorema de Fermat. Tópicos Adicionais

37ª Olimpíada Brasileira de Matemática GABARITO Segunda Fase

1 Primos em uma PA? 2 Pequeno teorema de Dirichlet

Elementos de Matemática Finita

1 Congruências de Grau Superior. Dado um polinômio f(x) Z[x] e um número natural n, vamos estudar condições para que a congruência. f(x) 0 (mod n).

Algoritmos probabilísticos

CRIVO QUADRÁTICO: UM ESTUDO DA OBTENÇÃO DE UM CONJUNTO DE NÚMEROS COMPLETAMENTE FATORADOS SOBRE UMA BASE DE FATORES

4.1 Cálculo do mdc: algoritmo de Euclides parte 1

Matemática Discreta. Introdução à Teoria de Números - Exercícios 1 o ano /2011

IMPLEMENTAÇÃO DO ALGORITMO RSA

Se mdc(a,m) = 1, como a é invertível módulo m, a equação. ax b (mod m)

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E tecnologia PARAÍBA. Ministério da Educação

Criptografia no MSX Fulswrjudild qr PVZ

Teorema. Existe alguma raiz primitiva módulo n se, e só se, n = 2, n = 4, n = p k ou n = 2p k onde p é primo ímpar.

ANDRÉ VINÍCIUS SPINA NÚMEROS PRIMOS E CRIPTOGRAFIA

Algoritmos. OBMEP Teoria dos números - Parte I. Algoritmo da divisão:

Fundamentos: Algoritmos, Inteiros e Matrizes. Inteiros e. Primos e. Divisor Comum. Inteiros e. Algoritmos. Teoria dos Centro de Informática UFPE

UNIVERSIDADE FEDERAL DO MATO GROSSO DO SUL INSTITUTO DE MATEMÁTICA MATEMÁTICA EM REDE NACIONAL MESTRADO PROFISSIONAL. Nivaldo Alves de Souza Marques

Segurança a em Redes. Aula 5. Sistema de Criptografia Assimétrica. Núcleo de Computação Eletrônica Universidade Federal do Rio de Janeiro

No. Try not. Do... or do not. There is no try. - Master Yoda, The Empire Strikes Back (1980)

NÚMEROS INTEIROS. Álgebra Abstrata - Verão 2012

Matemática Discreta. Fundamentos e Conceitos da Teoria dos Números. Universidade do Estado de Mato Grosso. 4 de setembro de 2017

Números Inteiros Algoritmo da Divisão e suas Aplicações

O SISTEMA CRIPTOGRÁFICO D.E.S. - DATA ENCRYPTION STANDARD

Números Primos, MDC e MMC. O próximo teorema nos diz que os primos são as peças fundamentais dos números inteiros:

Elementos de Matemática Finita

Teorema Chinês dos Restos. Tópicos Adicionais

Notas de Aulas. Prof a Maria Julieta Ventura Carvalho de Araujo. Prof. Frederico Sercio Feitosa (colaborador)

1 n s = s s s p s. ζ(s) = p

Introdução à Teoria dos Números Notas de Aulas 3 Prof Carlos Alberto S Soares

Reticulados e Criptograa Pós-Quântica

UNIVERSIDADE FEDERAL DO CEARÁ CENTRO DE CIÊNCIAS PROGRAMA DE PÓS-GRADUAÇÃO EM MATEMÁTICA MESTRADO PROFISSIONAL EM MATEMÁTICA - PROFMAT

Polos Olímpicos de Treinamento. Aula 9. Curso de Teoria dos Números - Nível 2. O Teorema de Euler. Prof. Samuel Feitosa

Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática DIVISORES DE ZERO LIA FEITAL FUSARO

Note-se que pelo Teorema de Euler. a φ(n) 1 (mod n) logo existe k nas condições da definição acima e. Raízes Primitivas. Ordem de um elemento

Polos Olímpicos de Treinamento. Aula 7. Curso de Teoria dos Números - Nível 2. Aula de Revisão e Aprofundamento. Prof.

Cálculo Diferencial e Integral Química Notas de Aula

Troca de chaves Diffie-Hellman Grupos finitos Grupos cíclicos

Portal da OBMEP. Material Teórico - Módulo de Divisibilidade. MDC e MMC - Parte 1. Sexto Ano

Notas sobre teoria dos números (2)

CONCEITOS MATEMÁTICOS ENVOLVIDOS NO FUNCIONAMENTO DA CRIPTOGRAFIA RSA

MA14 - Aritmética Lista 1. Unidades 1 e 2

O USO DA CRIPTOGRAFIA EM ÁUDIO

Transcrição:

Números Primos e Criptografia RSA Jean Carlo Baena Vicente Matemática - UFPR Orientador: Carlos Henrique dos Santos 6 de outubro de 2013

Sumário Criptografia RSA Por que o RSA funciona? Fatoração Primalidade Referências

Motivação O método de criptografia RSA foi desenvolvido por Ron Rivest, Adi Shamir e Leonard Adleman, é fundamentado pela área da matemática denominada Teoria de Números, hoje é o algoritmo de chave pública mais utilizado ao redor do mundo.

Pré-codificação Neste primeiro momento é necessário transcrever a mensagem a ser criptografada, por meio de uma conversão de letras em números, por exemplo: A=10 F=15 B=11 G=16 C=12 H=17 D=13 I =18 E=14 J=19... Alguns cuidados devem ser tomados!

Pré-codificação Em seguida, deve-se conhecer o número n = pq, onde p e q são números primos distintos, n é chamado de chave pública, e agora a mensagem transcrita deve ser quebrada em blocos, e cada um destes deve ser menor que n, por exemplo: Se a mensagem, já transcrita, for: 2510271029349914992118231310 Uma das formas de se formar blocos é: 25 102 7 102 93 49 91 49 92 118 23 13 10

Codificando Para codificar a mensagem serão necessários os números n e um número e inversível módulo φ(n), ou seja, mdc(e, φ(n)) = 1. Como p e q são primos, φ(n) é facilmente calculado. φ(n) = (p 1)(q 1) Cada um dos blocos da mensagem será codificado da seguinte forma: C(b) = b e (mod n) Onde b é o bloco a ser codificado.

Codificando Usando o exemplo anterior, onde os blocos da mensagem eram: 25 102 7 102 93 49 91 49 92 118 23 13 10 Tomando os primos p = 11 e q = 13, obtemos que n = pq = 143. Tomando agora e = 7, pode-se fazer a codificação da mensagem acima: 64 119 6 119 102 36 130 36 27 79 23 117 10

Decodificando Observando o processo de codificação dos blocos da mensagem, é natural imaginar o que deverá ser feito para decodifica-los. Basta tomar d o inverso de e módulo φ(n), então faz-se: D(C(b)) = C(b) d (mod n) A existência de d é garantida pelo teorema de Bézout, no exemplo, como e = 7, temos d = 103, realizando os cálculos acima na mensagem codificada: 25 102 7 102 93 49 91 49 92 118 23 13 10 Obtemos: 64 119 6 119 102 36 130 36 27 79 23 117 10

Por que funciona? Para garantir que, independente dos valores de p, q, e e d utilizados, a mensagem decodificada será fiel à original deve-se mostrar que D(C(b)) = b, ou seja: b de b(mod n) Isto não é tão óbvio pois não é certo que mdc(b, n) = 1, logo não pode-se aplicar diretamente o teorema de Euler, mas é fácil ver que, como de = 1 + kφ(n) = 1 + k(p 1)(q 1), temos: b de b(mod p) Caso mdc(p, b) = 1, e também quando p b. As mesmas relações valem para q.

Por que funciona? Basta agora usar o seguinte lema: Lema Sejam a e b, dois inteiros coprimos, se a c e b c, então o produto ab c. Como vimos, p b de b e q b de b, como p e q são primos concluímos, pelo lema acima, que b de b(mod pq)

Segurança A segurança depende do quão difícil será decompor n, então os primos p e q devem ser tomados com cautela, afim de que não sejam facilmente descobertos. Dependendo da escolha dos primos pode-se garantir que o sistema será seguro durante anos, mas o que deve ser levado em consideração para decidir quais primos serão utilizados?

Fatoração usual Algoritmo (Usual de Fatoração) Etapa1: Comece fazendo F = 2 Etapa2: Se n/f é inteiro então F é fator de n; caso contrário vá para a etapa 3. Etapa3: Incremente F de uma unidade e vá para a etapa 4. Etapa4: Se F n então n é primo; caso contrário volte à etapa 2. O algoritmo usual de fatoração é menos eficiente quanto maiores forem os fatores do número a ser decomposto.

Fatoração por Fermat Algoritmo (Fermat) Etapa1: Comece com x = n, se n = x 2 então x é fator de n; caso contrário vá para a etapa 2. Etapa2: Incremente x de uma unidade e calcule y = x 2 n. Etapa3: Repita a etapa 2 até encontrar um valor inteiro para y, ou até que x seja igual a (n + 1)/2; no primeiro caso n tem fatores x + y e x y, no segundo n é primo. O algoritmo de Fermat encontrará facilmente fatores que são relativamente próximos um ao outro.

Primos Populares Então deve-se impor certas condições aos primos utilizados no RSA, afim de que a codificação atinja um certo nível de segurança, para encontrar estes números, se faz necessário o uso de algumas ferramentas. Computacionalmente falando, o método mais facil de se encontrar estes números é fazer uso de funções que possam gerar primos, algumas destas funções são bastante conhecidas.

Números de Mersenne Os números de Mersenne são os números da seguinte forma: M n = 2 n 1 É sabido que se o número M n é primo, então n também será um número primo. Infelizmente a reciproca desta afirmação não é válida.

Números de Fermat Os números de Fermat seguem a seguinte regra: F n = 2 n + 1 Pode-se mostrar que, quando F n é primo, n será uma potência de dois. A recíproca também falha nesta afirmação.

Famílias de Primos Obviamente os números de Mersenne e Femat não serão úteis para os fins do RSA, mas existe uma infinidade de famílias de primos que podem ser utilizadas. Teorema (Dirichlet) Sejam a, b N, tais que mdc(a, b) = 1 então a progressão aritmética: a n = a + nb Contém infinitos números primos.

Pseudoprimos Pelo teorema de Fermat podemos compreender o que são números pseudoprimos. Teorema Se n > 0 e 1 < b < n são números inteiros e b n 1 1(mod então n é um número composto. O número b é uma de testemunha de que n é composto. n),

Teorema Seja n > 0 um inteiro tal que Teste de Lucas n 1 = p e 1 1... per r onde p 1 < < p r são primos. Se, para cada i = 1,..., r existirem inteiros positivos b i (2 b i n 1) que satisfaçam b n 1 i 1(mod n) então n é primo. b (n 1/p i ) i 1(mod n), Este algoritmo é bastante eficiente para determinar primalidade de números como os de Fermat.

Referências S. C. Coutinho: Números Inteiros e Criptografia RSA. Instituto Nacional de Matemática Pura e Aplicada - IMPA. 2009. S. C. Coutinho: Criptografia. Programa de Iniciação Científica OBMEP. 2009. RSA Algorithm. xtrmntr.org/priikone/docs/rsa.pdf. Acessado em 06/05/2013.