Aula 7 – Criptografia: Fundamentos
Explorando os conceitos essenciais da criptografia moderna e sua aplicação prática na proteção de informações digitais
LABORATÓRIO PRÁTICO: DESAFIO DE CRIPTOGRAFIA
Desafio
Objetivo da Atividade
Nesta atividade, vocês atuarão como analistas de segurança responsáveis por investigar dados após um incidente em uma organização.
Os objetivos são:
  • Aplicar técnicas de codificação e criptografia
  • Utilizar ferramentas online para análise de dados
  • Desenvolver raciocínio investigativo
  • Identificar vulnerabilidades em um cenário simulado
Contexto do Cenário
A empresa TechSecure Solutions sofreu um incidente de segurança.
Durante a análise inicial, foi identificado que:
  • Parte das informações foi criptografada utilizando técnicas simples
  • Alguns dados foram apenas codificados
  • Há indícios de exposição de credenciais sensíveis
  • Parte dos dados pode estar incompleta, alterada ou inserida como distração
Cada equipe foi designada para investigar um conjunto específico de evidências.
Organização da Atividade
  • Os alunos estão divididos em grupos
  • Cada grupo receberá um conjunto exclusivo de desafios
  • Os desafios serão disponibilizados apenas no momento da aula
  • Não haverá acesso prévio ao conteúdo
  • As fases devem ser resolvidas em sequência, quando aplicável
Regra de Sigilo
  • Os desafios são diferentes para cada grupo
  • Não é permitido compartilhar informações entre grupos
  • Qualquer tentativa de troca de respostas comprometerá a avaliação
Regras Gerais
  • Não utilizar dados reais
  • Utilizar apenas ferramentas online
  • Registrar o raciocínio utilizado em cada etapa
  • Justificar tecnicamente cada decisão
Ferramentas Permitidas
ESTRUTURA DO DESAFIO
Cada grupo receberá um conjunto contendo entre 6 e 10 fases, podendo incluir:
  • Codificação Base64
  • Cifra de César
  • Hash (MD5 ou similar)
  • Múltiplas camadas de codificação
  • Dados com ruído
  • Fragmentação de informação
  • Dados falsos (decoy)
  • Correlação entre informações
⚠️ Importante:
  • Nem todas as fases indicarão qual técnica deve ser utilizada
  • Algumas informações podem ser irrelevantes ou enganosas
  • Nem todas as etapas possuem apenas uma abordagem possível
NATUREZA DOS DESAFIOS
Os desafios podem envolver:
1. Identificação de Técnica
O grupo deverá reconhecer qual método foi utilizado sem instrução direta.
2. Múltiplas Etapas
Uma informação pode exigir mais de uma transformação para ser compreendida.
3. Dados com Ruído
Parte da informação pode estar misturada com conteúdo irrelevante.
4. Fragmentação
Os dados podem estar divididos e fora de ordem.
5. Validação
Nem toda informação obtida será útil ou verdadeira.
6. Correlação
Os dados finais devem fazer sentido dentro do contexto do incidente.
ENTREGA FINAL
Cada grupo deverá apresentar:
  1. As informações recuperadas (login, senha, servidor, etc.)
  1. As técnicas utilizadas em cada fase
  1. O raciocínio adotado em cada etapa
  1. As decisões tomadas em situações de incerteza
ANÁLISE FINAL
O grupo deverá responder:
  • As técnicas utilizadas eram seguras?
  • Quais vulnerabilidades foram identificadas?
  • Houve dados irrelevantes ou enganosos?
  • Como validaram as informações obtidas?
  • Como o incidente poderia ter sido evitado?
CRITÉRIOS DE AVALIAÇÃO
  • Correção das respostas
  • Aplicação adequada das técnicas
  • Clareza na explicação
  • Capacidade de investigação
  • Justificativa técnica das decisões
  • Postura diante de dados ambíguos
