13.04.2013 Views

Slides do Módulo de Criptografia - Si.lopesgazzani.com.br

Slides do Módulo de Criptografia - Si.lopesgazzani.com.br

Slides do Módulo de Criptografia - Si.lopesgazzani.com.br

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1<<strong>br</strong> />

3<<strong>br</strong> />

Especialização Especialização Especialização Especialização em em Segurança Segurança da da da da Informação<<strong>br</strong> />

Informação<<strong>br</strong> />

<strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong><<strong>br</strong> />

<strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong><<strong>br</strong> />

Mauro Hemerly ( (Hämmerli<<strong>br</strong> />

Hämmerli) ) Gazzani<<strong>br</strong> />

i-1/2: 1/2: 1/2: mauro.hemerly@gmail.<strong>com</strong><<strong>br</strong> />

HP: HP: si.<strong>lopesgazzani</strong>.<strong>com</strong>.<strong>br</strong>/<strong>do</strong>centes/mauro<<strong>br</strong> />

HP HP da da disciplina: disciplina: si.<strong>lopesgazzani</strong>.<strong>com</strong>.<strong>br</strong>/<strong>do</strong>centes/mauro /crypto<<strong>br</strong> />

Recursos Recursos Didáticos<<strong>br</strong> />

Didáticos<<strong>br</strong> />

Quadro <strong>br</strong>anco.<<strong>br</strong> />

Datashow.<<strong>br</strong> />

Outu<strong>br</strong>o <strong>de</strong> 2011<<strong>br</strong> />

Programas <strong>de</strong> <strong>Si</strong>mulação (Cryptool, GnuPG, HashCalc, etc).<<strong>br</strong> />

Conteú<strong>do</strong> Conteú<strong>do</strong> Programático<<strong>br</strong> />

Programático<<strong>br</strong> />

Introdução<<strong>br</strong> />

Criptologia<<strong>br</strong> />

<strong>Criptografia</strong><<strong>br</strong> />

Criptoanálise<<strong>br</strong> />

Algoritmos <strong>Si</strong>métricos<<strong>br</strong> />

2<<strong>br</strong> />

Técnicas clássicas<<strong>br</strong> />

Cifras <strong>de</strong> Bloco<<strong>br</strong> />

Cifras <strong>de</strong> Fluxo<<strong>br</strong> />

Algoritmos Assimétricos (RSA)<<strong>br</strong> />

Algoritmos Hash<<strong>br</strong> />

Message Autentication Co<strong>de</strong>s (MAC)<<strong>br</strong> />

Assinaturas Digitais<<strong>br</strong> />

