






































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
artigo sobre matematica - algoritmo
Tipologia: Resumos
1 / 78
Esta página não é visível na pré-visualização
Não perca as partes importantes!







































































Este texto foi editado em LATEX 2ε pelo autor, que agradece ´a comunidade TEX pelos meios disponibilizados.
Agradecimentos
Agrade¸co primeiramente `a Deus por ter me dado a oportunidade e for¸ca necess´aria para concluir este curso superior. Gostaria de agradecer tamb´em ao meu orientador pela dedica¸c˜ao e paciˆencia comigo e com este trabalho; aos meus pais por me oferecer todo apoio e dedica¸c˜ao poss´ıveis e aos meus amigos pela paciˆencia e apoio durante todo o curso e principalmente nos momentos dif´ıceis durante a constru¸c˜ao deste trabalho.
Resumo
Este trabalho tem como objetivo principal estudar e desenvolver t´ecnicas e id´eias matem´aticas das ´areas de Teoria dos N´umeros e Algebra e alguns´ m´etodos de criptografia, principalmente o m´etodo RSA. Neste trabalho, est´a incluso o Trabalho de Conclus˜ao de Curso A, onde foi iniciado este estudo. No Cap´ıtulo 1 apresentamos os teoremas b´asicos de Teoria dos N´umeros relativos `a divisibilidade, mdc e n´umeros primos. No Cap´ıtulo 2 vemos o m´etodo de fatora¸c˜ao de Fermat. No Cap´ıtulo 3 estudamos classes de equi- valˆencia e algumas aplica¸c˜oes. No Cap´ıtulo 4 apresentamos os n´umeros pseu- doprimos. No Cap´ıtulo 5 trabalhamos com sistemas de congruˆencia, e apre- sentamos o Teorema Chinˆes do Resto. No Cap´ıtulo 6, vemos alguns m´etodos elementares de criptografia. No Cap´ıtulo 7, apresentamos o m´etodo de crip- tografia RSA.
Em grego, cryptos significa secreto, oculto. A criptografia estuda os m´etodos para codificar uma mensagem de modo que s´o seu destinat´ario leg´ıtimo consiga interpret´a-la. Naturalmente todo c´odigo vem acompanhado de duas receitas: uma para codificar uma mensagem; outra para decodifi- car uma mensagem codificada. Decodificar ´e o que um usu´ario leg´ıtimo do c´odigo faz quando recebe uma mensagem codificada e deseja lˆe-la. J´a deci- frar significa ler uma mensagem codificada sem ser um usu´ario leg´ıtimo. O mais conhecido dos m´etodos de criptografia de chave p´ublica ´e o RSA. Este c´odigo foi inventado em 1978 por R.L. Rivest, A. Shamir e L. Adleman, que na ´epoca trabalhavam no Massachussets Institute of Technology (M.I.T). As letras RSA correspondem `as iniciais dos inventores do c´odigo. Por´em, antes de descrever e estudar o m´etodo em si ser´a necess´ario desenvolver muitas id´eias e t´ecnicas matem´aticas da ´area de Teoria dos N´umeros. A presente monografia constitui um dos requisitos da disciplina Trabalho de Conclus˜ao de Curso B, que faz parte dos cursos de Matem´atica da UFS- Car. Esta ´e a monografia principal, onde se encontra incluso o Trabalho de Conclus˜ao de Curso A.
iii
Come¸camos apresentando os teoremas b´asicos de Teoria dos N´umeros ne- cess´arios para desenvolvermos nossos estudos de criptografia.
Indicaremos por N = { 0 , 1 , 2 ,... } o conjunto dos n´umeros naturais e por Z = {· · · − 2 , − 1 , 0 , 1 , 2 ,... } o conjunto dos n´umeros inteiros. Seja S um subconjunto de N. Dizemos que um n´umero natural a ´e um menor elemento de S se possui as seguintes propriedades: i) a ∈ S ii) ∀n ∈ S, a 6 n
Axioma da Boa Ordem em N, ou Princ´ıpio do Menor N´umero Natu- ral. Todo subconjunto n˜ao vazio do conjunto N possui um menor elemento.
O Axioma da Boa Ordem em N afirma que se A ´e um subconjunto do conjunto N e A 6 = ∅ ent˜ao existe um elemento n 0 em A satisfazendo n 0 6 a para todo a ∈ A.
Teorema 1.1. (Primeiro Princ´ıpio de Indu¸c˜ao Finita) Seja n 0 um n´umero inteiro e suponhamos que a cada inteiro n, n > n 0 , est´a associada
1
2 Monografia
uma afirma¸c˜ao A(n). Suponhamos que as condi¸c˜oes 1 e 2 abaixo sejam verificadas: (1) A afirma¸c˜ao A(n) ´e verdadeira quando n = n 0 ; (2) Para todo k > n 0 , quando A(k) ´e verdadeira, A(k + 1) ´e tamb´em verdadeira (ou seja, A(k) verdadeira ⇒ A(k + 1) verdadeira). Ent˜ao a afirma¸c˜ao A(n) ´e verdadeira para todo n > n 0.
Teorema 1.2. (Segundo Princ´ıpio de Indu¸c˜ao Finita) Seja n 0 um n´umero inteiro e suponhamos que a cada inteiro n, n > n 0 , est´a associada uma afirma¸c˜ao A(n). Suponhamos que as condi¸c˜oes 1 e 2 abaixo sejam verificadas: (1) A afirma¸c˜ao A(n) ´e verdadeira para n = n 0 ; (2) Para todo inteiro k > n 0 , se A(n) ´e verdadeira para todo inteiro n tal que n 0 6 n 6 k, ent˜ao A(k + 1) ´e tamb´em verdadeira (ou seja A(n) verdadeira para n = n 0 , n 0 + 1, ..., k ⇒ A(k + 1) verdadeira) Ent˜ao a afirma¸c˜ao A(n) ´e verdadeira para todo n > n 0.
1.4 Divisibilidade
Defini¸c˜ao 1.3. Um n´umero natural a se diz m´ultiplo de um n´umero natural b se existir um n´umero natural q tal que a = bq. Nesse caso, e se b 6 = 0, dizemos tamb´em que b divide a ou que b ´e divisor ou fator de a.
Proposi¸c˜ao 1.4. Dados n´umeros naturais a, b e c, se b e c s˜ao m´ultiplos de a, ent˜ao, quaisquer que sejam os n´umeros naturais x e y, temos que xb ± yc ´e m´ultiplo de a.
Demonstra¸c˜ao. Existem n´umeros naturais q e t tais que b = qa e c = ta. Portanto xb ± yc = xqa ± yta = (xq ± yt)a, e vemos que xb ± yc ´e m´ultiplo de a.
Teorema 1.5. (Algoritmo da Divis˜ao em Z) Sejam a e b inteiros com b 6 = 0. Existem inteiros q e r tais que a = bq + r e 0 ≤ r < |b|. Al´em disso, os valores de q e r satisfazendo as rela¸c˜oes acima s˜ao ´unicos.
O algoritmo euclidiano apresentado a seguir, tem como objetivo calcular o m´aximo divisor comum entre dois n´umeros inteiros. Lembrando que:
Defini¸c˜ao 1.6. Dados dois inteiros a e b, chama-se m´aximo divisor comum de a e b ao inteiro d satisfazendo: (1) d = 0 se a = b = 0 (2) Se a 6 = 0 ou b 6 = 0, d ´e caracterizado pelas seguintes propriedades: (i) d divide a e d divide b (ii) ∀x ∈ Z, se x divide a e x divide b, ent˜ao x 6 d
4 Monografia
1.5 Primos
Defini¸c˜ao 1.12. Denominamos primo a todo n´umero natural > 1 que n˜ao tem divisor positivo diferente de 1 e dele mesmo. Chamamos de composto a todo n´umero natural que tem divisor positivo diferente de 1 e dele mesmo.
Teorema 1.13. Todo n´umero natural ≥ 2 ´e primo ou se escreve como pro- duto de primos.
Demonstra¸c˜ao. Para essa demonstra¸c˜ao, usaremos o Segundo Princ´ıpio de Indu¸c˜ao sobre m ≥ 2. Se m = 2, ent˜ao m ´e primo. Seja k ≥ 2 e suponhamos que todo inteiro m, com 2 6 m 6 k, ´e primo ou se decomp˜oe como produto de fatores primos. Se k + 1 for primo, terminamos. Suponhamos que n˜ao seja. Vamos demonstrar que k + 1 se escreve como produto de primos. Como k + 1 n˜ao ´e primo, ´e composto. Ent˜ao existem inteiros positivos a e b com 1 < a < k + 1 e 1 < b < k + 1 tais que k + 1 = ab. Agora, como 2 ≤ a ≤ k e 2 ≤ b ≤ k, pela hip´otese de indu¸c˜ao, cada um dos inteiros a e b ´e primo ou se decomp˜oe como produto de primos. Logo k + 1 se decomp˜oe como produto de fatores primos. Assim sendo, todo inteiro m ≥ 2 ´e primo ou se escreve como produto de primos.
Teorema 1.14. Sejam a, b e c n´umeros inteiros tais que mdc(a, b) = 1. (1) Se b 6 = 0 e se b divide ac ent˜ao b divide c. (2) Se a 6 = 0 e b 6 = 0 dividem c ent˜ao ab divide c.
Demonstra¸c˜ao. Parte (1) Como mdc(a, b) = 1 o Algoritmo Euclidiano Estendido garante que exis- tem inteiros α e β tais que αa + βb = 1
Multiplicando esta equa¸c˜ao por c temos
αac + βcb = c
E claro que^ ´ b divide βcb. Mas tamb´em podemos dizer que b divide αac, pois pela hip´otese da afirma¸c˜ao (1) temos que b divide ac. Assim, b divide αac + βcb, logo b divide c. Demonstra¸c˜ao. Parte (2) Se a divide c, podemos escrever c = at, para algum inteiro t. Mas b tamb´em divide c. Como a e b s˜ao primos entre si, segue da afirma¸c˜ao (1) que b tem que dividir t. Assim teremos que t = bk, para algum inteiro k. Portanto c = at = a(bk) = (ab)k
que ´e divis´ıvel por ab. Assim provamos a afirma¸c˜ao (2).
Teoremas b´asicos de Teoria dos N´umeros 5
Corol´ario 1.15. Se p ´e primo e se p ´e divisor de ab ent˜ao p ´e divisor de a ou de b, quaisquer que sejam os n´umeros naturais a e b.
Demonstra¸c˜ao. Se p dividir a, n˜ao h´a mais nada a fazer. Digamos ent˜ao que p n˜ao divide a. Como p ´e primo, ent˜ao p e a s˜ao primos entre si. Isto ocorre porque qualquer divisor comum a p e a divide p, mas os ´unicos divisores positivos de p s˜ao 1 e p. Portanto, se p n˜ao divide a, ent˜ao mdc(a, p) = 1. Aplicando o Teorema 1.14, temos p divide b.
Corol´ario 1.16. Sejam p, a 1 ,... , an n´umeros inteiros com n ≥ 2 e p primo. Se p divide a 1 a 2... an ent˜ao p divide ai para algum ´ındice i, i ∈ { 1 , 2 ,... , n}.
Teorema 1.17 (O Teorema Fundamental da Aritm´etica). Todo n´umero na- tural ≥ 2 ´e primo ou pode ser decomposto como um produto de n´umeros primos, e essa decomposi¸c˜ao ´e ´unica a menos da ordem dos fatores.
Demonstra¸c˜ao. A existˆencia da decomposi¸c˜ao ´e garantida pelo Teorema 1.13. Vamos demonstrar a unicidade usando o Segundo Princ´ıpio de Indu¸c˜ao Fi- nita. Se m = 2, o resultado ´e claro. Seja k ≥ 2 e suponhamos que a afirma¸c˜ao seja verdadeira para todo inteiro m, com 2 ≤ m ≤ k. Mostraremos que o mesmo se d´a com rela¸c˜ao ao inteiro k + 1. Suponhamos que k + 1 = p 1... pn = q 1... qs, com n, s ≥ 1, p 1 ≤ · · · ≤ pn e q 1 ≤ · · · ≤ qs. Se n = 1, ent˜ao k + 1 = p 1 ´e primo e, neste caso ´e claro que a decomposi¸c˜ao ´e ´unica. O mesmo ocorre se s = 1. Suponhamos ent˜ao n ≥ 2 e s ≥ 2. Como p 1... pn− 1 pn = q 1 ...qs− 1 qs, temos que pn divide q 1... qs e qs divide p 1... pn. Pelo Corol´ario 1.16, temos que pn divide qi e qs divide pj para certos ´ındices i e j, com 1 ≤ i ≤ s e 1 ≤ j ≤ n. Logo, pn ≤ qi ≤ qs ≤ pj ≤ pn, o que ent˜ao acarreta pn = qs. Logo, p 1... pn− 1 pn = q 1... qs− 1 qs e pn = qs, e ent˜ao p 1... pn− 1 = q 1... qs− 1. Agora, 2 ≤ p 1... pn− 1 = q 1... qs− 1 < k + 1, ou seja, 2 ≤ p 1... pn− 1 = q 1... qs− 1 ≤ k. Aplicando a hip´otese de indu¸c˜ao, temos ent˜ao que n − 1 = s − 1 e al´em disso, p 1 = q 1 , ..., pn− 1 = qn− 1. Logo, n = s e p 1 = q 1 , ..., pn− 1 = qn− 1 , pn = qn. Assim sendo, a unicidade dos fatores primos de m ´e v´alida para todo m ≥ 2.
1.6 Como obter n´umeros primos
O m´etodo mais simples para obter n´umeros primos ´e o conhecido Crivo de Erat´ostenes. Este entretanto ´e um m´etodo lento e invi´avel para obter primos grandes, mesmo quando tratado computacionalmente. Outro m´etodo ´obvio seria encontrar uma f´ormula, mas todas as f´ormulas j´a encontradas s˜ao in- trat´aveis computacionalmente. Para ilustrar vamos considerar as f´ormulas polinomiais e exponenciais.
Teoremas b´asicos de Teoria dos N´umeros 7
= p(2ham + h^2 pa + bh) + p = = p(1 + 2ham + h^2 pa + bh)
Para que f (m + hp) seja composto devemos ter
1 + 2amh + aph^2 + bh > 1 ⇔ 2 amh + aph^2 + bh > 0 ⇔ h >
−b − 2 am ap
Mostramos assim, que se f (x) = ax^2 + bx + c ´e um polinˆomio com coefici- entes inteiros, a > 0 e f (m) = p primo, ent˜ao f (m + hp) ´e composto sempre que
h >
−b − 2 am ap
Ou seja, existem infinitos valores inteiros positivos para x de modo que f (x) seja composto.
Vemos portanto que os polinˆomios n˜ao fornecem f´ormulas para primos. J´a nas f´ormulas exponenciais, destacam-se duas: n´umeros de Mersenne e n´umeros de Fermat. As f´ormulas s˜ao, respectivamente:
M (n) = 2n^ − 1
e F (n) = 2^2 n + 1
onde n ´e um inteiro n˜ao negativo. Segundo Mersenne, os n´umeros da forma M (n) = 2n^ − 1 seriam primos quando n = 2, 3, 5, 7, 13, 17, 19, 31, 67, 127 e 257 e composto para os outros 44 valores primos de n menores que 257. Depois se constatou que M (61), M (89) e M (107) s˜ao primos, e M (67) e M (257) s˜ao compostos. Observe que se n for composto, ent˜ao M (n) tamb´em ´e composto, pois se n = rs com 1 < r < n, ent˜ao
M (n) = 2n^ − 1 = 2rs^ − 1 = (2r^ − 1)(2r(s−1)^ + 2r(s−2)^ + ... + 2r^ + 1)
Portanto, se r divide n ent˜ao M (r) divide M (n). E temos tamb´em que se n for primo isto n˜ao significa que M (n) tem que ser primo. Por exemplo M (67) = 147573952589676412927 = (761838257287)(193707721) J´a Fermat, considerou os n´umeros da forma F (n) = 2^2 n +1 para os valores inteiros de n entre 0 e 6. Os valores s˜ao: 3, 5, 17, 257, 65537, 4294967297 e
8 Monografia
compostos. Poranto, essas f´ormulas n˜ao nos fornecem uma boa maneira de obter primos.
Outra forma de procurar n´umeros primos ´e considerar progress˜oes aritm´eticas. Vamos provar que existem infinitos primos da forma 4n + 3. Um primo ´ımpar ou ´e da forma 4n + 1 ou da forma 4n + 3. Isto ´e, tem resto 1 ou resto 3 na divis˜ao por 4. Os lemas a seguir nos levar˜ao `a conclus˜ao de que existem infinitos n´umeros primos da forma 4n + 3.
Lema 1.20. O produto de n´umeros inteiros da forma 4 n + 1 ´e da forma 4 n + 1.
Demonstra¸c˜ao. Sejam 4n + 1 e 4n′^ + 1 n´umeros inteiros. Ent˜ao
(4n + 1)(4n′^ + 1) = 4n 4 n′^ + 4n + 4n′^ + 1 = 4(4nn′^ + n + n′) + 1
Segue que o produto de uma quantidade finita de n´umeros inteiros da forma 4n + 1 ´e da forma 4n + 1.
Lema 1.21. Todo n´umero primo diferente de 2 ´e da forma 4 n + 1 ou 4 n + 3.
Demonstra¸c˜ao. Seja p ∈ Z, com p > 2. Ent˜ao, dividindo p por 4, temos as seguintes possibilidades:
p = 4q + 0 (neste caso p n˜ao pode ser primo, pois p = 4q ´e composto) p = 4q + 1 (p pode ser primo, por exemplo para q = 1 ⇒ p = 5) p = 4q + 2 (p = 2(2q + 1) ´e composto, ou seja, n˜ao pode ser primo, a n˜ao ser para q = 0, mas assim p = 2, o que n˜ao pode ocorrer por hip´otese) p = 4q + 3 (p pode ser primo, por exemplo para q = 1 ⇒ p = 7)
Logo, um n´umero primo qualquer diferente de 2 ´e da forma 4n + 1 ou 4 n + 3.
Observa¸c˜ao O produto de n´umeros da forma 4n + 3 pode n˜ao ser da mesma forma. Por exemplo, 3 · 3 = 9 = 4 · 2 + 1.
Lema 1.22. Suponha que 3 < p 1 < · · · < pk sejam primos da forma 4 n + 3. Ent˜ao 4 p 1... pk +3 ´e divis´ıvel por um primo da forma 4 n+3 que n˜ao pertence ao conjunto { 3 , p 1 ,... , pk}.
Demonstra¸c˜ao. Seja a = 4p 1... pk + 3. Existe um p primo que divide a. Como p ´e ´ımpar, ele ´e da forma 4n + 1 ou 4n + 3. Se todo p que divide a fosse da forma 4n + 1, ent˜ao a seria da forma 4n + 1, o que n˜ao ´e. Posso escolher pelo menos um p da forma 4n + 3. Suponha que p ∈ { 3 , p 1 , ..., pk}. Temos ent˜ao dois casos: