Slides Framework

🎓 Universidade de Vassouras

Curso de Engenharia de Software

Sistema de Criptografia Híbrida
com Árvore Binária

RSA-2048 + AES-GCM-256

🔐 🔑 🌳

Equipe:

Criptografia:

Marlon Machado

Thalles Da Motta

Victor Huggo

Rafael Luna Rodrigues

Descriptografia:

Marcos Vinícius Silva Estrela

Pedro Barbosa Farias

Apresentação:

Abner Batista

Eduardo Faria

Professor: Márcio Garrido

Maricá, outubro de 2025

Equipe e Divisão de Trabalho

🔐 Criptografia

Thalles Da Motta (Líder)

Marlon Machado

Victor Huggo

Rafael Luna Rodrigues

🔓 Descriptografia

Pedro Barbosa Farias (Líder)

Marcos Vinícius Silva Estrela

📊 Apresentação

Abner Batista (Líder)

Eduardo Faria

Tempo de Desenvolvimento: 1 semana
Metodologia: RAD

Metodologia e Comunicação

Como trabalhamos

💬 Comunicação

Discord para reuniões diárias e comunicação

Reuniões virtuais frequentes

🔄 Metodologia

RAD para ambiente acadêmico

Daily Meetings pelo Discord

Tempo: 1 semana

👨‍💼 Líderes de cada módulo:

Criptografia: Thalles Da Motta

Descriptografia: Pedro Barbosa Farias

Apresentação: Abner Batista

Visão Geral do Sistema

Arquitetura do Projeto

🔐 Módulo de Criptografia

Gera chaves RSA

Criptografa mensagens

Cria árvore binária

🔓 Módulo de Descriptografia

Interface gráfica (Tkinter)

Descriptografa mensagens

Visualiza árvore binária

🔄 Fluxo do Sistema

MensagemTokensÁrvorePós-ordem

SerializaçãoAES-GCMRSA-OAEPJSON

Tecnologias Utilizadas

Por que escolhemos cada ferramenta?

🔐 Biblioteca `cryptography`

Mantida ativamente (PyCrypto descontinuado em 2013)

Padrões modernos (OAEP, GCM)

Recomendada pela Python Packaging Authority

Performance superior (bindings C/OpenSSL)

🐍 Python

Sintaxe clara e legível

Bibliotecas robustas

Ideal para prototipagem rápida

Criptografia Híbrida

O melhor dos dois mundos

🔑 RSA-2048 (Assimétrica)

🔑 Protege a chave AES

⚖️ Equilíbrio segurança-performance

Aprovado NIST até 2030

4x mais rápido que RSA-4096

🚀 AES-GCM-256 (Simétrica)

🚀 Criptografa os dados (rápido)

🔒 Confidencialidade + Integridade (AEAD)

Paralelização em múltiplos cores

Padrão TLS 1.3

💻 Como funciona no código

1. 🔑 AES-GCM criptografa os dados:
Gera chave AES aleatória de 256 bits → Criptografa payload → Resultado: ciphertext

2. 🔐 RSA-OAEP criptografa a chave AES:
Usa chave pública RSA → Criptografa chave AES → Resultado: encrypted_key

3. 📦 JSON final contém:
ciphertext + encrypted_key + nonce

Árvore Binária

Estrutura de dados para organização

🌳 Por que árvore binária?

📚 Demonstra conhecimento de estruturas de dados

🔄 Organização hierárquica eficiente

📊 Percorrimento pós-ordem consistente

Complexidade O(log n) para buscas

🎯 Adiciona camada extra de complexidade

🔄 Fluxo do Processo

📝

1. Mensagem

Tokens (ASCII/Binário)

🌳

2. Árvore

Binária Balanceada

🔄

3. Pós-ordem

Percorrimento

📦

4. JSON

Serialização

Módulo de Criptografia

Como funciona o processo

🔄 Passo a passo:

1. 🔑 Gerar chaves RSA

(gera_chaves.py - executar antes)

2. ✍️ Receber mensagem

(linha 77)

3. 🔄 Converter tokens

ASCII/binário (linha 85)

4. 🌳 Construir árvore

binária balanceada (linha 88)

5. 📊 Percorrer pós-ordem

(linha 89)

6. 🗂️ Serializar estrutura

da árvore (linha 90)

7. 🔐 AES-GCM

criptografar payload (linha 103)

8. 🔒 RSA-OAEP

proteger chave AES (linha 110)

9. 💾 Salvar JSON

final (linha 124)

📤 Saída:

Arquivo JSON seguro para transmissão

Módulo de Descriptografia

Interface e visualização

🛠️ Funcionalidades:

🖥️ Interface gráfica intuitiva (Tkinter)

📂 Seleção de arquivos (JSON + chave privada)

🔓 Descriptografia automática

🌳 Visualização da árvore (Graphviz)

📋 Exibição da mensagem original

🎯 Por que Graphviz?

Padrão de mercado

para grafos

🎨

Qualidade profissional

PNG, PDF, SVG

📝

Sintaxe simples

linguagem DOT

🔧

Layout automático

otimizado

Segurança e Padrões

Conformidade com normas internacionais

🛡️ Padrões Seguidos:

🛡️ NIST FIPS 197: AES-256 aprovado (nível militar)

🛡️ NIST SP 800-57: RSA-2048 recomendado até 2030

🔐 PKCS #1 v2.0: RSA-OAEP padding seguro

✅ NIST SP 800-38D: AES-GCM com autenticação (AEAD)

🌐 TLS 1.3: Usa AES-GCM (mesmo algoritmo simétrico)

🔒 Níveis de Segurança

AES-256: Nível militar/governamental

RSA-2048: Nível comercial (seguro até 2030)

Proteção contra: Espionagem, Man-in-the-middle, Tampering

Desafios e Aprendizados

O que aprendemos

🚧 Desafios Encontrados

🔍 Compreensão profunda de criptografia

🌳 Implementação de estruturas de dados

🔄 Integração entre módulos

🎨 Interface gráfica intuitiva

💡 Como Resolvemos

📚 Pesquisa em documentações oficiais

💡 Consulta a padrões da indústria

👥 Colaboração entre equipes

🧪 Testes e validações

✅ Aprendizados

✅ Criptografia moderna na prática

✅ Trabalho em equipe distribuído

✅ Metodologias ágeis

✅ Boas práticas de desenvolvimento

Trechos de Código

Implementação dos algoritmos

💻

Ver Código Completo

Explore os 7 trechos principais do código:
RSA • Árvore Binária • AES-GCM • Serialização

🚀 Abrir Slides de Código