Introdução à Criptografia RSA

Tamanho: px
Começar a partir da página:

Download "Introdução à Criptografia RSA"

Transcrição

1 UNIVERSIDADE ESTADUAL PAULISTA "JULIO DE MESQUITA FILHO " U N E S P Faculdade de Engenharia de Ilha Solteira - FEIS Introdução à Criptografia RSA DEPARTAMENTO DE MATEMÁTICA Aluna: Elen Viviani Pereira da Silva Orientador: Jaime Edmundo Apaza Rodriguez Ilha Solteira - SP, 2006

2 Agradecimentos Eu agradeço aos meus pais, a quem devo minha vida, ao meu orientador Prof. Jaime Edmundo Apaza Rodriguez, quem deposita todas as suas confianças em mim, ao Rafael Antonio Rossato, ao Edison Righetto e ao Prof. Edson Donizete de Carvalho. 1

3 Prefácio Este trabalho surgiu a partir do estudo de alguns livros e artigos sobre Criptografia, em geral, e em particular, sobre o método RSA. O estudo deste método, suas origens, desenvolvimento, descrição e aplicações, assim como a sua segurança, são os objetivos deste trabalho. São dois os principais ramos da matemática envolvidos neste estudo. De um lado, a Teoria dos Números, onde são apresentados os conceitos, resultados e algoritmos necessários em que se basea o método, e de outro, a Teoria da Complexidade Algorítmica, onde são discutidas alguns aspectos e resultados sobre os custos operacionais dos algoritmos, ou seja, em termos de tempo e uso de máquina, quanto custa um determinado algoritmo.

4 Sumário 1 Introdução à Criptografia Um pouco de história Teoria dos Números e Álgebra Divisibilidade e propriedades Números Primos e propriedades Congruências Lineares Uma aplicação Anéis e Grupos Anéis Grupos Custos Algorítmicos Computacionais Custo das operações elementares Testes de Primalidade Método de Criptografia RSA Introdução Descrição do método RSA Um exemplo: Segurança do RSA Assinaturas no RSA Alguns algoritmos importantes Em Z Em Z n Conclusão

5 Capítulo 1 Introdução à Criptografia 1.1 Um pouco de história O impulso para descobrir segredos está profundamente enraizado na natureza humana. Durante milhares de anos, reis e rainhas dependiam de algum tipo de comunicação, mesmo que não eficiente, para governar seus países. Ao mesmo tempo, todos estavam cientes dos riscos das mensagens serem interceptadas pelo inimigo. Foi essa ameaça que gerou o desenvolvimento de métodos para mascarar as mensagens, denominados códigos e cifras. Segundo alguns historiadores e analistas militares, a Terceira Guerra Mundial será a guerra dos matemáticos, uma vez que estes terão o controle sobre a próxima grande arma de guerra: a transmissão segura da informação. Os principais códigos usados atualmente para a proteção das informações militares foram elaborados por matemáticos ou por pesquisadores com conhecimento profundo em tal aréa. Embora a Criptografia seja de importância fundamental em termos militares, os sistemas criptográficos são amplamente utilizados no meio civil, em transações bancárias, em negociações e em simples trocas de mensagens que são efetuadas via internet. Muitas mudanças no curso da história humana se deram pela decifração de cartas e documentos. Entre elas, temos a morte de Maria, a rainha da Escócia e a entrada dos Estados Unidos na Primeira Guerra Mundial. A proliferação dos computadores e sistemas de comunicação em 1960 criou uma grande demanda do setor privado buscando, na Criptografia, meios para proteger a informação na forma digital e fornecer serviços de segurança. Esta fase começou com o trabalho de H. Feistel na IBM em 1973, culminando em 1977, com a adoção de um Processamento Padrão de Informação Federal (USA) para criptografar informação não classificada; a DES (Data Encryption Standard) é o mecanismo criptográfico melhor conhecido na história. Um trabalho relevante na pesquisa sobre Criptografia apareceu em 1976, 3

6 quando W. Diffie e M. Hellman publicaram o artigo New Directions in Cryptography. Este trabalho introduz o conceito inovador de Criptografia de Chave Pública e fornece um novo e engenhoso método para troca de chave, cuja segurança esta baseada na impossibilidade do Problema do logaritmo discreto. A Criptografia RSA trabalha com algoritmos computacionais utilizando a chave pública. Esse código foi inventado em 1978 por Ron L. Rivest, Adi Shamir e Len Adleman que, na época, trabalhavam no Massachussets Institute of Technology (M.I.T.). As letras RSA correspondem às iniciais dos inventores do código. A segurança desse sistema criptográfico está baseada em um antigo problema matemático: obter os fatores primos de um número dado. O RSA explora essa situação ao utilizar um número, que atualmente varia de 512 a 1024 bits, e que é o produto de dois números primos muito grandes. Diversos métodos de fatoração foram desenvolvidos. Vários matemáticos estudaram caminhos alternativos para solucionar este problema tais como Carl Gauss, Leonard Euler e Pierre de Fermat. Mas essa área era considerada inútil para fins práticos. No entanto, com o advento da cifra assimétrica, a mesma se tornou interessante a todos os profissionais relacionados à tecnologia da informação, inclusive aos matemáticos. A engenhosidade de todos esses profissionais produziram resultados importantes no problema da fatoração. No entanto, nenhum método desenvolvido é considerado satisfatório a fim de ser executado em tempo polinomial, e portanto, o tamanho da chave é suficiente para garantir a segurança da informação no método RSA, em tempo real. O algoritmo RSA foi patentiado pelo M.I.T. em 1983 nos Estados Unidos, mas expirou em 21 de setembro de O RSA é, atualmente, o mais usado em aplicações comerciais. Este é o método utilizado, por exemplo, no Netscape, o mais popular dos softwares de navegação na Internet. 4

7 Capítulo 2 Teoria dos Números e Álgebra 2.1 Divisibilidade e propriedades Definição 1. Sejam a, b Z, com a 0. Dizemos que a divide b, se existir c Z tal que b = ac. Observação: O inteiro c é único. Notação: a b significa, a divide b ou b múltiplo de a. Propriedades fundamentais: (1) a a, para todo a Z. (2) Se a b e b c, então a c, para todo a, b Z. (3) Se a b e c d, então ac bd. (4) Se a b, então a mb, para todo m Z. (5) Se a b e a c, então a (bx + cy), x, y Z. (6) Se a b e b a, então a = ±b. Antes de enunciar e demonstrar o Algoritmo da Divisão, enunciamos a chamada Propriedade de Arquimedes. Propriedade de Arquimedes. Dados a, b Z, com b 0, então a é múltiplo de b ou se encontra entre dois múltiplos consecutivos de b, ou seja, para b > 0, temos qb a < (q + 1)b, e para b < 0, temos qb a < (q 1)b, onde q Z. O Algoritmo da Divisão Sejam a, b Z, com b 1. Então existem números inteiros únicos, q e r, tais que a = qb + r, com 0 r < b. 5

8 Prova: Existência: Pela Propriedade de Arquimedes, como b > 0, existe q Z, satisfazendo a condição qb a < (q + 1)b. Isto implica que 0 a qb e a qb < b. Desta forma, se definirmos r = a qb, teremos garantida a existência de q e r inteiros. Unicidade: Suponha a existência de q 1 e r 1 tais que a = q 1 b + r 1, com 0 r 1 < b. Segue que (qb + r) (q 1 b + r 1 ) = 0, de onde b(q q 1 ) = r 1 r, o que implica b (r 1 r). Mas, como r 1 < b e r < b, temos r 1 r < b. Assim r 1 r = 0, pois b (r 1 r). Portanto, r 1 = r e consequentemente, q 1 = q. Máximo Divisor Comum e Mínimo Múltiplo Comum Definicão 2. Um inteiro, não negativo, d é o máximo divisor comum dos números inteiros a e b (denota-se por d = mdc(a, b)), se (a) d a e d b (ou seja, d é um divisor comum); (b) Se c a e c b então c d (ou seja, d é o maior dos divisores comuns). Definição 3. Um inteiro não negativo, d, é o mínimo múltiplo comum dos números inteiros a e b )denota-se por d = mmc(a, b)), se (a) a d e b d (ou seja, d é múltiplo comum); (b) se a c e b c então d c (ou seja, d é o menor dos múltiplos comuns). Definição 4. Dois inteiros a e b são ditos primos relativos se mdc(a, b) = 1. É conhecido um método para determinar o mdc(a, b), chamado método das divisões sucessivas. O resultado a seguir usa esse argumento para mostrar que existe o mdc de dois números inteiros e é igual ao último resto não-nulo das divisões sucessivas realizadas. Algoritmo de Euclides. Sejam r 0 = a e r 1 = b inteiros não-negativos, com b 0. Se o algoritmo da divisão for aplicado sucessivamente para se obter r j = q j+1 r j+1 + r j+2, com 0 r j+2 < r j+1, para j = 0, 1, 2,, n 1 e r n+1 = 0, então mdc(a, b) = r n, o último resto não-nulo. Usando o algoritmo de Euclides, partindo da última divisão (que deu o mdc) e substituindo sucessivamente nas igualdades anteriores, é obtida a seguinte propriedade fundamental do máximo divisor comum. 6

