Você está na página 1de 73

Apostila de Álgebra

Claudio P. C. Chacca
Rosiane S. Cesar

IME-UERJ

Setembro de 2020
Sumário

Introdução iii

1 Conjuntos 1
1.1 Definições Básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Subconjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Operações entre conjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Funções 10
2.1 Definições e Elementos Básicos . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Funções Injetivas, Sobrejetivas e Bijetivas . . . . . . . . . . . . . . . . . . . . 12
2.3 Imagem Inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4 Composição de Funções e Função Inversa . . . . . . . . . . . . . . . . . . . . 15

3 Números Inteiros 19
3.1 Números Inteiros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2 Divisão em Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3 Divisibilidade e mdc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4 Algoritmo de Euclides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.5 Equações Diofantinas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.6 Números Primos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4 Aritmética Modular 39
4.1 Relações de Equivalência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2 Congruências Modulares - Definição . . . . . . . . . . . . . . . . . . . . . . . 41
4.3 Classes Residuais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.4 Operações em Zn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.5 Função Phi de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.6 Teoremas de Euler e Fermat . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5 Introdução à Criptografia RSA 55


5.1 Definições Básicas em Criptografia . . . . . . . . . . . . . . . . . . . . . . . . 55
5.2 Criptografia RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.2.1 O Algoritmo RSA em Linhas Gerais . . . . . . . . . . . . . . . . . . . 59
5.2.2 RSA como Cifra de Blocos . . . . . . . . . . . . . . . . . . . . . . . . 61
5.2.3 Segurança do RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

A Noções de Lógica e Linguagem Matemática 65

i
B Alguns Resultados 68
B.1 Princípio da Boa Ordenação . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
B.2 Princípio da Indução Finita . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

ii
Introdução

A presente apostila foi desenvolvida a partir da ementa do curso de Álgebra, que é ministrado
aos alunos de Ciência da Computação/UERJ.

O leitor atento poderá notar que esta apostila não possui resultados originais e sim uma com-
pilação de resultados bem conhecidos. Entretanto, nos esforçamos, na medidada do possível,
em fazer demostrações acessíveis a um aluno de primeiro semestre. Visando também a fácil
compreensão dos resultados expostos, incluímos inúmeros exemplos ao longo dos capítulos.

Os três primeiros capítulos trazem conteúdos familiares aos alunos, porém tratados com
maior rigor matemático. O primeiro capítulo trata de conjuntos, o segundo de funções e o
terceiro trata dos números inteiros.

O quarto capítulo trata da aritmética modular. Não apresentamos todos os resultados rela-
cionados a este tema. Selecionamos aqueles necessários ao entendimento de criptografia RSA,
objeto de estudo do quinto e último capítulo.

Rio de Janeiro, setembro de 2020

iii
Capítulo 1

Conjuntos

1.1 Definições Básicas


Definição 1.1.1. Entendemos por conjunto uma coleção qualquer de objetos os quais chama-
remos de elementos dos conjunto.

Observação 1.1.2. Costuma-se usar letras maiúsculas para denotar os conjuntos e minúsculas
para denotar os elementos do conjunto. Usa-se a notação:

X = {a, b, c, . . .}

para representar o conjunto X cujos elementos são os objetos a, b, c, etc.

Exemplo 1.1.3.

(a) N = {0, 1, 2, 3, 4, . . .}

(b) Z = {. . . , −2, −1, 0, 1, 2, . . .}

(c) V = {a, e, i, o, u}

A relação básica dos conjuntos é a pertinência: se um objeto x é um elemento do conjunto


A, dizemos que x pertence a A e escrevemos x ∈ A. Caso contrário, dizemos que x não
pertence a A e escrevemos x ∈/ A.
2
Exemplo 1.1.4. 5 ∈ N; 3

/ Z.

Existem dois modos principais de descrever um conjunto e seus elementos: enumerando


os elementos do conjunto ou dando uma propriedade característica dos elementos do conjunto.
Quando um conjunto é descrito pela enumeração de seus elementos devemos escrever seus
elementos entre chaves.

Exemplo 1.1.5.

(a) {a, e, i, o, u} (conjunto das vogais)

(b) {1, 3, 5, 7, 9, . . .} (conjunto dos números ímpares positivos)

(c) {0, 1, 2, 3, . . . , 500} (conjunto dos naturais entre 0 e 500, incluindo os extremos)

1
Quando queremos descrever o conjunto A por meio de uma característica/propriedade de
seus elementos, usamos a seguinte estrutura:

A = {x | x tem a propriedade P } ou
= {x; x tem a propriedade P }

Exemplo 1.1.6.
 
p
(a) Q = ; p, q ∈ Z, q ̸= 0
q
(b) [3, 5) = {x ∈ R | 3 ≤ x < 5}

(c) P = {x ∈ Z | x = 2k, k ∈ Z} (conjunto dos inteiros pares)


Definição 1.1.7. Chama-se conjunto unitário aquele que possui um único elemento.
Exemplo 1.1.8. A = {x ∈ R | x2 − 6x + 9 = 0} = {3}
Definição 1.1.9. Chama-se conjunto vazio aquele que não possui elemento algum. É simboli-
zado por ∅.
Exemplo 1.1.10. {x ∈ N | 1 < x < 2} = ∅.
Definição 1.1.11. Dois conjuntos A e B são iguais quando todo elemento de A pertence a B
e, reciprocamente, todo elemento de B pertence a A. Ou seja A = B equivale a:

x ∈ A ⇔ x ∈ B.

Se A não é igual a B escrevemos A ̸= B. Neste caso existe um elemento de A que não pertence
a B ou um elemento de B que não pertence a A.
Exemplo 1.1.12. Sejam A = {x ∈ R | x3 + x = 0}, B = {0} e C = {x ∈ C | x3 + x = 0} .
Temos que A = B e A ̸= C.

1.2 Subconjuntos
Definição 1.2.1. Um conjunto A é subconjunto de B (ou A contido em B) se e só se todo
elemento de A é elemento de B. Neste caso escrevemos A ⊂ B, onde ⊂ é o sinal de inclusão.
Observe que A ⊂ B equivale a:
x ∈ A ⇒ x ∈ B.
Quando A ⊂ B, também podemos escrever B ⊃ A e lê-se B contém A.
Com a notação A ̸⊂ B indicamos que A não está contido em B, ou seja, existe ao menos
um elemento que pertence A mas não pertence a B.
Observação 1.2.2. Alguns autores usam o símbolo ⊆ no lugar de ⊂ e ⊇ no lugar de ⊃.

Exemplo 1.2.3. Sejam A = {x ∈ C; x3 = 1} e B = {x ∈ C; x6 = 1}. Note que A ⊂ B, pois:


2
x ∈ A ⇒ x3 = 1 ⇒ x3 = 12 ⇒ x6 = 1 ⇒ x ∈ B

Em contrapartida B ̸⊂ A pois −1 ∈ B mas −1 ∈


/ A.

2
B
A

Figura 1.1: A ⊂ B

Proposição 1.2.4 (Propriedades da Inclusão). Sejam A, B, C conjuntos. Temos:

(i) ∅ ⊂ A.

(ii) A ⊂ A (reflexiva).

(iii) Se A ⊂ B e B ⊂ A então A = B (anti-simétrica).

(iv) Se A ⊂ B e B ⊂ C, então A ⊂ C (transitiva).

Demonstração.

(i) Suponha por absurdo que ∅ ̸⊂ A. Então existe x ∈ ∅ tal que x ∈


/ A, o que é um absurdo
pois ∅ não possui elementos. Logo ∅ ⊂ A.

(ii) Trivial.

(iii) Seja x ∈ A. Como A ⊂ B, então x ∈ B. Reciprocamente, seja x ∈ B. Como B ⊂ A,


então x ∈ A. Logo A = B.

(iv) Seja x ∈ A. Como A ⊂ B, tem-se x ∈ B. E como B ⊂ C, tem-se x ∈ C. Logo


A ⊂ C. ■

Observação 1.2.5. Podemos usar a propriedade (iii) para provar igualdade entre conjuntos.

1.3 Operações entre conjuntos


Definição 1.3.1. Sejam A e B conjuntos. Definimos:

(i) União de A e B: denotado por A ∪ B, é o conjunto dado por:

A ∪ B = {x; x ∈ A ou x ∈ B}.

(ii) Interseção de A e B: denotado por A ∩ B, é o conjunto dado por:

A ∩ B = {x; x ∈ A e x ∈ B} .

Se A ∩ B = ∅, dizemos que os conjuntos A e B são disjuntos.

3
A B A B

Figura 1.2: A ∪ B e A ∩ B, respectivamente.

Exemplo 1.3.2. Sejam A = {x ∈ N; x é par} e B = {x ∈ N; x é múltiplo de 3}. Então:

A∪B = {x ∈ N; x é par ou x é múltiplo de 3 }


= {0, 2, 3, 4, 6, 8, 9, . . .}
A∩B = {x ∈ N; x é par e x é múltiplo de 3 }
= {x ∈ N; x é múltiplo de 6 }
= {0, 6, 12, . . .}

Proposição 1.3.3 (Propriedades da União). Sejam A, A′ , B, B ′ , C conjuntos. Temos:

(i) A ∪ ∅ = A.

(ii) A ∪ A = A.

(iii) A ∪ B = B ∪ A

(iv) (A ∪ B) ∪ C = A ∪ (B ∪ C).

(v) Se A ⊂ B e A′ ⊂ B ′ então A ∪ A′ ⊂ B ∪ B ′ .

(vi) A ∪ B = A se e somente se B ⊂ A.

(vii) A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C).

Demonstração.

(i) Por definição de união é claro que A ⊂ A∪∅. Agora, suponha por absurdo que A∪∅ ̸⊂ A.
Então existe x ∈ A ∪ ∅ tal que x ∈/ A. Logo x ∈ ∅, absurdo. Portanto A ∪ ∅ = A.

(ii) Trivial.

(iii) Trivial.

(iv) Trivial.

(v) Seja x ∈ A ∪ A′ . Então x ∈ A ou x ∈ A′ . Como A ⊂ B e A′ ⊂ B ′ , então x ∈ B ou


x ∈ B ′ . Logo x ∈ B ∪ B ′ e portanto A ∪ A′ ⊂ B ∪ B ′ .

(vi) Suponhamos que A∪B = A. Note que B ⊂ A∪B = A, donde B ⊂ A. Reciprocamente,


suponhamos que B ⊂ A. Observando que A ⊂ A, temos pelo item anterior que A ∪ B ⊂
A ∪ A, donde A ∪ B ⊂ A.

4
(vii) Para mostrar a igualdade, provaremos que A ∪ (B ∩ C) ⊂ (A ∪ B) ∩ (A ∪ C) e que
(A ∪ B) ∩ (A ∪ C) ⊂ A ∪ (B ∩ C).
Suponhamos por absurdo que exista x ∈ A ∪ (B ∩ C) tal que x ∈ / (A ∪ B) ∩ (A ∪ C).
Deste modo x ∈/ (A ∪ B) ou x ∈/ (A ∪ C). Caso x ∈ / (A ∪ B), então x ∈/ Aex∈ / B,
donde x ∈/ A ∪ (B ∩ C) Similarmente, caso x ∈/ (A ∪ C), então x ∈
/ Aex∈ / C, donde
x∈/ A ∪ (B ∩ C). Em ambos os casos temos x ∈/ A ∪ (B ∩ C), o que é um absurdo. Logo
A ∪ (B ∩ C) ⊂ (A ∪ B) ∩ (A ∪ C).
Reciprocamente, suponhamos por absurdo que exista x ∈ (A ∪ B) ∩ (A ∪ C) tal que
x∈ / A ∪ (B ∩ C). Então x ∈
/ Aex∈ / (B ∩ C). Mas x ∈
/ (B ∩ C) implica em x ∈/ B
ou x ∈/ C. Então, temos dois cenários: x ∈
/ Aex ∈ / B ou x ∈/ Aex ∈ / C, ou seja,
x∈ / A ∪ B ou x ∈
/ A ∪ C. Em ambos os casos temos que x ∈
/ (A ∪ B) ∩ (A ∪ C), o que
é um absurdo. Logo (A ∪ B) ∩ (A ∪ C) ⊂ A ∪ (B ∩ C). ■

Proposição 1.3.4 (Propriedades da Interseção). Sejam A, A′ , B, B ′ , C conjuntos. Temos:

(i) A ∩ ∅ = ∅.

(ii) A ∩ A = A.

(iii) A ∩ B = B ∩ A.

(iv) (A ∩ B) ∩ C = A ∩ (B ∩ C).

(v) Se A ⊂ B e A′ ⊂ B ′ então A ∩ A′ ⊂ B ∩ B ′ .

(vi) A ∩ B = A se e somente se A ⊂ B.

(vii) A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C).

Demonstração.

(i) Suponhamos por absurdo que A ∩ ∅ ̸= ∅. Então existe x ∈ A ∩ ∅, ou seja x ∈ A e x ∈ ∅,


o que é um absurdo pois ∅ não possui elementos. Logo A ∩ ∅ =
̸ ∅.

(ii) Trivial.

(iii) Trivial.

(iv) Trivial.

(v) Seja x ∈ A ∩ A′ . Então x ∈ A e x ∈ A′ . Como A ⊂ B e A′ ⊂ B ′ , tem-se portanto que


x ∈ B e x ∈ B ′ . Logo x ∈ B ∩ B ′ , provando assim que A ∩ A′ ⊂ B ∩ B ′ .

(vi) Suponhamos que A ∩ B = A. Então A = A ∩ B ⊂ B. Reciprocamente, suponhamos que


A ⊂ B. Observando que A ⊂ A, temos, da propriedade anterior, que A = A∩A ⊂ A∩B.
E como por definição de interseção A ∩ B ⊂ A, obtemos A ∩ B = A.

(vii) Provaremos que A∩(B ∪ C) ⊂ (A ∩ B)∪(A ∩ C) e (A ∩ B)∪(A ∩ C) ⊂ A∩(B ∪ C).


Seja x ∈ A ∩ (B ∪ C). Então x ∈ A e x ∈ (B ∪ C). Ou seja, x ∈ A e x ∈ B ou x ∈ A e
x ∈ C. Logo x ∈ (A ∩ B) ∪ (A ∩ C) e portanto A ∩ (B ∪ C) ⊂ (A ∩ B) ∪ (A ∩ C).
Reciprocamente, suponhamos por absurdo que exista x ∈ (A ∩ B) ∪ (A ∩ C) tal que
x ∈
/ A ∩ (B ∪ C). Desse modo temos que x ∈ / A ou x ∈/ B ∪ C. Se x ∈/ A, então

5
x∈/ A∩B e x ∈ / A ∩ C, donde x ∈
/ (A ∩ B) ∪ (A ∩ C). De modo análogo, se x ∈
/ B ∪ C,
então x ∈
/ Bex∈ / C, donde x ∈
/ A∩B ex ∈ / A ∩ C. Logo x ∈
/ (A ∩ B) ∪ (A ∩ C). Em
qualquer caso obtivemos x ∈
/ (A ∩ B)∪(A ∩ C), absurdo. Portanto (A ∩ B)∪(A ∩ C) ⊂
A ∩ (B ∪ C). ■
Definição 1.3.5. A diferença entre os conjuntos A e B é o conjunto A − B (ou A \ B) formado
pelos elementos de A que não pertencem a B. Em símbolos:

A − B = {x; x ∈ A e x ∈
/ B} .

A B

Figura 1.3: A − B

Exemplo 1.3.6. Dados A = {a, b, c} e B = {b, c, d, e}, temos A − B = {a} e B − A = {d, e}.
Proposição 1.3.7. Sejam A e B conjuntos. Então:
(i) A − B ⊂ A.
(ii) A − ∅ = A e A − A = ∅.
(iii) Se A ∩ B = ∅ então A − B = A e B − A = B.
Demonstração.
(i) Imediato da definição de diferença entre conjuntos.
(ii) Do item anterior temos que A − ∅ ⊂ A. A fim de obter a igualdade provaremos a outra
inclusão. Para tanto, suponhamos por absurdo que exista x ∈ A tal que x ∈
/ A − ∅. Ou
seja, x ∈ A ∩ ∅ = ∅, o que é um absurdo. Logo x ∈ A implica em x ∈ A − ∅, provando
assim que A ⊂ A − ∅.
Agora, suponhamos por absurdo que A − A ̸= ∅. Então existe x ∈ A − A, ou seja x ∈ A
mas x ∈
/ A, o que é um absurdo. Logo A − A = ∅.
(iii) Provaremos apenas que A − B = A. O outro caso é análogo. Já sabemos que A − B ⊂ A.
Para provar a outra inclusão, suponha por absurdo que exista x ∈ A tal que x ∈
/ A − B.
Então x ∈ A∩B, o que é um absurdo pois A∩B = ∅. Logo x ∈ A implica em x ∈ A−B,
donde A ⊂ A − B. ■
Definição 1.3.8. Frequentemente existe um conjunto U que contém todos os conjuntos de uma
certa discussão, chamado de conjunto universo ou universo do discurso.
Sejam U um conjunto universo e A ⊂ U . O complementar de A em U , simbolizado por
c
A ou ∁U A, é o conjunto definido por:

Ac = {x ∈ U ; x ∈
/ A}

6
U
A

Figura 1.4: Ac

Exemplo 1.3.9.

(a) U = Z; A = {z ∈ Z | z = 2k, k ∈ Z}. Então Ac = {z ∈ Z | z = 2k + 1, k ∈ Z}.

(b) U = R; A = {x ∈ R; x < 2}. Então Ac = {x ∈ R; x ≥ 2}.

Proposição 1.3.10. Sejam A, B ⊂ U , U conjunto universo. Temos:

(i) ∅c = U e U c = ∅.

(ii) (Ac )c = A.

(iii) A ⊂ B se e somente se B c ⊂ Ac .

(iv) (A ∪ B)c = Ac ∩ B c .

(v) (A ∩ B)c = Ac ∪ B c .

(vi) A − B = A ∩ B c .

Demonstração.

(i) ∅c = {x ∈ U | x ∈
/ ∅} = U .
c
U = {x ∈ U | x ∈ / U } = ∅.

(ii) (Ac )c = {x ∈ U | x ∈
/ Ac } = {x ∈ U | x ∈ A} = A.

(iii) Suponhamos que A ⊂ B. Seja x ∈ B c . Então x ∈ U e x ∈


/ B. Como A ⊂ B, então
c c c
x∈U ex∈ / A, donde x ∈ A . Logo B ⊂ A .
Reciprocamente, suponhamos que B c ⊂ Ac . Pela implicação já provada e pelo item (ii)
obtemos que A ⊂ B.

(iv) Temos:
x ∈ (A ∪ B)c ⇔ x ∈ U, x ∈
/ A∪B
⇔ x ∈ U, x ∈
/ Aex∈ /B
c c
⇔ x∈A ex∈B
⇔ x ∈ Ac ∩ B c ,
donde (A ∪ B)c = Ac ∩ B c .

7
(v) Temos:
x ∈ (A ∩ B)c ⇔ x ∈ U, x ∈
/ A∩B
⇔ x ∈ U, x ∈
/ A ou x ∈
/B
⇔ x ∈ Ac ou x ∈ B c
⇔ x ∈ Ac ∪ B c ,
donde (A ∩ B)c = Ac ∪ B c .

