8 сентября 2019 года в трех округах Москвы прошел эксперимент по интернет-голосованию на выборах депутатов Мосгордумы
АГН Москва / Андрей Никеричев

8 сентября 2019 года в трех округах Москвы прошел эксперимент по интернет-голосованию на выборах депутатов Мосгордумы. В одном случае его результаты оказались определяющими: в 30-м округе основатель НКО "Жилищная инициатива" Роман Юнеман выиграл очное голосование, но уступил в дистанционном голосовании ректору Института русского языка Маргарите Русецкой. "Медуза" добыла секретный ключ, расшифровала все голоса избирателей и восстановила ход голосования, убедившись в его странности.

Во время голосования департамент информационных технологий мэрии Москвы каждые полчаса выкладывал на специальном сайте сводные анонимные данные с зашифрованными голосами избирателей. Для каждого голоса там были указаны номер избирательного округа, номер блока в блокчейне, куда была записана транзакция с голосом, время формирования этого блока и зашифрованный выбор избирателя.

После окончания голосования и публикации итогового файла с 9810 голосами избирателей приватный ключ был восстановлен из нескольких частей, заранее переданных доверенным лицам. Этот приватный ключ был записан в блокчейн. "Медуза" сумела найти нужный блок и транзакцию с приватным ключом через веб-интерфейс и скопировать данные до тех пор, пока доступ к блокчейну не был закрыт. Необходимый для расшифровки модуль открытого ключа был взят с HTML-страницы бюллетеня одного из журналистов.

В ходе расшифровки выяснилось, что двенадцать часов, отведенные на интернет-голосование, оказались разбиты на неравные диапазоны. Там были и три часа, в течение которых голоса избирателей вообще не записывались в блокчейн, и час, когда была сгенерирована половина всех блоков с голосами, и 5 минут, за которые в блокчейне оказались почти 1400 голосов (14% от общего числа) Избиратели, выбиравшие провластных кандидатов, во всех трех округах заметно чаще голосовали утром (в первые полтора часа, до первого сбоя), чем избиратели независимых кандидатов.

После этого журналисты поминутно восстановили ход интернет-голосования, выяснив, что в его ходе преимущество Романа Юнемана в 581 голос постепенно исчезает и сменяется на преимущество Маргариты Русецкой. Напомним, что утром 8 сентября в системе был зафиксирован сбой, который столичные власти объяснили неполадками в работе оборудования "Крипто ПРО", обеспечивавшего шифрование данных. Теперь Юнеман требует пересмотреть результаты голосования.