DISSERTAO DE MESTRADO
Gilberto Aparecido Tenani
Orientador
Prof. Dr. Marcos Roberto Teixeira Primo
13 de Janeiro de 2016
Gilberto Tenani
1 / 55
Introduo
Palavras Chaves
Aritmtica Modular.
Criptograa.
Criptograa e Matrizes.
Tecnologia.
Gilberto Tenani
2 / 55
Divisibilidade e Congruncias
ndice
Divisibilidade.
Nmeros Primos.
Congruncias.
Congruncias Lineares.
Gilberto Tenani
3 / 55
Divisibilidade e Congruncias
Congruncias
Denio 1.4.
Seja m 0 um nmero inteiro no nulo.
congruentes mdulo
Se
congruente a
so
m se m | (a b) .
b mdulo m escrevemos
a b(mod m)
e se
m - (a b)
escrevemos
a 6 b(mod m).
Exemplos:
21 13(mod 2)
pois os restos da diviso de 21 e de 13 por 2 so iguais a 1.
22 4(mod 9)
pois (9|(22 4) = 18.
Criptograa Clssica, Matrizes e Tecnologia
Gilberto Tenani
4 / 55
Divisibilidade e Congruncias
Congruncias
Proposio 1.7.
Seja
mZ
i) Se
um inteiro, ento
ii) Se
iii) Se
a a(mod m)
a, b , c so inteiros
a c(mod m).
com
satisfazem as propriedades:
a b(mod m)
a b(mod m)
, ento
b a(mod m)
b c(mod m),
ento
Gilberto Tenani
5 / 55
Divisibilidade e Congruncias
Congruncias
Teorema 1.3.
Se
a, b , c
so inteiros com
i)
a + c b + c(mod m)
ii)
a c b c(mod m)
iii)
m>0
tais que
a b(mod m),
ento
ac bc(mod m)
Exemplos:
Desde que 18 2(mod 8) segue do teorema 1.3 que
25 = 18 + 7 2 + 7 = 9(mod 8)
17 = 18 1 2 1 = 1(mod 8)
36 = 18 2 2 2 = 4(mod 8)
Gilberto Tenani
6 / 55
Divisibilidade e Congruncias
Congruncias
Teorema 1.4.
Se a, b, c, m Z com c 6= 0 e m > 1 so inteiros tais
m
ac bc(mod m), se, e somente se, a b(mod ).
d
que
mdc(c, m) = d ,
ento
Exemplo:
Temos 50 = 5 10 20 = 2 10(mod 15) e mdc(10, 15) = 5 ento
2 10
15
5 10
(mod
), ou 5 2(mod 3).
10
10
5
Corolrio 1.2.
Se a, b, c, m Z com c 6= 0 e m > 1 so inteiros tais
ac bc(mod m), se, e somente se, a b(mod m).
que
mdc(c, m) = 1,
Gilberto Tenani
ento
7 / 55
Divisibilidade e Congruncias
Congruncias Lineares
Denio 1.6.
Uma congruncia da forma
ax b(mod m),
onde
x Z
congruncia linear
em uma varivel.
Exemplo:
3x 6(mod 15)
Gilberto Tenani
8 / 55
Divisibilidade e Congruncias
Congruncias Lineares
Teorema 1.9.
Sejam a, b, m Z inteiros com m > 0 e mdc(a, m) = d . Se d - b , ento
ax b(mod m) no tem solues. Se d|b , ento ax b(mod m) tem exatamente
d solues mdulo m no congruentes entre si dadas por
xi = x0 +
onde
x0
m
,
d
Gilberto Tenani
9 / 55
Divisibilidade e Congruncias
Congruncias Lineares
Denio 1.7.
Dado um inteiro
um
inverso de
com
mdc(a, m) = 1,
m.
uma soluo de
ax 1(mod m)
chamado
mdulo
Exemplo:
Desde que as solues de 7x 1(mod 31) satisfazem
x 9(mod 31),
Gilberto Tenani
10 / 55
Divisibilidade e Congruncias
Sistemas de Congruncias Lineares 2 2
Teorema 1.10.
Sejam a, b, c, d, e, f , m Z tais que m > 0 e mdc(, m) = 1, onde
= ad bc 6= 0. Ento, o sistema de congruncias
(
ax + by e(mod m)
cx + dy f (mod m)
x (de
bf )(mod m)
y (af
ce)(mod m),
o inverso de mdulo m.
onde
Gilberto Tenani
11 / 55
Divisibilidade e Congruncias
Sistemas de Congruncias Lineares 2 2
Exemplo 1.18.
Resolver o sistema de congruncias lineares
(
3x + 4y 5(mod 13)
2x + 5y 7(mod 13)
Gilberto Tenani
12 / 55
Criptograa Clssica
ndice
Contedo
Viso Geral.
Mtodos de Chave Simtrica e chave Pblica.
Cifras.
Comprimento de Chave.
Alguns Sistemas Criptogrcos Clssicos.
Gilberto Tenani
13 / 55
Criptograa Clssica
Viso Geral
Gilberto Tenani
14 / 55
Criptograa Clssica
Transformaes
Uma Transformao de criptograa uma funo f do conjunto P de todas as
mensagens planas no conjunto C de todas as mensagens criptografadas. Sempre
consideraremos que f uma funo bijetora. A Transformao de descriptograa
a funo inversa f 1 de f .
f 1
P
C P
Gilberto Tenani
15 / 55
Criptograa Clssica
Exemplo
Tomemos um alfabeto de 26 letras A, B, . . . Z com rtulos 0, 1, . . . 25 . Seja
P {0, 1, 2, . . . 25} uma unidade de mensagem em texto plano e a funo f do
conjunto {0, 1, 2, . . . 25} nele mesmo dada por
f (P) =
P + 3,
P 23,
se x < 23,
se x 23
Gilberto Tenani
16 / 55
Criptograa Clssica
Exemplo - Continuao
f
(P) =
P 3,
P + 23,
se x < 23,
se x 23
Para decifrar a mensagem, basta subtrairmos 3 mdulo 26. Para este exemplo, o
texto cifrado
WDOHV
TALES.
Gilberto Tenani
17 / 55
Criptograa Clssica
Denio
Uma transformao de deslocamento uma funo f de criptograa denida
pela regra
C = f (P) P + b(mod m).
Gilberto Tenani
18 / 55
Criptograa Clssica
Criptoanlise
O processo de descobrir os parmetros usados em certo mtodo criptogrco
conhecido com quebra do cdigo, e a cincia de quebrar cdigos conhecida com
criptoanlise.
Gilberto Tenani
19 / 55
Criptograa Clssica
letra
e
a
o
i
r
s
d
m
a Site
%
14,8438
12.1094
10.2711
7.14614
5.97426
5.74449
5.3079
5.00919
letra
t
n
u
c
l
v
p
g
%
5.00919
4.71048
3.81434
3.58456
3.10202
1.86121
1.83824
1.26379
letra
b
q
h
f
%
0.919118
0.873162
0.827206
0.804228
0.804228
0.551471
0.32169
0.298713
letra
nh
x
lh
%
0.298713
0.252757
0.229779
0.183824
0.160846
0.137868
0.0919118
0.0459559
letra
Gilberto Tenani
20 / 55
0.
Criptograa Clssica
Exemplo
C = f (P) P + b(mod m)
P = f 1 (C ) C b(mod m).
Gilberto Tenani
21 / 55
Criptograa Clssica
Denio
Uma transformao am uma funo f de criptograa denida pela regra
C aP + b(mod m),
(1)
e temos
ARQUIMEDES = 00 17 16 20 08 12 04 03 04 18
7 12 01 20 22 16 18 14 07 18 08 = MBUWQSOHOI
Criptograa Clssica, Matrizes e Tecnologia
Gilberto Tenani
22 / 55
Contedo
Introduo.
Congruncia e Matrizes.
Cifras de Hill de Ordem n.
O Processo de Criptograa.
O Processo de Descriptograa.
Quebrando a Cifra de Hill.
Tecnologia.
Gilberto Tenani
23 / 55
Denio 3.1.
Sejam A e B matrizes n k com entradas em Z. Dizemos que A congruente a B
mdulo m se aij bij (mod m) para 1 i n e 1 j k . Se A for congruente a
B mdulo m escrevemos
A B(mod m),
Exemplo:
16 3
8 13
5 3
3 2
(mod 11).
Gilberto Tenani
24 / 55
Notao
Considere o sistema de congruncias
...
...
...
...
a x + a x + . . . a x b (mod m)
n1 1
n2 2
nn n
n
a11
a21
A=
:
an1
a12
a22
:
an2
...
...
:
...
a1n
x1
x2
a2n
,X =
:
:
ann
xn
b1
b2
e B=
:
bn
Gilberto Tenani
25 / 55
Denio 3.2.
Se A e A so matrizes n n e se
I (mod m),
AA AA
matriz inversa
Desde que
1 3
2 4
3 4
1 2
3 4
1 2
1 3
2 4
3 4
1 2
=
=
6 10
10 16
11 25
5 11
1 0
0 1
(mod 5)
1 0
0 1
(mod 5)
uma inversa de
1 3
2 4
Gilberto Tenani
mdulo 5.
26 / 55
Proposio 3.3.
Se A uma matriz n n com entrada em Z e m Z um inteiro positivo tal que
mdc(, m) = 1, onde o determinante de A , ento a matriz
A = Adj(A)
um inverso de mdulo m.
uma inversa de A mdulo m, onde
Caso particular:
Seja A =
a
c
b
d
de mdulo m.
d
c
b
a
Gilberto Tenani
um inverso
onde
27 / 55
Exemplo
2 5 6
A = 2 0 2 .
1 2 3
= 4,
Temos = 5, mdc(, 7) = 1, e
2 3
A = 4(adj(A)) = 4 5 0
5
6 2 6
10 1 0 5 (mod 7).
10
2 4 2
Este exemplo mostra que podemos usar uma inversa de A mdulo m para resolver o
sistema
AX B(mod m),
calculando X = AB(mod
m).
Gilberto Tenani
28 / 55
Denio 3.4.
Uma cifra de Hill uma cifra em blocos de comprimento n cuja chave de
encriptao uma matriz Enn e cujas entradas so os nmeros naturais
0, 1, 2, . . . m 1, onde m representa o comprimento do alfabeto utilizado.
Obs: Para obter um nmero inteiro de blocos de comprimento n pode ser necessrio
acrescentar letras extras ao nal da mensagem.
Gilberto Tenani
29 / 55
Processo
Encontre um matriz Enn que seja invertvel mdulo m para chave
Remova, se necessrio, todos os espaos em branco e smbolos de pontuao.
Converta cada caractere para seu equivalente numrico entre 0 e m 1.
Divida essa sequncia de nmeros em t blocos de comprimento n completando,
se necessrio, o nal da mensagem.
Escreva cada bloco como um vetor coluna pi de ordem n 1.
Multiplique a matriz E de criptograa por cada um dos vetores p1 , p2 , . . . , pt .
c1 = Ep1 ,
c2 = Ep2 ,
c3 = Ep3 ,
...,
ct = Ept
Gilberto Tenani
30 / 55
Exemplo
Vamos criptografar a mensagem "Pascal", usando um alfabeto de 26 letras e usando
a matriz de criptograa
2 3
E=
.
7 8
Temos
A matriz invertvel mdulo 26 desde que 5 um inverso de
Gilberto Tenani
31 / 55
Exemplo - Continuao
Dividindo a sequncia em blocos de comprimento 2.
15 00 18 02 00 11.
Produzir uma matriz P23 usando os blocos como colunas.
P=
15 18 00
0 02 11
.
2 3
7 8
15
.
18 00
02 11
4 16 7
1 12 10
(mod 26).
Gilberto Tenani
32 / 55
Gilberto Tenani
33 / 55
Exemplo
Vamos descriptografar a mensagem
AJXGTRJXDGKKIXL.
Calculamos
2 3 15
10 19 16
5 8 12 (mod 26) = 4 23 7
1 13 4
17 5 19
00 09 23 06 19 17 09 23 03 06 10 10 08 23 11
Gilberto Tenani
34 / 55
Exemplo
E assim,
00 06 09 03 08
C = 09 19 23 06 23
23 17 03 10 11
Finalmente, calculamos
19 17 03 18 17
P = DC = 04 08 14 12 14
14 0 13 11 18
Gilberto Tenani
35 / 55
Uma pequena parte de um texto cifrado e seu respectivo texto plano nos
levam a uma pequena parte de C e de P .
Se tivermos sorte, a poro conhecida de P forma uma matriz invertvel
(mdulo m).
Ento C = EP nos leva a E = C P
Invertendo E obtemos a matriz D para descriptografar a mensagem.
Gilberto Tenani
36 / 55
Exemplo
Vamos que interceptamos a mensagem
TIVLFGLKTILFXAHVGY
cujo signicado
CRIPTOGRAFIAELEGAL.
Gilberto Tenani
37 / 55
Exemplo n = 2
Se n = 2 temos
CRIPTOGRAFIAELEGAL 7 02 17 08 15 19 14 06 17 00 05 08 00 04 11 04 06 00 11.
e
TIVLFGLKTILFXAHVGY 7 19 08 21 11 05 06 11 10 19 08 11 05 23 00 07 21 06 25
Assim
2
17
19
08
08
21
19
05
,
,
7
,...
15
11
14
Gilberto Tenani
06
38 / 55
Exemplo n = 2
Queremos construir uma matriz 2 2 que invertvel mdulo 26. Se usarmos os
dois primeiros blocos para construir a matriz
P=
02 08
17 15
det(P) = 106
Gilberto Tenani
39 / 55
Exemplo
Se movermos para
o prximo
bloco, 19 e 14, mantendo o primeiro, nossa matriz P
02 19
torna-se, P =
e det(P) = 295 17(mod 26) e 17 invertvel
17 14
mdulo 26. Assim
19 5
02 19
=E
08 6
17 14
ento
E=
19 5
08 6
02 19
17 14
(mod 26) =
3 13
22 4
Gilberto Tenani
40 / 55
Exemplo
Para vericar se isto funciona, podemos testar em nossa mensagem
CRIPTOGRAFIAELEGAL.
P=
02 08 19 06 00 08 04 04 00
17 15 14 17 05 00 11 06 01
19 11 5 5 13 24 25 12 13
8 2 6 18 20 20 2 8 4
e
C = EP =
Gilberto Tenani
41 / 55
Exemplo
Tentativa n = 3 de vericar se existe uma matriz E33 com C = EP .
19 11 11 08 23 21
02 15 06 05 04 06
08 05 10 11 00 06 = E 17 19 17 08 11 00 .
21 06 19 05 07 25
08 14 00 00 14 11
Gilberto Tenani
42 / 55
Exemplo
Tentamos agora a matriz formada pelas colunas 1, 2 e 6 da matriz de texto plano,
obtendo
02 15 06
P = 17 19 00 .
08 14 11
Como det(P)(mod 26) = 1, essa matriz invertvel mdulo 26 e devemos ter
19 11 21
02 15 06
08 05 06 = E 17 19 00 .
21 06 25
08 14 11
Logo
1
19 11 21
02 15 06
E = 08 05 06 17 19 00
21 06 25
08 14 11
2 3 15
(mod 26) = 5 8 12 .
9 1 21
Gilberto Tenani
43 / 55
Exemplo
Para vericar se isto funciona, vamos testar novamente em nossa mensagem. Temos
19 11 11 08 23 21
2 3 15
02 15 06 05 04 06
08 05 10 11 00 06 = 5 8 12 17 19 17 08 11 00 .
21 06 19 05 07 25
9 1 21
08 14 00 00 14 11
Logo, temos a matriz de criptograa correta e, a partir dela, podemos obter a nossa
matriz de descriptograa encontrando sua inversa.
Gilberto Tenani
44 / 55
Exemplo JuliaBox
Uma sequncia de comandos para criptografar e descriptografar uma mensagem
usando a matriz
2 7
13 9
Carregando a matriz.
Gilberto Tenani
45 / 55
Exemplo JuliaBox
Calculando seu determinante mdulo 26.
Gilberto Tenani
46 / 55
Exemplo JuliaBox
mdulo 26.
Calculando mdc(, m) e seu inverso
Gilberto Tenani
47 / 55
Exemplo JuliaBox
Para obter a adjunta usual da matriz E multiplicamos elemento por elemento seu
determinante pela sua matriz inversa.
Gilberto Tenani
48 / 55
Exemplo JuliaBox
Para obter a adjunta usual da matriz E multiplicamos elemento por elemento seu
determinante pela sua matriz inversa.
Gilberto Tenani
49 / 55
Exemplo JuliaBox
Calculando a matriz adjunta mdulo 26,
Gilberto Tenani
50 / 55
Exemplo JuliaBox
Vamos usar a matriz E para criptografar a mensagem ZERO .
ZERO 25 04 17 14
25 17
04 14
Gilberto Tenani
51 / 55
Exemplo JuliaBox
Usando o JuliaBox para multiplicar E por P e obter C .
Gilberto Tenani
52 / 55
Concluso
Existem numerosos tpicos para se dissertar nessa rea.
Trabalhamos a parte da criptologia conhecida como clssica.
Em especial, nesse trabalho, apresentamos mtodos de criptograa e
descriptograa associados a matrizes
Apresentamos exemplos de como a tecnologia pode auxiliar neste estudo.
Gilberto Tenani
53 / 55
Bibliograa
Gilberto Tenani
54 / 55
Mesmo que a rota da minha vida me conduza a uma estrela, nem por
isso fui dispensado de percorrer os caminhos do mundo.
Jos Saramago
Gilberto Tenani
55 / 55