Anda di halaman 1dari 43

FACULDADE DE TECNOLOGIA DE ITAQUAQUECETUBA

EDSON ESMERALDINO DE PAULA


GILSON FERREIRA NERES
JOSÉ AUGUSTO MEIRA DA ROCHA
RICARDO DANIEL DE MIRA ZOCAL

A CRIPTOGRAFIA COMO MEIO DE MANTER O SIGILO E


GARANTIR AUTENTICIDADE NA ERA VIRTUAL

ITAQUAQUECETUBA – SP – 2008
FACULDADE DE TECNOLOGIA DE ITAQUAQUECETUBA

IGN108N05

A CRIPTOGRAFIA COMO MEIO DE MANTER O SIGILO E


GARANTIR AUTENTICIDADE NA ERA VIRTUAL

Monografia apresentada ao Curso de


Informática para Gestão de Negócios como
requisito do PROMPT do 2º semestre de 2008.

Orientador:
Prof. Ivaldo Donizeti Franco.

ITAQUAQUECETUBA – SP – 2008
IIGN108N05. A criptografia na era digital. Faculdade de tecnologia
de Itaquaquecetuba, Tecnólogo em Informática para Gestão de
Negócios, Tecnologia de Informação. Itaquaquecetuba, São
Paulo. xxp. 1ª Impressão 2008

1. PROMPT 2. Criptografia digital 3. ICP-Brasil


”...Isto diz o Santo e o Verdadeiro, que tem a chave
de Davi, que abre, e ninguém fecha, que fecha, e
ninguém abre.”
Apocalipse de São João, capítulo 3, versículo 7
AGRADECIMENTOS

Agradecemos a Mohammad Saifi, por nos dispor sua preciosa biblioteca;


e ao prof. Ivaldo Franco, pela interessada orientação.
RESUMO

O objeto primeiro deste trabalho é a criptografia aplicada à Tecnologia da


Informação e, portanto na atualidade. Sua meta é explicar como ela funciona, como
pode ser usada como meio de obter sigilo, seus usos principais e os campos de
aplicação tais como verificação de autenticidade e certificação digital. Não
obstante, para dar uma visão ampla sobre este fascinante assunto, se mostrará
brevemente como a criptografia se desenvolveu ao longo dos séculos desde a sua
criação ou seus primeiros usos, seu papel importante durante a 2ª Guerra Mundial,
um pouco de história, bem como seu estado-da-arte e estágios mais avançados de
desenvolvimento. Será listada uma coleção dos algoritmos de encriptação mais
usados atualmente, suas formas básicas, tipos de ataque e atacantes, definições
básicas, juntamente com seus pontos fortes, fraquezas e problemas no uso ou
aplicação das várias alternativas disponíveis. Finalmente, falaremos das tentativas
de tornar essa técnica mais segura, de aumentar a confiança nos algoritmos.
Nesse assunto, focaremos nosso interesse nas pesquisas em Criptografia de
Curvas Elípticas e na Criptografia Quântica.

PALAVRAS CHAVE: autenticidade, certificação, criptografia, sigilo.


RESUMEN

El objeto primero de ese trabajo es la criptografía aplicada a la Tecnología


de la Información y en la actualidad. Su meta es explicar como ella funciona, como
puede ser usada como medio de obtener sigilo, sus usos principales y los campos
de aplicación tales como verificación de autenticidad y certificación digital. Sin
embargo, para dar una visión más amplia sobre ese fascinante tema, se mostrará
brevemente como la criptografía se ha desenvolvido al lo largo de los siglos desde
su creación o sus primeros usos, su papel importante durante la 2ª Guerra Mundial,
un poco de historia, bien como su estado-de-la-arte y etapas más avanzadas de
desarrollo. Será listada una colección de los algoritmos de encriptación mas
usados actualmente, sus formas básicas, tipos de ataque e de atacantes,
definiciones básicas, juntamente con sus puntos fuertes, debilidades y problemas
en el uso o aplicación de las varias alternativas disponibles. Finalmente,
hablaremos de las tentativas de tornar esa técnica más segura, de agrandar la
confianza en los algoritmos. A cerca de ese asunto, enfocaremos las pesquisas en
Criptografía de Curvas Elípticas y en la Criptografía Quántica.

PALAVRAS CLAVE: autenticidad, certificación, criptografía, sigilo.


ABSTRACT

The main object of this work is cryptography applied to Information


Technology and consequently to present time. Its goal is to explain how it works,
how can it be employed as mean to get secrecy, its main usages and fields of
application such authentication and digital certification. Nevertheless, to give a
broad view over this fascinating issue, it will be showed in brief how cryptography
has been developed throughout the centuries since its creation or early uses, its
important role during the years II World War, a little bit of history, as well as its
state-of-the-art and ultimate stage of development. It will be listed a collection of the
most common cipher algorithms used nowadays, their basic forms, kinds of attack
and attackers, basic definitions, alongside of its strengths, weaknesses and troubles
on using or application of various available alternatives. To conclude, we are going
to talk about the attempting to increase the security of this technique, to rise the
confidence in the algorithms. Over this issue we are going to focus our attention on
Elliptic Curves Cryptography and Quantum Cryptography.

KEY-WORDS: authentication, certification, cryptography, secrecy.


SUMÁRIO

INTRODUÇÃO ...................................................................................................... 10

CAPÍTULO 1 – HISTÓRIA DA CRIPTOGRAFIA.................................................. 12

1.1. A Cifra de César .................................................................................... 13

1.2. A Cifra de Vigenère ............................................................................... 15

1.3. Rotor – Máquina Criptográfica ............................................................. 17

CAPITULO 2 – CRIPTOGRAFIA NA ATUALIDADE ........................................... 21

2.1. Visão Geral ............................................................................................ 21

2.2. Criptoanálise ......................................................................................... 23

2.3. Operações básicas ............................................................................... 25

2.4. Técnicas de Encriptação ...................................................................... 27

2.4.1. Encriptação Convencional ............................................................... 27

2.4.1.1. Técnicas Clássicas ........................................................................ 27

2.4.1.2. Técnicas Modernas........................................................................ 28

2.4.2. Encriptação Assimétrica ................................................................... 29

2.5. Ataques .................................................................................................. 30

2.5.1. Perfil dos Atacantes .......................................................................... 30

2.5.2. Segurança .......................................................................................... 31

CAPÍTULO 3 - TENDÊNCIAS ............................................................................... 33

2.1. Criptografia de Curvas Elípticas .......................................................... 33

2.2. Criptografia Quântica ........................................................................... 34