Observação Final
Esta atividade simula um cenário real de análise em segurança da informação. O foco não está apenas na resposta final, mas no processo investigativo, na tomada de decisão e na capacidade de validar informações em um ambiente incerto.
Capítulo 1
Introdução à Criptografia
A arte e a ciência de proteger informações através dos séculos, desde as antigas civilizações até a era digital moderna
O que é Criptografia?
Proteção de Informações
Técnica para proteger dados transformando-os em códigos secretos que apenas destinatários autorizados podem decifrar
Origem Histórica
Do grego kryptós (oculto) + graphos (escrever) — a escrita secreta que atravessa milênios
Objetivos Principais
Garantir confidencialidade, integridade e autenticidade das informações em qualquer meio de comunicação
A História da Criptografia
1
Antiguidade Clássica
Júlio César utilizava a cifra de César: um deslocamento simples no alfabeto para proteger mensagens militares. Método básico, mas revolucionário para a época
2
Uso Militar e Diplomático
Desde a antiguidade, governos e exércitos desenvolveram sistemas cada vez mais complexos para proteger comunicações estratégicas e segredos de estado
3
Era da Computação
Após a Segunda Guerra Mundial, com o advento dos computadores, a criptografia evoluiu dramaticamente, tornando-se matemática avançada e ciência da computação
"A base da criptografia moderna reside nos princípios desenvolvidos há milhares de anos"
Terminologia Essencial
Texto Aberto
Mensagem original em formato legível e compreensível, antes de qualquer processo de criptografia ser aplicado

Texto Cifrado
Mensagem após o processo de criptografia — codificada e completamente ilegível sem a chave adequada para decifrá-la
Chave Criptográfica
Informação secreta usada tanto para cifrar quanto para decifrar mensagens. É o elemento crítico da segurança

Cifrar e Decifrar
Processos de transformar texto aberto em cifrado (cifrar) e reverter texto cifrado para legível (decifrar)
Capítulo 2
Criptografia Simétrica
A forma mais antiga e eficiente de criptografia, onde uma única chave secreta protege todas as comunicações
O que é Criptografia Simétrica?
Conceito Fundamental
Sistema que utiliza exatamente a mesma chave secreta tanto para cifrar quanto para decifrar dados, garantindo simetria no processo
Algoritmos Clássicos
DES (Data Encryption Standard) e AES (Advanced Encryption Standard) são os exemplos mais conhecidos e amplamente utilizados
Vantagem Principal
Extrema rapidez e eficiência computacional para processar grandes volumes de dados, ideal para sistemas que exigem alto desempenho
Desafios da Criptografia Simétrica
Compartilhamento Seguro
O maior desafio é distribuir a chave secreta de forma segura entre as partes sem que seja interceptada
Risco de Interceptação
Se a chave for capturada por terceiros, toda a segurança do sistema é comprometida instantaneamente
Modos de Operação
ECB, CBC, CFB e OFB são diferentes modos que balanceiam segurança e eficiência em contextos variados
Algoritmos Simétricos Importantes
56
DES - Bits de Chave
Algoritmo pioneiro que revolucionou a criptografia, mas hoje considerado vulnerável devido ao tamanho limitado da chave
256
AES - Bits Máximos
Padrão atual de criptografia, oferecendo chaves de 128, 192 e 256 bits para segurança robusta e confiável
3
Principais Alternativas
Blowfish e 3DES (Triple DES) oferecem opções balanceadas entre segurança elevada e desempenho otimizado
Diagrama simplificado do funcionamento do AES, mostrando como blocos de dados são transformados através de múltiplas rodadas de criptografia
Capítulo 3
Criptografia Assimétrica
A revolução que permitiu comunicação segura entre pessoas que nunca se encontraram, usando pares de chaves matemáticas
Fundamentos da Criptografia Assimétrica
Chave Pública
Disponível para todos cifrarem mensagens destinadas ao proprietário
Chave Privada
Mantida em segredo absoluto, permite decifrar mensagens recebidas
Algoritmos RSA e ECC
Padrões matemáticos que garantem a segurança do sistema
Comunicação Direta
Possibilita troca segura sem compartilhamento prévio de chaves secretas
Como Funciona na Prática
01
Distribuição da Chave Pública
Qualquer pessoa pode obter e usar a chave pública para cifrar mensagens destinadas ao proprietário do par de chaves
02
Criptografia com Chave Pública
O remetente utiliza a chave pública do destinatário para transformar a mensagem em texto cifrado impossível de ler
03
Decriptografia com Chave Privada
Somente o dono da chave privada correspondente pode decifrar e ler a mensagem original em texto claro
04
Aplicações Avançadas
Usada extensivamente para autenticação de identidade, assinatura digital e estabelecimento seguro de canais de comunicação
Vantagens e Desvantagens
Vantagens
  • Muito mais segura para troca inicial de informações entre partes desconhecidas
  • Elimina o problema de distribuição segura de chaves secretas
  • Permite autenticação e assinaturas digitais confiáveis
  • Base para infraestruturas de chave pública (PKI)