PGP ( (Pretty Pretty Good Privacy) Privacy<<strong>br</strong> />

Esteganografia<<strong>br</strong> />

Avaliação<<strong>br</strong> />

Avaliação<<strong>br</strong> />

Contínua - trabalhos em laboratório (60%)<<strong>br</strong> />

Freqüências nas aulas (10%)<<strong>br</strong> />

Avaliação final (30%)<<strong>br</strong> />

4<<strong>br</strong> />

1


Referências Referências Bibliográficas<<strong>br</strong> />

Bibliográficas<<strong>br</strong> />

5<<strong>br</strong> />

Referências<<strong>br</strong> />

Referências<<strong>br</strong> />

7<<strong>br</strong> />

Referências<<strong>br</strong> />

Referências<<strong>br</strong> />

Books by Bruce Schneier<<strong>br</strong> />

Bruce Schneier’s Homepage<<strong>br</strong> />

6<<strong>br</strong> />

Referências<<strong>br</strong> />

Referências<<strong>br</strong> />

Referências<<strong>br</strong> />

Referências<<strong>br</strong> />

Referências<<strong>br</strong> />

8<<strong>br</strong> />

http://www.nsa.gov/<<strong>br</strong> />

2


Referências<<strong>br</strong> />

Referências<<strong>br</strong> />

9<<strong>br</strong> />

Referências<<strong>br</strong> />

Referências<<strong>br</strong> />

11<<strong>br</strong> />

http://www.philzimmermann.<strong>com</strong>/EN/background/in<strong>de</strong>x.html<<strong>br</strong> />

Ferramenta <strong>de</strong> <strong>Criptografia</strong> Assimétrica<<strong>br</strong> />

Referências<<strong>br</strong> />

Referências<<strong>br</strong> />

10<<strong>br</strong> />

Bibliografia<<strong>br</strong> />

Bibliografia<<strong>br</strong> />

12<<strong>br</strong> />

Ferramentas <strong>de</strong> Resumo <strong>de</strong> Mensagem<<strong>br</strong> />

http://www.slavasoft.<strong>com</strong>/hashcalc/in<strong>de</strong>x.htm<<strong>br</strong> />

<strong>Criptografia</strong> e Segurança<<strong>br</strong> />

Segurança-O O Guia Oficial da RSA, Burnett,S. &<<strong>br</strong> />

Paine, S., 3ª Edição, Editora Campus, 2002.<<strong>br</strong> />

PGP: Pretty Good Privacy Privacy, , Garfinkel, S., O’Reilly & Associates,<<strong>br</strong> />

Inc., 1995.<<strong>br</strong> />

Cryptography and Network Security Security-Principles Principles and Practices,<<strong>br</strong> />

Stallings, W. W., , 3th Edition, Prentice Hall, 2003.<<strong>br</strong> />

Apostilas e Manuais Técnicos <strong>de</strong> Autores/Fa<strong>br</strong>icantes<<strong>br</strong> />

Diversos.<<strong>br</strong> />

3


Introdução<<strong>br</strong> />

Introdução<<strong>br</strong> />

13<<strong>br</strong> />

15<<strong>br</strong> />

Pré Pré-requisitos requisitos da Criptologia<<strong>br</strong> />

<strong>Criptografia</strong><<strong>br</strong> />

<strong>Criptografia</strong><<strong>br</strong> />

<strong>Criptografia</strong><<strong>br</strong> />

<strong>Criptografia</strong><<strong>br</strong> />

Teoria <strong>de</strong> Números<<strong>br</strong> />

Matemática Discreta<<strong>br</strong> />

Teoria da Informação<<strong>br</strong> />

Teoria <strong>de</strong> Probabilida<strong>de</strong><<strong>br</strong> />

Complexida<strong>de</strong> Computacional<<strong>br</strong> />

Processamento <strong>de</strong> <strong>Si</strong>nais<<strong>br</strong> />

CRIPTOLOGIA<<strong>br</strong> />

CRIPTOGRAFIA CRIPTOANÁLISE<<strong>br</strong> />

CÓDIGOS CIFRAS ESTEGANOGRAFIA<<strong>br</strong> />

Transposição Substituição<<strong>br</strong> />

Monoalfabética Polialfabética<<strong>br</strong> />

Introdução<<strong>br</strong> />

Introdução<<strong>br</strong> />

Introdução<<strong>br</strong> />

Introdução Introdução<<strong>br</strong> />

Introdução<<strong>br</strong> />

Introdução - Conceitos<<strong>br</strong> />

Conceitos<<strong>br</strong> />

Criptologia<<strong>br</strong> />

Consiste no estu<strong>do</strong> das <strong>com</strong>unicações seguras;<<strong>br</strong> />

Disciplina que reúne os conhecimentos e técnicas necessários à<<strong>br</strong> />

criptoanálise e à criptografia (<strong>Criptografia</strong> + Criptoanálise).<<strong>br</strong> />

<strong>Criptografia</strong><<strong>br</strong> />

Conjunto <strong>de</strong> princípios e técnicas empregada para cifrar uma<<strong>br</strong> />

mensagem a fim <strong>de</strong> torná-la secreta para os que não tenham acesso<<strong>br</strong> />

às convenções <strong>com</strong>binadas;<<strong>br</strong> />

Trata <strong>do</strong> <strong>de</strong>senvolvimento <strong>de</strong> algoritmos para criptografar e<<strong>br</strong> />

<strong>de</strong>scriptografar uma mensagem.<<strong>br</strong> />

Criptoanálise<<strong>br</strong> />

Conjunto <strong>de</strong> técnicas e méto<strong>do</strong>s para a <strong>de</strong>cifração <strong>de</strong> uma mensagem<<strong>br</strong> />

escrita <strong>de</strong> sistema <strong>de</strong>sconheci<strong>do</strong> (Engenharia reversa da <strong>Criptografia</strong>)<<strong>br</strong> />

14<<strong>br</strong> />

<strong>Criptografia</strong><<strong>br</strong> />

<strong>Criptografia</strong><<strong>br</strong> />

Escrever secretamente, ou seja, por meio <strong>de</strong><<strong>br</strong> />

códigos, sinais ou cifras.<<strong>br</strong> />

16<<strong>br</strong> />

Componentes básicos para o<<strong>br</strong> />

ciframento <strong>de</strong> uma mensagem:<<strong>br</strong> />

Algoritmo<<strong>br</strong> />

Chave<<strong>br</strong> />

Tem si<strong>do</strong> usada há décadas...<<strong>br</strong> />

Área Militar<<strong>br</strong> />

Órgãos Governamentais<<strong>br</strong> />

Instituições Financeiras<<strong>br</strong> />

A criptografia po<strong>de</strong> ser <strong>Si</strong>métrica ou Assimétrica.<<strong>br</strong> />

4


Mo<strong>de</strong>lo Mo<strong>de</strong>lo <strong>Si</strong>mplifica<strong>do</strong> <strong>Si</strong>mplifica<strong>do</strong> <strong>Si</strong>mplifica<strong>do</strong> <strong>Si</strong>mplifica<strong>do</strong> <strong>Si</strong>mplifica<strong>do</strong> <strong>de</strong> <strong>de</strong> <strong>de</strong> <strong>de</strong> <strong>de</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Si</strong>métrica<<strong>br</strong> />

<strong>Si</strong>métrica<<strong>br</strong> />

Texto Puro (Plaintext<<strong>br</strong> />

(Plaintext):a mensagem original que po<strong>de</strong> ser entendida pelas partes<<strong>br</strong> />

envolvidas. Utiliza<strong>do</strong> <strong>com</strong>o entrada no algoritmo <strong>de</strong> cifragem.<<strong>br</strong> />

Algoritmo <strong>de</strong> Cifragem: algoritmo que realiza transformações so<strong>br</strong>e o texto puro.<<strong>br</strong> />

Chave Secreta<<strong>br</strong> />

Também utilizada pelo algoritmo <strong>de</strong> cifragem;<<strong>br</strong> />

Valor in<strong>de</strong>pen<strong>de</strong>nte <strong>do</strong> texto plano e <strong>do</strong> algoritmo;<<strong>br</strong> />

A cada chave utilizada um novo resulta<strong>do</strong> será produzi<strong>do</strong> pelo algoritmo <strong>de</strong><<strong>br</strong> />

cifragem.<<strong>br</strong> />

17<<strong>br</strong> />

Criptossistema Criptossistema (Algoritmo<<strong>br</strong> />

(Algoritmo)<<strong>br</strong> />

(Algoritmo<<strong>br</strong> />

COMPUTACIONALMENTE SEGURO<<strong>br</strong> />

É quan<strong>do</strong> satisfaz aos 2 critérios seguintes:<<strong>br</strong> />

(1916-2001)<<strong>br</strong> />

Custo <strong>de</strong> que<strong>br</strong>ar exce<strong>de</strong> o valor da informação;<<strong>br</strong> />

O tempo para que<strong>br</strong>ar exce<strong>de</strong> a vida útil da informação.<<strong>br</strong> />

INCONDICIONALMENTE SEGURO ( (One One-time time Pad) Pad<<strong>br</strong> />

In<strong>de</strong>pen<strong>de</strong> da quantida<strong>de</strong> <strong>de</strong> texto cifra<strong>do</strong>, tecnologia ou tempo<<strong>br</strong> />

que disponha, é impossível que<strong>br</strong>ar.<<strong>br</strong> />

19<<strong>br</strong> />

Clau<strong>de</strong> Elwood Shannon<<strong>br</strong> />

Mo<strong>de</strong>lo Mo<strong>de</strong>lo Mo<strong>de</strong>lo Mo<strong>de</strong>lo Mo<strong>de</strong>lo <strong>Si</strong>mplifica<strong>do</strong> <strong>Si</strong>mplifica<strong>do</strong> <strong>de</strong> <strong>de</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Si</strong>métrica<<strong>br</strong> />

<strong>Si</strong>métrica<<strong>br</strong> />

Texto Cifra<strong>do</strong> (Ciphertext)<<strong>br</strong> />

A mensagem produzida <strong>com</strong>o saída <strong>do</strong> algoritmo <strong>de</strong> cifragem. Esta mensagem<<strong>br</strong> />

não po<strong>de</strong> ser <strong>com</strong>preendida;<<strong>br</strong> />

Depen<strong>de</strong> <strong>do</strong> texto puro e da chave utilizada;<<strong>br</strong> />

Para uma data mensagem duas diferentes chaves produzirão diferentes textos<<strong>br</strong> />

cifra<strong>do</strong>s.<<strong>br</strong> />

Algoritmo <strong>de</strong> Decifragem<<strong>br</strong> />

Realiza o processo inverso daquele executa<strong>do</strong> pelo algoritmo <strong>de</strong> cifragem;<<strong>br</strong> />

Utiliza <strong>com</strong>o texto cifra<strong>do</strong> <strong>com</strong>o saída e juntamente <strong>com</strong> a chave, produz a<<strong>br</strong> />

mensagem original (texto puro).<<strong>br</strong> />

18<<strong>br</strong> />

<strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Si</strong>métrica<<strong>br</strong> />

<strong>Si</strong>métrica<<strong>br</strong> />

Única técnica <strong>de</strong> criptografia usada antes <strong>do</strong><<strong>br</strong> />

<strong>de</strong>senvolvimento <strong>de</strong>senvolvimento da criptografia <strong>de</strong> chave pública difundida a<<strong>br</strong> />

partir <strong>de</strong> 1976 pelo NSA ( (National ational Security ecurity Agency), gency), órgão <strong>do</strong><<strong>br</strong> />

governo norte norte-americano<<strong>br</strong> />

americano<<strong>br</strong> />

Tornou Tornou-se se bastante popular pois os fa<strong>br</strong>icantes<<strong>br</strong> />

<strong>de</strong>senvolveram implementações <strong>de</strong> baixo custo <strong>de</strong> “chips” que<<strong>br</strong> />

rodam o algoritmo <strong>de</strong> criptografia <strong>do</strong>s da<strong>do</strong>s. Existem em<<strong>br</strong> />

gran<strong>de</strong> quantida<strong>de</strong> e po<strong>de</strong>m ser incorpora<strong>do</strong>s a muitos<<strong>br</strong> />

produtos.<<strong>br</strong> />

Garante: confi<strong>de</strong>ncialida<strong>de</strong><<strong>br</strong> />

confi<strong>de</strong>ncialida<strong>de</strong>, , e não a privacida<strong>de</strong><<strong>br</strong> />

(confi<strong>de</strong>ncialida<strong>de</strong> privacida<strong>de</strong>)<<strong>br</strong> />

Princípio <strong>de</strong> Kerckhoff (1883): To<strong>do</strong>s os algoritmos <strong>de</strong>vem ser públicos; apenas<<strong>br</strong> />

as chaves são secretas.<<strong>br</strong> />

Algoritmo secreto: segurança pela obscurida<strong>de</strong>.<<strong>br</strong> />

20<<strong>br</strong> />

5


Importância Importância Importância Importância Importância das das Chaves<<strong>br</strong> />

Chaves Chaves Chaves<<strong>br</strong> />

Permite a utilização <strong>do</strong> mesmo algoritmo criptográfico para<<strong>br</strong> />

a <strong>com</strong>unicação <strong>com</strong> diferentes receptores, trocan<strong>do</strong> apenas<<strong>br</strong> />

a chave.<<strong>br</strong> />

Permite trocar facilmente a chave no caso <strong>de</strong> uma violação,<<strong>br</strong> />

manten<strong>do</strong> o mesmo algoritmo.<<strong>br</strong> />

Número <strong>de</strong> <strong>de</strong> chaves possíveis <strong>de</strong>pen<strong>de</strong> <strong>do</strong> tamanho (número<<strong>br</strong> />

<strong>de</strong> bits) da chave.<<strong>br</strong> />

Exemplo: uma chave <strong>de</strong> 8 bits permite uma <strong>com</strong>binação <strong>de</strong><<strong>br</strong> />

no máximo 256 chaves. Quanto maior o tamanho da chave,<<strong>br</strong> />

mais difícil que<strong>br</strong>á-la.<<strong>br</strong> />

21<<strong>br</strong> />

<strong>Criptografia</strong> <strong>Criptografia</strong> Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

De De Chave Pública ou assimétrica<<strong>br</strong> />

Necessida<strong>de</strong> funcional<<strong>br</strong> />

Os algarismos são usa<strong>do</strong>s para cifrar e <strong>de</strong>cifrar <strong>com</strong> um par <strong>de</strong> chaves, sen<strong>do</strong><<strong>br</strong> />

um <strong>de</strong>termina<strong>do</strong> algoritmo usa<strong>do</strong> para cifrar e outro algoritmo usa<strong>do</strong> para <strong>de</strong>cifrar<<strong>br</strong> />

O transmissor e o receptor <strong>de</strong>vem cada qual possuir um par <strong>de</strong> chaves<<strong>br</strong> />

<strong>com</strong>binada<<strong>br</strong> />

Necessida<strong>de</strong> <strong>de</strong> segurança<<strong>br</strong> />

Uma, das duas chaves, <strong>de</strong>ve ser mantida em segre<strong>do</strong>.<<strong>br</strong> />

Deve ser impossível ou pelos menos impraticável <strong>de</strong>cifrar uma mensagem caso<<strong>br</strong> />

nenhuma outra informação esteja disponível.<<strong>br</strong> />

Conhecer o algoritmo, uma das 2 chaves e amostras <strong>do</strong> texto cifra<strong>do</strong> <strong>de</strong>ve ser<<strong>br</strong> />

insuficiente para <strong>de</strong>terminar a outra chave.<<strong>br</strong> />

23<<strong>br</strong> />

<strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Si</strong>métrica<<strong>br</strong> />

<strong>Si</strong>métrica<<strong>br</strong> />

Convencional ou simétrica ou <strong>de</strong> chave única<<strong>br</strong> />

Necessida<strong>de</strong> funcional<<strong>br</strong> />

O mesmo algoritmo <strong>com</strong> a mesma chave é usa<strong>do</strong> tanto para cifrar <strong>com</strong>o<<strong>br</strong> />

<strong>de</strong>cifrar<<strong>br</strong> />

O transmissor e o receptor <strong>de</strong>vem <strong>com</strong>partilhar o algoritmo e a chave<<strong>br</strong> />

Necessida<strong>de</strong> <strong>de</strong> segurança<<strong>br</strong> />

A chave <strong>de</strong>ve ser mantida secreta<<strong>br</strong> />

Deve ser impossível ou pelo menos impraticável <strong>de</strong>cifrar uma mensagem<<strong>br</strong> />

caso nenhuma outra informação esteja disponível<<strong>br</strong> />

Conhecer o algoritmo e amostras <strong>do</strong> texto cifra<strong>do</strong> <strong>de</strong>ve ser insuficiente para<<strong>br</strong> />

<strong>de</strong>terminar a chave<<strong>br</strong> />

22<<strong>br</strong> />

Classificação Classificação Classificação Classificação <strong>de</strong> <strong>de</strong> Criptossistemas<<strong>br</strong> />

Criptossistemas<<strong>br</strong> />

1º critério: o tipo <strong>de</strong> operação usada p/transformar um texto claro num<<strong>br</strong> />

texto cifra<strong>do</strong><<strong>br</strong> />

To<strong>do</strong>s os algoritmos <strong>de</strong> criptografia usam 2 princípios básicos:<<strong>br</strong> />

SUBSTITUIÇÃO on<strong>de</strong> cada elemento (bit,letra, grupo <strong>de</strong> bits ou grupo <strong>de</strong><<strong>br</strong> />

letras) é mapea<strong>do</strong> em outro elemento.<<strong>br</strong> />

TRANSPOSIÇÃO on<strong>de</strong> cada elemento <strong>do</strong> texto original é rearranja<strong>do</strong>.<<strong>br</strong> />

Muitos sistemas envolvem múltiplos estágios <strong>de</strong> substituição e rearranjos<<strong>br</strong> />

geran<strong>do</strong> CONFUSÃO (substitui as letras por outras, sem mudar a seqüência<<strong>br</strong> />

na qual elas ocorrem) e DIFUSÃO (preserva a distribuição <strong>de</strong> freqüência <strong>de</strong><<strong>br</strong> />

cada letra, e <strong>de</strong>strói os digramas, trigramas e estatísticas da linguagem).<<strong>br</strong> />

2º critério: nº <strong>de</strong> chaves usadas<<strong>br</strong> />

Uma chave <strong>com</strong>partilhada pelo transmissor e receptor; trata-se <strong>de</strong> um sistema<<strong>br</strong> />

simétrico<<strong>br</strong> />

simétrico, <strong>de</strong> chave única, <strong>de</strong> chave secreta ou convencional.<<strong>br</strong> />

Par <strong>de</strong> chaves diferentes, uma p/o transmissor e outra p/o receptor; trata-se <strong>de</strong><<strong>br</strong> />

um sistema assimétrico<<strong>br</strong> />

assimétrico, <strong>de</strong> par <strong>de</strong> chaves, <strong>de</strong> criptografia <strong>de</strong> chaves pública.<<strong>br</strong> />

3º critério: o mo<strong>do</strong> <strong>com</strong>o o texto original é processa<strong>do</strong><<strong>br</strong> />

CIGRAGEM POR BLOCOS on<strong>de</strong> um bloco <strong>de</strong> elementos <strong>de</strong> entrada é<<strong>br</strong> />

processa<strong>do</strong> por vez produzin<strong>do</strong> um bloco <strong>de</strong> saída para cada bloco <strong>de</strong> entrada<<strong>br</strong> />

(unida<strong>de</strong>s em blocos <strong>de</strong> bytes).<<strong>br</strong> />

CIFRAGEM POR FLUXO CONTÍNUO (stream) on<strong>de</strong> os elementos <strong>de</strong> entrada<<strong>br</strong> />

são processa<strong>do</strong>s continuamente produzin<strong>do</strong> um fluxo <strong>de</strong> saída a medida que as<<strong>br</strong> />

entradas vão chegan<strong>do</strong> (unida<strong>de</strong> em bits).<<strong>br</strong> />

24<<strong>br</strong> />

6


Mo<strong>de</strong>lo Mo<strong>de</strong>lo <strong>de</strong> <strong>de</strong> Criptossistema Criptossistema Criptossistema Criptossistema Criptossistema <strong>Si</strong>métrico<<strong>br</strong> />

<strong>Si</strong>métrico<<strong>br</strong> />

Elementos Essenciais <strong>de</strong> um esquema <strong>de</strong> criptografia simétrica<<strong>br</strong> />

25<<strong>br</strong> />

Técnicas Técnicas Clássicas<<strong>br</strong> />

Clássicas<<strong>br</strong> />

Cifras Clássicas <strong>de</strong> <strong>Criptografia</strong><<strong>br</strong> />

27<<strong>br</strong> />

Texto claro estima<strong>do</strong><<strong>br</strong> />

Chave estimada<<strong>br</strong> />

Y = E Ek(X) (X)<<strong>br</strong> />

X = D Dk(Y) (Y)<<strong>br</strong> />

Cifra <strong>de</strong> César (monoalfabética) : Gen.Julius César, Roma – 40 a.C.<<strong>br</strong> />

Cifra ROT13 (monoalfabética)<<strong>br</strong> />

Vigenère (polialfabética) : Blaise <strong>de</strong> Vigenère - 1585<<strong>br</strong> />

Vernam (monoalfabética) : Gilbert Vernam - 1917<<strong>br</strong> />

One-Time Pad (Bloco <strong>de</strong> única vez) : Joseph Mauborgne - 1920<<strong>br</strong> />

<strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Si</strong>métrica<<strong>br</strong> />

<strong>Si</strong>métrica<<strong>br</strong> />

Se uma chave estiver <strong>com</strong>prometida ...<<strong>br</strong> />

Todas as cópias <strong>de</strong>sta chave precisam ser alteradas. Isto não é prático nem barato para<<strong>br</strong> />

ambientes Internet.<<strong>br</strong> />

Rapi<strong>de</strong>z na criptografia e <strong>de</strong>scriptografia da informação.<<strong>br</strong> />

A chave <strong>de</strong>ve ser trocada entre as partes e armazenada <strong>de</strong> forma segura, o que nem<<strong>br</strong> />

sempre é fácil <strong>de</strong> garantir<<strong>br</strong> />

A criptografia simétrica não garante a i<strong>de</strong>ntida<strong>de</strong> <strong>de</strong> quem enviou ou recebeu a<<strong>br</strong> />

mensagem ( (autenticida<strong>de</strong> autenticida<strong>de</strong> e não não-repudiação<<strong>br</strong> />

repudiação). ).<<strong>br</strong> />

Oferece problemas <strong>de</strong> escalabilida<strong>de</strong><<strong>br</strong> />

escalabilida<strong>de</strong>. . Cada par necessita <strong>de</strong> uma chave para se<<strong>br</strong> />

<strong>com</strong>unicar <strong>de</strong> forma segura. Em geral, se n pessoas querem se <strong>com</strong>unicar usan<strong>do</strong> chave<<strong>br</strong> />

secreta, serão necessárias:<<strong>br</strong> />

26<<strong>br</strong> />

<strong>Criptografia</strong> <strong>Criptografia</strong> – Histórico<<strong>br</strong> />

Histórico<<strong>br</strong> />

28<<strong>br</strong> />

INTERNET<<strong>br</strong> />

Fases da evolução da criptografia<<strong>br</strong> />

<strong>Criptografia</strong> manual<<strong>br</strong> />

<strong>Criptografia</strong> por máquinas<<strong>br</strong> />

<strong>Criptografia</strong> em re<strong>de</strong> (atual)<<strong>br</strong> />

A mensagem é criptografada usan<strong>do</strong>-se algoritmos.<<strong>br</strong> />

Com o advento da internet e sua popularização, a criptografia em re<strong>de</strong> tem si<strong>do</strong><<strong>br</strong> />

responsável pelo surgimento/fortalecimento <strong>do</strong> <strong>com</strong>ércio eletrônico.<<strong>br</strong> />

Exemplos<<strong>br</strong> />

O DES (Data Encryption Standard), da IBM<<strong>br</strong> />

O RSA (Ronald Rivest, Adi Shamir e Leonard Adleman)<<strong>br</strong> />

O PGP (Pretty Good Privacy), <strong>de</strong> Phil Zimmerman<<strong>br</strong> />

outras codificações (nas tele<strong>com</strong>unicações: celulares, satélites, etc.)<<strong>br</strong> />

Historicamente quatro grupos <strong>de</strong> pessoas utilizaram e contribuíram para a arte da<<strong>br</strong> />

criptografia: os militares, os diplomatas, as pessoas que gostam <strong>de</strong> guardar memórias<<strong>br</strong> />

e os amantes.<<strong>br</strong> />

7


Técnicas Técnicas Clássicas<<strong>br</strong> />

Clássicas<<strong>br</strong> />

Mecanismos anteriores à era da informática<<strong>br</strong> />

As técnicas<<strong>br</strong> />

Técnicas <strong>de</strong> substituição<<strong>br</strong> />

Técnicas <strong>de</strong> transposição<<strong>br</strong> />

29<<strong>br</strong> />

Definições<<strong>br</strong> />

Definições<<strong>br</strong> />

31<<strong>br</strong> />

P<<strong>br</strong> />

K<<strong>br</strong> />

K<<strong>br</strong> />

E D<<strong>br</strong> />

C<<strong>br</strong> />

P é a informação (mensagem) que se <strong>de</strong>seja proteger<<strong>br</strong> />

E é o procedimento que irá “embaralhar” P <strong>de</strong> forma a<<strong>br</strong> />

ocultar seu conteú<strong>do</strong><<strong>br</strong> />

K é um parâmetro (chave) utiliza<strong>do</strong> por E e D<<strong>br</strong> />

C é o resulta<strong>do</strong> <strong>do</strong> “embaralhamento” <strong>de</strong> P<<strong>br</strong> />

D é o procedimento que irá <strong>de</strong>sembaralhar C, , <strong>de</strong> forma a<<strong>br</strong> />

obter P novamente<<strong>br</strong> />

P<<strong>br</strong> />

Definições<<strong>br</strong> />

Definições<<strong>br</strong> />

Definições<<strong>br</strong> />

Definições<<strong>br</strong> />

Definições<<strong>br</strong> />

Definições<<strong>br</strong> />

Definições<<strong>br</strong> />

Técnicas <strong>de</strong> substituição e transposição<<strong>br</strong> />

introduzem o conceito <strong>de</strong> criptossistema<<strong>br</strong> />

Criptossistema: cinco cinco-tupla tupla {P,C,K,E,D}, on<strong>de</strong><<strong>br</strong> />

P é conjunto <strong>de</strong> possíveis textos claros (X)<<strong>br</strong> />

C é o conjunto <strong>de</strong> possíveis textos cifra<strong>do</strong>s (Y)<<strong>br</strong> />

K é conjunto <strong>de</strong> possíveis chaves<<strong>br</strong> />

E é a regra <strong>de</strong> cifragem<<strong>br</strong> />

D é a regra <strong>de</strong> <strong>de</strong>cifragem<<strong>br</strong> />

30<<strong>br</strong> />

Definições<<strong>br</strong> />

Definições<<strong>br</strong> />

As operações D e E são mutuamente reversíveis, <strong>de</strong><<strong>br</strong> />

forma que:<<strong>br</strong> />

D(E(P)) = P<<strong>br</strong> />

E(D(P)) = P<<strong>br</strong> />

... o que se faz <strong>com</strong> uma, se <strong>de</strong>sfaz <strong>com</strong> outra quan<strong>do</strong><<strong>br</strong> />

ambas utilizam a chave K a<strong>de</strong>quada<<strong>br</strong> />

32<<strong>br</strong> />

8


Técnicas Técnicas <strong>de</strong> <strong>de</strong> Substituição<<strong>br</strong> />

Substituição<<strong>br</strong> />

Exemplos <strong>de</strong> técnicas <strong>de</strong> substituição<<strong>br</strong> />

Cifra <strong>de</strong> César<<strong>br</strong> />

Cifra monoalfabéticas<<strong>br</strong> />

Homófonas<<strong>br</strong> />

Cifra <strong>de</strong> Vigenère<<strong>br</strong> />

One-time Pad<<strong>br</strong> />

Exemplos <strong>de</strong> técnicas <strong>de</strong> transposição<<strong>br</strong> />

Cifragem guiada por trilhos ( rail fence technique )<<strong>br</strong> />

Cifragem usan<strong>do</strong> retângulos<<strong>br</strong> />

33<<strong>br</strong> />

Cifra Cifra <strong>de</strong> <strong>de</strong> <strong>de</strong> <strong>de</strong> César<<strong>br</strong> />

César<<strong>br</strong> />

Avaliação Quantitativa<<strong>br</strong> />

35<<strong>br</strong> />

Cifra Cifra <strong>de</strong> <strong>de</strong> César<<strong>br</strong> />

César<<strong>br</strong> />

Substitui cada letra pela terceira à direita<<strong>br</strong> />

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<<strong>br</strong> />

Alfabeto cifrante: 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<<strong>br</strong> />

• Exemplo:<<strong>br</strong> />

P = cifra<strong>do</strong>r<<strong>br</strong> />

C = FLIUDGRU<<strong>br</strong> />

E(P) = (P + 3) mod 26<<strong>br</strong> />

D(P) = (P - 3) mod 26<<strong>br</strong> />

34<<strong>br</strong> />

Cifra Cifra Cifra Cifra <strong>de</strong> <strong>de</strong> <strong>de</strong> <strong>de</strong> César<<strong>br</strong> />

César<<strong>br</strong> />

Avaliação Quantitativa (entropia)<<strong>br</strong> />

tux.bmp<<strong>br</strong> />

36<<strong>br</strong> />

A ação da Cifra <strong>de</strong> César é mover<<strong>br</strong> />

cada letra <strong>do</strong> alfabeto um número<<strong>br</strong> />

<strong>de</strong> vezes fixo abaixo no alfabeto.<<strong>br</strong> />

Este exemplo está <strong>com</strong> uma troca<<strong>br</strong> />

<strong>de</strong> 3, então o B <strong>do</strong> texto normal se<<strong>br</strong> />

torna E no texto cifra<strong>do</strong>.<<strong>br</strong> />

9


Cifra Cifra <strong>de</strong> <strong>de</strong> César César César César César César César genérica<<strong>br</strong> />

genérica<<strong>br</strong> />

Po<strong>de</strong>mos adaptar a cifra <strong>de</strong> César parametrizan<strong>do</strong> a<<strong>br</strong> />

substituição. Ao invés <strong>de</strong> fazermos um <strong>de</strong>slocamento fixo (3<<strong>br</strong> />

à direita), po<strong>de</strong>mos fazer um <strong>de</strong>slocamento K variável. Esta<<strong>br</strong> />

adaptação é chamada <strong>de</strong> cifra <strong>de</strong> César genérica genérica.<<strong>br</strong> />

37<<strong>br</strong> />

E(P) = (P + K) mod 26<<strong>br</strong> />

D(P) = (P - K) mod 26<<strong>br</strong> />

K po<strong>de</strong> po<strong>de</strong> assumir valores entre 1 1 e 25 (valores acima <strong>de</strong>sta<<strong>br</strong> />

faixa serão redundantes)<<strong>br</strong> />

Técnicas Técnicas Clássicas<<strong>br</strong> />

Clássicas<<strong>br</strong> />

Cifras monoalfabéticas: fazem substituições<<strong>br</strong> />

arbitrárias das letras <strong>do</strong> alfabeto<<strong>br</strong> />

39<<strong>br</strong> />

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<<strong>br</strong> />

F M N K A P I V L Z D O H J S X W Q B Y C E F G T U<<strong>br</strong> />

P = t e c n i c a<<strong>br</strong> />

C = Y A N J L N F<<strong>br</strong> />

Há 26! possíveis alfabetos <strong>de</strong> substituição<<strong>br</strong> />

Cifra Cifra ROT13<<strong>br</strong> />

ROT13<<strong>br</strong> />

ROT ROT-13 13 (ou rot13, rot rot-13, 13, Rot13, etc) é o nome que se costuma usar para um<<strong>br</strong> />

procedimento simples mas eficaz para garantir que textos eletrônicos não sejam<<strong>br</strong> />

li<strong>do</strong>s por distração ou aci<strong>de</strong>nte. ROT ROT-13 13 vem <strong>do</strong> inglês, ROTate by 13 places places, ,<<strong>br</strong> />

"ROTacionar 13 posições".<<strong>br</strong> />

ROT13 é uma cifra <strong>de</strong> César <strong>com</strong> K = 13<<strong>br</strong> />

Cifra reversível: E = D<<strong>br</strong> />

38<<strong>br</strong> />

Substituição Substituição Substituição Substituição Homófona<<strong>br</strong> />

Homófona<<strong>br</strong> />

Numa substituição homófona cada letra <strong>do</strong> alfabeto po<strong>de</strong> ser<<strong>br</strong> />

correspondida por mais <strong>do</strong> que um símbolo. Habitualmente, há maior<<strong>br</strong> />

número <strong>de</strong> correspondências para as letras <strong>de</strong> maior freqüência, <strong>de</strong> mo<strong>do</strong><<strong>br</strong> />

a dificultar uma análise estatística baseada na freqüência. Por exemplo,<<strong>br</strong> />

para a língua portuguesa po<strong>de</strong>r-se-ia utilizar as letras maiúsculas,<<strong>br</strong> />

minúsculas e algarismos para obter 26+26+10 = 62 símbolos:<<strong>br</strong> />

A seguinte mensagem:<<strong>br</strong> />

Fujam to<strong>do</strong>s <strong>de</strong>pressa! Fomos <strong>de</strong>scobertos!<<strong>br</strong> />

po<strong>de</strong>ria, por exemplo, ser cifrada para:<<strong>br</strong> />

l4IiA 9WNdy GqpCxyVz! n2M5V GxeHdF3Rf2e!<<strong>br</strong> />

que tomaria, em blocos <strong>de</strong> cinco letras, o aspecto algo in<strong>com</strong>preensível<<strong>br</strong> />

<strong>de</strong>: l4IiA 9WNdy GqpCx yVzn2 M5VGx eHdF3 Rf2e<<strong>br</strong> />

40<<strong>br</strong> />

10


Cifras Cifras polialfabéticas<<strong>br</strong> />

polialfabéticas<<strong>br</strong> />

polialfabéticas<<strong>br</strong> />

polialfabéticas: polialfabéticas : : : Cifra Cifra <strong>de</strong> <strong>de</strong> <strong>de</strong> <strong>de</strong> <strong>de</strong> Vigenère<<strong>br</strong> />

Vigenère<<strong>br</strong> />

As substituições são feitas utilizan<strong>do</strong><<strong>br</strong> />

utilizan<strong>do</strong>-se se vários alfabetos<<strong>br</strong> />

Exemplo: cifra <strong>de</strong> Vigenère (1585)<<strong>br</strong> />

A chave é formada por letras que i<strong>de</strong>ntificam qual alfabeto<<strong>br</strong> />

está sen<strong>do</strong> utiliza<strong>do</strong> para cifrar <strong>de</strong>terminada letra <strong>do</strong> texto<<strong>br</strong> />

claro<<strong>br</strong> />

Normalmente a chave é a repetição <strong>de</strong> uma palavra-chave que<<strong>br</strong> />

possui tamanho inferior ao <strong>do</strong> texto claro<<strong>br</strong> />

“No <strong>com</strong>eço <strong>do</strong> século 20 20, um <strong>do</strong>s nossos presi<strong>de</strong>ntes (Campos Salles –<<strong>br</strong> />

entre 1898 e 1902) quan<strong>do</strong> assumiu foi a Inglaterra negociar a nossa<<strong>br</strong> />

dívida externa e <strong>de</strong> lá se <strong>com</strong>unicou <strong>com</strong> seus pares no Brasil usan<strong>do</strong> este<<strong>br</strong> />

sistema <strong>de</strong> cifragem, não observan<strong>do</strong> o fato <strong>de</strong> que os ingleses já sabiam<<strong>br</strong> />

<strong>com</strong>o que<strong>br</strong>ar a cifra <strong>de</strong>s<strong>de</strong> 1865 1865, quan<strong>do</strong> um oficial <strong>do</strong> exército prussiano<<strong>br</strong> />

chama<strong>do</strong> Kasiski <strong>de</strong>sco<strong>br</strong>iu <strong>com</strong>o que<strong>br</strong>á-la.”<<strong>br</strong> />

41<<strong>br</strong> />

Cifra Cifra <strong>de</strong> <strong>de</strong> <strong>de</strong> <strong>de</strong> Vernam<<strong>br</strong> />

Vernam<<strong>br</strong> />

43<<strong>br</strong> />

Charles Babbage<<strong>br</strong> />

(1791-1871)<<strong>br</strong> />

Major Friedrich Wilhelm Kasiski<<strong>br</strong> />

(1805-1881) 42<<strong>br</strong> />

Utiliza a reversibilida<strong>de</strong> da função XOR<<strong>br</strong> />

C = P ⊕ K<<strong>br</strong> />

P = C ⊕ K<<strong>br</strong> />

K:10011100111<<strong>br</strong> />

P:01011110001<<strong>br</strong> />

:01011110001<<strong>br</strong> />

C:11000010110<<strong>br</strong> />

K:10011100111<<strong>br</strong> />

P:01011110001<<strong>br</strong> />

01011110001<<strong>br</strong> />

Gilbert Sandford Vernam<<strong>br</strong> />

(1890-1960)<<strong>br</strong> />

Cifra Cifra <strong>de</strong> <strong>de</strong> Vigenère<<strong>br</strong> />

Vigenère<<strong>br</strong> />

Palavra Palavra-chave chave: : “grito”<<strong>br</strong> />

K: GRITOGRITOGRITOGRITOGRITO (chave)<<strong>br</strong> />

P: VAMOSATACARAMANHASEMFALTA (texto claro)<<strong>br</strong> />

C: BRUHGGKIVOXRUTBNRAXALRTMO (texto cifra<strong>do</strong>)<<strong>br</strong> />

Cifra Cifra Cifra Cifra One One-Time One Time Time Pad<<strong>br</strong> />

Pad<<strong>br</strong> />

44<<strong>br</strong> />

Hipótese : Texto cifra<strong>do</strong> <strong>de</strong> 1.000 letras<<strong>br</strong> />

• Chave <strong>de</strong> 5 letras => 5 conjuntos <strong>de</strong> 200 letras<<strong>br</strong> />

(Análise <strong>de</strong> freqüência fácil)<<strong>br</strong> />

• Chave <strong>de</strong> 20 letras => 20 conjuntos <strong>de</strong> 50<<strong>br</strong> />

letras (Análise <strong>de</strong> freqüência mais difícil)<<strong>br</strong> />

• Chave <strong>de</strong> 1.000 letras => 1.000 conjuntos <strong>de</strong> 1<<strong>br</strong> />

letra (Análise <strong>de</strong> freqüência impossível)<<strong>br</strong> />

Blaise <strong>de</strong> Vigenère<<strong>br</strong> />

(1523-196)<<strong>br</strong> />

Se a chave for verda<strong>de</strong>iramente aleatória, nunca reutilizada, e<<strong>br</strong> />

mantida em segre<strong>do</strong>, a one one-time time pad po<strong>de</strong> ser inque<strong>br</strong>ável<<strong>br</strong> />

inque<strong>br</strong>ável.<<strong>br</strong> />

Quan<strong>do</strong> usada corretamente<<strong>br</strong> />

corretamente, , esta cifra provê segurança perfeita<<strong>br</strong> />

para as mensagens (cifra cifra inviolável<<strong>br</strong> />

inviolável). ). O elo fraco é o elemento<<strong>br</strong> />

humano humano.<<strong>br</strong> />

Técnica<<strong>br</strong> />

Escolher <strong>com</strong>o chave um<<strong>br</strong> />

string <strong>de</strong> bits aleatórios.<<strong>br</strong> />

Converter o texto simples em<<strong>br</strong> />

um string <strong>de</strong> bits (utilizan<strong>do</strong><<strong>br</strong> />

o Código ASCII);<<strong>br</strong> />

Calcular o OR exclusivo<<strong>br</strong> />

(XOR) <strong>do</strong>s <strong>do</strong>is strings.<<strong>br</strong> />

Imune a ataques<<strong>br</strong> />

Teoria da Informação – não existe<<strong>br</strong> />

nenhuma informação na<<strong>br</strong> />

mensagem, to<strong>do</strong>s os textos<<strong>br</strong> />

possíveis <strong>com</strong> o tamanho da<strong>do</strong> One One-time time pad Russo,<<strong>br</strong> />

são igualmente prováveis. captura<strong>do</strong> pelo MI5<<strong>br</strong> />

Joseph Oswald Mauborgne<<strong>br</strong> />

(1881-1971)<<strong>br</strong> />

Amostra <strong>de</strong> um one-time one time pad<<strong>br</strong> />

11


Cifra Cifra One One-Time One Time Time Pad<<strong>br</strong> />

Pad<<strong>br</strong> />

K: CONSTITUICAO (chave)<<strong>br</strong> />

P: ANOITEELONGA (texto claro)<<strong>br</strong> />

C: STX SOH SOH SUB NUL FF VT EM ACK CR ACK SO (texto cifra<strong>do</strong>)<<strong>br</strong> />

45<<strong>br</strong> />

C = P ⊕ K<<strong>br</strong> />

A N O I T E E L O N G A<<strong>br</strong> />

P 0100 0001 0100 1110 0100 1111 0100 1001 0101 0100 0100 0101 10010101 0100 1100 0100 1111 0100 1110 0100 0111 0100 0001<<strong>br</strong> />

C O N S T I T U I C A O<<strong>br</strong> />

K 0100 0011 0100 1111 0100 1110 0101 0011 0101 0100 0100 1001 0101 0100 0101 0101 0100 1001 0100 0011 0100 0001 0100 1111<<strong>br</strong> />

STX SOH SOH SUB NUL FF VT EM ACK CR ACK SO<<strong>br</strong> />

C 00000010 00000001 00000001 00011010 00000000 00001100 00010001 00011001 00000110 00001101 00000110 00001110<<strong>br</strong> />

Técnicas Técnicas <strong>de</strong> <strong>de</strong> Transposição<<strong>br</strong> />

Transposição<<strong>br</strong> />

Obtida pela permutação <strong>do</strong>s símbolos ou letras <strong>do</strong> texto<<strong>br</strong> />

original que reaparecem em posições diferentes no texto<<strong>br</strong> />

cifra<strong>do</strong><<strong>br</strong> />

Cifragem guiada por trilhos ( rail fence technique )<<strong>br</strong> />

O texto original é escrito numa seqüência <strong>de</strong> colunas e <strong>de</strong>pois é<<strong>br</strong> />

obti<strong>do</strong> cifra<strong>do</strong> len<strong>do</strong>-se uma seqüência <strong>de</strong> linhas<<strong>br</strong> />

Ex: Texto original : “ meet me after the toga party”<<strong>br</strong> />

Guiada por trilhos em 2 e 4 linhas:<<strong>br</strong> />

m m t h g r<<strong>br</strong> />

47<<strong>br</strong> />

m e m a t r h t g p r y<<strong>br</strong> />

e t e f e t e o a a t<<strong>br</strong> />

Texto cifra<strong>do</strong> : MEMATRHTGPRYETEFETEOAAT<<strong>br</strong> />

Texto cifra<strong>do</strong> : MMTHGREEEEATEARTPYTFTOA<<strong>br</strong> />

e e e e a t<<strong>br</strong> />

e a r t p y<<strong>br</strong> />

t f t o a<<strong>br</strong> />

Cifra Cifra One One-Time One Time Time Pad<<strong>br</strong> />

Pad<<strong>br</strong> />

• K: ACK GS SOH CAN US (chave)<<strong>br</strong> />

• P: CLONE (texto claro)<<strong>br</strong> />

• C: EQNVZ (texto cifra<strong>do</strong>)<<strong>br</strong> />

• K: ACK RS NUL STX ESC (chave)<<strong>br</strong> />

• P: CONTA (texto claro)<<strong>br</strong> />

• C: EQNVZ (texto cifra<strong>do</strong>)<<strong>br</strong> />

46<<strong>br</strong> />

Técnicas Técnicas Técnicas Técnicas Técnicas <strong>de</strong> <strong>de</strong> Transposição<<strong>br</strong> />

Transposição<<strong>br</strong> />

48<<strong>br</strong> />

C L O N E<<strong>br</strong> />

P 01000011 01001100 01001111 01001110 01000101<<strong>br</strong> />

ACK GS SOH CAN US<<strong>br</strong> />

K 00000110 00011101 00000001 00011000 00011111<<strong>br</strong> />

E Q N V Z<<strong>br</strong> />

C 01000101 01010001 01001110 01010110 01011010<<strong>br</strong> />

C O N T A<<strong>br</strong> />

P 01000011 01001111 01001110 01010100 01000001<<strong>br</strong> />

ACK RS NUL STX ESC<<strong>br</strong> />

K 00000110 00011110 00000000 00000010 00011011<<strong>br</strong> />

E Q N V Z<<strong>br</strong> />

C 01000101 01010001 01001110 01010110 01011010<<strong>br</strong> />

Cifragem usan<strong>do</strong> retângulos<<strong>br</strong> />

O texto original é escrito num retângulo(por ex:4lsx7col), linha<<strong>br</strong> />

a linha, e <strong>de</strong>pois é obti<strong>do</strong> cifra<strong>do</strong> len<strong>do</strong>-se, coluna a coluna,<<strong>br</strong> />

ten<strong>do</strong>-se o cuida<strong>do</strong> <strong>de</strong> permutar a or<strong>de</strong>m das colunas<<strong>br</strong> />

Ex: Texto original : “ attack postponed until two am xyz”<<strong>br</strong> />

No retângulo:<<strong>br</strong> />

a t t a c k p<<strong>br</strong> />

o s t p o n e<<strong>br</strong> />

d u n t i l t<<strong>br</strong> />

w o a m x y z<<strong>br</strong> />

3 4 1 2 5 6 7<<strong>br</strong> />

Chave <strong>de</strong>finin<strong>do</strong> a or<strong>de</strong>m das<<strong>br</strong> />

colunas no texto cifra<strong>do</strong><<strong>br</strong> />

Texto cifra<strong>do</strong> : TTNAAPTMTSUOAODWCOIXKNLYPETZ<<strong>br</strong> />

12


Algoritmos Algoritmos basea<strong>do</strong>s<<strong>br</strong> />

basea<strong>do</strong>s<<strong>br</strong> />

em em Técnicas Técnicas <strong>de</strong> <strong>de</strong> Substituição Substituição e e Transposição<<strong>br</strong> />

Transposição<<strong>br</strong> />

DATA ENCRYPTION STANDARD ( DES ) 1977<<strong>br</strong> />

Histórico: A IBM e sua sócia, a firma AETNA , <strong>do</strong> merca<strong>do</strong> financeiro,<<strong>br</strong> />

precisavam <strong>de</strong>senvolver a criptografia para permitir a transmissão por<<strong>br</strong> />

satélite, o novo negócio <strong>de</strong> ambas à época. O esforço se iniciou em<<strong>br</strong> />

1971 , inspira<strong>do</strong>s no mo<strong>de</strong>lo <strong>de</strong> SHANON <strong>de</strong> 1949 e resultou no<<strong>br</strong> />

<strong>de</strong>senvolvimento <strong>do</strong> sistema LÚCIFER <strong>com</strong> chave <strong>de</strong> 128 bits.<<strong>br</strong> />

Objetivo: “ É embaralhar <strong>com</strong>pletamente os DADOS e a CHAVE, <strong>de</strong><<strong>br</strong> />

mo<strong>do</strong> que to<strong>do</strong>s os bits <strong>do</strong> texto cifra<strong>do</strong> <strong>de</strong>pendam <strong>de</strong> to<strong>do</strong>s os bits <strong>de</strong><<strong>br</strong> />

DADOS e <strong>de</strong> to<strong>do</strong>s os bits da CHAVE (...) <strong>com</strong> um bom algoritmo (o<<strong>br</strong> />

DES), on<strong>de</strong> não <strong>de</strong>verá haver nenhuma correlação entre o texto<<strong>br</strong> />

cifra<strong>do</strong>, os da<strong>do</strong>s originais e a chave”<<strong>br</strong> />

49<<strong>br</strong> />

DES<<strong>br</strong> />

DES<<strong>br</strong> />

Consi<strong>de</strong>rações<<strong>br</strong> />

Consi<strong>de</strong>rações<<strong>br</strong> />

Até Até que ponto o DES funciona ? Até Até que ponto ele é seguro ?<<strong>br</strong> />

1997 1997, a cia RSA Data Security Inc. lançou um <strong>de</strong>safio DES Challenge I para<<strong>br</strong> />

que<strong>br</strong>ar o texto claro “Strong Strong cryptography makes the world a safer<<strong>br</strong> />

place place”. Foi <strong>de</strong>cifrada em menos <strong>de</strong> 4 meses.<<strong>br</strong> />

1999 1999, DES Challenge III. Outra frase foi <strong>de</strong>cifrada em pouco mais <strong>de</strong> 22<<strong>br</strong> />

horas por uma re<strong>de</strong> <strong>de</strong> voluntários juntamente <strong>com</strong> um <strong>com</strong>puta<strong>do</strong>r<<strong>br</strong> />

especialmente construí<strong>do</strong> para a ocasião chama<strong>do</strong> DEEP CRACK no valor <strong>de</strong><<strong>br</strong> />

U$250 mil.<<strong>br</strong> />

Única maneira conhecida <strong>de</strong> <strong>de</strong>svendar o DES é procurar exaustivamente<<strong>br</strong> />

todas as 2 56 chaves possíveis<<strong>br</strong> />

possíveis, embora na média você esperaria ter <strong>de</strong><<strong>br</strong> />

procurar apenas meta<strong>de</strong> <strong>do</strong> espaço <strong>de</strong> chaves, ou<<strong>br</strong> />

2 55 = 3,6 x 10 16 chaves<<strong>br</strong> />

Em uma estação <strong>de</strong> trabalho mo<strong>de</strong>rna obtém-se uma criptografia em 1,5<<strong>br</strong> />

µs, logo seria necessário 5,0 x 10^116 µs (~1.500 anos) para <strong>de</strong>svendar<<strong>br</strong> />

uma chave.<<strong>br</strong> />

Pesquisa por um espaço <strong>de</strong> chave é uma tarefa altamente paralela ,<<strong>br</strong> />

portanto se você pu<strong>de</strong>sse colocar 3.000 PCs a serviço, levaríamos apenas 6<<strong>br</strong> />

meses para <strong>de</strong>svendar uma chave.<<strong>br</strong> />

Concluímos, observan<strong>do</strong> que não existe prova matemática publicada <strong>de</strong><<strong>br</strong> />

que o DES é seguro<<strong>br</strong> />

51<<strong>br</strong> />

Esquema Esquema DES<<strong>br</strong> />

DES<<strong>br</strong> />

Introdução<<strong>br</strong> />

Introdução<<strong>br</strong> />

Os da<strong>do</strong>s são cifra<strong>do</strong>s em<<strong>br</strong> />

blocos <strong>de</strong> 64 bits usan<strong>do</strong><<strong>br</strong> />

uma chave <strong>de</strong> 56 bits<<strong>br</strong> />

A entrada <strong>de</strong> 64 bits<<strong>br</strong> />

mediante uma série <strong>de</strong><<strong>br</strong> />

16 passos é transformada<<strong>br</strong> />

numa saída também <strong>de</strong><<strong>br</strong> />

64 bits.<<strong>br</strong> />

Os mesmos 16 passos <strong>com</strong><<strong>br</strong> />

a mesma chave é usada<<strong>br</strong> />

para reverter a criptografia<<strong>br</strong> />

(<strong>de</strong>criptografia)<<strong>br</strong> />

Além <strong>do</strong>s 56 bits , a chave<<strong>br</strong> />

também possui 8 bits <strong>de</strong><<strong>br</strong> />

parida<strong>de</strong> ímpar<<strong>br</strong> />

(há um bit <strong>de</strong> parida<strong>de</strong><<strong>br</strong> />

para cada um <strong>do</strong>s 8 bits)<<strong>br</strong> />

50<<strong>br</strong> />

DES<<strong>br</strong> />

DES<<strong>br</strong> />

52<<strong>br</strong> />

Chave <strong>de</strong> 56 bits<<strong>br</strong> />

Texto claro <strong>de</strong><<strong>br</strong> />

64 bits<<strong>br</strong> />

Transposição inicial<<strong>br</strong> />

Iteração 1<<strong>br</strong> />

Iteração 2<<strong>br</strong> />

Iteração 16<<strong>br</strong> />

Troca (swap) <strong>de</strong> 32 bits<<strong>br</strong> />

Transposição inversa<<strong>br</strong> />

Texto cifra<strong>do</strong><<strong>br</strong> />

<strong>de</strong> 64 bits<<strong>br</strong> />

(a) esboço geral (b) Detalhe <strong>de</strong> uma iteração<<strong>br</strong> />

Consi<strong>de</strong>ran<strong>do</strong> que o DES é potencialmente vulnerável a um<<strong>br</strong> />

ataque <strong>de</strong> força <strong>br</strong>uta, algumas alternativas foram abordadas<<strong>br</strong> />

Desenvolver um novo algoritmo <strong>de</strong>nomina<strong>do</strong> IDEA (Int’l Data Encryption<<strong>br</strong> />

Algorithm);<<strong>br</strong> />

Preservar o investimento já feito em Software e Hardware fazen<strong>do</strong>-se<<strong>br</strong> />

MÚLTIPLAS CRIPTOGRAFIAS COM “DES DES” E MÚLTIPLAS CHAVES<<strong>br</strong> />

Solução Solução possível<<strong>br</strong> />

Rodar o algoritmo <strong>de</strong> 56 bits múltiplas vezes, toman<strong>do</strong> a saída <strong>de</strong> 64 bits<<strong>br</strong> />

<strong>de</strong> uma iteração <strong>do</strong> DES <strong>com</strong>o a entrada para a interação DES seguinte e<<strong>br</strong> />

usan<strong>do</strong> uma chave criptográfica diferente para cada rodada<<strong>br</strong> />

O TRIPLE DES (3DES) é o padrão <strong>de</strong> criptografia para o PPP (RFC 2420)<<strong>br</strong> />

para a camada <strong>de</strong> enlace.<<strong>br</strong> />

DOUBLE DES (2DES) COM 2 CHAVES<<strong>br</strong> />

TRIPLE DES (3DES) COM 2 CHAVES<<strong>br</strong> />

TRIPLE DES (3DES) COM 3 CHAVES<<strong>br</strong> />

13


Algoritmos Algoritmos Candidatos Candidatos Candidatos Candidatos ao ao Novo Novo Novo Novo Novo Padrão<<strong>br</strong> />

Padrão<<strong>br</strong> />

França Japão Alemanha EUA Israel Bélgica<<strong>br</strong> />

Etapa Etapa <strong>de</strong> Classificação<<strong>br</strong> />

CAST-256 da Entrust Technologies,Inc.<<strong>br</strong> />

CRYPTON da Future Systems,Inc.<<strong>br</strong> />

DEAL <strong>de</strong> Richard Outer<strong>br</strong>idge e Lars Knudsen<<strong>br</strong> />

DFC CNRS da Ècole Normale Superieure<<strong>br</strong> />

E2 NTT da Nippon Telegr.Telephone Corp.<<strong>br</strong> />

FROG da TechApro Int’l S.ª<<strong>br</strong> />

HPC <strong>de</strong> Rich Schroeppel<<strong>br</strong> />

LOKI97 <strong>de</strong> L.Brown,J.Pieprzyk e J.Seberry<<strong>br</strong> />

MAGENTA da Deutsche Telekom AG<<strong>br</strong> />

MARS da IBM<<strong>br</strong> />

RC6 <strong>do</strong> RSA Laboratories<<strong>br</strong> />

RIJNDAEL da Joan Daemen e Vincent Rijmen<<strong>br</strong> />

SAFER+ da Cylink Corporation<<strong>br</strong> />

SERPENT <strong>do</strong>s R.An<strong>de</strong>rson, E.Biham e Lars<<strong>br</strong> />

Knudsen<<strong>br</strong> />

TWOFISH <strong>do</strong>s Bruce Schneier,<<strong>br</strong> />

J.Kelsey,D.Whiting, D.Wagner, Chris Hall, Niels<<strong>br</strong> />

Ferguson<<strong>br</strong> />

53<<strong>br</strong> />

IDEA<<strong>br</strong> />

IDEA<<strong>br</strong> />

Algoritmo<<strong>br</strong> />

<strong>Si</strong>métrico<<strong>br</strong> />

55<<strong>br</strong> />

Bits Descrição<<strong>br</strong> />

Semi Semi-finalistas, finalistas, NIST 1999<<strong>br</strong> />

MARS<<strong>br</strong> />

RC6<<strong>br</strong> />

RIJNDAEL<<strong>br</strong> />

SERPENT<<strong>br</strong> />

TWOFISH<<strong>br</strong> />

Vence<strong>do</strong>r<<strong>br</strong> />

RIJNDAEL<<strong>br</strong> />

Foi escolhi<strong>do</strong> novo padrão<<strong>br</strong> />

norte-americano:autores<<strong>br</strong> />

belgas<<strong>br</strong> />

IDEA 128 •O International Data Encryption Algorithm foi cria<strong>do</strong> em 1991 por<<strong>br</strong> />

James Massey e Xuejia Lai e possui patente da suíça ASCOM<<strong>br</strong> />

Systec.<<strong>br</strong> />

•Algoritmo segue as mesmas linhas gerais <strong>do</strong> DES.<<strong>br</strong> />

•O tamanho da chave (128 bits) inviabiliza a possibilida<strong>de</strong> <strong>de</strong> ataques<<strong>br</strong> />

por “força-<strong>br</strong>uta”.<<strong>br</strong> />

•Maioria <strong>do</strong>s microprocessa<strong>do</strong>res - uma implementação por software<<strong>br</strong> />

<strong>do</strong> IDEA é mais rápida <strong>do</strong> que uma implementação por software <strong>do</strong><<strong>br</strong> />

DES.<<strong>br</strong> />

•Utiliza<strong>do</strong> principalmente no merca<strong>do</strong> financeiro e no PGP (o<<strong>br</strong> />

programa para criptografia <strong>de</strong> e-mail pessoal mais dissemina<strong>do</strong> no<<strong>br</strong> />

mun<strong>do</strong>).<<strong>br</strong> />

Triple Triple Triple Triple Triple DES<<strong>br</strong> />

DES<<strong>br</strong> />

Algoritmo<<strong>br</strong> />

<strong>Si</strong>métrico<<strong>br</strong> />

Triple DES<<strong>br</strong> />

(3DES)<<strong>br</strong> />

54<<strong>br</strong> />

RC2<<strong>br</strong> />

RC2 RC2 RC2<<strong>br</strong> />

Algoritmo<<strong>br</strong> />

<strong>Si</strong>métrico<<strong>br</strong> />

56<<strong>br</strong> />

Bits Descrição<<strong>br</strong> />

112 ou 168<<strong>br</strong> />

•O 3DES - simples variação <strong>do</strong> DES, utilizan<strong>do</strong>-o em três<<strong>br</strong> />

ciframentos sucessivos, po<strong>de</strong>n<strong>do</strong> empregar um versão<<strong>br</strong> />

<strong>com</strong> duas ou <strong>com</strong> três chaves diferentes.<<strong>br</strong> />

•É seguro, porém muito lento para ser um algoritmo<<strong>br</strong> />

padrão.<<strong>br</strong> />

Bits Descrição<<strong>br</strong> />

RC2 8 a 1024 •Projeta<strong>do</strong> por Ron Rivest e utiliza<strong>do</strong> no protocolo S/MIME,<<strong>br</strong> />

volta<strong>do</strong> para criptografia <strong>de</strong> e-mail corporativo.<<strong>br</strong> />

•Cifra <strong>de</strong> fluxo, produz um corrente <strong>de</strong> números pseu<strong>do</strong>aleatórios<<strong>br</strong> />

que são cifra<strong>do</strong>s através <strong>de</strong> uma operação lógica<<strong>br</strong> />

XOR <strong>com</strong> a própria mensagem.<<strong>br</strong> />

•Possui chave <strong>de</strong> tamanho variável.<<strong>br</strong> />

•Rivest também é o autor <strong>do</strong> RC4, RC5 e RC6, este último<<strong>br</strong> />

concorrente <strong>do</strong> AES.<<strong>br</strong> />

14


<strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Si</strong>métrica<<strong>br</strong> />

<strong>Si</strong>métrica<<strong>br</strong> />

57<<strong>br</strong> />

Comparação entre os tipos <strong>de</strong> algoritmos <strong>de</strong> criptografia<<strong>br</strong> />

Características <strong>do</strong>s<<strong>br</strong> />

algoritmos simétricos<<strong>br</strong> />

mais conheci<strong>do</strong>s<<strong>br</strong> />

ECB<<strong>br</strong> />

ECB<<strong>br</strong> />

De<strong>com</strong>põe os da<strong>do</strong>s em blocos e aplica o algoritmo <strong>de</strong> cifragem a<<strong>br</strong> />

cada bloco.<<strong>br</strong> />

59<<strong>br</strong> />

Blocos idênticos produzem<<strong>br</strong> />

a mesma cifra.<<strong>br</strong> />

Enca<strong>de</strong>amento Enca<strong>de</strong>amento <strong>de</strong> <strong>de</strong> Blocos Blocos <strong>de</strong> <strong>de</strong> Cifra<<strong>br</strong> />

Cifra<<strong>br</strong> />

Classificação <strong>de</strong> cifras <strong>de</strong> bloco quanto ao mo<strong>do</strong> <strong>de</strong><<strong>br</strong> />

operação<<strong>br</strong> />

58<<strong>br</strong> />

CBC CBC CBC CBC<<strong>br</strong> />

CBC<<strong>br</strong> />

60<<strong>br</strong> />

Cifra Cifra direta<<strong>br</strong> />

ECB ECB (Eletronic letronic co<strong>de</strong> o<strong>de</strong>book) ook) *<<strong>br</strong> />

Cifras retroalimentadas<<strong>br</strong> />

CBC CBC (Cipher ipher block lock chaining) haining) *<<strong>br</strong> />

CFB CFB (Cipher ipher feed eedback) ack)<<strong>br</strong> />

OFB OFB (Output utput feed eedback) ack)<<strong>br</strong> />

