Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

WBA0456_v1.0
FUNÇÃO DE CRIPTOGRAFIA HASH
APRENDIZAGEM EM FOCO
2
APRESENTAÇÃO DA DISCIPLINA
Autoria: Marcelo Ferreira Zochio
Leitura crítica: José Eugênio de Mira
Olá, alunos! Bem vindos à disciplina!
Desde que começou a era da informação, um requisito muito 
importante para a sobrevivência das empresas no mercado tem 
merecido destaque: segurança da informação. Dos três pilares 
dos quais ela é composta, confidencialidade, integridade e 
disponibilidade, dois serão abordados nesta disciplina.
Ela tem como objetivo não só ensinar o funcionamento dos 
algoritmos de hashes, mas fornecer a você os fundamentos da 
criptografia como um todo.
Você aprenderá técnicas clássicas de criptografia, criptografia 
simétrica e assimétrica, funções de hash e como são feitas 
autenticação e assinaturas digitais usando criptografia.
Também compreenderá o funcionamento das principais técnicas 
de criptografia, será capaz de diferenciar as essas técnicas a 
partir de suas características, sugerir modelos de criptografia 
adequados à aplicação. Compreenderá a operação de algoritmos 
de autenticação de mensagens e de usuários, e saberá como a 
assinatura digital contribui para a autenticidade de documentos e 
mensagens digitais.
Entre as atividades propostas na disciplina, você terá o desafio de 
aplicar os conhecimentos adquiridos em uma situação prática, em 
que você proporá uma solução baseada em uma situação muito 
semelhante à que encontrará no mercado de trabalho.
3
Espero que você absorva o conhecimento que será disponibilizado 
para sua formação e que tenha sucesso em seu aprendizado.
Vejo você nas aulas!
INTRODUÇÃO
Olá, aluno (a)! A Aprendizagem em Foco visa destacar, de maneira 
direta e assertiva, os principais conceitos inerentes à temática 
abordada na disciplina. Além disso, também pretende provocar 
reflexões que estimulem a aplicação da teoria na prática profissional. 
Vem conosco!
TEMA 1
Teoria dos números e 
criptografia clássica
______________________________________________________________
Autoria: Marcelo Ferreira Zochio
Leitura crítica: José Eugênio de Mira
5
DIRETO AO PONTO
Matemática e criptografia estão estreitamente ligadas. É preciso 
conhecer alguns conceitos matemáticos antes de prosseguir 
nos estudos de criptografia. Entre os principais, está a teoria dos 
números. Vamos aos principais tópicos:
Os números primos são aqueles divisíveis somente por eles mesmos 
e pelo número um. Eles são importantes para a criptografia por 
causa da sua característica conhecida como fatoração. Esse processo 
é uma regra matemática que diz que todos os inteiros podem ser 
decompostos por números primos.
Quanto maior o número, mais difícil é fatorá-lo. Não há um 
método eficiente de fatorar números grandes de forma rápida; 
a força bruta, que é a usada nesses casos, é muito lenta, pois testa 
todas as possibilidades.
Para fatorar um número de 800 dígitos usando o mesmo algoritmo 
para fatorar um de 8 dígitos, pode demorar anos para completar a 
operação, mesmo com o poder computacional convencional atual.
Para você ter uma ideia, um computador pessoal atual leva, em 
média, seis dias para fatorar um número de 23 dígitos. A cada dígito 
acrescentado, a demora na fatoração cresce exponencialmente.
Você faz ideia do tamanho de números usados na criptografia RSA, 
que usa números primos para compor suas chaves? Sabia que o 
número resultante da multiplicação desses números primos pode 
chegar facilmente a 600 dígitos?
Com isso, nota-se que criar um número muito grande é fácil, em 
termos computacionais. Basta multiplicar dois números primos 
enormes para chegar a um algarismo não primo maior que os dois e, 
6
tecnicamente, impossível de fatorar, pois, fatorando-os, descobrem-
se os números primos que o compõem. 
Conhecer esses dois números usados inicialmente fará com que você 
quebre a criptografia assimétrica, por exemplo, no caso do algoritmo 
RSA.
Operações modulares também são importantes. Como você notou, 
os algoritmos clássicos de criptografia operam em mod 26 (módulo 
26), pois abrangem todas as letras do alfabeto. A cifra de César pode 
ser escrita em notação matemática da seguinte maneira:
Cifragem:
C=(N+3) mod 26
Decifragem:
N=(C-3) mod 26
Onde:
C = texto cifrado.
3 = deslocamento.
N = texto original.
No caso da cifra de Vigenère, podemos aplicar os princípios da 
modularidade e da congruência, também vistos em nossa aula. A 
cifra de Vigenère pode ser escrita matematicamente da seguinte 
forma, quando cifra uma mensagem:
 (mod26)i i iC P K  
 
7
E quando decifra uma mensagem:
O conceito de one-time pad, que usa senhas descartáveis, traz 
segurança máxima a uma cifra criptográfica, pois torna impossível 
sua quebra, devido ao fato de não haver comportamento cíclico 
em sua chave, uma vez que ela é do tamanho da mensagem e não 
possui sequências repetidas, porém, a quantidade de chaves a 
serem criadas e a distribuição delas torna o one-time pad inviável 
para uso em larga escala, sendo usado apenas para situações em 
que se exige segurança total na transmissão de mensagens. 
Em relação à Enigma, você sabe quanto tempo se levava para 
decifrar uma mensagem alemã codificada com ela, usando a 
bomba de Turing? Em muitos casos, menos de uma hora! 
Como os alemães trocavam a configuração das máquinas todos 
os dias, o código descoberto valia apenas para aquele dia. No dia 
seguinte, o trabalho de quebra da criptografia era feito de novo. 
Para a configuração da bomba, eram feitas montagem de grafos, 
a partir dos quais era feita a configuração da bomba de Turing, 
para começar as análises para a quebra do código. Um grafo é 
uma estrutura de dados formada por um conjunto não vazio de 
vértices e por outro conjunto de arestas (ou arcos), ligando esses 
vértices. Veja um exemplo de grafo resultante de um cálculo de 
probabilidade de combinação para montagem dos rotores na 
bomba de Turing:
(mod26)i i iP C K  
8
Figura 1 – Exemplo de grafo
 