9 Propriedade: Se d = (a, b), então existem números inteiros r, s tais que d = ra + sb. 2.2 Números Primos e propriedades Definição 1. Um inteiro p 2 é dito primo se seus únicos divisores positivos são 1 e p. Se p não é primo, então p é dito composto. Proposição 1. Se p é primo e p ab, então p a ou p b. Prova: De fato, suponha que p a, ou seja, mdc(a, p) = 1, pois p é primo. Assim, existem inteiros r, s tais que 1 = ra + sp. Multiplicando a igualdade em ambos os lados por b temos b = r(ab) + p(sb). Como p ab, então existe um inteiro k tal que ab = pk. Substituindo na igualdade acima obtemos o que implica que p b. b = (rk)p + (sb)p = p(rk + sb) Teorema do Número Primo. Seja Π(x) denotando o número de número de primos que são menores ou iguais do que x. Então lim x Π(x) x/ ln x = 1. Teorema Fundamental da Aritmética Todo número inteiro, maior do 1, pode ser representado de maneira única, salvo a ordem dos fatores, como n = p e 1 1 p e 2 2 p e p e k k, onde os p i são primos distintos e e i inteiros positivos. Teorema 2. Existem infinitos números primos. Das várias demonstrações para existem para este teorema, vamos apresentar a demonstração feita por contradição, dada por Euclides. Prova: Seja p 1, p 2,..., p n a lista de todos os primos. Considerando o número R = p 1 p 2...p n +1, é claro que R não é divisível por nenhum dos p i da lista considerada acima e que R é maior do que qualquer p i. Mas, pelo Teorema Fundamental da Aritmética, ou R é primo ou possui algum fator primo e isto implica na existência 7

10 de um primo que não pertence àquela lista. Portanto a sequência dos números primos não pode ser finita. Proposição 3. Sejam os números inteiros a = p e 1 1 p e p e k k e b = p f 1 1 p f p f k k, onde e i 0 e f i 0, para i = 1, 2,, k. Então mdc(a, b) = p min(e 1,f 1 ) 1 p min(e 2,f 2 ) 2... p min(e k,f k ) k mmc(a, b) = p max(e 1,f 1 ) 1 p max(e 2,f 2 ) 2... p max(e k,f k ) k Lema 4. Se a, b Z, então max(a, b) + min(a, b) = a + b. Prova: Se a = b então max(a, b) = min(a, b) = a = b. Logo max(a, b) + min(a, b) = a + b. Se a b, sem perda de generalidade, podemos considerar a < b. Logo max(a, b) = b e min(a, b) = a. Portanto, max(a, b) + min(a, b) = a + b. Proposição 4. Se a e b são inteiros positivos então mmc(a, b)mdc(a, b) = ab. Prova: Suponha a = p e 1 1 p e p e k k e b = p f 1 1 p f p f k k, onde cada e i 0 e f i 0. Então segue que, mdc(a, b) mmc(a, b) = k i=1 p min(a i,b i ) i k i=1 p max(a i,b i ) i = k i=1 p min(a i,b i )+max(a i,b i ) i. Pelo lema acima, temos k i=1 o que prova o resultado. p min(a i,b i )+max(a i,b i ) i = k i=1 p (a i+b i ) i = ab, Definição 4. Para n 1, a função Φ(n) denota o números de inteiros no intervalo [1, n], que são relativamente primos à n. Esta função Φ é chamada de Função Totiente de Euler. Propriedades: (1) Se p é primo, então Φ(p) = p 1. De fato, seja S = {1, 2,..., p 1} o conjunto de todos os números menores que p. Dado m S, temos que p m, pois m < p. Além disso, p é primo e portanto 8

11 mdc(p, m) = 1, para qualquer que seja m S. Como S contém p 1 elementos, segue que Φ(p) = p 1. (2) A função Φ é multiplicativa, isto é, se mdc(m n) = 1 então Φ(m, n) = Φ(m)Φ(n). (3) Se n = p e 1 1 p e p e k k, com p i primos e e i 0, para todo i, então Φ(n) = n(1 1 p 1 )(1 1 p 2 )... (1 1 p k ). Assim, se n é um número composto que pode ser fatorado como o produto de dois números primos p e q então φ(n) = (p 1)(q 1). Proposição 5. Para todo inteiro n 5, Φ(n) > 2.3 Congruências Lineares n 6 ln ln n. Definição 5. Sejam a, b, n Z com n > 1. Dizemos que a é congruente com b, módulo n, se n divide a b. Notação: Denota-se a congruência por a b (mod n). Propriedades: Sejam a, b, c, d Z. São válidas: (1) (Reflexiva) a a (mod n). (2) (Simétrica) Se a b (modn) então b a (mod n). (iii)(transitividade) Se a b (mod n) e b c (mod n), então a c (mod n). (iv)se a b (mod n) e c bd (mod n). (mod n) então a + c b + d (mod n) e ac Por essas três propriedades serem atendidas temos que a relação de congruência é uma relação de equivalência Uma aplicação Um dos métodos mais antigos de criptografia era usado pelo grande imperador da Roma, Júlio César, a cerca de 50A.C.. César escrevia para Marcus Cícero usando a rudimentar cifra de substituição onde a cada letra do alfabeto correspondia outra letra algumas posições à frente da letra cifrada. Como por exemplo: 9

12 T EXT O : ABCDEF GHIJKLMNOP QRST UV W XY Z CIF RA : DEF GHIJKLMENOP QRST UV W Y ZABC A cifra de César pode ser descrita usando congruência modular. Primeiramente, cada letra do alfabeto será expressa numericamente em dois dígitos como abaixo: Tabela 03 A B C D E F G H I J K L M N O P Q R S T U V W Y X Z Se C é a letra a qual queremos cifrar e P é a letra a qual corresponde a letra cifrada, então: C P + 3 (mod 26). Para descobrir o texto basta aplicar o procedimento reverso da congruência: P C 3 C + 23 (mod 26). 2.4 Anéis e Grupos Anéis Definição: Seja A um conjunto não vazio e duas operações definidas nele (que chamaremos de adição, +, e multiplicação, ). O conjunto A é um anel se são válidas as propriedades: (1) Associatividade aditiva: (a + b) + c = a + (b + c). (2) Comutatividade da adição: a + b = b + a. (3) Elemento neutro aditivo: Existe 0 A tal que a + 0 = 0 + a = a. (4) Elemento inverso aditivo: Para a A existe um único a, tal que a + ( a) = ( a) + a = 0. (5) Associatividade da multiplicação: a(bc) = (ab)c. (6) Leis Distributivas: a(b + c) = ab + ac e (a + b)c = ac + bc. Além disso, temos: (a) A é um anel com unidade 1 se existir 1 A, 0 1, tal que a1 = 1a = a, para qualquer a A. 10

13 (b) A é um anel comutativo, se para quaisquer a, b A temos: ab = ba. (c) A é um anel sem divisores de zero se, para quaisquer a, b A, ab = 0 então ou a = 0 ou b = 0. (d) A é um anel de integridade se (A, +, ) é um anel comutativo, com unidade e sem divisores de zero. (e) (A, +, ) é um corpo se é um anel de integridade, onde todo elemento não-nulo possui inverso multiplicativo. Exemplo: O protótipo de anel é o conjunto Z, com as operações de adição e multiplicação usuais, onde 1 é a unidade e 0 o elemento neutro aditivo. Os conjuntos Q, R, C são exemplos de corpos. Ideal e Anel Quociente: Definição: Sejam A um anel e J um subconjunto de A. J é um ideal de A se (1) 0 J (2) Se a, b J então a b J. (3) Para a J e x A temos a) ax J, ideal à esquerda, b) xa J, ideal à direita. Exemplo: Para A um anel e x A, temos que J = Ax = {ax : a A} é um ideal (à esquerda) gerado por x. No caso A = Z, e x = 3, o ideal 3Z está formado pelos múltiplos de 3. Definição: O ideal J = Ax é dito ideal principal (à esquerda) gerado por x A. Sejam A um anel e J = Az, z A, um ideal principal de A. Para x, x A, defina-se a relação: x x (mod J) x x J. A relação " " é uma relação de equivalência em A. O conjunto x = {y A : y x (mod J)} é a classe de equivalência do elemento x A, relativamente a relação. Observar que y x y x J. Notação: x = x + J = {x + z : z J}. 11