/ B} = {x; x ∈ A e x ∈ B c } = A ∩ B c .
(vi) A − B = {x; x ∈ A e x ∈ ■

Definição 1.3.11. Seja A um conjunto. Definimos o conjunto potência de A ou o conjunto


das partes de A como sendo:
P (A) = {B; B ⊂ A} .
Note que o conjunto das partes de A é formado por todos os subconjuntos de A. Além disso,
P (A) nunca é vazio pois ∅, A ∈ P (A).

Exemplo 1.3.12. Se A = {a, b, c}, então:

P (A) = {∅, {a} , {b} , {c} , {a, b} , {a, c} , {b, c} , {a, b, c}}

Proposição 1.3.13. Sejam A e B conjuntos. Então:

(i) Se A possui n elementos então P (A) possui 2n elementos, para n ∈ N.

(ii) Se A ⊂ B então P (A) ⊂ P (B).

(iii) P (A) ∪ P (B) ⊂ P (A ∪ B).

(iv) P (A) ∩ P (B) = P (A ∩ B).

Demonstração.

(i) Segue do seguinte resultado de análise combinatória:


     
n n n
+ + ... + = 2n , ∀n ∈ N.
0 1 n

(ii) Seja X ∈ P (A). Então X ⊂ A e por hipótese A ⊂ B, donde X ⊂ B. Portanto


X ∈ P (B), donde P (A) ⊂ P (B).

(iii) Seja X ∈ P (A) ∪ P (B). Então X ∈ P (A) ou X ∈ P (B), ou seja, X ⊂ A ou X ⊂ B.


Em qualquer caso temos X ⊂ A ∪ B, donde X ∈ P (A ∪ B). Logo P (A) ∪ P (B) ⊂
P (A ∪ B).

(iv) Temos:
X ∈ P (A) ∩ P (B) ⇔ X ∈ P (A) e X ∈ P (B)
⇔ X ⊂AeX ⊂B
⇔ X ⊂A∩B
⇔ X ∈ P (A ∩ B) ,
donde P (A) ∩ P (B) = P (A ∩ B). ■

8
Definição 1.3.14. Sejam A e B conjuntos. O produto cartesiano dos conjuntos A e B é o
conjunto A × B formado por todo os pares ordenados (a, b) cuja primeira coordenada pertence
a A e a segunda pertence a B. Ou seja:

A × B = {(a, b) ; a ∈ A, b ∈ B} .

Exemplo 1.3.15.

(a) Sejam A = {1, 2, 3} e B = {r, s}. Então:

A × B = {(1, r) , (1, s) , (2, r) , (2, s) , (3, r) , (3, s)} .

(b) R × R = {(x, y) ; x ∈ R, y ∈ R} (plano cartesiano).

Observação 1.3.16. O produto cartesiano não é comutativo. Ou seja, em geral A × B ̸= B × A.

Proposição 1.3.17. Sejam A, B, C conjuntos. Temos:

(i) A × (B ∪ C) = (A × B) ∪ (A × C).

(ii) A × (B ∩ C) = (A × B) ∩ (A × C).

Demonstração. Temos:

(i) A × (B ∪ C) = {(x, y) ; x ∈ A, y ∈ B ∪ C}
= {(x, y) ; x ∈ A, y ∈ B ou y ∈ B}
= {(x, y) ; (x, y) ∈ A × B ou (x, y) ∈ A × C}
= (A × B) ∪ (A × C) .

(ii) A × (B ∩ C) = {(x, y) ; x ∈ A, y ∈ B ∩ C}
= {(x, y) ; x ∈ A, y ∈ B e y ∈ B}
= {(x, y) ; (x, y) ∈ A × B e (x, y) ∈ A × C}
= (A × B) ∩ (A × C) .

9
Capítulo 2

Funções

2.1 Definições e Elementos Básicos


Definição 2.1.1. Sejam A e B conjuntos. Uma função de A em B é uma regra que associa a
cada elemento de A um único elemento de B. Simbolicamente, denotamos:
f :A→B
x 7→ f (x) ,
indicando que para cada x ∈ A está associado um único elemento f (x) ∈ B através da regra
que define a função f . O conjunto A é chamado de domínio da função f , B é chamado de
contradomínio da função f e f (x) é chamado de imagem de x.

A B A B
f g

A B A B
h J

Figura 2.1: Apenas f e g são funções

Exemplo 2.1.2.
(a) Consideremos:
f :Z→Z f :Z→Z
ou ainda
k 7→ 2k f (k) = 2k
O domínio e contradomínio de f é Z. A imagem de k é 2k. Por exemplo, a imagem de 3 é
6.

10
(b) Considerando △ = {t; t triângulo de um plano}, temos:

a:△→R
t 7→ área de t

(c) Dado △ = {t; t triângulo de um plano}, não é possível definir uma função f : (0, ∞) → △
que a cada x > 0 asssocia um triângulo t = f (x) cuja área é x. De fato, há ambiguidades:
para cada x > 0, existem infinitos triângulos de área x.

(d) Não é possível definir uma função g : Q → Q considerando a seguinte regra: a cada número
x ∈ Q façamos corresponder o número g (x) ∈ Q tal que x · g (x) = 1. De fato, não existe
g (0).

Definição 2.1.3. Sejam f : A → B e g : A′ → B ′ funções. Dizemos que f e g são funções


iguais, se, e somente se, A = A′ , B = B ′ e f (x) = g (x), ∀x ∈ A.

Exemplo 2.1.4. As funções:

f :R→R e g : R →√R
f (x) = x g (x) = x2

são diferentes. De fato, temos, por exemplo, −3 = f (−3) ̸= g (−3) = 3.

Definição 2.1.5. Dado f : A → B função, definimos o conjunto imagem de f , ou simples-


mente, a imagem de f , denotado por Im (f ) ou f (A), como o conjunto:

Im (f ) = {f (x) ; x ∈ A}
= {y ∈ B; y = f (x) , x ∈ A} .

Note que o conjunto imagem é um subconjunto do contradomínio.

A B

Im f
f

Figura 2.2: Im f

Exemplo 2.1.6. Determine a imagem das funções:

f :Z→Z g:R→R h : R2 → R
, e
f (k) = 2k + 1 g (x) = x2 h (x, y) = x − y.

Temos:

11
• Im (f ) = {f (k) ; k ∈ Z} = {2k + 1, k ∈ Z} = conjunto dos números ímpares.
• Im (g) = {g (x) ; x ∈ R} = {x2 , x ∈ R} = [0, ∞) .
• Im (h) = {h (x, y) ; (x, y) ∈ R2 } = {x − y, x, y ∈ R} = R, pois x = x − 0 = f (x, 0).
Definição 2.1.7. Sejam f : A → B e Z subconjunto de A. A imagem de Z pela função f ,
simbolizada por f (Z), é definida como o conjunto:
f (Z) = {f (z) ; z ∈ Z} ⊂ B
Exemplo 2.1.8. Se f : R → R, f (x) = x + 2 e Z = [0, +∞), então f (Z) = [2, +∞).
Definição 2.1.9. Seja f : A → B função. O gráfico de f , simbolizado por G (f ), é o subcon-
junto de A × B definido por:
G (f ) = {(x, f (x)) ; x ∈ A} .
Ou seja, G (f ) é o conjunto de todos os pares ordenados de A × B cuja primeira entrada é um
elemento do domínio de f e cuja segunda entrada é a imagem deste elemento.
Observação 2.1.10. Quando f : A ⊂ R → R, representamos G (f ) em R2 graficamente.
Exemplo 2.1.11. Determine o gráfico das funções abaixo:
f : R −→ R 2] −→ R
g : [−2, √ h : R2 −→ R2
e
f (x) = x2 − 1 g (x) = 4 − x2 h (x, y) = (2x, 2y)
Temos:
• G (f ) = {(x, f (x)) ; x ∈ R} = {(x, x2 − 1) ; x ∈ R} = parábola y = x2 − 1.
• G (g) = {(x,
 g√(x)) ; x∈ [−2, 2]}
= x, 4 − x2 ; x ∈ [−2, 2]
= semi-círculo superior de x2 + y 2 = 4.
• G (h) = {(x, y, h (x, y)) ; (x, y) ∈ R2 } = {(x, y, 2x, 2y) ; x, y ∈ R} .

2.2 Funções Injetivas, Sobrejetivas e Bijetivas


Definição 2.2.1. Uma função f : A → B chama-se injetiva (ou injetora) quando f (x) = f (y)
implicar em x = y, com x, y ∈ A. Em outras palavras, se x ̸= y então f (x) ̸= f (y).

Exemplo 2.2.2. Vejamos se as funções:


f :R→R g:R→R e h : R2 → R2
f (x) = 3x − 5 g (x) = x2 h (x, y) = (x + y, x + 2y)
são injetivas. Temos:
f (x) = f (y) ⇒ 3x − 5 = 3y − 5 ⇒ 3x = 3y ⇒ x = y,
donde f é injetiva. Já g não é injetiva pois g (2) = 4 = g (−2) mas 2 ̸= −2. Por último:

x+y = a+b
h (x, y) = h (a, b) ⇒ (x + y, x + 2y) = (a + b, a + 2b) ⇒ ,
x + 2y = a + 2b
e portanto x = a e y = b, donde h é injetiva.

12
A B A B
f g

Figura 2.3: f injetiva; g não.

A B A B
f g

Figura 2.4: f sobrejetiva; g não.

Definição 2.2.3. Uma função f : A → B é dita sobrejetiva (ou sobrejetora) quando, para todo
y ∈ B, existe algum x ∈ A tal que y = f (x). Note que f é sobrejetiva se e só se Im (f ) = B.

Exemplo 2.2.4.
y+5

(a) A função f : R → R é sobrejetiva. Com efeito, dado y ∈ R temos que y = f 3
.
f (x) = 3x − 5

(b) A função g : R → R não é sobrejetiva, pois não existe x ∈ R tal que f (x) = −1.
g (x) = x2
Definição 2.2.5. Uma função f : A → B é dita bijetiva (ou bijetora) se f é injetiva e sobreje-
tiva.

A B
f

Figura 2.5: f é bijetiva.

Exemplo 2.2.6. Dos exemplos anteriores temos que f : R → R é bijetiva.


f (x) = 3x − 5

13
2.3 Imagem Inversa
Definição 2.3.1. Sejam uma função f : A → B e um conjunto Y ⊂ B. A imagem inversa
de Y pela função f é o conjunto f −1 (Y ) formado por todos x ∈ A tais que f (x) ∈ Y . Em
símbolos:
f −1 (Y ) = {x ∈ A | f (x) ∈ Y }
Se Y = {a}, escrevemos f −1 (a) ao invés de f −1 ({a}).

A B

f −1 (Y ) Y
f

Figura 2.6: f −1 (Y )

Exemplo 2.3.2. Considere f : R → R definida por f (x) = 2x2 − 4x + 3. Determinaremos


f −1 (3), f −1 (−∞, 0) e f −1 ([3, 9]). Temos:
• f −1 (3) = {x ∈ R | f (x) = 3}
= {x ∈ R | 2x2 − 4x + 3 = 3}
= {x ∈ R | 2x2 − 4x = 0}
= {0, 2} .

• f −1 (−∞, 0) = {x ∈ R | f (x) ∈ (−∞, 0)}


= {x ∈ R | f (x) < 0}
= {x ∈ R | 2x2 − 4x + 3 < 0}
= ∅.

• f −1 ([3, 9]) = {x ∈ R | f (x) ∈ [3, 9]}


= {x ∈ R | 3 ≤ f (x) ≤ 9}
= {x ∈ R | 3 ≤ 2x2 − 4x + 3 ≤ 9}
= {x ∈ R | 0 ≤ 2x2 − 4x e 2x2 − 4x − 6 ≤ 0}
= [−1, 0] ∪ [2, 3] .
Proposição 2.3.3. Sejam Y, Z ⊂ B. Dada uma função f : A → B, temos:
(i) f −1 (Y ∪ Z) = f −1 (Y ) ∪ f −1 (Z).

(ii) f −1 (Y ∩ Z) = f −1 (Y ) ∩ f −1 (Z).
c
(iii) f −1 (Y c ) = [f −1 (Y )] .

(iv) Y ⊂ Z ⇒ f −1 (Y ) ⊂ f −1 (Z).

(v) f −1 (B) = A.

14
(vi) f −1 (∅) = ∅.
Demonstração.
(i) Temos:
x ∈ f −1 (Y ∪ Z) ⇔ f (x) ∈ Y ∪ Z
⇔ f (x) ∈ Y ou f (x) ∈ Z
⇔ x ∈ f −1 (Y ) ou f −1 (Z)
⇔ x ∈ f −1 (Y ) ∪ f −1 (Z) ,
donde f −1 (Y ∪ Z) = f −1 (Y ) ∪ f −1 (Z).

(ii) Temos:
x ∈ f −1 (Y ∩ Z) ⇔ f (x) ∈ Y ∩ Z
⇔ f (x) ∈ Y e f (x) ∈ Z
⇔ x ∈ f −1 (Y ) e f −1 (Z)
⇔ x ∈ f −1 (Y ) ∩ f −1 (Z) ,
donde f −1 (Y ∩ Z) = f −1 (Y ) ∩ f −1 (Z).

(iii) Temos:
c
x ∈ f −1 (Y c ) ⇔ f (x) ∈ Y c ⇔ f (x) ∈ / f −1 (Y ) ⇔ x ∈ f −1 (Y ) ,

/Y ⇔x∈
c
donde f −1 (Y c ) = [f −1 (Y )] .

(iv) Seja x ∈ f −1 (Y ). Então f (x) ∈ Y ⊂ Z, donde x ∈ f −1 (Z). Logo f −1 (Y ) ⊂ f −1 (Z).

(v) Suponhamos por absurdo que f −1 (B) ̸= A. Como f −1 (B) ⊂ A, isto significa que existe
/ f −1 (B), ou seja, f (x) ∈
x ∈ A tal que x ∈ / B, o que não pode acontecer por definição
de função. Logo f −1 (B) = A.

(vi) Suponhamos por absurdo que f −1 (∅) ̸= ∅. Então existe x ∈ f −1 (∅), e portanto f (x) ∈ ∅,
o que é uma contradição com a definição de conjunto vazio. Logo f −1 (∅) = ∅. ■

2.4 Composição de Funções e Função Inversa


Definição 2.4.1. Dados f : A → B e g : B → C, definimos a função composta de g e f ,
denotada por g ◦ f , como:
g◦f :A→C
(g ◦ f ) (x) = g (f (x))

Exemplo 2.4.2. Se f : R → R2 e g : R2 → R , temos


2
f (x) = (x, x ) g (x, y) = x − y

g◦f :R→R e f ◦ g : R2 → R2
(g ◦ f ) (x) = x − x2 (f ◦ g) (x, y) = (x − y, x2 − 2xy + y 2 ) .

Observação 2.4.3.
(1) A composição de funções não é comutativa, isto é, em geral f ◦ g ̸= g ◦ f .

(2) Se f : A → A, escrevemos f n = f ◦ . . . ◦ f , ∀n ∈ N∗ .

15
A B C

x f f(x) g g(f(x))

g◦f

Figura 2.7: g ◦ f

Exemplo 2.4.4. Considere a função f : R → R dada por:



x + 1, se x ≤ 0
f (x) =
1 − 2x, se x > 0

Temos que f 2 : R → R, com:

f 2 (x) = f (f (x))

f (x + 1) , se x ≤ 0
=
f (1 − 2x) , se x > 0


 (x + 1) + 1, se x ≤ −1
1 − 2 (x + 1) , se − 1 < x ≤ 0

=

 1 − 2 (1 − 2x) , se 0 < x < 21
(1 − 2x) + 1, se x ≥ 12



 x + 2, se x ≤ −1
−2x − 1, se − 1 < x ≤ 0

=

 4x − 1, se 0 < x < 21
−2x + 2, se x ≥ 21

Proposição 2.4.5. Sejam f : A → B e g : B → C funções. Temos que:

(i) Se f e g são injetivas, então g ◦ f é injetiva.

(ii) Se f e g são sobrejetivas então g ◦ f é sobrejetiva.

(iii) Se g ◦ f é injetiva, então f é injetiva.

(iv) Se g ◦ f é sobrejetiva, então é g é sobrejetiva.

Demonstração.

(i) Suponhamos que (g ◦ f ) (x) = (g ◦ f ) (x), ou seja, que g (f (x)) = g (f (y)). Como g é
injetiva, então f (x) = f (y). E como f é injetiva, obtemos x = y. Logo g ◦ f é injetiva.

(ii) Seja z ∈ C qualquer. Como g é sobrejetiva, existe y ∈ B tal que z = g (y). Novamente,
como f é sobrejetiva, existe x ∈ A tal que y = f (x). Daí:

z = g (y) = g (f (x)) = (g ◦ f ) (x) ,

donde g ◦ f é sobrejetiva.

16
(iii) Suponhamos por absurdo que f não é injetiva. Então existem x, y ∈ A, com x ̸= y, tal
que f (x) = f (y). Logo g (f (x)) = g (f (y)), donde g ◦ f não é injetiva, absurdo. Logo
f é injetiva.
(iv) Seja z ∈ C. Como g ◦ f é sobrejetiva, existe x ∈ A tal que z = (g ◦ f ) (x). Logo
z = g (f (x)), com f (x) ∈ B, donde g é sobrejetiva. ■
Definição 2.4.6. Seja A um conjunto qualquer. Definimos a função identidade em A, simbo-
lizada por IA , como sendo:
IA : A → A
IA (x) = x
Muitas vezes, por simplicidade, escrevemos apenas I ao invés de IA .
Exemplo 2.4.7. Temos que I : R → R é função a identidade em R e I : R2 → R2 éa
I (x) = x I (x, y) = (x, y)
função identidade em R2 .
Definição 2.4.8. Seja f : A → B. Diremos que f possui uma inversa se existe uma função
f −1 : B → A que satisfaz:
f −1 ◦ f = IA e f ◦ f −1 = IB
A função f −1 é chamada de função inversa de f .
Observação 2.4.9. A inversa de uma função, se existir, é única. De fato, suponhamos que f −1
e f˜−1 são funções inversas de f : A → B. Então:
f −1 ◦ f = IA ⇒ f −1 ◦ f ◦ f˜−1 = IA ◦ f˜−1 ⇒ f −1 ◦ IB = f˜−1 ⇒ f −1 = f˜−1 .

A B

x f(x)

f −1

Figura 2.8: f e f −1

Proposição 2.4.10. Uma função f : A → B possui inversa se, e somente se, f é bijetiva.
Demonstração. Suponhamos que f possui inversa, isto é, que existe f −1 : B → A tal que
f −1 ◦ f = IA e f ◦ f −1 = IB . Observando que IA é injetiva e que IB é sobrejetiva, segue da
proposição 2.4.5 que f é bijetiva.
Reciprocamente, suponhamos que f é bijetiva. Então, dado y ∈ B, existe um único x ∈ A
tal que y = f (x). Assim, fica bem definida a função:
f −1 : B → A
f −1 (y) = x, onde y = f (x).
Daí (f −1 ◦ f ) (x) = f −1 (f (x)) = x e (f ◦ f −1 ) (y) = f (f −1 (y)) = f (x) = y, donde
f −1 ◦ f = IA e f ◦ f −1 = IB . ■

17
Exemplo 2.4.11. Determine f −1 para as bijeções abaixo:
(a) f : R → R; f (x) = (x − 1)3 + 2.
(b) f : R2 → R2 ; f (x, y) = (x + y, x + 2y) .
Solução:
(a) Sabemos que f −1 : R → R. Além disso, se f (x) = y, então:
f −1 (y) = x. (2.1)
Mas
f (x) = y ⇒ (x − 1)3 + 2 = y
⇒ (x − 1)3 = y − 2
p
⇒x−1= 3 y−2
p
⇒ x = 1 + 3 y − 2. (2.2)
Portanto, de 2.1 e 2.2 obtemos que:
p
f −1 (y) = 1 + 3
y − 2.

(b) Sabemos que f −1 : R2 → R2 . Além disso, se f (x, y) = (a, b), então:


f −1 (a, b) = (x, y) . (2.3)
Mas:
f (x, y) = (a, b) ⇒ (x + y, x + 2y) = (a, b)

x+y = a

x + 2y = b
⇒ x = 2a − b e y = −a + b. (2.4)
Portanto, de 2.3 e 2.4 temos que:
f −1 (a, b) = (2a − b, −a + b) .

Proposição 2.4.12. Sejam f : A → B e g : B → C bijeções. Valem:


−1
(i) (f −1 ) = f.
(ii) (g ◦ f )−1 = f −1 ◦ g −1 .
Demonstração.
(i) Por definição temos que f ◦ f −1 = IB e f −1 ◦ f = IA . Assim, pela unicidade da inversa
−1
temos que (f −1 ) = f .
(ii) Temos:
f −1 ◦ g −1 ◦ (g ◦ f ) = f −1 ◦ IB ◦ f = f −1 ◦ f = IA


e
(g ◦ f ) ◦ f −1 ◦ g −1 = g ◦ IB ◦ g −1 = g ◦ g −1 = IC ,


donde (g ◦ f )−1 = f −1 ◦ g −1 . ■

18
Capítulo 3

Números Inteiros

Neste capítulo suporemos que o leitor esteja familiarizado com o conjunto dos inteiros Z, suas
operações e relações de ordem e com o conjunto dos naturais N. Entretanto, inciaremos este
capítulo com uma breve revisão dos inteiros.

3.1 Números Inteiros


O conjunto dos números inteiros é representado pela letra Z. Neste conjunto estão definidas
duas operações, a adição e a multiplicação:

+ : Z × Z −→ Z e · : Z × Z −→ Z
(x, y) −→ x + y (x, y) −→ x · y

Sejam x, y, z ∈ Z. As operações acima satisfazem as seguintes propriedades:

(1) (x + y) + z = x + (y + z) ( associatividade da adição).

(2) 0 ∈ Z e x + 0 = 0 + x = x (Elemento neutro da adição).

(3) Para cada x ∈ Z, existe −x ∈ Z tal que x + (−x) = (−x) + x = 0 (inverso aditivo de
cada elemento de Z).

(4) x + y = y + x (comutatividade da adição).

(5) (x · y) · z = x · (y · z) (associatividade da multiplicação).

(6) 1 ∈ Z e x · 1 = 1 · x = x (elemento neutro da multiplicação).

(7) x · y = y · x (comutatividade da multiplicação).

(8) x · (y + z) = x · y + x · z (Distributividade da multiplicação em relação à soma).

O conjunto dos números naturais N é pensado como o subconjunto de Z formado apenas


por numeros inteiros não negativos.
Observação 3.1.1.

(1) Dado x ∈ Z, −x é chamado de oposto ou simétrico de X.

(2) Dados a, b ∈ Z, escrevemos a − b para simbolizar a + (−b). Por exemplo 2 − 5 simboliza


2 + (−5) (dois mais o oposto de cinco).

19
Proposição 3.1.2. Sejam x, y ∈ Z. Então:

(i) x · 0 = 0 e 0 · x = 0.

(ii) (−x) · y = − (x · y) e x · (−y) = − (x · y).

(iii) (−x) · (−y) = x · y.

Demonstração.

(i) Provaremos apenas que x · 0 = 0. A outra igualdade segue da comutatividade. Temos:

x · 0 = x · (0 + 0) ⇒ x · 0 = x · 0 + x · 0
⇒x·0−x·0=x·0+x·0−x·0
⇒0=x·0+0
⇒ 0 = x · 0.

(ii) Faremos apenas o primeiro caso. O outro é análogo. Usando o item anterior, temos:

0 · y = 0 ⇒ (x + (−x)) · y = 0
⇒ x · y + (−x) · y = 0
⇒ − (x · y) + x · y + (−x) · y = − (x · y) + 0
⇒ 0 + (−x) · y = − (x · y)
⇒ (−x) · y = − (x · y) .

(iii) Usando os itens anteriores, temos:

(−x) · 0 = 0 ⇒ (−x) · [y + (−y)] = 0


⇒ (−x) · y + (−x) · (−y) = 0
⇒ − (x · y) + (−x) · (−y) = 0
⇒ x · y − (x · y) + (−x) · (−y) = x · y + 0
⇒ 0 + (−x) · (−y) = x · y
⇒ (−x) · (−y) = x · y. ■

Definição 3.1.3. Sejam a ∈ Z e n ∈ N. A potência de base a e expoente n, denotada por an ,


representa a multiplicação da base por ela mesmo uma quantidade n de vezes, ou seja:

an := a
| · a · {z
· · · · a.}
n

Quando a ∈ Z \ {0} e n = 0, definimos a0 = 1.

Exemplo 3.1.4. Dado a = 2 e n = 4, temos an = 24 = 2 · 2 · 2 · 2 = 16.

Observação 3.1.5. Notemos que:

(1) a = 1 ⇒ an = 1n = 1, ∀ n ∈ N.

(2) n = 1 ⇒ an = a1 = a, ∀ a ∈ Z.

20
(3) a = 0 ⇔ an = 0n = 0.
A seguir, algumas propriedades conhecidas de potenciação. Deixaremos a prova a cargo do
leitor.
Propriedades 3.1.6. Sejam m, n ∈ N.
(i) Multiplicação de potências de mesma base: am · an = am+n .

(ii) Potência de uma potência: (am )n = am·n .

(iii) Quando a é um inteiro negativo, então :

• an é positivo se n for par.


• an é negativo se n for ímpar.

Exemplo 3.1.7.
(a) 22 · 23 = 22+3 = 25 .

(b) (22 )4 = 22·4 = 28 .

(c) (−2)2 = 4 e (−2)3 = −8.

3.2 Divisão em Z
O seguinte Teorema é conhecido como divisão euclidiana ou divisão com resto.
Teorema 3.2.1. Sejam a e b números inteiros, com b ̸= 0. Então existem únicos inteiros q e r
satisfazendo:
a = q · b + r, com 0 ≤ r < |b|. (3.1)
Demonstração. Temos dois casos a considerar:
• Caso b > 0: Provaremos, inicialmente, a existência de inteiros q e r satisfazendo 3.1.
Para isso, considere:

S = {a − k · b | k ∈ Z e a − k · b ≥ 0} ⊂ N ∪ {0}

Note que S ̸= ∅. De fato, se a ≥ 0 temos a = a − 0 · b > 0, donde a ∈ S. Se a < 0,


temos a − (2 · a) · b = a (1 − 2 · b) ≥ 0, pois 1 − 2 · b < 0. Logo a − (2 · a) · b ∈ S. Então,
pelo Princípio da Boa Ordenação, S possui um elemento mínimo, que chamaremos de r.
Como r ∈ S, existe q ∈ Z tal que r = a − q · b, e portanto a = q · b + r. Se provarmos
que 0 ≤ r < |b| = b, a prova da existência estará completa. Assim sendo, suponhamos
por absurdo que r ≥ b. Temos:

0 ≤ r − b = (a − b · q) − b = a − (q + 1) · b

donde r − b ∈ S. Daí, por definição de r temos que r ≤ r − b, o que é um absurdo. Logo


0 ≤ r < |b| = b.
Agora, provemos a unicidade dos inteiros q e r satisfazendo 3.1. Suponhamos que existam
q, q ′ , r, r′ ∈ Z tais que
a = q · b + r e a = q ′ · b + r′ ,

21
com 0 ≤ r < b e 0 ≤ r′ < b. Sem perda de generalidade assumiremos que r′ ≥ r. Daí
0 ≤ r′ − r ≤ r′ < b. Também:
r′ − r = (q ′ · b − a) − (q · b − a) = (q ′ − q) · b, (3.2)
ou seja, r′ − r ∈ [0, b) é um múltiplo de b. Logo r′ − r = 0, donde r′ = r. Além disso,
segue de 3.2 que q ′ = q, concluindo assim a prova da unicidade.
• Caso b < 0: Vejamos primeiramente que existem q, r ∈ Z satisfazendo 3.1. Observe
que −b > 0. Assim, do caso anterior existem únicos q0 , r0 ∈ Z satisfazendo: a =
q0 · (−b) + r0 , com 0 ≤ r0 < |−b|. Daí, considere q = −q0 e r = r0 . Então a = q · b + r,
com 0 ≤ r < |b|, provando assim a existência.
Agora, provemos a unicidade dos inteiros q e r satisfazendo 3.1. Suponhamos que existam
q, q ′ , r, r′ ∈ Z tais que
a = q · b + r e a = q ′ · b + r′ ,
com 0 ≤ r < |b| e 0 ≤ r′ < |b|. Note que −b > 0 e que:
a = −q · (−b) + r e a = −q ′ · (−b) + r′ ,
com 0 ≤ r < |−b| e 0 ≤ r′ < |−b|. Daí, pelo caso anterior temos que −q = −q ′ e r = r′ ,
donde q = q ′ e r = r′ , provando assim a unicidade. ■
Observação 3.2.2. Os inteiros q e r são chamados, respectivamente, de quociente e resto da
divisão euclidiana de a por b.
Exemplo 3.2.3.
(a) Sejam a = 42 e b = 5, temos:
42 = b · q + r = 5 · 8 + 2.
(b) Sejam a = 55 e b = −6, temos:
55 = b · q + r = (−6) · (−9) + 1.
(c) Sejam a = −46 e b = −13, temos:
−46 = b · q + r = (−13) · 4 + 6.
Exemplo 3.2.4. Determinar a divisão de −1042 por −40.
Temos que determinar q, r inteiros tais que −1042 = q · (−40) + r e 0 ≤ r < 40. Assim
r = −1042 + 40 · q e:
0 ≤ −1042 + 40 · q < 40 ⇒ 1042 ≤ 40 · q < 1082
1042 1082 ∼
⇒ 26, 05 ∼
= ≤q< = 27, 05,
40 40
donde q = 27 e portanto r = 38. Logo:
−1042 = 27 · (−40) + 38.
Outra solução: usando o algoritmo da divisão para números naturais temos que 1042 = 26 ·
40 + 2.Daí:
1042 = 26 · 40 + 2 ⇒ −1042 = 26 · (−40) − 2
⇒ −1042 = 26 · (−40) − 2 + 40 − 40
⇒ −1042 = 27 · (−40) + 38.

22
Exemplo 3.2.5. Determinar a divisão de −2841 por 53.
Queremos determinar q e r inteiros tais que −2841 = q · 53 + r e 0 ≤ r < 53. Então
r = −2841 − 53 · q e:

0 ≤ −2841 − 53 · q < 53 ⇒ 2841 ≤ −53 · q < 2894


2841 2894 ∼
⇒ −53, 60 ∼
=− ≥q>− = −54, 60,
53 53
donde q = −54 e portanto r = 21. Logo:

−2841 = (−54) · 53 + 21.

Outra solução: usando o algoritmo da divisão para números naturais temos que 2841 = 53 ·
53 + 32. Daí:

2841 = 53 · 53 + 32 ⇒ −2841 = (−53) · 53 − 32


⇒ −2841 = (−53) · 53 − 32 + 53 − 53
⇒ −2841 = (−54) · 53 + 21.

3.3 Divisibilidade e mdc


Definição 3.3.1. Sejam a, b ∈ Z, b ̸= 0. Diremos que b divide a (ou que a é divisível por b,
que b é um fator de a, que b é divisor de a ou que a é múltiplo de b) quando ∃ c ∈ Z tal que
a = c · b. Utilizaremos a notação b | a para indicar que b divide a.
Caso não exista c ∈ Z tal que a = c · b diremos que b não divide a e simbolizaremos por
b ∤ a.
Exemplo 3.3.2. 6 | 90 pois 90 = 15 · 6. Em contrapartida 6 ∤ 95.
Observação 3.3.3. Pelo teorema 3.2.1 temos que b divide a se e somente se o resto da divisão
de a por b é zero.
Essa relação b | a é o que define divisibilidade em Z. Veremos a seguir algumas das
principais propriedades da divisibilidade.
Proposição 3.3.4. Considere a, b, c ∈ Z, com b ̸= 0. Temos:

(1) b | b (propriedade reflexiva).

(2) 1 | a e −1 | a (1 e −1 são os divisores universais).

(3) b | 0 (0 é múltiplo universal).

(4) Se c ̸= 0, c | b e b | a então c | a (Transitividade).

(5) Se b | a e b | c então b | (a + c) e b | (a − c).

(6) Se b | a então b | a · c.

(7) Se b | a e b | c então b | (xa + yc), onde x, y ∈ Z.

(8) Se b | a e a ̸= 0 então |b| ≤ |a|.

23
(9) Se a, b > 0, b | a e a | b então a = b.

Demonstração.
(1) Temos b = 1 · b. Portanto, b | b.

(2) 1 | a pois a = 1 · a. Similarmente, −1 | a pois a = −1 · (−a).

(3) Note que 0 = 0 · b, donde b | 0.

(4) Como c | b e b | a, existem k, j ∈ Z tais que b = k · c e a = j · b. Assim, a = j · b =


j · (k · c) = (j · k) · c. Portanto c | a.

(5) Como b | a e b | c existem k, d ∈ Z tais que a = k · b e c = d · b. Assim a + c = k · b + d · b =


(k + d) · b, donde b | (a + c). O prova de b | (a − c) é análoga.

(6) Se b | a, então a = k · b, para algum k ∈ Z, e portanto a · c = (k · b) · c = (k · c) · b, donde


b | a · c.

(7) Como b | a e b | c, temos, pelo item 6, que b | x · a e que b | y · c, para quaisquer x, y ∈ Z.


Daí, aplicando o item 5 concluimos que b | (x · a + y · c).

(8) Como b | a e a ̸= 0 então a = r · b, com r ∈ Z e r ̸= 0. Assim, |r| ≥ 1, donde


|a| = |r · b| = |r| · |b| ≥ |b|.

(9) Do item 8 b | a e a | b implicam, respectivamente, em |b| ≤ |a| e |a| ≤ |b|. Portanto


|a| = |b|, e como a, b ≥ 0 temos a = b. ■

Exemplo 3.3.5.

(a) Se a = 4, então 1 | 4, pois 4 = 1 · 4 e −1 | 4, pois 4 = (−1) · (−4).

(b) 0 = a · 0, ∀a ∈ Z.

(c) Note que 5 | 10 e 5 | 15, portanto 5 | (10 + 15) = 25 e 5 | (10 − 15) = −5.

(d) Observe que 3 | 6 e 3 | 9, logo 3 | (x · 6 + y · 9), ∀ x, y ∈ Z. Considere, por exemplo,


x = 4 e y = 5. Neste caso 3 | (4 · 6 + 5 · 9), donde 3 | 69.
Observação 3.3.6. Denotaremos por D (a) o conjunto dos divisores de a. Por exemplo:

D (6) = {−6, −3, −2, −1, 1, 2, 3, 6} ;


D (12) = {−12, −6, −4, −3, −2, −1, 1, 1, 2, 3, 4, 6, 12} .

Obsserve que se a ̸= 0 e b | a temos, da proposição 3.3.4, que −a ≤ b ≤ a. Assim, o conjunto


dos divisores de a, D (a), é finito se a ̸= 0. Deste modo podemos fazer a definição a seguir.
Definição 3.3.7. Sejam a e b dois inteiros, com a ̸= 0 ou b ̸= 0. Chama-se máximo divisor
comum de a e b o inteiro d que satisfaz as condições:
(1) d | a e d | b (d é divisor comum de a e b).

(2) Se c é um inteiro tal que c | a e c | b, então c ≤ d (d é o maior divisor comum de a e b).


Utilizaremos a notação d = mdc(a, b).

24
Exemplo 3.3.8. Vamos calcular o mdc (18, 27). Temos:

D (18) = {−18, −9, −6, −3, −2, −1, 1, 2, 3, 6, 9, 18} ;


D (27) = {−27, −9, −3, −1, 1, 3, 6, 9, 27} ;
n o
D (18) ∩ D (27) = −9, −3, −1, 1, 3, 9 .

Logo mdc (18, 27) = 9.

Observação 3.3.9.

(1) mdc(0, 0) não existe pois D (0) é infinito.

(2) mdc(a, b) = mdc(b, a).

(3) Se a ou b diferentes de 0 então mdc(a, b) > 0. De fato, 1 ∈ D (a) ∩ D (b), donde


mdc (a, b) ≥ 1.

(4) Dado um número inteiro a, tem-se que a e −a possuem os mesmos divisores, e portanto
D (a) = D (−a). Deste modo:

mdc (a, b) = mdc (−a, b) = mdc (a, −b) = mdc (−a, −b) .

Assim, para calcularmos mdc (a, b) podemos supor que a e b são não negativos. Por exem-
plo:

mdc (−12, −8) = mdc (12, 8) = 4;


mdc (−12, 8) = mdc (12, 8) = 4;
mdc (12, −8) = mdc (12, 8) = 4.

(5) Se a ̸= 0 então mdc(a, 0) = |a|. De fato, |a| é o maior divisor de a e D (0) = Z∗ .

Calcular o mdc (a, b) usando a definição de mdc pode ser especialmente custoso se os nú-
meros a e b forem grandes. Na próxima seção veremos um algoritmo para calcular o mdc de
maneira mais fácil. Por agora, veremos mais algumas propriedades e proposições sobre o mdc.

Proposição 3.3.10. Sejam a e b inteiros não simultaneamente nulos. Existem x, y ∈ Z tais que

mdc(a, b) = x · a + y · b.

Demonstração. Sem perda de generalidade suporemos a ̸= 0. Seja:

S = {m · a + n · b | m, n ∈ Z e m · a + n · b > 0} ⊂ N.

Note que S ̸= ∅, pois se escolhermos, por exemplo, m = a e n = 0, temos m · a + n · b =


a · a + 0 · b = a2 > 0.
Assim, pelo Princípio da Boa Ordenação (Ver apêndice B.1) S possui um elemento mínimo
d = min S, com d ∈ S. Então existem x, y ∈ Z tais que x · a + y · b = d > 0. Resta mostrar
que d = mdc(a, b). Faremos isso em duas partes: primeiro, mostraremos que d divide a e b.
Em seguida, provaremos que d é o maior divisor de a e b.

25
• Primeira parte: d divide a e b.
De fato, pelo teorema 3.2.1 existem q, r ∈ Z tais que a = q · d + r, com 0 ≤ r < d. Se
r > 0, teríamos

r = a − q · d = a − q · (x · a + y · b) = (1 − q · x) · a + (−q · y) · b,

donde r ∈ S e r < d = min S, absurdo. Logo r = 0 e consequentemente, a = q · d, i.e,


d | a. Usando um raciocínio similar, prova-se que d | b.

• Segunda parte: d é o maior divisor de a e b.


Seja d1 ∈ Z tal que d1 | a e d1 | b. Pela propriedade 3.3.4, sabemos que d1 | (x·a+y·b) =
d, donde d1 ≤ d. ■

Exemplo 3.3.11. Temos que mdc (36, 27) = 9 e 9 = 1 · 36 − 1 · 27.

Na próxima seção veremos um algoritmo para determinar os inteiros x e y satisfazendo


mdc (a, b) = x · a + y · b. Finalizaremos esta seção com algumas observações sobre estes
inteiros e com algumas propriedades do mdc que resultam da proposição 3.3.10.
Observação 3.3.12.

(1) Os inteiros x e y satisfazendo mdc (a, b) = x · a + y · b não são únicos. Com efeito, se k é
inteiro qualquer, temos:

mdc (a, b) = (x + k · b) · a + (y − k · a) · b.

Por exemplo, mdc (36, 27) = 9 = 1 · 36 − 1 · 27 e mdc (36, 27) = 9 = 28 · 36 − 37 · 27.

(2) Se tivermos d = x · a + y · b não podemos afirmar que mdc (a, b) = d. De fato, note que
2 = 9 · 3 − 5 · 5, mas 2 ̸= mdc (9, 5) = 1.

Definição 3.3.13. (Primos relativos) Dois números a, b ∈ Z são chamados de primos relativos,
relativamente primos, ou primos entre si, quando mdc(a, b) = 1.

Exemplo 3.3.14.

(1) 4 e 11 são primos relativos pois mdc(4, 11) = 1.

(2) 10 e 21 são primos relativos pois mdc(10, 21) = 1.

Corolário 3.3.15. Sejam a, b, c, d1 ∈ Z, com a e b não simultaneamente nulos. Temos:

(i) Se d = mdc(a, b), d1 | a e d1 | b então d1 | d.

(ii) mdc(a, b) = 1 se e somente se existem x, y ∈ Z tais que x · a + y · b = 1

(iii) Se c | a · b e mdc(b, c) = 1 então c | a.

(iv) Se a | c , b | c e mdc(a, b) = 1 então a · b | c.

Demonstração.

(i) Da proposição 3.3.10 existem x, y ∈ Z tais que d = xa + yb. E pela proposição 3.3.4,
item 7, d1 | xa + yb = d.

26
(ii) (⇒) Segue da proposição 3.3.10.
(⇐) Seja d = mdc(a, b) Utilizando a propriedade 3.3.4, item (7), temos que d | xa+yb =
1, donde d = 1.

(iii) Se c | a · b então a · b = e · c, para algum e ∈ Z. Por outro lado, como mdc(c, b) = 1,


existem x, y ∈ Z tais que x · c + y · b = 1. Daí:

1=x·c+y·b⇒a=x·c·a+y·b·a
⇒a=x·c·a+y·e·c
⇒ a = (x · a + y · e) · c,

donde c | a.

(iv) Por hipótese, c = k · a e c = d · b, para algum k, d ∈ Z. Como mdc(a, b) = 1, pela


proposição 3.3.10 existem x, y ∈ Z tal que x · a + y · b = 1, donde x · a · c + y · b · c = c.
Substituindo c por k · a e por b · d na equação anterior, temos c = x · a · d · b + y · b · k · a =
(x · d + y · k) · a · b, e portanto a · b | c. ■

Exemplo 3.3.16.

(1) mdc (30, 18) = 6, 3 | 30 e 3 | 18, donde 3 | 6.

(2) 4 | 120 = 8 · 15 e mdc (15, 4) = 1, donde 4 | 8.

(3) 4 | 180, 15 | 180 e mdc (4, 15) = 1, donde 60 = 4 · 15 | 180.

3.4 Algoritmo de Euclides


Nesta seção apresentaremos o Algoritmo de Euclides que permite calcular efetivamente o má-
ximo divisor comun de dois inteiros.

Lema 3.4.1. Sejam a, b e m inteiros, a e b não simultaneamente nulos. Então mdc(a, b) =


mdc(b, a − m · b).

Demonstração. Sejam d1 = mdc (a, b) e d2 = mdc (b, a − m · b). Observe que d1 | a e d1 | b.


Logo, pela proposição 3.3.4, item 7, d1 | (a − m · b). Portanto, por definição de mdc temos que
d1 ≤ mdc (b, a − m · b), ou seja, mdc(a, b) ≤ mdc(b, a − m · b).
Analogamente, temos que d2 | b e d2 | a − m · b. Logo d2 | b e, pela proposição 3.3.4, item
7, d | a = (a − m · b) + m · b. Assim, por definição de mdc temos que d2 ≤ mdc (a, b), ou seja,
mdc(b, a − m · b) ≤ mdc (a, b).
Como mdc(a, b) ≤ mdc(b, a−m·b) e mdc(b, a−m·b) ≤ mdc (a, b) obtemos mdc(a, b) =
mdc(b, a − m · b). ■
Agora, sejam a, b inteiros não-simultâneamente nulos. Vejamos como o lema acima pode
nos ajudar a calcular o mdc (a, b). Em primeiro lugar, pela observação 3.3.9 podemos supor a e
b não-negativos. Se b = 0 então mdc(a, b) = a e nada temos que calcular. Portanto, até o final
desta seção suporemos que 0 < b ≤ a.
Pela divisão euclidiana temos:

a = q1 · b + r2 , 0 ≤ r2 < b.

27
Da igualdade acima e do lema 3.4.1 segue que

mdc(a, b) = mdc(b, a − q1 · b) = mdc(b, r2 ).

Dois casos podem se apresentar:


1) r2 = 0. Neste caso mdc(a, b) = mdc(b, r2 ) = mdc(b, 0) = b.

