Construção de uma ferramenta para totalização de registros impressos de voto de forma auditável, utilizando visão computacional e primitivas da criptografia (Projeto de Iniciação Científica - DCOMP - UFSJ).
-
Python 3.6 ou superior e gerenciador de pacotes pip:
sudo apt install python3 python3-pip build-essential python3-dev
-
Biblioteca OpenCV:
pip install opencv-python
-
Biblioteca PyCryptodome:
pip install pycryptodomex
-
Biblioteca python-barcode:
pip install python-barcode
-
Biblioteca qrcode:
pip install qrcode[pil]
-
Biblioteca numpy:
pip install numpy
-
Para instalar todas as dependências:
./install_dependencies.sh
- Visual Studio Code (Plugins: Python e Code Runner)
- GitHub Desktop (Versionamento Git)
- digitalSignature.py
- electionConfiguration.py
- ellipticCurve.py
- geradorBoletas.py
- geradorVotos.py
- imprimeResultado.py
- readVote.py
- voteMarking.py
- voteTotalizationAndVideoRecording.py
- voteTotalizationByCamera.py
- voteTotalizationByVideo.py
python3 electionConfiguration.py
-
Exemplo de entrada (*):
Teste DCOMP 3 01/01/3022 12:00 03/01/3022 12:00 Cargo 1 1 2 Cargo 2 2 1 Cargo 3 3 3 dcomp sjdr
-
(*) Devem existir arquivos JSON contendo informações sobre os candidatos e eleitores, assim como as informações dos cargos devem ser compatíveis com os mesmos para que a eleição seja configurada de forma correta.
python3 geradorVotos.py
- (*) Deve existir uma eleição já cadastrada (por consequência um layout de boleta configurado) para que se possa simular uma escolha de voto isolada.
python3 readVote.py
- (*) Deve existir previamente uma boleta configurada (e possivelmente com votos marcados) para que esta possa ser lida de forma independente.
python3 voteTotalizationAndVideoRecording.py
- (*) Deve existir uma eleição já configurada e também escolhas de voto no diretório de urna, para que se possa aplicar os processos de totalização por diretório ou geração do vídeo de auditoria.
python3 voteTotalizationByVideo.py
- (*) Deve existir uma eleição já configurada e um vídeo de auditoria previamente gerado contendo as escolhas de voto para realizar a totalização por vídeo.
- Artigo curto sobre o projeto, publicado nos Anais Estendidos do Simpósio Brasileiro de Segurança da Informação e de Sistemas Computacionais (SBSeg 2022)