Fonte: elaborada pelo autor.
Referências bibliográficas
STALLINGS, W. Criptografia e segurança de redes. 6. ed. São 
Paulo: Prentice Hall Brasil, 2015. 492 p.
ZOCHIO, M. F. Introdução à criptografia. São Paulo: Novatec, 
2016. 206 p.
PARA SABER MAIS
Além dos algoritmos criptográficos clássicos que você viu até aqui, 
existem outros dignos de nota. Vamos a eles.
Há algoritmos que usam transposições geométricas. Uma delas é 
a transposição colunar simples. A entrada do texto original é feita 
em linha e a saída em coluna usando uma matriz. Veja o exemplo 
a seguir com a string “os rapazes são audazes”:
9
Tabela 1 – Transposição colunar simples
o s r a p
a z e s s
a o a u d
a z e s
Fonte: elaborada pelo autor.
A mensagem cifrada será: oaaaszozreaeasuspsd.
Outro algoritmo desse tipo é a transposição linear simples, que é o 
contrário do anterior: entrada por coluna e saída por linha.
Tabela 2 – Transposição linear simples
o p s a z
s a s u e
r z a d s
a e o a
Fonte: elaborada pelo autor.
A mensagem cifrada será: opsazsasuerzadsaeoa.
Há também o rail fence (paliçada), que segue um padrão zigue-
zague:
Tabela 3 – Transposição rail fence com duas linhas
o r p z s a a d z s
s a a e s o u a e
Fonte: elaborada pelo autor.
A mensagem cifrada será: orpzsaadzssaaesouae.
10
Lorem ipsum dolor sit amet
Autoria: Nome do autor da disciplina
Leitura crítica: Nome do autor da disciplina
Referências bibliográficas
STALLINGS, W. Criptografia e segurança de redes. 6. ed. São 
Paulo: Prentice Hall Brasil, 2015. 492 p.
ZOCHIO, M. F. Introdução à criptografia. São Paulo: Novatec, 
2016. 206 p.
TEORIA EM PRÁTICA
Você é o novo gerente de segurança da informação de uma 
empresa que trabalha como terceirizada para o governo federal. 
Como a empresa trabalha com informações sensíveis, foi-lhe 
solicitado que resolvesse o seguinte problema: implementar 
a codificação OTP (one-time pad) na empresa, nas mensagens 
governamentais sigilosas, para que qualquer informação fosse 
transcrita jácriptografada para os agentes de sua empresa 
transmitirem seu conteúdo para seus destinatários, mantendo o 
sigilo desse conteúdo.
A cifra deve ser feita usando apenas uma operação lógica XOR 
(“ou exclusivo”), fornecer a saída da mensagem já criptografada e 
em hexadecimal, para depois ser decifrada pelo destinatário, que 
usará a mesma solução.
Para conhecer a resolução comentada proposta pelo 
professor, acesse a videoaula deste Teoria em Prática no 
ambiente de aprendizagem.
11
LEITURA FUNDAMENTAL
Indicação 1
Este capítulo do livro de Stallings aborda sobre “técnicas clássicas 
de criptografia” que você viu neste tema. Você encontrará outros 
exemplos e mais material sobre o assunto. Para realizar a leitura, 
acesse a plataforma Biblioteca Virtual 3.0 Pearson, na Biblioteca 
Virtual da Kroton, e busque pelo título da obra.
STALLINGS, W. Criptografia e segurança de redes. 6. ed. São 
Paulo: Prentice Hall Brasil, 2015. p. 25-39. 492 p.
Indicação 2
Esta obra traz os princípios da segurança da informação e, no 
trecho indicado, os principais tipos de criptografia usados hoje. 
Para realizar a leitura, acesse a plataforma Biblioteca Virtual 3.0_
Pearson, na Biblioteca Virtual da Kroton, e busque pelo título da 
obra. 
GALVÃO, M. C. (Org.) Fundamentos da segurança da 
informação. São Paulo: Pearson, 2015. p. 41-43.
QUIZ
Prezado aluno, as questões do Quiz têm como propósito a 
verificação de leitura dos itens Direto ao Ponto, Para Saber 
Mais, Teoria em Prática e Leitura Fundamental, presentes 
neste Aprendizagem em Foco.
Indicações de leitura
12
Para as avaliações virtuais e presenciais, as questões serão 
elaboradas a partir de todos os itens do Aprendizagem em 
Foco e dos slides usados para a gravação das videoaulas, 
além de questões de interpretação com embasamento no 
cabeçalho da questão.
1. Quanto à fatoração aplicada à criptografia, é correto afirmar: 
a. Quanto maior o número, mais difícil é fatorá-lo.
b. Há um método eficiente de fatorar números grandes de forma 
rápida, mas ele tem alto custo computacional.
c. Dependendo do algoritmo usado, pode-se fatorar um número 
de 8 dígitos e outro de 800 dígitos no mesmo tempo.
d. Um computador atual leva, em média, seis minutos para 
fatorar um número de 23 dígitos.
e. Os números não primos resultantes da multiplicação de 
fatores primos usados em algoritmos criptográficos como RSA, 
normalmente, chegam a 60 dígitos.
2. À cifra de Vigenère podem ser aplicados os princípios de 
_____. 
a. Congruência e média.
b. Congruência e modularidade.
c. Modularidade e convencionabilidade.
d. Congruência e superioridade. 
e. Substituição e sistemas monoalfabéticos.
13
GABARITO
Questão 1 - Resposta A
Resolução: A dificuldade de fatoração de um número é 
diretamente proporcional ao seu tamanho: quanto maior o 
número, mais difícil de fatorá-lo.
Questão 2 - Resposta B
Resolução: A fórmula matemática da cifra de Vigenère 
combina os princípios da congruência e modularidade em 
sua composição.
TEMA 2
Criptografia de chave pública
______________________________________________________________
Autoria: Marcelo Ferreira Zochio
Leitura crítica: José Eugênio de Mira
15
DIRETO AO PONTO
Os algoritmos criptográficos se classificam em dois tipos principais: 
simétrico e assimétrico. Falemos um pouco mais do tipo simétrico.
Você sabia que ele possui dois modos de funcionamento? Vejamos 
quais são (ZOCHIO, 2016):
Cifra de fluxo: neste caso, os bits da mensagem original são 
combinados previamente com bits vindos de um gerador de 
dígitos pseudoaleatórios, ou diretamente com os bits da chave. 
Normalmente, a cifração é feita por meio de operação XOR (Ou-
Exclusivo). A decifração também.
Nesse tipo de cifra, não se deve usar a mesma chave mais que 
uma vez, pois isso causa enfraquecimento da segurança. Se a cifra 
de fluxo for do tipo XOR sem um IV (vetor de início), o resultado 
da operação XOR entre as duas mensagens cifradas com a mesma 
chave é o mesmo que a operação XOR entre essas mesmas 
mensagens sem passar pelo processo de cifra.
Cifra de bloco: neste caso, blocos de determinado tamanho da 
mensagem original devem ser cifrados um de cada vez até o final 
da mensagem a ser transmitida. A decifração ocorre com o mesmo 
método.
A força da criptografia simétrica está no tamanho de sua chave. 
Quanto maior a chave, mais seguro se torna o algoritmo criptográfico 
simétrico. 
Isso se dá porque, quanto maior a chave, mais possibilidade de 
combinações de chaves teremos a nosso dispor. Para fazer esse 
cálculo, basta elevar o número de bits da chave na base 2. Por 
exemplo:
16
Chave de 56 bits: 256 = 72.057.594.037.927.936 chaves possíveis.
Chave de 128 bits: 2128 = 340.282.366.920.938.463.374.607.431.768.21
1.456 chaves possíveis.
Chave de 256 bits: 2256 = 115.792.089.237.316.195.423.570.985.008.
687.907.853.269.984.665.640.564.039.457.584.007.913.129.639.936 
chaves possíveis.
Abordaremos agora a estrutura algoritmo AES (Advanced Encryption 
Standard). Ele é um algoritmo de cifra simétrica, que usa cifra de 
bloco, tendo cada bloco o tamanho de 128 bits, ou 16 bytes, e sua 
chave tem os tamanhos de 16, 24 ou 32 bytes (ou 128 bits, 192 bits 
ou 256 bits). 
Veja sua estrutura na Figura 1 a seguir:
17
Figura 1 – Estrutura do AES
Fonte: adaptada de Stallings (2015, p.105).
18
Agora falemos um pouco sobre a criptografia assimétrica, que 
trabalha com dois tipos de chave: pública e privada.
A chave pública, você divulga a quem quiser manter comunicações 
sigilosas, para que esse emissor cifre o conteúdo a ser enviado 
com sua chave pública, de modo que você consiga abrir tal 
conteúdo com sua chave privada, pois elas são matematicamente 
relacionadas: o que você cifra com uma, a outra abre. O conteúdo 
cifrado com sua chave pública só pode ser decifrado com sua 
chave privada e vice-versa.
A chave privada, você mantém bem guardada, não deve ser 
divulgada a ninguém. Se você cifrar algo com sua chave privada, 
não garantirá sigilo, pois quem tiver sua chave pública poderá 
ter acesso ao conteúdo; mas isso garante outra característica: 
autenticidade. Não há como negar a autoria do que você cifrar 
com sua chave privada, pois, em tese, só você poderia ter gerado 
tal conteúdo. Assim funciona a assinatura digital.
 