ANEXO I – EXEMPLO DE ALGORÍTMO CRIPTOGRÁFICO ........................... 36
10

INTRODUÇÃO
Provar a autenticidade ou autoria de um documento, verificar a legitimidade
de uma assinatura, saber com quem estamos tratando, nunca foi um problema
muito grande até o advento da era eletrônica ou o surgimento do mundo virtual.
Antigamente os peritos descobriam falsificações através do exame da grafia ou de
características singulares dos tipos de uma máquina de escrever. Porém a
virtualidade que surgiu com o documento eletrônico e com os atuais meios pelos
quais fazemos nossas transações, fez isso mudar. Não há mais lápis ou caneta e
tão pouco papel. Qualquer pessoa pode fabricar um documento eletrônico e dizer
que foi outra, ou dizer que um documento feito por outro é de sua autoria ou ainda
fazer alterações em um contrato depois de sua assinatura. A apocrifia tornou-se
mais fácil, mais usada, comum e corriqueira. Através da informática, da telemática
e da automação as pessoas ficaram dispensadas da presença garantidora da
verdade.
Por outro lado, seria muito bom assinar um contrato, autorizar uma
transação, transferir fundos ou comprar algo, votar em uma eleição, sem haver
qualquer deslocamento de matéria, sem que precisássemos sair do lugar.
Estaríamos economizando tempo e recursos.
Além dessas aplicações práticas, cotidianas, há uma questão social
importante que tem preocupado os cidadãos no mundo inteiro: a garantia de
privacidade dos indivíduos, da pessoa humana, privacidade cada vez mais
ameaçada nestes tempos de vigilância nos moldes do Admirável Mundo Novo, de
Aldous Huxley. Há notícias de abuso de direitos humanos pelo governo da China,
que teria prendido dois cientistas acusados de promover a democracia (GLAVE,
1998). Também vemos surgir organizações como a Electronic Frontier Canadá que
organiza a Campanha Chave de Ouro, cujo objetivo “é promover a privacidade e a
segurança de sistemas eletrônicos de comunicação e informação através da ampla
disponibilidade pública de encriptação forte” (EFC, 1998, tradução nossa) e o
relaxamento do controle da exportação de técnicas e dispositivos de criptografia.
Surge, então, a necessidade de segurança e sigilo e estes, por sua vez,
dependem da criptografia - objeto deste trabalho.
Conforme Crume (2000, p.192, tradução nossa), criptografia é
“um método de escrita secreta. Envolve tomar um original, mensagem em
texto pleno, e embaralhá-lo de tal forma que seu conteúdo fique
11

incompreensível a leitores não autorizados mas ainda passível de


restauração por quem tiver autorização”.
Kessler (1998, p.2, tradução nossa) diz que criptografia é “[...] a ciência de
escrever em código secreto e é uma arte antiga; [...]”, podendo ser tão antiga
quanto a escrita. O seu uso é comum em correspondência diplomática, planos de
batalha em tempos de Guerra, documentos sigilosos de empresas e em inúmeras
situações onde o segredo é requerido.
Foram usados nesta monografia principalmente os escritos de Willian
Stallings, um dos autores mais respeitados no mundo sobre o assunto; a
publicação “Criptografia e Segurança na Informática” de Pedro A. D. Rezende,
professor do departamento de Ciências da Computação da UnB; o artigo “An
Overview of Cryptography”, de Gary C. Kessler, renomado especialista na área de
segurança e criptografia, professor e diretor do Champlain College, em Burlington,
Vermont, EEUU; e o famoso livro “The Codebreakers, The Story of Secret Writing”,
do historiador, jornalista e escritor David Kahn, cujo assunto predileto é a
criptografia e a inteligência militar.
12

CAPÍTULO 1 – HISTÓRIA DA CRIPTOGRAFIA


Os primeiros registros sobre o uso da criptografia remontam ao antigo
Egito. Há evidências do uso de criptografia em inscrições egípcias de cerca de
1900 AC, conforme Kessler (1998, p.2) e Kahn (1967, p.65).
Uma linha do tempo (ver Quadro 1) pode dar uma idéia de como a busca
pelo segredo na comunicação tem sido feita pelo homem através dos tempos.

± 1900 a.C. No túmulo de Khnumhotep II alguns hieróglifos foram


substituídos por outros mais "importantes e bonitos". Kahn (1967,
p.65, tradução nossa) considera este fato como o primeiro
exemplo documentado de escrita cifrada.

± 1500 a.C. Na Mesopotâmia há registro do uso da criptografia numa


fórmula para fazer esmaltes para cerâmica. O tablete de argila que
contém a fórmula usava símbolos especiais que podem ter vários
significados diferentes. (KAHN, 1967, p.68, tradução nossa)

± 550 a.C. Escribas hebreus, no Livro de Jeremias 26:25 e 51:41,


usaram a cifra de substituição simples pelo alfabeto reverso
conhecida como ATBASH. (KAHN, 1967, p.68, tradução nossa)

± 475 a.C Thucydides cifrou uma mensagem dos governantes


espartanos enviada ao seu general Pausânius (KAHN, 1967, p.68,
tradução nossa).

± 300 a.C. Escrito na Índia, o livro Arthasastra, atribuído a Kautilya,


cita diversas cifras criptográficas e recomenda aos oficiais da
espionagem que a transmissão de comandos aos subordinados
seja feita através de escrita cifrada (KAHN, 1967, p.67, tradução
nossa).

± 130 a.C. Em Uruk, na região do atual Iraque, alguns escribas


13

transfomavam seus nomes em números dentro do emblema que


identificava seus trabalhos (KAHN, 1967, p.69, tradução nossa).

50 a.C. O imperador romano Júlio César usou uma cifra de


substituição para aumentar a segurança de mensagens
governamentais.

200 d.C. O Papiro de Leiden, um texto que detalha como fazer


poções especiais, possui texto cifrado nos trechos cruciais das
receitas.

400 d.C. Kama-Sutra, escrito por Vatsayana, classifica a criptografia


como uma das 64 artes que as mulheres deveriam conhecer e
praticar (KAHN, 1967, p. 68, tradução nossa)

1401 d.C. Uma cifra de substituição homofônica era usada no


ducado de Mantua (SCHNEIER, 1996, p.11)

1568 d.C. Leon Battista inventa a cifra de substituição polialfabética.


Este tipo foi usado na Guerra Civil dos Estados Unidos
(SCHNEIER, 1996, p.11)

1586 d.C. Vigenère publica sua cifra de substituição polialfabética,