14 Definição: O conjunto quociente de A pelo ideal J está formado pelas classes de equivalência de A, ou seja, A/J = {x = x + J : x A}. Definindo em A/J as operações de adição e multiplicação de classes, verifica-se que A/J é um anel, o anel quociente de A. Denotamos por Z n o conjunto quociente do anel Z pelo ideal J = Zn = nz. Esse conjunto é um anel comutativo, com identidade 1 e contém exatamente n classes de equivalência. É comum denotá-lo por Z n = {0, 1, 2,, n 1}. Definição: a Z n é inversível se existir b Z n tal que ab = ba = 1. Anel de polinômios Definição: Seja A um anel. Um polinômio p, na indeterminada x e com coeficientes em A, é uma expressão da forma p(x) = a 0 + a 1 x + a 2 x a n x n, onde n é um inteiro não negativo e a 0, a 1,..., a n A. O polinômio p(x) = 0 + 0x + 0x x n é o polinômio nulo. Denota-se por A[x] o conjunto de todos os polinômios na indeterminada x e com coeficientes no anel A. No que segue, tomaremos A = K como sendo um corpo. Sejam os polinônios p(x) = a 0 + a 1 x + a 2 x a n x n e q(x) = b 0 + b 1 x + b 2 x b n x n. Igualdade: p(x) = q(x) se e somente se a i = b i, para i = 0, 1,, n. Adição: p(x) + q(x) = c 0 + c 1 x + c 2 x a k x k, onde c i = a i + b i. Multiplicação: p(x)q(x) = c 0 +c 1 x+c 2 x a n x n, onde c k = n i=0 a ib k i. Verifica-se que (K[x], +, ) é um anel de integridade. Dado p(x) = a 0 + a 1 x + a 2 x a n x n K[x], com a n 0. Dizemos que n é o grau do polinômio p(x). Denota-se por n = gr(p(x) Definição: Um polinômio é dito mônico se o seu coeficiente do termo de maior grau é igual a 1. Ao estudar o anel de polinômios K[x], os conceitos e resultados que aparecem são homólogos ao caso do anel Z. Assim, são válidos o Algoritmo da Divisão, Máximo Divisor Comum, Mínino Divisor Comum, fator irredutível e outros. Ainda 12

15 mais importante é o fato de que as demonstrações em K[x] são uma "tradução" das demonstrações que se dão em Z. Além disso, é possível generalizar tais conceitos e resultados para uma classe ainda mais geral de aneis (por exemplo, os domínios de fatoração única, os domínios principais, os domínios euclidianos), dos quais K[x] e Z são casos particulares Grupos Definição: Um conjunto G, munido de uma operação, é um grupo se, para quaiquer a, b, c G, são válidas (1) Associatividade: a (b c) = (a b) c. (2) Elemento neutro: Existe um elemento e G tal que a e = e a = a. (3) Elemento inverso: Dado a G, existe um elemento a 1 G, tal que a a 1 = a 1 a = e. Se para quaisquer a, b G, é satisfeita a propriedade a b = b a, dizemos que G é um grupo abeliano. Exemplo: O conjunto U(n) = {a Z n : mdc(a, n) = 1}, dos elementos invertíveis de Z n, com a operação de multiplicação de classes, é um grupo abeliano. Em particular, se n é primo então U(n) = {a : 1 a n 1}. Desta forma, o número de elementos de U(n) é igual a φ(n) = n 1. Definição: A ordem de um grupo é o seu número de elementos. Definição: Um grupo G é dito finito se a sua ordem é finita. A ordem do grupo U(n) é dado pela função de Euler φ(n). Subgrupos Definição: Seja (G, ) um grupo. Um subconjunto não vazio, H de G, é um subgrupo se: (1) Para todo a, b H, a b H. (2) O elemento neutro de G está em H. (3) Para todo a H, seu inverso a também está em H. Teorema de Lagrange: Em um grupo finito, a ordem de qualquer subgrupo divide a ordem do grupo. Esse teorema é muito importante na construção de subgrupos e grupos cíclicos. Subgrupos Cíclicos 13

16 Sejam (G, ) um grupo finito e a G. Para k Z, temos O conjunto das potências de a: a k = a} a a{{... a}. k vezes H = {e, a, a 2, a 3, }, é um subgrupo finito de G. Assim, existe um inteiro positivo m, tal que para todo n > m, vale a m = a n, de onde segue a n m = e. o elemento neutro. Assim: (1) Dado a G, existe um inteiro positivo k tal que a k = e. (2) Se a k = e, então o inverso de a é a k 1. Logo o inverso de a está em H. O subgrupo H de G descrito acima é dito subgrupo cíclico e é gerado por a. O menor inteiro positivo k tal que a k = e é chamado a ordem de a. Concluímos que H = {e, a, a 2, a 3,, a k 1 }, onde todos os elementos são distintos. Assim a ordem de H é k. Seja G um grupo cuja ordem é o número primo p. Para a e em G, considere o subgrupo H formado pelas potências de a. Pelo Teorema de Lagrange, a ordem de H divide a ordem de G. Logo, a ordem de H é p e assim H = G. Portanto, todos os grupos de ordem um número primo são cíclicos. Mas a recíproca nem sempre é verdadeira. Um exemplo disso é o grupo U(5), que tem ordem φ(5) = 4 e é cíclico, gerado por 2. Grupo Quociente Sejam, (G, ) um grupo abeliano e H um subgrupo de G. Para x, y G, definimos a relação: x y (mod) H x y 1 H. A relação é uma relação de equivalência. A classe de equivalência de x é x = {y G : y x(modh)}. Mas, y x (mod H) significa dizer que y x 1 = h H, isto é y = h x. Portanto, a classe de equivalência de x é o conjunto x = {h x : h H}. Segue que x = ŷ se, e somente se, x y(modh). Em particular, a classe do elemento neutro e é H, ou seja, x H se e somente se x = ê. O conjunto das classes de equivalência de G, pela congruência módulo H é denotado por G/H. Em G/H definimos a operação â b = â b e assim (G/H, ) é um grupo abeliano. 14

17 Capítulo 3 Custos Algorítmicos Computacionais A Teoria da Complexidade Algorítmica estuda os aspectos relacionados aos recursos necessários (tais como tempo, espaço, número de bits e número de processadores) para resolver um determinado problema. Atualmente, os computadores resolvem problemas mediante algoritmos que tem uma complexidade ou custo computacional polinômico, que é menor que o custo computacional exponencial. Neste capítulo, introduzimos alguns conceitos e resultados acerca dos custos computacionais de algoritmos, em particular, daqueles usados neste trabalho. Definições: (a) A classe de complexidade P é o conjunto de todas as decisões dos problemas que são resolvidos em tempo polinomial. (b) A classe de complexidade NP é o conjunto de todas as decisões de problemas lógicos (sim ou não), as quais podem ser verificadas em tempo polinomial. Os problemas com custo fatorial ou combinatório estão agrupados em NP. A importância dessa complexidade pode ser observada no exemplo a seguir, que mostra 5 algoritmos de complexidades diferentes, A1 A5, para resolver um mesmo problema. Suponha que cada operação leva 1 milisegundo de tempo para ser efetuada. A tabela seguinte fornece o tempo necessário por cada um dos algoritmos dados, (T k (n) é a complexidade do algoritmo). 15

18 Tabela 01 A1 A2 A3 A4 A5 n T 1 (n) = n T 2 (n) = nlogn T 3 (n) = n 2 T 4 (n) = n 3 T 5 (n) = 2 n 16 0, 016s 0, 064s 0, 256s 4s 30dias e 4s 32 0, 032s 0, 16s 1s 33s 46dias 512 0, 512s 9s 120dias e 22s 1dia e 13h anos O tempo de execução de um problema considera o número de passos necessários para resolver uma instância dele, a partir do tamanho da entrada, utilizando o algoritmo mais eficiente à disposição. Intuitivamente, no caso uma instância com entrada de longitude n que pode se resolver em n 2 passos, dizemos que esse problema têm uma complexidade em tempo de n 2. Supostamente, o número exato de passos depende da máquina em que se programe, da linguagem utilizada e de outros fatores. 3.1 Custo das operações elementares Sejam a = (a k 1, a k,..., a 1, a 0 ) 2 e b = (b k 1, b k,..., b 1, b 0 ) 2, as representações binárias dos inteiros a e b. 1. Soma: Passo 1: Calculamos a 0 + b 0. Se a 0 + b 0 < 2 então s 0 = a 0 + b 0 é o algarismo das unidades de a + b. Se a 0 + b 0 = 2 então s 0 = 0 e "vai" 1. O tanto que "vai" para o próximo passo é conhecido como reserva. Passo 2: Calculamos a 1 + b 1, se a reserva é zero, ou a 1 + b 1 + 1, se houver reserva não nula. A seguir, repetimos este procedimento até i = k. Exemplo: Para 12 = (0011) 2, 8 = (0001) 2, temos 1 o Passo a 0 + b 0 = 2, logo s 0 = 0 e "vai" 1. 2 o Passo a 1 + b = 2, logo s 1 = 0 e "vai"1. 3 o Passo a 2 + b = 1 < 2, logo s 2 = 1 e reserva igual a 0. 4 o Passo a 3 + b 3 = 0 < 2, logo s 3 = 0 e s 4 = 1 Assim, = 20 = (00101) Neste caso, é claro que não é necessário efetuar mais do que 2k operações aritméticas elementares. 2. Multiplicação: 16

19 Primeiro multiplicamos b por cada bit de a e depois efetuamos a soma dos resultados. Teremos k produtos elementares e no máximo 2k 1 operações para cada elemento de b. Mas como b possui k elementos, teremos k(2k 1) operações. Temos ba i = (c i,k+1 ;... ; c i,1 ; c i,0 ) 2 c k,k+1... c k,1 c k,0 e então a soma pode ser escrita na forma: c 0,k+1... c 0,1 c 0,0 c 1,k+1... c 1,1 c 1,0 c 2,k+1... c 2,1 c 2,0. Levar em conta que o número de somas realizadas em cada coluna não pode exceder 2k. Como temos k colunas, podemos somar todos estes números a um custo de 2k 2 somas elementares. Juntando tudo, não realizamos mais do que 4k 2 k operações aritméticas elementares. Definição: Sejam f e g, duas funções cujos domínio é N ou R, e contradomínio R. Dizemos que f(x) é O(g(x)), ou seja, f(x) é de ordem g(x), se existirem constantes c 1 e c 2 tais que f(x) c 1 g(x), sempre que x > c 2. Exemplo: Seja f(x) R[x], grau n. Então f(x) é O(x n ). Prova: De fato, seja f(x) = a n x n +a n 1 x n a 0 x 0, com a n 0. Escolha um número real b > a n. Como f(x) lim x bx n.. = a n b < 1, Concluímos que, para x suficiente grande, teremos f(x) bx n, ou seja, f(x) é O(x n ). Propriedades: Sejam f 1, f 2, g 1, g 2 : N R. Se f 1 = O(g 1 ), f 2 = O(g 2 ) então f 1 + f 2 = O(max {g 1, g 2 }) f 1 f 2 = O(g 1 g 2 ) Em particular, se tanto f 1 quanto f 2 são O(g 1 ), então f 1 + f 2 = O(g 1 ) e f 1 f 2 = O(g 2 1). Quando um problema tem custo O em uma configuração de computador e linguagem, este custo será o mesmo em todos os computadores, ou seja, essa notação generaliza a noção de custo computacional, independentemente do equipamento utilizado. 17

20 3.2 Testes de Primalidade Para implementar o método RSA é necessário escolher dois primos p e q relativamente grandes. Recomenda-se fazer a escolha de primos com o número de dígitos maior ou igual a 100. Existem algum testes de primalidade antigos, como os apresentados abaixo, e alguns desses são utilizados na implementação do método. No entanto, nenhum deles é eficiente com números grandes. Pequeno Teorema de Fermat: Se p é primo e a é um inteiro tal que mdc(a, p) = 1 então a p 1 1 (mod p) Prova: Dados p e a com p a, consideramos os conjuntos {1, 2, 3,..., p 1} e {a, 2a, 3a,...(p 1)a}. Afirmamos que a, 2a, 3a,..., (p 1)a 0 (mod p). De fato, se i, j 1, 2, 3,..., p 1 e ia ja (mod p), concluímos i j (mod p), pois mdc(a, p) = 1. Assim i = j, dado que 0 i, j < p. Isto implica que os números a, 2a, 3a, 4a,...(p 1)a são incongruentes entre si mod p. Logo, a, 2a, 3a, 4a,...(p 1)a são congruentes, em alguma ordem, aos 1, 2, 3,..., p 1. Podemos concluir então que (p 1)! = p 1 a.2a.3a.4a...(p 1)a, ou seja, (p 1) a (p 1) (p 1)! (mod p). Como mdc((p 1)!, p) = 1 então a (p 1) 1 (mod p). Teorema de Fermat: Para qualquer primo p e qualquer a Z temos a p a (mod p) Prova: Temos duas possibilidades a considerar: 1 o Caso : Se p a, então p a(a (p 1) 1), ou seja, p a p a, e portanto a p a (mod p). 2 o Caso: Se p a, então pelo Pequeno Teorema de Fermat, a p 1 1 (mod p). Multiplicando a congruência por a obtemos a p a (mod p). Teorema de Euler: Se a U(n) então a φ(n) 1 (mod n). Um caso particular do teorema de Euler é o Pequeno Teorema de Fermat. Recíproca do Teorema de Wilson: Se n é um número inteiro positivo tal que (n 1)! 1 (mod n), então n é primo. Prova: De fato, se n é um número positivo não primo então n = pq, com p e q primos e 1 < p, q < n 1. Desta forma, p divide n e também (n 1)!, e portanto (n 1)! 1 (mod n). 18

21 Teorema da Raiz Primitiva: Se p é primo então U(p) é cíclico. Segundo este teorema, se p é primo então existe um elemento b U(p), cuja ordem é exatamente p 1, ou seja, b (p 1) 1 (mod p), mas b r 1 (mod p), se r < p 1. Digamos que é dado um número ímpar n e que achamos b U(n) cuja ordem é exatamente n 1. Pelo Teorema de Lagrange, a ordem de b tem que dividir a ordem de U(n). Logo n 1 tem que dividir φ(n). Entretanto φ(n) n 1. Concluímos assim que φ(n) = n 1. Portanto n é primo. Teste de Lucas: Seja n um inteiro positivo ímpar e b um inteiro tal que 2 b n 1. Se b n 1 1 (mod n) e b n 1/p 1 (mod n), para cada fator primo p de n 1, então n é primo. 19

22 Capítulo 4 Método de Criptografia RSA 4.1 Introdução Dentre dos métodos criptográficos de chave pública, o RSA é o mais conhecido e, atualmente, o mais usado, sobre todo em aplicações comerciais. Este sistema de criptografia é muito útil para o comercio eletrónico via Internet, assim como para navegar nela, atraves do Netscape. Esse método foi inventado em 1978 por R. L. Rivest, A. Shamir e L. Adleman, quando trabalhavam no Massachussets Institute of Technology (M.I.T.). O RSA, por ser um método de chave pública, permite que qualquer usuário codifique mensagens, mas como a chave de decodificação é secreta, só o destinatário legítimo poderá decodificá-la. A impossibilidade de quebrar a chave de decodificação é possível pela não existência de algoritmos eficientes para a fatoração de inteiros em fatores primos, sobre todo, se o número de algarismos é 100 ou maior. O tempo de codificação de uma mensagem é praticamente deprezível, mas o tempo de decodificação pode tornar o processo inviavel. 4.2 Descrição do método RSA A chave de codificação do RSA esta constituída essencialmente por n = pq, onde p e q são primos grandes e distintos. Temos que escolher um inteiro e de forma que mdc(φ(n), e) = 1 e 1 < e < φ(n). O par de inteiros n e e são feitos públicos. Os números primos podem ser testados, quanto a primalidade, através de testes probabilísticos, e a escolha mais popular é um número maior ou igual a = Cada letra do alfabeto é colocada em correspondência biunívoca com um número de dois algarismos. Analogamente, ao espaço entre as palavras corresponde um 20

23 número, também de dois algarismos, diferente dos demais. Após da pre-codificação, é obtida uma sequência de números, a qual é preciso separar em blocos apropriadamente. Denotaremos esses blocos por M i, onde i = 1, 2,..., k. Para cada inteiro M i, relativamente primo com n, temos: M φ(n) 1(mod n). (1) Já que para cada primo p, temos φ(p) = p 1, segue, das propriedades da função totiente de Euler, que φ(n) = φ(p)φ(q) = (p 1)(q 1). O bloco codificado é o resto da divisão Mi e C(M i ), de forma que: por n. Agora, devemos calcular M e i C(M i )(mod n). (2) Para decifrar a mensagem é necessário encontrar um número d tal que ed 1(mod (p 1)(q 1)). (3) Para isso, basta resolvermos, através do Algoritmo Euclidiano, a equação ed + yφ(n) = 1. Após determinar d, achamos o resto da divisão de C(M i ) d por n. Assim, de (1), (2) e (3) segue que C(M i ) d (M e i ) d M 1+φ(n)t i M(M φ(n) ) t M(1 t ) M(mod n) Um exemplo: Para ilustrar o processo descrito acima, vamos codificar a frase CIFRAR É UMA ARTE. Primeiro, fazemos a conversão da mensagem dada, (pre-codificação), para uma sequência númerica, de acordo com a tabela 04 abaixo. Tabela 04 A B C D E F G H I J K L M N O P Q R S T U V W Y X Z

24 Assim obtemos a sequência: Escolhemos p = 11, q = 7 e o número e = 11. Assim, a chave feita pública é o par (77, 11) e a ordem de n é φ(77) = (11 1)(7 1) = 60. Neste caso, a mensagem pode ser quebrada nos seguintes blocos: Logo, codifica-se cada bloco e resultam Bloco 121 : (121) 11 (44) 11 (44 2 ) 4 (11) 3 (11) (mod 77) Bloco 81 : (81) 11 (4 4 ) (4) 3 37(mod 77) Bloco 527 : (527) 11 (65) 11 (23) 2 (67)(65) 32(mod 77) Bloco 102 : (102) 11 (25) 11 (4 2 )(9)(25) 58(mod 77) Bloco 79 : (79) 11 (2) 11 46(mod 77) Bloco 914 : (914) 11 (67) 11 (23) 5 (67) 23(mod 77) Bloco 99 : (99) 11 (22) 11 (22) 5 22(mod 77) Bloco 302 : (302) 11 (71) 11 (64) 2 (36)(71) 71(mod 77) Bloco210 : (210) 11 (56) 11 56(mod 77) Bloco 72 : (72) 11 (25 5 )(72) 39(mod 77). Obtemos assim a mensagem cifrada: Para decifrar a mensagem temos que determinar o número inteiro positivo d através da equação diofantina 11d + y60 = 1. Aplicando o Algoritmo Euclidiano Estendido obtemos d = 11. Logo, decodificamos os blocos codificados e resultam 22

25 Bloco 11 : (11) 11 (44) 2 (11) (11) 2 121(mod 77) Bloco 37 : (37) 11 (60) 5 (37) (15)(67) 81(mod 77) Bloco 32 : (32) 11 (23) 5 (32) (mod 77) Bloco 58 : (58) 11 (37) 2 (53)(58) (mod 77) Bloco 46 : (46) 11 (37) 5 (46) (67)(46) 79(mod 77) Bloco 23 : (23) 11 (23) 2 equiv67 914(mod 77) Bloco 22 : (22) (mod 77) Bloco 71 : (71) (mod 77) Bloco 210 : (56) (mod 77) Bloco 72 : (39) 11 (58) 39 (37)(58)(39) 72(mod 77) Assim, é obtida a sequência original e portanto, recuperada a mensagem. 4.3 Segurança do RSA Como já se sabe, o RSA é um método de chave pública, pois o par (n, e) é acessível a qualquer usuário. Na prática, só podemos calcular d se soubermos a ordem, φ(n), de n e o número e. O fato é que para calcular a ordem de n é necessário fatorá -lo para obter p e q, uma vez que não é conhecida outra forma de encontrar rapidamente a ordem do número. Se n for muito grande, este é um problema complexo. Métodos conhecidos de fatoração para números grandes (1) Algoritmo de fatoração de Richard Schroeppel. Ele pode fatorar n em aproximadamente exp ln(n).ln(ln(n)) = n lnln(n)/ln(n) = (ln(n)) ln(n)/ln(ln(n)) 23

26 degraus. A tabela 05 mostra o número de operações necessárias para fatorar n e o tempo requerido em cada operação em um microssegundo para cada quantidade de dígitos decimais do número n. Tabela 05 Dígitos Número de Operações Tempo 50 1, , 9 horas 70 9, dias 100 2, anos 200 1, , anos 300 1, , anos 500 1, , anos (2) O método General Number Field Sieve (GNFS) estudado por Shamir e Arjem Lenstra. Este método é uma extensão do método chamado Special Number Field Sieve (SNFS). Ele é o algoritmo mais eficiente conhecido atualmente para fatorar números com um número de dígitos maior do que 100. [Ver [4], [5], [8], [10]]. Observação: Algoritmos "turbinados" e o uso de computadores super-velozes fariam a fatoração provavelmente mais rápida, mas não significativamente menor, para números muito grandes. A título de ilustração, considere que o bloco C a ser codificado tenha 100 casas decimais e que e tenha 50 casas decimais. Dessa forma, para cifrar o bloco haveria um cálculo da ordem de: C e [ ] (10)50 É importante observar que um número dessa grandeza não poderia ser armazenado em qualquer computador. No entanto, é possível obter o módulo deste número, evitando a explosão de memória. Outro problema que surge no método RSA é a necessidade de gerar números primos grandes aleatoriamente. Diante disso, acredita-se que quebrar o RSA e fatorar n sejam problemas equivalentes. Atualmente, pesquisa-se sobre o computador quântico, que seria capaz de fatorar números e verificar primos com uma velocidade enorme. Isto acabaria com a majestade do RSA e surgiria uma nova criptografia, a chamada criptografia quântica. 4.4 Assinaturas no RSA O método RSA também pode ser utilizado para verificar a originalidade das mensagens. Para implementar um sistema de assinaturas digitais com RSA, o utilizador 24

27 que possua uma chave privada d, poderá assinar uma mensagem dada (em blocos), M, com a seguinte expressão: s M d (mod n) De fato, é difícil descobrir s sem o conhecimento de d. Portanto, uma assinatura digital descrita acima é dificilmente forjada. O receptor recupera a mensagem utilizando a chave pública e do emissor e portanto: s e (M d ) e M(mod d) Assim, o receptor poderá validar a assinatura do emissor calculando s e (mod n). A assinatura varia de acordo com a mensagem e opera-se o tamanho da assinatura sobre as mensagens longas. Para melhorar essa situação, faz-se operar o algoritmo sobre um resumo da mensagem, o chamado digest, ou pode-se ser produzido um valor hash, também diminuindo a mensagem, porém ambas identificando a mesma como única. 4.5 Alguns algoritmos importantes Em Z Sejam a, b inteiros não negativos e menores ou iguais que n. O número de bits utilizados para as quatro operações básicas com números inteiros (adição, subtração, multiplicação e divisão) são: Tabela 02 Operação Bits Adição (a + b) O(lg a + lg b) = O(lg n) Subtração (a b) O(lg a + lg b) = O(lg n) Multiplicação (ab) O((lg a)(lg b)) = O((lg n) 2 ) Divisão (a = bq + r) O((lg a)(lg b)) = O((lg n) 2 ) Apresentamos a seguir a implementação do Algoritmo Euclidiano, para determinar o máximo divisor comum de dois números inteiros. Algoritmo Euclidiano Entrada: Dois inteiros positivos a e b, com a b. Saída: O máximo divisor comum entre a e b. 1. Enquanto b 0 faça: 25

28 q int(a/b) r a bq a b b r. 2. Retorne a. Algoritmo Euclidiano Estendido Entrada: Dois inteiros positivos a e b, com a b. Saída: d = mdc(a, b)e dois inteiros satisfazendo ax + by = d. 1. Se b = 0 então faça : d a x 1 y 0, retorne (d, x, y). 2. Faça: x 2 1 x 1 0 y Enquanto b > 0 faça: q int(a/b) r a qb x x 2 qx 1 y y 2 qy 1. a b b r x 2 x 1 x 1 x y 2 y 1 y 1 y. 4. d a x x 2 y y 2 e retorne (d, x, y). 26

29 4.5.2 Em Z n Módulo Exponencial: Entrada: a Z n, e k tal que 0 k < n representado na base 2, ou seja, k = t i=0 k i2 i. Sáida: a k (mod n) Inteiro: a, k, b, t, A, n Início Ler: a, n, k b 1 Se (k = 0) então Imprimir b Fim - se A a Se (k 0 = 1) então b a Fim- se Para i de 1 até t faça A A 2 (mod n) Se (k i = 1) então b A.b (mod n) Fim - se Fim Para Imprimir b Fim Para determinar k na base 2: Entrada: número n inteiro positivo na base decimal Saída: número n na base 2 Início Ler n, a, r, i i 0 Enquanto (q 0) Faça q int(n/2) r n q 2 27

30 a i r n q i i + 1 Fim Enquanto Para j de 0 até i 1 faça Imprimir a j 2 j Fim Para Fim O Teorema Chinês do Resto é uma aplicação algorítmica para calcular computacionalmente módulos. Teorema Chinês do Resto: Se o máximo divisor comum entre a i e m i é igual a 1, máximo divisor comum entre m i e m j é igual a 1, para i j e c i inteiro, então o sistema a 1 x c 1 (mod m 1 ) a 2 x c 2 (mod m 2 ) a 3 x c 3 (mod m 3 )... a r x c r (mod m r ) possui solução e a solução é única, módulo m, onde m = m 1 m 2 m 3...m r. A solução do sistema de congruências simultâneas pode ser calculado como x = k i=1 a in i M i (mod n), onde N i = n/n i e M i = N 1 i (mod n i ). Computacionalmente, essa operação pode ser feita a um custo de O((lgn 2 )) bits operacionais. Foram feitos estudos sobre o tempo gasto para codificar e decodificar a mensagem utilizando o sistema RSA com e sem o algoritmo chinês do resto. Esses estudos mostraram que o tempo gasto pelo sistema RSA sem o algoritmo chinês do resto aumenta linearmente enquanto o algoritmo tradicional mantém um tempo quase constante. É importante salientar que os testes foram feitos para números cuja quantidade de dígitos é pequena e portanto a implementação se torna inviável para números grandes. 28

31 4.6 Conclusão O método de Criptografia RSA constitui um exemplo de aplicação de vários ramos da matemática à solução do problema de segurança na comunicação em tempo real. Este método garante a transmissão de informações confidenciais através de redes inseguras, e também pode garantir autenticação do usuário, o que o torna extremamente necessário em transações bancárias. O RSA é facilmente implementado, mas trabalhando com números de ordem grande, é necessário utilizar a computação em paralelo para a resolução do problema em um tempo menor. É por todas essas vantagens é que, atualmente, é o método mais utilizado. Além disso, mesmo com grandes estudos na área de algoritmos poderosos em fatoração dos números, ainda não é conhecido um algoritmo determinista ou aleatório, em tempo polinomial, para encontrar um fator de um inteiro composto n. Este fato empírico é de grande interesse, porque o algoritmo mais popular para criptografia, o RSA, seria inseguro se um algoritmo rápido para fatoração de inteiros pudesse ser implementado. 29

32 Referências [1] Burton, D.M., Elementary Number Theory, 5th Edição, Internacional Series in Pure and Applied Mathematics, [2] Coutinho, S. C., Primalidade em Tempo Polinomial- Uma Introdução ao Algoritmo AKS, Coleção Iniciação Científica, Sociedade Brasileira de Matemática, IMPA, RJ, [3] Coutinho, S. C., Números Inteiros e Criptografia, Série de Computação e Matemática, IMPA, Segunda Edição, [4] Lenstra, A., Tromer, E., Shamir,A., Kortsmit, W., Dodson B., Hughes J. and Leyland, P., Factoring Estimates para a 1024-bit RSA modulus, Asiacrypt [5] Lenstra, A., Computational Methods in Public Key Cryptology, Institute for Mathematical Sciences, National University of Singapore, [6] Menezes, A., Oorschot, P.V., Vanstone, S., Handbook of Applied Criptography, CRC, Press, [7] Ribenboim, P., Números primos: Mistérios e recordes, Coleção Matemática Universitária, IMPA, RJ., [8] Rivest, R. L., Shamir, A., Adlemam, L., A Method for Obtaining Digital Signatures and Public-Key Cryptosystems, Communications, Programming Techniques SL Graham, RL Rivest Editors, [9] Silva, W. L. e Chaves, L. M., A Criptografia RSA e o Algoritmo Chinês do Resto, Journal of Computer Science, [10] Winkipédia, disponível em: < (01 de setembro de 2006). 30

¹CPTL/UFMS, Três Lagoas, MS,Brasil, oliveiralimarafael@hotmail.com. ²CPTL/UFMS, Três Lagoas, MS, Brasil.

¹CPTL/UFMS, Três Lagoas, MS,Brasil, oliveiralimarafael@hotmail.com. ²CPTL/UFMS, Três Lagoas, MS, Brasil. Encontro de Ensino, Pesquisa e Extensão, Presidente Prudente, 22 a 25 de outubro, 2012 36 INTRODUÇÃO A CRIPTOGRAFIA RSA Rafael Lima Oliveira¹, Prof. Dr. Fernando Pereira de Souza². ¹CPTL/UFMS, Três Lagoas,

Leia mais

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

INE5403 - Fundamentos de Matemática Discreta para a Computação INE5403 - Fundamentos de Matemática Discreta para a Computação 2) Fundamentos 2.1) Conjuntos e Sub-conjuntos 2.2) Números Inteiros 2.3) Funções 2.4) Seqüências e Somas 2.5) Crescimento de Funções Divisão

