Álgebra A - Aula 11 RSA



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

CONCEITOS MATEMÁTICOS ENVOLVIDOS NO FUNCIONAMENTO DA CRIPTOGRAFIA RSA

Nome: Paulo Eduardo Rodrigues de Oliveira Nome: Pedro Thiago Ezequiel de Andrade Nome: Rafael Lucas Gregório D'Oliveira. Rsa

Criptografia fragilidades? GRIS-2011-A-003

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

Criptografia e Segurança em Redes Capítulo 9. Quarta Edição William Stallings

Aulas de PHP Criptografia com Cifra de César. Paulo Marcos Trentin

Números Primos e Criptografia RSA

Assinatura Digital: problema

MA14 - Aritmética Unidade 24 Resumo

Aritmética Binária e. Bernardo Nunes Gonçalves

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

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

Universidade Federal de São Carlos Departamento de Matemática Curso de Cálculo Numérico - Turma E Resolução da Primeira Prova - 16/04/2008

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

Arquitetura de Rede de Computadores

Soluções de Questões de Matemática do Centro Federal de Educação Tecnológica Celso Suckow da Fonseca CEFET/RJ

Definição. A expressão M(x,y) dx + N(x,y)dy é chamada de diferencial exata se existe uma função f(x,y) tal que f x (x,y)=m(x,y) e f y (x,y)=n(x,y).

Exercícios Teóricos Resolvidos

Somatórias e produtórias

Tópico 3. Limites e continuidade de uma função (Parte 2)

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

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.

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Algoritmos criptográficos de chave pública

Seqüências, Limite e Continuidade

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

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

Prof. Flávio Henrique de Lima Araújo 19

Venda segura. Série Matemática na Escola

MA14 - Aritmética Unidade 4. Representação dos Números Inteiros (Sistemas de Numeração)

1. NÍVEL CONVENCIONAL DE MÁQUINA

Sistemas de Numerações.

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

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

PROJETO DE REDES

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

Notas de Cálculo Numérico

5 Equacionando os problemas

Microsoft Excel 2007

Auditoria e Segurança da Informação GSI536. Prof. Rodrigo Sanches Miani FACOM/UFU

2. Representação Numérica

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

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

Respostas de MAIO. A sequência é formada elevando-se ao quadrado os números 2,3,4... e somandolhes 2 em cada caso.

EA773 - Experimento 5

Contagem II. Neste material vamos aprender novas técnicas relacionadas a problemas de contagem. 1. Separando em casos

FEUSP- SEMINÁRIOS DE ENSINO DE MATEMÁTICA-1º semestre/2008 CÁLCULO DIFERENCIAL E INTEGRAL NA ESCOLA BÁSICA: POSSÍVEL E NECESSÁRIO

Manual de operação. BS Ponto Versão 5.1

Sistemas de Numeração. 1 Introdução aos sistemas numeração

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

UNIVERSIDADE GAMA FILHO Laboratório de Controle I - MATLAB

2 A Derivada. 2.1 Velocidade Média e Velocidade Instantânea

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

Manual de Instalação e Configuração do Primeiro Backup Versão PRO

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

1. Sistemas de numeração

UNIVERSIDADE ESTADUAL DE GOIÁS UNIDADE UNIVERSITÁRIA DE JUSSARA LICENCIATURA EM MATEMÁTICA ANA PAULA ALVES MACHADO DE LIMA

Configuração do cliente de Thunderbird para usuários DAC

GERAÇÃO DE NOTA FISCAL PAULISTA BEMATECH RESTEQ RESOLVE TECNOLOGIA BEMATECH 1

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?

Teoremas de Fermat, Wilson, Wolstenholme e Euler. 1 Os teoremas de Wilson e Wolstenholme

Exercícios de Fixação Pseudocódigo e Estruturas Básicas de Controle

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

CAPÍTULO 6 - ESTRUTURA DE SELEÇÃO

Manual RbCripto. Sobre o RbCripto. Requisitos. Estatísticas de exemplo. Criptografia assimétrica versus criptografia simétrica. Como usar o programa