uma versão aperfeiçoada da cifra de Battista (SCHNEIER, 1996,
p.11)

1920 d.C. Surge na Alemanha a primeira máquina de cifrar,


conhecida como rotor, batizada de Enigma.

Quadro 1 – Linha do tempo do uso da criptografia através dos séculos

1.1. A Cifra de César


O mais antigo, famoso e simples método de codificar uma mensagem é a
chamada Cifra de César, (STALLINGS, 1995, p.29). O imperador da Roma antiga,
Júlio César, substituía cada letra do alfabeto latino pela terceira letra que a seguia.
14

Esse deslocamento é a chave de encriptação. Para isso o alfabeto era tratado


como cíclico, portanto a terceira letra depois do X era o A, depois do Y o B e depois
do Z o C. A título de curiosidade: tal chave precisa de 6 bits para ser escrita na
base binária de numeração.
Se associarmos um número de ordem a cada letra teríamos A=1, B=2 e
assim por diante. Se chamarmos de p os caracteres do texto claro, de C os
caracteres do texto cifrado e E a função de encriptação, teremos a fórmula

C = E(p) = (p + 3) mod1 26 (STALLINGS, 1995, p.29)

E se considerarmos que o deslocamento pode ser um número qualquer k


entre 1 e 25, poderemos generalizar para

C = E(p) = (p + k) mod 26 (STALLINGS, 1995, p.29)

que é a forma geral para a Cifra de César.


A função de decifrar (D), pode ser escrita como

p = D(C) = (C - k) mod 26 (STALLINGS, 1995, p.29)

Como exemplo:

Texto claro: 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
cifra: 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

Texto claro: f a t e c i t a q u a q u e c e t u b a
cifra: I D W H F L W D T X D T X H F H W X E D

Para decodificar uma mensagem nesse algoritmo, basta um ataque de


força bruta que tente as 25 possibilidades para o valor da chave.

1
mod: a operação matemática módulo ou o resto da divisão inteira
15

Figura 1 - O imperador romano Júlio César, que usava criptografia por substituição nas mensagens
enviadas aos seus generais

1.2. A Cifra de Vigenère


Em 1586 o diplomata e criptólogo francês Blaise de Vigenère (Figura 2)
publica sua versão mais robusta para a cifra polialfabética inventada alguns anos
antes por Leon Battista (SCHNEIER, 1996, p.11).

Figura 2 – Blaise de Vigenére, diplomata francês, melhorou a cifra de substituição polialfabética

Neste esquema, o conjunto de regras de substituição monoalfabéticas


relacionadas consiste em 26 Cifras de César com deslocamentos variando de 0 a
25. Cada cifra é indicada por uma letra-chave (STALLINGS, 1995, p.35). O
processo é simples e usa a Tabela 1, conhecida como Tabela de Vigenére ou
também Tabula Recta. As 26 cifras ficam nas linhas (horizontal) tendo a sua
esquerda a letra-chave. No topo ficam as letras do texto claro. A letra do texto
cifrado é a que está na interseção da linha da letra-chave com a coluna da letra do
16

texto claro. A chave tem que ser tão longa quanto a mensagem a ser encriptada.
Isso normalmente é conseguido repetindo-a.
Por exemplo:

Chave: p r o m p t p r o m p t p r o m p t p r
Texto claro: f a t e c i t a q u a q u e c e t u b a
cifra: U R H Q R B I R E G P J J V Q Q I N R R

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
a 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
b 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 A
c C 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
d 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
e 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 D
f F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
g G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
h H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
i I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
j J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
k K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
l L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
m M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
n N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
o O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
p P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
r R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
s S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
t T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
u U V W X Y Z A B C D E F G H I J K L M N O P Q R S Y
v V W X Y Z A B C D E F G H I J K L M N O P Q R S Y U
w W X Y Z A B C D E F G H I J K L M N O P Q R S Y U V
x X Y Z A B C D E F G H I J K L M N O P Q R S Y U V W
y Y Z A B C D E F G H I J K L M N O P Q R S Y U V W X
z Z A B C D E F G H I J K L M N O P Q R S Y U V W X Y

Tabela 1 – A Tabula Recta, ou tabela de Vigenère.


17

1.3. Rotor – Máquina Criptográfica


Rotor é a denominação genérica dada às máquinas cifradoras que faziam
a criptografia de mensagens mecânica ou eletro-mecanicamente, através de
substituição polialfabética e podiam tratar períodos extremamente longos.
O princípio básico de funcionamento de uma máquina rotor é o da
permutação, explicado no item 2.2.3. O mecanismo cifrador consiste em um
conjunto de cilindros que giram independentes, em torno de um mesmo eixo,
através dos quais um impulso elétrico pode fluir.

Figura 3 – Representação esquemática de uma máquina rotor com três cilindros. A pinagem está
representada por números e a fiação pelas linhas coloridas

Cada cilindro tem 26 pinos de entrada e 26 de saída, ligados um a um por


um fio. Cada cilindro define uma substituição monoalfabética (STALLINGS, 1999,
p.43). A cada tecla pressionada o cilindro direito, que gira mais rapidamente, anda
uma posição, o que equivale a um deslocamento da cifra de substituição. A rotação
dos cilindros é idêntica aos odômetros nos painéis dos automóveis: a cada volta
completada pelo cilindro à direita, seu vizinho da esquerda anda uma posição,
provocando novo deslocamento de cifra. São 26 X 26 X 26 = 17.576 substituições
até que se volte à posição inicial.
18

É interessante salientar que o método usado nessa máquina está


intimamente ligado a uma das cifras mais largamente usadas até hoje: o Data
Encryption Standard (DES).
A Figura 3 e Figura 4 mostram esquematicamente a lógica envolvida.

Figura 4 – Configuração dos cilindros após ser teclada a primeira letra

O texto cifrado produzido era anotado e telegrafado para as tropas. Ao ser


recebido, a Enigma entra mais uma vez em ação para decifrar a mensagem,
fazendo o caminho inverso.
Durante a 2ª Guerra Mundial os alemães fizeram uso extensivo de uma
máquina desse tipo chamada de Enigma, vendida comercialmente na época.
Algumas adaptações e melhoramentos fizeram com ela ficasse muito poderosa e
eles sentiram-se muito confiantes, abusando da transmissão por rádio de
mensagens cifradas pela Enigma e cometendo alguns erros de procedimento. Os
ingleses se aproveitaram desses erros. Com um projeto ultra secreto, estabelecido
em Bletchley Park - ao norte de Londres - conseguiram decifrar o código dos
alemães e ficar em vantagem. Ali foi reunida a nata dos matemáticos, lógicos,
lingüistas, criptólogos, mais pessoal de apoio somando ao todo milhares de
pessoas, (CRUME, 2000, p. 796). Essa história nos dá uma idéia do quanto pode
valer uma informação e que sempre pode haver alguém disposto a pagar o preço,
por mais alto que seja.
19