2) r2 ̸= 0. Neste caso efetuamos a divisão euclidiana de b por r2 , obtendo:

b = q2 · r2 + r3 , 0 ≤ r3 < r2 .

Argumentando como acima segue que

mdc(a, b) = mdc(b, r2 ) = mdc(r2 , r3 ).

Novamente dois casos podem se apresentar:

1) r3 = 0. Neste caso, mdc(a, b) = mdc(r2 , 0) = r2 .


2) r3 ̸= 0. Neste caso efetuaremos a divisão euclidiana r2 por r3 , obtendo:

r2 = q3 · r3 + r4 , 0 ≤ r4 < r3 .

Novamente procedendo como acima temos que:

mdc(a, b) = mdc(b, r2 ) = mdc(r2 , r3 ) = mdc(r3 , r4 ),

e assim sucessivamente.

Definindo r1 = b, segue da argumentação acima que existe um valor n tal que rn+1 = 0 e
rn ̸= 0. De fato, se para todo n tivéssemos rn ̸= 0, teríamos uma sequeência infinita de inteiros
r1 , r2 , r3 , . . . tais que:
r1 > r2 > r3 > · · · > 0,
o que contradiz o Principio de boa Ordenação (veja teorema B.1.2). Deste modo,

mdc(a, b) = mdc(b, r2 ) = mdc(r2 , r3 ) = · · · = mdc(rn−1 , rn ) = mdc(rn , 0) = rn ,