Desvantagens
  • Computacionalmente muito mais lenta que criptografia simétrica
  • Requer chaves significativamente maiores para segurança equivalente
  • Processamento intensivo de recursos de hardware
  • Geralmente usada em conjunto com simétrica para otimizar desempenho
Representação visual do processo de criptografia assimétrica: a chave pública cifra, enquanto apenas a chave privada correspondente pode decifrar
Capítulo 4
Funções Hash e Assinaturas Digitais
As impressões digitais do mundo digital, garantindo integridade e autenticidade de informações
O que são Funções Hash?
Definição
Algoritmos matemáticos que transformam dados de qualquer tamanho em um valor fixo de comprimento específico, chamado resumo ou hash
Propriedades Cruciais
  • Determinística: mesma entrada sempre gera mesmo hash
  • Rápida de calcular
  • Resistente a colisões
  • Irreversível
Exemplos Principais
SHA-256 é o padrão atual amplamente utilizado. MD5, apesar de popular, é considerado obsoleto e inseguro para uso criptográfico
Aplicações das Funções Hash
Verificação de Integridade
Garante que arquivos não foram alterados durante download ou transmissão. Qualquer mudança mínima no arquivo resulta em hash completamente diferente
Assinaturas Digitais
Servem como base para criar assinaturas digitais, permitindo verificar autenticidade e autoria de documentos eletrônicos
Armazenamento de Senhas
Senhas são armazenadas como hashes, não em texto claro, protegendo usuários mesmo se o banco de dados for comprometido
Blockchain e Criptomoedas
Fundamentais para tecnologias blockchain, garantindo imutabilidade e integridade das transações registradas
Assinaturas Digitais
1
Garantia de Autenticidade
Comprovam que a mensagem ou documento foi realmente criado pelo autor declarado, não por um impostor
2
Processo de Criação
Geradas aplicando a chave privada do remetente ao hash da mensagem, criando uma assinatura única e verificável
3
Verificação Pública
Qualquer pessoa com acesso à chave pública correspondente pode verificar a autenticidade da assinatura
4
Aplicações Práticas
Essenciais em documentos eletrônicos, contratos digitais, certificados SSL/TLS e transações financeiras online
Fluxo completo de uma assinatura digital: criação do hash, assinatura com chave privada e verificação usando chave pública
Capítulo 5
Prática – Implementação Básica
Colocando a teoria em prática através de implementações simples e didáticas em Python
Implementando a Cifra de César em Python
Objetivo Educacional
Criar um código simples e direto que demonstra os conceitos fundamentais de chave, transformação de texto e reversibilidade da criptografia
A cifra de César é perfeita para iniciantes entenderem como a criptografia funciona na prática
Conceitos Demonstrados
  • Como uma chave (deslocamento) transforma texto
  • Processo de cifrar caractere por caractere
  • Reversibilidade: decifrar recupera mensagem original
  • Vulnerabilidade de algoritmos simples
Exemplo de Código (Cifra de César)
def cifra_cesar(texto, chave, cifrar=True):
    resultado = ""
    for char in texto:
        if char.isalpha():
            base = ord('A') if char.isupper() else ord('a')
            deslocamento = chave if cifrar else -chave
            novo_char = chr((ord(char) - base + deslocamento) % 26 + base)
            resultado += novo_char
        else:
            resultado += char
    return resultado