Figura 5 - Máquina rotor Fialka, russa

Fonte: Perera, 2008

Figura 6 - Máquina rotor Enigma, alemã

Fonte: Perera, 2008


20

Figura 7 - Máquina rotor de bolso, HAGELIN, suíça. Totalmente mecânica, manufaturada pela firma
Hagelin, apresentava um nível de complexidade excepcional.

Fonte: Perera, 2008

Figura 8 - Máquina rotor americana M-209. Note-se a fita de papel onde podia ser impressa a
mensagem. Uma chave (abaixo à esquerda) fazia a troca de função de cifrar ou decifrar.

Fonte: Perera, 2008


21

CAPITULO 2 – CRIPTOGRAFIA NA ATUALIDADE

2.1. Visão Geral


Antes do uso de equipamentos eletrônicos de processamento de dados, a
segurança de informações era obtida por meios físicos, como os cofres ou arquivos
com cadeados. Com a disseminação do uso do computador e de redes de
comunicação de dados e a conseqüente digitalização dos documentos, surgiu a
necessidade de ferramentas eletrônicas com funções que permitissem a proteção
desses documentos. Entra em cena, então, a criptografia no seu atual estágio de
desenvolvimento, fazendo uso do conhecimento em áreas como “matemática,
teoria dos números, teoria da complexidade, teoria da informação, teoria da
probabilidade, álgebra abstrata, análise formal, dentre outros.” (REZENDE, 1998,
p.12). Rezende ainda a define como sendo “a arte de construir algoritmos
criptográficos seguros” (1998, p.28). Abaixo estão algumas dessas mencionadas
“Funções Comuns de Integridade da Informação” (STALLINGS, 1999):
• Identificação
• Autorização
• Licença ou Certificação
• Assinatura
• Testemunho ou notarização
• Colaboração
• Responsabilidade
• Recibo
• Certificação de Envio/Recebimento
• Endosso
• Acesso (ingresso)
• Validação
• Hora de ocorrência
• Autenticação de software/Arquivos
• Votação
• Propriedade
• Registro
• Aprovação/Desaprovação
22

• Privacidade (sigilo)
Essa lista é parcial, mas “a pesquisa e desenvolvimento em computação e
redes tem se focado em [...] serviços gerais de segurança que englobam as várias
funções requeridas de um recurso de segurança de informação” (STALLINGS,
1999). Uma classificação útil desses serviços pode ser:
• Confidencialidade/Privacidade: assegura que a informação num
computador ou trafegando por uma rede poderá ser vista (ou
acessível) somente pelas partes autorizadas, que ninguém poderá ler a
mensagem exceto o remetente/destinatário (STALLINGS, 1999, p.11,
tradução nossa);
• Autenticação: assegura que a origem de uma mensagem ou
documento eletrônico é corretamente identificada (STALLINGS, 1999,
p.11, tradução nossa) ou seja, o processo de provar a identidade de
alguém (KESSLER, 1995, p.2, tradução nossa);
• Integridade: assegura que somente as partes autorizadas são
capazes de alterar o documento/mensagem em um computador ou
uma informação trafegando em uma rede. Garante ao
receptor/destinatário que a mensagem foi recebida na íntegra, original,
sem qualquer alteração. Modificação, aqui, deve ser entendida como
escrita, alteração do texto ou status, deleção, criação, retardo ou
replicação de mensagens (STALLINGS, 1999, p.11, tradução nossa);
• Não-repúdio: mecanismo que assegura que o emissor realmente
enviou a mensagem e que o receptor realmente a recebeu (KESSLER,
1995, tradução nossa);
• Controle de acesso: limita e controla o acesso ao sistema hospedeiro
e aplicações, via links de comunicação, somente às entidades
previamente identificadas (STALLINGS, 1999, p.11, tradução nossa);
• Disponibilidade: requer que os sistemas computacionais estejam
disponíveis às partes autorizadas quando necessário (STALLINGS,
1999, p.12, tradução nossa);
A criptografia, assim, não só protege os dados de roubo ou modificações,
como pode ser usada para autenticação.
23

Em geral, três tipos de esquemas criptográficos são usados para atingir


esses objetivos:
• criptografia de chave secreta (ou simétrica),
• de chave pública (ou assimétrica), e
Esses itens serão abordados na seção 2.3

2.2. Criptoanálise
A criptoanálise é “[...] a arte de atacar e quebrar algoritmos criptográficos”
(REZENDE, 1998, p.28) ou processo de descobrir a mensagem criptografada, a
chave de encriptação ou ambos. Aquele que pratica a criptoanálise é chamado de
criptoanalista. Segundo Rezende (1998, p.28) a criptografia somada à criptoanálise
forma a Criptologia.
A estratégia usada pelo criptoanalista depende da quantidade de
informação que ele dispõe (STALLINGS, 1999, p.24, tradução nossa). Podem ser
conhecidos a chave, o algoritmo, o texto cifrado, o texto pleno, a língua ou tipo do
texto pleno. Quanto mais informação, mais fácil se torna a tarefa. O problema mais
difícil é quando se conhece apenas o texto cifrado, ou seja, nem mesmo o
algoritmo de encriptação é sabido (STALLINGS, 1999, p.24, tradução nossa).
Geralmente a técnica ou algoritmo é conhecida e um ataque por força bruta pode
ser tentado, mas se o espaço de chaves for muito grande isso fica impraticável.
A Tabela 2 resume os vários tipos de ataque baseados na porção de
informação possuída pelo analista.

Tipo de ataque O que é conhecido

Ao Texto cifrado • Algoritmo de encriptação


• Texto cifrado a ser decodificado

Texto pleno conhecido • Algoritmo de encriptação


• Texto cifrado a ser decodificado
• Um ou mais pares de texto pleno-Texto cifrado
produzidos com a chave secreta

Texto pleno escolhido • Algoritmo de encriptação


24

• Texto cifrado a ser decodificado


• Texto pleno feito pelo analista juntamente com o texto
cifrado correspondente gerado com a chave secreta

Texto cifrado escolhido • Algoritmo de encriptação


• Texto cifrado a ser decodificado
• Texto cifrado gerado com a chave secreta e seu
correspondente texto pleno