Leia mais

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

Monografia sobre R ser um Domínio de Fatoração Única implicar que R[x] é um Domínio de Fatoração Única. Universidade Estadual de Campinas Instituto de Matemática, Estatística e Computação Científica Departamento de Matemática Monografia sobre R ser um Domínio de Fatoração Única implicar que R[x] é um Domínio

Leia mais

MÉTODOS DISCRETOS EM TELEMÁTICA

MÉTODOS DISCRETOS EM TELEMÁTICA 1 MÉTODOS DISCRETOS EM TELEMÁTICA MATEMÁTICA DISCRETA Profa. Marcia Mahon Grupo de Pesquisas em Comunicações - CODEC Departamento de Eletrônica e Sistemas - UFPE Outubro 2003 2 CONTEÚDO 1 - Introdução

Leia mais

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

Resíduos Quadráticos e Fatoração: uma aplicação à criptoanálise do RSA 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

Leia mais

CONCEITOS MATEMÁTICOS ENVOLVIDOS NO FUNCIONAMENTO DA CRIPTOGRAFIA RSA

CONCEITOS MATEMÁTICOS ENVOLVIDOS NO FUNCIONAMENTO DA CRIPTOGRAFIA RSA CONCEITOS MATEMÁTICOS ENVOLVIDOS NO FUNCIONAMENTO DA CRIPTOGRAFIA RSA Cristiane Moro 1 Raquel Cerbaro 2 Andréia Beatriz Schmid 3 Resumo: A criptografia visa garantir que somente pessoas autorizadas tenham

