Abstimm-ID berechnen
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Sven Seeberg baf0483a7b
Change Abstimm-ID to Pruefsumme
2 years ago
node_modules/argon2-browser Update Argon2 Browser 2 years ago
README.md adjust argon2 parameters, update readme 2 years ago
bootstrap.min.css remove all JS libs and use plain JS 2 years ago
index.html Change Abstimm-ID to Pruefsumme 2 years ago
join.png Circle direct link 2 years ago
package-lock.json Update Argon2 Browser 2 years ago

README.md

Über

Dieses Werkzeug wandelt Namen in einen Argon2 Hash um, mit einer vergleichsweise hohen Rechenzeit pro Hash. Zusätzlich wird die Abstimmungsrunde als Salt in den Hash mit einbezogen. Die Argon2-Implementierung kommt von https://github.com/antelle/argon2-browser.

Die Berechnung findet vollständig im Browser statt. Es werden keine Daten zurück zum Server übertragen.

Hintergrund

Dieses Werkzeug ist eine mögliche Ergänzung für https://git.verdigado.com/Netzbegruenung/polls, um Abstimmergebnisse datenschutzfreundlich validieren zu können.

Dazu wird allen an einer Abstimmung teilnehmenden Personen eine Liste ausgehändigt, die alle abgegebenen Stimmen enthält. Allerdings sind die Namen pseudonymisiert. Mit Hilfe der Liste kann in Summe das Gesamtergebnis geprüft werden. Außerdem können einzelne Stimmen (stichprobenartig) validiert werden, indem im Abstimm-ID-Rechner die Abstimm-Runde und ein Name einer abstimmenden Person eingegeben werden. Mit Hilfe der erzeugten Abstimm-ID kann in der Ergebnisliste geprüft werden, wie die entsprechende Person abgestimmt hat.

Der Vorteil der Methode ist, dass alle Personen sofort das Gesamtergebnis mit ihrer eigenen Stimme nachvollziehen können, sowie stichprobenartig Stimmen anderer Personen. Um das Abstimmverhalten anderer Personen prüfen zu können, muss der Name der anderen Personen bereits bekannt sein. Es sind also alle Stimmen einzeln nachvollziehbar, ohne dass eine Liste aller Namen verteilt wird. Außerdem ist der Rechenaufwand zum Erzeugen einer Abstimm-ID so hoch gewählt, dass zum Deanonymisieren einer Abstimm-ID eine Zeit in der Größenordnung von 10 Sekunden nötig ist.

Um eine Manipulation der Ergebnislisten zu verhindern, wird eine Signatur der Ergebnisliste empfohlen, beispielsweise mittels PGP.

Argon2 Parameter

  • Memory: 262144 KiB (= 2^18 KiB)
  • Iterations: 5
  • Hash Length: 16
  • Parallelism: 1
  • Argon2id

Auf Linux-Systemen (das Paket argon2 muss installiert sein) kann das Ergebnis mit folgendem Befehl reproduziert werden:

echo -n "Max Mustermann" | argon2 "Abstimmung 1" -p 1 -k 262144 -t 5 -l 16 -id

Auf der unabhängigen Webseite https://antelle.net/argon2-browser/ kann ebenfalls das Ergebnis verfiziert werden.

Lizenz

Copyright 2020 Netzbegrünung e.V.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.