e portanto o último resto não nulo rn neste processo nos fornece o valor de mdc(a, b).
O processo acima descrito para calcular o mdc (a, b), a e b números positivos, é chamado
de algoritmo de Euclides ou algoritmo euclidiano. Pode ser resumido através do seguinte
dispositivo prático:

q1 q2 q3 ··· qn−2 qn−1 qn


a b r2 r3 ··· rn−2 rn−1 rn
r2 r3 r4 r5 ··· rn 0
Exemplo 3.4.2. Aplicando o algoritmo de Euclides para calcular mdc(330, 240), temos:

1 2 1 2
330 240 90 60 30
90 60 30 0
Logo mdc(330, 240) = 30.

28
Exemplo 3.4.3. Aplicando o algoritmo de Euclides para calcular mdc(1321, 320),temos:

4 7 1 4 8
1321 320 41 33 8 1
41 33 8 1 0
Logo mdc(1321, 320) = 1.
Como vimos na Proposição 3.3.10, esixtem inteiros x, y tais que mdc(a, b) = x · a + y · b.
O algoritmo de Euclides usado de trás para a frente permite calcular tais inteiros. De fato,
considere as seguintes igualdades:

(1) rn = rn−2 − qn−1 · rn−1


(2) rn−1 = rn−3 − qn−2 · rn−2
(3) rn−2 = rn−4 − qn−3 · rn−3
.. ..
. .
(n − 2) r3 = b − q2 · r2
(n − 1) r2 = a − q1 · b
Substituindo o valor de rn−1 de (2) em (1), obtemos:
rn = (1 + qn−1 · qn−2 ) · rn−2 − qn−1 · rn−3 .
Substituindo na igualdade acima o valor de rn−2 obtido em (3), temos:
rn = −(qn−3 + qn−1 · qn−2 · qn−3 + qn−1 ) · rn−3 + (1 + qn−1 qn−2 ) · rn−4 .
Continuando sucessivamente as substituições obtemos no final números inteiros x e y tais que
mdc(a, b) = rn = x · a + y · b.
Exemplo 3.4.4. Voltemos ao exemplo 3.4.2. Ali efetuamos as seguintes divisões (com restos
não nulos):

330 = 1 · 240 + 90;


240 = 2 · 90 + 60;
90 = 1 · 60 + 30.
Isolando (de trás para frente) os restos temos:

30 = 90 − 1 · 60;
60 = 240 − 2 · 90;
90 = 330 − 1 · 240.
Substituindo como acima obtemos:
30 = 90 − 1 · (240 − 2 · 90)
= 3 · 90 − 240
= 3(330 − 240) − 240
= 3 · 330 − 4 · 240.
Assim
mdc(330, 240) = 30 = 3 · 330 − 4 · 240.

29
Exemplo 3.4.5. Voltemos ao exemplo 3.4.3. Ali efetuamos as seguintes divisões (com restos
não nulos):

1321 = 4 · 320 + 41;


320 = 7 · 41 + 33;
41 = 1 · 33 + 8;
33 = 4 · 8 + 1.

Isolando (de trás para frente) os restos temos:

1 = 33 − 4 · 8;
8 = 41 − 1 · 33;
33 = 320 − 7 · 41;
41 = 1321 − 4 · 320.

Substituindo como acima obtemos:

1 = 33 − 4 · 8 = 33 − 4 · (41 − 33)
= − 4 · 41 + 5 · 33 = −4 · 41 + 5 · (320 − 7 · 41)
= 5 · 320 − 39 · 41 = 5 · 320 − 39 · (1321 − 4 · 320)
= 161 · 320 − 39 · 1321.

Assim:
mdc(1321, 320) = 1 = 161 · 320 − 39 · 1321.
Observe que o processo acima apresentado para calcular os inteiros x, y tais que mdc (a, b) =
x · a + y · b é computacionalmente custoso pois envolve calcular o mdc (a, b) via algoritmo de
euclides, armazenar cada divisão efetuada e fazer várias substituições. Isto pode ser inviável
para números muito grandes. Assim sendo, apresentaremos o algoritmo euclidiano esten-
dido, que é uma modificação do algoritmo euclidiano que permitirá, ao mesmo tempo, calcular
mdc (a, b) e os inteiros x e y. A ideia desse algoritmo é, em cada divisão, expressar o resto
como uma combinação linear de a e b.
Digamos que ao calcular o mdc (a, b) efetuamos as divisões a seguir:

primeira divisão a = q1 b + r1
segunda divisão b = q2 r1 + r2
terceira divisão r1 = q3 r2 + r3
quarta divisão r2 = q4 r3 + r4 (3.3)
..
.
n-ésima divisão rn−2 = qn rn−1 + rn
(n+1)-ésima divisão rn−1 = qn+1 rn + 0,

e portanto mdc (a, b) = rn . Queremos calcular xi e yi tais que :

r 1 = x1 a + y 1 b
r 2 = x2 a + y 2 b
r 3 = x3 a + y 3 b (3.4)
..
.
r n = xn a + y n b

30
Embora a e b não sejam restos, designaremos r−1 = a e r0 = b. Neste caso, tomaremos:
x−1 = 1, y−1 = 0 e x0 = 0, y0 = 1, (3.5)
pois a = 1 · a + 0 · b e b = 0 · a + 1 · b. Daí, de 3.3 e 3.4 temos, para 1 ≤ i ≤ n:
ri = ri−2 − qi ri−1
= (xi−2 a + yi−2 b) − qi (xi−1 a + yi−1 b)
= (−qi xi−1 + xi−2 ) a + (−qi yi−1 + yi−2 ) b,
donde concluímos que:
xi = −qi xi−1 + xi−2 e yi = −qi yi−1 + yi−2 para 1 ≤ i ≤ n (3.6)
Estas últimas equações nos dizem que os os coeficientes xi , yi de ri (resto da i-ésima divisão)
podem ser obtidos recursivamente desde que tenhamos qi (quociente da i-ésima divisão) e os
coeficientes de ri−1 e ri−2 . Como de 3.5 já conhecemos os coeficientes de r−1 e r0 , estamos
aptos, usando 3.4, a calcular xi , yi para todo 1 ≤ i ≤ n. Do ponto de vista computacional isto
é vantajoso pois precisamos apenas armazenar os dados das duas iterações anteriores.
Podemos resumir o algoritmo euclidiano estendido através do seguinte dispositivo prático:
restos quocientes x y
a * 1 0
b * 0 1
r1 q1 x1 y1
r2 q2 x2 y2
r3 q3 x3 y3
.. .. .. ..
. . . .
rn−1 qn−1 xn−1 yn−1
rn qn xn yn
0 qn+1
com xi , yi , 1 ≤ i ≤ n calculados segundo as relações .
Exemplo 3.4.6. Calcular, usando o algoritmo euclidiano estendido, o mdc (1234, 54) e inteiros
x e y satisfazendo mdc (1234, 54) = x · 1234 + y · 54.
Usando as relações 3.4 e o dispositivo prático acima, temos:
restos quocientes x y
1234 * 1 0
54 * 0 1
46 22 1 −22
8 1 −1 23
6 5 6 −137
2 1 −7 160
0 3
Logo mdc (1234, 54) = 2 e 2 = −7 · 1234 + 160 · 54. Seguem abaixo os cálculos efetuados.
divisão x y
1234 = 22 · 54 + 46 −22 · 0 + 1 = 1 −22 · 1 + 0 = − 22
54 = 1 · 46 + 8 −1 · 1 + 0 = -1 −1 · (−22) + 1 = 23
46 = 5 · 8 + 6 −5 · (−1) + 1 = 6 −5 · 23 − 22 = -137
8= 1 ·6+ 2 −1 · 6 − 1 = -7 −1 · (−137) + 23 = 160
6= 3 ·2+ 0

31
3.5 Equações Diofantinas
As equações Diofantinas são equações polinomiais em várias incógnitas com coeficientes in-
teiros. Por exemplo, são equações Diofantinas:

3x − 2y = 1, x2 + xy + 1 = 0, x3 + y 3 = z 3 .

Nesta seção nos concentraremos em equações diofantinas lineares de duas variáveis, ou seja,
equações do tipo:
ax + by = n, com a, b, n ∈ Z. (3.7)
Estamos interessados nas soluções inteiras de 3.7. Portanto buscamos pares ordenados (x0 , y0 ) ∈
Z × Z que satisfazem 3.7, isto é, tais que ax0 + by0 = n. Por exemplo, (2, −1) é uma solução
inteira de
3x + 5y = 1, (3.8)
 
1 2
pois 3 · 2 + 5 · (−1) = 1. E, embora − , satisfaça 3.8, não é uma solução que procuramos
3 5
pois buscamos apenas soluções inteiras.
Em resumo, dada uma equação como 3.7, podemos nos perguntar o seguinte:

1) Sob quais condições a equação admite soluções inteiras?

2) Quando possui soluções inteiras, como determiná-las?

Tais questões serão respondidas nos próximos Teoremas.

Teorema 3.5.1. Sejam a, b e n inteiros, a e b não simultaneamente nulos. A equação ax+by = n


admite solução inteira se, e somente se, mdc(a, b) | n.

Demonstração.

(⇒) Se a equação possui solução (x0 , y0 ) ∈ Z × Z, então ax0 + by0 = n. Por outro lado
mdc(a, b) divide a e b, donde mdc(a, b) | (ax0 + by0 ) = n.

(⇐) Como mdc(a, b) | n, existe um inteiro k tal que n = k ·mdc(a, b). Pela Proposição 3.3.10
existem u0 e v0 inteiros tais que mdc(a, b) = u0 · a + v0 · b. Multiplicando por k esta
ultima igualdade obtemos n = (k · u0 )a + (k · v0 )b. Portanto x = k · u0 e y = k · v0 é
uma solução inteira da equação. ■

Exemplo 3.5.2. A equação 18x + 30y = 10 não possui soluções inteiras pois mdc (18, 30) =
6 ∤ 10. Já 14x − 50y = 6 possui soluções inteiras pois mdc (14, −50) = 2 | 6.

Teorema 3.5.3. Sejam a, b e n inteiros, a e b não simultaneamente nulos e (x0 , y0 ) uma solução
inteira particular da equação ax + by = n. Então (x, y) é uma solução inteira da equação se,
e somente se,
b a
x = x0 + t · e y = y0 − t · , (3.9)
mdc(a, b) mdc(a, b)
para algum t ∈ Z.

32
Demonstração.
(⇒) Se a ou b for zero é claro que toda solução tem a forma acima. Portanto suporemos que
a e b são distintos de 0. Se (x, y) é uma solução inteira da equação então a · x + b · y =
n = a · x0 + b · y0 , donde a · (x − x0 ) = b · (y0 − y). Assim:
a b
· (x − x0 ) = · (y0 − y) (3.10)
mdc(a, b) mdc(a, b)
 
a b
Notemos que mdc , = 1. Então, pelo item 3 do corolário
mdc(a, b) mdc(a, b)
3.3.15, temos:
a b
| (y0 − y) e | (x − x0 ),
mdc(a, b) mdc(a, b)
 
a
donde existem inteiros s e t tais que y0 − y = t · e x − x0 = s ·
  mdc(a, b)
b
. Substituindo em 3.10 obtemos que t = s e portanto:
mdc(a, b)
b a
x = x0 + t · e y = y0 − t · .
mdc(a, b) mdc(a, b)

(⇐) Por substituição verfica-se facilmente que x e y como em 3.9 é solução da equação. ■
Do Teorema acima notamos que se a equação admite uma solução então ela possui infinitas
soluções. E que qualquer solução particular determina todas as outras soluções usando a fór-
mula 3.9. Portanto, surge a questão: como determinar uma solução particular para a equação
ax + by = n? O segredo é utilizar o algoritmo euclidiano estendido para determinar inteiros
u0 , v0 tais que u0 · a + v0 · b = mdc(a, b). Daí multiplicamos ambos lados da igualdade por
n
, obtendo:
mdc(a, b)
   
n n
· u0 · a + · v0 · b = n
mdc(a, b) mdc(a, b)
   
n n
Logo x0 = · u0 e y0 = · v0 é uma solução particular de
mdc(a, b) mdc(a, b)
ax + by = n e a partir desta podemos obter todas as soluções usando 3.9.
Exemplo 3.5.4. Vamos resolver, se possível, a equação

30x + 98y = 14.

Primeiro calculamos mdc(98, 30), obtendo:

3 3 1 3
98 30 8 6 2
8 6 2 0

Como mdc(98, 30) = 2 | 14 concluímos que a equação admite soluções. Utilizando o Algo-
ritmo euclidiano estendido obtemos:

2 = 4 · 98 − 13 · 30.

33
14
Multiplicando a última igualdade por 7 = temos:
2
14 = 30 · (−91) + 98 · 28.

Assim uma solução particular é x0 = −91 e y0 = 28. Logo, pela fórmula do Teorema 3.5.3
temos que as soluções inteiras da equação são:

x = −91 + t · 49 e y = 28 − t · 15, t ∈ Z.

3.6 Números Primos


Definição 3.6.1. Um número inteiro é chamado primo quando p ∈ / {−1, 1} e os únicos diviso-
res de p são −1, 1, −p e p. Caso contrário é chamado de número composto.

Exemplo 3.6.2. Os números 2, −3, 5 e 7 são números primos, enquanto −6, 10 e 12 são
números compostos.

A seguir algumas propriedades básicas dos números primos:

Proposição 3.6.3. Sejam a e b inteiros e p primo. Então:

(i) mdc (a, p) = 1 ou mdc (a, p) = |p|

(ii) Se p | ab então p | a ou p | b (propriedade fundamental dos primos).

Demonstração.

(i) Como p é primo seus únicos divisores positivos são 1 e p. Logo mdc (a, p) = 1 se p ∤ a
ou mdc (a, p) = |p| se p | a.

(ii) Suponha por absurdo que p ∤ a e p ∤ b. Como p ∤ a então mdc (a, p) = 1, ou seja, a
e p são relativamente primos. Daí, como p | ab temos, pelo corolário 3.3.15, que p | b,
contradição. Logo p | a ou p | b. ■

A seguir um Teorema que demonstra a importância dos números primos.

Teorema 3.6.4. Todo número natural maior do que 1 ou é primo ou é um produto de primos
positivos.

Demonstração. Seja n ≥ 1 um número natural. Tomemos p1 > 1 o menor divisor positivo