Leia mais

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

Material Teórico - Módulo de Divisibilidade. MDC e MMC - Parte 1. Sexto Ano. Prof. Angelo Papa Neto Material Teórico - Módulo de Divisibilidade MDC e MMC - Parte 1 Sexto Ano Prof. Angelo Papa Neto 1 Máximo divisor comum Nesta aula, definiremos e estudaremos métodos para calcular o máximo divisor comum

Leia mais

MA14 - Aritmética Unidade 24 Resumo

MA14 - Aritmética Unidade 24 Resumo MA14 - Aritmética Unidade 24 Resumo Introdução à Criptografia Abramo Hefez PROFMAT - SBM Aviso Este material é apenas um resumo de parte do conteúdo da disciplina e o seu estudo não garante o domínio do

Leia mais

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

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 Teoria dos Números 1 Noções Básicas A Teoria dos Números é a área da matemática que lida com os números inteiros, isto é, com o conjunto Z = {..., 4, 3, 2, 1, 0, 1, 2, 3, 4...}. Ela permite resolver de

Leia mais

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

UNIVERSIDADE ESTADUAL DE GOIÁS UNIDADE UNIVERSITÁRIA DE JUSSARA LICENCIATURA EM MATEMÁTICA ANA PAULA ALVES MACHADO DE LIMA UNIVERSIDADE ESTADUAL DE GOIÁS UNIDADE UNIVERSITÁRIA DE JUSSARA LICENCIATURA EM MATEMÁTICA ANA PAULA ALVES MACHADO DE LIMA A HISTÓRIA DA CRIPTOGRAFIA E A APLICAÇÃO DE TEORIA DOS NÚMEROS EM CRIPTOGRAFIA

