Skip to content
Компоненти за вътрешно електронно гласуване на Да, България
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Counting
Voting
js
LICENSE
README.md

README.md

Модул за електронно гласуване към мобилното приложение на Да, България

Публикуваният тук код представлява часта от сървърния код към мобилното приложение на Движение Да, България, обслужваща електронното дистанционно гласуване за вътрешни избори.

Класът VoteManager дефинира следните ключови методи:

  • castVote - подаване на криптиран и подписан глас. Криптирането се извършва с публичния ключ на системата. Гласът съхранява заедно с подписа, за да може да бъде заменен от гласоподавателя при промяна на неговото решение
  • anonymizeVotes - извиква се от администратор на системата след края на периода за гласуване. Методът анонимизира гласовете, като преди това проверява подписите, гарантирайкки, че гласът не е бил променен, прехвърля криптираната част в отделна таблица и изтрива информацията, идентифицираща гласа
  • decryptVotes - декирптира вече анонимизираните гласове с частния ключ на системата. Частният ключ се съхранява от Комисията за вътрешни избори и се въвежда в системата чак след като гласовете са анонимизирани

След това данните от декриптираните гласове се преброяват съгласно вътрешните правила. Декриптираните данни могат да се предоставят на заинтересованите страни за да направят паралелно преброяване.

В допълнение, SendVotesToBlockchain.php позволява конфигуриране на cron job, който извлича подадените гласове и ги изпраща към LogSentinel - услуга, която гарантира неподменимостта на данните, използвайки криптографките методи, използвани от блокчейн технологията.

You can’t perform that action at this time.