Академический Документы
Профессиональный Документы
Культура Документы
1.
INTRODUO
Este artigo mostra as diferentes formas em que a matemtica aplicada na criptografia para
o desenvolvimento de cdigos, cifras e tcnicas para mascarar uma mensagem de modo que
s pessoa autorizada possa ter acesso ao seu contedo.
Desde os primrdios que o homem tem sentido a necessidade de guardar segredos. Sejam
segredos familiares, segredos sentimentais, segredos pessoais, segredos religiosos, ou
segredos militares e governamentais. To forte quanto a necessidade nata da espcie
humana de guardar segredo sobre determinados assuntos a vontade dos mesmos humanos
de desvendar esses segredos. Seja por dinheiro, poder, vingana, curiosidade, arrogncia,
ou qualquer outro sentimento essa tem sido uma batalha que, ao longo dos anos vem sendo
travada entre aqueles que querem guardar segredos e os que querem desvendar esses
segredos.
Com o avano cada vez maior dos poderes das Redes de Computadores, o mundo tende a
ficar menor, perder fronteiras, encurtar distncias. Hoje, com um simples apertar de teclas,
pode-se intercambiar informaes atravs dos cinco continentes em questo de minutos ou
at segundos.
Este avano faz com que a informao e o controle sobre ela sejam estratgicos para os
governos e para as empresas. E, quanto maior o fluxo de informaes em redes de
telecomunicaes, ou maior a quantidade de informao armazenada em meios
computacionais, maior a necessidade de empresas, governos e at de pessoas fsicas de se
protegerem contra uma nova ameaa que est crescendo proporcionalmente ao
desenvolvimento da informtica. Trata-se do furto de informao sigilosa e estratgica,
armazenada em meios computacionais, ou da adulterao de transaes atravs do poder
das telecomunicaes.
Pensando na necessidade de se criar ferramentas capazes de proteger a informao e de
prover segurana aos dados armazenados e transmitidos pelas organizaes atravs do
mundo, veio a motivao para se estudar Criptografia. Sendo que atravs desta disciplina
podem-se criar aplicaes que dem maior segurana s informaes digitais.
1
HISTRIA
Cerca de 1900 a.C. acontece o primeiro relato da historia da criptografia. Numa vila egpcia
perto do rio Nilo chamada Menet Khufu. Khnumhotep II era um arquiteto do fara
Amenemhet II. Ele construiu alguns monumentos para o fara, os quais precisavam ser
documentados. Nem preciso dizer que estas informaes, escritas em tabletes de argila,
no eram para cair no domnio pblico. O escriba de Khnumhotep II teve a idia de
substituir algumas palavras ou trechos de texto destes tabletes. Caso o documento fosse
roubado, o ladro no encontraria o caminho que o levaria ao tesouro - morreria de fome,
perdido nas catacumbas da pirmide. Pode ser considerado o primeiro exemplo
documentado da escrita cifrada.
A histria da criptografia aconteceu em trs fases distintas, a criptografia manual, a
criptografia por mquinas e a criptografia em rede.
2.1
A criptografia manual.
da era crist (69 d.C.), em Vida dos Csares, escreveu a biografia dos imperadores romanos
de Jlio Csar a Domiciano. Conta que Jlio Csar usava na sua correspondncia particular
um cdigo de substituio muito simples no qual cada letra da mensagem original era
substituda pela letra que a seguia em trs posies no alfabeto: a letra A era substituda por
D, a B por E, e assim at a ltima letra Z, que cifrada com a letra C (veja a tabela abaixo).
Tabela 1: Cdigo de Csar.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Hoje em dia, porm, se denomina de cdigo de Csar qualquer cifra na qual cada letra da
mensagem original seja substituda por outra deslocada um nmero fixo de posies, no
necessariamente trs. Um exemplo o cdigo que, ainda segundo Suetnio, era usado por
Augusto, onde a letra A era substituda por B, a B por C e assim sucessivamente. Como o
alfabeto romano possui 26 letras, so possveis 26 cdigos de Csar, dos quais um (o do
deslocamento zero) no altera a mensagem original. Uma simples criptoanlise estatstica,
baseada na caracterstica estatstica da lngua, suficiente para decifrar o texto.
Exemplo 2: O cifrrio de Francis Bacon, que foi um filsofo, escritor e poltico ingls, por
volta do sculo XVI, detalhou seu sistema de substituio usando um alfabeto de 24 letras
onde I=J e U=V. Para cada uma das letras do alfabeto atribudo um grupo de 5 caracteres
compostos pelas letras "a" e "b". Como so utilizadas apenas duas letras para a formao
dos grupos, considera-se esta cifra como binria. Como os grupos so formados por 5
letras, considera-se a cifra como sendo de 5 bits e cada caractere possui duas possibilidades
poderamos gerar 25 = 32 grupos e consequentemente representar 32 letras distintas.
A formao dos grupos segue uma seqncia lgica de fcil de memorizar. Alm disso, os
"a" e "b" podem ser substitudos por 0 e 1. Analise a tabela abaixo:
Tabela 2: Cifrrio de Francis Bacon
Letra Grupo Binrio
Letra
A
aaaaa 00000
N
B
aaaab 00001
O
C
aaaba 00010
P
D
aaabb 00011
Q
E
aabaa 00100
R
G
aabba 00110
T
H
aabbb 00111
U/V
I/J
abaaa 01000
W
K
abaab 01001
X
L
ababa 01010
Y
M
ababb 01011
Z
Grupo
abbaa
abbab
abbba
abbbb
baaaa
baaba
baabb
babaa
babab
babba
babbb
Binrio
01100
01101
01110
01111
10000
10010
10011
10100
10101
10110
10111
Exemplo 3: O Cdigo Braille3 criado por Louis Braille (1809-1852), educador francs, que
ficou cego aos 3 anos de idade. Interessou-se por um sistema de escrita, apresentado na
escola Charles Barbier, no qual uma mensagem codificada em pontos era cunhada em
papel-carto. Aos 15 anos de idade trabalhou numa adaptao, escrita com um instrumento
simples que um sistema de smbolos onde cada caractere formado por uma matriz de 6
pontos dos quais pelo um se destaca em relao aos outros. Temos ento a possibilidade de
representar 26 1 caracteres distintos.
Tabela 3: Relao entre letra e smbolo do cdigo Braille.
a
z
Hoje em dia existem vrios dispositivos para escrita em Braille, desde muito simples at
sofisticados dispositivos eletrnicos. O mais simples uma lousa com uma rgua perfurada
onde, com o auxlio de um estilete, possvel produzir os pontos em relevo. Existem
tambm uma mquina de escrever especial, impressoras ligadas a computador que
produzem os relevos desejados, dispositivos com voz artifical que "lem" braille, teclados
de computador especiais e "anotadores" eletrnicos associados a mquina de calcular,
calendrio, etc.
2.2
Na criptografia por mquinas, uma tabela predeterminada era usada em conjunto com uma
mquina, onde o operador desta, usando a tabela e manipulando a mquina podia enviar
uma mensagem criptografada. Como exemplo de mquina de criptografia, podemos citar:
Exemplo 4: O cdigo Morse4: Samuel Morse (1791-1872) em 1840 desenvolve o cdigo
que recebeu o seu nome. Originalmente, Morse imaginou numerar todas as palavras e em
transmitir seus nmeros atravs do telgrafo. O receptor, usando um enorme "dicionrio",
decifraria a mensagem onde as letras do alfabeto foram definidas pelo padro "ponto e
trao". Este novo cdigo reconhecia quatro estados: voltagem-ligada longa (trao),
voltagem-ligada curta (ponto), voltagem-desligada longa (espao entre caracteres e
palavras) e voltagem-desligada curta (espao entre pontos e traos). Cada caractere (letras,
nmeros, sinais grficos) possui seu prprio conjunto nico de pontos e traos.
3
4
No tem finalidade de esconder mensagem, pelo contrrio, mas um bom exemplo de criptografia manual.
Idem. S que aqui temos um bom exemplo de criptografia de mquina.
f
q
g
r
/
h
s
i
j
k
1
2
3
4
5
7
8
Podemos traduzir os termos utilizados para os dias de hoje para significarem condies
binrias de "1" (ponto) e "0" (trao). O alfabeto Morse um cdigo baseado em 5 posies,
ou seja, no precisa mais do que 5 posies para que todas as letras e nmeros sejam
padronizados.
Na realidade, o aspecto mais importante quando se fala de Morse no o cdigo e sim a
possibilidade de transmitir informaes distncia. Atravs dos fios correm sinais eltricos
que, devidamente concatenados, representam mensagens.
Exemplo 5: O Cdigo Enigma5: cdigo gerado pela Mquina Enigma, usada pelos alemes
na Segunda Guerra Mundial, que consistia de um teclado ligado a uma unidade
codificadora. O codificador tinha trs rotores separados e as posies dos rotores
determinavam como cada letra no teclado seria codificada. O que tornava o cdigo da
Enigma to difcil de quebrar era o enorme nmero de modos nos quais a mquina podia
ser regulada. Em primeiro lugar, os trs rotores na mquina eram escolhidos de uma seleo
de cinco que podia ser mudada e trocada para confundir os adversrios. Em segundo lugar,
cada rotor podia ser posicionado em 26 modos diferentes. Isto significava que a mquina
podia ser regulada em milhes de modos diferentes. E alm das permutaes permitidas
pelos rotores, as conexes no quadro de chaveamento, na parte detrs da mquina, podiam
ser mudadas manualmente para fornecer um total de 150 trilhes de regulagens possveis. E
para aumentar ainda mais a segurana, os trs rotores mudavam de oritentao
continuamente, de modo que, cada vez que a letra era transmitida, a regulagem da mquina,
e portanto o cdigo, iria mudar de uma letra para outras. Assim se algum digitasse
DODO no teclado iria gerar a mensagem FGTB, por exemplo o D e o O eram
transmitidos duas vezes, mas codificados de modo diferente a cada vez.
O grande salto em direo decodificao do Cdigo Enigma aconteceu quando se
percebeu que a mquina Enigma no podia codificar uma letra nela mesma, isto , se o
5
Cdigo quebrado pela equipe chefiada pelo matemtico ingls Alan Turing.
A criptografia em rede.
Os sistemas de criptografia clssicos perderam sua eficcia devido facilidade com que
atualmente so decodificados/criptanalizados empregando-se qualquer computador
domstico, mas que foram empregados com xito at princpios do sculo XX. Hoje em em
dia a criptografia que oferece mais segurana a em rede.
Na criptografia em rede, a mensagem criptografada usando-se algoritmos, gerando
diversos cdigos que executam a criptografia. Podemos citar tambm que com o advento da
internet e sua popularizao a criptografia em rede tem sido responsvel pelo surgimento
do comrcio eletrnico, visto que esta essencial para que uma empresa virtual possa ter a
confiana de seus clientes na hora de comprar. Podemos citar como exemplos:
Exemplo 6: Algoritmo DES6 que utiliza a Criptografia simtrica que conhecida como
Criptografia Convencional. O poder da cifra medido pelo tamanho da chave (Num
sistema de encriptao, corresponde a um nome, uma palavra, uma frase, etc, que permite,
mediante o algoritmo de encriptao, cifrar ou decifrar uma mensagem.), geralmente as
chaves de 40 bits so consideradas fracas e as de 128 bits ou mais, as mais fortes. Os
algoritmos simtricos podem ser divididos em cifras de fluxo ou seqenciais e em cifras de
bloco. As cifras de fluxo encriptam um texto claro bit a bit, ao passo que as cifras de bloco
usam conjuntos com um nmero fixo de bits (geralmente 64 bits nas cifras modernas) como
unidades de cifragem.
Esta cifra utiliza uma nica chave secreta, logo antes de duas entidades estabelecerem um
canal seguro, preciso que ambos, tanto o emissor quanto ao receptor, compartilhem suas
chaves respectivas.
Apesar de sua simplicidade, existem alguns problemas nesta cifra, pois cada par necessita
de uma chave secreta para se comunicar de forma segura. Portanto, estas devem ser
trocadas entre as partes e armazenadas de forma segura, o que nem sempre possvel de se
garantir. A criptografia simtrica no garante a identidade de quem enviou ou recebeu a
mensagem. A quantidade de usurios em uma rede pode dificultar o gerenciamento das
chaves.
Exemplo 7: No algoritmo RSA7 as cifras j so chamadas de cifras assimtricas ou de
algoritmos de chave pblica, permitem que a chave seja de domnio pblico - pode at ser
publicada em jornais ou revistas. Qualquer pessoa pode, ento, cifrar mensagens utilizando
a chave, mas apenas o destinatrio e real proprietrio da chave ser capaz de decifrar o
texto porque o nico que conhece a chave decifrante. A chave cifrante tambm chamada
6
Data Encryption Standart (DES): algoritmo de criptografia desenvolvido na dcada de 70 pelo National
Bureau of Standarts com ajuda da National Security Agency (USA).
7
O Cdigo leva as iniciais dos sobrenomes de seus criadores: Ronald L. Rivest, Adi Shamir e Leonard M.
Adleman.
DESENVOLVIMENTO
Anlise combinatria.
Uma das grandes aplicaes da anlise combinatria na criptologia, e talvez a primeira que
nos ocorre, o nmero de alfabetos cifrantes possveis. Se considerarmos o alfabeto
ocidental da atualidade, com 26 letras, quantos alfabetos cifrantes podem ser obtidos?
Sabemos que um alfabeto cifrante no pode ter letras repetidas e precisa conter todas as
letras do alfabeto original. Se apenas as posies das letras so alteradas, sabemos que se
trata de uma permutao simples. Ento vamos ao clculo das possibilidades:
P26 = 26!
P26 = 26 25 24 ... 3 2 1
P26 = 403.291.461.126.605.635.584.000.000
Ou seja, o nmero de alfabetos cifrantes possveis maior que espantosos 400 septilhes!
Se algum quiser encontrar um determinado alfabeto cifrante atravs da "fora bruta", ou
seja, tentando cada uma das possibilidades, e gastar apenas 1 minuto para cada
possibilidade, precisaria de pelo menos... a eternidade para encontrar o alfabeto cifrante
correto.
403.291.461.126.605.635.584.000.000 min = 6.721.524.352.110.093.926.400.000 horas
6.721.524.352.110.093.926.400.000 horas = 280.063.514.671.253.913.600.000 dias
280.063.514.671.253.913.600.000 dias = 9.335.450.489.041.797.120.000 meses
9.335.450.489.041.797.120.000 meses = 777.954.207.420.149.760.000 anos
Se considerarmos que a soluo seja encontrada a "meio do caminho", ainda restam cerca
de 390 quatrilhes (388.977.103.710.074.880) de milnios!
3.2
Aritmtica modular
Quando 15+15 so 6? Se analisarmos esta soma sem questionar, falaremos sem medo que
nunca. Agora, se pensarmos em horas, esta conta est correta, pois 15 horas mais 15 horas,
a partir de 0 hora, so 6 horas. Qualquer fenmeno cclico como este, vai se tornar uma
aritmtica distinta da que conhecemos no segundo grau. Esta aritmtica conhecida como
aritmtica modular. Voltemos novamente ao exemplo do relgio. Como contamos o tempo
de 12 em 12 horas, o conjunto de cifras para expressar as horas so 12 (vo de 0 a 11). Se o
conjunto de cifras disponveis no mostrador limitado, sabemos imediatamente que
estamos lidando com a aritmtica modular e que o relgio trabalha com mdulo 12.
Ver as horas no mostrador um procedimento imediato: mostrador no 3 indica que so 3
horas; mostrador no 8 indica que so 8 horas. Mas quando o mostrador chega nas 11 horas,
a prxima hora ser 0. Que conta esta? Somamos 11 + 1. Agora apliquemos o mdulo 12:
11 + 1 = 12 e 12 12 = 1 com resto 0. Da mesma forma, 11 + 5 = 16 e 16 12 = 1 com
resto 4. Ou seja, sempre que o resultado da soma ultrapassar o maior valor do conjunto
(maior que 11), aplicamos o mdulo 12. Por exemplo, 5 + 3 = 8 no precisa de ajuste.
Sabemos tambm que uma diviso nada mais do que uma sucesso de subtraes. Veja o
exemplo: 36 12 = 3 com resto 0 ou 36 - 12 = 24, 24 - 12 = 12 e 12 - 12 = 0. Fizemos trs
subtraes at obtermos um nmero menor do que 12, ou seja, o resto. Parece bobagem,
mas muito importante e, principalmente, muito prtico.
Nos exemplos acima sempre somamos horas. Se, por exemplo, quisermos subtrair 15 de 3
horas, teramos o seguinte clculo: 3 - 15 = -12. Novamente camos fora do conjunto de 0 a
11, portanto, precisamos aplicar um ajuste: -12 12 = -1 com resto 0. Agora considere
subtrair 17 de 3 horas, ou seja, 3 - 17 = -14 e -14 12 = -1 com resto -2, o que nos deixa
novamente fora do conjunto de 0 a 11. neste ponto que importante entender o
complemento de 12 (porque estamos trabalhando com mdulo 12). Observe a tabela 5:
Tabela 5: Mdulo 12.
Conjunto das Cifras 0
Complemento
12
Mdulo 12
12
1
11
12
2
10
12
3
9
12
4
8
12
5
7
12
6
6
12
7
5
12
8
4
12
9
3
12
10
2
12
11
1
12
3.3
Estatstica
A estatstica tambm est relacionada com a criptografia nas cifras por substituio uma
simples anlise estatstica, baseada na caracterstica da lngua, suficiente para decifrar o
texto. Na freqncia da ocorrncia de letras no portugus do Brasil, temos algumas tabelas
ilustradas a seguir:
Freq.%
14.63
1.04
3.88
4.99
12.57
1.02
1.30
1.28
6.18
0.40
0.02
2.78
4.74
Letra
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
Freq.%
5.05
10.73
2.52
1.20
6.53
7.81
4.34
4.63
1.67
0.01
0.21
0.01
0.47
Tem-se como caracterstica do portugus do Brasil o comprimento mdio das palavras que
de 4.53 letras e quando as letras so ordenadas pela freqncia, formam grupos bem
definidos:
Freq.
48.75 %
49.12 %
21.03 %
1.10 %
100.00 %
Matrizes
Q R S
T U V W X Y Z
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0
Para transformarmos um texto em texto cifrado seguiremos os seguintes procedimentos:
Passo 1. Escolha uma matriz 2x2.
A=
a11
a 21
a12
a 22
p1
p2
E forme o produto A.p .Ns chamamos p de vetor comum e A.p o correspondente vetor
cifrado.
Passo 4. Converta cada vetor cifrado em seu equivalente alfabtico.
Exemplo 8: Cifra de Hill de uma mensagem.
Use a matriz:
1 2
0 3
Para obter a cifra de Hill da mensagem de texto comum WALDIZAR. Agrupa-se o texto
comum em pares de letras, temos:
WA
LD
IZ
AR
12 4
90
1 2
0 3
23
1
1 18
=
25
3
1 2 12
20
=
0 3
4
12
1 2 9
9
=
0 3 0
0
=
0 3 18
54
(1)
IL
IZ
ZB
a b
, podemos obter a inversa de A (mod 26) com
c d
det(A)=ad - bc no divisvel por 2 ou 13, pela expresso:
A1 = (ad bc )1
d b
c a
(mod 26)
Onde (ad bc ) o inverso multiplicativo de det(A). Para referencia futura, abaixo temos
a seguinte tabela com os inversos multiplicativos mdulo 26 que, por exemplo, para
encontramos o inverso multiplicativo do nmero 3 teremos que encontrar o nmero x que
satisfaz a equao mdular 3x = 1 (mod 26), que obteramos como resposta o nmero 9.
1
21
15
19
15
17
19
21
23
25
23
11
17
25
A1 = 9
3 6
27 54
1 24
=
=
(mod 26) .
2 5
18 45
8 19
15
Para obter os pares de texto comum, ns multiplicamos cada vetor pela inversa de A.
1 24 5
365
1
=
=
(mod 26)
8 19 15
325
13
1 24 1
145
15
=
=
(mod 26)
8 19 6
122
18
Obtemos a seqncia numrica 1 13 15 18, que pela tabela 8, os equivalentes alfabticos
destes nmeros fornecem a palavra AMOR.
3.5
Funes
M = 13
O = 15
N = 14
O = 15
G=7
R = 18
A=1
F=6
I=9
A=1
=>
=>
=>
=>
=>
=>
=>
=>
=>
=>
f (M) = f (13) = 44
f (O) = f (15) = 50
f (N) = f (14) = 47
f (O) = f (15) = 50
f (G) = f (7) = 26
f (R) = f (18) = 59
f (A) = f (1) = 8
f (F) = f (6) = 23
f (I) = f (9) = 32
f (A) = f (1) = 8
COSIDERACOES FINAIS
REFERNCIA BIBLIOGRAFICAS
ANTON, RORRES; lgebra linear com aplicaes. 8 ed. Porto alegre: Bookman, 2001.
COUTINHO, Severino; Nmeros inteiros e criptografia RSA. 2. ed. Rio de Janeiro:
IMPA, 2003.
DOMINGUES, Hygino H.; IEZZI, Gelson. lgebra moderna. 2. ed. So Paulo: Atual,
1992.
ROUTO, Terada. Segurana de dados - criptografia em redes de computador. Ed. E.
Blcher, 2000.
SINGH, Simon. O ltimo teorema de Fermat: a histria do enigma que confundiu as
maiores mentes do mundo durante 358 anos. Rio de Janeiro: Record, 1998.
TKOTZ,
Viktoria,
Historia
da
<http://www.numaboa.com.br/criptologia>.
criptografia.
Disponvel
em