Aula 7 – Criptografia: Fundamentos
Explorando os conceitos essenciais da criptografia moderna e sua aplicação prática na proteção de informações digitais
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