Criptografia - Adelcio
Criptografia - Adelcio
Criptografia - Adelcio
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Criptografia</strong><br />
010101010101010101010101010<br />
DGHOFLR PDUFRV GH OLPD
<strong>Criptografia</strong><br />
2<br />
Conteúdo<br />
1. Introdução<br />
2. O que é criptografia?<br />
3. Técnicas de criptografia<br />
4. <strong>Criptografia</strong> simétrica<br />
5. <strong>Criptografia</strong> assimétrica<br />
6. Funções de HASH<br />
7. Assinatura Digital<br />
8. Envelopamento Digital<br />
9. Certificados Digitais<br />
10. Infra-estrutura de Chaves Públicas – ICP<br />
11. Laboratório
<strong>Criptografia</strong><br />
3<br />
Introdução<br />
Cenário - Alternativamente tanto Albaliz como Beto pode ser<br />
um programa de computador automatizando algum serviço de<br />
informação.<br />
Computador da<br />
Albaliz<br />
(origem)<br />
Computador X<br />
(provedor)<br />
Linha de<br />
comunicação<br />
Computador do<br />
Beto<br />
(destino)<br />
Computador Y<br />
(provedor)
<strong>Criptografia</strong><br />
4<br />
Introdução<br />
Problemas de sigilo e autenticidade:<br />
1. Como esconder informações sigilosas, como o número do cartão de<br />
crédito da Albaliz, das pessoas que controlam as linhas de comunicação e<br />
os computadores intermediários como X e Y? Ou seja, Albaliz deseja que<br />
só Beto consiga ler a informação enviada – isto é chamado de<br />
autenticação do destino;<br />
Computador da<br />
Albaliz<br />
(origem)<br />
Computador X<br />
(provedor)<br />
esconder<br />
Linha de<br />
comunicação<br />
Computador do<br />
Beto<br />
(destino)<br />
Computador Y<br />
(provedor)
<strong>Criptografia</strong><br />
5<br />
Introdução<br />
2. Como evitar que um mal-intencionado leia e altere parte da informação<br />
transitando na linha de comunicação antes de chegar ao Beto? Ou seja,<br />
Beto gostaria de detectar se alguma alteração parcial foi feita na linha – isto<br />
é chamado de detecção de integridade da informação;<br />
Computador da<br />
Albaliz<br />
(origem)<br />
Computador X<br />
(provedor)<br />
Mal-intencionado<br />
lê grava<br />
Linha de<br />
comunicação<br />
Computador do<br />
Beto<br />
(destino)<br />
Computador Y<br />
(provedor)
<strong>Criptografia</strong><br />
6<br />
Introdução<br />
3. Uma variação do problema anterior é como evitar que uma falsa Albaliz<br />
envie informação para Beto? Ou seja, Beto deseja ter certeza de que foi a<br />
Albaliz verdadeira que enviou a informação – isso é chamado<br />
autenticação da origem;<br />
Computador da<br />
Albaliz<br />
(origem)<br />
Computador X<br />
(provedor)<br />
Falsa Albaliz<br />
grava<br />
Linha de<br />
comunicação<br />
Computador do<br />
Beto<br />
(destino)<br />
Computador Y<br />
(provedor)
<strong>Criptografia</strong><br />
7<br />
Introdução<br />
4. Como evitar que uma pessoa desautorizada leia e altere as informações<br />
já enviadas e armazenadas no computador do Beto? Isso é chamado<br />
também de detecção de integridade da informação;<br />
Computador X<br />
(provedor)<br />
Desautorizada<br />
Lê ou altera<br />
Linha de<br />
comunicação<br />
Computador do<br />
Beto<br />
(destino)<br />
Computador Y<br />
(provedor)
<strong>Criptografia</strong><br />
8<br />
Introdução<br />
CRIPTOGRAFIA é a base para a segurança nestes<br />
cenários
<strong>Criptografia</strong><br />
9<br />
O que é criptografia?<br />
É a transformação de uma mensagem para um formato<br />
incompreensível, no intuito de garantir sua<br />
confidencialidade, integridade e autenticação.<br />
“Arte ou ciência de se escrever em cifras”.<br />
<strong>Criptografia</strong>(kriptos = oculto + grifo = grafia)<br />
Propriedades básicas da segurança da informação<br />
Confidencialidade Autenticação<br />
SEGURANÇA<br />
Integridade Não repúdio
<strong>Criptografia</strong><br />
10<br />
Técnicas de <strong>Criptografia</strong><br />
• Técnicas Clássicas:<br />
– Substituição– letras do texto plano são substituídas por<br />
outras letras (Ex. cifrador de César, cifrador de Vinegère).<br />
– Transposição- letras do texto plano são permutadas entre<br />
si (Ex.máquina de rotores).<br />
• Técnicas Modernas:<br />
– Cifradores de fluxo– atuam sobre um bit ou byte de cada vez.<br />
– Cifradores de bloco- atuam sobre um bloco do texto plano,<br />
produzindo um bloco do texto cifrado do mesmo tamanho.
<strong>Criptografia</strong><br />
11<br />
<strong>Criptografia</strong> Clássica<br />
• O cifrador de César (substituição simples ou monoalfabética)<br />
Imperador romano Júlio César (100 AC – 44 AC). Substituiu letras do alfabeto<br />
romano por letras do alfabeto grego, ou deslocou as letras um número fixo<br />
de caracteres.<br />
– Podemos retornar os caracteres originais voltando o mesmo número de<br />
caracteres:<br />
• Exemplo:<br />
A=D, B=E, N=Q<br />
Como criptografar “BANANA”?<br />
EDQDQD
<strong>Criptografia</strong><br />
12<br />
<strong>Criptografia</strong> Clássica<br />
• Como a mensagem é decriptografada?<br />
PHQVDJHP<br />
FULSWRJUDIDGD<br />
Texto<br />
Criptografado<br />
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<br />
Texto 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<br />
MENSAGEM<br />
CRIPTOGRAFADA
<strong>Criptografia</strong><br />
13<br />
<strong>Criptografia</strong> Clássica<br />
• Substituição Homofônica<br />
Uso datado de 1401 pelo Duque de Mantua<br />
– Uma letra pode ser substituída por vários caracteres:<br />
A=15, 19, 37, 88 B=6, 35, 42, 67<br />
Um mesmo número do texto criptografado não pode corresponder a mais de<br />
uma letra no texto normal.<br />
• Substituição Polialfabética<br />
Criado por Leon Baptista em 1568<br />
Crifra de Vigenère e Baufort<br />
Composto por várias cifras de substituição simples
<strong>Criptografia</strong><br />
14<br />
<strong>Criptografia</strong> Clássica<br />
• Exemplo: Cifra de Vinegère<br />
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<br />
0 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z<br />
1 B C D E F G H I J K L M N O P Q R S T U V W X Y Z A<br />
2 C D E F G H I J K L M N O P Q R S T U V W X Y Z A B<br />
3 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<br />
4 E F G H I J K L M N O P Q R S T U V W X Y Z A B C D<br />
5 F G H I J K L M N O P Q R S T U V W X Y Z A B C D E<br />
6 G H I J K L M N O P Q R S T U V W X Y Z A B C D E F<br />
7 H I J K L M N O P Q R S T U V W X Y Z A B C D E F G<br />
8 I J K L M N O P Q R S T U V W X Y Z A B C D E F G H<br />
9 J K L M N O P Q R S T U V W X Y Z A B C D E F G H I<br />
10 K L M N O P Q R S T U V W X Y Z A B C D E F G H I J<br />
11 L M N O P Q R S T U V W X Y Z A B C D E F G H I J K<br />
12 M N O P Q R S T U V W X Y Z A B C D E F G H I J K L<br />
13 N O P Q R S T U V W X Y Z A B C D E F G H I J K L M<br />
14 O P Q R S T U V W X Y Z A B C D E F G H I J K L M N<br />
15 P Q R S T U V W X Y Z A B C D E F G H I J K L M N O<br />
16 Q R S T U V W X Y Z A B C D E F G H I J K L M N O P<br />
17 R S T U V W X Y Z A B C D E F G H I J K L M N O P Q<br />
18 S T U V W X Y Z A B C D E F G H I J K L M N O P Q R<br />
19 T U V W X Y Z A B C D E F G H I J K L M N O P Q R S<br />
20 U V W X Y Z A B C D E F G H I J K L M N O P Q R S T<br />
21 V W X Y Z A B C D E F G H I J K L M N O P Q R S T U<br />
22 W X Y Z A B C D E F G H I J K L M N O P Q R S T U V<br />
23 X Y Z A B C D E F G H I J K L M N O P Q R S T U V W<br />
24 Y Z A B C D E F G H I J K L M N O P Q R S T U V W X<br />
25 Z 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
<strong>Criptografia</strong><br />
15<br />
<strong>Criptografia</strong> Clássica<br />
• Exemplo de Cifra de Vinegère:<br />
Cifrando TEMOS UM NOVO PRESIDENTE com a palavra-chave CHAVE:<br />
Texto Claro T E M O S U M N O V O P R E S I D E N T E<br />
Chave C H A V E C H A V E C H A V E C H A V E C<br />
Deslocamento 2 7 0 21 4 2 7 0 21 4 2 7 0 21 4 2 7 0 21 4 2<br />
Cifrado V L M J W W T N J Z Q W R Z W K K E I X G<br />
Texto Cifrado: VLMJWWTNJZQWRZWKKEIXG
<strong>Criptografia</strong><br />
16<br />
<strong>Criptografia</strong> Clássica<br />
• Substituição de Polígrafos<br />
A cifra Playfair (1854) foi usada pelos britânicos na Primeira Guerra Mundial<br />
– Criptografa grupos de caracteres. É o melhor entre as 4.<br />
Cifrando TEMOS UM NOVO PRESIDENTE com a<br />
palavra-chave CHAVE:<br />
Preparamos o texto para ser cifrado:<br />
TE MO SU MN OV OP RE SI DE NT EX<br />
Texto cifrado: ZC JR PZ NJ RC PQ SV ZN IH JZ AZ<br />
C H A V E<br />
B D F G I<br />
J K L M N<br />
O P Q R S<br />
T U X Y Z<br />
Faz-se o retângulo, substitui pela letra do extremo do quadrado<br />
No caso do MN, pega-se o da direita na mesma coluna
<strong>Criptografia</strong><br />
17<br />
<strong>Criptografia</strong> Clássica<br />
• Transposição<br />
Baseia-se na alteração da ordem dos caracteres em um texto, sendo que esses<br />
permanecem inalterados.<br />
Exemplo de uma Cifra de Transposição de coluna simples:<br />
Texto: Minha terra tem palmeiras onde canta o sabiá<br />
M I N H A T E<br />
R R A T E M P<br />
A L M E I R A<br />
S O N D E C A<br />
N T A O S A B<br />
I A * * * * *<br />
Lido na vertical o texto torna-se:<br />
MRASNIIRLOTANAMNA*HTEDO*AEIES*TMRCA*EPAAB*
<strong>Criptografia</strong><br />
18<br />
<strong>Criptografia</strong> Clássica<br />
• Transposição –Bastão de Licurgo ou Scytale<br />
O scytale consiste num bastão no qual é enrolada uma tira de couro ou<br />
pergaminho. O remetente escreve a mensagem ao longo do bastão e<br />
depois desenrola a tira, a qual então se converteu numa sequência de<br />
letras sem sentido. O mensageiro usa a tira como cinto, com as letras<br />
voltadas para dentro. O destinatário, ao receber o “cinto”, enrola-o no<br />
seu bastão, cujo diâmetro é igual ao do bastão do remetente. Dessa<br />
forma pode ler a mensagem.
<strong>Criptografia</strong><br />
19<br />
<strong>Criptografia</strong> Moderna<br />
• Na <strong>Criptografia</strong> Clássica o segredo que mantém o sigilo da<br />
comunicação está no procedimento acordado entre as partes.<br />
• Na <strong>Criptografia</strong> Moderna o procedimento é conhecido por<br />
todos e o segredo está na chave.<br />
Kerckhoff<br />
O procedimento é conhecido por todos (caso os detalhes do<br />
sistema sejam comprometidos, a comunicação entre as partes<br />
não será comprometida)<br />
A chave garante a segurança
<strong>Criptografia</strong><br />
20<br />
<strong>Criptografia</strong> Moderna<br />
ENIGMA<br />
A máquina enigma é uma combinação de sistemas<br />
mecânicos e sistemas elétricos. O mecanismo consiste num<br />
teclado, num conjunto de discos rotativos chamados rotores,<br />
dispostos em fila, e de um mecanismo de avanço que faz<br />
andar alguns rotores uma posição quando uma tecla é<br />
pressionada. O movimento contínuo dos rotores provoca<br />
diferentes combinações na encriptação.
<strong>Criptografia</strong><br />
21<br />
<strong>Criptografia</strong> Moderna<br />
ENIGMA
<strong>Criptografia</strong><br />
22<br />
<strong>Criptografia</strong> Moderna<br />
Shannon<br />
- Confusão:<br />
Um pedaço de informação é mudado, então os bits de saída não possuem<br />
nenhuma relação óbvia com os bits de entrada (Substituição)<br />
- Difusão:<br />
Tenta propagar os efeitos de um bit de texto simples para outros bits no<br />
texto cifrado (Transposição)<br />
Obs: Os métodos de substituição e transposição continuam existindo na<br />
<strong>Criptografia</strong> Moderna, porém ao invés do alfabeto são utilizados bits.
<strong>Criptografia</strong><br />
23<br />
<strong>Criptografia</strong> Moderna<br />
• <strong>Criptografia</strong> simétrica ou de chave secreta.<br />
– Usa-se a mesma chave<br />
• <strong>Criptografia</strong> assimétrica ou de chave pública.<br />
– Usam-se chaves diferentes, embora relacionadas, para cifrar e decifrar a<br />
mensagem<br />
• Funções de HASH<br />
– Função matemática que gera uma informação de tamanho fixo, para a qual é<br />
muito difícil, em termos computacionais, encontrar outra mensagem que gere<br />
o mesmo resultado
<strong>Criptografia</strong><br />
24<br />
<strong>Criptografia</strong> simétrica ou de chave secreta<br />
• O emissor usa uma chave secreta para criptografar a<br />
mensagem, e o receptor utiliza a mesma chave para<br />
decriptografar a mensagem.
<strong>Criptografia</strong><br />
25<br />
<strong>Criptografia</strong> simétrica ou de chave secreta<br />
• O tamanho da chave � segurança dos algoritmos simétricos.<br />
Uma chave de “128 bits de tamanho” significa que existem 2<br />
elevado a 128 chaves possíveis.<br />
Tempo p/quebrar a chave<br />
Tipo hacker Orçamento 40 bit 56 bit 3DES-168<br />
Individual US$400 5 h 38 anos “eternidade”<br />
Dedicado US$10.000 12 min 556 dias 10E+19 anos<br />
Comunidade US$10 milhões 0,02 seg 21 min 10E+17 anos<br />
(Fonte:”Minimal Key Lengths for Symmetric Ciphers to Provide Adequate<br />
Commercial Security.” Blaze, et.al. 1/96:Schneider B, “Applied Cryptography, Second<br />
Edition” John Wiley & Sons. 1996 – Também disponível em<br />
http://www.counterpane.com/Keylength.html)
<strong>Criptografia</strong><br />
26<br />
<strong>Criptografia</strong> simétrica ou de chave secreta<br />
• Algoritmos e tamanhos de chave típicos:<br />
• DES 56-bit<br />
• Triple-DES ~160-bit<br />
• CAST 40-, 64-, 80-, 128-bit<br />
• RC2 40-, 128-bit<br />
• IDEA 128-bit<br />
• AES 128, 256-bit
<strong>Criptografia</strong><br />
27<br />
<strong>Criptografia</strong> simétrica ou de chave secreta<br />
• Vantagens:<br />
– Muito rápida, se comparada com a criptografia<br />
assimétrica, ou de “chave pública”;<br />
– Nível alto de segurança;<br />
– Existem excelentes algoritmos simétricos<br />
disponíveis de graça.
<strong>Criptografia</strong><br />
28<br />
<strong>Criptografia</strong> simétrica ou de chave secreta<br />
• Desvantagens ou problemas:<br />
– Difícil para os usuários compartilharem suas chaves de<br />
forma segura;<br />
– Se torna inviável, operacionalmente, quando o número de<br />
usuários cresce:<br />
•10 usuários = 50 chaves<br />
•1000 usuários = 500.000 chaves<br />
– Se torna onerosa a troca de chaves e, por isto, as chaves<br />
não são trocadas com a frequência devida;<br />
- Não podem ser usadas para Assinatura Digital;<br />
– Não podem ser usadas, de forma fácil, para autenticação<br />
em redes.
<strong>Criptografia</strong><br />
29<br />
<strong>Criptografia</strong> simétrica ou de chave secreta<br />
• A questão de restrição de exportação:<br />
– Produtos de criptografia gerados nos EUA não podem<br />
ser exportados sem licença do Departamento de Estado;<br />
– Softwares e dispositivos de criptografia são regulados<br />
pelo ITAR (International Traffic in Arms Regulation) como<br />
munição;<br />
– Produtos que utilizem algoritmo simétricos só podem ser<br />
exportados para uso comercial com chaves de 128 bits no<br />
máximo;<br />
– O Governo Americano propõe o uso de sistemas com<br />
Key-recovery.
<strong>Criptografia</strong><br />
30<br />
Algoritmos Simétricos ou de Chave Secreta<br />
DES - o Padrão para <strong>Criptografia</strong> de Dados (Data Encryption Standard) foi<br />
adotado como padrão pelo governo dos EUA em 1977, e como padrão<br />
ANSI em 1981. É um algoritmo de bloco que usa uma chave de 56 bits e<br />
tem diferentes modos de operação, dependendo da finalidade com que é<br />
usado.<br />
3DES - é uma maneira de tornar o DES pelo menos duas vezes mais seguro,<br />
usando o algoritmo de criptografia três vezes, com três chaves diferentes.<br />
IDEA - o International Data Encryption Algorithm (Algoritmo de <strong>Criptografia</strong><br />
de Dados Internacional) foi desenvolvido em Zurique, na Suíça, por James L.<br />
Massey e Xuenjia Lai, e publicado em 1990. O IDEA usa chave de 128 bits, e<br />
é bastante poderoso.
<strong>Criptografia</strong><br />
31<br />
Algoritmos Simétricos ou de Chave Secreta<br />
RC4 - Inventado em 1987 pela RSA, nunca teve o seu algoritmo de<br />
funcionamento interno publicado. Esse segredo possuía interesses<br />
financeiros e não de segurança. A empresa esperava que mantendo-o em<br />
segredo, ninguém mais o implementaria e o comercializaria. É uma<br />
cifragem muito utilizada hoje em dia, até fazendo parte no protocolo de<br />
comunicação SSL (Security Socket Layer).<br />
RC5 - este algoritmo de bloco foi desenvolvido por Ronald Rivest e publicado<br />
em 1994. O RC5 permite que o tamanho da chave, o tamanho dos blocos de<br />
dados e o número de vezes que a criptografia será realizada seja definida pelo<br />
usuário.<br />
BLOWFISH - é um algoritmo de criptografia em bloco, rápido, compacto e<br />
simples, inventado por Bruce Schneier. O algoritmo permite a utilização de<br />
uma chave de tamanho variável, de até 448 bits, e é otimizado para executar<br />
em processadores de 32 ou 64 bits. Não é patenteado e foi colocado em<br />
domínio público.
<strong>Criptografia</strong><br />
32<br />
<strong>Criptografia</strong> assimétrica ou de chave pública<br />
• Nesta abordagem, tanto o emissor quanto o receptor possuem não<br />
apenas uma, mas duas chaves, uma pública e outra privada.
<strong>Criptografia</strong><br />
33<br />
<strong>Criptografia</strong> assimétrica ou de chave pública<br />
• Com o protocolo Diffie-Hellman, criado em 1976,<br />
um precisa conhecer apenas a chave pública do outro.<br />
•A chave pública pode ser divulgada por seu proprietário<br />
sem problemas, inclusive através de meios inseguros.<br />
•A chave privada do usuário deve permanecer secreta.<br />
• A chave pública e privada são matematicamente<br />
relacionadas, de forma que o que é criptografado<br />
com uma delas só pode ser decriptografado com a<br />
outra.
<strong>Criptografia</strong><br />
34<br />
<strong>Criptografia</strong> assimétrica ou de chave pública<br />
• Como fazer para enviar uma mensagem criptografada?<br />
- O emissor criptografa a mensagem utilizando a<br />
chave pública do destinatário e envia a mensagem.<br />
- O destinatário recebe e decriptografa a<br />
mensagem utilizando sua chave privada.<br />
Alba msg criptografa<br />
PB<br />
Chave pública de Beto<br />
CPB(msg)<br />
Nenhuma chave secreta precisa ser transmitida.<br />
decriptografa<br />
SB<br />
Chave privada de Beto<br />
msg<br />
Beto
<strong>Criptografia</strong><br />
35<br />
<strong>Criptografia</strong> assimétrica ou de chave pública<br />
• Principais algoritmos utilizados comercialmente:<br />
– RSA – Rivest-Shamir-Adleman;<br />
• 1024 bits, é 7,5 milhões de vezes mais forte que 512 bits<br />
– DSA – Digital Signature Algoritm;<br />
• Só para assinaturas digitais, recomendado 1024 bits<br />
– DH – Diffie-Hellman;<br />
• Usado para troca de chaves e criptografia, recomendado 1024 bits.<br />
– EC – Elliptic Curves.<br />
• Similar aos DSA e DH nas funções, recomendado 192 bits<br />
• Utilização:<br />
– Assinatura Digital: RSA, DSA e ECDSA;<br />
– <strong>Criptografia</strong>: RSA, DH e ECDH;<br />
– Troca de Chaves: RSA, DH e ECDH
<strong>Criptografia</strong><br />
36<br />
<strong>Criptografia</strong> assimétrica ou de chave pública<br />
Vantagens:<br />
– Permite a comunicação segura, sem o compartilhamento<br />
prévio de chaves;<br />
– Permanece viável operacionalmente;<br />
• 1000 usuários = 2000 chaves (ou 1000 pares de chave)<br />
– Permite assinaturas digitais;<br />
– Possui velocidade aceitável para criptografia de dados.
<strong>Criptografia</strong><br />
37<br />
<strong>Criptografia</strong> assimétrica ou de chave pública<br />
Desvantagens ou problemas:<br />
– Como saber de quem são as chaves públicas que você tem?<br />
– Onde se obtém as chaves públicas?<br />
– Como confiar nestas chaves públicas?<br />
– Como as chaves são atualizadas ao longo do tempo?<br />
Solução: Certificados Digitais e Tecnologia de PKI (ICP)
<strong>Criptografia</strong><br />
38<br />
Algoritmos assimétricos ou de chave pública<br />
• Diffie-Hellman - Um sistema para troca de chaves<br />
criptográficas entre partes. Na verdade, não é um método de<br />
criptografia ou decifragem, é um método para troca de chave<br />
secreta compartilhada por meio de um canal de comunicação<br />
público. Com efeito, as duas partes estabelecem certos valores<br />
numéricos comuns e cada uma delas cria uma chave. As<br />
transformações matemáticas das chaves são intercambiadas.<br />
Cada parte calcula então uma terceira chave (a chave de<br />
sessão) que não pode ser descoberta facilmente por um<br />
atacante que conheça os valores intercambiados.
<strong>Criptografia</strong><br />
39<br />
Algoritmos assimétricos ou de chave pública<br />
• ElGamal - Batizado com o nome de seu criador, Taher ElGamal,<br />
é um sistema criptográfico de chave pública baseado no<br />
protocolo de troca de chaves de Diffie-Hellman. O ElGamal<br />
pode ser utilizado para criptografia e assinatura digital, de forma<br />
semelhante ao algoritmo RSA.<br />
• DSS - O Digital Signature Standard (Padrão de Assinatura<br />
Digital) foi desenvolvido pela Agência Nacional de Segurança<br />
(NSA), e adotado como Padrão Federal de Processamento de<br />
Informação (FIPS) pelo Instituto Nacional de Padrões e<br />
Tecnologia (NIST) dos EUA. O DSS é baseado no Algoritmo de<br />
Assinatura Digital - DSA (Digital Signature Algorithm) - que<br />
permite a utilização de qualquer tamanho de chave, embora no<br />
DSS FIPS só sejam permitidas chaves entre 512 e 1024 bits. O<br />
DSS só pode ser usado para a realização de assinaturas digitais,<br />
embora haja implementações do DSA para criptografia.
<strong>Criptografia</strong><br />
40<br />
Algoritmos assimétricos ou de chave pública<br />
• RSA - é um sistema criptográfico de chave pública<br />
conhecido, desenvolvido por Ronald Rivest, Adi Shamir e<br />
Leonard Adleman, então professores do MIT (Instituto de<br />
Tecnologia de Massachusets). O RSA utiliza criptografia em<br />
blocos e possui uma segurança muito forte, devido ao alto<br />
poder computacional necessário para se tentar quebrar uma<br />
chave RSA. Pode tanto ser usado para cifrar informações<br />
como para servir de base para um sistema de assinatura digital.<br />
As assinaturas digitais podem ser usadas para provar a<br />
autenticidade de informações digitais. A chave pode ser de<br />
qualquer tamanho, dependendo da implementação utilizada.
<strong>Criptografia</strong><br />
41<br />
Aplicações de criptografia assimétrica<br />
• Smart-card – são cartões plásticos que incluem um<br />
processador equivalente a um i386, e memória local, com um<br />
sistema operacional próprio. A comunicação com outro<br />
computador é através de um adaptador a um drive de disquete,<br />
ou através de um periférico especial. Muitos desses cartões já<br />
incorporam o DES e o RSA com chave de 1024 bits. Possuem<br />
também memória protegida para armazenar as chaves.
<strong>Criptografia</strong><br />
42<br />
<strong>Criptografia</strong> de Chave Secreta X Chave Pública<br />
Chave Secreta X Chave Pública<br />
Para Usar Para Usar<br />
- Um algoritmo e uma chave - Um algoritmo e duas chaves<br />
- A e B compartilham o - A e B compartilham um<br />
algoritmo e a chave par de chaves<br />
Para a Segurança Para a Segurança<br />
- Chave secreta - Uma chave pública<br />
- Impossibilidade de decifrar a - Impossibilidade de decifrar a<br />
mensagem mensagem<br />
- Algoritmo + amostra do texto cifrado - Algoritmo + amostra do texto<br />
não é suficiente para determinar a chave cifrado + chave pública não<br />
determina a chave privada
<strong>Criptografia</strong><br />
43<br />
Funções de HASH<br />
São algoritmos que a partir de uma mensagem de qualquer<br />
tamanho, gera uma string(HASH) de tamanho fixo de 128 bits.<br />
Define uma criptografia de modo unidirecional, ou seja, efetua<br />
uma criptografia que não apresenta volta.<br />
mensagem<br />
Função de<br />
HASH<br />
HASH da mensagem<br />
iCqVAuB72QM...<br />
(string com 128 bits)
<strong>Criptografia</strong><br />
44<br />
Funções de HASH<br />
• Garantindo a INTEGRIDADE da mensagem:<br />
Origem<br />
mensagem<br />
iCqVAuB72QM...<br />
HASH da mensagem<br />
Mensagem e seu<br />
HASH enviados<br />
=<br />
Destino<br />
mensagem<br />
iCqVAuB72QM...<br />
MSG OK
<strong>Criptografia</strong><br />
45<br />
Algoritmos de HASH<br />
HMAC- o Hashed Message Authentication Code (Código de<br />
Autenticação de Mensagens por Confusão), é uma técnica que<br />
usa uma chave secreta e uma função de codificação para criar<br />
um código secreto de autenticação de mensagem. O método<br />
HMAC reforça uma função de codificação existente de forma<br />
a torná-la resistente a ataques externos, mesmo que a própria<br />
função de codificação esteja de certa forma comprometida.<br />
MD2 - Message Digest #2 (Codificação de Mensagem #2),<br />
desenvolvido por Ronald Rivest. Esta é a mais segura das<br />
funções de codificação de mensagem de Rivest, mas demora<br />
mais para calcular e produz algumas colisões em seu cálculo.<br />
Produz uma codificação de 128 bits.
<strong>Criptografia</strong><br />
46<br />
Algoritmos de HASH<br />
MD4 - Message Digest #4 (Codificação de Mensagem #4),<br />
também desenvolvido por Ronald Rivest. Este algoritmo de<br />
codificação de mensagem foi desenvolvido como uma<br />
alternativa rápida para o MD2. Depois, o MD4 mostrou ser<br />
pouco seguro. Ou seja, é possível encontrar dois arquivos que<br />
produzem o mesmo código MD4 sem uma pesquisa de força<br />
bruta. O MD4 produz uma codificação de 128 bits.<br />
MD5 - Message Digest #5 (Codificação de Mensagem #5),<br />
também desenvolvido por Ronald Rivest. O MD5 é uma<br />
modificação do MD4 que inclui técnicas para torná-lo mais<br />
seguro e mais rápido. Embora largamente usado, foram<br />
descobertas algumas falhas nele em meados de 1996, que<br />
permitiam calcular alguns tipos de colisão. Como resultado,<br />
sua popularidade vem caindo. O MD5 produz uma codificação<br />
de 128 bits.
<strong>Criptografia</strong><br />
47<br />
Algoritmos de HASH<br />
• SHA1 - O Secure Hash Algorithm se parece muito com o<br />
MD5. O SHA1 incorpora pequenas mudanças, como produzir<br />
uma codificação maior com 160 bits. Os cálculos internos são<br />
mais fortes do que o do MD5. Variantes do SHA1 que<br />
produzem variantes de 192 a 256 bits estão em<br />
desenvolvimento.
<strong>Criptografia</strong><br />
48<br />
Algoritmos de HASH<br />
• Esquema Geral do SHA1.<br />
1- O documento é transformado em blocos de 512 bits.<br />
- inserido um 1, seguido de 0s, tornando-o múltiplo de 512 menos 64.<br />
2- Inserido tamanho original do documento.<br />
- acrescido um bloco de 64 bits que contém o seu tamanho original.<br />
3- Inicializado buffer (160 bits) para resultados intermediários<br />
e final.<br />
- A=0x67452301 B=0x32efcd10 C=ae56dfe321 D=0xfe54ff23<br />
E=0xedf3f25a<br />
4- O documento é processado em blocos de 512 bits.<br />
- são aplicadas 4 rodadas de 20 operações cada.<br />
O resultado é um resumo de 160 bits
<strong>Criptografia</strong><br />
49<br />
CRIPTOGRAFIA<br />
FIM