Texto escolhido • Algoritmo de encriptação


• Texto cifrado a ser decodificado
• Texto pleno feito pelo analista juntamente com o texto
cifrado correspondente gerado com a chave secreta
• Texto cifrado gerado com a chave secreta e seu
correspondente texto pleno

Tabela 2 - Tipos de ataque à mensagens cifradas.

Fonte: STALLINGS, 1999, p.24

Se o tipo de texto pleno é conhecido (a língua em que está escrito, por


exemplo), uma abordagem comumente adotada é a estatística, que analisa a
freqüência das letras. Como visto no Gráfico 1, os idiomas tem freqüências
características de ocorrência de letras. Um analista que saiba o idioma do texto
original, pode fazer inferências baseado na freqüência das letras no texto cifrado.
25

Freqüência das letras no idioma Inglês

14
12,75

12

10 9,25
8,5
7,75 7,75 7,5
8 7,25

6
6
4,25
3,5 3,5 3,75
4 3 3
2,75 2,75
2 2,25
2 1,25 1,5 1,5

0,25 0,5 0,5 0,5 0,25


0
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

Gráfico 1 - Freqüência das letras na língua inglesa.

Fonte: Stallings, 1999

2.3. Operações básicas


Os sistemas criptográficos são geralmente classificados segundo três
dimensões independentes (STALLINGS, 1999, p.23):
1. O tipo de operação: substituição ou transposição.
2. O número do chaves. Se a chave é única (o emissor e o receptor
usam a mesma) o sistema é dito simétrico, de chave única, de
chave secreta ou convencional.
3. O modo como o texto pleno é processado. Por blocos, onde
cada bloco (pleno) que entra gera um bloco (cifrado) na saída; ou
por fluxo contínuo, onde os elementos entram continuamente,
gerando na saída um de cada vez.
Todas as técnicas usam as duas operações básicas feitas sobre a
mensagem: a substituição e a transposição.

Substituição
Elementos do texto pleno (bits, letras, grupos de bits ou de letras) são
trocados por outros (letras, números ou símbolos). Se o texto pleno for visto como
uma seqüência de bits, então a substituição é feito sobre amostras, ou trechos, de
bits (STALLINGS, 1999, p.29).
26

As cifra de substituição monoalfabética é aquela em que cada caráter do


texto pleno é trocado pelo seu correspondente no texto cifrado (SCHNEIER, 1996,
p.10). É a mais simples de todas.
A cifra de substituição homofônica difere da monoalfabética por cada
caráter do texto claro poder ser mapeado, ou trocado, por um elemento de um
conjunto de caracteres (SCHNEIER, 1996, p.10).
A cifra de substituição polialfabética é feita de múltiplas substituições
simples (ver a Cifra de Vigenère). Todas elas tem em comum duas características
(STALLINGS, 1999, p.38):
1 – É usado um conjunto de regras de substituição monoalfabéticas
relacionadas.
2 – Uma chave determina qual dessas regras deve ser usada em
determinada transformação.

Transposição
Na transposição os elementos do texto pleno são rearranjados e sofrem
algum tipo de permutação.
O tipo mais simples de transposição é conhecido como Cerca de Trem:

Texto claro: fatecitaquaquecetuba

Permutação: F T C T Q A U C T B
A E I A U Q E E U A

Texto cifrado: FTCTQAUCTBAEIAUQEEUA

Um esquema mais complexo seria escrever a mensagem em um retângula,


linha a linha, e ler coluna a coluna. A chave seria a ordem de leitura das colunas:

Chave: 3 1 5 4 2
f a t e c
i t a q u
a q u e c
e t u b a

Texto cifrado: atqtcucafiaeeqebtauu

Se repetirmos o processo usando o resultado obtido teremos um nível


maior de confusão, dificultando mais a decifração.
27

2.4. Técnicas de Encriptação


Para efeito de estudo, seguiremos aqui a abordagem de Willian Stallings,
que faz uma distinção entre Criptografia Convencional e de Chave-Pública e,
dentro das convencionais, subdivide em técnicas Clássicas e Modernas.

2.4.1. Encriptação Convencional


A encriptação convencional, também conhecida como Simétrica ou de
chave única, foi o tipo usado até o surgimento e desenvolvimento da encriptação
de chave pública (STALLINGS, 1999, p.21, tradução nossa). A Figura 9 demonstra
esquematicamente o funcionamento e uso da chave simétrica que serve tanto para
cifrar quanto para decifrar um documento.

Figura 9 - esquema de funcionamento da criptografia de chave simétrica

Para Stallings, “O principal problema de segurança no uso deste tipo de


encriptação é a manutenção do sigilo da chave” (1999, p.22, tradução nossa). Essa
chave pode ser escolhida por qualquer uma das partes envolvidas, ou ainda por
um terceiro, mas qualquer caso ela deverá ser transmitida ou distribuída aos
participantes em algum momento, através de algum canal. Aí temos um ponto fraco
de acordo com Oliveira, que diz “de um modo geral, os sistemas criptográficos de
chave privada, [...] apresentam o incoveniente de necessitarem de algum
mecanismo confiável para distribuir as chaves criptográficas” (2004, p.13).
A Distribuição de Chaves Quânticas (ver Criptografia Quântica) pode ser a
solução para esse problema.

2.4.1.1. Técnicas Clássicas


As mais importantes são:
• Cifra de César (ver 1.1)
• Cifra de Vigenère (ver 1.2)
28

• Cifra Playfair. É a mais conhecida cifra de múltiplas letras. Usa uma


matriz 5 x 5 de letras construída usando uma palavra chave (senha)
(STALLINGS, 1998, P.33).
• Cifra de Hill. De substituição, e múltiplas letras, foi desenvolvida pelo
matemático Lester Hill em 1929. As substituições são determinadas
por equações lineares.
• Máquinas rotor (ver 1.3)

2.4.1.2. Técnicas Modernas


A seguir relacionam-se os algoritmos simétricos mais conhecidos e usados
hoje em dia

DES
É sem dúvida o mais famoso e difundido. São as iniciais de Data
Encryption Standard. Criado pela IBM nos anos 70, se mantém até hoje como um
padrão mundial. Foi adotado como padrão pelo American National Standards
Institute (ANSI) em 1981. É um algoritmo simétrico de cifragem de blocos. Trabalha
com blocos de 64 bits fazendo substituições seguidas permutações, em 16
passadas (SCHNEIER, 1996, p.265, tradução nossa).

