Het op blockchain gebaseerde stemsysteem van Rusland voor de grondwetswijziging had een kwetsbaarheid, die het naar verluidt mogelijk maakte om stemmen te ontcijferen vóór de officiële telling. Dit volgens een artikel dat vandaag op Cointelegraph verscheen.
Kiezers konden de stemmen ontcijferen
Volgens een onderzoek van Meduza, een Russisch nieuwsplatform, zouden de resultaten, wanneer de kiezers via een speciale website hun stem uitbrachten, worden gecodeerd door een JavaScript-bibliotheek genaamd TweetNaCl.js.
Dit is een implementatie van de “Networking and Cryptography” of NaCi, cryptografiebibliotheek gemaakt door de wiskundige Daniel J. Bernstein en cryptografen Tanja Lange en Peter Schwabe.
Volgens Meduza vertrouwde het stemsysteem op de zogenaamde deterministische encryptie, wat betekent dat het gebruik van dezelfde parameters tot identieke cijferteksten leidt: zowel de afzender als de ontvanger ontvingen een gedeelde sleutel, die gebruikt kon worden voor het versleutelen of ontsleutelen van het bericht.
Dat betekent dat elke kiezer in theorie zijn eigen stem zou kunnen ontcijferen voordat deze zou worden ontsleuteld door de kiescommissie, of zelfs derden zou toestaan dit te doen. Om dat te doen, moest de kiezer zijn privésleutel bewaren.
Meduza heeft een experiment uitgevoerd waarbij alle deelnemers hun privésleutels hebben opgehaald en daardoor naar verluidt alle stemmen konden ontcijferen.
Positieve kant van de bug
Aan de andere kant zou dezelfde bug kunnen worden gebruikt om de transparantie van de stemming te vergroten in het scenario waarin de verkiezingscommissie weigert de ontsleuteling van elke stem te publiceren (zoals het deed na de verkiezing van de Doema in 2019, waar zogenaamd ook blockchain werd gebruikt).
Meduza legde uit:
“Zo kunnen supporters van één specifieke kandidaat ermee instemmen dezelfde browserextensie te installeren. Op die manier kunnen ze het minimumaantal stemmen volgen dat hun kandidaat na de telling zeker moet krijgen.”
77,9% stemde voor de wijziging, waardoor Poetin tot 2036 kan regeren
Volgens de grondwetswijzigingen worden de termijnlimieten van Vladimir Poetin in 2024 gereset, wat betekent dat hij tot 2036 president kan blijven.
E-stemmen vond plaats van 25 juni tot 30 juni voor inwoners van Moskou en Nizhniy Novgorod en was gebaseerd op, het door Bitfury ontwikkelde, Exonum blockchain-platform. De overige regio’s konden alleen offline stemmen.
Het referendum zelf eindigde gisteren, op 1 juni. Nu alle stembiljetten eerder waren geteld, stemde 77,9% voor het hervormingspakket en 21,3% tegen, aldus de kiescommissie.
Wat betreft de resultaten van de elektronische stemming: 62,33% van de kiezers in Moskou steunde de amendementen en 37,37% was ertegen. In Nizhniy Novgorod waren de resultaten enigszins vergelijkbaar: 59,69% en 40,31% van de kiezers stemden respectievelijk “voor” en “tegen”.