* Os mais usa<strong>do</strong>s<<strong>br</strong> />

De<strong>com</strong>põe os da<strong>do</strong>s em blocos, e aplica a cifragem a cada bloco<<strong>br</strong> />

após fazer o XOR <strong>com</strong> o resulta<strong>do</strong> da cifragem <strong>do</strong> bloco anterior.<<strong>br</strong> />

Blocos idênticos<<strong>br</strong> />

conduzem a cifras<<strong>br</strong> />

diferentes.<<strong>br</strong> />

15


<strong>Criptografia</strong> <strong>Criptografia</strong> Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Algoritmo Descrição<<strong>br</strong> />

Diffie Diffie-Hellman Hellman •Também basea<strong>do</strong> no problema <strong>do</strong> logaritmo discreto (exponenciação<<strong>br</strong> />

discreta), é o criptossistema <strong>de</strong> chave pública mais antigo ainda em uso.<<strong>br</strong> />

•O conceito <strong>de</strong> chave pública foi introduzi<strong>do</strong> pelos autores <strong>de</strong>ste<<strong>br</strong> />

criptossistema em 1976.<<strong>br</strong> />

•Cada participante inicia <strong>com</strong> sua chave secreta e através da troca <strong>de</strong><<strong>br</strong> />

informações é <strong>de</strong>rivada uma outra chave chamada chave <strong>de</strong> seção, que<<strong>br</strong> />