de n. Notemos que p1 é um número primo, pois caso contrário existiria um número natural t
tal que t | p1 e 1 < t < p1 , donde, pela propriedade 3.3.4, item (4), t | n, o que seria uma
contradição com nossa escolha inicial. Portanto podemos escrever n = b1 · p1 , com b1 ∈ N.
Se b1 = 1, acabou, pois teríamos n = p1 e portanto n seria primo. Caso b1 > 1 poderíamos
repetir o processo acima para b1 , obtendo b1 = b2 · p2 , com p2 número primo. Assim n =
b2 · p1 · p2 , onde p1 , p2 primos e 1 < p1 ≤ p2 .
Se b2 = 1, acabou, pois n = p1 · p2 , com p1 e p2 primos. Caso b2 > 1 poderíamos repetir o
processo acima para b2 , obtendo b2 = b3 · p3 , com p3 número primo. Assim n = b3 · p1 · p2 · p3 ,
onde p1 , p2 , p3 primos e 1 < p1 ≤ p2 ≤ p3 .
Continuando este processo obteremos n = bk · p1 · p2 · . . . · pk , com p1 , p2 , . . . , pk primos tais
que 1 < p1 ≤ p2 ≤ . . . ≤ pk . Afirmamos que em algum momento este processo para, ou seja

34
bk = 1 para algum k ∈ N. De fato, suponhamos por absurdo que o processo não para. Então a
sequência decrescente de naturais:
n n n n
n> > > > ... > > ... > 0
p1 p1 p2 p1 p3 p1 p2 p3 . . . pk
é infinita, o que é um absurdo pois entre n e 0 existe uma quantidade finita de naturais. Logo
existe algum k ∈ N tal que bk = 1 e portanto:

n = p1 · p2 . . . pk ,

com p1 , p2 , . . . , pk primos satisfazendo 1 < p1 ≤ p2 ≤ . . . ≤ pk . ■


Observe que o prova do Teorema acima nos dá um algoritmo para escrever qualquer nú-
mero como um produto de primos. Esse algoritmo nada mais é que o algoritmo de fatoração
aprendido na escola.

Exemplo 3.6.5. Fatorando 360 temos:


360 2
180 2
90 2
45 3
15 3
5 5
1

e portanto 360 = 23 · 32 · 5.

O teorema a seguir nos mostrará que a decomposição de um número natural maior que um
em um produto de primos é única.

Teorema 3.6.6 (Teorema da Fatoração Única ou Teorema Fundamental da Aritmética). Dado


um inteiro positivo n ≥ 2 podemos sempre escrevê-lo, de modo único, na forma:

n = pe11 pe22 . . . pekk , (3.11)

com 1 < p1 < p2 < . . . < pk primos positivos e e1 , e2 , . . . , ek inteiros positivos.

Demonstração. Seja n ≥ 2 um inteiro positivo. Que n pode ser escrito da forma 3.11 segue do
Teorema 3.6.4. Precisamos portanto provar a unicidade. Suponhamos por absurdo que n possa
ser fatorado de dois modos distintos, isto é:

n = pe11 pe22 . . . pekk e n = q1r1 q2r2 . . . qsrs , (3.12)

nas condições do enunciado. Se as fatorações são diferentes, duas situações distintas podem
ocorrer:

• Caso 1: as fatorações possuem primos diferentes. Neste caso, teríamos, sem perda de
generalidade, algum i ∈ {1, . . . , k} tal que pi ̸= qj , ∀j ∈ {1, . . . , s}. Daí, como pi |
n e n = q1r1 q2s2 . . . qsrs , temos, da proposição 3.6.3, que pi divide qj , para algum j ∈
{1, . . . , s}. E como qj é primo, obteríamos que pi = qj , contradição.

35
• Caso 2: as fatorações possuem os mesmos primos porém com expoentes diferentes. Neste
caso teríamos que k = s e pi = qi , ∀i ∈ {1, . . . , k} mas ei ̸= ri , para algum i ∈
{1, . . . , k}. Sem perda de generalidade podemos supor ei < ri . Daí teríamos:
e e n ri−1 ri −ei ri+1
pe11 pe22 . . . pi−1
i−1 i+1
pi+1 . . . pekk = = pr11 pr22 . . . pi−1 pi pi+1 . . . prkk ,
pei i
n
donde seria um inteiro com duas fatorações envolvendo primos distintos, o que já
pei i
vimos ser um absurdo pelo caso 1.

Em qualquer um dos casos obtivemos um absurdo, o que nos mostra que a fatoração de n é
única. ■
Como primeira consequência do Teorema 3.6.6 temos:

Teorema 3.6.7 (Teorema de Euclides). Existem infinitos números primos.

Demonstração. Basta provarmos que o conjunto de números primos positivos é infinito. Su-
ponhamos por absurdo que o conjunto P dos números primos positivos seja finito, i.e. P =
{p1 , p2 , · · · , pk }. Seja N = p1 · p2 · p3 · · · · pk + 1. Notemos que N não é um número primo
pois N > pi para todo i = 1, 2, · · · , k. Por outro lado, pelo Teorema 3.6.4 N é um produto de
primos positivos. Seja p um dos números primos que compõem N . Pela suposição inicial p tem
que ser alguns dos pi , o que implicaria pela proposição 3.3.4, item 5, que p | 1, o que é uma
contradição. ■
A seguir mais algumas consequências do Teorema da Fatoração única.
Observação 3.6.8. Se n = pr11 pr22 . . . prl l é a fatoração de n > 1, então m ∈ N é um divisor de n
se, e somente se, m = ps11 ps22 . . . psl l , com 0 ≤ si ≤ ri , para todo i = 1, 2, . . . , l. Consequente-
mente, o número de divisores positivos de n é dado por:
l
Y
(ri + 1) = (r1 + 1) (r2 + 1) . . . (rl + 1) .
i=1

Exemplo 3.6.9. Determinaremos o número de divisores positivos e os divisores positivos de


300. Fatorando 300 obtemos:
300 = 22 · 31 · 52 .
Assim, o número de divisores positivos de 300 é, pela observação anterior:

(2 + 1) · (1 + 1) · (2 + 1) = 18

Além disso, os divisores positivos de 300 são da forma:

2r · 3s · 5t , com 0 ≤ r ≤ 2, 0 ≤ s ≤ 1, 0 ≤ t ≤ 2.

Temos as seguintes possibilidades para a terna (r, s, t):

36
(r, s, t) divisor
(0, 0, 0) 20 · 30 · 50 =1
(0, 0, 1) 20 · 30 · 51 =5
(0, 0, 2) 20 · 30 · 52 = 25
(0, 1, 0) 20 · 31 · 50 =3
(0, 1, 1) 20 · 31 · 51 = 15
(0, 1, 2) 20 · 31 · 52 = 75
(1, 0, 0) 21 · 30 · 50 =2
(1, 0, 1) 21 · 30 · 51 = 10
(1, 0, 2) 21 · 30 · 52 = 50
(1, 1, 0) 21 · 31 · 50 =6
(1, 1, 1) 21 · 31 · 51 = 30
(1, 1, 2) 21 · 31 · 52 = 150
(2, 0, 0) 22 · 30 · 50 =4
(2, 0, 1) 22 · 30 · 51 = 20
(2, 0, 2) 22 · 30 · 52 = 100
(2, 1, 0) 22 · 31 · 50 = 12
(2, 1, 1) 22 · 31 · 51 = 60
(2, 1, 2) 22 · 31 · 52 = 300
Deste modo, o conjunto dos divisores positivos de 300 é dado por:

D+ (300) = {1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 25, 30, 50, 60, 75, 100, 150, 300}

Podemos ainda calcular os divisores positivos de 300 através do dispositivo prático:


1
300 2 2
150 2 4
75 3 3 − 6 − 12
25 5 5 − 10 − 20 − 15 − 30 − 60
5 5 25 − 50 − 100 − 75 − 150 − 300
1

Observação 3.6.10. Sejam a e b dois inteiros positivos. A fatoração de mdc (a, b) é dada pela
multiplicação de potências de fatores primos comuns a a e b, onde o expoente da potência de
cada fator primo comum é o menor dos expoentes com que o respectivo fator primo comum
aparece na fatoração de a e b.

Exemplo 3.6.11. Calculemos o mdc (2160, 252). Para tanto observe que 2160 = 24 · 33 · 5 e
252 = 22 · 32 · 7. Assim:
mdc (2160, 252) = 22 · 32 = 36.

Observe que determinar se um número n é ou não primo não é tarefa fácil, especialmente
se n é muito grande. Em tese deveríamos testar, pela propriedade 3.3.4, se d divide n, para
1 < d < |n|. Ou ainda, pela proposição , se os primos entre 1 e |n| dividem n. Embora não seja
uma solução definitiva o teorema a seguir ajuda a determinar se um número é ou não primo.

Lema 3.6.12 (Crivo de Eratóstenes). Se um número inteiro a > 1 é composto, então ele é
múltiplo de algum número primo positivo p tal que p2 ≤ a. Equivalentemente, é primo todo
número a que não é múltiplo de nenhum número primo positivo p tal que p2 ≤ a.

37
Demonstração. Se a é composto e p é o menor primo do qual a é múltiplo, então a = p · b,
com p, b < a . Seja b primo ou composto, ele é múltiplo de um número primo q tal que q ≤ b.
Como a é múltiplo de b e b é múltiplo de q temos, por transitividade, que a é múltiplo de q. E
como p é o menor mútiplo de a podemos dizer que p ≤ q, donde p2 ≤ p · q ≤ a. ■

Exemplo 3.6.13. Vejamos se 401 é ou não um número primo. Observe que 401 ∼ = 20, 02.
Então pelo lema acima devemos verficar se algum primo do conjunto {2, 3, 5, 7, 11, 13, 17, 19}
divide 401. Fazendo os cálculos constatamos que nenhum primo desse conjunto divide 401,
donde podemos concluir que 401 é primo.

Mesmo com o lema 3.6.12 não é fácil determinar se um número é primo ou quais são os
primos até determinado ponto quando se trabalha com números extremamente grandes.

38
Capítulo 4

Aritmética Modular

Iniciaremos este capítulo falando de relações de equivalência, tema importante para estudar
congruências modulares.

4.1 Relações de Equivalência


Definição 4.1.1. Seja A um subconjunto não-vazio. Uma relação R em A é uma especificação
de pares ordenados de elementos de A. Escrevemos para indicar que o par (x, y) está espe-
cificado pela relação R e x̸Ry para indicar que o par (x, y) não está especificado pela relação
R.
Exemplo 4.1.2. Em Z, definimos a seguinte relação R: dados x, y ∈ Z, então xRy se, e
somente se, x ≤ y. Note que:
• 2R5 pois 2 ≤ 5.

• 2R2, pois 2 ≤ 2.

• 5̸R2, pois 5 > 2.


Exemplo 4.1.3. Seja A o conjunto de todas as retas de um plano Π fixado. Em A definimos a
seguinte relação R: se r, t ∈ A, então rRt se e somente se r ∥ t. No plano Π abaixo temos que
r R s mas r̸Rt.

r
t
Π

Figura 4.1: plano Π

Exemplo 4.1.4. Seja A o conjunto de todas as retas de um plano Π fixado. Em A definimos a


seguinte relação R: se r, t ∈ A, então rRt se e somente se r ⊥ t.
No plano Π da figura 4.1 temos que r R t mas s̸Rr

39
Definição 4.1.5. Uma relação R em um conjunto A é uma relação de equivalência quando
satisfaz:
R1) Propriedade reflexiva: para todo x ∈ A vale xRx.
R2) Propriedade simétrica: se x, y ∈ A e xRy então yRx.
R3) Propriedade transitiva: se x, y, z ∈ A, com xRy e yRz então xRz.
Exemplo 4.1.6. Dos exemplos anteriores apenas 4.1.3 é uma relação de equivalência. De fato,
4.1.2 não possui a propriedade simétrica ao passo que 4.1.4 não possui as propriedades reflexiva
e transitiva.
Notação 4.1.7. Uma relação de equivalência num conjunto A é em geral representada pelo
símbolo ∼. Assim, escrevemos x ∼ y para indicar que o par (x, y) está especificado pela
relação de equivalência e x ∼
̸ y para indicar que (x, y) não está especificado pela relação de
equivalência.
Definição 4.1.8. Sejam A um conjunto com uma relação de equivalência ∼ e x um elemento
de A. Definimos a classe de equivalência de x segundo a relação ∼ como sendo o conjunto:

x = {y ∈ A | x ∼ y} .

Exemplo 4.1.9. Consideremos em Z a seguinte relação de equivalência: dados a, b ∈ Z, então


a ∼ b se, e somente se, mdc (a, 10) = mdc (b, 10).
(a) Prove que ∼ é de fato uma relação de equivalência.
(b) Determine 1, 2 e 5.
Solução:
(a) Sejam a, b, c ∈ Z. Temos:
R1) a ∼ a pois mdc (a, 10) = mdc (a, 10).
R2) Se a ∼ b então mdc (a, 10) = mdc (b, 10). Portanto mdc (b, 10) = mdc (a, 10), donde
b ∼ a.
R3) Se a ∼ b e b ∼ c então mdc (a, 10) = mdc (b, 10) e mdc (b, 10) = mdc (c, 10), donde
mdc (a, 10) = mdc (c, 10) e portanto a ∼ c.
(b) Usaremos a notação mZ = {k · m; k ∈ Z} o conjunto dos múltiplos inteiros de m. Então:
• 1 = {b ∈ Z | mdc (1, 10) = mdc (b, 10)}
= {b ∈ Z | mdc (b, 10) = 1}
= Z − (2Z ∪ 5Z) .
• 2 = {b ∈ Z | mdc (2, 10) = mdc (b, 10)}
= {b ∈ Z | mdc (b, 10) = 2}
= 2Z − (2Z ∩ 5Z)
= 2Z − 10Z.
• 5 = {b ∈ Z | mdc (5, 10) = mdc (b, 10)}
= {b ∈ Z | mdc (b, 10) = 5}
= 5Z − (2Z ∩ 5Z)
= 5Z − 10Z.

40
A seguir algumas propriedadas das classses de equivalência.

Teorema 4.1.10. Sejam A ̸= ∅ e ∼ uma relação de equivalência em A. Então:

(i) Se x ∈ A então x ̸= ∅.

(ii) Se x, y ∈ A então x = y se, e somente se, x ∼ y.

(iii) Se x, y ∈ A e x ̸= y então x ∩ y = ∅.
[
(iv) Vale A = x.
x∈A

Demonstração.

(i) x ∈ x pois x ∼ x.

(ii) Suponhamos x = y. Então x ∈ y, donde, por definição de relação de equivalência, x ∼ y.


Reciprocamente, suponhamos x ∼ y. Se a ∈ x, então a ∼ x, donde por transitividade
a ∼ y. Logo a ∈ y e portanto x ⊂ y. Com raciocínio análogo prova-se que y ⊂ x e assim
x = y.

(iii) Suponhamos por absurdo que x ∩ y ̸= ∅. Seja a ∈ x ∩ y. Então x ∼ a e y ∼ a, donde


x ∼ y. Logo pelo item anterior teremos x = y, absurdo.
[
(iv) Como x ⊂ A, a inclusão x ⊂ A é óbvia. E, dado x ∈ A, temos que x ∈ x, e portanto
[ [x∈A
x∈ x, donde A ⊂ x. ■
x∈A x∈A

Exemplo 4.1.11. No exemplo 4.1.9 temos que 1 = 3 pois 1 ∼ 3. Já 2 ∩ 5 = ∅ pois 2 ∼


̸ 5.

Definição 4.1.12. Seja ∼ uma relação de equivalência em A, A ̸= ∅ Definimos o conjunto


quociente de A pela relação de equivalência ∼ como sendo:

A/ ∼= {x | x ∈ A} .

Note portanto que A/ ∼ é o conjunto formado pelas distintas classes de equivalência de A


segundo a relação ∼.

Exemplo
 4.1.13. Considerando a classe de equivalência do exemplo 4.1.9 temos que Z/ ∼=
1, 2, 5, 10 .

4.2 Congruências Modulares - Definição


Definição 4.2.1. Seja n um número natural positivo. Dois inteiros a e b são ditos congruentes
módulo n se n | (a − b). Neste caso escrevemos a ≡ b (mod n). Se n ∤ (a − b) dizemos que
a e b não são congruentes módulo n e denotaremos por a ̸≡ b (mod n).

Exemplo 4.2.2. Veja que 22 e 16 são congruentes módulo 3, isto é, 22 ≡ 16 (mod 3), pois
3 | (22 − 16). Mas 3 ∤ (21 + 17), donde 21 ̸≡ −17 (mod 3).

41
Teorema 4.2.3. Seja n ∈ N∗ . A congruência módulo n é uma relação de equivalência em Z.

Demonstração. Sejam a,b, c ∈ Z. Temos:

R1) Como n | 0 = a − a, então a ≡ a (mod n).

R2) Se a ≡ b (mod n), então n | (a − b) donde n | (b − a). Logo b ≡ a (mod n).

R3) Se a ≡ b (mod n) e b ≡ c (mod n), então n | (a − b) e n | (b − c). Portanto, pela


proposição 3.3.4 n | [(a − b) + (b − c)] = a − c, donde a ≡ c (mod n). ■

Proposição 4.2.4 (Propriedades Modulares). Fixado um número natural n positivo e inteiros a,


b, c e d, temos:

M1) Se a ≡ b (mod n) e c ≡ d (mod n), então a + c ≡ b + d (mod n).

M2) Se a ≡ b (mod n) então a + c ≡ b + c (mod n).

M3) Se a ≡ b (mod n) e c ≡ d (mod n), então ac ≡ bd (mod n).

M4) Se a ≡ b (mod n) então ac ≡ bc (mod n).


n
M5) Se ac ≡ bc (mod n) então a ≡ b (mod )
mdc (c, n)
M6) Se ac ≡ bc (mod n) e mdc (c, n) = 1 então a ≡ b (mod n).

M7) Se a ≡ b (mod n) então ar ≡ br (mod n), com r ∈ N∗ .

Demonstração.

M1) Se a ≡ b (mod n) e c ≡ d (mod n), então n | (a − b) e n | (c − d). Assim, pela


proposição 3.3.4 temos que n | [(a + c) − (b + d)], donde a + c ≡ b + d (mod n).

M2) Segue do item anterior e de c ≡ c (mod n).

M3) Se a ≡ b (mod n) e c ≡ d (mod n), então n | (a − b) e n | (c − d). Assim, pela


proposição 3.3.4 n divide c (a − b) + b (c − d) = ac − bd, donde ac ≡ bd (mod n).

M4) Segue do item anterior e de c ≡ c (mod n).

M5) Se ac ≡ bc (mod n), então (a − b) c = kn, k ∈ Z. Dividindo a última igualdade por


mdc (c, n), temos:
c n
(a − b) =k .
mdc (c, n) mdc (c, n)
 
c n n
Como mdc , = 1, segue da última igualdade que
mdc (c, n) mdc (c, n) mdc (c, n)
n
divide a − b, e portanto a ≡ b (mod ).
mdc (c, n)
M6) Imediato do item anterior.

M7) Imediato de M3). ■

42
Exemplo 4.2.5.

M1) Como 14 ≡ 6 (mod 8) e 7 ≡ −1 (mod 8) então 21 ≡ 5 (mod 8).

M2) Como −7 ≡ 25 (mod 8) então −12 ≡ 20 (mod 8).

M3) Como 10 ≡ 2 (mod 8) e se 3 ≡ 11 (mod 8) então 30 ≡ 22 (mod 8).

M4) Como 21 ≡ 13 (mod 8) então 42 ≡ 26 (mod 8).

M5) Como 12 ≡ 36 (mod 8) e mdc (12, 8) = 4 então 1 ≡ 3 (mod 2).

M6) Como 45 ≡ 21 (mod 8) e mdc (3, 8) = 1 então 15 ≡ 7 (mod 8).

M7) Como 5 ≡ −3 (mod 8) então 25 ≡ 9 (mod 8).

Utilizaremos essas propriedades aritméticas modulares na solução do próximo exemplo.