No cálculo de porcentagem com operações financeiras devemos tomar muito cuidado para verificar sobre quem foi calculada essa porcentagem.

Capítulo 7 Medidas de dispersão

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE. Prof. Dr. Daniel Caetano

Contagem I. Figura 1: Abrindo uma Porta.

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

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

INTRODUÇÃO À MATEMÁTICA FINANCEIRA

Sistemas de Numeração. Introdução ao Computador 2010/1 Renan Manola

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

Questionário de Estudo - P1 Criptografia

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

Organização e Arquitetura de Computadores I

Linguagem algorítmica: Portugol

Princípio da Indução Matemática: P(1) verdadeira ( k)[p(k) verdadeira P(k+1) verdadeira] ENTÃO P(n) verdadeira para todos os n inteiros positivos

ARQUITETURA DE COMPUTADORES. Sistemas de Numeração. 1 Arquitetura de Computadores

Sistemas de Numeração

X.0 Sucessões de números reais 1

1 A Integral por Partes

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

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona.

Trabalho 2 Fundamentos de computação Gráfica

ESTRUTURAS DE DADOS II

PARANÁ GOVERNO DO ESTADO

Transcrição:

Álgebra A - Aula 11 RSA Elaine Pimentel Departamento de Matemática, UFMG, Brazil 2 o Semestre - 2010

Criptografia RSA- pré-codificação Converter a mensagem em uma seqüência de números pré-codificação. Letras A a Z (maiúsculas) + espaços em branco entre palavras (99). A = 10, B = 11, etc, Z = 35. Números com exatamente dois algarismos.

Pré-codificação Chave pública: n = p.q, p e q primos. Devemos quebrar a mensagem em blocos: números menores que n. Orientações: Não começar com o número 0 (problemas na decodificação). Os blocos não devem corresponder a nenhuma unidade linguística (palavra, letra, etc): decodificação por contagem de freqüência fica impossível.

Codificando Para codificar: n = p.q e inteiro positivo e que seja inversível módulo φ(n). Em outras palavras, mdc(e, φ(n)) = mdc(e, (p 1).(q 1)) = 1 Chamaremos o par (n, e) a chave de codificação RSA. Codificando cada bloco b: do sistema C(b) b e (mod n) Onde 0 C(b) < n. Importante: Não reunir os blocos após a codificação.

Exemplo Paraty é linda: 2510271029349914992118231310 Tome n = 11.13 = 143. Quebrando a mensagem em blocos: 25 102 7 102 93 49 91 49 92 118 23 13 10 Como φ(143) = 10.12 = 120, tomamos e = 7. Logo, C(25) 25 7 25 22.25 2.25 (mod 143) 25 22.53.25 (mod 143) 53 2.53.25 (mod 143) 92.53.25 (mod 143) 14.25 (mod 143) 64 (mod 143) Obtemos assim a seguinte mensagem cifrada: 64 119 6 119 102 36 130 36 27 79 23 117 10

Decodificando (n, d) = chave de decodificação onde d é o inverso de e módulo φ(n). D(c) é dado por: D(c) c d (mod n) onde 0 D(c) < n. Observe que é muito fácil calcular d, desde que φ(n) e e sejam conhecidos: basta aplicar o algoritmo euclideano estendido. Entretanto, se não conhecemos p e q é praticamente impossível calcular d.

Exemplo Voltando ao nosso exemplo, temos que n = 143 e e = 7. Para calcular d, usamos o algoritmo euclideano estendido: 120 = 7.17 + 1 = 1 = 120 + ( 17).7 Logo o inverso de 7 módulo 120 é 17. Como d deve ser usado como um expoente, precisamos que d seja positivo. Logo tomamos d = 120 17 = 103.

Funciona? Pergunta óbvia que surge: D(C(b)) = b? Ou seja, decodificando um bloco de mensagem codificada, encontramos um bloco da mensagem original? Consideremos então n = p.q. Vamos provar que DC(b) b (mod n) E por que não a igualdade? Observe que DC(b) e b são menores que n 1. Por isso escolhemos b menor que n e mantivemos os blocos separados depois da codificação!