Blowfish
Desenvolvido por Bruce Schneier, para ser rápido, compacto, simples e de
segurança variável. A chave pode ter até 448 bits de tamanho, ele precisa de
menos de 5Kbytes de memória para execução e roda em processadores de 32
bits. É otimizado para aplicações onde não haja troca freqüente de chave.
(SCHNEIER, 1996, p.336, tradução nossa)

RC5
É um algoritmo simétrico de cifragem de blocos inventado por Ron Rivest.
O tamanho do bloco, tamanho da chave e o número de passadas pode ser
parametrizado. Usa três operações: XOR, adição e rotação. Rivest recomenda pelo
menos 12 passadas para ter segurança completa. (SCHNEIER, 1996, p.344,
tradução nossa)
29

CAST
Projetado no Canadá por Carlisle Adams e Stafford Tavares. Usa bloco fixo
de 64 bits e chave de 64 bits. Não há maneira de quebra-lo a não ser por força
bruta (SCHNEIER, 1996, p.334, tradução nossa).

2.4.2. Encriptação Assimétrica


Nos sistemas de Chave Pública, ou assimétrica, uma das chaves de um
par de chaves criptográficas é divulgada pelo seu dono e usada para verificar a
assinatura digital criada com a chave privada correspondente. A outra permanece
privada, secreta. Dependendo do algoritmo, a chave pública também é usada para
cifrar mensagens ou arquivos que possam, então, ser decifrados com a chave
privada correspondente.

Figura 10 - Esquema de funcionamento da criptografia de chave assimétrica. Uma das chaves é


mantida em segredo enquanto a outra é distribuída

A criptografia de chave pública começou realmente com a publicação do


artigo New Directions in Cryptography2, por Whitfield Diffie e Martin Hellman em
1976 (FERGUSON; SCHNEIER, 2003, P.207). Desde essa data, muitos algoritmos
apareceram mas somente alguns permaneceram. Dentre estes últimos, pode-se
citar:

RSA
É o mais popular e de longe o mais fácil de entender e implementar.
Inventado por Ron Rivest, Adi Shamir e Leonard Adleman, tem resistido a anos de
criptoanálise. Sua segurança vem da dificuldade de fatoração de números grandes.
As chaves públicas e privadas são função de um par de grandes (de 100 a 200
dígitos, ou mais até) números primos (SCHNEIER, 1996, p.466, tradução nossa).

2
Novas Direções na Criptografia
30

RABIN
Deve sua segurança à dificuldade de encontrar raízes quadradas módulo
um número composto. Este problema é equivalente à fatoração (SCHNEIER,
1996, p.474, tradução nossa)

ElGamal
Pode ser usado tanto para assinatura digital quanto para encriptação. Sua
segurança reside na dificuldade de calcular logaritmos discretos em um campo
finito (SCHNEIER, 1996, p.476, tradução nossa).

2.5. Ataques
A criptografia existe porque se pressupõe que existam atacantes, ou
pessoas interessadas na informação que se quer esconder. Os ataques podem ser
legais, como agentes de polícia fazendo investigação, ou ilegais, como pessoas
querendo tirar vantagens ou roubar. A seguir relacionamos alguns tipos desses
atacantes ilegais.

2.5.1. Perfil dos Atacantes


Os atacantes à segurança da informação podem ser agrupados em três
categorias gerais:
• Hacker é uma pessoa totalmente imersa em TI e nos programas,
que gosta de examinar o código dos SO e de outros programas para
descobrir como funcionam. Usam seu profundo conhecimento para
propósitos ilícitos como obter acesso não autorizado aos sistemas
computacionais alterando programas e dados, roubar informações,
espionar, instalar backdoors, vírus e trojans (CHIRILLO, 2001,
p.135, tradução nossa).
• Cracker é uma pessoa que contorna ou vence as medidas de
segurança de uma rede ou sistema computacional para obter
acesso não autorizado. Normalmente seu objetivo é a obtenção
ilegal de informação para usar ilegalmente os recursos
computacionais. Porém, a meta principal da maioria é a invasão dos
sistemas (CHIRILLO, 2001, p.135, tradução nossa).
31

• Phreak é uma pessoa que invade redes de telefonia ou sistemas de


telecomunicação seguras (CRUME, 2000, p.25, tradução nossa).

2.5.2. Segurança
A seguir apresentamos alguns dados tabulados que nos mostram algumas
relações entre segurança e custo para mantê-la ou quebrá-la.

Tamanho
Tempo e custo por chave recuperada de chave
Tipo de necessário
Orçamento Tool
atacante para
40 bits 56 bits proteção
até 1995
Tempo livre
Hacker Pequeno do 1 semana impraticável 45
comum computador
$400 FPGA 5 horas ($0,08) 38 anos ($5.000) 50
Empresa
$10,000 FPGA 12 min ($0,08) 18 meses ($5.000) 55
pequena

Empresa FPGA 24 s ($0.08) 19 dias ($5.000)


$300K 60
média ASIC 0.18 s ($0,001) 3 horas ($38)

Empresa FPGA 7 s ($0.08) 13 horas ($5.000) 70


$10M
grande ASIC 0,005 s ($0.001) 6 min ($38)
Agência de
$300M ASIC 0,0002 s ($0.001) 12 s ($38) 75
inteligência

Tabela 3 - Custo de hardware x Tempo médio estimados, para quebra por força bruta de algoritmos
6
simétricos - (10 cifragens/seg).

Fonte: Kessler, 1998, p.12.

Custo do Comprimento útil da chave secreta


Hardware 40 bits 56 bits 64 bits 80 bits 112 bits 128 bits
US$100 mil 2 segundos 35 h 1 ano 7x104 anos 1014 anos 1019 anos
1 milhão 0.2 s 3.5 h 37 dias 7x103 anos 1013 anos 1018 anos
10 milhões 0.02 s 21 min 4 dias 700 anos 1012 anos 1017 anos
100 milhões 2 ms 2 min 9h 70 anos 1011 anos 1016 anos
1 bilhão 0.2 ms 13 s 1h 7 anos 1010 anos 1015 anos
10 bilhões 0.02 ms 1s 5.4 min 245 dias 109 anos 1014 anos
100 bilhões 2 µs 0.1 s 32 s 24 dias 108 anos 1013 anos
1 trilhão 0.2 µs 0.01 s 3s 2.4 dias 107 anos 1012 anos
10 trilhões 0.02 µs 1 ms 0.3 s 6h 106 anos 1011 anos

Tabela 4 - Comparação entre tamanhos de chave.


32