Exemplo 4.2.6. Calcule o último algarismo do número 7326 .


Calcular o último algarismo de 7326 é o mesmo que calcular o resto da divisão por 10. Desse
modo, buscamos um inteiro 0 ≤ r < 10 tal que:

7326 = q · 10 + r.

Manipulando a última equação temos que 7326 − r = q · 10, ou seja, 10 divide 7326 − r. Portanto,
buscamos um inteiro 0 ≤ r < 10 tal que:

7326 ≡ r (mod 10)

Notemos que 72 ≡ −1 (mod 10), donde (72 )2 ≡ (−1)2 (mod 10). Logo:

74 ≡ 1 (mod 10). (4.1)

Daí, observando que 326 = 81 · 4 + 2 e usando as propriedades modulares, temos de 4.1:

74 ≡1 (mod 10)
(74 )81 ≡181 (mod 10)
781·4 ≡1 (mod 10)
781·4 · 72 ≡1 · 72 (mod 10)
781·4+2 ≡49 (mod 10)
7326 ≡49 (mod 10).

Observando que 49 ≡ 9 (mod 10), com 0 ≤ 9 < 10, segue da última igualdade que:

7326 ≡ 9 (mod 10),

e portanto o resto da divisão de 7326 por 10 é 9.

A seguir mais algumas propriedades da congruência módulo n.

43
Proposição 4.2.7. Dois inteiros a e b são côngruos módulo n se, e somente se, deixam o mesmo
resto quando divididos por n.

Demonstração. Suponhamos que a ≡ b (mod n). Dividindo a e b por n obtemos:

a =q1 n + r1 , 0 ≤ r1 < n
b =q2 n + r2 , 0 ≤ r1 < n.

Daí:
a − b = (q1 − q2 ) n + (r1 − r2 ) , com 0 ≤ |r1 − r2 | < n
Por hipótese a − b é múltiplo de n. Portanto r1 − r2 é múltiplo de n, ou seja, r1 − r2 = ln,
l ∈ Z. E como 0 ≤ |r1 − r2 | < n, concluímos que l = 0, donde r1 = r2 .
Reciprocamente, suponhamos que a e b quando divididos por n deixam o mesmo resto,
digamos, r. Assim:

a = q1 n + r, com 0 ≤ r < n,
b = q2 n + r,

donde a − b = (q1 − q2 ) n e portanto a ≡ b (mod n). ■

Exemplo 4.2.8. 196 e 64 são côngruos módulo 11 pois deixam resto 9 quando divididos por 11.

Proposição 4.2.9. Todo número inteiro a é côngruo módulo n ao resto de sua divisão por n.

Demonstração. Seja r o resto da divisão de a por n, ou seja, a = qn + r, com 0 ≤ r < n. Daí


a − r = qn, donde a ≡ r (mod n). ■

Exemplo 4.2.10. Como o resto da divisão de 145 por 19 é 12 temos que 145 ≡ 12 (mod 19).

4.3 Classes Residuais


Definição 4.3.1. Sejam n ∈ N∗ e a um número inteiro. A classe de equivalência de a segundo a
relação de congruência módulo n, chamada de classe residual módulo n de a ou simplesmente,
de classe de equivalência módulo n de a, é por definição o conjunto:

a = {x ∈ Z | x ≡ a (mod n)}
= {x ∈ Z | x − a = kn, com k ∈ Z}
= {x ∈ Z | x = a + kn, com k ∈ Z} .

Deste modo a é o conjunto formado por inteiros da forma a mais um múltipo inteiro de n.
O conjunto quociente de Z pela congruência módulo n é representado por Zn ou Z/nZ e é
chamado de conjunto dos inteiros módulo n. Então:

Zn = {a; a ∈ Z} .

Do teorema 4.1.10 temos que a = b se e somente se a ≡ b (mod n).

44
Exemplo 4.3.2. Determinar Z1 , Z2 e Z3 .
• Para n = 1, temos:

0 = {x ∈ Z | x ≡ 0 (mod 1)}
= {x ∈ Z | x − 0 é múltiplo de 1}
=Z

Logo Z1 = 0 .

• Para n = 2, temos:

0 = {x ∈ Z | x ≡ 0 (mod 2)}
= {x ∈ Z | x − 0 = 2k, k ∈ Z}
= {x ∈ Z | x = 2k, k ∈ Z}
= {. . . , −4, −2, 0, 2, 4, . . .}

1 = {x ∈ Z | x ≡ 1 (mod 2)}
= {x ∈ Z | x − 1 = 2k, k ∈ Z}
= {x ∈ Z | x = 1 + 2k, k ∈ Z}
= {. . . , −5, −3, −1, 1, 3, 5, . . .}

Logo Z2 = 0, 1 .

• Para n = 3, temos:

0 = {x ∈ Z | x ≡ 0 (mod 3)}
= {x ∈ Z | x − 0 = 3k, k ∈ Z}
= {x ∈ Z | x = 3k, k ∈ Z}
= {. . . , −6, −3, 0, 3, 6, . . .}

1 = {x ∈ Z | x ≡ 1 (mod 3)}
= {x ∈ Z | x − 1 = 3k, k ∈ Z}
= {x ∈ Z | x = 1 + 3k, k ∈ Z}
= {. . . , −5, −2, 1, 4, 7, . . .}

2 = {x ∈ Z | x ≡ 2 (mod 3)}
= {x ∈ Z | x − 2 = 3k, k ∈ Z}
= {x ∈ Z | x = 2 + 3k, k ∈ Z}
= {. . . , −4, −1, 2, 5, 8, . . .}

Logo Z2 = 0, 1, 2 .

Observação 4.3.3. Do teorema 4.1.10 e da proposição 4.2.7 temos que a = b, se e somente se,
a e b deixam o mesmo resto quando divididos por n. Por exemplo, 32 = 17 em Z5 , pois 32 e
17, quando divididos por 5, deixam resto 2.

45
Definição 4.3.4. Um inteiro x tal que x = a é chamado representante da classe residual de
a.
Exemplo 4.3.5.
(a) Em Z3 temos 2 = 5 = 8 = · · · , assim 5, 8, . . . são representantes da classe residual do 2

(b) Em Z5 temos 3 = 8 = 13 = · · · , assim 8, 13, . . . são representantes da classe residual do 3.


Proposição 4.3.6. Dado a ∈ Z, existe um único r ∈ Z com 0 ≤ r < n tal que a = r.
Demonstração. Imediato do teorema 4.1.10 e da proposição 4.2.9. ■
Normalmente,na representação de uma classe a em Zn , usaremos um representante de classe
r tal que 0 ≤ r ≤ n − 1. Esta representação r de a é chamada de forma reduzida módulo n
de a. Em respostas finais sempre usaremos as formas reduzidas das classes modulares.
Exemplo 4.3.7. Em Z6 :
(a) a forma reduzida de 11 é 5.

(b) a forma reduzida de −2 é 4.

(c) a forma reduzida de 48 é 0.


Proposição 4.3.8. Dado n ∈ N∗ , temos que o conjunto Zn dos inteiros módulo n possui n
elementos. Mais precisamente:

Zn = 0, 1, . . . , n − 1

Demonstração.
 Seja a ∈ Zn . Da proposição
 4.3.6 temos que a = r,  com 0 ≤ r < n. Logo
a = r ∈ 0, 1, . . . , n − 1 , donde Zn ⊂ 0,1, . . . , n − 1 . A inclusão 0, 1, . . . , n − 1 ⊂ Zn
é imediata da definição de Zn . Logo Zn = 0, 1, . . . , n − 1 .
Resta mostrar que Zn tem exatamente n elementos, isto é, que as classes 0, 1, . . . , n − 1 são
duas a duas distintas. Portanto, suponhamos por absurdo que i = j, com 0 ≤ i < j ≤ n − 1.
Então j ≡ i (mod n) e assim n divide j − i, o que é um absurdo pois 0 < j − i < n. Assim
i ̸= j, com 0 ≤ i < j ≤ n − 1, implica i ̸= j. ■

Exemplo 4.3.9. Z9 = 0, 1, 2, 3, 4, 5, 6, 7, 8 .

4.4 Operações em Zn
Definição 4.4.1. Sejam a, b ∈ Zn . Definimos as operações de adição e multiplicação em Zn
como sendo, respectivamente:

a+b=a+b e a · b = a · b.

Exemplo 4.4.2. Em Z9 , temos:


• 2 + 8 = 10 = 1.

• 7 + 5 = 12 = 3.

• 2 · 8 = 16 = 7.

46
• 6 · 7 = 42 = 6

Note que as operações acima são definidas a partir dos representantes das classes de a e
b. Deste modo precisamos verificar que, ao mudarmos os representantes das classes a e b, não
mudam os resultados a + b e a · b. Isso é o que demonstraremos na próxima proposição.

Proposição 4.4.3. As operações de adição e multiplicação estão bem definidas em Zn , isto é,


se a = a′ e b = b′ em Zn então a + b = a′ + b′ e a · b = a′ · b′ .

Demonstração. Sejam a, b, a′ , b′ ∈ Z, com a = a′ e b = b . Do teorema 4.1.10 temos a ≡ a′
(mod n) e b ≡ b′ (mod n). Daí, aplicando a proposição 4.2.4 obtemos:

a + b ≡ a′ + b ′ (mod n) e a · b ≡ a′ · b ′ (mod n),

donde a + b = a + b = a′ + b′ = a′ + b′ e a · b = a · b = a′ · b′ = a′ · b′ . ■
A seguir veremos as propriedades satisfeitas pelas operações de adição e multiplicação em
Zn .

Teorema 4.4.4. Seja n um número natural positivo. As operações de adição e multiplicação


em Zn :

+ : Zn × Zn −→ Zn e · : Zn × Zn −→ Zn
a, b 7−→ a + b = a + b a, b 7−→ a · b = a · b

satisfazem, para a, b, c ∈ Zn :
 
(i) a + b + c = a + b + c (associatividade da adição).

(ii) a + 0 = a = 0 + a (existência do elemento neutro aditivo).

(iii) a + b = b + a (comutatividade da adição).

(iv) Dado a ∈ Zn , existe −a ∈ Zn tal que a + (−a) = a = −a + a (existência do simétrico


aditivo).
 
(v) a · b · c = a · b · c (associatividade da multiplicação).

(vi) a · b = b · a (comutatividade da multiplicação).

(vii) 1 · a = a = a · 1 (existência do elemento neutro multiplicativo).


 
(viii) a + b · c = a · c + b · c e c · a + b = c · a + c · b (distributividade).

Demonstração.
 
(i) a + b + c = a + b + c = (a + b) + c = a + (b + c) = a + b + c = a + b + c

(ii) a + 0 = a + 0 = a e 0 + a = 0 + a = a.

(iii) a + b = a + b = b + a = b + a.

(iv) Basta tomar −a = −a. De fato: a + −a = a + (−a) = 0 e −a + a = −a + a = 0.


 
(v) a · b · c = a · b · c = (a · b) · c = a · (b · c) = a · b · c = a · b · c .

47
(vi) a · b = a · b = b · a = b · a.

(vii) 1 · a = 1 · a = a e a · 1 = a · 1 = a.

(viii) a + b · c = a + b · c = (a + b) · c = a · c + b · c = a · c + b · c = a · c + b · c. O outro
caso é análogo. ■

Exemplo 4.4.5.

1) Consideremos Z2 = {0, 1}. As tabelas de adição e multiplicação de Z2 são, respectiva-


mente:
+ 0 1 · 0 1
0 0 1 0 0 0
1 1 0 1 0 1

2) Consideremos Z3 = {0, 1, 2}. As tabelas de adição e multiplicação de Z3 são, respectiva-


mente:
+ 0 1 2 · 0 1 2
0 0 1 2 0 0 0 0
1 1 2 0 1 0 1 2
2 2 0 1 2 0 2 1

3) Consideremos Z4 = {0, 1, 2, 3}. As tabelas de adição e multiplicação de Z4 são, respecti-


vamente:
+ 0 1 2 3 · 0 1 2 3
0 0 1 2 3 0 0 0 0 0
1 1 2 3 0 1 0 1 2 3
2 2 3 0 1 2 0 2 0 2
3 3 0 1 2 3 0 3 2 1

4) Consideremos Z5 = {0, 1, 2, 3, 4}. As tabelas de adição e multiplicação de Z5 são, respec-


tivamente:
+ 0 1 2 3 4 · 0 1 2 3 4
0 0 1 2 3 4 0 0 0 0 0 0
1 1 2 3 4 0 1 0 1 2 3 4
2 2 3 4 0 1 2 0 2 4 1 3
3 3 4 0 1 2 3 0 3 1 4 2
4 4 0 1 2 3 4 0 4 3 2 1

Definição 4.4.6. Dizemos que a é invertível em Zn ou que a é invertível módulo n quando


existe b ∈ Zn tal que a · b = 1.
Quando a é invertível em Zn , a classe b que satisfaz a · b = 1 é chamada de inversa de a e
representada por a−1 . Assim, a · a−1 = 1.

Exemplo 4.4.7. Do exemplo 4.4.5 temos que:

(a) Em Z5 : (3)−1 = 2.

(b) Em Z3 : (2)−1 = 2.

(c) 2 não possui inversa em Z4 .

48
Observação 4.4.8.

(1) Nem toda classe possui inversa em Zn .

(2) A inversa de a em Zn quando existe é unica. De fato, suponha que a · b = 1 e a · c = 1.


Então:
a · b = 1 ⇒ c · a · b = c · 1 ⇒ 1 · b = c,
donde b = c.

A seguir um critério para determinar se uma classe a é invertível em Zn .

Proposição 4.4.9. Um elemento a ∈ Zn é invertível (com relação ao produto) se, e somente se,
mdc(a, n) = 1.

Demonstração. Se a é invertível, então existe b ∈ Zn tal que a · b = 1. Daí a · b ≡ 1 (mod n),


ou ainda, a · b − 1 = k · n, para k ∈ Z. Logo a · b + (−k) · n = 1, o que implica, pela proposição
3.3.15, em mdc(a, n) = 1.
Reciprocamente, se mdc(a, n) = 1 então existem x, y ∈ Z tais que a · x + n · y = 1. Logo
a · x + n · y = 1 e portanto a · x = 1, mostrando assim que a é invertível. ■

Corolário 4.4.10. Seja p um número primo, então qualquer elemento de Zp distinto de 0 possui
inverso multiplicativo em Zp .

Note que a prova da proposição 4.4.9 nos dá um método para calcular o inverso de uma
classe a em Zn . Vejamos um exemplo prático.

Exemplo 4.4.11. Calcule, se existir, o inverso multiplicativo de 35 em Z144 .


Primeiro vamos calcular mdc(144, 35):

4 8 1 3
144 35 4 3 1
4 3 1 0

Logo mdc(144, 35) = 1 e portanto 35 possui inverso multiplicativo em Z144 .Agora vamos
−1
determinar 35 . Utilizando o Algoritmo Euclidiano Estendido obtemos:

1 = (−37) · 35 + 9 · 144.

Tomando a classe residual em ambos lados da igualdade e lembrando que 144 = 0 em Z144 ,
temos:

1 = (−37) · 35 + 9 · 144 = (−37) · 35 + 9 · 144 = (−37) · 35 + 9 · 0 = (−37) · 35,

ou seja 1 = (−37)·35. Como (−37) = 107 em Z144 temos que 1 = 107·35 . Logo (35)−1 = 107
em Z144 .

Definição 4.4.12. Designaremos por U (n) o conjunto dos elementos invertíveis em Zn . Ou


seja:

U (n) = {a ∈ Zn | a é invertível}
= {a ∈ Zn | mdc (a, n) = 1} .

49
Exemplo 4.4.13.
(a) U (15) = {a ∈ Z15 | a é invertível}
 ∈ Z15 | mdc (a, 15) = 1}
= {a
= 1, 2, 4, 7, 8, 11, 13, 14 .

(b) U (36) = {a ∈ Z36 | a é invertível}


 ∈ Z36 | mdc (a, 36) = 1}
= {a
= 1, 5, 7, 11, 13, 17, 19, 23, 25, 29, 31, 35 .

Observação 4.4.14. Sejam a, b ∈ U (n). Então:

a · b ∈ U (n) .

Em outras palavras, o produto de duas classes invertíveis é uma classe invertível. Com efeito,
basta observar que:
−1
a · b · b · a−1 = 1,
−1 −1
ou seja, a · b = b · a−1 .
Definição 4.4.15. Seja a ∈ Zn . Dados m um número natural, definimos:

a0 = 1 e am = |a · a{z. . . a} .
m vezes

Quando a é invertível em Zn , definimos:


m
a−m = a−1 .
0 6 −4
Exemplo 4.4.16. Em Z15 , determinar 2 , 2 e 2 .
0
• 2 = 1.
6
• 2 = 2 · 2 · 2 · 2 · 2 · 2 = 64 = 4.
 4
−4 −1 4
• 2 = 2 = 8 = 4096 = 1.

Proposição 4.4.17. Dado a ∈ Zn , temos:


(i) am = am , m ∈ N.

(ii) am · at = am+t , m, n ∈ N.

(iii) (am )t = am·t .


Se a for invertível em Zn , então as propriedades (ii) e (iii) são válidas para m, t ∈ Z.
Demonstração. Faremos apenas a prova supondo que os expoentes naturais. Caso os expoentes
sejam inteiros a prova é semelhante. Temos:
(i) am = a . . . a = a . . . a = am .

(ii) am · at = am · at = am · at = am+t = am+t .


t
(iii) (am )t = (am ) = (am )t = am·t = am·t . ■

50
4.5 Função Phi de Euler
A função aritmética definida a seguir desempenha um papel importante na teoria dos números.

Definição 4.5.1. A função Phi de Euler ou função totiente é definida por:

ϕ : N∗ −→
 N

1, se n = 1
ϕ(n) = ,
#U (n) , se n ≥ 2

com o símbolo # representando a cardinalidade de um conjunto, isto é, o número de elementos


que este conjunto possui. Observe que para n ≥ 2 ϕ(n) é o número de classes invertíveis em Z.
Pela proposição 4.4.9 podemos, alternativamente, escrever:

ϕ(n) = # {m ∈ N | mdc(m, n) = 1 e m < n} , n ∈ N∗ .

Exemplo 4.5.2.

(a) ϕ (7) = 6 pois U (5) = 1, 2, 3, 4, 5, 6 .

(b) ϕ (15) = 8 pois U (15) = 1, 2, 4, 7, 8, 11, 13, 14 .

As proposições a seguir nos ajudarão a calcular ϕ (n) de modo prático.

Proposição 4.5.3. Seja n ∈ N tal que n ≥ 2. Então ϕ(n) = n − 1 se, e somente se, n é primo.

Demonstração. Se ϕ(n) = n − 1, então:

{m ∈ N | mdc(m, n) = 1 e m < n} = {1, 2, 3, · · · , n − 1}.

Como todo elemento do conjunto acima é primo relativo de n concluimos que n é primo.
Reciprocamente, se n é primo então

{m ∈ N | mdc(m, n) = 1 e m < n} = {1, 2, 3, · · · , n − 1}.

Portanto, a quantidade de elementos que são primos relativos com n é n − 1, donde ϕ(n) =
n − 1. ■

Exemplo 4.5.4. ϕ (11) = 10; ϕ (43) = 42.

Proposição 4.5.5. Se p é um número primo positivo e k ∈ N∗ , então

ϕ(pk ) = pk−1 (p − 1).

Demonstração. Notemos que mdc(m, pk ) ̸= 1 se somente se m não é multiplo de p. Assim,


consideremos a sequência:

1, 2, . . . , p, p + 1, p + 2, . . . , 2p, . . . , 3p, . . . pk−1 · p.

Nessa sequência os números que não são relativamente primos com pk são p, 2p, 3p, . . . , pk−1 ·p,
totalizando pk−1 números. Então, o número de naturais menores do que pk e primos relativos
com pk são exatamente pk − pk−1 = pk−1 · (p − 1). ■

Exemplo 4.5.6. ϕ (625) = ϕ (54 ) = 54−1 · (5 − 1) = 53 · 4 = 500.

51
Proposição 4.5.7. Sejam m e n inteiros positivos tais que mdc(m, n) = 1. Então
ϕ(m · n) = ϕ(m) · ϕ(n).
Não faremos a prova da proposição acima, pois ela depende de resultados de aritmética mo-
dular que não tratamos nesta apostila. Uma demonstração pode ser encontrada em [3], página
142.
Exemplo 4.5.8. Vamos determinar ϕ (105). Note que 105 = 7 · 15, com mdc (7, 15) = 1. Do
exemplo 4.5.2 temos que ϕ (7) = 6 e ϕ (15) = 8. Assim, de 4.5.7 temos que ϕ (105) = 6 · 8 =
48.
Corolário 4.5.9. Se m = pα1 1 ·pα2 2 · · · pαr r , com p1 , p2 , . . . , pr primos distintos e α1 , α2 , . . . , αr ∈
N∗ , então:
ϕ(m) = pα1 1 −1 · pα2 2 −1 · · · pαr r −1 (p1 − 1) · (p2 − 1) · · · (pr − 1)

    
1 1 1
=m 1− 1− ··· 1 − .
p1 p2 pr
Demonstração. Imediato das proposições 4.5.7 e 4.5.5. ■
Exemplo 4.5.10.
1 1
 
1) ϕ(400) = φ(24 · 52 ) = 400 1 − 2
1− 5
= 160.
2) ϕ(221) = φ(13 · 17) = (13 − 1)(17 − 1) = 192.