Leia mais

Exercícios Teóricos Resolvidos

Exercícios Teóricos Resolvidos Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática Exercícios Teóricos Resolvidos O propósito deste texto é tentar mostrar aos alunos várias maneiras de raciocinar

Leia mais

QUESTÕES COMENTADAS E RESOLVIDAS

QUESTÕES COMENTADAS E RESOLVIDAS LENIMAR NUNES DE ANDRADE INTRODUÇÃO À ÁLGEBRA: QUESTÕES COMENTADAS E RESOLVIDAS 1 a edição ISBN 978-85-917238-0-5 João Pessoa Edição do Autor 2014 Prefácio Este texto foi elaborado para a disciplina Introdução

Leia mais

Breve referência à Teoria de Anéis. Álgebra (Curso de CC) Ano lectivo 2005/2006 191 / 204

Breve referência à Teoria de Anéis. Álgebra (Curso de CC) Ano lectivo 2005/2006 191 / 204 Breve referência à Teoria de Anéis Álgebra (Curso de CC) Ano lectivo 2005/2006 191 / 204 Anéis Há muitos conjuntos, como é o caso dos inteiros, dos inteiros módulo n ou dos números reais, que consideramos

Leia mais

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

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO PROGRAMA DE EDUCAÇÃO TUTORIAL - MATEMÁTICA PROJETO FUNDAMENTOS DE MATEMÁTICA ELEMENTAR UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO PROGRAMA DE EDUCAÇÃO TUTORIAL - MATEMÁTICA PROJETO FUNDAMENTOS DE MATEMÁTICA ELEMENTAR Assuntos: Matrizes; Matrizes Especiais; Operações com Matrizes; Operações Elementares

Leia mais

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

Dicas para a 6 a Lista de Álgebra 1 (Conteúdo: Homomorfismos de Grupos e Teorema do Isomorfismo para grupos) Professor: Igor Lima. Dicas para a 6 a Lista de Álgebra 1 (Conteúdo: Homomorfismos de Grupos e Teorema do Isomorfismo para grupos) Professor: Igor Lima. 1 /2013 Para calcular Hom(G 1,G 2 ) ou Aut(G) vocês vão precisar ter em

Leia mais

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

Criptografia e Segurança em Redes Capítulo 9. Quarta Edição William Stallings Criptografia e Segurança em Redes Capítulo 9 Quarta Edição William Stallings Capítulo 9 - Public Key Cryptography e RSA Cada egípicio recebia dois nomes que eram conhecidos respectivamente como o nome

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica

Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA

Leia mais

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

Aplicações de Combinatória e Geometria na Teoria dos Números Aplicações de Combinatória e Geometria na Teoria dos Números Nesse artigo vamos discutir algumas abordagens diferentes na Teoria dos Números, no sentido de envolverem também outras grandes áreas, como

Leia mais

Álgebra A - Aula 11 RSA

Álgebra A - Aula 11 RSA Á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.

Leia mais

Somatórias e produtórias

Somatórias e produtórias Capítulo 8 Somatórias e produtórias 8. Introdução Muitas quantidades importantes em matemática são definidas como a soma de uma quantidade variável de parcelas também variáveis, por exemplo a soma + +

Leia mais

Notas de Cálculo Numérico

Notas de Cálculo Numérico Notas de Cálculo Numérico Túlio Carvalho 6 de novembro de 2002 2 Cálculo Numérico Capítulo 1 Elementos sobre erros numéricos Neste primeiro capítulo, vamos falar de uma limitação importante do cálculo

Leia mais

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

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Cálculo Numérico Aula : Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Computação Numérica - O que é Cálculo Numérico? Cálculo numérico é uma metodologia para resolver problemas matemáticos

Leia mais

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

Polos Olímpicos de Treinamento. Aula 2. Curso de Teoria dos Números - Nível 2. Divisibilidade II. Prof. Samuel Feitosa Polos Olímpicos de Treinamento Curso de Teoria dos Números - Nível Prof. Samuel Feitosa Aula Divisibilidade II Definição 1. Dados dois inteiros a e b, com a 0, dizemos que a divide b ou que a é um divisor

Leia mais

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

Erros. Número Aproximado. Erros Absolutos erelativos. Erro Absoluto Erros Nenhum resultado obtido através de cálculos eletrônicos ou métodos numéricos tem valor se não tivermos conhecimento e controle sobre os possíveis erros envolvidos no processo. A análise dos resultados

Leia mais

2. Representação Numérica

2. Representação Numérica 2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos

Leia mais

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

Capítulo 1. x > y ou x < y ou x = y Capítulo Funções, Plano Cartesiano e Gráfico de Função Ao iniciar o estudo de qualquer tipo de matemática não podemos provar tudo. Cada vez que introduzimos um novo conceito precisamos defini-lo em termos

Leia mais

Assinatura Digital: problema

Assinatura Digital: problema Assinatura Digital Assinatura Digital Assinatura Digital: problema A autenticidade de muitos documentos, é determinada pela presença de uma assinatura autorizada. Para que os sistemas de mensagens computacionais

Leia mais

Matemática - UEL - 2010 - Compilada em 18 de Março de 2010. Prof. Ulysses Sodré Matemática Essencial: http://www.mat.uel.

Matemática - UEL - 2010 - Compilada em 18 de Março de 2010. Prof. Ulysses Sodré Matemática Essencial: http://www.mat.uel. Matemática Essencial Equações do Segundo grau Conteúdo Matemática - UEL - 2010 - Compilada em 18 de Março de 2010. Prof. Ulysses Sodré Matemática Essencial: http://www.mat.uel.br/matessencial/ 1 Introdução

Leia mais

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

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48 Conteúdo 1 Princípios de Contagem e Enumeração Computacional Permutações com Repetições Combinações com Repetições O Problema do Troco Principio da Casa dos Pombos > Princípios de Contagem e Enumeração

Leia mais

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

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,... Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,... 0) O que veremos na aula de hoje? Um fato interessante Produtos notáveis Equação do 2º grau Como fazer a questão 5 da 3ª

Leia mais

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?

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? Recorrências Muitas vezes não é possível resolver problemas de contagem diretamente combinando os princípios aditivo e multiplicativo. Para resolver esses problemas recorremos a outros recursos: as recursões

Leia mais

Sobre Domínios Euclidianos

Sobre Domínios Euclidianos Sobre Domínios Euclidianos Clarissa Bergo Bianca Fujita Lino Ramada João Schwarz Felipe Yukihide Setembro de 2011 Resumo Neste texto, apresentaremos formalmente o que vem a ser domínio euclidiano, alguns

Leia mais

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem: 1 As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia e não têm a intenção de substituir o livro-texto, nem qualquer outra bibliografia. Introdução O Cálculo Numérico

Leia mais

94 (8,97%) 69 (6,58%) 104 (9,92%) 101 (9,64%) 22 (2,10%) 36 (3,44%) 115 (10,97%) 77 (7,35%) 39 (3,72%) 78 (7,44%) 103 (9,83%)

