A criptografia como meio de manter o sigilo e garantir autenticidade na era virtual

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

description

Trabalho sobre criptografia, na forma de TCC, feito por um grupo de alunos do 2o semestre do curso Informática para Gestão de Negócios da Fatec de Itaquaquecetuba, SP. 2008

Transcript of A criptografia como meio de manter o sigilo e garantir autenticidade na era virtual

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

ITAQUAQUECETUBA – SP – 2008

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.

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

7,25

1,25

3,54,25

12,75

3

2

3,5

7,75

0,25 0,5

3,75

2,75

7,75 7,5

2,75

0,5

8,5

6

9,25

3

1,5 1,5

0,5

2,25

0,25

0

2

4

6

8

10

12

14

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.

Tipo de atacante

Orçamento Tool

Tempo e custo por chave recuperada Tamanho de chave necessário

para proteção até 1995

40 bits 56 bits

Hacker comum

Pequeno Tempo livre

do computador

1 semana impraticável 45

$400 FPGA 5 horas ($0,08) 38 anos ($5.000) 50

Empresa pequena

$10,000 FPGA 12 min ($0,08) 18 meses ($5.000) 55

Empresa média

$300K FPGA 24 s ($0.08) 19 dias ($5.000)

60 ASIC 0.18 s ($0,001) 3 horas ($38)

Empresa grande

$10M FPGA 7 s ($0.08) 13 horas ($5.000) 70

ASIC 0,005 s ($0.001) 6 min ($38)

Agência de inteligência

$300M ASIC 0,0002 s ($0.001) 12 s ($38) 75

Tabela 3 - Custo de hardware x Tempo médio estimados, para quebra por força bruta de algoritmos

simétricos - (106 cifragens/seg).

Fonte: Kessler, 1998, p.12.

Custo do Hardware

Comprimento útil da chave secreta

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 9 h 70 anos 1011 anos 1016 anos

1 bilhão 0.2 ms 13 s 1 h 7 anos 1010 anos 1015 anos

10 bilhões 0.02 ms 1 s 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 3 s 2.4 dias 107 anos 1012 anos

10 trilhões 0.02 µs 1 ms 0.3 s 6 h 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á.