4.6 Teoremas de Euler e Fermat


Teorema 4.6.1 (Teorema de Euler). Sejam a um número inteiro e n ≥ 2 um número natural tal
que mdc (a, n) = 1. Então:
aϕ(n) ≡ 1 (mod n).

Demonstração. Seja U (n) = x1 , x2 , . . . , xϕ(n) o conjunto das classes invertíveis em Zn .
Como a é invertível em Zn (isto é, a ∈ U (n)), a função:
f : U (n) −→ U (n)
f (x) = a · x
está bem definida (veja observação 4.4.14 ) e é bijetiva. Sendo assim, temos que:

x1 , x2 , . . . , xϕ(n) = U (n)
 
= f (x1 ) , f (x2 ) , . . . , f xϕ(n)

= a · x1 , a · x2 , . . . , a · xϕ(n) .
Em particular:
x1 · x2 . . . xϕ(n) = a · x1 · a · x2 . . . a · xϕ(n) ,
donde:
x1 · x2 . . . xϕ(n) = aϕ(n) · x1 · x2 . . . xϕ(n)
Como x1 · x2 . . . xϕ(n) é invertível em Zn (veja observação 4.4.14 ) concluímos, da igualdade
acima, que aϕ(n) = 1, e portanto aϕ(n) ≡ 1 (mod n). ■

52
Exemplo 4.6.2. Determinaremos o resto da divisão de 212155 por 15. Note que isto é equivalente
a determinar 0 ≤ r < 15 tal que:

212155 ≡ r (mod 15).

Observe que mdc (2, 15) = 1 e portanto podemos aplicar o teorema de Euler. Assim:

28 ≡ 1 (mod 15),

com 8 = ϕ (15). Daí, observando que 12155 = 1519 · 8 + 3, temos:


1519
28 ≡ 1 (mod 15) ⇒ 28 ≡ 11519 (mod 15)
⇒ 28·1519 ≡ 1 (mod 15)
⇒ 21519·8 · 23 ≡ 1 · 23 (mod 15)
⇒ 21519·8+3 ≡ 8 (mod 15)
⇒ 212155 ≡ 8 (mod 15)

Logo o resto da divisão de 212155 por 15 é 8.


Como consequências do Teorema de Euler temos os Teoremas de Fermat.
Teorema 4.6.3 (Teorema de Fermat). Sejam p um número primo positivo e a um inteiro que
não é divisível por p. Então
ap−1 ≡ 1 (mod p).
Demonstração. Se o primo p não divide a então mdc (p, a) = 1. Daí basta aplicar o Teorema
de Euler observando que ϕ (p) = p − 1. ■
Teorema 4.6.4 (Pequeno Teorema de Fermat). Seja p um número primo positivo e a ∈ Z .
Então:
ap ≡ a (mod p).
Demonstração. Temos dois casos a considerar:
• p divide a. Neste caso o Teorema se verifica pois p divide ap − a.
• p não divide a. Neste caso, do teorema 4.6.3 temos que ap−1 ≡ 1 (mod p). Daí multipli-
cando ambos os lados da congruência por a obteríamos ap ≡ a (mod p). ■
Definição 4.6.5. Dado a ∈ U (n), definimos a ordem de a, denotada por O (a), como sendo o
menor natural positivo r tal que
ar = 1.
Em outras palavras: se O (a) = r, então ar = 1 e aj ̸= 1, para todo 0 < j < r.

Exemplo 4.6.6. Determinar O 5 em U (63)
1 2 3 4 5 6
Considerando
 que 5 = 5, 5 = 25, 5 = 62, 5 = 58, 5 = 38 e 5 = 1, concluímos que
O 5 = 6.
Observação 4.6.7. A definição de ordem faz sentido, isto é, dado a ∈ U (n), existe m ∈ N∗ tal
que am = 1. Com efeito, como U (n) é finito, existem i, j ∈ N∗ tais que:

ai = aj , com i < j.

Multiplicando ambos os lados por a−i obtemos aj−i = 1.

53
Proposição 4.6.8. Sejam a ∈ U (n) e k ∈ Z tais que ak = 1. Então k é um múltiplo de O (a).

Demonstração. Suponha que O (a) = d .Pelo Teorema da Divisão existem q, r inteiros tais que
k = q · d + r, com 0 ≤ r < d. Daí:
−q −q
ar = ak−q·d = ak · ad = 1 · 1 = 1.

Como 0 ≤ r < d e d é o menor inteiro postivo tal que ad = 1, concluímos da igualdade anterior
que r = 0. Logo k = q · d = q · O (a). ■
A proposição acima juntamente com os teoremas de Euler e Fermat nos dão um meio mais
prático para calcular ordem de um elemento de U (n). Vejamos um exemplo prático.

Exemplo 4.6.9. Determinaremos a ordem de 6 em U (23). Do Teorema 4.6.3 temos que 622 ≡ 1
22
(mod 23), ou, equivalentemente, que 6 = 1 emZ23 . Assim, da proposição 4.6.8 temos que
O 6 divide 22. Portanto, para determinar O 6 basta testar os divisores positivos de 22, a
saber, 1, 2, 11 e 22. Deste modo:
1
• 6 = 1;
2
• 6 = 13;
11
• 6 = 1;
22
• 6 = 1.

Logo O 6 = 11.

54
Capítulo 5

Introdução à Criptografia RSA

O objetivo deste capítulo é apresentar, de modo básico, a criptografia RSA. Queremos portanto
dar uma aplicação para a teoria dos inteiros modulares. Não pretendemos nos aprofundar em
criptografia em geral. Entretanto, iniciamos o capítulo com algumas definições básicas em
criptografia.

5.1 Definições Básicas em Criptografia


Criptografia (em grego: kryptós, "escondido", e gráphein, "escrita") em termos simples é a
técnica de ocultar de terceiros uma informação compartilhada. Por exemplo, ao realizar uma
compra pela internet o comprador necessita enviar seus dados bancários ao vendedor de modo
sigiloso. A ideia é tranformar estes dados via algum processo de modo a torná-los ilegíveis e
assegurar que apenas o vendedor possa recuperá-los. Desta forma, caso a comunicação seja
interceptada por terceiros os dados estarão protegidos.

Exemplo 5.1.1. Começaremos com um exemplo bem simples e antigo de criptografia, a cifra
de Cesar, utilizada por Júlio Cesar para se comunicar com seus generais. Consiste em fazer uma
simples translação do alfabeto. Por exemplo, à letra A fazemos corresponder a letra D, à letra
B fazemos corresponder a letra E, e assim por diante. Temos assim a seguinte tabela:

A B C D E F G H I J K L M
D E F G H I J K L M N O P

N O P Q R S T U V W X Y Z
Q R S T U V W X Y Z A B C
Tabela 5.1: Cifra de César

Por exemplo, Alice deseja enviar sigilosamente a Bob o nome de seu time de coração,
FLAMENGO. Para tal, eles combinaram previamente de usar a cifra de Cesar dada pela tabela
5.1. O processo se dá então da seguinte forma:

1. Alice encifra a palavra FLAMENGO usando a tabela 5.1 (de cima para baixo), obtendo a
palavra IODPHQJR;

2. Alice envia a Bob a palavra IODPHQJR;

55
3. Bob decifra a palavra IODPHQJR utilizando a tabela 5.1 (de baixo para cima) recupe-
rando a mensagem inicial FLAMENGO.

Note: para que terceiros não tenham a acesso a mensagem original (FLAMENGO) a cifra
escolhida por Alice e Bob precisa ser mantida em segredo.

A seguir definiremos formalmente um sistema de criptografia.

Definição 5.1.2. Um sistema de criptografia é uma 5-upla (P, C, K, E, D) com as seguintes


propriedades:

(1) P é um conjunto chamado de espaço de textos claros. Seus elementos são chamadados de
textos claros.

(2) C é um conjunto chamado de espaço de textos cifrados.Seus elementos são chamados de


textos cifrados.

(3) K é um conjuto chamado de espaço das chaves. Seus elementos são chamados de chaves.

(4) E = {Ek ; k ∈ K} é uma família de funções Ek : P → C. Seus elementos são chamados


de funções de encriptação.

(5) D = {Dk ; k ∈ K} é uma família de funções Dk : C → P . Seus elementos são chamados


de funções de decriptação.

(6) Para cada e ∈ K existe d ∈ K tal que Dd (Ek (p)) = p, para todo p ∈ P .

Exemplo 5.1.3. Retornemos ao exemplo 5.1.1. Vamos descrever esta cifra de César de modo
Matemático. Note que podemos fazer corresponder, de modo biunívoco, cada letra do alfabeto
a um elemento de Z26 . Por exemplo:

A B C D E F G H I J K L M
0 1 2 3 4 5 6 7 8 9 10 11 12

N O P Q R S T U V W X Y Z
13 14 15 16 17 18 19 20 21 22 23 24 25

Deste modo, a palavra FLAMENGO seria representada por 5 − 11 − 0 − 12 − 4 − 13 − 6 − 14.


Daí, a encriptação seria dada pela função:

E3 : Z26 → Z26
E3 (x) = x + 3

e a decriptação seria dada por:


D3 : Z26 → Z26
D3 (x) = x − 3
Deste modo 5−11−0−12−4−13−6−14 seria encifrado por 8−14−3−15−7−16−9−17
Neste exemplo o texto claro é 5 − 11 − 0 − 12 − 4 − 13 − 6 − 14 (FLAMENGO), o texto
cifrado é 8 − 14 − 3 − 15 − 7 − 16 − 9 − 17 (IODPHQJR), as chaves de encriptação e decriptação
são 3 e as funções de encriptação e decriptação são, respectivamente, E3 e D3 .

Para escrever mensagens necessitamos de um alfabeto, cuja definição damos a seguir.

56
Definição 5.1.4. Um alfabeto Σ é um conjunto finito não-vazio. O comprimento do alfabeto
Σ é o número de elementos de Σ. Os elementos de Σ são chamados de símbolos ou letras.
Exemplo 5.1.5. O alfabeto latino: Σ = {A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,Y,Z}
tem comprimento 26.
Exemplo 5.1.6. Em computação usamos o alfabeto Σ = {0, 1}, que tem comprimento 2.
Exemplo 5.1.7. Um alfabeto frequentemente usado é o formado pelos símbolos ASCII. Tem
comprimento 128.
Observação 5.1.8. Um alfabeto Σ de comprimento n pode ser identificado com Zn . Nos exem-
plos anteriores teríamos os alfabetos identificados, respectivamente, com Z26 , Z2 e Z128 .
Definição 5.1.9. Seja Σ um alfabeto.
1. Uma palavra ou cadeia sobre Σ é uma sequência finita de símbolos de Σ.
2. O comprimento de uma palavra w sobre Σ é o número de termos de w. É simbolizado
por |w|.
3. Uma sequência vazia de elementos de Σ é chamada de cadeia vazia e denotada por ϵ.
Neste caso |ϵ| = 0.
4. O conjunto de todas as palavras sobre Σ, incluindo a cadeia vazia, é simbolizado por Σ∗ .
5. Se n é um inteiro não negativo, Σn representa o conjunto de todas as palavras sobre Σ de
comprimento n.
Exemplo 5.1.10. Por exemplo, se Σ = {0, 1} então w = (1, 0, 1, 1, 0) é uma palavra sobre Σ.
Geralmente representamos w por 10110. Note que w tem comprimento 5 (|w| = 5) e portanto
w ∈ Σ5 .
Exemplo 5.1.11. Se Σ é o alfabeto latino (ver 5.1.5) então as palvras T, OI, CTA, ROSA,
UASYA, pertencem, respectivamente, a Σ1 , Σ2 , Σ3 , Σ4 , Σ5 e todas estas palavras pertencem a
Σ∗ .
Definição 5.1.12. Um sistema de criptografia é dito uma cifra de blocos se seu espaço de textos
claros e seu espaço de textos cifrados é o conjunto Σn de palavras (cadeias) de comprimento
fixo n sobre um alfabeto Σ.
Em outras palavras, numa cifra de blocos as funções de encriptação e decriptação operam
apenas em palavras de certo tamanho fixado. Sendo assim, para que um texto seja encifrado (ou
decifrado) ele necessita ser quebrado em palavras do tamanho fixado. Se necessário, letras do
alfabeto são acrescentadas aleatoriamente.
Exemplo 5.1.13. Seja Σ = {0, 1}. Considere a cifra de blocos com a seguinte função de
encriptação:
E : Σ4 → Σ4
E (b1 b2 b3 b4 ) = b4 b3 b2 b1 .
Note que a função de decriptação é igual a de encriptação. E que estas funções operam em pala-
vras sobre o alfabeto Σ de comprimento 4. Vamos encifrar a palavra 101100011010. Dividimos
esta palavra em palavras de comprimento 4, obtendo:

1011 − 0001 − 1010.

57
Aplicando E a cada bloco de comprimento 4 obtemos:

E (1011) = 1101; E (0001) = 1000; E(1010) = 0101.

Logo 101100011010 é encifrado como 110110000101.

Exemplo 5.1.14. A cifra de César do exemplo 5.1.3 é uma cifra de blocos. O comprimento dos
blocos neste caso é 1. Veremos também que o RSA é uma cifra de blocos.

Definição 5.1.15. Um sistema de criptografia é dito simétrico quando a chave de encriptação


e é igual a chave de decriptação d ou quando d é facilmente obtida através de e.

Exemplo 5.1.16. Os sistemas de criptografia dos exemplos 5.1.3 (cifra de César) e 5.1.13 são
simétricos.

Digamos que Alice deseja enviar a Bob uma mensagem usando um sistema de criptografia
simétrico. Neste caso Alice e Bob precisam combinar previamente uma chave e de encriptação.
Daí Alice encifra a mensagem usando e, envia o texto cifrado para Bob,e Bob decifra o texto
cifrado usando a chave de decriptação d, sendo que d = e ou d é facilmente calculado a partir
de e. Então, para que o texto original permaneça oculto de terceiros apenas Alice e Bob podem
conhecer a chave e, ou seja, e deve ser uma chave secreta. Qualquer pessoa de posse de e é
capaz de desencriptar mensagens cifradas. Isto é um problema. Assegurar o sigilo quando Alice
e Bob combinam a chave e. Pensando em resolver este problema, temos a definição a seguir:

Definição 5.1.17. Um sistema de criptografia é dito assimétrico (ou de chave pública) quando
a chave de encriptação e é diferente da chave de decriptação d e o cálculo de d a partir de e é
inviável.

Exemplo 5.1.18. Veremos adiante que a criptografia RSA é um sistema de criptografia assimé-
trico.

Digamos que Bob deseja receber mensagens através de um sistema de criptografia assi-
métrico. Então ele publica a chave de encriptação e (chave pública) e mantém a chave de
decriptação d correspondente em segredo (chave privada). Deste modo, se Alice quiser enviar
uma mensagem sigilosa para Bob ocorrerá o seguinte processo: Alice usará e (chave pública
de Bob) para encifrar o texto original. Depois Alice enviará a texto cifrado para Bob. De posse
da mensagem cifrada e da chave d de decriptação (chave privada) ele recuperará a mensagem
original.
Note que numa criptografia assimétrica não há necessidade de troca prévia de chaves entre
o emissor e receptor da mensagem, o que é um adicional de segurança.

5.2 Criptografia RSA


O RSA é um sistema de criptografia assimétrico criado em 1978 e patentiado pelo MIT em 1983.
A sigla RSA é formada pelos sobrenomes dos criadores do sistema: Ron Rivest, Adi Shamir e
Leonard Adleman. O RSA geralmente é utilizado para a segurança de informações em redes
comerciais, atuando diretamente na internet, codificando e decodificando textos enviados via
email, por exemplo.

58
5.2.1 O Algoritmo RSA em Linhas Gerais
Para a construção do algoritmo RSA precisaremos das chaves pública e privada e para isso
seguiremos o esquema abaixo:

1. Escolhemos dois números primos p e q, grandes e distintos entre si, que serão chamados
de parâmetros do RSA.

2. Denotamos por n o produto de p e q.

3. Calculamos ϕ(n), a saber, ϕ (n) = (p − 1) · (q − 1).

4. Escolhemos um inteiro e tal que 1 < e < ϕ(n) e mdc(e, ϕ(n)) = 1. O inteiro e será
chamado expoente de encriptação.

5. Por último encontramos o inteiro d tal que 1 < d ≤ ϕ(n) e d · e ≡ 1 (mod ϕ(n)). O
inteiro d é chamado de expoente de decriptação . Note que d é o inverso multiplicativo
de e em Zϕ(n) .

Seguindo esses conseguimos nosso par de chaves: {n, e} é a chave pública e {ϕ(n), d} é a chave
privada.

Exemplo 5.2.1. Vamos encontrar as chaves pública e privada com os números primos p = 29 e
q = 31. Seguindo os passos citados acima, temos:

1. p = 29 e q = 31

2. n = 29 · 31 = 899;

3. ϕ(n) = (p − 1) · (q − 1) = 28 · 30 = 840 = 23 · 3 · 5 · 7;

4. Escolhemos e = 11, pois mdc(11, 840) = 1 e 1 < 11 < 840 = ϕ(899);

5. Para encontrar 1 < d < 840 = ϕ(899) satisfazendo 11 · d ≡ 1 (mod 840), aplicamos o
−1 −1
algoritmo euclidiano estendido para calcular 11 em Z840 . Obtemos 11 = 611, donde
d = 611.

Assim, temos como chave pública {899, 11} e como chave privada {840, 611}.

Agora, precisamos entender como operam as funções de encriptação e decriptação no al-


goritmo RSA. Consideremos {n, e} a chave pública e {ϕ(n), d} a chave privada. Em primeiro
lugar, o espaço dos textos claros (P ) e dos textos cifrados (C) será o conjunto {0, 1, . . . , n − 1}.
Ou seja, tanto a função de encriptação quanto a de decriptação levam números entre 0 e n − 1
em números entre 0 e n − 1 (incluindo os extremos). Assim, definimos:

E:P →C
(5.1)
E(m) = c, com me ≡ c (mod n)
e
D:C→P
(5.2)
E(c) = m, com cd ≡ m (mod n).
as funções de encriptação e decriptação do algoritmo RSA, respectivamente. Precisamos
garantir que D(E(m)) = m. De fato, isto é consequência do teorema a seguir.