será usada para futuras <strong>com</strong>unicações.<<strong>br</strong> />

61 <strong>Criptografia</strong><<strong>br</strong> />

63 <strong>Criptografia</strong><<strong>br</strong> />

Whitfield Diffie<<strong>br</strong> />

http://research.sun.<strong>com</strong>/people/diffie/<<strong>br</strong> />

Ralph Merkle<<strong>br</strong> />

Algoritmo Algoritmo <strong>de</strong> <strong>de</strong> Diffie Diffie-Hellman<<strong>br</strong> />

Diffie Hellman<<strong>br</strong> />

Hellman<<strong>br</strong> />

http://www.merkle.<strong>com</strong>/<<strong>br</strong> />

Experimento que Desafia o Axioma da <strong>Criptografia</strong><<strong>br</strong> />

Martin Hellman<<strong>br</strong> />

http://www<<strong>br</strong> />

http://www-ee.stanford.edu/~hellman/<<strong>br</strong> />

ee.stanford.edu/~hellman/<<strong>br</strong> />

Solução 3: o único meio <strong>de</strong> contornar o problema parece ser que Alice<<strong>br</strong> />

faça uma cópia <strong>de</strong> sua chave e a dê para Bob antes, quan<strong>do</strong> eles se<<strong>br</strong> />

encontrarem para tomar café. Até agora só repetimos o velho problema<<strong>br</strong> />

em um novo cenário. Problema não resolvi<strong>do</strong> resolvi<strong>do</strong>.<<strong>br</strong> />

Evitar a distribuição <strong>de</strong> chaves parece logicamente impossível<<strong>br</strong> />

impossível. . Com<<strong>br</strong> />

certeza se Alice quer trancar alguma coisa em uma caixa <strong>de</strong> mo<strong>do</strong> que<<strong>br</strong> />

apenas Bob possa a<strong>br</strong>i a<strong>br</strong>i-la, la, ela <strong>de</strong>ve dar uma cópia da chave para ele.<<strong>br</strong> />

Em termos criptográficos: se Alice <strong>de</strong>seja cifrar uma mensagem <strong>de</strong><<strong>br</strong> />

maneira que somente Bob possa <strong>de</strong>cifrá <strong>de</strong>cifrá-la, la, ela <strong>de</strong>ve lhe fornecer uma<<strong>br</strong> />

cópia da chave chave. . A troca <strong>de</strong> chaves é uma parte inevitável da cifragem, ou<<strong>br</strong> />

será que não é ?<<strong>br</strong> />

Agora imagine o seguinte cenário: Alice quer enviar uma mensagem<<strong>br</strong> />

altamente pessoal para Bob. Novamente ela coloca sua carta secreta em<<strong>br</strong> />

uma caixa <strong>de</strong> ferro <strong>com</strong> ca<strong>de</strong>a<strong>do</strong> e a envia para Bob. Quan<strong>do</strong> a caixa<<strong>br</strong> />

chega, Bob coloca nela o seu próprio próprio ca<strong>de</strong>a<strong>do</strong> e a envia <strong>de</strong> volta para<<strong>br</strong> />

Alice ...<<strong>br</strong> />

Algoritmo Algoritmo Algoritmo Algoritmo <strong>de</strong> <strong>de</strong> Diffie Diffie-Hellman<<strong>br</strong> />

Diffie Hellman<<strong>br</strong> />

Hellman<<strong>br</strong> />

Experimento que Desafia o Axioma da <strong>Criptografia</strong><<strong>br</strong> />

Axioma Axioma: : Distribuição <strong>de</strong> chaves é inevitável (uma verda<strong>de</strong> indiscutível)<<strong>br</strong> />

Trocar chaves pessoalmente é certamente mais seguro, mas<<strong>br</strong> />

inconveniente<<strong>br</strong> />

Experimento<<strong>br</strong> />

Experimento: : imagine que Alice e Bob vivem em um país on<strong>de</strong> o serviço<<strong>br</strong> />

<strong>de</strong> correios é <strong>com</strong>pletamente corrupto, e os emprega<strong>do</strong>s <strong>do</strong>s correios<<strong>br</strong> />

costumam ler qualquer correspondência <strong>de</strong>sprotegida<<strong>br</strong> />

<strong>de</strong>sprotegida.<<strong>br</strong> />

Problema<<strong>br</strong> />

Problema: : Alice <strong>de</strong>seja enviar uma mensagem altamente pessoal para<<strong>br</strong> />

Bob.<<strong>br</strong> />

Solução 11:<<strong>br</strong> />

: Alice coloca a mensagem <strong>de</strong>ntro <strong>de</strong> uma caixa <strong>de</strong> ferro ferro, , e<<strong>br</strong> />

fecha a caixa <strong>com</strong> um ca<strong>de</strong>a<strong>do</strong> ca<strong>de</strong>a<strong>do</strong>. . Em seguida <strong>de</strong>spacha a caixa trancada<<strong>br</strong> />

pelo correios e fica <strong>com</strong> a chave. Quan<strong>do</strong> recebe a caixa, Bob é incapaz <strong>de</strong><<strong>br</strong> />

a<strong>br</strong>i a<strong>br</strong>i-la la porque não possui a chave. Problema não resolvi<strong>do</strong><<strong>br</strong> />

resolvi<strong>do</strong>.<<strong>br</strong> />

Solução 22:<<strong>br</strong> />

: Alice po<strong>de</strong> pensar em <strong>de</strong>spachar a chave em outra caixa,<<strong>br</strong> />

também trancada <strong>com</strong> um ca<strong>de</strong>a<strong>do</strong>, mas sem a chave <strong>do</strong> segun<strong>do</strong><<strong>br</strong> />

ca<strong>de</strong>a<strong>do</strong> Bob não po<strong>de</strong>rá a<strong>br</strong>ir a segunda caixa e assim não po<strong>de</strong>rá obter<<strong>br</strong> />

a chave <strong>do</strong> primeiro ca<strong>de</strong>a<strong>do</strong>. Problema não resolvi<strong>do</strong> resolvi<strong>do</strong>.<<strong>br</strong> />

62 <strong>Criptografia</strong><<strong>br</strong> />

Algoritmo Algoritmo Algoritmo Algoritmo Algoritmo <strong>de</strong> <strong>de</strong> Diffie Diffie-Hellman<<strong>br</strong> />

Diffie Hellman<<strong>br</strong> />

Hellman<<strong>br</strong> />

Experimento que Desafia o Axioma da <strong>Criptografia</strong><<strong>br</strong> />

As implicações <strong>de</strong>sse experimento são enormes. Ele <strong>de</strong>monstra que<<strong>br</strong> />

uma mensagem secreta po<strong>de</strong> ser trocada em segurança entre duas<<strong>br</strong> />

pessoas sem que elas troquem necessariamente a chave.<<strong>br</strong> />

Assim Assim nós temos uma sugestão <strong>de</strong> que a troca <strong>de</strong> chaves po<strong>de</strong> não ser<<strong>br</strong> />

uma parte inevitável da criptografia.<<strong>br</strong> />

Po<strong>de</strong>mos reinterpretar o experimento em termos <strong>de</strong> cifragem: Alice usa<<strong>br</strong> />

sua própria chave para cifrar a mensagem para Bob, e ele a cifra <strong>de</strong> novo<<strong>br</strong> />

<strong>com</strong> sua própria chave chave, , envian<strong>do</strong><<strong>br</strong> />

envian<strong>do</strong>-a a para ela. Quan<strong>do</strong> Alice recebe a<<strong>br</strong> />

mensagem, duplamente cifrada cifrada, , ela retira sua cifra e a envia para Bob,<<strong>br</strong> />

que então po<strong>de</strong> retirar a sua cifra e ler a mensagem.<<strong>br</strong> />

Parece que o problema da distribuição <strong>de</strong> chaves po<strong>de</strong>ria ser resolvi<strong>do</strong><<strong>br</strong> />

<strong>com</strong> a dupla cifragem cifragem, , porque este esquema não requer uma troca <strong>de</strong><<strong>br</strong> />

chaves !?<<strong>br</strong> />

Problema não resolvi<strong>do</strong>: problema é a or<strong>de</strong>m <strong>de</strong> cifragem e <strong>de</strong>cifragem<<strong>br</strong> />

Alice cifra – Bob cifra – Alice <strong>de</strong>cifra – Bob <strong>de</strong>cifra<<strong>br</strong> />

Devemos obe<strong>de</strong>cer a regra regra: : último <strong>de</strong>ntro, primeiro fora<<strong>br</strong> />

64 <strong>Criptografia</strong><<strong>br</strong> />

16


Algoritmo Algoritmo <strong>de</strong> <strong>de</strong> Diffie Diffie-Hellman<<strong>br</strong> />

Diffie Hellman<<strong>br</strong> />

Hellman<<strong>br</strong> />

Embora o experimento da caixa <strong>com</strong> <strong>do</strong>is ca<strong>de</strong>a<strong>do</strong>s não funcione<<strong>br</strong> />

no mun<strong>do</strong> real da criptografia, ele inspirou Diffie e Hellman a<<strong>br</strong> />

procurarem um méto<strong>do</strong> prático <strong>de</strong> solucionar o problema da<<strong>br</strong> />

distribuição <strong>de</strong> chaves<<strong>br</strong> />

Eles passaram meses tentan<strong>do</strong> achar uma solução. A pesquisa<<strong>br</strong> />

<strong>de</strong>les concentrou<<strong>br</strong> />

concentrou-se se no exame <strong>de</strong> várias funções matemáticas<<strong>br</strong> />

matemáticas.<<strong>br</strong> />

Uma função matemática é qualquer operação matemática que<<strong>br</strong> />

transforma um número em outro número.<<strong>br</strong> />

Exemplo: “<strong>do</strong><strong>br</strong>ar” é um tipo <strong>de</strong> função, porque transforma<<strong>br</strong> />

o número 3 em 6, e o número 9 em 18<<strong>br</strong> />

Po<strong>de</strong>mos pensar em todas as formas <strong>de</strong> cifragem por<<strong>br</strong> />