94 (8,97%) 69 (6,58%) 104 (9,92%) 101 (9,64%) 22 (2,10%) 36 (3,44%) 115 (10,97%) 77 (7,35%) 39 (3,72%) 78 (7,44%) 103 (9,83%) Distribuição das 1.048 Questões do I T A 94 (8,97%) 104 (9,92%) 69 (6,58%) Equações Irracionais 09 (0,86%) Equações Exponenciais 23 (2, 101 (9,64%) Geo. Espacial Geo. Analítica Funções Conjuntos 31 (2,96%)

Leia mais

Sistemas de Numeração. Engenharia da Computação 3 Período Alex Vidigal Bastos

Sistemas de Numeração. Engenharia da Computação 3 Período Alex Vidigal Bastos UNIPAC Sistemas Digitais Sistemas de Numeração Engenharia da Computação 3 Período Alex Vidigal Bastos 1 Agenda Objetivos Introdução Sistema Binário Sistema Octal Sistema Hexadecimal Aritméticas no Sistema

Leia mais

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

8 8 (mod 17) e 3 34 = (3 17 ) 2 9 (mod 17). Daí que 2 67 + 3 34 8 + 9 0 (mod 17), o que significa que 2 67 + 3 34 é múltiplo de 17. Prova Teoria de Números 23/04/203 Nome: RA: Escolha 5 questões.. Mostre que 2 67 + 3 34 é múltiplo de 7. Solução: Pelo teorema de Fermat 2 6 (mod 7 e 3 7 3 (mod 7. Portanto, 2 67 = 2 64+3 = ( 2 6 4 8 8

Leia mais

Tópico 2. Conversão de Unidades e Notação Científica

Tópico 2. Conversão de Unidades e Notação Científica Tópico 2. Conversão de Unidades e Notação Científica Toda vez que você se refere a um valor ligado a uma unidade de medir, significa que, de algum modo, você realizou uma medição. O que você expressa é,

Leia mais

Disciplina: Introdução à Álgebra Linear

Disciplina: Introdução à Álgebra Linear Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus: Mossoró Curso: Licenciatura Plena em Matemática Disciplina: Introdução à Álgebra Linear Prof.: Robson Pereira de Sousa

Leia mais

Capítulo 2. Álgebra e imagens binárias. 2.1 Subconjuntos versus funções binárias

Capítulo 2. Álgebra e imagens binárias. 2.1 Subconjuntos versus funções binárias Capítulo 2 Álgebra e imagens binárias Em Análise de Imagens, os objetos mais simples que manipulamos são as imagens binárias. Estas imagens são representadas matematicamente por subconjuntos ou, de maneira

Leia mais

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

Nome: Paulo Eduardo Rodrigues de Oliveira Nome: Pedro Thiago Ezequiel de Andrade Nome: Rafael Lucas Gregório D'Oliveira. Rsa Nome: Paulo Eduardo Rodrigues de Oliveira Nome: Pedro Thiago Ezequiel de Andrade Nome: Rafael Lucas Gregório D'Oliveira RA:063570 RA:063696 RA:063824 Rsa Introdução: Criptografia (Do Grego kryptós, "escondido",

Leia mais

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

Sociedade Brasileira de Matemática Mestrado Profissional em Matemática em Rede Nacional. n=1 Sociedade Brasileira de Matemática Mestrado Profissional em Matemática em Rede Nacional MA Números e Funções Reais Avaliação - GABARITO 3 de abril de 203. Determine se as afirmações a seguir são verdadeiras

Leia mais

1 Base de um Espaço Vetorial

1 Base de um Espaço Vetorial Disciplina: Anéis e Corpos Professor: Fernando Torres Membros do grupo: Blas Melendez Caraballo (ra143857), Leonardo Soriani Alves (ra115465), Osmar Rogério Reis Severiano (ra134333) Ramon Códamo Braga

Leia mais

I Seminário sobre Segurança da Informação e Comunicações CRIPTOGRAFIA

I Seminário sobre Segurança da Informação e Comunicações CRIPTOGRAFIA I Seminário sobre Segurança da Informação e Comunicações CRIPTOGRAFIA OBJETIVO Conhecer aspectos básicos do uso da criptografia como instrumento da SIC.. Abelardo Vieira Cavalcante Filho Assistente Técnico

Leia mais

Corpos. Um domínio de integridade finito é um corpo. Demonstração. Seja D um domínio de integridade com elemento identidade

Corpos. Um domínio de integridade finito é um corpo. Demonstração. Seja D um domínio de integridade com elemento identidade Corpos Definição Um corpo é um anel comutativo com elemento identidade em que todo o elemento não nulo é invertível. Muitas vezes é conveniente pensar em ab 1 como sendo a b, quando a e b são elementos

Leia mais

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem: 1 UNIVERSIDADE FEDERAL DE VIÇOSA Departamento de Matemática - CCE Cálculo Numérico - MAT 271 Prof.: Valéria Mattos da Rosa As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia

Leia mais

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação Universidade Federal de Campina Grande Departamento de Sistemas e Computação Introdução à Computação A Informação e sua Representação (Parte III) Prof.a Joseana Macêdo Fechine Régis de Araújo joseana@computacao.ufcg.edu.br

Leia mais

(a) u D sse u d para todo o d D. (b) Qualquer associado de uma unidade é uma unidade. (c) Qualquer associado de um elemento irredutível é irredutível.

(a) u D sse u d para todo o d D. (b) Qualquer associado de uma unidade é uma unidade. (c) Qualquer associado de um elemento irredutível é irredutível. Exercícios 29 Exercícios 1.1. Mostre que num domínio de integridade D: (a) a b sse b a. (b) a = b sse a b. (c) a = D sse a D. (d) D[x] = D. 1.2. Mostre que num domínio de integridade D: (a) u D sse u d

Leia mais

AULA 6 LÓGICA DOS CONJUNTOS

AULA 6 LÓGICA DOS CONJUNTOS Disciplina: Matemática Computacional Crédito do material: profa. Diana de Barros Teles Prof. Fernando Zaidan AULA 6 LÓGICA DOS CONJUNTOS Intuitivamente, conjunto é a coleção de objetos, que em geral, tem

Leia mais

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá. INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Estruturas Discretas INF 1631

Estruturas Discretas INF 1631 Estruturas Discretas INF 1631 Thibaut Vidal Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro Rua Marquês de São Vicente, 225 - Gávea, Rio de Janeiro - RJ, 22451-900, Brazil

Leia mais

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

O que é número primo? Série O que é? O que é número primo? Série O que é? Objetivos 1. Discutir o significado da palavra número primo no contexto da Matemática; 2. Apresentar idéias básicas sobre criptografia. O que é número primo? Série

Leia mais

a 1 x 1 +... + a n x n = b,

a 1 x 1 +... + a n x n = b, Sistemas Lineares Equações Lineares Vários problemas nas áreas científica, tecnológica e econômica são modelados por sistemas de equações lineares e requerem a solução destes no menor tempo possível Definição

Leia mais

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

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

Teorema (Algoritmo da Divisão)

Teorema (Algoritmo da Divisão) Teorema (Algoritmo da Divisão) Sejam a e b números inteiros, com b > 0. Então existem números inteiros q e r, únicos e tais que a = bq + r, com 0 r < b. Demonstração. Existência: Consideremos S = {a bk

Leia mais

POLINÔMIOS. x 2x 5x 6 por x 1 x 2. 10 seja x x 3

POLINÔMIOS. x 2x 5x 6 por x 1 x 2. 10 seja x x 3 POLINÔMIOS 1. (Ueg 01) A divisão do polinômio a) x b) x + c) x 6 d) x + 6 x x 5x 6 por x 1 x é igual a:. (Espcex (Aman) 01) Os polinômios A(x) e B(x) são tais que A x B x x x x 1. Sabendo-se que 1 é raiz

Leia mais

Sistemas de Numerações.

Sistemas de Numerações. Matemática Profº: Carlos Roberto da Silva; Lourival Pereira Martins. Sistema de numeração: Binário, Octal, Decimal, Hexadecimal; Sistema de numeração: Conversões; Sistemas de Numerações. Nosso sistema

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Aritmética de Números Inteiros Representação de Números

Leia mais

Universidade Estadual de Santa Cruz. Departamento de Ciências Exatas e Tecnológicas. Especialização em Matemática. Disciplina: Estruturas Algébricas

Universidade Estadual de Santa Cruz. Departamento de Ciências Exatas e Tecnológicas. Especialização em Matemática. Disciplina: Estruturas Algébricas 1 Universidade Estadual de Santa Cruz Departamento de Ciências Exatas e Tecnológicas Especialização em Matemática Disciplina: Estruturas Algébricas Profs.: Elisangela S. Farias e Sérgio Motta Operações

Leia mais

Raciocínio Lógico Matemático Caderno 1

Raciocínio Lógico Matemático Caderno 1 Raciocínio Lógico Matemático Caderno 1 Índice Pg. Números Naturais... 02 Números Inteiros... 06 Números Racionais... 23 Números Decimais... - Dízimas Periódicas... - Expressões Numéricas... - Divisibilidade...

Leia mais

APLICAÇÕES DA DERIVADA

APLICAÇÕES DA DERIVADA Notas de Aula: Aplicações das Derivadas APLICAÇÕES DA DERIVADA Vimos, na seção anterior, que a derivada de uma função pode ser interpretada como o coeficiente angular da reta tangente ao seu gráfico. Nesta,

Leia mais

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

Fração como porcentagem. Sexto Ano do Ensino Fundamental. Autor: Prof. Francisco Bruno Holanda Revisor: Prof. Antonio Caminha M. Material Teórico - Módulo de FRAÇÕES COMO PORCENTAGEM E PROBABILIDADE Fração como porcentagem Sexto Ano do Ensino Fundamental Autor: Prof. Francisco Bruno Holanda Revisor: Prof. Antonio Caminha M. Neto

Leia mais

Sistemas de numeração

Sistemas de numeração E Sistemas de numeração Aqui estão apenas números ratificados. William Shakespeare A natureza tem algum tipo de sistema de coordenadas geométrico-aritmético, porque a natureza tem todos os tipos de modelos.

Leia mais

Análise de Arredondamento em Ponto Flutuante

Análise de Arredondamento em Ponto Flutuante Capítulo 2 Análise de Arredondamento em Ponto Flutuante 2.1 Introdução Neste capítulo, chamamos atenção para o fato de que o conjunto dos números representáveis em qualquer máquina é finito, e portanto

Leia mais

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

MA14 - Aritmética Unidade 4. Representação dos Números Inteiros (Sistemas de Numeração) MA14 - Aritmética Unidade 4 Representação dos Números Inteiros (Sistemas de Numeração) Abramo Hefez PROFMAT - SBM Aviso Este material é apenas um resumo de parte do conteúdo da disciplina e o seu estudo

Leia mais

SISTEMAS DE NUMERAÇÃO

SISTEMAS DE NUMERAÇÃO Atualizado em Prof. Rui Mano E mail: rmano@tpd.puc rio.br SISTEMAS DE NUMERAÇÃO Sistemas de Numer ação Posicionais Desde quando se começou a registrar informações sobre quantidades, foram criados diversos

Leia mais

Algoritmos criptográficos de chave pública

Algoritmos criptográficos de chave pública Algoritmos criptográficos de chave pública Histórico - A descoberta em 1976 por Diffie, Hellman e Merkle de algoritmos criptográficos assimétricos, onde a segurança se baseia nas dificuldades de 1. Deduzir

Leia mais

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

Teoremas de Fermat, Wilson, Wolstenholme e Euler. 1 Os teoremas de Wilson e Wolstenholme Polos Olímpicos de Treinamento Curso de Teoria dos Números - Nível 3 Carlos Gustavo Moreira Aula 6 Teoremas de Fermat, Wilson, Wolstenholme e Euler 1 Os teoremas de Wilson e Wolstenholme Uma aplicação

Leia mais

Sistemas de Numeração. Professor: Rogério R. de Vargas INFORMÁTICA 2014/2

Sistemas de Numeração. Professor: Rogério R. de Vargas INFORMÁTICA 2014/2 INFORMÁTICA Sistemas de Numeração Professor: Rogério R. de Vargas 2014/2 Sistemas de Numeração São sistemas de notação usados para representar quantidades abstratas denominadas números. Um sistema numérico

Leia mais

Exemplo de Subtração Binária

Exemplo de Subtração Binária Exemplo de Subtração Binária Exercícios Converta para binário e efetue as seguintes operações: a) 37 10 30 10 b) 83 10 82 10 c) 63 8 34 8 d) 77 8 11 8 e) BB 16 AA 16 f) C43 16 195 16 3.5.3 Divisão binária:

