P2P Chat com Tracker Centralizado e Criptografia RSA. Este projeto implementa um sistema de chat peer-to-peer (P2P) com autenticação, gerenciamento de grupos e criptografia ponta a ponta. O sistema utiliza um tracker central para registro de usuários, gerenciamento de peers online e controle de salas, mas a troca de mensagens é feita diretamente entre peers com criptografia RSA.
Autenticação segura
Criação de contas e login com armazenamento criptografado em RSA.
Arquivos .json do sistema (usuários, peers online, salas, histórico de mensagens) são armazenados criptografados.
Chat peer-to-peer (P2P)
Envio de mensagens diretas entre usuários.
Impressão imediata das mensagens no terminal de todos os participantes.
Grupos e salas de chat
Criação de salas privadas com administrador.
Apenas o administrador e usuários convidados podem acessar a sala.
Usuários removidos não podem retornar sem novo convite.
Envio de mensagens em grupo com transmissão em tempo real para todos os peers da sala.
Histórico de conversas acessível pelo menu.
Criptografia RSA para autenticação e troca de mensagens.
Persistência da chave privada (private_key.pem) para manter compatibilidade entre execuções.
Logs de atividades para auditoria.
tracker.py → Servidor central responsável por autenticação, registro de peers, gerenciamento de salas e criptografia dos dados.
peer.py → Cliente P2P que interage com o tracker, gerencia conexões diretas entre peers e fornece menus interativos para chat privado ou em grupo.
Python 3
Sockets TCP (para comunicação entre peers e tracker)
Criptografia RSA (cryptography.hazmat)
JSON criptografado para armazenamento persistente de dados