Skip to content

AugustoSavi/ModernEnigmaMachine

Repository files navigation

PROPOSTA DE TRABALHO DE CONCLUSÃO DE CURSO (TCC)

Assista ao vídeo de demonstração

Assista ao vídeo

PITCH

A segurança e privacidade do usuário na internet têm se tornado temas cada vez mais importantes nos dias atuais. Com o aumento do uso de computadores com acesso à internet e a disponibilização de muitos serviços online, como WhatsApp, Telegram, Messenger, entre outros, o número de computadores infectados por malwares também tem aumentado. Um estudo da Kingsoft de 2016 mostrou que, em média, de 2 a 5 milhões de computadores são infectados por dia.

Embora os comunicadores instantâneos utilizem criptografia entre dispositivos, não é possível garantir que o dispositivo que recebeu ou enviou a mensagem não esteja infectado por um malware. Esses malwares podem capturar a mensagem antes mesmo do usuário pressionar ENTER, por meio do uso de keyloggers ou gravando a tela do usuário para enviá-la a hackers.

A minha proposta busca uma solução para esse problema. Utilizando um Arduino conectado ao computador, podemos criar um middleware entre um teclado externo e o computador para realizar a criptografia de mensagens que realmente precisam ser seguras e privadas.

O Arduino receberia a entrada de dados do usuário por meio do teclado e criptografaria a mensagem antes mesmo de ser digitada no computador. O Arduino também possibilitaria visualizar e alterar a mensagem original por meio de um display conectado a ele.

Na outra extremidade, onde a mensagem é recebida, seria necessário um dispositivo semelhante. Nesse caso, seria utilizado um programa em que a mensagem recebida é colada e enviada para o Arduino realizar a descriptografia da mensagem. A mensagem original seria exibida no display.

ANOTAÇÕES

TO-DO

  • Renomear o repositório
  • Tornar público
  • Refatorar programa em Python
  • Criar banner para o repositório do Git
  • Permitir rolagem no visor (permitir voltar)
  • Selecionar criptografia (rot47)
  • Criptografar mensagem no modo "encrypt"
  • Descriptografar mensagem no modo "decrypt"
  • Colocar todos os comentários e variáveis em inglês
  • Fazer comandos combinados funcionarem (Ctrl + A)

Bugs a serem resolvidos

  • Troca de modo do programa
  • Decrypt não está funcionando
  • Ao clicar várias vezes rapidamente, o texto está sendo escrito em vez de executar a ação
  • Remover a limitação de utilização de apenas caracteres ASCII

Arquitetura do projeto

Arquitetura

Imagem do software do computador

Imagem da aplicação no computador




Imagens do hardware

1 2 3 4 5 6




Imagens da utilização

Sem o middleware

Log 1

Com o middleware

Log 1

Sem o middleware

Log 2

Com o middleware

Log 2

Sem o middleware

Log 3

Com o middleware

Log 3

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published