Leia mais

REVISÃO E AVALIAÇÃO DA MATEMÁTICA

REVISÃO E AVALIAÇÃO DA MATEMÁTICA 2 Aula 45 REVISÃO E AVALIAÇÃO DA 3 Vídeo Arredondamento de números. 4 Arredondamento de números Muitas situações cotidianas envolvendo valores destinados à contagem, podem ser facilitadas utilizando o

Leia mais

Título. Breve descrição da aula. Competência(s) desenvolvida(s) Conteúdo(s) desenvolvido(s).

Título. Breve descrição da aula. Competência(s) desenvolvida(s) Conteúdo(s) desenvolvido(s). Universidade Federal de Goiás Campus Catalão Alunos: Bruno Castilho Rosa Laura Thaís Lourenço Géssica Cristina dos Reis Lucas Borges de Faria Orientador: Igor Lima Seminário Semanal de Álgebra Notas de

Leia mais

Contagem I. Figura 1: Abrindo uma Porta.

Contagem I. Figura 1: Abrindo uma Porta. Polos Olímpicos de Treinamento Curso de Combinatória - Nível 2 Prof. Bruno Holanda Aula 4 Contagem I De quantos modos podemos nos vestir? Quantos números menores que 1000 possuem todos os algarismos pares?

Leia mais

Parte 2. Polinômios sobre domínios e corpos

Parte 2. Polinômios sobre domínios e corpos Parte Polinômios sobre domínios e corpos Pressupomos que o estudante tenha familiaridade com os anéis comutativos com unidade, em particular com domínios e corpos. Alguns exemplos importantes são Z Q R

Leia mais

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

Bases Matemáticas. Aula 2 Métodos de Demonstração. Rodrigo Hausen. v. 2013-7-31 1/15 Bases Matemáticas Aula 2 Métodos de Demonstração Rodrigo Hausen v. 2013-7-31 1/15 Como o Conhecimento Matemático é Organizado Definições Definição: um enunciado que descreve o significado de um termo.

Leia mais

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

Auditoria e Segurança da Informação GSI536. Prof. Rodrigo Sanches Miani FACOM/UFU Auditoria e Segurança da Informação GSI536 Prof. Rodrigo Sanches Miani FACOM/UFU Revisão Criptografia de chave simétrica; Criptografia de chave pública; Modelo híbrido de criptografia. Criptografia Definições

Leia mais

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

6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto Capítulo 6. Autômatos com Pilha 6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto Nos exemplos da seção anterior, vimos que os autômatos com pilha existem para

Leia mais

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

ARQUITETURA DE COMPUTADORES. Sistemas de Numeração. 1 Arquitetura de Computadores ARQUITETURA DE COMPUTADORES Sistemas de Numeração 1 Sistemas de Numeração e Conversão de Base Sistema Decimal É o nosso sistema natural. Dígitos 0,1,2,3,4,5,6,7,8 e 9. Números superiores a 9; convencionamos

Leia mais

Uma lei que associa mais de um valor y a um valor x é uma relação, mas não uma função. O contrário é verdadeiro (isto é, toda função é uma relação).

Uma lei que associa mais de um valor y a um valor x é uma relação, mas não uma função. O contrário é verdadeiro (isto é, toda função é uma relação). 5. FUNÇÕES DE UMA VARIÁVEL 5.1. INTRODUÇÃO Devemos compreender função como uma lei que associa um valor x pertencente a um conjunto A a um único valor y pertencente a um conjunto B, ao que denotamos por

Leia mais

. Determine os valores de P(1) e P(22).

. Determine os valores de P(1) e P(22). Resolução das atividades complementares Matemática M Polinômios p. 68 Considere o polinômio P(x) x x. Determine os valores de P() e P(). x x P() 0; P() P(x) (x x)? x (x ) x x x P()? 0 P() ()? () () 8 Seja

Leia mais

Matemática Financeira Módulo 2

Matemática Financeira Módulo 2 Fundamentos da Matemática O objetivo deste módulo consiste em apresentar breve revisão das regras e conceitos principais de matemática. Embora planilhas e calculadoras financeiras tenham facilitado grandemente

Leia mais

Só Matemática O seu portal matemático http://www.somatematica.com.br FUNÇÕES

Só Matemática O seu portal matemático http://www.somatematica.com.br FUNÇÕES FUNÇÕES O conceito de função é um dos mais importantes em toda a matemática. O conceito básico de função é o seguinte: toda vez que temos dois conjuntos e algum tipo de associação entre eles, que faça

Leia mais

por séries de potências

por séries de potências Seção 23: Resolução de equações diferenciais por séries de potências Até este ponto, quando resolvemos equações diferenciais ordinárias, nosso objetivo foi sempre encontrar as soluções expressas por meio

Leia mais

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário

Leia mais

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

EXAME NACIONAL DE QUALIFICAÇÃO 2013-2 GABARITO. Questão 1. EXAME NACIONAL DE QUALIFICAÇÃO 0 - Questão. GABARITO Considere um triângulo equilátero de lado e seja A sua área. Ao ligar os pontos médios de cada lado, obtemos um segundo triângulo equilátero de área

Leia mais

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

E A D - S I S T E M A S L I N E A R E S INTRODUÇÃO E A D - S I S T E M A S L I N E A R E S INTRODUÇÃO Dizemos que uma equação é linear, ou de primeiro grau, em certa incógnita, se o maior expoente desta variável for igual a um. Ela será quadrática, ou

Leia mais

Modelagem no Domínio do Tempo. Carlos Alexandre Mello. Carlos Alexandre Mello cabm@cin.ufpe.br 1

Modelagem no Domínio do Tempo. Carlos Alexandre Mello. Carlos Alexandre Mello cabm@cin.ufpe.br 1 Carlos Alexandre Mello 1 Modelagem no Domínio da Frequência A equação diferencial de um sistema é convertida em função de transferência, gerando um modelo matemático de um sistema que algebricamente relaciona

Leia mais

Trabalho compilado da Internet Prof. Claudio Passos. Sistemas Numéricos

Trabalho compilado da Internet Prof. Claudio Passos. Sistemas Numéricos Trabalho compilado da Internet Prof. Claudio Passos Sistemas Numéricos A Informação e sua Representação O computador, sendo um equipamento eletrônico, armazena e movimenta as informações internamente sob

Leia mais

1. Sistemas de numeração

1. Sistemas de numeração 1. Sistemas de numeração Quando mencionamos sistemas de numeração estamos nos referindo à utilização de um sistema para representar uma numeração, ou seja, uma quantidade. Sistematizar algo seria organizar,

Leia mais

Segurança da Informação

Segurança da Informação INF-108 Segurança da Informação Criptografia assimétrica Prof. João Henrique Kleinschmidt Santo André, junho de 2013 Problema de distribuição de chaves A criptografia de chave simétrica pode manter seguros

Leia mais

AV1 - MA 12-2012. (b) Se o comprador preferir efetuar o pagamento à vista, qual deverá ser o valor desse pagamento único? 1 1, 02 1 1 0, 788 1 0, 980

AV1 - MA 12-2012. (b) Se o comprador preferir efetuar o pagamento à vista, qual deverá ser o valor desse pagamento único? 1 1, 02 1 1 0, 788 1 0, 980 Questão 1. Uma venda imobiliária envolve o pagamento de 12 prestações mensais iguais a R$ 10.000,00, a primeira no ato da venda, acrescidas de uma parcela final de R$ 100.000,00, 12 meses após a venda.

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

Leia mais

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

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de Escola Secundária c/3º CEB José Macedo Fragateiro Curso Profissional de Nível Secundário Componente Técnica Disciplina de Sistemas Digitais e Arquitectura de Computadores 29/21 Módulo 1: Sistemas de Numeração

Leia mais

Conjuntos numéricos. Notasdeaula. Fonte: Leithold 1 e Cálculo A - Flemming. Dr. Régis Quadros

Conjuntos numéricos. Notasdeaula. Fonte: Leithold 1 e Cálculo A - Flemming. Dr. Régis Quadros Conjuntos numéricos Notasdeaula Fonte: Leithold 1 e Cálculo A - Flemming Dr. Régis Quadros Conjuntos numéricos Os primeiros conjuntos numéricos conhecidos pela humanidade são os chamados inteiros positivos

Leia mais

Capítulo UM Bases Numéricas

Capítulo UM Bases Numéricas Capítulo UM Bases Numéricas 1.1 Introdução Quando o homem aprendeu a contar, ele foi obrigado a desenvolver símbolos que representassem as quantidades e grandezas que ele queria utilizar. Estes símbolos,

Leia mais

NIVELAMENTO MATEMÁTICA 2012

NIVELAMENTO MATEMÁTICA 2012 NIVELAMENTO MATEMÁTICA 202 Monitor: Alexandre Rodrigues Loures Monitor: Alexandre Rodrigues Loures SUMÁRIO. LOGARITMOS... 3.. Mudança de base... 3.2. Propriedades dos logaritmos... 4 2. DERIVADAS... 4

Leia mais