Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


artigo de matematica, Resumos de Matemática

artigo sobre matematica - algoritmo

Tipologia: Resumos

Antes de 2010

Compartilhado em 11/04/2026

RicardoSIlvaSilva
RicardoSIlvaSilva 🇧🇷

3 documentos

1 / 78

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Universidade Federal de ao Carlos
Departamento de Matem´atica
Teoria dos umeros
e
Criptografia
Autor: Henrique Favarom Barbosa
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e

Pré-visualização parcial do texto

Baixe artigo de matematica e outras Resumos em PDF para Matemática, somente na Docsity!

Universidade Federal de S˜ao Carlos

Departamento de Matem´atica

Teoria dos N´umeros

e

Criptografia

Autor: Henrique Favarom Barbosa

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.

  • 1 Teoremas b´asicos de Teoria dos N´umeros Apresenta¸c˜ao iii
    • 1.1 Introdu¸c˜ao
    • 1.2 Propriedade da Boa Ordem
    • 1.3 Indu¸c˜ao Matem´atica
    • 1.4 Divisibilidade
    • 1.5 Primos
    • 1.6 Como obter n´umeros primos
  • 2 Fatora¸c˜ao
    • 2.1 Introdu¸c˜ao
    • 2.2 O m´etodo de Fermat
  • 3 Aritm´etica Modular
    • 3.1 Introdu¸c˜ao
    • 3.2 Inteiros m´odulo n
    • 3.3 Aritm´etica modular
    • 3.4 Potˆencias
    • 3.5 Equa¸c˜oes diofantinas
    • 3.6 Divis˜ao modular
    • 3.7 Congruˆencia linear
    • 3.8 Os Teoremas de Euler, Wilson e o Pequeno Teorema de Fermat
  • 4 Pseudoprimos
    • 4.1 Introdu¸c˜ao
    • 4.2 Pseudoprimos
    • 4.3 Teste de Miller
    • 4.4 Procedimentos Computacionais
  • 5 Sistemas de Congruˆencias
    • 5.1 Introdu¸c˜ao
    • 5.2 Resolvendo Equa¸c˜oes Lineares
    • 5.3 Algoritmo Chinˆes do Resto
  • 6 Elementos de Criptografia
    • 6.1 Introdu¸c˜ao
    • 6.2 A Cifra de C´esar
    • 6.3 Cifra com Matrizes
  • 7 Criptografia RSA
    • 7.1 Introdu¸c˜ao
    • 7.2 Pr´e-Codifica¸c˜ao
    • 7.3 Codificando e Decodificando
    • 7.4 Explica¸c˜ao do m´etodo
  • Referˆencias bibliogr´aficas
    • ´Indice geral

Apresenta¸c˜ao

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

Cap´ıtulo 1

Teoremas b´asicos de Teoria dos

N´umeros

1.1 Introdu¸c˜ao

Come¸camos apresentando os teoremas b´asicos de Teoria dos N´umeros ne- cess´arios para desenvolvermos nossos estudos de criptografia.

1.2 Propriedade da Boa Ordem

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.

1.3 Indu¸c˜ao Matem´atica

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

  1. Em seguida, conjecturou que todos os n´umeros desta forma s˜ao primos. Depois se constatou que F (5) e F (6) n˜ao s˜ao primos. N˜ao se conhece uma maneira de determinar quais desses n´umeros s˜ao primos ou

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: