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
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