Funciona! Por definição: DC(b) (b e ) d b e.d (mod n) Mas d é o inverso de e módulo φ(n). Logo existe inteiro k tal que ed = 1 + kφ(n). Logo, b ed b 1+kφ(n) (b φ(n) ) k.b (mod n) Se mdc(b, n) = 1, então podemos usar o teorema de Euler: b ed (b φ(n) ) k.b b (mod n)

Funciona! Se b e n não são primos entre si, observe que n = p.q, p e q primos distintos. Logo, b ed b 1+kφ(n) (b (p 1) ) k.(q 1).b (mod p) Se mdc(b, p) = 1, então podemos usar o teorema de Fermat (b p 1 1 (mod p)). Se não, temos que p b e portanto b ed b 0 (mod p)

Funciona! Logo, b ed b (mod p) qualquer que seja b. Fazemos o mesmo para o primo q, obtendo: b ed b (mod q) Portanto, como queríamos. b ed b (mod p.q)

Porque o RSA é seguro O RSA só é seguro se for difícil calcular d quando apenas o par (n, e) é conhecido. Mas d somente se φ(n): fatoração de n. Por que não outro processo para calcular d e φ(n)? Resposta: φ(n) = (p 1).(q 1) = pq (p + q) + 1 = n (p + q) + 1 Logo, (p + q) = n φ(n) + 1 e (p + q) 2 4n = (p 2 + q 2 + 2pq) 4pq = (p q) 2 Logo, p q = (p + q) 2 4n

Porque o RSA é seguro Outro jeito de quebrar o RSA seria achar um algoritmo que calcule d diretamente a partir de n e e. Como ed 1 (mod φ(n)), isto implica que conhecemos um múltiplo de φ(n). Isso também é suficiente para fatorar n (prova complicada). A última alternativa seria achar b a partir da forma reduzida de b e módulo n sem achar d. Bom, ninguém conseguiu fazer isso até agora... Acredita-se que quebrar o RSA e fatorar n sejam problemas equivalentes, apesar disso não ter sido demonstrado.

Escolhendo primos RSA de chave pública (n, e), n com aproximadamente r algarismos. Escolha um primo p entre 4r 10 e 45r 10r 100 algarismos e q próximo de p. Tamanho da chave recomendado atualmente: 768 bits. n terá 231 algarismos. p e q: 104 e 127 algarismos respectivamente. Importante: p 1, q 1, p + 1, p 1 não tenham fatores primos pequenos, pois senão seria fácil fatorar n.

Escolhendo primos Para encontrar p e q, seguiremos a seguinte estratégia: 1. Tome um número s ímpar. 2. Verifique se s é divisível por um primo menor que 5.000. 3. Aplique o teste de Miller a s usando como base os 10 primeiros primos. Se x é um número da ordem de 10 127, no intervalo entre x e x + 10 4 existem aproximadamente 34 primos dentre 560 números que passam a etapa (1) da estratégia acima...

Assinaturas Apenas codificar mensagens não basta: sistema é de chave pública. Um hacker poderia facilmente mandar instruções ao banco para que o seu saldo bancário fosse transferido para uma outra conta. Por isso, o banco precisa de uma garantia de que a mensagem teve origem em um usuário autorizado. Ou seja, a mensagem tem que ser assinada.

Assinaturas C m e D m : codificação e decodificação do Mário e de C a e D a as funções do Allan.b: de Mário para Allan. Mensagem assinada: C a (D m (b)) Para ler a mensagem: Allan aplica D a e depois C m. Observe que C m é público. Se a mensagem fizer sentido, é certo que a origem foi mesmo o Mário! Mas cuidado! Esse sistema pode ser usado para quebrar o RSA, como em 1995 por um consultor em assuntos de segurança de computadores...

Exercícios propostos - Capítulo 11 1,2,3,4,6