Skip to content

GioLeiren/Gerador-Verificador-de-Assinaturas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gerador e Verificador de Assinaturas Digitais

Este projeto implementa um Gerador e Verificador de Assinaturas Digitais utilizando RSA e OAEP, garantindo a autenticidade e integridade de arquivos de texto. O sistema permite gerar chaves RSA, assinar mensagens e verificar assinaturas.

Funcionalidades

  • Geração de Chaves RSA (com teste de primalidade de Miller-Rabin)

  • Assinatura Digital de mensagens com RSA e SHA-3

  • Verificação de Assinatura Digital usando Base64

  • Uso de OAEP para garantir maior segurança contra ataques

  • Utilização de SHA3-256 para garantir integridade

Descrição dos Arquivos

📂 Código-Fonte (src/)

  • geradorVerificador.py → Arquivo principal, responsável por gerenciar o fluxo da aplicação (geração de chaves, assinatura e verificação).
  • parte1.py → Contém a implementação da geração de chaves RSA, incluindo a criação de números primos e a função de hash SHA-3.
  • parte2.py → Implementa a assinatura digital da mensagem, cifrando o hash da mensagem com a chave privada.
  • parte3.py → Responsável pela verificação da assinatura digital, decifrando e comparando o hash com a mensagem original.
  • documento.txt → Arquivo de texto que contém a mensagem a ser assinada e verificada.

📂 Executável (dist/)

  • geradorVerificador.exe → Arquivo executável gerado pelo PyInstaller para execução sem necessidade do Python instalado.

📂 Documentação (docs/)

  • Especificacoes_Seminario.pdf → Documento contendo as especificações do trabalho acadêmico.
  • Relatório.pdf → Relatório detalhado sobre a implementação e funcionamento do sistema.
  • Slides.pdf → Apresentação utilizada para demonstrar o projeto.

Requisitos

  • Python 3.8+
  • Nenhuma biblioteca externa precisa ser instalada, pois o projeto utiliza apenas bibliotecas nativas do Python (random, hashlib, os, math, base64).

Como Executar o Projeto

1️⃣ Rodando com Python

  1. Clonar o Repositório
git clone https://github.com/GioLeiren/Gerador-Verificador-de-Assinaturas.git
cd Gerador-Verificador-de-Assinaturas/src
  1. Executar o Script Principal
python geradorVerificador.py

2️⃣ Executando o Arquivo .exe

Se estiver no Windows, vá até a pasta dist/ e execute:

cd dist
./geradorVerificador.exe

Ou clique duas vezes no geradorVerificador.exe

Funcionamento

  1. Geração das chaves RSA: O sistema gera um par de chaves (pública e privada).
  2. Leitura da mensagem a partir do arquivo: A mensagem é carregada do documento.txt.
  3. Assinatura Digital: A mensagem é convertida em um hash SHA-3 e assinada com RSA.
  4. Verificação da Assinatura: O documento assinado é verificado utilizando a chave pública RSA.
  5. Validação da Integridade: O programa confirma se a assinatura corresponde à mensagem original.

Referências

Criptografia RSA: Veritas, Wikipedia

SHA-3 (Secure Hash Algorithm 3): Wikipedia

OAEP (Optimal Asymmetric Encryption Padding): Medium, Wikipedia

Miller-Rabin: Geeks for Geeks

Autores

Projeto desenvolvido por Giovanni Minari, Giulia Moura e Tiago Leão para a disciplina Segurança Computacional na Universidade de Brasília (UnB).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages