Wahlcomputer – wirklich eine gute Wahl?

Spätestens, wenn es mehrere Stimmen gibt, wenn Kumulieren und Panaschieren möglich sind und wenn Wahlzettel einen halben Meter lang sind, stellt sich die Frage, ob das nicht viel einfacher geht. Immerhin gibt es doch Computer, die sind doch wie geschaffen, dass man ein paar Häkchen setzt, und unmittelbar nach Schließen der Wahllokale kennen wir das Ergebnis. Wenn wir genauer darüber nachdenken: Wozu brauchen wir überhaupt noch Wahllokale? Wir haben doch alle internetfähige Computer, Smartphones und Tablets, da ist es doch viel billiger und bequemer, mit ihnen zu wählen. Vollbitverschlüsselt. Garantiert sicher. Was kann da schon schiefgehen?

Die einfache Antwort lautet: fast alles. Die wesentlichen Grundsätze einer Wahl: geheim, gleich, transparant und frei, sind vorsichtig gesagt sehr schwer mit Wahlcomputern vereinbar. Ein Beispiel für eine einfache Wahlfälschung findet sich im unteren Teil dieses Artikels.

Möglichkeit 1: Die Wahlcomputer werden zertifiziert und eingesetzt.

Es bleiben mehrere offene Fragen: Wer führt die Prüfung durch? Wie kann eine solche Prüfung garantieren, dass angefangen vom mathematischen Verfahren über die algorithmische Implementierung, die Übersetzung in ausführbaren Code, dem zugundeliegenden Betriebssystem bis hin zur verwendeten Hardware alle Komponenten zuverlässig arbeiten? Wie kann sichergestellt werden, dass nicht nur exemplarisch ein Gerät getestet wird, sondern dass auch wirklich alle eingesetzten Wahlcomputer nachvollziehbar sicher sind? Wie kann ich verhindern, dass ähnlich wie bei den manipulierten Abgaswerten die Computer merken, dass sie gerade getestet werden und im Labor korrekt arbeiten, im Wahllokal hingegen nicht? Warum darf das gemeine Wahlvolk diesem Vorgang nur staunend als Zaungast beiwohnen? Warum nimmt man nicht ein Verfahren, das wirklich alle Leute verstehen, nämlich Papierzettel und Urnen?

Möglichkeit 2: Es gibt ein Belegsystem, anhand dessen man sehen und notfalls belegen kann, was man gewählt hat.

Dann wäre die Wahl nicht mehr geheim.

Möglichkeit 3: Man wählt weiter auf Papier, lässt die Zettel aber scannen und kommt damit schneller zu einem Ergebnis.

Der Vorteil dieser Methode wäre, dass die Wahl weiterhin geheim und überprüfbar bliebe, allerdings gäbe es dann auch keinen Vorteil gegenüber der Papierwahl, weil man im Zweifelsfall immer noch von Hand auszählen müsste, um wirklich sicher gehen zu können, dass die Computer auch keine Manipulation vorgenommen haben.

Möglichkeit 4: Man führt ein Verfahren ein, das es bei weitgehender Anonymität den Wählern dennoch ermöglicht, mit großer Wahrscheinlichkeit eine Manipulation entdecken zu können.

Die mathematischen Methoden gibt es, und sie funktionieren auch. Allerdings geht es dann eben nicht mehr um maximale Sicherheit und Anonymität, sondern beide Prinzipien werden aufgeweicht. Dazu kommt, dass zum Verständnis der angewendeten Methoden deutlich mehr Wissen nötig ist, als man beim zettelbasierten Verfahren braucht. Eine solche Wahl wäre nicht im gleichen Maß transparent wie die klassische Methode.

Links

Der Programmcode

dim as string meinewahl
Dim As UShort tastendruck
Dim As integer zaehlerB
DIm As integer zaehlerA
DIM As integer zaehlerC
Dim As integer durchgang
dim as integer zufall
RANDOMIZE TIMER

initialisieren:

zaehlerC=0:zaehlerA=0:zaehlerB=0
durchgang=0

wahldurchgang:
cls
Print "--- Wahlgeraet 1.0 ---"
Print
PRINT "Bitte eine Wahl (A,B,C) treffen oder Auswerten/Ende (D)"

tastendruck=GETKEY
meinewahl=chr(tastendruck)
PRINT "Deine Wahl im Durchgang ";durchgang;" war: ";meinewahl
print "Deine Stimme wurde gewertet!"
zufall = INT(RND * 3) + 1
If meinewahl = "b" then zaehlerB=zaehlerB+1:durchgang=durchgang+1
if meinewahl = "c" then zaehlerC=zaehlerC+1:durchgang=durchgang+1
if meinewahl = "a" then zaehlerA=zaehlerA+zufall:durchgang=durchgang+zufall
if meinewahl = "d" then goto auswerten

zwischenfrage:

print "Noch ein Durchgang (A) oder Auswerten/Ende (D) ? "
tastendruck=GETKEY
meinewahl=chr(tastendruck)
If meinewahl = "a" then goto wahldurchgang

auswerten:
CLS
Print "Stimmen fuer A: ";zaehlerA;" ";zaehlerA/durchgang*100;"%"
Print "Stimmen fuer B: ";zaehlerB;" - ";zaehlerB/durchgang*100;"%"
Print "Stimmen fuer C: ";zaehlerC;" - ";zaehlerC/durchgang*100;"%"
print
Print "Wahldurchgaenge: ";durchgang
print
Print "Ende mit beliebiger Taste"
SLEEP

Autor: jochim

Chaos Computer Club, Cryptoparty, Datenschutz

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.