Escolar Documentos
Profissional Documentos
Cultura Documentos
Criptografia de Dados PDF
Criptografia de Dados PDF
A Criptografia é a ciência que oculta o significado de uma mensagem e tem como ferramenta os recursos
matemáticos para cifrar e decifrar mensagens. O ato de cifrar consiste em transformar um texto normal em
texto secreto, e o ato de decodificar é a operação inversa, consiste em transformar um texto cifrado em texto
normal. Veremos os conceitos históricos da criptografia, suas definições e aplicações matemáticas.
1. INTRODUÇÃO
Este artigo mostra as diferentes formas em que a matemática é aplicada na criptografia para
o desenvolvimento de códigos, cifras e técnicas para mascarar uma mensagem de modo que
só pessoa autorizada possa ter acesso ao seu conteúdo.
Desde os primórdios que o homem tem sentido a necessidade de guardar segredos. Sejam
segredos familiares, segredos sentimentais, segredos pessoais, segredos religiosos, ou
segredos militares e governamentais. Tão forte quanto a necessidade nata da espécie
humana de guardar segredo sobre determinados assuntos é a vontade dos mesmos humanos
de desvendar esses segredos. Seja por dinheiro, poder, vingança, curiosidade, arrogância,
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 avanço cada vez maior dos poderes das Redes de Computadores, o mundo tende a
ficar menor, perder fronteiras, encurtar distâncias. Hoje, com um simples apertar de teclas,
pode-se intercambiar informações através dos cinco continentes em questão de minutos ou
até segundos.
Este avanço faz com que a informação e o controle sobre ela sejam estratégicos para os
governos e para as empresas. E, quanto maior o fluxo de informações em redes de
telecomunicações, ou maior a quantidade de informação armazenada em meios
computacionais, maior é a necessidade de empresas, governos e até de pessoas físicas de se
protegerem contra uma nova ameaça que está crescendo proporcionalmente ao
desenvolvimento da informática. Trata-se do furto de informação sigilosa e estratégica,
armazenada em meios computacionais, ou da adulteração de transações através do poder
das telecomunicações.
1
Licenciando do Curso de Matemática da Universidade Católica de Brasília – UCB – DF.
Na palavra criptografia, “Cripto" vem do grego "kryptos" e significa oculto, envolto,
escondido. Também do grego, "graphos" significa escrever, "logos" significa estudo,
ciência e "analysis" significa decomposição. É também uma ciência matemática que se
dedica ao estudo de métodos de comunicação secreta. É composta pelas disciplinas de
criptografia e criptoanálise. A criptografia estuda os métodos para cifrar ou codificar uma
mensagem de modo que só o destinatário legítimo é capaz de interpretar o conteúdo da
mensagem sendo ilegível para terceiros e intrusos. Os procedimentos inversos, chamados
de decifragem, são os objetivos de estudo da criptoanálise. Decodificar é o procedimento
que o usuário legítimo do código realiza quando recebe uma mensagem codificada e quer
lê-la. Já decifrar é o procedimento feito para ler uma mensagem codificada sem ser um
destinatário legítimo. O principal propósito da criptografia é permitir a transmissão de
mensagem por canais não seguros empregando técnicas matemáticas para tornar o conteúdo
da mensagem restrita ao destinatário legítimo. Esta ciência é tão antiga quanto a própria
escrita, porém somente depois da Segunda Guerra Mundial, com a invenção do computador
e o desenvolvimento da teoria da informação, a criptografia realmente floresceu.
2. HISTÓRIA
Cerca de 1900 a.C. acontece o primeiro relato da historia da criptografia. Numa vila egípcia
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 informações, escritas em tabletes de argila,
não eram para cair no domínio público. O escriba de Khnumhotep II teve a idéia de
substituir algumas palavras ou trechos de texto destes tabletes. Caso o documento fosse
roubado, o ladrão não encontraria o caminho que o levaria ao tesouro - morreria de fome,
perdido nas catacumbas da pirâmide. Pode ser considerado o primeiro exemplo
documentado da escrita cifrada.
Exemplo 1: O código de César que apesar da criptologia2 estar bastante avançada na época,
em 50 a.C. usava um sistema de substituição. Suetônio, escritor romano que viveu no início
2
Disciplina científica que reúne e estuda os conhecimentos (matemáticos, computacionais, psicológicos,
filológicos, etc.) e técnicas necessários à criptoanálise (solução de criptogramas) e à criptografia (escrita
codificada).
da era cristã (69 d.C.), em Vida dos Césares, escreveu a biografia dos imperadores romanos
de Júlio César a Domiciano. Conta que Júlio César usava na sua correspondência particular
um código de substituição muito simples no qual cada letra da mensagem original era
substituída pela letra que a seguia em três posições no alfabeto: a letra A era substituída por
D, a B por E, e assim até a última letra Z, que é cifrada com a letra C (veja a tabela abaixo).
Hoje em dia, porém, se denomina de código de César qualquer cifra na qual cada letra da
mensagem original seja substituída por outra deslocada um número fixo de posições, não
necessariamente três. Um exemplo é o código que, ainda segundo Suetônio, era usado por
Augusto, onde a letra A era substituída por B, a B por C e assim sucessivamente. Como o
alfabeto romano possui 26 letras, são possíveis 26 códigos de César, dos quais um (o do
deslocamento zero) não altera a mensagem original. Uma simples criptoanálise estatística,
baseada na característica estatística da língua, é suficiente para decifrar o texto.
Exemplo 2: O cifrário de Francis Bacon, que foi um filósofo, escritor e político inglês, por
volta do século XVI, detalhou seu sistema de substituição usando um alfabeto de 24 letras
onde I=J e U=V. Para cada uma das letras do alfabeto é atribuído um grupo de 5 caracteres
compostos pelas letras "a" e "b". Como são utilizadas apenas duas letras para a formação
dos grupos, considera-se esta cifra como binária. Como os grupos são formados por 5
letras, considera-se a cifra como sendo de 5 bits e cada caractere possui duas possibilidades
poderíamos gerar 25 = 32 grupos e consequentemente representar 32 letras distintas.
A formação dos grupos segue uma seqüência lógica de fácil de memorizar. Além disso, os
"a" e "b" podem ser substituídos por 0 e 1. Analise a tabela abaixo:
Hoje em dia existem vários dispositivos para escrita em Braille, desde muito simples até
sofisticados dispositivos eletrônicos. O mais simples é uma lousa com uma régua perfurada
onde, com o auxílio de um estilete, é possível produzir os pontos em relevo. Existem
também uma máquina de escrever especial, impressoras ligadas a computador que
produzem os relevos desejados, dispositivos com voz artifical que "lêem" braille, teclados
de computador especiais e "anotadores" eletrônicos associados a máquina de calcular,
calendário, etc.
Na criptografia por máquinas, uma tabela predeterminada era usada em conjunto com uma
máquina, onde o operador desta, usando a tabela e manipulando a máquina podia enviar
uma mensagem criptografada. Como exemplo de máquina de criptografia, podemos citar:
3
Não tem finalidade de esconder mensagem, pelo contrário, mas é um bom exemplo de criptografia manual.
4
Idem. Só que aqui temos um bom exemplo de criptografia de máquina.
Tabela 4: Código Morse original:
a •— l •—•• x —••— 1 •————
b —••• m —— y —•—— 2 ••———
c —•—• n —• z ——•• 3 •••——
d —•• o — — — ch ———— 4 ••••—
e • p •——• w •—— 5 •••••
——•
f ••—• q ä •—•— 6 —••••
—
g ——• r •—• é/ë ••—•• 7 ——•••
h •••• s ••• ï —••—— 8 ———••
——•—
i •• t — ñ 9 ————•
—
•—— ————
j u ••— ö ———• 0
— —
k —•— v •••— ü ••——
Podemos traduzir os termos utilizados para os dias de hoje para significarem condições
binárias de "1" (ponto) e "0" (traço). O alfabeto Morse é um código baseado em 5 posições,
ou seja, não precisa mais do que 5 posições para que todas as letras e números sejam
padronizados.
Na realidade, o aspecto mais importante quando se fala de Morse não é o código e sim a
possibilidade de transmitir informações à distância. Através dos fios correm sinais elétricos
que, devidamente concatenados, representam mensagens.
Exemplo 5: O Código Enigma5: código gerado pela Máquina Enigma, usada pelos alemães
na Segunda Guerra Mundial, que consistia de um teclado ligado a uma unidade
codificadora. O codificador tinha três rotores separados e as posições dos rotores
determinavam como cada letra no teclado seria codificada. O que tornava o código da
Enigma tão difícil de quebrar era o enorme número de modos nos quais a máquina podia
ser regulada. Em primeiro lugar, os três rotores na máquina eram escolhidos de uma seleção
de cinco que podia ser mudada e trocada para confundir os adversários. Em segundo lugar,
cada rotor podia ser posicionado em 26 modos diferentes. Isto significava que a máquina
podia ser regulada em milhões de modos diferentes. E além das permutações permitidas
pelos rotores, as conexões no quadro de chaveamento, na parte detrás da máquina, podiam
ser mudadas manualmente para fornecer um total de 150 trilhões de regulagens possíveis. E
para aumentar ainda mais a segurança, os três rotores mudavam de oritentação
continuamente, de modo que, cada vez que a letra era transmitida, a regulagem da máquina,
e portanto o código, iria mudar de uma letra para outras. Assim se alguém 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.
5
Código “quebrado” pela equipe chefiada pelo matemático inglês Alan Turing.
emissor, por exemplo, teclasse a letra “B”, então, independente do ajuste, a máquina
poderia transmitir todo tipo de letra, exceto “B”.
Os sistemas de criptografia clássicos perderam sua eficácia devido à facilidade com que
atualmente são decodificados/criptanalizados empregando-se qualquer computador
doméstico, mas que foram empregados com êxito até princípios do século XX. Hoje em em
dia a criptografia que oferece maiôs segurança é a em rede.
Exemplo 6: Algoritmo DES6 que utiliza a Criptografia simétrica que é conhecida como
“Criptografia Convencional”. O poder da cifra é medido pelo tamanho da chave (Num
sistema de encriptação, corresponde a um nome, uma palavra, uma frase, etc, que permite,
mediante o algoritmo de encriptação, cifrar ou decifrar uma mensagem.), geralmente as
chaves de 40 bits são consideradas fracas e as de 128 bits ou mais, as mais fortes. Os
algoritmos simétricos podem ser divididos em cifras de fluxo ou seqüenciais 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 número 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 é possível de se
garantir. A criptografia simétrica não garante a identidade de quem enviou ou recebeu a
mensagem. A quantidade de usuários em uma rede pode dificultar o gerenciamento das
chaves.
6
Data Encryption Standart (DES): algoritmo de criptografia desenvolvido na década de 70 pelo National
Bureau of Standarts com ajuda da National Security Agency (USA).
7
O Código leva as iniciais dos sobrenomes de seus criadores: Ronald L. Rivest, Adi Shamir e Leonard M.
Adleman.
de chave pública e a chave decifrante de chave privada ou chave secreta.
3 DESENVOLVIMENTO
Uma das grandes aplicações da análise combinatória na criptologia, e talvez a primeira que
nos ocorre, é o número de alfabetos cifrantes possíveis. Se considerarmos o alfabeto
ocidental da atualidade, com 26 letras, quantos alfabetos cifrantes podem ser obtidos?
Sabemos que um alfabeto cifrante não pode ter letras repetidas e precisa conter todas as
letras do alfabeto original. Se apenas as posições das letras são alteradas, sabemos que se
trata de uma permutação simples. Então vamos ao cálculo das possibilidades:
P26 = 26!
P26 = 26 · 25 · 24 · ... · 3 · 2 · 1
P26 = 403.291.461.126.605.635.584.000.000
Ou seja, o número de alfabetos cifrantes possíveis é maior que espantosos 400 septilhões!
Se alguém quiser encontrar um determinado alfabeto cifrante através da "força 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.
Se considerarmos que a solução seja encontrada a "meio do caminho", ainda restam cerca
de 390 quatrilhões (388.977.103.710.074.880) de milênios!
Quando 15+15 são 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, são 6 horas. Qualquer fenômeno cíclico como este, vai se tornar uma
aritmética distinta da que conhecemos no segundo grau. Esta aritmética é conhecida como
aritmética modular. Voltemos novamente ao exemplo do relógio. Como contamos o tempo
de 12 em 12 horas, o conjunto de cifras para expressar as horas são 12 (vão de 0 a 11). Se o
conjunto de cifras disponíveis no mostrador é limitado, sabemos imediatamente que
estamos lidando com a aritmética modular e que o relógio trabalha com módulo 12.
Nos exemplos acima sempre somamos horas. Se, por exemplo, quisermos subtrair 15 de 3
horas, teríamos o seguinte cálculo: 3 - 15 = -12. Novamente caímos 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 módulo 12). Observe a tabela 5:
A estatística também está relacionada com a criptografia nas cifras por substituição uma
simples análise estatística, baseada na característica da língua, é suficiente para decifrar o
texto. Na freqüência da ocorrência de letras no português do Brasil, temos algumas tabelas
ilustradas a seguir:
Tem-se como característica do português do Brasil o comprimento médio das palavras que
é de 4.53 letras e quando as letras são ordenadas pela freqüência, formam grupos bem
definidos:
Tabela 7: freqüência das letras divididas por grupos.
Letras Freq.
6 vogais: A, E, I, O, U, (Y) 48.75 %
20 consoantes
5 de frequência alta: S, R, N, D, M 49.12 %
10 de frequência média: T, C, L, P, V, G, H, Q, B, F 21.03 %
6 de frequência baixa: Z, J, X, K, W 1.10 %
100.00 %
3.4 Matrizes
Inicialmente vamos supor que cada letra de texto comum e de texto cifrado, excetuando o
Z, tem um valor numérico que especifica sua posição no alfabeto padrão. A Z será atribuído
o valor zero, pois estaremos interessados em trabalhar com aritmética módulo 26.
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
a11 a12
A=
a 21 a 22
Passo 2. Agrupe letras sucessivas de texto comum em pares, adicionando uma letra fictícia
para completar o último par se o texto comum tem um número ímpar de letras; substitua
cada letra de texto de texto comum por seu valor numérico
Passo 3. Converta cada par sucessivo p1 p 2 de letras de texto comum em um vetor-coluna
p1
p=
p2
E forme o produto A.p .Nós chamamos p de vetor comum e A.p o correspondente vetor
cifrado.
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
1 2 23 25
Para codificar o par WA efetua-se o produto matricial: ⋅ =
0 3 1 3
1 2 12 20
Para codificar o par LD efetua-se o produto matricial: ⋅ =
0 3 4 12
1 2 9 9
Para codificar o par IZ efetua-se o produto matricial: ⋅ =
0 3 0 0
1 2 1 37
⋅ = (1)
0 3 18 54
Aqui temos um problema, pois os números 37 e 54 não possuem equivalências alfabéticas
com a tabela 8. para resolver este problema utilizaremos o resto da divisão euclidiana
destes números por 26 e como o resto da divisão é um dos números 0, 1, 2, ..., 25, este
procedimento sempre fornece um inteiro com equivalente alfabético.
Assim em (1), deve se substituir 37 por 11 e 54 por 2, que equivale na tabela 8 com KB.
DC IL IZ ZB
Como o texto foi agrupado em pares e criptografado por uma matriz 2x2, dizemos que a
cifra de Hill é uma matriz 2-cifra de Hill. É possível criptografar com uma matriz 3x3 com
entradas inteiras. Em geral, para n-cifra de Hill agrupamos o texto comum em conjuntos de
n letras e codificamos com uma matriz codificadora nxn de entradas inteiras.
Para decifrar as cifras de Hill, usamos a inversa (mod 26) da matriz codificadora. Neste tipo
de criptografia é importante saber quais matrizes são invertíveis módulo 26. Em geral, uma
matriz quadrada A é invertível se, e somente se, det(A) ≠ 0 (pois nos números reais basta o
número ser diferente de zero para ter inverso multiplicativo). Na aritmética módulo 26, o
det(A) deverá ter inverso módulo 26, pois na fórmula da inversa de A, aparece o inverso do
determinante. Agora, um número n terá inverso módulo 26 se e somente se mdc (n, 26)=1,
ou seja, n e 26 são co-primos (não têm fatores em comum). Assim, só existirá inversa
módulo 26 se o det(A) não for divisível por 2 ou 13. Veja tabela 9 abaixo.
a b
Sendo assim, dada uma matriz A = , podemos obter a inversa de A (mod 26) com
c d
det(A)=ad - bc não divisível por 2 ou 13, pela expressão:
d −b
A−1 = (ad − bc )−1 (mod 26)
−c a
Onde (ad − bc ) é o inverso multiplicativo de det(A). Para referencia futura, abaixo temos
−1
a seguinte tabela com os inversos multiplicativos módulo 26 que, por exemplo, para
encontramos o inverso multiplicativo do número 3 teremos que encontrar o número x que
satisfaz a equação módular 3x = 1 (mod 26), que obteríamos como resposta o número 9.
3 −6 27 − 54 1 24
A−1 = 9 = = (mod 26) .
−2 5 − 18 45 8 19
Para obter os pares de texto comum, nós 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
3.5 Funções
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
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 26
Agora, escolhemos uma função f(x) que vai receber o valor da letra que queremos
transmitir e gerar um outro valor através de f(x). Ou seja, a imagem de f é que será
transmitida. Vamos supor que f seja a função f(x) = 3x + 5, que é também chamada de
função cifradora. O emissor vai transmitir a palavra MONOGRAFIA. Então, conforme as
tabelas acima têm a seguinte correspondência:
M = 13 => f (M) = f (13) = 44
O = 15 => f (O) = f (15) = 50
N = 14 => f (N) = f (14) = 47
O = 15 => f (O) = f (15) = 50
G=7 => f (G) = f (7) = 26
R = 18 => f (R) = f (18) = 59
A=1 => f (A) = f (1) = 8
F=6 => f (F) = f (6) = 23
I=9 => f (I) = f (9) = 32
A=1 => f (A) = f (1) = 8
4, COSIDERACOES FINAIS
Os resultados obtidos nesse artigo revelam a importância da criptografia, e que ela não
poderia ser tão bem desenvolvida sem a presença da matemática, pois nota-se maior
confiabilidade em ocultar uma mensagem quando usamos essa ciência. Os ramos da
matemática que são aplicados à criptografia são diversos é notamos quanto maior o grau de
dificuldade que os aplicamos melhor ocultará a mensagem.
Durante este artigo tive um grande crescimento como professor e educador, pois no ensino
fundamental e médio diariamente somos questionados sobre a aplicação de diversos ramos
da matemática, podendo então agora usar os conhecimentos obtidos com as aplicações da
matemática na criptografia em sala de aula.
5. REFERÊNCIA BIBLIOGRAFICAS
ANTON, RORRES; Álgebra linear com aplicações. 8ª ed. Porto alegre: Bookman, 2001.
COUTINHO, Severino; Números inteiros e criptografia RSA. 2. ed. Rio de Janeiro:
IMPA, 2003.
DOMINGUES, Hygino H.; IEZZI, Gelson. Álgebra moderna. 2. ed. São Paulo: Atual,
1992.
ROUTO, Terada. Segurança de dados - criptografia em redes de computador. Ed. E.
Blücher, 2000.
SINGH, Simon. O último teorema de Fermat: a história do enigma que confundiu as
maiores mentes do mundo durante 358 anos. Rio de Janeiro: Record, 1998.