# Exemplo de uso
mensagem = "HELLO WORLD"
chave = 3
cifrado = cifra_cesar(mensagem, chave, cifrar=True)
decifrado = cifra_cesar(cifrado, chave, cifrar=False)

print(f"Original: {mensagem}")
print(f"Cifrado: {cifrado}")
print(f"Decifrado: {decifrado}")

Entrada: Texto em string e valor numérico da chave (deslocamento no alfabeto)
Saída: Texto cifrado quando cifrar=True, texto decifrado quando cifrar=False
Implementação Simples de Função Hash (SHA-256)
import hashlib

def gerar_hash(mensagem):
    # Converte string para bytes
    mensagem_bytes = mensagem.encode('utf-8')
    
    # Cria objeto hash SHA-256
    hash_obj = hashlib.sha256()
    
    # Atualiza com a mensagem
    hash_obj.update(mensagem_bytes)
    
    # Retorna hash em hexadecimal
    return hash_obj.hexdigest()

# Exemplo de uso
texto = "Criptografia é fundamental"
hash_resultado = gerar_hash(texto)
print(f"Hash SHA-256: {hash_resultado}")
Verificação de Integridade
Este código demonstra como gerar um hash SHA-256 usando a biblioteca hashlib do Python, que é confiável e amplamente testada
O hash gerado serve como impressão digital única do conteúdo, permitindo verificação rápida se a mensagem foi alterada
Qualquer modificação, por menor que seja, resulta em hash completamente diferente
Demonstração Prática: Assinatura Digital Simples
Gerar Par de Chaves
Criar chave pública e privada usando biblioteca cryptography com algoritmo RSA de 2048 bits
Assinar Mensagem
Gerar hash SHA-256 da mensagem e aplicar chave privada para criar assinatura digital única
Verificar Assinatura
Usar chave pública para validar que a assinatura corresponde à mensagem e foi criada com a chave privada correta
A implementação completa requer a biblioteca cryptography: pip install cryptography
Exemplo visual de código comentado com execução e resultados, demonstrando os três algoritmos implementados: Cifra de César, SHA-256 e Assinatura Digital
Boas Práticas em Criptografia
Gestão de Chaves
Nunca reutilizar chaves secretas entre diferentes contextos ou aplicações. Implementar rotação periódica de chaves
Algoritmos Atualizados
Manter algoritmos atualizados conforme avanços tecnológicos e descobertas de vulnerabilidades. Abandonar padrões obsoletos
Bibliotecas Confiáveis
Sempre usar bibliotecas criptográficas bem estabelecidas, testadas e mantidas pela comunidade. Nunca criar algoritmos próprios
Auditoria e Testes
Realizar auditorias de segurança regulares e testes de penetração para identificar vulnerabilidades antes de atacantes
Desafios Atuais e Futuro da Criptografia
1
2
3
4
5
1
Computação Quântica
Ameaça iminente aos algoritmos atuais
2
Criptografia Pós-Quântica
Novos algoritmos resistentes sendo desenvolvidos
3
Padronização Internacional
NIST liderando esforços para novos padrões globais
4
Educação e Conscientização
Crescente importância da formação em segurança digital para todos
5
Aplicações Emergentes
IoT, blockchain e inteligência artificial demandam novas soluções criptográficas
O futuro da criptografia está sendo escrito agora, com pesquisadores correndo contra o relógio para proteger dados contra ameaças quânticas
Conclusão: A Criptografia no Mundo Digital
Pilar da Segurança
A criptografia é o alicerce fundamental para toda a segurança da informação no mundo digital moderno
Teoria e Prática
Combinação sofisticada de matemática avançada e implementação computacional eficiente
Ferramenta Essencial
Indispensável para proteger dados sensíveis, privacidade pessoal e manter a confiança nas comunicações online
Próximos Passos
Aprofundar o estudo através de projetos práticos, experimentação com bibliotecas e aplicação em cenários reais de segurança