Loading repository data…
Loading repository data…
henriquesebastiao / repository
Trabalho de Conclusão de Curso de graduação em Ciência da Computação
Trabalho de Conclusão de Curso (TCC) do curso de Ciência da Computação
Este repositório contém o Trabalho de Conclusão de Curso desenvolvido como requisito para a obtenção do grau de Bacharel em Ciência da Computação. O trabalho aborda o desenvolvimento de um sistema de comunicação digital que utiliza criptografia de ponta a ponta (E2EE) para garantir a privacidade e a segurança das mensagens trocadas entre os usuários.
Desenvolvimento de um Sistema de Comunicação com Criptografia de Ponta a Ponta
Em um cenário marcado por crescentes preocupações com a proteção de dados pessoais e a vigilância digital, soluções que asseguram a confidencialidade das comunicações tornam-se cada vez mais relevantes. Este projeto apresenta uma solução prática e acessível para comunicação segura, utilizando técnicas modernas de criptografia.
Com o crescimento vertiginoso das interações online e o aumento de crimes cibernéticos, vazamentos de dados e fraudes, surge a necessidade de sistemas que priorizem a segurança e privacidade do usuário final. O projeto foi motivado por:
Objetivo Principal: Desenvolver um sistema de comunicação de software livre, utilizando um modelo híbrido de criptografia simétrica e assimétrica para assegurar a privacidade na troca de mensagens, além da implementação do não repúdio, garantindo a autenticidade da comunicação.
Objetivos Específicos:
O sistema foi desenvolvido utilizando tecnologias modernas e amplamente adotadas:
O projeto alcançou resultados significativos:
Principais contribuições:
Comunicação, Criptografia, Privacidade, Segurança, Desenvolvimento de Software, Python, E2EE, Perfect Forward Secrecy, WebSocket.
Este repositório contém todo o código LaTeX necessário para compilar o documento do TCC em PDF. Abaixo, você encontrará informações sobre as ferramentas e pacotes utilizados.
Ferramentas e Geradores:
Documentação e Tutoriais:
Templates e Referências:
Instalação e Configuração:
Abaixo está uma explicação dos principais pacotes LaTeX utilizados no documento e links para suas documentações oficiais:
Configuração de Idioma e Codificação:
Formatação de Texto:
Layout e Estrutura:
Sumário e Listas:
Referências e Citações (ABNT):
Recursos Adicionais:
Nota: Para visualizar a lista completa de pacotes e suas configurações, consulte o arquivo
tcc.clsno repositório.
GNU Make - Utilizaremos o make para automatizar comandos grandes que podem nos ajudar em alguns momento como formatar o código e remover arquivos desnecessários. Veja os exemplos abaixo.
make format - formata o código.make lint - verifica se o código está formatado mas não aplica mudanças.make clean - apaga arquivos desnecessários gerados durante o build do PDF.Para formatar o código LaTeX vamos utilizar o tex-fmt, ele nos ajudará a manter a sanidade do código, corrigindo identação e quebrando linhas muito compridas.
O arquivo tex-fmt.toml na raíz do projeto é o arquivo de configuração dessa ferramenta.
Para executar o formatador basta executar o comando abaixo, ele irá procurar e formatar todos os arquivos .tex, .bib, .cls e .sty do projeto.
make format
[!NOTE] Sempre antes de realizar um commit é import executar o formatador para garantir que está tudo certo, pois ao realizar um pull request para a branch principal, um workflow será executado para verificar se o código está formatado e caso não esteja, o check do workflow irá falhar.
Vamos utilizar a extensão LaTeX Workshop no VS Code para diversas coisas como geração automática do PDF, sugestão de código e umpouco mais.
[!IMPORTANT] Como vamos gerar um PDF com fontes customizadas pela extensão no VS Code, precisamos configurar a variável
latex-workshop.latex.recipesno arquivo JSON de configuração do VS Code para usar o compilador compatível com fontes customizadas, como no seguinte exemplo:"latex-workshop.latex.tools": [ { "name": "latexmk", "command": "latexmk", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-pdfxe", "-outdir=%OUTDIR%", "%DOC%" ], "env": {} }, ], "latex-workshop.latex.recipes": [ { "name": "latexmk (xelatex)", "tools": [ "latexmk" ] }, ],