59
Teorema 5.2.2. Se a ∈ Z e d · e ≡ 1 (mod ϕ (n)) então ad·e ≡ a (mod n).

Demonstração. Em primeiro lugar, como d · e ≡ 1 (mod ϕ (n)) então existe k ∈ Z tal que

de = k · ϕ (n) + 1. (5.3)

Agora, temos dois casos a observar:

• Caso 1: mdc (a, n) = 1. Neste caso pelo Teorema de Euler temos que aϕ(n) ≡ 1
(mod n). Daí, de 5.3 temos:
k
aϕ(n) ≡ 1 (mod n) ⇒ aϕ(n) ≡ 1k (mod n)
⇒ ak·ϕ(n) · a ≡ 1 · a (mod n)
⇒ ak·ϕ(n)+1 ≡ a (mod n)
⇒ ad·e ≡ a (mod n).

• Caso 2: mdc (a, n) ̸= 1. Neste caso temos duas possibilidades:

– Possibilidade 1:Ambos os primos p e q dividem a. Neste caso n divide a e portanto


ad·e ≡ a (mod n) segue trivialmente.
– Possibilidade 2: Apenas um dos primos divide a. Sem perda de generalidade supo-
remos p | a e q ∤ a. Neste caso, p divir a implica em p dividir ad·e − a. Além disso,
se q ∤ a, aplicando o Teorema de Fermat obtemos aq−1 ≡ 1 (mod q). Assim:
p−1
aq−1 ≡ 1 (mod q) ⇒ aq−1 ≡ 1p−1 (mod q)
⇒ a(p−1)(q−1) ≡ 1 (mod q)
ϕ(n)
⇒a ≡1 (mod q).

Daí, usando a equação 5.3 e aplicando o raciocínio do caso 1 obteríamos que ad·e ≡
a (mod q), ou ainda, que q divide ad·e − a. Em resumo, concluímos que tanto p
quanto q dividem ad·e − a, donde n divide ad·e − a já que n = p · q e p e q são primos
distintos. Logo ad·e ≡ a (mod n). ■

Observação 5.2.3. E e F como definidos em 5.1 e 5.2 satisfazem D(E(m)) = m. De fato, seja
m ∈ P . Então por definição de E temos que me ≡ E(m) (mod n). Daí:

md·e ≡ (E (m))d (mod n). (5.4)

Por definição de D temos que (E (m))d ≡ D (E (m)) (mod n). E pelo teorema 5.2.2 temos
md·e ≡ m (mod n). Logo, de 5.4 e por transitividade obtemos:

m ≡ D (E (m)) (mod n). (5.5)


Como 0 ≤ m, D (E (m)) < n, podemos concluir de 5.5 que D (E (m)) = m.

Exemplo 5.2.4. Vamos usar criptografia RSA com chave pública {899, 11} para encriptar m =
210, ou seja, vamos determinar E (210). Observando que 21011 ≡ 197 (mod 899), com 0 ≤
197 < 899, temos que E (210) = 197.

60
5.2.2 RSA como Cifra de Blocos
Agora veremos como aplicar o RSA para encriptar/decriptar mensagens que usam um alfa-
beto Σ qualquer usando blocos. Entretanto, antes enunciaremos alguns resultados aritméticos
necessários.

Proposição 5.2.5. Sejam N e k naturais não-nulos. Se 0 ≤ mi < N , i = 1, . . . , k, então


k
X
m= mi N k−i < N k . (5.6)
i=1

Demonstração. Faremos a prova por indução em k. Se k = 1 a desigualdade segue trivialmente


pois m = m1 < N . Assim, suponhamos que o resultado seja válido para k − 1, k ≥ 2. Vamos
então provar que o resultado é válido para k. Com efeito:

m = m1 N k−1 + m2 N k−2 + . . . + mk−1 N + mk


k−1
X
= m1 N k−1 + m1+j N k−1−j
j=1
k−1
< m1 N + N k−1
= (m1 + 1) N k−1
≤ N k.

Então, pelo princípio de indução temos que 5.6 é válido para todo k ∈ N∗ . ■

Definição 5.2.6. Se a ∈ R, [a] representa a parte inteira do número real a.

Proposição 5.2.7. Seja k = [logN n], n e N naturais não nulos. Se 0 ≤ c < n então c < N k+1 .
Em particular, a expansão de c na base N terá no máximo k + 1 termos (de N 0 a N k ).

Demonstração. Com efeito, suponhamos por absurdo que c ≥ N k+1 . Então n > c ≥ N k+1 ,
donde logN n > logN c ≥ k + 1. Logo k = [logN n] ≥ k + 1, contradição. ■
Agora vejamos como aplicar o RSA como cifra de blocos. Sejam M , C mensagens que
utilizam o alfabeto Σ de comprimento N . Considere {n, e} e {ϕ(n), d} as chaves pública e
privada, respecticvamente.

• Encriptação

1. Identifique Σ com {0, . . . , N − 1}


2. Tome k = [logN n].
3. Divida M em blocos de comprimento k; se necessário complete M com símbolos
aleatórios.
k
X
4. Para cada bloco m1 . . . mk tome m = mi N k−i . O modo como escolhemos k
i=1
nos garante que 0 ≤ m < n (veja a proposição 5.2.5).
5. Aplique E a m, obtendo E (m) = c.

61
k
X
6. Escreva c na base N , obtendo c = ci N k−i , ci ∈ Σ (veja a proposição 5.2.7).
i=0
Obtemos assim o bloco de comprimento k + 1 c0 c1 . . . ck que é a encriptação do
bloco m1 . . . mk .

• Decriptação

1. Identifique Σ com {0, . . . , N − 1}


2. Tome k = [logN n].
3. Divida C em blocos c0 c1 . . . ck de comprimento k + 1;
k
X
4. Para cada bloco c0 c1 . . . ck tome c = ci N k−i . Note que o processo de encriptação
i=0
nos garante 0 ≤ c < n.
5. Aplique D a c, obtendo D (c) = m.
k
X
6. Escreva m na base N , obtendo m = mi N k−i , ci ∈ Σ. Obtemos assim o bloco
i=1
de comprimento k m1 . . . mk que é a decriptação do bloco c0 c1 . . . ck .

Exemplo 5.2.8. Vamos encriptar a mensagem ALICESILVA considerando a chave pública


(899, 11) e Σ o alfabeto latino. Para isto seguiremos os passos descritos anteriormente.

1. Fazemos a identificação:

A B C D E F G H I J K L M
0 1 2 3 4 5 6 7 8 9 10 11 12

N O P Q R S T U V W X Y Z
13 14 15 16 17 18 19 20 21 22 23 24 25

Deste modo a palavra ALICESILVA corresponde a cadeia:

M = (0, 11, 8, 12, 4, 18, 8, 11, 21, 0) .

2. Observando que log26 899 ∼


= 2, 088, tomamos k = [log26 899] = 2.
3. Dividimos M em blocos de comprimento 2, a saber, (0, 11), (8, 12), (4, 18), (8, 11) e
(21, 0)

4. Fazemos corresponder, a cada bloco de comprimento 2, um número natural menor que


899 conforme cálculo abaixo:

bloco cálculo número correspondente (m)


(0, 11) 0 · 261 + 11 · 260 11
(8, 12) 8 · 261 + 12 · 260 210
(4, 18) 4 · 261 + 18 · 260 122
(8, 11) 8 · 261 + 11 · 260 219
(21, 0) 21 · 261 + 0 · 260 546

62
5. A cada um dos números obtidos aplicamos a função E de encriptação do RSA, obtendo:

m cálculo E(m) = c
11
11 11 ≡ 706 (mod 899) E (11) = 706
210 21011 ≡ 197 (mod 899) E (210) = 197
112 11211 ≡ 618 (mod 899) E (112) = 618
219 21911 ≡ 808 (mod 899) E (219) = 808
546 54611 ≡ 103 (mod 899) E (546) = 103

6. Escrevemos cada número encriptado c na base 26 para assim obter o bloco encriptado
correspondente.

c cálculo bloco correspondente


706 706 = 1 · 262 + 1 · 261 + 4 · 260 (1, 1, 4)
197 197 = 0 · 262 + 7 · 261 + 15 · 260 (0, 7, 15)
618 618 = 0 · 262 + 23 · 261 + 20 · 260 (0, 23, 20)
808 706 = 1 · 262 + 5 · 261 + 2 · 260 (1, 5, 2)
103 103 = 0 · 262 + 3 · 261 + 25 · 260 (0, 3, 25)

Deste modo (0, 11, 8, 12, 4, 18, 8, 21, 0) é encriptado como


(1, 1, 4, 0, 7, 15, 0, 23, 20, 1, 5, 2, 0, 3, 25) ,
ou seja, ALICESILVA é encriptado como BBEAHPAXUBFCADZ.

5.2.3 Segurança do RSA


Vejamos que a criptografia RSA é de fato um sistema assimétrico, ou seja, é impraticável obter,
a partir da chave pública, a chave privada. Nesta linha, temos a proposição a seguir.
Proposição 5.2.9. Sejam {n, e} e {ϕ (n) , d} as chaves públicas e privadas de um sistema RSA,
respectivamente, com n = p · q, p e q primos positivos. Então, obtemos {ϕ (n) , d} a partir de
{n, e} se e somente se fatoramos o número n.
Demonstração. Observe que a volta é trivial, pois se fatoramos n então facilmente calculamos
ϕ (n), e daí, usando o algoritmo euclidiano estendido, calculamos d. Provemos a ida. Suponha-
mos portanto que obtemos {ϕ (n) , d} a partir de {n, e}. Sabemos que n é o produto de dois
primos distintos p e q. Sem perda de generalidade suporemos p > q. Temos:
ϕ(n) = (p − 1) · (q − 1) = p · q − p − q + 1,
donde
p + q = n + 1 − ϕ(n). (5.7)
Utilizando a identidade (p + q)2 − (p − q)2 = 4p · q = 4n e a equação 5.7 obtemos:
p
p − q = ((n + 1 − ϕ(n))2 − 4n). (5.8)
Combinando 5.7 e 5.8 temos:
p
((n + 1 − ϕ(n))2 − 4n) + n + 1 − ϕ(n)
p=
p 2
2
− ((n + 1 − ϕ(n)) − 4n) + n + 1 − ϕ(n)
q= .
2

63
Poranto, como conhecemos ϕ (n) podemos, utilizando as fórmulas acima, determinar os fatores
primos de n, isto é, fatorar n. ■
A proposição acima nos mostra que obter a chave privada {ϕ (n) , d} a partir da chave pú-
blica {n, e} na criptografia RSA equivale a saber fatorar n. E se p e q forem suficientemente
grandes e bem escolhidos é inviável fatorar n. Logo o RSA é de fato um sistema assimétrico.

64
Apêndice A

Noções de Lógica e Linguagem


Matemática

Encontra-se com frequência um tipo de proposição (sentença, frase) importante em matemática:


as proposições do tipo se A, então B, onde A e B são frases. Por exemplo:

Se m e n são inteiros pares então o produto mn é par.


Se a é um inteiro par então a é múltiplo de 4.

Neste contexto, chamamos a frase A de hipótese da proposição e a conclusão B de tese.


Uma proposição do tipo se A então B é verdadeira quando em todas as situações nas quais
a hipótese A se verifica a tese B também é satisfeita. E é falsa quando existe um objeto ma-
temático que satisfaz a hipótese A mas não satisfaz a conclusão B. Um tal objeto é dito um
contra-exemplo para a proposição se A então B.

Exemplo A.0.1. Determine se as proposições abaixo são verdadeiras ou falsas.

(a) Se a é um inteiro par, então a é múltiplo de 4.


Falsa. Contra-exemplo: a = 6.

(b) Se x ∈ R, então x2 − 5x + 4 ≥ 0.
Falsa. Contra-exemplo: x = 2.

(c) Se m e n são inteiros pares então o produto mn é par.


Observe que escolhendo alguns valores para m e n temos que mn é de fato par. Mas isto não
é suficiente para provar que a proposição é verdadeira. De fato, vale destacar a observação
a seguir:

Observação A.0.2. Enquanto um só contra-exemplo permite concluir que um enunciado é falso,


exibir exemplos não prova que uma proposição é verdadeira. Mais a frente veremos métodos
para demonstrar que uma proposição é verdadeira.
As proposições do tipo Se A então B podem ter outras formulações. Por exemplo:

A implica B (matematicamente simbolizado por A ⇒ B).


B é verdadeira desde que A seja verdadeira
A é uma condição suficiente para B
B é uma condição necessária para A

Exemplo A.0.3. A proposição:

65
Se m e n são inteiros pares então o produto mn é par
poderia ser reescrita como:
m, n inteiros pares implica em mn par.
O produto de inteiros mn é par desde m e n sejam inteiros pares.
Para que o produto de inteiros mn seja par é suficiente que m e n sejam pares.
O produto de dois inteiros par é um inteiro par.
Para provar que uma proposição do tipo Se A então B é verdadeira precisamos mostrar
que a tese é válida em todos os casos que satisfazem a hipótese. Os métodos mais comuns de
demonstração são:
Demonstração direta: verificação direta da tese para todos os casos em que a hipótese é
válida.
Exemplo A.0.4. Se n ∈ {3, 17, 31, 19}, então n é um número primo.
Nesse caso, como temos um número finito e pequeno de casos possíveis, basta examiná-los um
a um. Como todos os inteiros 3, 17, 31 e 19 são primos, a proposição é verdadeira.
Demonstração por argumentos lógicos: por argumentação, verifica-se que a tese é válida
para os casos que satisfazem a hipótese.
Proposição A.0.5. Se m e n são inteiros pares, então o produto mn é par.
Demonstração. Sejam m e n inteiros pares, ou seja, m = 2k e n = 2j, com k, j ∈ Z. Então
mn = 2k2j = 2 (2kj), donde mn é par. ■
Proposição A.0.6. Se n é um inteiro par, então n2 é um inteiro par.
Demonstração. Seja n um inteiro par. Daí n = 2k, e portanto n2 = 4k 2 = 2 (2k 2 ), donde n2 é
par. ■
Demonstração por contradição ou absurdo: Verificação de que a presença de um contra-
exemplo conduz a um absurdo. Então a inexistência de contra-exemplos garante que a proposi-
ção é verdadeira.
√ a+b
Proposição A.0.7. Se a e b são números reais positivos então ab ≤
2

Demonstração. Suponha por absurdo que existam a, b números reais positivos tais que ab >
a+b
. Então:
2
√ a+b (a + b)2
ab > ⇒ ab > ⇒ 4ab > a2 + 2ab + b2 ⇒ a2 − 2ab + b2 < 0 ⇒ (a − b)2 < 0,
2 4
o que é uma contradição pois o quadrado de qualquer número real é sempre maior ou igual a
zero. Logo a proposição é verdadeira. ■
Proposição A.0.8. Se n é um inteiro e n2 é um inteiro par, então n é um inteiro par.
Demonstração. Suponhamos por absurdo que n2 é par, com n um número ímpar. Então n =
2k + 1, k ∈ Z. Daí:

n2 = (2k + 1)2 = 4k 2 + 4k + 1 = 2 2k 2 + 2k + 1,


donde n2 é ímpar, absurdo. Logo, se n2 é inteiro par então n é par. ■

66
A recíproca da proposição Se A então B é a proposição Se B então A. Uma proposição e
sua recíproca podem não ter a mesma natureza: uma pode ser verdadeira e a outra, falsa. Ambas
podem ser verdadeiras ou ambas podem ser falsas.

Exemplo A.0.9.

(a) Proposição: Seja n ∈ Z. Se n é par, então n2 é par. (Verdadeira)


Recíproca: Seja n ∈ Z. Se n2 é par, então n é par. (Verdadeira)

(b) Proposição: Se a é um inteiro múltiplo de 4, então a é par. (Verdadeira)


Recíproca: Se a é par, então a é um múltiplo de 4. (Falsa)

Se queremos considerar simultaneamente a proposição Se A então B e sua recíproca Se B


então A, usamos a frase A se, e somente se, B.
Uma proposição do tipo A, se e somente se, B, é verdadeira quando a proposição Se A então
B e sua recíproca se B então A são verdadeiras. Caso contrário é falsa.

Exemplo A.0.10. Seja n ∈ Z. n é par se, e somente se, n2 é par. (verdadeiro).

Proposições do tipo A se, e somente se, B podem ser reformuladas de outras formas, dentre
elas:

A implica B e reciprocamente (simbolizado pela notação A ⇔ B).


A é uma condição necessária e suficiente para B.
A e B são proposições equivalentes.

67
Apêndice B

Alguns Resultados

B.1 Princípio da Boa Ordenação


Definição B.1.1. Seja S ⊂ N. Chama-se elemento mínimo de S um elemento a de S tal que
a ≤ x, ∀x ∈ S.
Teorema B.1.2. Todo subconjunto não vazio S de N possui um primeiro elemento, isto é,
∃ x0 ≤ x, ∀x ∈ S.

B.2 Princípio da Indução Finita


Princípio da Indução Finita: Sejam n, n0 ∈ N, com n ≥ n0 e P (n) uma propriedade relativa
a n. Suponhamos que as afirmações abaixo sejam satisfeitas:
(1) P (n0 ) é válida.
(2) Se P (k) é válida então P (k + 1) também é válida, com k ≥ n0 .
Então a propriedade P (n) é válida para todo n ≥ n0 .
Exemplo B.2.1. Prove que:
n (n + 1)
1 + 2 + ... + n = , ∀n ≥ 1, n ∈ N (B.1)
2
1 · (1 + 1)
Observe que B.1 é satisfeita para n = 1, pois 1 = . Suponhamos que B.1 é válida
2
para k ≥ 1. Precisamos mostrar que B.1 é válida para k + 1. Com efeito:
1 + 2 + . . . + k + k + 1 = (1 + 2 + . . . + k) + k + 1
k (k + 1)
= +k+1
2
k (k + 1) + 2 (k + 1)
=
2
(k + 1) (k + 2)
=
2
(k + 1) ((k + 1) + 1)
= .
2
Logo pelo princípio de indução temos que a igualdade B.1 é válida para todo n ≥ 1.

68
Referências Bibliográficas

[1] BUCHMANN, J. A. Introduction to Cryptography. 2. ed. New York: Springer-Verlag,


2004.

[2] CERQUEIRA, L. Criptografia RSA: Uma aplicação da Teoria dos Números., 56 páginas.
Universidade Federal do Recôncavo da Bahia, Cruz das Almas, 2015.

[3] COUTINHO, S. C. Números Inteiros e Criptografia RSA. 2. ed. Rio de Janeiro: IMPA,
2014. (Coleção Matemática e Aplicações).

[4] EVES, HOWARD. Introdução à História da Matemática. Campinas: Unicamp, 1997.

[5] FRALEIGH, J. B. A First Course in Abstract Algebra. Addison-Wesley, Mass., 1982.

[6] GONÇALVES, A. Introdução à Álgebra. 5. ed. Rio de Janeiro: IMPA, 2007.(Projeto Eu-
clides).

[7] HEFEZ, A. Curso de Álgebra. Rio de Janeiro: IMPA, 1993. v.1. (Coleção Matemática
Universitaria).

[8] HERSTEIN, I. N. Topics in Algebra, Blaisdell Publishing Company, Waltham Mass., 1964.

[9] IEZZI, G. ; Murakami, C. Fundamentos de matemática elementar: conjuntos, funções. 9.


ed. São Paulo: Atual, 2013. v.1.

[10] JACY MONTEIRO, N. H. Elementos de Álgebra. Rio de janeiro: IMPA, 1969. (Elementos
de Matemática).

[11] LEMOS, M. Criptografia, Números Primos e Algoritmos. 4. ed. Rio de Janeiro: IMPA,
2010.

[12] LIMA, E.L. Curso de análise.12. ed. Rio de Janeiro: IMPA, 2008. v.1. (Projeto Euclides).

69

Você também pode gostar