<strong>com</strong>puta<strong>do</strong>r <strong>com</strong> funções, porque elas transformam um<<strong>br</strong> />

número (texto claro) em outro número (texto cifra<strong>do</strong>)<<strong>br</strong> />

A maioria da funções matemáticas são classificadas <strong>com</strong>o<<strong>br</strong> />

funções <strong>de</strong> mão dupla, porque é fácil fazê fazê-las las e <strong>de</strong>sfazê <strong>de</strong>sfazê-las. las.<<strong>br</strong> />

65 <strong>Criptografia</strong><<strong>br</strong> />

Algoritmo Algoritmo <strong>de</strong> <strong>de</strong> Diffie Diffie-Hellman<<strong>br</strong> />

Diffie Hellman<<strong>br</strong> />

Hellman<<strong>br</strong> />

Função 3 3x para x = 2 3x = 3 . 3 = 9<<strong>br</strong> />

3x = 81 x = 4<<strong>br</strong> />

Função 3 3x (mod 7)<<strong>br</strong> />

para x = 3 3x (mod 7) = 3 33 (mod 7) = 27 (mod 7) = 6<<strong>br</strong> />

3x (mod 7) = 5 x = ?<<strong>br</strong> />

x 1 2 3 4 5 6<<strong>br</strong> />

3 x 3 9 27 81 243 729<<strong>br</strong> />

3 x (mod 7) 3 2 6 4 5 1<<strong>br</strong> />

67 <strong>Criptografia</strong><<strong>br</strong> />

Algoritmo Algoritmo Algoritmo Algoritmo <strong>de</strong> <strong>de</strong> Diffie Diffie-Hellman<<strong>br</strong> />

Diffie Hellman<<strong>br</strong> />

Hellman<<strong>br</strong> />

Por exemplo, “<strong>do</strong><strong>br</strong>ar”é uma função <strong>de</strong> mão dupla, porque é fácil<<strong>br</strong> />

<strong>do</strong><strong>br</strong>ar um número para gerar um novo número, enquanto é<<strong>br</strong> />

igualmente fácil <strong>de</strong>sfazer a função para obter o número original a<<strong>br</strong> />

partir <strong>do</strong> número <strong>do</strong><strong>br</strong>a<strong>do</strong>.<<strong>br</strong> />

Ex: x * 2 = 26 x = 13<<strong>br</strong> />

ativida<strong>de</strong>s diárias: o ato <strong>de</strong> pressionar um interruptor para<<strong>br</strong> />

acen<strong>de</strong>r uma lâmpada é uma função <strong>de</strong> mão dupla.<<strong>br</strong> />

Diffie e Hellman não estavam interessa<strong>do</strong>s em funções <strong>de</strong> mão<<strong>br</strong> />

dupla dupla.<<strong>br</strong> />

Eles focalizaram a atenção em funções <strong>de</strong> mão única única:<<strong>br</strong> />

Aritmética modular:<<strong>br</strong> />

5 = 5 (mod ( mod 7) )<<strong>br</strong> />