Fonte: REZENDE, 1998, p.73.

Comprimento de chaves públicas para proteção contra


Ano Indivíduos Grandes corporações Estados
1995 405 - 768 542 - 1280 1399 – 1536
2000 422 - 1024 572 - 1280 1512 – 1536
2005 439 - 1280 602 - 1536 1628 – 2048
2010 455 - 1280 631 - 1536 1754 – 2048
2015 472 - 1536 661 - 2048 1884 - 2048

Tabela 5 - Estimativas para comprimento seguro de chaves públicas, em bits.

Fonte: REZENDE, 1998, p.73.


33

CAPÍTULO 3 - TENDÊNCIAS

2.1. Criptografia de Curvas Elípticas


Curvas elípticas não são elipses. São assim chamadas por serem descritas
por equações cúbicas, semelhantes às usadas para calcular a circunferência de
uma elipse. A equação geral tem a forma

y 2 + axy +by = x 3 + cx 2 + dx + e

onde a, b, c, d e e são números reais (STALLINGS, 1999, p. 193, tradução


nossa).
Elas tem características que as tornam interessantes pois podem
proporcionar sistemas rápidos para a criptografia assimétrica com tamanhos de
chave pequenos. Além disso, muitos algoritmos já existentes podem ser
implementados curvas elípticas em campos finitos.

Figura 11 – Representação gráfica da função básica dos algoritmos de Criptografia de Curvas


Elípticas.

Fonte: Kessler, 1998,


34

2.2. Criptografia Quântica


Para resolver o problema da segurança na distribuição das chaves
“sistemas criptográficos baseados na codificação de informação em estados
quânticos [...] vêm sendo propostos como uma alternativa à criptografia clássica”
(OLIVEIRA, 2004, p.4). Estes sistemas fundamentam-se nas leis invioláveis da
Física e, ao menos teoricamente, oferecem garantia de segurança total (OLIVEIRA,
2004, p.4). O princípio básico é o seguinte; não há uma troca real de chaves entre
as partes. Cada uma delas troca fótons que, quando combinados podem formar a
chave.
Esse sistema se baseia numa característica muito interessante do fóton: ao
ser observado ele muda irreversivelmente de estado. Dessa maneira ele denuncia
qualquer tentativa de espionagem.
35

CONCLUSÃO

Como vimos, a segurança que as tecnologias criptográficas atuais podem


nos dar é relativa. Não há, ainda, sistema completa e absolutamente seguro nem
pode-se garantir que haverá. “Não se pode especificar um sistema seguro sem
conhecimento sobre contra o que, e de quem, se deseja protegê-lo” (REZENDE,
1998, p.12). Os modelos quânticos são uma promessa de segurança e sigilo
absolutos, mas incipientes ainda.
Uma regra geral pode ser admitida: quanto mais valor tiver a informação,
mais deve ser gasto em protege-la. Os principais autores recomendam que
excesso de cautela e proteção não é demais. Temos então que aquele dito popular
brasileiro que diz que “cautela e caldo de galinha não fazem mal a ninguém”
continua, mesmo nesses tempos de tecnologias e conhecimento avançados, sendo
uma verdade insofismável.
36

ANEXOS

ANEXO I – EXEMPLO DE ALGORÍTMO CRIPTOGRÁFICO


Exraído de REZENDE (1998, p.12)
Implementação em C da cifra de Vigenère onde
f(k,m) = k XOR m

/* uso:cripto chave arquivo_entrada arquivo_saida */


void main (int argc, char *argv[])
{
FILE *entrada, *saida;
char *key;
int c;
/*programa*/
if ((key = argv[1]) && *key!=’\0’) {
if ((entrada = fopen(argv[2],”rb”))!=NULL) {
if ((saida = fopen(argv[3],”wb”))!=NULL) {
while((c = getc(entrada))!=EOF) {
if (!*key) key = argv[1];
c ^= *(key++); /*XOR*/
putc(c,saida);
}
fclose(saida);
}
fclose(entrada);
}
}
}
37

GLOSSÁRIO

Algoritmo Série de comandos utilizados para completar uma tarefa,


procedimento ou fórmula na solução de um problema.
Assinatura Digital Código anexado ou logicamente associado a uma
mensagem eletrônica que permite de forma única e exclusiva a comprovação da
autoria de um determinado conjunto de dados (um arquivo, um email ou uma
transação). A assinatura digital comprova que a pessoa criou ou concorda com um
documento assinado digitalmente, como a assinatura de próprio punho comprova a
autoria de um documento escrito. A verificação da origem do dado é feita com a
chave pública do remetente.
Autenticação Processo de confirmação da identidade de uma pessoa
física (Autenticação de um Individuo) ou jurídica (Autenticação da Identidade de
uma Organização) através das documentações apresentadas pelo solicitante e da
confirmação dos dados da solicitação. Executado por Agentes de Registro, como
parte do processo de aprovação de uma solicitação de certificado digital.
Autenticidade Qualidade de um documento ser o que diz ser,
independente de se tratar de minuta, original ou cópia e que é livre de adulterações
ou qualquer outro tipo de corrupção.
Bit a menor porção de informação em um computador, representando o
número zero ou um. São os dois algarismos do sistema binário de numeração.
Byte um conjunto de 8 bits
Certificação Digital É a atividade de reconhecimento em meio eletrônico
que se caracteriza pelo estabelecimento de uma relação única, exclusiva e
intransferível entre uma chave de criptografia e uma pessoa física, jurídica,
máquina ou aplicação.
Certificado digital É um conjunto de dados de computador, gerados por
uma Autoridade Certificadora, em observância à Recomendação Internacional
ITUT X.509, que se destina a registrar, de forma única, exclusiva e intransferível, a
38