Referências bibliográficas
STALLINGS, W. Criptografia e segurança de redes. 6. ed. São 
Paulo: Prentice Hall Brasil, 2015. 492 p.
ZOCHIO, M. F. Introdução à criptografia. São Paulo: Novatec, 
2016. 206 p.
PARA SABER MAIS
Já ouviu falar da falha Heartbleed? 
19
Ela é um bug na OpenSSL (Open Secure Socket Layer, em 
português, algo como “camada segura de socket de uso aberto”), 
biblioteca de criptografia muito conhecida e difundida. A falha 
permite o roubo de informação criptografada usando o protocolo 
SSL. 
Este protocolo fornece comunicação criptografada na internet, e é 
usado em aplicações web, e-mail, mensagens instantâneas e redes 
de comunicação privadas (VPNs). 
A falha explora um bug na implementação do OpenSSL, presente 
nas versões 1.0.1 até 1.0.1f, permitindo que um cracker consiga 
ler uma área de memória RAM com 64 KB de extensão a cada 
requisição feita ao servidor, acessando informações privilegiadas, 
tais como chaves privadas, senhas, logins, números de cartão de 
crédito e várias outras informações. Como esse acesso se dá antes 
da cifração do conteúdo, nada adianta cifrá-los, pois a informação 
é acessada antes da cifra.
Veja a seguir, na Figura 2, a tela de um computador executando 
um ataque bem-sucedido explorando a falha Heartbleed. Note 
que o atacante conseguiu o login (sandrovaldo) e a senha (1234) 
no sistema acessado pelo alvo, que estão circundados por uma 
linha vermelha:
Figura 2 – Ataque Heartbleed bem-sucedido
Fonte: adaptada de Zochio (2016, p. 107).
Para não sofrer esse ataque, substitua o protocolo SSL pelo 
TLS (Transport Layer Security, ou, em português, camada de 
transporte segura) versão 1.3, pois ele não é vulnerável a essa 
20
falha. Háa possibilidade de se substituir por versões do SSL 
corrigidas, mas o protocolo TLS possui algumas vantagens em 
relação ao SSL, por ser uma versão melhorada dele, falando de 
modo resumido.
Uma das mudanças mais significativas é que o TLS pode usar 
portas diferentes (não só a 443) e verifica assinaturas com HMAC 
(Hashing for Message Authentication Code, ou, em português, 
código de autenticação de mensagem resumido), ao passo que o 
SSL usa o Message Authentication Code (MAC), ou, em português, 
código de autenticação de mensagem.
Um detalhe importante sobre essa falha é que o atacante não 
deixa rastros, pois o ataque é feito dentro do algoritmo do 
programa e de forma legal, já que o atacante faz uma requisição 
maliciosa ao servidor, que o atende fornecendo os 64 KB 
solicitados, tamanho máximo de informação por requisição nesse 
caso.
Referências bibliográficas
ZOCHIO, M. F. Introdução à criptografia. São Paulo: Novatec, 
2016. 206 p.
TEORIA EM PRÁTICA
Um cliente lhe pediu para desenvolver um pequeno aplicativo 
de transmissão de mensagens que use sockets, para que seus 
funcionários enviassem mensagens que seriam armazenadas 
em um aplicativo servidor, que gere um log das transmissões 
recebidas. Só que essa transmissão deve ser criptografada 
usando o algoritmo AES (Advanced Encryption Standart) no 
modo de cifra CFB (Cipher Feedback Block), para a segurança 
21
na transmissão dessas mensagens. Sua tarefa é desenvolver 
esse sistema, que usa um aplicativo cliente, que fica com o 
usuário, e outro servidor, que fica na empresa. Use o recurso 
de sockets em qualquer linguagem para realizar essa tarefa, 
desenvolvendo o aplicativo cliente e o aplicativo servidor, 
fazendo o cliente enviar mensagens criptografadas ao servidor, 
que as receberá, decifrará e gerará um log das mensagens 
recebidas e o IP de quem as enviou. Para efeito didático, pode 
deixar o IV (vetor de início) com valor fixo.
Para conhecer a resolução comentada proposta pelo 
professor, acesse a videoaula deste Teoria em Prática no 
ambiente de aprendizagem.
LEITURA FUNDAMENTAL
Indicação 1
Este capítulo do livro de Stallings aborda a criptografia de chave 
pública e o algoritmo RSA. Para realizar a leitura, acesse a 
plataforma Biblioteca Virtual 3.0 Pearson, na Biblioteca Virtual da 
Kroton, e busque pelo título da obra.
STALLINGS, W. Criptografia e segurança de redes. 6. ed. São 
Paulo: Prentice Hall Brasil, 2015. p. 199-218. 492 p.
Indicação 2
Nestas páginas, os autores Goodrich e Tamassia abordam o 
algoritmo ElGamal, que usa o conceito do algoritmo de Diffie-
Indicações de leitura
22
Hellman. Para realizar a leitura, acesse a plataforma Minha 
Biblioteca, na Biblioteca Virtual da Kroton, e busque pelo título da 
obra.
GOODRICH, M. T; TAMASSIA, R. Introdução à segurança de 
computadores. Porto Alegre: Bookman, 2012. p. 406-408. 
QUIZ
Prezado aluno, as questões do Quiz têm como propósito a 
verificação de leitura dos itens Direto ao Ponto, Para Saber 
Mais, Teoria em Prática e Leitura Fundamental, presentes 
neste Aprendizagem em Foco.
Para as avaliações virtuais e presenciais, as questões serão 
elaboradas a partir de todos os itens do Aprendizagem em 
Foco e dos slides usados para a gravação das videoaulas, 
além de questões de interpretação com embasamento no 
cabeçalho da questão.
1. Em 2014, foi descoberta uma falha denominada 
Heartbleed, que afeta a comunicação segura na internet. 
Como essa falha se caracteriza? 
a. A falha explora um bug na implementação do OpenGL, 
presente nas versões 1.0.1 até 1.0.1f, permitindo que 
um cracker consiga ler uma área de memória RAM com 
64 KB de extensão a cada requisição feita ao servidor, 
acessando informações privilegiadas.
b. A falha explora um bug na implementação do TLS versão 
1.3, permitindo que um cracker consiga ler uma área de 
23
memória RAM com 64 KB de extensão a cada requisição 
feita ao servidor, acessando informações privilegiadas.
c. A falha explora um bug na implementação do OpenSSL, 
presente nas versões 1.0.1 até 1.0.1f, permitindo que 
um cracker consiga ler uma área de memória RAM com 
64 KB de extensão a cada requisição feita ao servidor, 
acessando informações privilegiadas.
d. A falha explora um bug na implementação do OpenSSL, 
presente nas versões 1.0.1 até 1.0.1f, permitindo que 
um cracker consiga acessar o sistema operacional da 
máquina-alvo.
e. A falha explora um bug na implementação do OpenSSL, 
presente nas versões 2.0.1 até 2.0.1f, permitindo que 
um cracker consiga ler uma área de memória RAM com 
64 KB de extensão a cada requisição feita ao servidor, 
acessando informações privilegiadas
2. O sistema de criptografia ElGamal se baseia em______ para 
manter sua _________. 
a. Logaritmos infinitos; segurança.
b. Mangaritmos discretos; estabilidade.
c. Mangaritmos indiscretos; estabilidade.
d. Logaritmos discretos; segurança.
e. Logaritmos indiscretos; segurança.
GABARITO
Questão 1 - Resposta C
Resolução: As versões do OpenSSL que são afetadas pelo 
bug Heartbleed são as versões 1.0.1 até 1.0.1f. Essa falha 
permite ao atacante ler 64 KB da memória RAM em cada 
24
requisição feita ao servidor, acessando seu conteúdo e, 
com isso, obter informações que deveriam ficar seguras, 
como senhas e logins.
Questão 2 - Resposta D
Resolução: O sistema ElGamal se baseia no princípio do 
uso de logaritmos discretos para manter sua segurança, 
pois o problema do logaritmo discreto apresenta 
dificuldade de solução.
TEMA 3
Funções de hash criptográficas
______________________________________________________________
Autoria: Marcelo Ferreira Zochio
Leitura crítica: José Eugênio de Mira
26
DIRETO AO PONTO
Hash é um resumo criptográfico que gera uma saída de tamanho 
fixo independente do tamanho da entrada. A esta saída 
chamamos de hash da mensagem.
Essa saída sempre terá caracteres hexadecimais, ou seja, sempre 
será composta por números de 0 a 9 e as letras a, b, c, d, e, f.
Para que seja útil e confiável, um algoritmo de hash deve possuir 
as seguintes propriedades (ZOCHIO, 2016):
• Unidirecionalidade: conhecendo um resumo h(M), deve ser 
computacionalmente impossível encontrar M a partir desse 
resumo, ou seja, deve ser impossível reverter o hash.
• Compressão: a partir de uma mensagem de qualquer 
comprimento, o resumo h(M) deve ter um comprimento fixo. 
Normalmente, o comprimento de h(M) é menor que a da 
mensagem M, a não ser que a mensagem seja muito curta a 
ponto de ser menor que o hash gerado.
• Facilidade de cálculo: deve ser fácil calcular h(M) a partir 
de uma mensagem M, ou seja, o cálculo não deve ser tão 
complexo que demore a ser feito.
• Difusão: o resumo h(M) deve ter uma função de dispersão 
de todos os bits da mensagem M: se modificarmos um só 
bit da mensagem M, o hash h(M) deve mudar seu valor 
consideravelmente.
• Resistência à colisão: deve ser computacionalmente 
impossível encontrar duas mensagens ou conteúdos digitais 
com o mesmo hash.
27
A alteração de um bit da entrada causa grande alteração nos bits 
de saída, como um efeito avalanche. Não há como prever os bits 
de saída dados os bits de entrada e nem inverter a função, com o 
objetivo de obter sua entrada, em qualquer de suas subcadeias.
O hash é usado para verificar integridade, e não manter sigilo nas 
comunicações. Logo, ele não é um algoritmo criptográfico, pois 
não pode ser revertido para se obter a entrada. Algoritmos de 
hash possuem caminho de via única. Só é possível verificar se o 
hash de um arquivo coincide com o outro que alegadamente tem 
o mesmo conteúdo. Se os arquivos comparados (o original e o 
recebido) contêm o mesmo hash, não houve alteração no arquivo; 
do contrário, o arquivo foi alterado.
Não importa o tamanho e tipo de arquivo, o resultado final 
sempre será fixo de acordo com o algoritmo usado. Se você 
calcular o hash de um HD (hard disk) de um computador usando 
os algoritmos MD5 e SHA1, você obterá um hash de 16 bytes, no 
caso do MD5, e um hash de 20 bytes, no caso do SHA1.Se você 
calcular o hash de um caractere qualquer usando esses mesmos 
algoritmos, você obterá uma hash de 16 bytes, no caso do MD5, e 
outro de 20 bytes, no caso do SHA1.
Quando você tem dois arquivos completamente diferentes com 
o mesmo hash, acontece uma colisão de hash. Isso nunca deveria 
ocorrer, mas ocorre em alguns algoritmos, como o MD5. Ele é tão 
vulnerável a colisões que é possível forjá-las (WANG; YU, 2009.) 
Quando se descobre essa falha em algoritmos de hash, ele deixa 
de ser confiável para algumas tarefas, por exemplo, calcular 
hashes de imagens forenses computacionais e uso em assinaturas 
digitais.
A seguir, você tem alguns exemplos de algoritmos de cálculo de 
hashes:
28
Tabela 1 – Exemplos de alguns algoritmos de hash
Nome do algoritmo de 
hash
Tamanho da saída em 
bits
Tamanho da saída em 
bytes
MD5 128 16
SHA1 160 20
SHA256 256 32
SHA512 512 64
Whirlpool 512 64
Fonte: elaborada pela autora. 
Você já deve ter visto sites que “quebram” hashes, mas não é bem 
isso que eles fazem. Eles possuem um banco de dados gigantesco 
com hashes calculados previamente, e quando você coloca um 
hash nos campos de pesquisa para procurar a string à que ele se 
refere (no caso de tentar descobrir senhas protegidas por hash), 
ele verifica se possui aquele hash já calculado, e caso tenha, 
fornece sua entrada.
Existem softwares que também fazem essa tarefa, mas trabalham 
com wordlists, ou listas de palavras, nas quais estão presentes as 
mais usadas como senha e login, e calculam o hash de cada uma, 
verificando se são iguais ao hash que você manda-os pesquisar. 
Uma lista de palavras muito conhecida e usada para esse fim é a 
rockyou.txt, que possui 136 MB de palavras escritas em texto puro 
para comparação e cálculo de hash.
Há outras listas bem maiores, da ordem de gigabytes. Você pode 
encontrar facilmente listas de palavras com 2 GB ou até 20 GB por 
meio de pesquisa na internet.
29
Referências bibliográficas
WANG, X.; YU, H. How to break MD5 and other hash functions. 
Advances in cryptology, lecture notes in computer science 3494. 
China: Shandong University, 2009. p. 19-35.
ZOCHIO, M. F. Introdução à criptografia. São Paulo: Novatec, 
2016. 206 p.
PARA SABER MAIS
Já ouviu falar do “ataque de aniversário”? Ele é usado para testar 
hashes e também para explorar falhas em algoritmos de hashes. 
Qual o princípio de seu funcionamento?
Ele explora um paradoxo de cálculos estatísticos conhecido por 
“paradoxo do aniversário”. 
Ele se baseia em duas perguntas:
• Quantas pessoas precisam estar numa sala para que a 
probabilidade de alguém fazer aniversário no mesmo dia 
que você seja maior do que 50%? A resposta é: 253 pessoas. 
• Quantas pessoas precisam estar numa sala para que a 
probabilidade de que duas delas façam aniversário no 
mesmo dia seja maior do que 50%? A resposta é: 23 pessoas.
Como assim? Expliquemos: considerando o número de dias do 
ano como 365 e que o número de nascimentos esteja igualmente 
distribuído em todos os dias do ano, cada um dos presentes na 
sala tem apenas 364 chances em 365 de não fazer aniversário no 
mesmo dia que você. Isto representa 364/365 = 0,997260274, ou 
seja, aproximadamente 99,73%. Como o inverso é verdadeiro, e 
30
considerando apenas uma pessoa, a chance de que você e ela 
façam aniversário no mesmo dia é 1 - 0,997260274 = 0,002739726 
ou cerca de 0,27%.
À medida que o número de pessoas presentes aumenta, as 
chances se multiplicam. Se considerarmos duas pessoas, a 
probabilidade de que nenhuma delas faça aniversário no mesmo 
dia que você será (364/365) × (364/365) ou (364/365)2 e que pelo 
menos uma delas faça aniversário junto com você será novamente 
o inverso 1 - (364/365)2.
Aumente este número para três, quatro, cinco pessoas, de modo 
sucessivo até encontrar uma probabilidade maior que 0,50 ou 
50%. Logo, a fórmula para cálculo será: 1 - (364/365)n.
Considerando os cálculos com 253 pessoas, o resultado será 1 - 
(364/365)253 = 0,500477154, praticamente 50,05%.
Mas e se pesquisarmos duas pessoas que fazem aniversário na 
mesma data do ano? Nesse caso, à medida que mais pessoas 
entram na sala, a fórmula de cálculo muda, pois mudam também 
as regras de cálculo: (365 - n + 1) / 365, sendo n o número de 
pessoas na sala. Então, quando n = 23, o resultado obtido é 
0,507297234 ou 50,73%.
Logo, com essa abordagem se economiza mais tempo e recursos, 
e o ataque se torna mais eficiente. Se o hash resistir a esse ataque, 
ele é aprovado.
Referências bibliográficas
STALLINGS, W. Criptografia e segurança de redes. 6. ed. São 
Paulo: Prentice Hall Brasil, 2015. 492 p.
31
ZOCHIO, M. F. Introdução à criptografia. São Paulo: Novatec, 
2016. 206 p.
TEORIA EM PRÁTICA
Você é um analista de segurança da informação de uma empresa 
que está projetando um sistema que será acessado com uma página 
com senha armazenada em um banco de dados. Porém, essas 
senhas não estão guardadas de modo seguro no banco, pois estão 
armazenadas sem criptografia. Você sugeriu que se calculassem os 
hashes delas e os armazenassem no banco de dados, mas não há um 
software para isso na empresa.
Então seu gerente solicitou a você que fizesse um programa que 
calculasse os hashes das senhas armazenadas no banco. Como 
não eram muitas ainda, ele disse que queria um pequeno software 
que calculasse os hashes das senhas usando o algoritmo Whirlpool, 
digitando uma por vez e calculando seu hash. O aplicativo pode 
funcionar na Shell do Windows ou do Linux.
Agora não deixe seu gerente esperando. Mãos à obra!
Para conhecer a resolução comentada proposta pelo 
professor, acesse a videoaula deste Teoria em Prática no 
ambiente de aprendizagem.
32
LEITURA FUNDAMENTAL
Indicação 1
Este capítulo do livro de Stallings aborda o uso de hash na 
verificação de integridade de mensagens. Para realizar a leitura, 
acesse a plataforma Biblioteca Virtual 3.0 Pearson, na Biblioteca 
Virtual da Kroton, e busque pelo título da obra.
STALLINGS, W. Criptografia e segurança de redes. 6. ed. São 
Paulo: Prentice Hall Brasil, 2015. p. 247-250. 492 p.
Indicação 2
Este tópico do livro de Routo Terada fala sobre criptografia 
de curvas elípticas, um algoritmo alternativo de criptografia 
assimétrica. Para realizar a leitura, acesse a plataforma Minha 
Biblioteca, na Biblioteca Virtual da Kroton, e busque pelo título da 
obra. 
TERADA, R. Segurança de dados – criptografia em redes de 
computador. São Paulo: Blucher, 2008. p. 160-173.
QUIZ
Prezado aluno, as questões do Quiz têm como propósito a 
verificação de leitura dos itens Direto ao Ponto, Para Saber 
Mais, Teoria em Prática e Leitura Fundamental, presentes 
neste Aprendizagem em Foco.
Indicações de leitura
33
Para as avaliações virtuais e presenciais, as questões serão 
elaboradas a partir de todos os itens do Aprendizagem em 
Foco e dos slides usados para a gravação das videoaulas, 
além de questões de interpretação com embasamento no 
cabeçalho da questão.
1. O ataque de aniversário é baseado em um paradoxo 
estatístico. Segundo esse paradoxo, quantas pessoas precisam 
estar em uma sala para termos pouco mais de 50% de chances 
de encontrarmos duas pessoas que façam aniversário no 
mesmo dia do ano? 
a. 235.
b. 253.
c. 233.
d. 32.
e. 23.
2. O ataque de aniversário é baseado em um paradoxo 
estatístico. Segundo esse paradoxo, quantas pessoas precisam 
estar em uma sala para termos pouco mais de 50% de chances 
de encontrarmos uma pessoa que faça aniversário no mesmo 
dia que você? 
a. 235.
b. 253.
c. 233.
d. 32.
e. 23.
34
GABARITO
Questão 1 - Resposta E
Resolução: É provado estatisticamente que só são 
necessárias 23 pessoas presentes em uma reunião para 
que se tenha pouco mais de 50% de chances de duas delas 
fazerem aniversário no mesmo dia do ano.
Questão 2 - Resposta B
Resolução: É provado estatisticamente que são necessárias 
253 pessoas presentes em uma reunião para que se 
tenha pouco mais de 50% de chances de uma delas fazer 
aniversário no mesmo dia do ano que você.
TEMA4
Autenticação e assinatura digital
______________________________________________________________
Autoria: Marcelo Ferreira Zochio
Leitura crítica: José Eugênio de Mira
36
DIRETO AO PONTO
Um dos instrumentos usados para a verificação de autenticidade de 
um documento digital é a assinatura digital. Ela é realizada usando 
a chave privada do emissor. Veja como funciona esse processo na 
Figura 1 a seguir: 
Figura 1 – Funcionamento da assinatura digital
Fonte: elaborada pelo autor.
Esse processo não garante a confidencialidade do documento, 
pois ele pode ser aberto pela chave pública de quem o cifrou; 
mas a assinatura digital garante o não repúdio da autoria do 
documento, pois somente o dono da chave privada que cifrou tal 
documento poderia ter feito tal coisa, já que essa chave não deve 
ser divulgada a ninguém.
Segundo Stallings (2015), autenticação de mensagens é um 
processo para verificarmos se as mensagens recebidas vêm da 
origem alegada e se não foram modificadas. Esse processo pode 
também se certificar da veracidade da sequência e do tempo das 
mensagens recebidas. 
37
De modo geral, as funções de autenticação são de dois tipos:
• Função de hash: uma função que gera um resumo 
criptográfico de tamanho fixo que serve como autenticador. 
Cada conteúdo digital possui um hash único, que assume 
valores diferentes de acordo com o algoritmo usado, mas 
em cada algoritmo, esse resultado sempre se repetirá com 
esse mesmo conteúdo.
• Código de autenticação de mensagem (MAC): uma função 
que produz um valor de tamanho fixo, que serve como 
autenticador. Por usar uma chave e produzir um valor, é 
similar à criptografia, mas não pode ser considerada uma 
técnica criptográfica, pois ela não possui reversão.
A autenticação pode ser feita por meio de CRC (Ciclyc Redundance 
Check), que é baseado em polinômios. Porém, esse método tem a 
inconveniência de não detectar alteração na ordem dos caracteres 
da mensagem, diferente do MAC.
Há também a possibilidade de fazermos a autenticação por meio 
de certificados digitais. Um certificado digital é um documento em 
que há informações sobre seu titular, como nome, chave pública 
e chave privada pertencentes a este certificado e a este titular, 
validade, objetivo do certificado, entre outras informações. 
O modelo X509v3 é o modelo adotado no Brasil e prevê as 
seguintes informações que devem constar no certificado, 
ilustradas na Figura 2:
38
Figura 2 – Modelo de certificado digital X509 v3
Fonte: adaptada de Silva et al. (2008, p. 25).
A certificação digital no Brasil é gerenciada pela ICP-Brasil e possui 
uma estrutura hierárquica de autoridades certificadoras e de registro.
Referências bibliográficas
SILVA, L. G. C. da et al. Certificação digital – conceitos e 
aplicações. Rio de Janeiro: Ciência Moderna, 2008.
ZOCHIO, M. F. Introdução à criptografia. São Paulo: Novatec, 
2016. 206 p.
39
PARA SABER MAIS
Você sabe quem, no Brasil, é autoridade certificadora na ICP-
Brasil? Então aqui vão os nomes de algumas delas:
• Caixa Econômica Federal.
• IMESP (editora do Diário Oficial do Estado de São Paulo).
• Certisign.
• Serasa.
• Serpro.
• Petrobras.
Uma autoridade certificadora pode ser também uma autoridade 
de registro, pois ela vai coletar os dados do titular para a emissão 
do certificado e esse serviço é feito por uma autoridade de 
registro. Caso ela não seja, receberá o pedido de certificado de 
outra autoridade de registro.
Quando há perda, roubo ou inutilização do certificado antes 
de expirar seu período de validade, é necessário comunicar a 
autoridade certificadora para que ela o revogue. Assim, ele não 
poderá ser usado por outra pessoa que não seja seu titular. 
Certificados digitais são classificados também quanto ao seu 
tempo de uso e hardware usado para ser instalado. Certificados 
tipo A1 podem ser baixados pela internet quando disponibilizados 
pela autoridade certificadora, e são instalados em seu 
computador, normalmente, no navegador de internet. Possuem 
validade de um ano. Já os certificados modelo A3 possuem 
hardware próprio, geralmente um token com entrada USB ou 
40
cartão com chip. Esse modelo possui três anos de validade e não 
precisa ser instalado. Só são retirados pessoalmente pelo titular 
na autoridade certificadora que o emitiu ou na autoridade de 
registro que a solicitou.
A lei que regula a certificação digital no Brasil é a Medida 
Provisória nº 2.200-2, de 24 de agosto de 2001, que institui 
a Infraestrutura de Chaves Públicas Brasileira – ICP-Brasil, 
transforma o Instituto Nacional de Tecnologia da Informação em 
autarquia, e dá outras providências.
Referências bibliográficas
BRASIL. Medida Provisoria 2200-2 de 24 agosto 2001. 
Disponível em: . Acesso em 21 de out. de 2020. 
SILVA, L. G. C. da et al. Certificação digital – conceitos e 
aplicações. Rio de Janeiro: Ciência Moderna, 2008.
TEORIA EM PRÁTICA
Você trabalha em uma empresa que possui uma intranet que, 
até o momento, os funcionários entram colocando seu login e 
senha. Porém, a diretoria de TI resolveu mudar o modo de acessar 
a intranet, que será feito usando certificados digitais gerados 
e assinados pela própria empresa, a qual terá uma autoridade 
certificadora interna. Esses certificados só terão validade para 
acesso à intranet sem a necessidade de se usar login e senha, e 
serão distribuídos aos funcionários. 
http://www.planalto.gov.br/Ccivil_03/MPV/Antigas_2001/2200-2.htm
http://www.planalto.gov.br/Ccivil_03/MPV/Antigas_2001/2200-2.htm
41
Sua tarefa é fazer um passo a passo de como gerar esses 
certificados em um servidor Linux para cada funcionário. 
Qualquer distribuição Linux pode ser usada. Instale uma imagem 
virtualizada desse Linux no VMWare ou Virtualbox e faça a 
atividade.
Faça um exemplo de geração de apenas um certificado com um 
funcionário fictício, gerando esse certificado em nome desse 
funcionário.
Para conhecer a resolução comentada proposta pelo 
professor, acesse a videoaula deste Teoria em Prática no 
ambiente de aprendizagem.
LEITURA FUNDAMENTAL
Indicação 1
Esta leitura trará mais alguns detalhes sobre processos de 
autenticação. Para realizá-la, acesse a plataforma Minha 
Biblioteca, na Biblioteca Virtual da Kroton, e busque pelo título 
da obra. 
MACHADO, F. N. R. Segurança da informação – princípios e 
controles de ameaças. São Paulo: Érica, 2014. p. 89-92.
Indicação 2
Esta leitura trará mais alguns detalhes sobre a constituição da 
ICP-Brasil. Para realizá-la, acesse a plataforma Minha Biblioteca, 
na Biblioteca Virtual da Kroton, e busque pelo título da obra.
Indicações de leitura
42
BARRETO, J. S. et al. Fundamentos de segurança da 
informação. Porto Alegre: SAGAH, 2018. p. 92-95. 
QUIZ
Prezado aluno, as questões do Quiz têm como propósito a 
verificação de leitura dos itens Direto ao Ponto, Para Saber 
Mais, Teoria em Prática e Leitura Fundamental, presentes neste 
Aprendizagem em Foco.
Para as avaliações virtuais e presenciais, as questões serão 
elaboradas a partir de todos os itens do Aprendizagem em Foco 
e dos slides usados para a gravação das videoaulas, além de 
questões de interpretação com embasamento no cabeçalho 
da questão.
1. Um dos instrumentos usados para a verificação de 
autenticidade de um documento digital é a assinatura digital. 
Ela se caracteriza por: 
a. Usar a chave pública para cifrar um conteúdo digital.
b. Usar a chave privada para cifrar um conteúdo digital.
c. Ser capaz de digitalizar uma assinatura em papel para 
que ela possa ser inserida no documento como se fosse 
escrita fisicamente.
d. Ser capaz de prover confidencialidade ao conteúdo 
criptografado por ela.
e. Ser capaz de garantir repúdio ao conteúdo assinado.
43
2. Certificados digitais são classificados também quanto ao 
seu tempo de uso e hardware usado para ser instalado. 
Entre os modelos existentes, há o A1. Esse modelo de 
certificado caracteriza-se por: 
a. Ser instaladoem um token ou cartão.
b. Possuir a validade de um mês.
c. Possuir validade infinita.
d. Possuir a validade de um ano.
e. Possuir apenas uma chave, a pública.
GABARITO
Questão 1 - Resposta B
Resolução: A assinatura digital criptografa um conteúdo 
digital com a chave privada. Dessa maneira, quem tiver a chave 
pública poderá acessar seu conteúdo, e esse vínculo entre 
as chaves possibilita a garantia de não repúdio à autoria da 
criação do conteúdo assinado.
Questão 2 - Resposta D
Resolução: Certificados digitais do tipo A1 possuem um ano 
de validade e são instalados nos computadores, geralmente no 
navegador de internet.
BONS ESTUDOS!
	Apresentação da disciplina
	Introdução
	TEMA 1
	Direto ao ponto
	Para saber mais
	Teoria em prática
	Leitura fundamental
	Quiz
	Gabarito
	TEMA 2
	Direto ao ponto
	Teoria em prática
	Leitura fundamental
	Quiz
	Gabarito
	TEMA 3
	Direto ao ponto
	Para saber mais
	Teoria em prática
	Leitura fundamental
	Quiz
	Gabarito
	TEMA 4
	Direto ao ponto
	Teoria em prática
	Leitura fundamental
	Quiz
	Gabarito
	Botão TEMA 5: 
	TEMA 2: 
	Botão 158: 
	Botão TEMA4: 
	Inicio 2: 
	Botão TEMA 6: 
	TEMA 3: 
	Botão 159: 
	Botão TEMA5: 
	Inicio 3: 
	Botão TEMA 7: 
	TEMA 4: 
	Botão 160: 
	Botão TEMA6: 
	Inicio 4: 
	Botão TEMA 8: 
	TEMA 5: 
	Botão 161: 
	Botão TEMA7: 
	Inicio 5:

Mais conteúdos dessa disciplina