5 = 5 (mod ( mod 12)<<strong>br</strong> />

66 <strong>Criptografia</strong><<strong>br</strong> />

Algoritmo Algoritmo Algoritmo Algoritmo Algoritmo <strong>de</strong> <strong>de</strong> Diffie Diffie-Hellman<<strong>br</strong> />

Diffie Hellman<<strong>br</strong> />

Hellman<<strong>br</strong> />

Função 453 453x (mod mod 21.997)<<strong>br</strong> />

para x = 1 453 453x (mod mod 21.997) = 453 4531 (mod mod 21.997) = 453<<strong>br</strong> />

453 453x (mod mod 21.997) = 5.787 x = ?<<strong>br</strong> />

Após 2 anos estudan<strong>do</strong> a aritmética modular e as funções <strong>de</strong> mão<<strong>br</strong> />

única única, , Diffie e Hellman publicaram na primavera <strong>de</strong> 1976 a teoria que<<strong>br</strong> />

provou que Alice e Bob podiam estabelecer uma chave sem se<<strong>br</strong> />

encontrar, eliminan<strong>do</strong> um axioma que durara séculos.<<strong>br</strong> />

A idéia <strong>de</strong>pendia <strong>de</strong> uma função <strong>de</strong> mão única da forma:<<strong>br</strong> />

gx (mod mod p)<<strong>br</strong> />

Ex: g = 7 p = 11 7x (mod mod 11)<<strong>br</strong> />

Alice e Bob escolheram uma função <strong>de</strong> mão única e os valores<<strong>br</strong> />

<strong>de</strong> g e p. Neste ponto, eles po<strong>de</strong>m iniciar o processo <strong>de</strong><<strong>br</strong> />

estabelecer uma chave secreta sem se encontrar.<<strong>br</strong> />

68 <strong>Criptografia</strong><<strong>br</strong> />

17


Algoritmo Algoritmo <strong>de</strong> <strong>de</strong> Diffie Diffie-Hellman<<strong>br</strong> />

Diffie Hellman<<strong>br</strong> />

Hellman<<strong>br</strong> />

Exemplo: K = gx (mod mod p)<<strong>br</strong> />

Alice<<strong>br</strong> />

a = 3 ( (chave chave secreta secreta)<<strong>br</strong> />

g =7<<strong>br</strong> />

p = 11<<strong>br</strong> />

A = ga (mod mod p) = 7 3 (mod mod 11) = 2<<strong>br</strong> />

KA = Ba (mod mod p) = 4 3 (mod mod 11) = 9<<strong>br</strong> />

Bob<<strong>br</strong> />

b = 6 ( (chave chave secreta secreta)<<strong>br</strong> />

B = gb (mod mod p) = 7 6 (mod mod 11) = 4<<strong>br</strong> />

KB = A Ab (mod mod p) = 2 6 (mod mod 11) = 9<<strong>br</strong> />

Conclusão: KA = K B (chave <strong>de</strong> seção)<<strong>br</strong> />

69 <strong>Criptografia</strong><<strong>br</strong> />

Algoritmo Algoritmo <strong>de</strong> <strong>de</strong> Diffie Diffie-Hellman<<strong>br</strong> />

Diffie Hellman<<strong>br</strong> />

Hellman<<strong>br</strong> />

71 <strong>Criptografia</strong><<strong>br</strong> />

Restrições na Escolha <strong>de</strong> g e p<<strong>br</strong> />

g (base) precisa ser menor <strong>do</strong><<strong>br</strong> />

que p (módulo)<<strong>br</strong> />

g precisa ser maior <strong>do</strong> que 1<<strong>br</strong> />

Função modular para o cálculo da chave <strong>com</strong>partilhada e da chave secreta :<<strong>br</strong> />

K(x) = gx (mod mod p)<<strong>br</strong> />

Algoritmo Algoritmo Algoritmo Algoritmo <strong>de</strong> <strong>de</strong> Diffie Diffie-Hellman<<strong>br</strong> />

Diffie Hellman<<strong>br</strong> />

Hellman<<strong>br</strong> />

k = gx (mod (mod p) ) : chave secreta <strong>com</strong>partilhada<<strong>br</strong> />

O expoente x é chama<strong>do</strong> <strong>de</strong> logaritmo discreto <strong>de</strong> k na base<<strong>br</strong> />

g mod p<<strong>br</strong> />

Da<strong>do</strong> g, , x e p, , é fácil calcular k<<strong>br</strong> />

Da<strong>do</strong> g, , k e p, , é difícil calcular x<<strong>br</strong> />

Conclusão<<strong>br</strong> />

Diffie Diffie-Hellman Hellman é uma técnica muito usada para troca <strong>de</strong> chaves<<strong>br</strong> />

SSL (Secure ecure Socket ocket Layer) ayer)<<strong>br</strong> />

PGP (Pretty retty Good ood Privacy rivacy)<<strong>br</strong> />

SSL (Secure ecure Sockets ockets Layer ayer)<<strong>br</strong> />

IPSec (Internet nternet Protocol rotocol Sec Security urity - RFC2401-12<<strong>br</strong> />

RFC2401 12)<<strong>br</strong> />

SSH (Secure ecure Shell)<<strong>br</strong> />

Porém está sujeito ao ataque <strong>do</strong> homem no meio (man man-in in-the the-<<strong>br</strong> />

middle attack attack) ) na troca <strong>de</strong> valores públicos k (ausência ausência <strong>de</strong> autenticação<<strong>br</strong> />

entre as partes) partes<<strong>br</strong> />

Segurança <strong>do</strong> Diffie-Hellman<<strong>br</strong> />

Diffie Hellman<<strong>br</strong> />

Criptoanálise<<strong>br</strong> />

Criptoanálise: : conheci<strong>do</strong>s p, , g e k, , é preciso calcular o log<<strong>br</strong> />

discreto para obter x (difícil difícil)<<strong>br</strong> />

70 <strong>Criptografia</strong><<strong>br</strong> />

<strong>Criptografia</strong> <strong>Criptografia</strong> Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

72<<strong>br</strong> />

Texto claro Mensagem cifrada<<strong>br</strong> />

As chaves são sempre geradas aos pares pares: : uma para cifrar e a sua<<strong>br</strong> />

correspon<strong>de</strong>nte para <strong>de</strong>cifrar <strong>de</strong>cifrar.<<strong>br</strong> />

A chave pública é divulgada, a chave privada é proprietária (normalmente<<strong>br</strong> />

não aban<strong>do</strong>na o ambiente on<strong>de</strong> foi gerada).<<strong>br</strong> />

Uma chave é utilizada para “fechar o ca<strong>de</strong>a<strong>do</strong>” e outra chave, diferente,<<strong>br</strong> />

mas relacionada à primeira, é utilizada para<<strong>br</strong> />

“a<strong>br</strong>ir o ca<strong>de</strong>a<strong>do</strong>”<<strong>br</strong> />

18


<strong>Criptografia</strong> <strong>Criptografia</strong> Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

<strong>Criptografia</strong> Assimétrica - Não ão possui segre<strong>do</strong>s <strong>com</strong>partilha<strong>do</strong>s<<strong>br</strong> />

<strong>Criptografia</strong><<strong>br</strong> />

Para: Banco<<strong>br</strong> />

De: Affonso<<strong>br</strong> />

Data: 16, A<strong>br</strong>, 2001<<strong>br</strong> />

Transferir R$ 2,0<<strong>br</strong> />

milhões da conta<<strong>br</strong> />

254674-12 para<<strong>br</strong> />

a conta 071517-08<<strong>br</strong> />

Affonso<<strong>br</strong> />

Descriptografia<<strong>br</strong> />

*> *ql3*UY<<strong>br</strong> />

#~00873/JDI<<strong>br</strong> />

c4(DH: IWB(883<<strong>br</strong> />

LKS9UI29as9%#@<<strong>br</strong> />

qw9vijhas9djerhp7<<strong>br</strong> />

(*Y23k^wbvlqkwc<<strong>br</strong> />

zqw-_89237xGyjdc<<strong>br</strong> />

Biskdue di7@94<<strong>br</strong> />

73 <strong>Criptografia</strong><<strong>br</strong> />

+ + Algoritmo =<<strong>br</strong> />

Chave Pública<<strong>br</strong> />

+ + Algoritmo =<<strong>br</strong> />

Chave Privada<<strong>br</strong> />

*> *ql3*UY<<strong>br</strong> />

#~00873/JDI<<strong>br</strong> />

c4(DH: IWB(883<<strong>br</strong> />

LKS9UI29as9%#@<<strong>br</strong> />

qw9vijhas9djerhp7<<strong>br</strong> />

(*Y23k^wbvlqkwc<<strong>br</strong> />

zqw-_89237xGyjdc<<strong>br</strong> />

Biskdue di7@94<<strong>br</strong> />

Para: Banco<<strong>br</strong> />

De: Affonso<<strong>br</strong> />

Data: 16, A<strong>br</strong>, 2001<<strong>br</strong> />

Transferir R$ 2,0<<strong>br</strong> />

milhões da conta<<strong>br</strong> />

254674-12 para<<strong>br</strong> />

a conta 071517-08<<strong>br</strong> />

Affonso<<strong>br</strong> />

As duas chaves são relacionadas através <strong>de</strong> um processo matemático,<<strong>br</strong> />

usan<strong>do</strong> funções unidirecionais para a cifragem da informação.<<strong>br</strong> />

<strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Uso <strong>de</strong> <strong>de</strong> algoritmo criptográfico assimétrico (chave pública)<<strong>br</strong> />

Alice<<strong>br</strong> />

Mensagem<<strong>br</strong> />

(abc<strong>de</strong>f...z)<<strong>br</strong> />

Chave<<strong>br</strong> />

K Pública<<strong>br</strong> />

75 <strong>Criptografia</strong><<strong>br</strong> />

Canal Público<<strong>br</strong> />

Criptograma<<strong>br</strong> />

(αβχδεφ αβχδεφ... ...ζ)<<strong>br</strong> />

Cifrar Decifrar<<strong>br</strong> />

Canal Inseguro<<strong>br</strong> />

Chave<<strong>br</strong> />

K Secreta<<strong>br</strong> />

Bob<<strong>br</strong> />

Mensagem<<strong>br</strong> />

(abc<strong>de</strong>f...z)<<strong>br</strong> />

Para que Alice envie uma mensagem confi<strong>de</strong>ncial a Bob, ela <strong>de</strong>ve cifrar<<strong>br</strong> />

essa mensagem <strong>com</strong> a chave pública <strong>de</strong> Bob que, <strong>de</strong> posse <strong>de</strong> sua chave<<strong>br</strong> />

privada privada, consegue <strong>de</strong>cifrá <strong>de</strong>cifrá-la la. Como, em tese, ninguém tem acesso à chave<<strong>br</strong> />

privada <strong>de</strong> Bob Bob, ninguém po<strong>de</strong> <strong>de</strong>cifrar a mensagem<<strong>br</strong> />

mensagem.<<strong>br</strong> />

<strong>Criptografia</strong> <strong>Criptografia</strong> Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Algoritmos Algoritmos assimétricos - permitem que a chave <strong>de</strong> cifração possa ser<<strong>br</strong> />

tornada pública, disponibilizan<strong>do</strong><<strong>br</strong> />

disponibilizan<strong>do</strong>-a a em um “canal público” (Ex.:<<strong>br</strong> />

repositório <strong>de</strong> acesso público) - chave chave-pública. pública.<<strong>br</strong> />

Qualquer Qualquer um po<strong>de</strong> cifrar mensagens <strong>com</strong> uma dada chave chave-pública. pública.<<strong>br</strong> />

Somente Somente o <strong>de</strong>stinatário, <strong>de</strong>tentor da correspon<strong>de</strong>nte chave <strong>de</strong><<strong>br</strong> />

<strong>de</strong>cifração (chave (chave-privada, privada, ou secreta), po<strong>de</strong>rá <strong>de</strong>cifrar a mensagem.<<strong>br</strong> />

A chave privada não precisa e nem <strong>de</strong>ve ser dada a conhecer a ninguém,<<strong>br</strong> />

<strong>de</strong>ven<strong>do</strong> ser guardada em segre<strong>do</strong> pelo seu <strong>de</strong>tentor apenas, que <strong>de</strong>ve<<strong>br</strong> />

também ter si<strong>do</strong> o responsável pela geração <strong>do</strong> seu par <strong>de</strong> chaves chaves,<<strong>br</strong> />

enquanto a chave pública po<strong>de</strong> ser publicada livremente<<strong>br</strong> />

livremente.<<strong>br</strong> />

74 <strong>Criptografia</strong><<strong>br</strong> />

<strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Descrição <strong>do</strong> funcionamento <strong>do</strong> sistema<<strong>br</strong> />

(forma simplificada)<<strong>br</strong> />

Bob e to<strong>do</strong>s os que <strong>de</strong>sejam <strong>com</strong>unicar-se <strong>de</strong> mo<strong>do</strong> seguro<<strong>br</strong> />

geram uma chave <strong>de</strong> ciframento e sua correspon<strong>de</strong>nte chave<<strong>br</strong> />

<strong>de</strong> <strong>de</strong>ciframento.<<strong>br</strong> />

Bob mantém secreta a chave <strong>de</strong> <strong>de</strong>ciframento; esta é chamada<<strong>br</strong> />

<strong>de</strong> sua chave privada (DB).<<strong>br</strong> />

Bob torna pública a chave <strong>de</strong> ciframento: esta é chamada <strong>de</strong><<strong>br</strong> />

sua chave pública (EB).<<strong>br</strong> />

Qualquer pessoa po<strong>de</strong> obter uma cópia da chave pública (EB).<<strong>br</strong> />

Bob encoraja isto, envian<strong>do</strong>-a para seus amigos ou publican<strong>do</strong>a<<strong>br</strong> />

em boletins. Eva não tem nenhuma dificulda<strong>de</strong> em obtê-la.<<strong>br</strong> />

76 <strong>Criptografia</strong><<strong>br</strong> />

19


<strong>Criptografia</strong> <strong>Criptografia</strong> Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Descrição <strong>do</strong> funcionamento <strong>do</strong> sistema<<strong>br</strong> />

(forma simplificada)<<strong>br</strong> />

Alice <strong>de</strong>seja enviar uma mensagem a Bob: precisa primeiro<<strong>br</strong> />

encontrar a chave pública <strong>de</strong>le (EB). Feito isto, ela cifra sua<<strong>br</strong> />

mensagem utilizan<strong>do</strong> a chave pública <strong>de</strong> Bob (EB),<<strong>br</strong> />

<strong>de</strong>spachan<strong>do</strong>-a em seguida.<<strong>br</strong> />

Bob recebe a mensagem, a <strong>de</strong>cifra facilmente <strong>com</strong> sua chave<<strong>br</strong> />

privada (DB).<<strong>br</strong> />

Eva, que interceptou a mensagem em trânsito, não conhece a<<strong>br</strong> />

chave privada <strong>de</strong> Bob (DB), embora conheça sua chave pública<<strong>br</strong> />

(EB). Mas este conhecimento não a ajuda a <strong>de</strong>cifrar a<<strong>br</strong> />

mensagem.<<strong>br</strong> />

Mesmo Alice, que foi quem cifrou a mensagem <strong>com</strong> a chave<<strong>br</strong> />

pública <strong>de</strong> Bob (EB), não po<strong>de</strong> <strong>de</strong>cifrá-la agora.<<strong>br</strong> />

77 <strong>Criptografia</strong><<strong>br</strong> />

<strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Exemplos <strong>de</strong> algoritmos que utilizam chaves públicas<<strong>br</strong> />

RSA<<strong>br</strong> />

ElGamal<<strong>br</strong> />

Curvas Elípticas<<strong>br</strong> />

79 <strong>Criptografia</strong><<strong>br</strong> />

<strong>Criptografia</strong> <strong>Criptografia</strong> Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Algoritmo <strong>de</strong>ve aten<strong>de</strong>r 3 requisitos básicos: básicos<<strong>br</strong> />

1. D(E(P E(P)) )) = P (E: chave pública D: chave privada)<<strong>br</strong> />

2. É extremamente difícil <strong>de</strong>duzir D a partir <strong>de</strong> E<<strong>br</strong> />

3. E não po<strong>de</strong> ser <strong>de</strong>cifra<strong>do</strong> por um ataque <strong>de</strong> texto claro<<strong>br</strong> />

escolhi<strong>do</strong><<strong>br</strong> />

Três principais variações para a Criptoanálise:<<strong>br</strong> />

Criptoanálise<<strong>br</strong> />

•Texto Texto cifra<strong>do</strong> – <strong>de</strong>termina<strong>do</strong> volume <strong>de</strong> texto cifra<strong>do</strong> e nenhum texto claro. claro<<strong>br</strong> />

•Texto Texto claro conheci<strong>do</strong> – há uma correspondência entre o texto cifra<strong>do</strong> e o texto<<strong>br</strong> />

claro claro.<<strong>br</strong> />

•Texto Texto claro escolhi<strong>do</strong> – criptoanalista tem a possibilida<strong>de</strong> <strong>de</strong> cifrar trechos <strong>do</strong><<strong>br</strong> />

texto claro escolhi<strong>do</strong>s por ele mesmo. mesmo<<strong>br</strong> />

78 <strong>Criptografia</strong><<strong>br</strong> />

<strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Algoritmo Descrição<<strong>br</strong> />

RSA<<strong>br</strong> />

•Possui este nome <strong>de</strong>vi<strong>do</strong> a seus inventores: Ron Rivest, Adi Shamir e Leonard<<strong>br</strong> />

Adleman, que o criaram em 1977 no MIT. MIT<<strong>br</strong> />

•Amplamente utiliza<strong>do</strong> e uma das mais po<strong>de</strong>rosas formas <strong>de</strong> criptografia <strong>de</strong> chave<<strong>br</strong> />

pública conhecidas. Utiliza números primos.<<strong>br</strong> />

•Premissa por trás <strong>do</strong> RSA: é fácil multiplicar <strong>do</strong>is números primos para obter um<<strong>br</strong> />

terceiro número, mas muito difícil recuperar os <strong>do</strong>is primos a partir daquele terceiro<<strong>br</strong> />

número - fatoração.<<strong>br</strong> />

•Exemplo: Fatores primos <strong>de</strong> 3.337 são 47 e 71. Geração da chave pública:<<strong>br</strong> />

multiplicar <strong>do</strong>is primos gran<strong>de</strong>s; qualquer um po<strong>de</strong> fazer isto. Derivar a chave<<strong>br</strong> />

privada a partir da chave pública: fatorar um gran<strong>de</strong> número. Se o número for<<strong>br</strong> />

gran<strong>de</strong> o suficiente e bem escolhi<strong>do</strong>, então ninguém po<strong>de</strong> fazer isto em uma<<strong>br</strong> />

quantida<strong>de</strong> <strong>de</strong> tempo razoável.<<strong>br</strong> />

80 <strong>Criptografia</strong><<strong>br</strong> />

Ronald Linn Rivest<<strong>br</strong> />

Adi Shamir<<strong>br</strong> />

Leonard Max Adleman<<strong>br</strong> />

20


<strong>Criptografia</strong> <strong>Criptografia</strong> Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Algoritmo Descrição<<strong>br</strong> />

RSA<<strong>br</strong> />

81 <strong>Criptografia</strong><<strong>br</strong> />

Algoritmo Algoritmo - RSA<<strong>br</strong> />

RSA<<strong>br</strong> />

83 <strong>Criptografia</strong><<strong>br</strong> />

•Segurança: dificulda<strong>de</strong> <strong>de</strong> fatoração <strong>de</strong> números gran<strong>de</strong>s.<<strong>br</strong> />

•Uma chave RSA <strong>de</strong> 512 bits foi que<strong>br</strong>ada em 1999 pelo Instituto<<strong>br</strong> />

Nacional <strong>de</strong> Pesquisa da Holanda, <strong>com</strong> o apoio <strong>de</strong> cientistas <strong>de</strong> mais 6<<strong>br</strong> />

países. Levou cerca <strong>de</strong> 7 meses e foram utilizadas 300 estações <strong>de</strong><<strong>br</strong> />

trabalho para a que<strong>br</strong>a.<<strong>br</strong> />

•Fato preocupante: percentual significativo <strong>do</strong>s sites <strong>de</strong> <strong>com</strong>ércio<<strong>br</strong> />

eletrônico utilizam chaves RSA <strong>de</strong> 512 bits bits.<<strong>br</strong> />

http://www.rsa.<strong>com</strong>/<<strong>br</strong> />

Descrição Descrição <strong>do</strong> funcionamento<<strong>br</strong> />

O texto simples (uma string <strong>de</strong> bits) é dividi<strong>do</strong> em blocos, <strong>de</strong><<strong>br</strong> />

mo<strong>do</strong> que cada mensagem <strong>de</strong> texto simples, P , fique no<<strong>br</strong> />

intervalo 0 ≤ P < n<<strong>br</strong> />

Criptografar a mensagem P : calcula calcula-se se C = P e (mod mod n)<<strong>br</strong> />

Descriptografar C : calcula calcula-se se P = Cd (mod mod n)<<strong>br</strong> />

É possível provar que, para to<strong>do</strong> P na faixa especificada, as<<strong>br</strong> />

funções <strong>de</strong> criptografia e <strong>de</strong>scriptografia são inversas entre si<<strong>br</strong> />

Algoritmo Algoritmo Algoritmo Algoritmo - RSA<<strong>br</strong> />

RSA<<strong>br</strong> />

Descrição Descrição <strong>do</strong> funcionamento<<strong>br</strong> />

1.Escolhe<<strong>br</strong> />

1. Escolhe-se se <strong>do</strong>is números primos extensos, p e q, ,<<strong>br</strong> />

(geralmente, <strong>de</strong> 1.024 bits)<<strong>br</strong> />

1.Calcula<<strong>br</strong> />

1. Calcula-se: se: n = p × q e z = ( (p p - 1) × (q q - 1)<<strong>br</strong> />

2.Escolhe<<strong>br</strong> />

2. Escolhe-se se um número d tal que z e d sejam primos entre si<<strong>br</strong> />

3.Encontra<<strong>br</strong> />

3. Encontra-se se e <strong>de</strong> forma que ( (e e × d ) mod z = 1<<strong>br</strong> />

82 <strong>Criptografia</strong><<strong>br</strong> />

Algoritmo Algoritmo Algoritmo Algoritmo Algoritmo - RSA<<strong>br</strong> />

RSA<<strong>br</strong> />

Descrição Descrição <strong>do</strong> funcionamento<<strong>br</strong> />

Para realizar a criptografia, são necessários " "e" " e "n“<<strong>br</strong> />

Para a <strong>de</strong>scriptografia, são necessários "d" " e "n"<<strong>br</strong> />

Portanto a chave pública consiste no par ( (e,n) e a chave<<strong>br</strong> />

privada consiste em (d,n)<<strong>br</strong> />

A segurança <strong>do</strong> méto<strong>do</strong> se baseia na dificulda<strong>de</strong> <strong>de</strong> fatorar<<strong>br</strong> />

números extensos.<<strong>br</strong> />

Se pu<strong>de</strong>sse fatorar o valor n (publicamente conheci<strong>do</strong>), seria<<strong>br</strong> />

possível <strong>de</strong>terminar p e q para, a partir <strong>de</strong>stes, encontrar z e,<<strong>br</strong> />

então, seria possível encontrar d, porém fatorar números<<strong>br</strong> />

extensos é extremamente difícil.<<strong>br</strong> />

difícil<<strong>br</strong> />

84 <strong>Criptografia</strong><<strong>br</strong> />

21


Algoritmo Algoritmo - RSA<<strong>br</strong> />

RSA<<strong>br</strong> />

Exemplo Exemplo<<strong>br</strong> />

Escolhe Escolhe-se se p = 3 e q = 11<<strong>br</strong> />

Calculan<strong>do</strong> n = p × q e z = ( (p-1) 1) × (q-1) 1), , n=33 =33 e z=20 =20<<strong>br</strong> />

Valor a<strong>de</strong>qua<strong>do</strong> <strong>com</strong>o número primo, em relação a z é o 7,<<strong>br</strong> />

(7 e 20 não possuem fatores <strong>com</strong>uns – primos entre si),<<strong>br</strong> />

d = 7<<strong>br</strong> />

Obtenção <strong>do</strong> valor <strong>de</strong> e: :<<strong>br</strong> />

solução da equação (e e × d) ) mod z = 11,<<strong>br</strong> />

, e = 3<<strong>br</strong> />

Texto cifra<strong>do</strong> C para uma mensagem <strong>de</strong> texto claro P é da<strong>do</strong><<strong>br</strong> />

por C = P3 (mod mod 33 33)<<strong>br</strong> />

O O texto cifra<strong>do</strong> é <strong>de</strong>cifra<strong>do</strong> pelo receptor usan<strong>do</strong> a regra<<strong>br</strong> />

P = C7 (mod mod 33 33)<<strong>br</strong> />

85 <strong>Criptografia</strong><<strong>br</strong> />

<strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Algoritmo Descrição<<strong>br</strong> />

El ElGamal<<strong>br</strong> />

Gamal •Matemática diferente da utilizada no RSA RSA.<<strong>br</strong> />

87 <strong>Criptografia</strong><<strong>br</strong> />

•O algoritmo envolve a manipulação matemática <strong>de</strong> gran<strong>de</strong>s quantida<strong>de</strong>s<<strong>br</strong> />

numéricas.<<strong>br</strong> />

•Sua segurança advém <strong>de</strong> algo <strong>de</strong>nomina<strong>do</strong> problema <strong>do</strong> logaritmo discreto.<<strong>br</strong> />

•Obtém sua segurança da dificulda<strong>de</strong> <strong>de</strong> se calcular logaritmos discretos em um<<strong>br</strong> />

corpo finito, o que lem<strong>br</strong>a bastante o problema da fatoração.<<strong>br</strong> />

http://www.answers.<strong>com</strong>/topic/taher<<strong>br</strong> />

http://www.answers.<strong>com</strong>/topic/taher-elgamal?cat=health<<strong>br</strong> />

elgamal?cat=health<<strong>br</strong> />

Algoritmo Algoritmo Algoritmo Algoritmo - RSA<<strong>br</strong> />

RSA<<strong>br</strong> />

Exemplo: Cifragem <strong>do</strong> texto simples “SUZANNE”.<<strong>br</strong> />

Texto simples (P) Texto cifra<strong>do</strong> (C) Texto <strong>de</strong>cifra<strong>do</strong><<strong>br</strong> />

<strong>Si</strong>mbólico Numérico <strong>Si</strong>mbólico<<strong>br</strong> />

Cada letra <strong>do</strong> alfabeto é representada por um número:<<strong>br</strong> />

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<<strong>br</strong> />

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26<<strong>br</strong> />

86 <strong>Criptografia</strong><<strong>br</strong> />

Cálculo <strong>do</strong> transmissor Cálculo <strong>do</strong> receptor<<strong>br</strong> />

Rivest e outros – fatoração <strong>de</strong> um número <strong>de</strong> 500 dígitos requer 10 25 anos, usan<strong>do</strong>-se a força<<strong>br</strong> />

<strong>br</strong>uta, supon<strong>do</strong> o melhor algoritmo e <strong>com</strong>puta<strong>do</strong>r <strong>com</strong> tempo por instrução <strong>de</strong> 1 µs.<<strong>br</strong> />

<strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Algoritmo Descrição<<strong>br</strong> />

Curvas<<strong>br</strong> />

Elípticas<<strong>br</strong> />

88 <strong>Criptografia</strong><<strong>br</strong> />

•Em 1985, Neal Koblitz e V. S. Miller propuseram <strong>de</strong> forma in<strong>de</strong>pen<strong>de</strong>nte a<<strong>br</strong> />

utilização <strong>de</strong> curvas elípticas para sistemas criptográficos <strong>de</strong> chave pública.<<strong>br</strong> />

•Consistem em modificações <strong>de</strong> outros sistemas (o El Gamal, por exemplo),<<strong>br</strong> />

que passam a trabalhar no <strong>do</strong>mínio das curvas elípticas, em vez <strong>de</strong> trabalhar<<strong>br</strong> />

no <strong>do</strong>mínio <strong>do</strong>s corpos finitos.<<strong>br</strong> />

•Possuem potencial para prover sistemas criptográficos <strong>de</strong> chave pública mais<<strong>br</strong> />

seguros, <strong>com</strong> chaves <strong>de</strong> menor tamanho.<<strong>br</strong> />

•Fica resolvi<strong>do</strong> um <strong>do</strong>s maiores problemas <strong>do</strong>s algoritmos <strong>de</strong> chave pública: o<<strong>br</strong> />

gran<strong>de</strong> tamanho <strong>de</strong> suas chaves.<<strong>br</strong> />

•Algoritmos atuais - possuem o potencial <strong>de</strong> serem rápi<strong>do</strong>s, mas são em geral<<strong>br</strong> />

mais lentos <strong>do</strong> que o RSA RSA.<<strong>br</strong> />

http://www.answers.<strong>com</strong>/topic/elliptic<<strong>br</strong> />

http://www.answers.<strong>com</strong>/topic/elliptic-curve curve<<strong>br</strong> />

22


Resumo Resumo da da <strong>Criptografia</strong> <strong>Criptografia</strong> Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Chave Pública<<strong>br</strong> />

Abordagem radicalmente diferente [Diffie Diffie-Hellman Hellman 76, RSA 78]<<strong>br</strong> />

Transmissor e receptor não <strong>com</strong>partilham uma chave secreta<<strong>br</strong> />

A chave <strong>de</strong> criptografia é pública (conhecida<<strong>br</strong> />

conhecida por to<strong>do</strong>s to<strong>do</strong>s) )<<strong>br</strong> />

Chave <strong>de</strong> <strong>de</strong>scriptografia é privada (conhecida<<strong>br</strong> />

conhecida somente pelo receptor)<<strong>br</strong> />

89 <strong>Criptografia</strong><<strong>br</strong> />

<strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> <strong>Criptografia</strong> Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

Aplicações<<strong>br</strong> />

A partir <strong>do</strong>s algoritmos assimétricos, ou <strong>de</strong> chave pública, po<strong>de</strong>m ser<<strong>br</strong> />

utiliza<strong>do</strong>s a fim prover algumas funcionalida<strong>de</strong>s relativas à segurança,<<strong>br</strong> />

<strong>de</strong>pen<strong>de</strong>n<strong>do</strong> <strong>do</strong> algoritmo utiliza<strong>do</strong> e da maneira <strong>com</strong>o o mesmo é utiliza<strong>do</strong><<strong>br</strong> />

As seguintes funcionalida<strong>de</strong>s são suportadas:<<strong>br</strong> />

Cifragem e Decifragem<<strong>br</strong> />

Neste caso Alice cifra a mensagem utilizan<strong>do</strong> a chave pública <strong>do</strong> Bob<<strong>br</strong> />

Assinatura Digital (Digital <strong>Si</strong>gnatures)<<strong>br</strong> />

Neste caso Alice cifra (assina) a mensagem utilizan<strong>do</strong> a sua chave<<strong>br</strong> />

privada<<strong>br</strong> />

Troca <strong>de</strong> Chaves (Key Exchange)<<strong>br</strong> />

Os <strong>do</strong>is la<strong>do</strong>s trocam mensagens a fim <strong>de</strong> <strong>com</strong>partilhar uma chave<<strong>br</strong> />

<strong>de</strong> sessão.<<strong>br</strong> />

Este processo po<strong>de</strong> envolver as chaves privadas <strong>de</strong> um ou <strong>de</strong> ambos,<<strong>br</strong> />

bem <strong>com</strong>o suas chaves públicas<<strong>br</strong> />

Nem to<strong>do</strong>s os algoritmos <strong>de</strong> chave pública oferecem todas estas aplicações<<strong>br</strong> />

Na prática o tamanho das chaves tornaram o processo <strong>de</strong> cifragem lento e<<strong>br</strong> />

<strong>de</strong>sta forma algoritmos basicamente para assinaturas digitais e troca <strong>de</strong><<strong>br</strong> />

chaves<<strong>br</strong> />

91 <strong>Criptografia</strong><<strong>br</strong> />

Resumo Resumo <strong>do</strong> <strong>do</strong> Algoritmo Algoritmo RSA<<strong>br</strong> />

RSA<<strong>br</strong> />

Da<strong>do</strong> (e,n e,n) ) e (d,n d,n) ) <strong>com</strong>o calcula<strong>do</strong>s antes.<<strong>br</strong> />

Para criptografar o padrão <strong>de</strong> bits, m, , calcule<<strong>br</strong> />

c = m e (mod mod n) (i.e., resto quan<strong>do</strong> m e é dividi<strong>do</strong> por n). ).<<strong>br</strong> />

Para <strong>de</strong>criptografar o padrão <strong>de</strong> bits recebi<strong>do</strong>s, c, , calcule<<strong>br</strong> />

m = c d (mod mod n) (i.e., resto quan<strong>do</strong> c d é dividi<strong>do</strong> por n). ).<<strong>br</strong> />

90 <strong>Criptografia</strong><<strong>br</strong> />

92 <strong>Criptografia</strong><<strong>br</strong> />

A Mágica<<strong>br</strong> />

Acontece !<<strong>br</strong> />

<strong>Criptografia</strong> <strong>Criptografia</strong> Assimétrica<<strong>br</strong> />

Assimétrica<<strong>br</strong> />

m = (m (me mod n) d (mod n)<<strong>br</strong> />

c<<strong>br</strong> />

Chave pública: K + (m) = (e,n)<<strong>br</strong> />

Chave privada: K- (m) (m) = (d,n) (d,n)<<strong>br</strong> />

A tabela abaixo mostra alguns algoritmos <strong>de</strong> chave públicas<<strong>br</strong> />

aceitos e normalmente utiliza<strong>do</strong>s<<strong>br</strong> />

To<strong>do</strong>s baseiam-se<<strong>br</strong> />

baseiam se nos mesmos princípios<<strong>br</strong> />

princípios, , porém diferem no<<strong>br</strong> />

problema matemático em que se baseiam baseiam:<<strong>br</strong> />

Fatoração <strong>de</strong> Inteiros (Integer Factorization Problem – IFP)<<strong>br</strong> />

http://www.rsasecurity.<strong>com</strong>/rsalabs/no<strong>de</strong>.asp?id=2093<<strong>br</strong> />

Logaritmo Discreto (Discrete Logarithm Problem – DLP)<<strong>br</strong> />

Curvas Elípticas (Elliptic Curve Discrete Logarithm Problem –<<strong>br</strong> />

ECDLP)<<strong>br</strong> />

23


Autenticação Autenticação Autenticação Autenticação Autenticação Digital Digital Digital Digital<<strong>br</strong> />

Digital<<strong>br</strong> />

Algumas vezes há a necessida<strong>de</strong> <strong>de</strong> se provar quem escreveu um<<strong>br</strong> />

<strong>do</strong>cumento e e <strong>de</strong> manter as as informações informações <strong>de</strong>sse <strong>do</strong>cumento sem<<strong>br</strong> />

modificações.<<strong>br</strong> />

Solução: serviços <strong>de</strong> autenticação e integrida<strong>de</strong> <strong>de</strong> da<strong>do</strong>s<<strong>br</strong> />

A autenticida<strong>de</strong> <strong>de</strong> muitos <strong>do</strong>cumentos é <strong>de</strong>terminada pela<<strong>br</strong> />

presença <strong>de</strong> uma Assinatura Digital Digital.<<strong>br</strong> />

Assinatura digital – item que a<strong>com</strong>panha um <strong>de</strong>termina<strong>do</strong> da<strong>do</strong> e<<strong>br</strong> />

apresenta as seguintes funções:<<strong>br</strong> />

Confirmar a origem <strong>do</strong> da<strong>do</strong><<strong>br</strong> />

Certificar que o da<strong>do</strong> não foi modifica<strong>do</strong><<strong>br</strong> />

Impedir a negação <strong>de</strong> origem<<strong>br</strong> />

93 <strong>Criptografia</strong><<strong>br</strong> />

Código Código <strong>de</strong> <strong>de</strong> Autenticação Autenticação <strong>de</strong> <strong>de</strong> Mensagem<<strong>br</strong> />

Mensagem<<strong>br</strong> />

MAC<<strong>br</strong> />

Uso <strong>de</strong> uma chave secreta K para gerar um pequeno bloco <strong>de</strong> da<strong>do</strong>s<<strong>br</strong> />

conheci<strong>do</strong> <strong>com</strong>o código <strong>de</strong> autenticação da mensagem mensagem, , anexa<strong>do</strong> a esta<<strong>br</strong> />

mensagem ( (m)<<strong>br</strong> />

MACm = F(K, m)<<strong>br</strong> />

O receptor gera o mesmo código e <strong>com</strong>para<<strong>br</strong> />

95 <strong>Criptografia</strong><<strong>br</strong> />

Autenticação Autenticação Digital<<strong>br</strong> />

Digital<<strong>br</strong> />

Técnicas <strong>de</strong> autenticação <strong>de</strong> mensagem sem criptografar toda a<<strong>br</strong> />

mensagem:<<strong>br</strong> />

Código <strong>de</strong> Autenticação <strong>de</strong> Mensagem<<strong>br</strong> />

(Message essage Authentication<<strong>br</strong> />

uthentication Co<strong>de</strong> o<strong>de</strong> – MAC MAC)<<strong>br</strong> />

Função <strong>de</strong> Hash Unidirecional<<strong>br</strong> />

94 <strong>Criptografia</strong><<strong>br</strong> />

Algoritmos Algoritmos Algoritmos Algoritmos Algoritmos Hash Hash Unidirecionais<<strong>br</strong> />

Unidirecionais<<strong>br</strong> />

Toma uma mensagem arbitrária m e gera um resumo da<<strong>br</strong> />

mensagem ( (message message digest digest) ) <strong>de</strong> tamanho fixo H(m) <strong>com</strong>o saída<<strong>br</strong> />

(<strong>com</strong>o nos MACs)<<strong>br</strong> />

O algoritmo não precisa ser reversível<<strong>br</strong> />

Diferente <strong>do</strong> MAC, a função hash não usa uma chave secreta<<strong>br</strong> />

<strong>com</strong>o parâmetro<<strong>br</strong> />

A autenticação da mensagem passa a ser baseada na<<strong>br</strong> />

autenticação segura <strong>do</strong> digest (resumo)<<strong>br</strong> />

Adicionar <strong>de</strong> um valor secreto a m antes <strong>de</strong> gerar H(m)<<strong>br</strong> />

<strong>Criptografia</strong> convecional <strong>do</strong> message digest<<strong>br</strong> />

Assinatura <strong>do</strong> digest <strong>com</strong> a chave privada <strong>do</strong> emissor<<strong>br</strong> />

96 <strong>Criptografia</strong><<strong>br</strong> />

24


MAC MAC & & Hash Hash (HMAC)<<strong>br</strong> />

(HMAC)<<strong>br</strong> />

MAC a partir <strong>de</strong> uma função hash<<strong>br</strong> />

Idéia: <strong>de</strong>senvolver um MAC <strong>de</strong>riva<strong>do</strong> <strong>de</strong> um hash unidirecional,<<strong>br</strong> />

introduzin<strong>do</strong> uma chave secreta<<strong>br</strong> />

Padrão mais aceito é o HMAC HMAC. . Princípios:<<strong>br</strong> />

Usar uma função hash existente (ex: SHA SHA-1), 1), sem modificações<<strong>br</strong> />

(<strong>com</strong>o se fosse uma “caixa preta”)<<strong>br</strong> />

Deixar Deixar a função hash facilmente substituível, caso se <strong>de</strong>seje<<strong>br</strong> />

usar outra função mais conveniente<<strong>br</strong> />

Preservar o <strong>de</strong>sempenho original da função hash, sem<<strong>br</strong> />

introduzir <strong>de</strong>gradação significante<<strong>br</strong> />

Tratar <strong>de</strong> forma simples a chave secreta usada<<strong>br</strong> />

97 <strong>Criptografia</strong><<strong>br</strong> />

Assinatura Assinatura Digital<<strong>br</strong> />

Digital<<strong>br</strong> />

Técnica criptográfica análoga às assinaturas manuais<<strong>br</strong> />

Transmissor ( (Bob Bob) ) assina digitalmente um <strong>do</strong>cumento,<<strong>br</strong> />

estabelecen<strong>do</strong> que ele é o autor/cria<strong>do</strong>r<<strong>br</strong> />

Verificável, não forjável: receptor ( (Alice Alice) ) po<strong>de</strong> verificar que Bob Bob, , e<<strong>br</strong> />

ninguém mais, assinou o <strong>do</strong>cumento<<strong>br</strong> />

99 <strong>Criptografia</strong><<strong>br</strong> />

Assinatura Assinatura Digital<<strong>br</strong> />

Digital<<strong>br</strong> />

Vantagens provenientes <strong>do</strong> envio <strong>de</strong> mensagem “assinada”<<strong>br</strong> />

O receptor po<strong>de</strong>rá verificar a i<strong>de</strong>ntida<strong>de</strong> alegada pelo<<strong>br</strong> />

transmissor.<<strong>br</strong> />

Posteriormente, o transmissor não po<strong>de</strong>rá repudiar o conteú<strong>do</strong><<strong>br</strong> />

da mensagem.<<strong>br</strong> />

O receptor não terá a possibilida<strong>de</strong> <strong>de</strong> forjar ele mesmo a<<strong>br</strong> />

mensagem.<<strong>br</strong> />

98 <strong>Criptografia</strong><<strong>br</strong> />

Assinatura Assinatura Digital<<strong>br</strong> />

Digital<<strong>br</strong> />

Assinatura digital simples para mensagem m<<strong>br</strong> />

Bob assina m criptografan<strong>do</strong> <strong>com</strong> sua chave privada K- B, ,<<strong>br</strong> />

-<<strong>br</strong> />

crian<strong>do</strong> a mensagem “assinada”, KB(m) (m)<<strong>br</strong> />

100 <strong>Criptografia</strong><<strong>br</strong> />

25


Assinatura Assinatura Digital<<strong>br</strong> />

Digital<<strong>br</strong> />

Suponha que Alice receba a mensagem m e a assinatura digital<<strong>br</strong> />

K<<strong>br</strong> />

-<<strong>br</strong> />

B(m) (m)<<strong>br</strong> />

Alice verifica que m foi assinada por Bob aplican<strong>do</strong> a chave pública<<strong>br</strong> />

+ -<<strong>br</strong> />

+ -<<strong>br</strong> />

<strong>de</strong> Bob KB para KB(m) (m) e então verifica que KB(K (KB(m) (m) ) = m<<strong>br</strong> />

+ -<<strong>br</strong> />

Se KB(K (KB(m) (m) ) = mm,<<strong>br</strong> />

, quem quer que tenha assina<strong>do</strong> m <strong>de</strong>ve possuir<<strong>br</strong> />

a chave privada <strong>de</strong> Bob<<strong>br</strong> />

Alice verifica então que<<strong>br</strong> />

Bob Bob assinou m<<strong>br</strong> />

ninguém ninguém mais assinou m<<strong>br</strong> />

Bob Bob assinou m e não m’.<<strong>br</strong> />

Não Não-repúdio repúdio<<strong>br</strong> />

-<<strong>br</strong> />

Alice po<strong>de</strong> levar m e a assinatura KB(m) (m) a um tribunal para provar<<strong>br</strong> />

que Bob assinou m. .<<strong>br</strong> />

101 <strong>Criptografia</strong><<strong>br</strong> />

Funções Funções Hash<<strong>br</strong> />

Hash<<strong>br</strong> />

Exemplos <strong>de</strong> funções hash (MD) utilizadas em produtos e<<strong>br</strong> />

protocolos criptográficos:<<strong>br</strong> />

MD5 MD5<<strong>br</strong> />

SHA SHA-1<<strong>br</strong> />

MD2 MD2 e MD4<<strong>br</strong> />

103 <strong>Criptografia</strong><<strong>br</strong> />

Executar HashCalc<<strong>br</strong> />

<strong>Si</strong>te Russo para Que<strong>br</strong>a <strong>de</strong> Hash<<strong>br</strong> />

Resumo Resumo <strong>de</strong> <strong>de</strong> Mensagens<<strong>br</strong> />

Mensagens<<strong>br</strong> />

Computacionalmente caro<<strong>br</strong> />

criptografar mensagens longas<<strong>br</strong> />

<strong>com</strong> chave pública<<strong>br</strong> />

Meta Meta: : assinaturas digitais <strong>de</strong><<strong>br</strong> />

<strong>com</strong>primento fixo, facilmente<<strong>br</strong> />

<strong>com</strong>putáveis, “impressão digital”<<strong>br</strong> />

Aplicar função hash H a m<<strong>br</strong> />

para obter um resumo <strong>de</strong><<strong>br</strong> />

tamanho fixo, H(m)<<strong>br</strong> />

102 <strong>Criptografia</strong><<strong>br</strong> />

Função Função Função Função Função Hash<<strong>br</strong> />

Hash<<strong>br</strong> />

Funções Descrição<<strong>br</strong> />

MD5<<strong>br</strong> />

104 <strong>Criptografia</strong><<strong>br</strong> />

Proprieda<strong>de</strong>s das funções <strong>de</strong> hash<<strong>br</strong> />

Muitas Muitas-para para-1<<strong>br</strong> />

Produz um resumo da<<strong>br</strong> />

mensagem <strong>de</strong> tamanho fixo<<strong>br</strong> />

(impressão digital)<<strong>br</strong> />

Da<strong>do</strong> um resumo da mensagem<<strong>br</strong> />

x, , é <strong>com</strong>putacionalmente<<strong>br</strong> />

impraticável encontrar m tal<<strong>br</strong> />

que x = H(m)<<strong>br</strong> />

• Função <strong>de</strong> espalhamento unidirecional inventada por Ron Rivest, <strong>do</strong> MIT, que<<strong>br</strong> />

também trabalha para a RSA Data Security. MD - Message Digest.<<strong>br</strong> />

• Produz um valor hash <strong>de</strong> 128 bits, para uma mensagem <strong>de</strong> entrada <strong>de</strong> tamanho<<strong>br</strong> />

arbitrário.<<strong>br</strong> />

• Inicialmente proposto em 1991, após alguns ataques <strong>de</strong> criptoanálise terem si<strong>do</strong>s<<strong>br</strong> />

<strong>de</strong>scobertos contra a função Hash prévia <strong>de</strong> Rivest: a MD4.<<strong>br</strong> />

• Projeta<strong>do</strong> para ser rápi<strong>do</strong>, simples e seguro. Seus <strong>de</strong>talhes são públicos, e têm<<strong>br</strong> />

si<strong>do</strong> analisa<strong>do</strong>s pela <strong>com</strong>unida<strong>de</strong> <strong>de</strong> criptografia.<<strong>br</strong> />

• Foi <strong>de</strong>scoberta uma fraqueza em parte <strong>do</strong> MD5, mas até agora ela não afetou a<<strong>br</strong> />

segurança global <strong>do</strong> algoritmo.<<strong>br</strong> />

• O fato <strong>de</strong>le produzir um valor hash <strong>de</strong> somente 128 bits é o que causa maior<<strong>br</strong> />

preocupação; é preferível uma função Hash que produza um valor maior.<<strong>br</strong> />

26


Função Função Hash<<strong>br</strong> />

Hash<<strong>br</strong> />

Funções Descrição<<strong>br</strong> />

SHA-1<<strong>br</strong> />

105 <strong>Criptografia</strong><<strong>br</strong> />

Mensagem<<strong>br</strong> />

gran<strong>de</strong><<strong>br</strong> />

mm<<strong>br</strong> />

107 <strong>Criptografia</strong><<strong>br</strong> />

• O Secure Hash Algorithm, função <strong>de</strong> espalhamento unidirecional inventada pela<<strong>br</strong> />

NSA, gera um valor hash <strong>de</strong> 160 bits, a partir <strong>de</strong> um tamanho arbitrário <strong>de</strong><<strong>br</strong> />

mensagem.<<strong>br</strong> />

• Funcionamento interno muito pareci<strong>do</strong> <strong>com</strong> o observa<strong>do</strong> no MD4, indican<strong>do</strong> que<<strong>br</strong> />

os estudiosos da NSA basearam-se no MD4 e fizeram melhorias em sua<<strong>br</strong> />

segurança.<<strong>br</strong> />

• A fraqueza existente em parte <strong>do</strong> MD5, citada anteriormente, <strong>de</strong>scoberta após o<<strong>br</strong> />

SHA-1 ter si<strong>do</strong> proposto, não ocorre no SHA-1.<<strong>br</strong> />

• Atualmente, não há nenhum ataque <strong>de</strong> criptoanálise conheci<strong>do</strong> contra o SHA-1.<<strong>br</strong> />

• Mesmo o ataque da força <strong>br</strong>uta torna-se impraticável, <strong>de</strong>vi<strong>do</strong> ao seu valor hash <strong>de</strong><<strong>br</strong> />

160 bits.<<strong>br</strong> />

• Não há provas <strong>de</strong> que, no futuro, alguém não possa <strong>de</strong>sco<strong>br</strong>ir <strong>com</strong>o que<strong>br</strong>ar o<<strong>br</strong> />

SHA-1.<<strong>br</strong> />

Assinatura Assinatura digital digital digital digital = = resumo resumo resumo resumo assina<strong>do</strong> assina<strong>do</strong> assina<strong>do</strong> assina<strong>do</strong> <strong>de</strong> <strong>de</strong> mensagem<<strong>br</strong> />

mensagem<<strong>br</strong> />

Bob envia mensagem digitalmente<<strong>br</strong> />

assinada:<<strong>br</strong> />

H: função<<strong>br</strong> />

<strong>de</strong> hash<<strong>br</strong> />

Chave<<strong>br</strong> />

privada<<strong>br</strong> />

<strong>de</strong> Bob<<strong>br</strong> />

-<<strong>br</strong> />

K<<strong>br</strong> />

B<<strong>br</strong> />

H(m)<<strong>br</strong> />

Assinatura<<strong>br</strong> />

digital<<strong>br</strong> />

(criptografada)<<strong>br</strong> />

Resumo <strong>de</strong> msg<<strong>br</strong> />

criptografa<strong>do</strong><<strong>br</strong> />

-<<strong>br</strong> />

+ K K B (H(m))<<strong>br</strong> />

Alice verifica a assinatura e a<<strong>br</strong> />

integrida<strong>de</strong> da mensagem<<strong>br</strong> />

digitalmente assinada:<<strong>br</strong> />

Mensagem<<strong>br</strong> />

gran<strong>de</strong><<strong>br</strong> />

m Chave<<strong>br</strong> />

pública<<strong>br</strong> />

<strong>de</strong> Bob +<<strong>br</strong> />

H: função<<strong>br</strong> />

K B<<strong>br</strong> />

<strong>de</strong> hash<<strong>br</strong> />

H(m)<<strong>br</strong> />

igual<<strong>br</strong> />

?<<strong>br</strong> />

Resumo <strong>de</strong> msg<<strong>br</strong> />

criptografa<strong>do</strong><<strong>br</strong> />

-<<strong>br</strong> />

K B (H(m))<<strong>br</strong> />

Assinatura<<strong>br</strong> />

digital<<strong>br</strong> />

(<strong>de</strong>criptada)<<strong>br</strong> />

H(m)<<strong>br</strong> />

Função Função Hash<<strong>br</strong> />

Hash<<strong>br</strong> />

Funções Descrição<<strong>br</strong> />

MD2 e MD4 • MD4 - precursor <strong>do</strong> MD5, ten<strong>do</strong> si<strong>do</strong> inventa<strong>do</strong> por Ron Rivest.<<strong>br</strong> />

• Após terem si<strong>do</strong> <strong>de</strong>scobertas algumas fraquezas no MD4, Rivest escreveu o<<strong>br</strong> />

MD5.<<strong>br</strong> />

• O MD4 não é mais utiliza<strong>do</strong>.<<strong>br</strong> />

• O MD2 é uma função <strong>de</strong> espalhamento unidirecional simplificada, e produz um<<strong>br</strong> />

hash <strong>de</strong> 128 bits.<<strong>br</strong> />

• Segurança <strong>do</strong> MD2 - <strong>de</strong>pen<strong>de</strong>nte <strong>de</strong> uma permutação aleatória <strong>de</strong> bytes.<<strong>br</strong> />

• Não é re<strong>com</strong>endável sua utilização, pois, em geral, é mais lento <strong>do</strong> que as<<strong>br</strong> />

outras funções hash citadas e acredita-se que seja menos seguro.<<strong>br</strong> />

106 <strong>Criptografia</strong><<strong>br</strong> />

Email Email Email Email seguro<<strong>br</strong> />

seguro<<strong>br</strong> />

E-mail mail é a aplicação mais usada<<strong>br</strong> />

Problemas <strong>de</strong> segurança<<strong>br</strong> />

Da<strong>do</strong>s po<strong>de</strong>m ser captura<strong>do</strong>s (confi<strong>de</strong>ncialida<strong>de</strong>)<<strong>br</strong> />

Enviar o email em nome <strong>de</strong> outra pessoa (autenticação)<<strong>br</strong> />

Abordagens mais usadas<<strong>br</strong> />

PGP ( (Pretty retty Good ood Privacy rivacy) ) – muito popular<<strong>br</strong> />

S/MIME ( (Secure ecure / /Multipurpose<<strong>br</strong> />

ultipurpose Internet nternet Mail ail Extension xtension)<<strong>br</strong> />

108 <strong>Criptografia</strong><<strong>br</strong> />

27


Email Email seguro<<strong>br</strong> />

seguro<<strong>br</strong> />

Alice usa uma chave <strong>de</strong> sessão simétrica<<strong>br</strong> />

simétrica, , K , para para enviar enviar um um<<strong>br</strong> />

S<<strong>br</strong> />

e-mail mail secreto para Bob<<strong>br</strong> />

109 <strong>Criptografia</strong><<strong>br</strong> />

Email Email seguro<<strong>br</strong> />

seguro<<strong>br</strong> />

Alice usa criptografia <strong>de</strong> chave simétrica, criptografia <strong>de</strong> chave<<strong>br</strong> />

pública pública, , uma função <strong>de</strong> Hash e uma assinatura digital para<<strong>br</strong> />

fornecer confi<strong>de</strong>ncialida<strong>de</strong><<strong>br</strong> />

confi<strong>de</strong>ncialida<strong>de</strong>, , autenticação <strong>de</strong> remetente e<<strong>br</strong> />

integrida<strong>de</strong> da mensagem<<strong>br</strong> />

111 <strong>Criptografia</strong><<strong>br</strong> />

Email Email seguro<<strong>br</strong> />

seguro<<strong>br</strong> />

Utilização <strong>de</strong> funções Hash e assinaturas digitais para fornecer<<strong>br</strong> />

autenticação <strong>de</strong> remetente e integrida<strong>de</strong> da mensagem<<strong>br</strong> />

110 <strong>Criptografia</strong><<strong>br</strong> />

Certificação Certificação Certificação Certificação Certificação <strong>de</strong> <strong>de</strong> Chaves Chaves Públicas<<strong>br</strong> />

Públicas<<strong>br</strong> />

Bob obtém um certifica<strong>do</strong> da CA ( (Certification<<strong>br</strong> />

ertification Authority)<<strong>br</strong> />

uthority)<<strong>br</strong> />

a CA cria um certifica<strong>do</strong> que vincula a chave pública da entida<strong>de</strong><<strong>br</strong> />

(Bob, por exemplo) à i<strong>de</strong>ntida<strong>de</strong> verificada. O certifica<strong>do</strong> contém a<<strong>br</strong> />

chave pública e a informação exclusiva que i<strong>de</strong>ntifica o proprietátio<<strong>br</strong> />

da chave pública<<strong>br</strong> />

112 <strong>Criptografia</strong><<strong>br</strong> />

Alice usa a chave pública da CA para<<strong>br</strong> />

verificar a valida<strong>de</strong> <strong>do</strong> certifica<strong>do</strong> <strong>de</strong><<strong>br</strong> />

Bob assina<strong>do</strong> pela CA.<<strong>br</strong> />

28


PGP<<strong>br</strong> />

PGP<<strong>br</strong> />

I<strong>de</strong>aliza<strong>do</strong> por Phil Zimmermann em 1991<<strong>br</strong> />

Objetivos <strong>de</strong> Segurança<<strong>br</strong> />

Confi<strong>de</strong>ncialida<strong>de</strong>, Autenticação da origem e Integrida<strong>de</strong> da<<strong>br</strong> />

informação<<strong>br</strong> />

Po<strong>de</strong> ser usa<strong>do</strong> para correio eletrônico e arquivos<<strong>br</strong> />

É um produto e não um padrão (sen<strong>do</strong> estuda<strong>do</strong> pela IETF)<<strong>br</strong> />

Utiliza<<strong>br</strong> />

<strong>Criptografia</strong> <strong>de</strong> chave pública pública: : para gerenciamento <strong>de</strong> chaves e<<strong>br</strong> />

assinatura digital<<strong>br</strong> />

<strong>Criptografia</strong> convencional<<strong>br</strong> />

convencional: : chave secreta <strong>de</strong> sessão: uusada<<strong>br</strong> />

sada para<<strong>br</strong> />

crifagem<<strong>br</strong> />

Função Hash Hash: : para assinatura digital<<strong>br</strong> />

113 <strong>Criptografia</strong><<strong>br</strong> />

PGP PGP PGP PGP - Características<<strong>br</strong> />

Características<<strong>br</strong> />

Função Algoritmos Descrição<<strong>br</strong> />

Assinatura Digital DSS/SHA ou<<strong>br</strong> />

1. SHA é usa<strong>do</strong> para criar o Hash co<strong>de</strong><<strong>br</strong> />

RSA/SHA<<strong>br</strong> />

2. O hash é criptografa<strong>do</strong> <strong>com</strong> DSS ou RSA<<strong>br</strong> />

Cifragem CAST ou IDEA ou 3<<strong>br</strong> />

DES.<<strong>br</strong> />

Com Diffie Diffie-Hellman Hellman<<strong>br</strong> />

ou RSA<<strong>br</strong> />

Compressão ZIP<<strong>br</strong> />

115 <strong>Criptografia</strong><<strong>br</strong> />

• A mensagem é cifrada usan<strong>do</strong> um<<strong>br</strong> />

algoritmo <strong>de</strong> criptografia convencional<<strong>br</strong> />

• A chave usada para cifragem é<<strong>br</strong> />

anexada a mensagem, após cifrada<<strong>br</strong> />

<strong>com</strong> um algoritmo <strong>de</strong> chave-<<strong>br</strong> />

pública/privada<<strong>br</strong> />

Após assinar e antes <strong>de</strong> criptografar. Reduz o<<strong>br</strong> />

tamanho da mensagem em ½.<<strong>br</strong> />

ZIP Após assinar e antes <strong>de</strong> criptografar. Reduz o<<strong>br</strong> />

Por Por que que o o PGP PGP é é popular popular ?<<strong>br</strong> />

?<<strong>br</strong> />

É totalmente livre (<strong>do</strong>cumentação e código fonte) e disponível na<<strong>br</strong> />

Internet<<strong>br</strong> />

In<strong>de</strong>pen<strong>de</strong>nte <strong>de</strong> S. O. e processa<strong>do</strong>r – roda em diversas<<strong>br</strong> />

plataformas – DOS/Win<strong>do</strong>ws, UNIX, Macintosh<<strong>br</strong> />

Pequeno conjunto <strong>de</strong> <strong>com</strong>an<strong>do</strong> fáceis <strong>de</strong> usar<<strong>br</strong> />

Basea<strong>do</strong> em algoritmos bem conheci<strong>do</strong>s: RSA, DSS, CAST CAST-128, 128,<<strong>br</strong> />

IDEA etc.<<strong>br</strong> />

Ampla aplicabilida<strong>de</strong> (corporações e <strong>de</strong> uso pessoal)<<strong>br</strong> />

Versão <strong>com</strong>ercial <strong>de</strong> baixo custo (suporte)<<strong>br</strong> />

Não foi foi <strong>de</strong>senvolvi<strong>do</strong> ou controla<strong>do</strong> por organizações<<strong>br</strong> />

governamentais ou ”padroniza<strong>do</strong>ras”<<strong>br</strong> />

Não necessita <strong>de</strong> uma Autorida<strong>de</strong> Certifica<strong>do</strong>ra<<strong>br</strong> />

114 <strong>Criptografia</strong><<strong>br</strong> />

Chaves Chaves no no PGP<<strong>br</strong> />

PGP<<strong>br</strong> />

O PGP possui um chaveiro ( (Key Key Rings Rings), ), o qual contém o seu par <strong>de</strong><<strong>br</strong> />

chaves (privada e pública) e as chaves públicas <strong>do</strong>s <strong>de</strong>stinatários.<<strong>br</strong> />

O PGP trata as chaves da seguinte maneira:<<strong>br</strong> />

As As chaves públicas e privadas são armazenadas <strong>de</strong> forma<<strong>br</strong> />

criptografada no disco – passphrase<<strong>br</strong> />

Você po<strong>de</strong> ter mais <strong>de</strong> um par <strong>de</strong> chaves publica/privada (por<<strong>br</strong> />

isso a chave precisa ser i<strong>de</strong>ntificada KeyID KeyID)<<strong>br</strong> />

Você po<strong>de</strong> adicionar chaves públicas <strong>de</strong> outras pessoas<<strong>br</strong> />

Private Private-key key ring and public public-key key ring<<strong>br</strong> />

Se a chave privada for perdida não há maneira <strong>de</strong> ser<<strong>br</strong> />

recuperada<<strong>br</strong> />

116 <strong>Criptografia</strong><<strong>br</strong> />

29


Esteganografia<<strong>br</strong> />

117 <strong>Criptografia</strong><<strong>br</strong> />

CRIPTOLOGIA<<strong>br</strong> />

CRIPTOGRAFIA CRIPTOANÁLISE<<strong>br</strong> />

CÓDIGOS CIFRAS ESTEGANOGRAFIA<<strong>br</strong> />

119 <strong>Criptografia</strong><<strong>br</strong> />

Transposição Substituição<<strong>br</strong> />

Monoalfabética Polialfabética<<strong>br</strong> />

Esteganografia Esteganografia - Fundamentos<<strong>br</strong> />

Fundamentos<<strong>br</strong> />

Esteganografia Esteganografia x <strong>Criptografia</strong><<strong>br</strong> />

<strong>Criptografia</strong>: escon<strong>de</strong> o conteú<strong>do</strong> da mensagem.<<strong>br</strong> />

Normalmente é conhecida a existência da mensagem.<<strong>br</strong> />

Esteganografia: escon<strong>de</strong> a existência da mensagem.<<strong>br</strong> />

Segurança adicional po<strong>de</strong> ser obtida <strong>com</strong>binan<strong>do</strong>-se:<<strong>br</strong> />

esteganografia + criptografia.<<strong>br</strong> />

Esteganografia<<strong>br</strong> />

Esteganografia<<strong>br</strong> />

O que é Esteganografia?<<strong>br</strong> />

(steganos = coberto + graphos = grafia)<<strong>br</strong> />

“Comunicação secreta por ocultação <strong>de</strong><<strong>br</strong> />

mensagem.”<<strong>br</strong> />

“O impulso para <strong>de</strong>sco<strong>br</strong>ir segre<strong>do</strong>s está profundamente enraiza<strong>do</strong> na natureza humana.<<strong>br</strong> />

Mesmo a mente menos curiosa é estimulada pela perspectiva <strong>de</strong> <strong>com</strong>partilhar o<<strong>br</strong> />

conhecimento oculto aos outros” (John Chadwick).<<strong>br</strong> />

118 <strong>Criptografia</strong><<strong>br</strong> />

Esteganografia Esteganografia x x <strong>Criptografia</strong><<strong>br</strong> />

<strong>Criptografia</strong><<strong>br</strong> />

<strong>Criptografia</strong><<strong>br</strong> />

<strong>Criptografia</strong><<strong>br</strong> />

<strong>Criptografia</strong><<strong>br</strong> />

<strong>Criptografia</strong><<strong>br</strong> />

<strong>Criptografia</strong><<strong>br</strong> />

Esteganografia x <strong>Criptografia</strong><<strong>br</strong> />

<strong>Criptografia</strong> Esteganografia<<strong>br</strong> />

120 <strong>Criptografia</strong><<strong>br</strong> />

30


Esteganografia Esteganografia - Fundamentos<<strong>br</strong> />

Fundamentos<<strong>br</strong> />

Ganhan<strong>do</strong> Ganhan<strong>do</strong> popularida<strong>de</strong> na indústria<<strong>br</strong> />

Marca D’água: autores <strong>de</strong> imagens, músicas e softwares<<strong>br</strong> />

po<strong>de</strong>m escon<strong>de</strong>r uma marca registrada em seu produto.<<strong>br</strong> />

Impressão Digital: escon<strong>de</strong>r números <strong>de</strong> série ou um<<strong>br</strong> />

conjunto <strong>de</strong> características que diferenciam um objeto <strong>de</strong><<strong>br</strong> />

seu similar.<<strong>br</strong> />

Atualmente Atualmente é utilizada na luta contra a pirataria, ataques<<strong>br</strong> />

e terrorismo cibernético.<<strong>br</strong> />

121 <strong>Criptografia</strong><<strong>br</strong> />

Esteganografia Esteganografia - Fundamentos<<strong>br</strong> />

Fundamentos<<strong>br</strong> />

Exemplo: Escrever uma mensagem <strong>com</strong> suco <strong>de</strong><<strong>br</strong> />

limão, esperar secar e aquecer o papel.<<strong>br</strong> />

123 <strong>Criptografia</strong><<strong>br</strong> />

Antes Depois<<strong>br</strong> />

Esteganografia Esteganografia - Fundamentos<<strong>br</strong> />

Fundamentos<<strong>br</strong> />

Formas Formas <strong>de</strong> Obtenção<<strong>br</strong> />

Marcação <strong>de</strong> caracteres<<strong>br</strong> />

Tinta Invisível<<strong>br</strong> />

Pequenos furos no papel<<strong>br</strong> />

Mo<strong>de</strong>rna Esteganografia<<strong>br</strong> />

Uso <strong>de</strong> bits não significativos<<strong>br</strong> />

Área não usada<<strong>br</strong> />

122 <strong>Criptografia</strong><<strong>br</strong> />

Esteganografia Esteganografia - Fundamentos<<strong>br</strong> />

Fundamentos<<strong>br</strong> />

Exemplo: Cédula <strong>de</strong> R$10,00, vista contra a luz mostra a Ban<strong>de</strong>ira<<strong>br</strong> />

<strong>do</strong> Brasil<<strong>br</strong> />

124 <strong>Criptografia</strong><<strong>br</strong> />

31


Esteganografia Esteganografia – Breve Breve Histórico<<strong>br</strong> />

Histórico Histórico Histórico<<strong>br</strong> />

Grécia antiga (Século 50 a.C.) - Primeiro relato<<strong>br</strong> />

Histiaeus era prisioneiro <strong>do</strong> Rei Davi e enviou uma mensagem para<<strong>br</strong> />

seu cunha<strong>do</strong> tatuada em seu escravo.<<strong>br</strong> />

Demeratus notificou Sparta que os Xerxes iriam invadiar a Grécia e<<strong>br</strong> />

escreveu uma mensagem numa mesa e a co<strong>br</strong>iu <strong>com</strong> cera.<<strong>br</strong> />

2a Guerra Guerra Mundial - os alemães escondiam mensagens utilizan<strong>do</strong> tinta<<strong>br</strong> />

invisível, tais <strong>com</strong>o, suco <strong>de</strong> frutas, leite e urina.<<strong>br</strong> />

As mensagens eram escondidas nas linhas em <strong>br</strong>anco entre linhas<<strong>br</strong> />

<strong>de</strong> textos aparentemente inofensivos.<<strong>br</strong> />

125 <strong>Criptografia</strong><<strong>br</strong> />

Esteganografia Esteganografia em em em em em em em textos<<strong>br</strong> />

textos<<strong>br</strong> />

Técnicas<<strong>br</strong> />

Deslocamento <strong>de</strong> linhas verticalmente<<strong>br</strong> />

Deslocamento <strong>de</strong> palavras em textos justifica<strong>do</strong>s<<strong>br</strong> />

Deslocamento <strong>do</strong> caracter <strong>de</strong> fim <strong>de</strong> linha<<strong>br</strong> />

Adicionar pontuações <strong>com</strong>o vírgulas e preposições<<strong>br</strong> />

Frase original: Pão, manteiga e leite<<strong>br</strong> />

Frase alterada: Pão, manteiga, e leite<<strong>br</strong> />

Frase alterada: Pão <strong>com</strong> manteiga e leite<<strong>br</strong> />

127 <strong>Criptografia</strong><<strong>br</strong> />

Esteganografia Esteganografia - Formas Formas <strong>de</strong> <strong>de</strong> utilização<<strong>br</strong> />

utilização<<strong>br</strong> />

Esteganografia po<strong>de</strong> ser utilizada em textos, imagens, áudio e mais<<strong>br</strong> />

recentemente em pacotes TCP/IP.<<strong>br</strong> />

A imagem da esquerda possui (8.0Kb) e não contém da<strong>do</strong>s escondi<strong>do</strong>s.<<strong>br</strong> />

A imagem da direita possui (13.0Kb) e contém 5Kb <strong>de</strong> textos escondi<strong>do</strong>s.<<strong>br</strong> />

126 <strong>Criptografia</strong><<strong>br</strong> />

Esteganografia Esteganografia em em em em em em em textos<<strong>br</strong> />

textos<<strong>br</strong> />

Exemplo (mensagem escondida em um texto):<<strong>br</strong> />

128 <strong>Criptografia</strong><<strong>br</strong> />

O Senhor Evandro quer usar este salão temporariamente.<<strong>br</strong> />

Relem<strong>br</strong>e o fato ocorri<strong>do</strong>, isto po<strong>de</strong>ria estragar relíquias,<<strong>br</strong> />

florais e imagens talhadas. O<strong>br</strong>iga<strong>do</strong>.<<strong>br</strong> />

O Senhor Evandro quer usar este salão temporariamente. Relem<strong>br</strong>e o fato<<strong>br</strong> />

ocorri<strong>do</strong>, isto po<strong>de</strong>ria estragar relíquias, florais e imagens talhadas.<<strong>br</strong> />

O<strong>br</strong>iga<strong>do</strong>.<<strong>br</strong> />

O sequestro foi perfeito<<strong>br</strong> />

32


Esteganografia em imagens<<strong>br</strong> />

129 <strong>Criptografia</strong><<strong>br</strong> />

Esteganografia Esteganografia em em imagens<<strong>br</strong> />

imagens<<strong>br</strong> />

A imagem da direita contém o texto <strong>com</strong>pleto <strong>de</strong> cinco peças <strong>de</strong><<strong>br</strong> />

Shakespeare incorpora<strong>do</strong> (700 KB).<<strong>br</strong> />

131 <strong>Criptografia</strong><<strong>br</strong> />

Figura + (Hamlet, Macbeth, Julius<<strong>br</strong> />

Caesar, Merchant of Venice, King<<strong>br</strong> />

Lear)<<strong>br</strong> />

Esteganografia Esteganografia em em imagens<<strong>br</strong> />

imagens<<strong>br</strong> />

Técnicas Técnicas<<strong>br</strong> />

Bit menos significativo<<strong>br</strong> />

A letra “A” (10000011) po<strong>de</strong> ser escondida em 3 pixels (imagem <strong>de</strong> 24 bits)<<strong>br</strong> />

Pixels originais:<<strong>br</strong> />

(00100111 11101001 11001000)<<strong>br</strong> />

(00100111 11001000 11101001)<<strong>br</strong> />

(11001000 00100111 11101001)<<strong>br</strong> />

Pixels altera<strong>do</strong>s:<<strong>br</strong> />

(00100111 11101001 11001000)<<strong>br</strong> />

(00100110 11001000 11101000)<<strong>br</strong> />

(11001000 00100111 11101001)<<strong>br</strong> />

130 <strong>Criptografia</strong><<strong>br</strong> />

Esteganografia Esteganografia em em em em em em em imagens<<strong>br</strong> />

imagens<<strong>br</strong> />

Como funciona esse canal esteganográfico?<<strong>br</strong> />

Imagem em corel original: 1024 x 768 pixels<<strong>br</strong> />

Pixel: 3 números <strong>de</strong> 8 bits (R, G e B)<<strong>br</strong> />

Méto<strong>do</strong>: utilizar o bit <strong>de</strong> baixa or<strong>de</strong>m <strong>de</strong> cada valor <strong>de</strong> cor RGB<<strong>br</strong> />

<strong>com</strong>o canal oculto. Cada pixel tem espaço para 3 bits <strong>de</strong><<strong>br</strong> />

informações secretas (R, G e B).<<strong>br</strong> />

Po<strong>de</strong>-se armazenar até 1024 x 768 x 3 bits = 294.912 bytes <strong>de</strong><<strong>br</strong> />

informações secretas.<<strong>br</strong> />

132 <strong>Criptografia</strong><<strong>br</strong> />

33

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!