relação existente entre uma chave de criptografia e uma pessoa física, jurídica,
máquina ou aplicação.
Chave Privada ou Simétrica Uma das chaves de um par de chaves
criptográficas (a outra é uma chave pública) em um sistema de criptografia
assimétrica. É mantida secreta pelo seu dono (detentor de um certificado digital) e
usada para criar assinaturas digitais e para decifrar mensagens ou arquivos
cifrados com a chave pública correspondente.
Cifrar É o processo de transformação de dados ou informação para uma
forma ininteligível usando um algoritmo criptográfico e uma chave criptográfica. Os
dados não podem ser recuperados sem usar o processo inverso de decifração. ii.
Processo de conversação de dados em "código ilegível" de forma a impedir que
pessoas não autorizadas tenham acesso à informação.
Confidencialidade Propriedade de certos dados ou informações que não
podem ser disponibilizadas ou divulgadas sem autorização para pessoas,
entidades ou processos. Assegurar a confidencialidade de documentos é
assegurar que apenas pessoas autorizadas tenham acesso à informação.
Criptografia . Disciplina de criptologia que trata dos princípios, dos meios
e dos métodos de transformação de documentos com o objetivo de mascarar seu
conteúdo, impedir modificações, uso não autorizado e dar segurança à confidência
e autenticação de dados. ii. Ciência que estuda os princípios, meios e métodos
para tornar ininteligíveis as informações, através de um processo de cifragem, e
para restaurar informações cifradas para sua forma original, inteligível, através de
um processo de decifragem. A criptografia também se preocupa com as técnicas
de criptoanálise, que dizem respeito à formas de recuperar aquela informação sem
se ter os parâmetros completos para a decifragem.
Dados Informações representadas em forma digital, incluindo voz, texto,
facsímile, imagens e vídeo.
Decifrar Processo que transforma dados previamente cifrados e
ininteligíveis de volta à sua forma legível.
Disponibilidade É a razão entre o tempo durante o qual o sistema está
acessível e operacional e o tempo decorrido.
Documento Eletrônico Unidade de registro de informações, acessível por
meio de um equipamento eletrônico.
Encriptar Ver Cifrar
39

Hash É o resultado da ação de algoritmos que fazem o mapeamento de


uma seqüência de bits de tamanho arbitrário para uma seqüência de bits de
tamanho fixo menor conhecido como resultado hash de forma que seja muito difícil
encontrar duas mensagens produzindo o mesmo resultado hash (resistência à
colisão) e que o processo reverso também não seja realizável (dado um hash, não
é possível recuperar a mensagem que o gerou).
Integridade Garantia oferecida ao usuário de que documento eletrônico,
mensagem ou conjunto de dados não foi alterada, nem intencionalmente, nem
acidentalmente por pessoas não autorizadas durante sua transferência entre
sistemas ou computadores.
Módulo Criptográfico Software ou hardware que fornece serviços
criptográficos, como cifração, decifração, geração de chaves, geração de números
aleatórios.
Não-repúdio, ou não recusa, é a garantia que o emissor de uma
mensagem ou a pessoa que executou determinada transação de forma eletrônica,
não poderá posteriormente negar sua autoria, visto que somente aquela chave
privada poderia ter gerado aquela assinatura digital. Deste modo, a menos de um
uso indevido do certificado digital, fato que não exime de responsabilidade, o autor
não pode negar a autoria da transação. Transações digitais estão sujeitas a fraude,
quando sistemas de computador são acessados indevidamente ou infectados por
cavalos de tróia ou vírus. Assim os participantes podem, potencialmente, alegar
fraude para repudiar uma transação.
Redes Um grupo de computadores interconectados, controlados
individualmente, junto com o hardware e o software usado para conectálos. Uma
rede permite que usuários compartilhem dados e dispositivos periféricos como
impressoras e mídia de armazenamento, troquem informações por meio do correio
eletrônico e assim por diante.
Software Programa de computador que utiliza uma seqüência lógica de
instruções que o computador é capaz de executar para obter um resultado
específico. ii. Conjunto de programas e instruções que operam o computador. São
dois os tipos de software de computador: software de sistema, o qual engloba
operações básicas necessárias para operar o hardware (por exemplo, sistema
operacional, utilitários de comunicação, monitores de performance, editores,
compiladores etc.) e software aplicativo, o qual executa tarefas específicas para
40

auxiliar os usuários em suas atividades. iii. Programas e componentes de dados


que podem ser dinamicamente modificados durante a execução, usualmente
armazenados em mídias regraváveis.
Texto claro (ver texto pleno).
Texto pleno é o texto na forma legível, decifrado.
XOR é operador lógico OU Exclusivo.
41

BIBLIOGRAFIA

CHIRILLO, John. Hack Attacks Revealed. New York: John Wiley & Sons, Inc,
2001.

CRUME, Jeff. What Hackers don’t want you to know.... Harlow: Addison-Wesley,
2000.

ENIGMA In Action. Direção: Tom Perera. Intérpretes: Groβdeutschland. son.,


color., arquivo MPEG video (14 min). Audio em inglês.

FERGUSON, Niels; SCHNEIER, Bruce. Practical Cryptography. Indianapolis:


Wiley Publishing, Inc, 2003.

GALBRAITH, Steven. Elliptic Curve Cryptography. Disponível em: <http://www


.isg.rhul.ac.uk/~sdg/ecc.html>. Acesso em: 10 set 2008 00:53:05.

GLAVE, James. Is Strong Crypto a Human Right?. Disponível em: <http://www.


wired.com/politics/law/news/1998/12/16768>. Acessado em: 25/10/2008.

ICP-Brasil. GLOSSÁRIO ICPBRASIL, Versão 1.2 03.10.2007

KAHN, David. The Codebreakers, The Story of Secret Writing. Abreviada pelo
autor. Nova Yorque: The Macmillan Company, 1967.

KESSLER, Gary C. An Overview of Cryptography. Disponível em: <www.gary


kessler.net/library/crypto.html>. Acesso em: 10 set 2008.

OLIVEIRA, Anderson Gomes de. CRIPTOGRAFIA USANDO PROTOCOLOS


QUÂNTICOS. 2004. 110f. Monografia (Pós-graduação em Administração de Redes
Linux). Ciência da Computação, Universidade Federal de Lavras, Lavras.

PERERA, Tom. ENIGMA CIPHER MACHINES, FIALKA, NEMA, OTHER CIPHER


MACHINES, ANTIQUE COMPUTERS AND CALCULATORS. Disponível em:
<http://w1tp.com/enigma/imcpue.htm>. Acessado em: 22/11/2008 8:11:38.

REZENDE, Pedro A. D. Criptografia e Segurança na Informática. UnB -


Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da
Computação.

STALLINGS, Willian. Network and Internetwork Security. Upper Saddle River:


Prentice Hall, 1995.
42

STALLINGS, Willian. Cryptography and Network Security, Principles and


Practice. 2ed. Upper Saddle River: Prentice Hall, 1995.

SCHNEIER, Bruce. Applied Cryptography Second Edition: protocols,


algorithms, and source code in C. New York: John Wiley & Sons, Inc, 1996.

TAKAGI, Nilton Hideki. Fundamentos Matemáticos da Criptografia Quântica.


2003. 80f. Monografia. (Bacharelado em Ciência da Computação). Universidade
Federal de Mato Grosso, Cuiabá.