Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila Algebra
Apostila Algebra
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
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.
iii
Capítulo 1
Conjuntos
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, . . .}
Exemplo 1.1.3.
(a) N = {0, 1, 2, 3, 4, . . .}
(c) V = {a, e, i, o, u}
Exemplo 1.1.5.
(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}
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 ⊃.
2
B
A
Figura 1.1: A ⊂ B
(i) ∅ ⊂ A.
(ii) A ⊂ A (reflexiva).
Demonstração.
(ii) Trivial.
Observação 1.2.5. Podemos usar a propriedade (iii) para provar igualdade entre conjuntos.
A ∪ B = {x; x ∈ A ou x ∈ B}.
A ∩ B = {x; x ∈ A e x ∈ B} .
3
A B A B
(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.
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). ■
(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.
(ii) Trivial.
(iii) Trivial.
(iv) Trivial.
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.
(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.
(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 ∈ ■
P (A) = {∅, {a} , {b} , {c} , {a, b} , {a, c} , {b, c} , {a, b, c}}
Demonstração.
(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.
(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
A B A B
f g
A B A B
h J
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).
f :R→R e g : R →√R
f (x) = x g (x) = x2
Im (f ) = {f (x) ; x ∈ A}
= {y ∈ B; y = f (x) , x ∈ A} .
A B
Im f
f
Figura 2.2: Im f
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} .
12
A B A B
f g
A B A B
f g
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
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 )
(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 )] .
(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 (∅) = ∅. ■
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
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
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í:
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.
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.
+ : Z × Z −→ Z e · : Z × Z −→ Z
(x, y) −→ x + y (x, y) −→ x · y
(3) Para cada x ∈ Z, existe −x ∈ Z tal que x + (−x) = (−x) + x = 0 (inverso aditivo de
cada elemento de Z).
19
Proposição 3.1.2. Sejam x, y ∈ Z. Então:
(i) x · 0 = 0 e 0 · x = 0.
Demonstração.
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) .
an := a
| · a · {z
· · · · a.}
n
(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 .
Exemplo 3.1.7.
(a) 22 · 23 = 22+3 = 25 .
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}
0 ≤ r − b = (a − b · q) − b = a − (q + 1) · b
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:
Outra solução: usando o algoritmo da divisão para números naturais temos que 2841 = 53 ·
53 + 32. Daí:
(6) Se b | a então b | a · c.
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.
Exemplo 3.3.5.
(b) 0 = a · 0, ∀a ∈ Z.
(c) Note que 5 | 10 e 5 | 15, portanto 5 | (10 + 15) = 25 e 5 | (10 − 15) = −5.
24
Exemplo 3.3.8. Vamos calcular o mdc (18, 27). Temos:
Observação 3.3.9.
(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:
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.
S = {m · a + n · b | m, n ∈ Z e m · a + n · b > 0} ⊂ N.
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,
(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.
(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.
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.
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.
Exemplo 3.3.16.
a = q1 · b + r2 , 0 ≤ r2 < b.
27
Da igualdade acima e do lema 3.4.1 segue que
b = q2 · r2 + r3 , 0 ≤ r3 < r2 .
r2 = q3 · r3 + r4 , 0 ≤ r4 < r3 .
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,
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:
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:
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):
1 = 33 − 4 · 8;
8 = 41 − 1 · 33;
33 = 320 − 7 · 41;
41 = 1321 − 4 · 320.
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,
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:
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
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.
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.
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. ■
Teorema 3.6.4. Todo número natural maior do que 1 ou é primo ou é um produto de primos
positivos.
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 ,
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.
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 é:
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:
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
(2 + 1) · (1 + 1) · (2 + 1) = 18
2r · 3s · 5t , com 0 ≤ r ≤ 2, 0 ≤ s ≤ 1, 0 ≤ t ≤ 2.
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}
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.
• 2R2, pois 2 ≤ 2.
r
t
Π
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} .
40
A seguir algumas propriedadas das classses de equivalência.
(i) Se x ∈ A então x ̸= ∅.
(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.
A/ ∼= {x | x ∈ A} .
Exemplo
4.1.13. Considerando a classe de equivalência do exemplo 4.1.9 temos que Z/ ∼=
1, 2, 5, 10 .
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.
42
Exemplo 4.2.5.
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:
Notemos que 72 ≡ −1 (mod 10), donde (72 )2 ≡ (−1)2 (mod 10). Logo:
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:
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.
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,
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.
Exemplo 4.2.10. Como o resto da divisão de 145 por 19 é 12 temos que 145 ≡ 12 (mod 19).
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} .
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
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.
• 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.
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 .
+ : 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).
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.
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.
(a) Em Z5 : (3)−1 = 2.
(b) Em Z3 : (2)−1 = 2.
48
Observação 4.4.8.
Proposição 4.4.9. Um elemento a ∈ Zn é invertível (com relação ao produto) se, e somente se,
mdc(a, n) = 1.
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.
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:
ou seja 1 = (−37)·35. Como (−37) = 107 em Z144 temos que 1 = 107·35 . Logo (35)−1 = 107
em Z144 .
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 .
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
(ii) am · at = am+t , m, n ∈ N.
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.
ϕ : N∗ −→
N
∗
1, se n = 1
ϕ(n) = ,
#U (n) , se n ≥ 2
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 .
Proposição 4.5.3. Seja n ∈ N tal que n ≥ 2. Então ϕ(n) = n − 1 se, e somente se, n é primo.
Como todo elemento do conjunto acima é primo relativo de n concluimos que n é primo.
Reciprocamente, se n é primo então
Portanto, a quantidade de elementos que são primos relativos com n é n − 1, donde ϕ(n) =
n − 1. ■
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). ■
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.
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:
Observe que mdc (2, 15) = 1 e portanto podemos aplicar o teorema de Euler. Assim:
28 ≡ 1 (mod 15),
ai = aj , com i < j.
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
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.
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;
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.
(1) P é um conjunto chamado de espaço de textos claros. Seus elementos são chamadados de
textos claros.
(3) K é um conjuto chamado de espaço das chaves. Seus elementos são chamados de chaves.
(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
E3 : Z26 → Z26
E3 (x) = x + 3
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:
57
Aplicando E a cada bloco de comprimento 4 obtemos:
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.
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.
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.
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;
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}.
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)
• 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).
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í:
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:
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.
Então, pelo princípio de indução temos que 5.6 é válido para todo k ∈ N∗ . ■
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
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. 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
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.
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
(b) Se x ∈ R, então x2 − 5x + 4 ≥ 0.
Falsa. Contra-exemplo: x = 2.
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,
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.
Proposições do tipo A se, e somente se, B podem ser reformuladas de outras formas, dentre
elas:
67
Apêndice B
Alguns Resultados
68
Referências Bibliográficas
[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).
[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.
[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